From d5f26622ec84272d1846f27be10b3251ded4d1a6 Mon Sep 17 00:00:00 2001 From: Patrick Davison Date: Wed, 27 Jun 2012 11:54:38 -0700 Subject: Member list! --- index.php | 11 +-- pages/memberlist.php | 206 +++++++++++++++++++++++++++++++++++---------------- 2 files changed, 149 insertions(+), 68 deletions(-) diff --git a/index.php b/index.php index 2769b99..bd94a7b 100644 --- a/index.php +++ b/index.php @@ -15,9 +15,9 @@ $Links['tutorial'] = "Tutorial"; if ($_SESSION['accepted'] == 1) { $linkname = 'achievements?id='.$_SESSION['userID']; - $Links[$linkname] = "Achievements"; + $Links[$linkname] = "Achievements"; } -//$Links['gallery'] = "Gallery"; +$Links['members'] = "Member List"; if ($_SESSION['isAdmin'] == true) { $Links['admin'] = 'Admin'; } @@ -38,6 +38,10 @@ switch ($request) { require("pages/test.php"); break; + case "m": + require("pages/mobile.php"); + break; + case "h": require("pages/newhome.php"); break; @@ -94,10 +98,7 @@ switch ($request) { break; case "members": - if ($_SESSION['isAdmin'] == true) require 'pages/memberlist.php'; - else - require 'pages/about.php'; break; case "logout": diff --git a/pages/memberlist.php b/pages/memberlist.php index e9f2059..8a65a03 100644 --- a/pages/memberlist.php +++ b/pages/memberlist.php @@ -10,82 +10,162 @@ topbar($Links); include_once ('./includes/db.inc.php'); +//Order by prep +$c = 'totalMoves'; +switch ($_GET['c']) { + case "totalMoves": + $c = 'totalMoves'; + break; + case "totalMazes": + $c = 'totalMazes'; + break; + case "totalWins": + $c = 'totalWins'; + break; + case "totalTies": + $c = 'totalTies'; + break; + case "dateJoined": + $c = 'dateJoined'; + break; + case "dateLogin": + $c = 'dateLogin'; + break; +} +$o = 'DESC'; +switch ($_GET['o']) { + case "desc": + $o = 'DESC'; + break; + case "asc": + $o = 'ASC'; + break; +} +//Order by: + $order = "ORDER BY $c $o"; + +$sql = "SELECT + users.ID, + users.displayName, + userData.displayColor, + (SELECT SUM(moves) FROM solutions WHERE solutions.userID = users.ID) AS totalMoves, + (SELECT COUNT(*) FROM solutions WHERE solutions.userID = users.ID) AS totalMazes, + SUM(CASE WHEN statistics.type IN (32, 33, 34, 35) THEN statistics.value ELSE 0 END) as totalWins, + SUM(CASE WHEN statistics.type IN (1, 2, 3, 4) THEN statistics.value ELSE 0 END) as totalTies, + IfNull(userData.wallColor, '#666666') as wallColor, + IfNull(userData.displayColor, '#cccccc'), + userData.wallEmblem, + users.datejoined as dateJoined, + users.dateLogin as dateLogin +FROM `users` +LEFT JOIN `userData` ON users.ID = userData.userID +LEFT JOIN `statistics` ON users.ID = statistics.userID +GROUP BY users.ID +$order +"; - -//$sql = "SELECT `ID`, `Display`, `Date_Joined`, `Date_Login` FROM `USERS`"; -$sql = "SELECT `ID`, `displayName`, `dateJoined`, `dateLogin` FROM `users`"; $result = mysql_query($sql); -echo " -
- - - - -"; -while (list($CUID, $CUsername, $Joined, $LastLogon) = mysql_fetch_row($result)) { - - //$Joined = Date("d/m/y - g:ia", $Joined); - //$Joined = relative_date($Joined); - - if ($LastLogon == 0) { - $LastLogon = "Never"; - } else { - //$LastLogon = Date("d/m/y - g:ia", $LastLogon); - //$LastLogon = date('M j, Y', $LastLogon); - //$LastLogon = relative_date($LastLogon); - } - //$LastLogon = Date("l, M jS. g:iA", $LastLogon); - - Echo " - - - - -"; +$cat['Rank'] = ''; +$cat['Badge'] = ''; +$cat['Name'] = ''; + +$cat['Mazes']['c'] = 'totalMazes'; +$cat['Mazes']['title'] = 'Total Mazes Played'; + +$cat['Moves']['c'] = 'totalMoves'; +$cat['Moves']['title'] = 'Total Moves Mazed'; + +$cat['Wins']['c'] = 'totalWins'; +$cat['Wins']['title'] = 'Total Wins (Champion)'; + +$cat['Ties']['c'] = 'totalTies'; +$cat['Ties']['title'] = 'Total Ties'; + +$cat['Joined']['c'] = 'dateJoined'; +$cat['Joined']['title'] = 'Pathery life begins'; +$cat['Last Login']['c'] = 'dateLogin'; +$cat['Last Login']['title'] = 'Last Pathery fix on'; + +echo " +
+

Members wall

+ +
IDDisplay name:Joined On:Last Logon
$CUID$CUsername$Joined$LastLogon
+ "; + +//Echo Table Headers +foreach ($cat as $name => $item) { + $co = 'desc'; + if ($item['c']) { + if ($item['c'] == $c) { + $name = "$name"; + if ($o == 'DESC') { + $co = 'asc'; + } + } + echo ""; + } else { + echo ""; + } } -Echo " +//Echo Table Data +$i = 0; +while (list($userID, $display, $displayColor, $moveCount, $mazeCount, $winCount, $tieCount, $wallColor, $nameColor, $wallEmblem, $joined, $lastLogon) = mysql_fetch_row($result)) { + + //Prepare data + $i++; + $joined = Date("Y-m-d", strtotime($joined)); + $lastLogon = Date("Y-m-d", strtotime($lastLogon)); + if (!$moveCount) + $moveCount = 0; + + if ($lastLogon == 0) + $lastLogon = "Never"; + + //Prepare background for this line + $background = '#262631'; + if ($i % 2 == 1) + $background = '#20202a'; + if ($_SESSION['userID'] == $userID) + $background = '#343c57'; + + echo " + + + + + + + + + + + + +"; +} +echo "
$name$name
$i +
+
+
+
+
$display$mazeCount$moveCount$winCount$tieCount$joined$lastLogon


-"; - - -//Thank you: -//http://snippets.dzone.com/posts/show/196 -function relative_date($time) { - $today = strtotime(date('M j, Y')); - $reldays = ($time - $today)/86400; - if ($reldays >= 0 && $reldays < 1) { - return 'Today'; - } else if ($reldays >= 1 && $reldays < 2) { - return 'Tomorrow'; - } else if ($reldays >= -1 && $reldays < 0) { - return 'Yesterday'; - } - if (abs($reldays) < 7) { - if ($reldays > 0) { - $reldays = floor($reldays); - return 'in ' . $reldays . ' day' . ($reldays != 1 ? 's' : ''); - } else { - $reldays = abs(floor($reldays)); - return $reldays . ' day' . ($reldays != 1 ? 's' : '') . ' ago'; - } - } - if (abs($reldays) < 182) { - return date('l, F j',$time ? $time : time()); - } else { - return date('l, F j, Y',$time ? $time : time()); - } -} - - + +
+ Copyright © 2011-2012 pathery.com +
+"; +htmlFooter(); ?> \ No newline at end of file -- cgit v1.2.3