From 7969dcfa62ac271ed6ef6d6b8d10bcf0659e25b5 Mon Sep 17 00:00:00 2001 From: Patrick Davison Date: Wed, 23 Jan 2013 22:25:28 -0800 Subject: A functional Memberlist again! New and improved! --- js/scores.js | 104 +++++++++++++++++++++++++++++++++++------------------------ 1 file changed, 61 insertions(+), 43 deletions(-) (limited to 'js') diff --git a/js/scores.js b/js/scores.js index 734683a..32f7c7f 100644 --- a/js/scores.js +++ b/js/scores.js @@ -219,7 +219,9 @@ function scoresFormatPageNavi(JO) { //Memberlist related functions: var membersPages = new Object; -var membersCurrentPage = 1; +var membersCurrentPage = 1; +var membersOrderBy = 'joined'; +var membersOrder = 'ASC'; function membersRequestPage(page) { console.log('membersRequestPage', page); @@ -239,7 +241,7 @@ function membersRequestPage(page) { //console.log("Requesting Page", page, ajax.inUse); // == Additionally, check for achievements. - ajax.requestFile = "do.php?r=reqMemberPage&reqPage="+page; + ajax.requestFile = "do.php?r=reqMemberPage&reqPage="+page+"&orderBy="+membersOrderBy+"&order="+membersOrder; ajax.onCompletion = membersRequestPageDone; // Specify function to be executed on response. //ajax.onLoading = ''; //ajax.onLoaded = ''; @@ -255,8 +257,21 @@ function membersRequestPageDone() { return; membersUpdatePage(JO.page, membersFormatPage(JO)); } +function membersToggleOrder() { + if (membersOrder == 'ASC') + membersOrder = 'DESC'; + else + membersOrder = 'ASC'; +} + +function membersShowPage(page, orderBy) { + + if (orderBy) { + if (membersOrderBy == orderBy) + membersToggleOrder(); + membersOrderBy = orderBy; + } -function membersShowPage(page) { page = page - 0; console.log('membersShowPage', page); if (membersPreparePage(page) == false) { @@ -276,7 +291,7 @@ function membersShowPage(page) { //Also; update the page - if (page != membersCurrentPage) { + if (page != membersCurrentPage || orderBy) { membersRequestPage(page); } membersCurrentPage = page; @@ -308,7 +323,7 @@ function membersFormatPageNavi(JO) { var r = ''; var showedPrevPage = true; for (var i = 1; i <= JO.pageCount; i++) { - if ( + if ( (JO.page > i - 3 && JO.page < i + 3) || (i == 1) || (i == JO.pageCount) @@ -329,6 +344,24 @@ function membersFormatPageNavi(JO) { showedPrevPage = false; } } + var nextPage = JO.page - 0 + 1; + var prevPage = JO.page - 1; + if (JO.pageCount > 1) { + if (JO.page < JO.pageCount) { + r = r+" >>>"; + r = r+" >"; + } else { + r = r+" >>>"; + r = r+" >"; + } + if (JO.page > 1) { + r = " <"+r; + r = " <<<"+r; + } else { + r = r+" <<<"; + r = r+" <"; + } + } return r; } @@ -336,22 +369,24 @@ function membersFormatPageNavi(JO) { function membersFormatPage(JO) { // console.log("Formating page"); - var p = ""; + var p = "
"; if (JO.pageCount > 1) { var navi = membersFormatPageNavi(JO); - p = p+""; + p = p+""; } p = p+""; p = p+""; - p = p+""; - p = p+""; - p = p+""; - p = p+""; - p = p+""; - p = p+""; - p = p+""; - p = p+""; + p = p+""; + p = p+""; + p = p+""; + p = p+""; + p = p+""; + p = p+""; + p = p+""; + p = p+""; + p = p+""; p = p+""; var showedLastUser = true; @@ -369,19 +404,23 @@ function membersFormatPage(JO) { if (previousI != i + 1) if (previousI < i - 1 && previousI != 0) styleClass = 'border-top: 6px solid #777799;'; + + if (u.wallEmblem == undefined) + u.wallEmblem = 'blank.png'; - p = p+ ""; + p = p+ ""; p = p+ ""; - p = p+ ""; + p = p+ ""; p = p+ ""; p = p+ ""; p = p+ ""; @@ -393,29 +432,8 @@ function membersFormatPage(JO) { previousI = i; } - - //p = p+""; + p = p+""; p = p+"
"+navi+"
"+navi+"
RankNameMazesMovesPast WeekWinsTiesJoinedLast Login"; + p = p+" NameCPMazesMovesPast WeekWinsTiesJoinedLast Login
"; p = p+ i+ ""; + + p = p+ ""; p = p+ "
"; - p = p+ "
"; - p = p+ "
"; + p = p+ "
"; + p = p+ "
"; p = p+ "
"; - p = p+ ""; - p = p+ ""+u.display+""; + p = p+ " "+u.display+""; p = p+ "
"+u.championPoints+""+u.totalMazes+""+u.totalMoves+""+u.totalMovesThisWeek+"
"+navi+"
"+navi+"
"; - - var nextPage = JO.page - 0 + 1; - var prevPage = JO.page - 1; - - if (JO.pageCount > 1) { - if (JO.page < JO.pageCount) { - p = p+">"; - } else - p = "
>
"+p; - if (JO.page > 1) { - p = "<"+p; - } else - p = "
<
"+p; - } - p = "
"+p+"
"; - - //console.log(p); - //console.log('jo page', JO.page); - //console.log('jo pagecount', JO.pageCount); - //p = JO.navi+p; return p; } -- cgit v1.2.3 From 9bda216fa760fe3124f8d36fc919a8e9992c6d53 Mon Sep 17 00:00:00 2001 From: Patrick Davison Date: Thu, 24 Jan 2013 00:54:18 -0800 Subject: Updates to the new Memberlist --- css/stats.css | 19 ++++++++++++++++ do.php | 5 +++- includes/datas.php | 2 ++ js/scores.js | 64 +++++++++++++++++++++++++++++++++++----------------- pages/memberlist.php | 9 ++++---- 5 files changed, 72 insertions(+), 27 deletions(-) (limited to 'js') 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 = ""; + var navi = ''; if (JO.pageCount > 1) { - var navi = membersFormatPageNavi(JO); - p = p+""; + navi = ""; + 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+""; p = p+""; - p = p+""; - p = p+""; - p = p+""; - p = p+""; - p = p+""; - p = p+""; - p = p+""; - p = p+""; - p = p+""; + + var sortIndicator; + for (var i in headers) { + sortIndicator = ''; + if (i == membersOrderBy) { + if (membersOrder == 'DESC') + sortIndicator = ' ⇧'; + else + sortIndicator = ' ⇩'; + } + p = p+""; + } + p = p+""; var showedLastUser = true; @@ -417,22 +439,22 @@ function membersFormatPage(JO) { p = p+ "
"; p = p+ "
"; p = p+ " "; - p = p+ " "+u.display+""; + p = p+ " "+u.display+""; p = p+ ""; p = p+ ""; p = p+ ""; p = p+ ""; p = p+ ""; - p = p+ ""; p = p+ ""; + p = p+ ""; p = p+ ""; p = p+ ""; p = p+ ""; previousI = i; } - p = p+""; + p = p+navi p = p+"
"+navi+"
"+membersFormatPageNavi(JO)+"
Rank"; - p = p+" NameCPMazesMovesPast WeekWinsTiesJoinedLast Login"+headers[i]+""+sortIndicator+"
"+u.championPoints+""+u.totalMazes+""+u.totalMoves+""+u.totalMovesThisWeek+""+u.totalWins+""+u.totalTies+""+u.totalWins+""+u.dateJoined+""+u.dateLogin+"
"+navi+"
"; 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); ?>
-
-- cgit v1.2.3