diff options
-rw-r--r-- | css/stats.css | 19 | ||||
-rw-r--r-- | do.php | 5 | ||||
-rw-r--r-- | includes/datas.php | 2 | ||||
-rw-r--r-- | js/scores.js | 64 | ||||
-rw-r--r-- | pages/memberlist.php | 9 |
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 { @@ -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> ⇧</th>";
- p = p+"<th><a href='javascript:membersShowPage("+membersCurrentPage+",\"dateLogin\")'>Last Login</a> ⇩</th>";
+
+ var sortIndicator;
+ for (var i in headers) {
+ sortIndicator = '';
+ if (i == membersOrderBy) {
+ if (membersOrder == 'DESC')
+ sortIndicator = ' ⇧';
+ else
+ sortIndicator = ' ⇩';
+ }
+ 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'>
|