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! --- do.php | 18 +++++++----------- 1 file changed, 7 insertions(+), 11 deletions(-) (limited to 'do.php') diff --git a/do.php b/do.php index 1009a91..731d69f 100644 --- a/do.php +++ b/do.php @@ -57,12 +57,13 @@ if (isset($_GET['checkachieve']) && $_GET['checkachieve'] == 'true' && $_SESSION } if ($_GET['r'] == 'reqMemberPage') { + $order = $_GET['order']; + $orderBy = $_GET['orderBy']; - $order = 'ORDER BY dateJoined DESC'; $page = $_GET['reqPage'] + 0; if (!is_int($page)) return; - $json = getMembers($order, $page, 4); + $json = getMembers($page, 10, $order, $orderBy); $json['page'] = $page; $encoded = json_encode($json); die($encoded); @@ -253,6 +254,10 @@ if ($_GET['r'] == 'getpath') { } // --------- CONTINUE EXECUTION --------- + //TODO: !! Close the session with session_write_close(); as soon as possible. + // This allows the session file to be opened by other requests. + + // Now we don't have to worry about how long we're taking. // All of this code will execute without the user waiting on the server. @@ -264,15 +269,6 @@ if ($_GET['r'] == 'getpath') { ////Challenge/Tutorial? - - ////--------- RUSH THE PATH BACK TO THE USER - // ignore_user_abort(true); - // $encoded = json_encode($json); - // header("Connection: close"); - // header("Content-Length: " . mb_strlen($encoded)); - // echo $encoded; - // flush(); - ////TODO: Clean this up a bit // if ($_GET['isChallenge'] == 'true') // { -- 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 'do.php') 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