summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorPatrick Davison <snapwilliam@gmail.com>2013-01-24 00:54:18 -0800
committerPatrick Davison <snapwilliam@gmail.com>2013-01-24 00:54:18 -0800
commit9bda216fa760fe3124f8d36fc919a8e9992c6d53 (patch)
treec1a2cc72024e6abc27adbc1da8fc13070c0e9507
parentdaa1e4eeaaa1df43fd95bdb5aed59c602d2c14b7 (diff)
downloadpathery-9bda216fa760fe3124f8d36fc919a8e9992c6d53.tar.xz
Updates to the new Memberlist
-rw-r--r--css/stats.css19
-rw-r--r--do.php5
-rw-r--r--includes/datas.php2
-rw-r--r--js/scores.js64
-rw-r--r--pages/memberlist.php9
5 files changed, 72 insertions, 27 deletions
diff --git a/css/stats.css b/css/stats.css
index 122e300..d41ff7d 100644
--- a/css/stats.css
+++ b/css/stats.css
@@ -112,6 +112,7 @@ td, th {
width:850px;
}
+
.scoreRight{
float:right;
margin: 5px;
@@ -144,6 +145,24 @@ td, th {
text-overflow: ellipsis;
white-space:nowrap;
}
+.memberName {
+ float:left;
+ padding: 5px 0px 3px 3px;
+ width:130px;
+ overflow:hidden;
+ text-overflow: ellipsis;
+ white-space:nowrap;
+}
+#membersPerPage {
+ margin:25px;
+}
+
+.membersList .display {
+ width:175px;
+ overflow:hidden;
+ text-align:left;
+ padding-left:42px;
+}
.myPoints
{
diff --git a/do.php b/do.php
index 731d69f..a864da8 100644
--- a/do.php
+++ b/do.php
@@ -63,7 +63,10 @@ if ($_GET['r'] == 'reqMemberPage') {
$page = $_GET['reqPage'] + 0;
if (!is_int($page))
return;
- $json = getMembers($page, 10, $order, $orderBy);
+ $pageDivide = $_GET['membersPageDivide'] + 0;
+ if (!is_int($pageDivide))
+ return;
+ $json = getMembers($page, $pageDivide, $order, $orderBy);
$json['page'] = $page;
$encoded = json_encode($json);
die($encoded);
diff --git a/includes/datas.php b/includes/datas.php
index 124b303..6566b89 100644
--- a/includes/datas.php
+++ b/includes/datas.php
@@ -710,6 +710,8 @@ function getChampionPointsArray() {
//Select Members
function getMembers($pageNumber = 1, $pageDivide = 50, $order = 'DESC', $orderBy = 'dateJoined') {
+ if ($pageDivide <= 0)
+ $pageDivide = 50;
if ($order !== 'ASC' AND $order !== 'DESC')
$order = 'DESC';
$columns = array('dateJoined', 'dateLogin', 'championPoints',
diff --git a/js/scores.js b/js/scores.js
index 32f7c7f..f67f2c8 100644
--- a/js/scores.js
+++ b/js/scores.js
@@ -220,8 +220,9 @@ function scoresFormatPageNavi(JO) {
//Memberlist related functions:
var membersPages = new Object;
var membersCurrentPage = 1;
-var membersOrderBy = 'joined';
-var membersOrder = 'ASC';
+var membersPageDivide = 50;
+var membersOrderBy = 'dateJoined';
+var membersOrder = 'DESC';
function membersRequestPage(page) {
console.log('membersRequestPage', page);
@@ -241,7 +242,12 @@ function membersRequestPage(page) {
//console.log("Requesting Page", page, ajax.inUse);
// == Additionally, check for achievements.
- ajax.requestFile = "do.php?r=reqMemberPage&reqPage="+page+"&orderBy="+membersOrderBy+"&order="+membersOrder;
+
+ var requestString = "do.php?r=reqMemberPage&reqPage="+page+"&orderBy="+membersOrderBy
+ requestString += "&order="+membersOrder
+ requestString += "&membersPageDivide="+membersPageDivide
+
+ ajax.requestFile = requestString;
ajax.onCompletion = membersRequestPageDone; // Specify function to be executed on response.
//ajax.onLoading = '';
//ajax.onLoaded = '';
@@ -264,7 +270,7 @@ function membersToggleOrder() {
membersOrder = 'ASC';
}
-function membersShowPage(page, orderBy) {
+function membersShowPage(page, orderBy, force) {
if (orderBy) {
if (membersOrderBy == orderBy)
@@ -291,7 +297,7 @@ function membersShowPage(page, orderBy) {
//Also; update the page
- if (page != membersCurrentPage || orderBy) {
+ if (page != membersCurrentPage || orderBy || force) {
membersRequestPage(page);
}
membersCurrentPage = page;
@@ -370,23 +376,39 @@ function membersFormatPage(JO) {
// console.log("Formating page");
var p = "<table class='membersList score'>";
+ var navi = '';
if (JO.pageCount > 1) {
- var navi = membersFormatPageNavi(JO);
- p = p+"<tr><th colspan='10' style='text-align:center;'>"+navi+"</th></tr>";
+ navi = "<tr><th colspan='10' style='text-align:center;'>"+membersFormatPageNavi(JO)+"</th></tr>";
+ p = p+navi;
}
-
+
+ var headers = new Object;
+ headers['display'] = 'Name';
+ headers['championPoints'] = 'Points';
+ headers['totalMazes'] = 'Mazes';
+ headers['totalMoves'] = 'Moves';
+ headers['totalMovesThisWeek'] = 'Past Week';
+ headers['totalTies'] = 'Ties';
+ headers['totalWins'] = 'Wins';
+ headers['dateJoined'] = 'Joined';
+ headers['dateLogin'] = 'Last Login';
+
+
p = p+"<tr title='Updated "+JO.updateTime+"'>";
p = p+"<th>Rank</th>";
- p = p+"<th style='width:185px; overflow:hidden; text-align:left; padding-left:42px;'>";
- p = p+" <a href='javascript:membersShowPage("+membersCurrentPage+",\"display\")'>Name</a></th>";
- p = p+"<th><a title='Champion Points' href='javascript:membersShowPage("+membersCurrentPage+",\"championPoints\")'>CP</a></th>";
- p = p+"<th><a href='javascript:membersShowPage("+membersCurrentPage+",\"totalMazes\")'>Mazes</a></th>";
- p = p+"<th><a href='javascript:membersShowPage("+membersCurrentPage+",\"totalMoves\")'>Moves</a></th>";
- p = p+"<th><a href='javascript:membersShowPage("+membersCurrentPage+",\"totalMovesThisWeek\")'>Past Week</a></th>";
- p = p+"<th><a href='javascript:membersShowPage("+membersCurrentPage+",\"totalWins\")'>Wins</a></th>";
- p = p+"<th><a href='javascript:membersShowPage("+membersCurrentPage+",\"totalTies\")'>Ties</a></th>";
- p = p+"<th><a href='javascript:membersShowPage("+membersCurrentPage+",\"dateJoined\")'>Joined</a> &#8679;</th>";
- p = p+"<th><a href='javascript:membersShowPage("+membersCurrentPage+",\"dateLogin\")'>Last Login</a> &#8681</th>";
+
+ var sortIndicator;
+ for (var i in headers) {
+ sortIndicator = '';
+ if (i == membersOrderBy) {
+ if (membersOrder == 'DESC')
+ sortIndicator = ' &#8679;';
+ else
+ sortIndicator = ' &#8681;';
+ }
+ p = p+"<th class='"+i+"'><a title='' href='javascript:membersShowPage("+membersCurrentPage+",\""+i+"\")'>"+headers[i]+"</a>"+sortIndicator+"</th>";
+ }
+
p = p+"</tr>";
var showedLastUser = true;
@@ -417,22 +439,22 @@ function membersFormatPage(JO) {
p = p+ " <div style='background-color:transparent;' class='grid_td_inner grid_td_rocks'>";
p = p+ " </div>";
p = p+ " </div>";
- p = p+ " <span class='scoreName' style='float:left;'><a href='achievements?id="+u.ID+"' style='color:"+u.displayColor+"'>"+u.display+"</a></span>";
+ p = p+ " <span class='memberName' style='float:left;'><a href='achievements?id="+u.ID+"' style='color:"+u.displayColor+"'>"+u.display+"</a></span>";
p = p+ "</td>";
p = p+ "<td style='text-align:right;'>"+u.championPoints+"</td>";
p = p+ "<td style='text-align:right;'>"+u.totalMazes+"</td>";
p = p+ "<td style='text-align:right;'>"+u.totalMoves+"</td>";
p = p+ "<td style='text-align:right;'>"+u.totalMovesThisWeek+"</td>";
- p = p+ "<td style='text-align:right;'>"+u.totalWins+"</td>";
p = p+ "<td style='text-align:right;'>"+u.totalTies+"</td>";
+ p = p+ "<td style='text-align:right;'>"+u.totalWins+"</td>";
p = p+ "<td style='text-align:right;'>"+u.dateJoined+"</td>";
p = p+ "<td style='text-align:right;'>"+u.dateLogin+"</td>";
p = p+ "</tr>";
previousI = i;
}
- p = p+"<tr><th colspan='10' style='text-align:center;'>"+navi+"</th></td>";
+ p = p+navi
p = p+"</table>";
return p;
}
diff --git a/pages/memberlist.php b/pages/memberlist.php
index 641034f..c447f1c 100644
--- a/pages/memberlist.php
+++ b/pages/memberlist.php
@@ -36,16 +36,15 @@ $json = json_encode($data);
?>
<div class='wrapper'>
- <!--
+
<form class='memberListForm'>
- <select id="membersPerPage">
- <option value="10" selected="selected">10</option>
+ <select id="membersPerPage" onChange="membersPageDivide=this.options[this.selectedIndex].value;membersShowPage(1,false,true);">
+ <option value="10">10</option>
<option value="25">25</option>
- <option value="50">50</option>
+ <option value="50" selected="selected">50</option>
<option value="100">100</option>
</select>
</form>
- -->
<div id='members'>