summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--index.php11
-rw-r--r--pages/memberlist.php206
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] = "<i title='new!'>Achievements</i>";
+ $Links[$linkname] = "Achievements";
}
-//$Links['gallery'] = "Gallery";
+$Links['members'] = "<i title='New!'>Member List</i>";
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 "
-<br />
-<table>
-<tr>
-<td>ID</td><td>Display name:</td><td>Joined On:</td><td>Last Logon</td>
-</tr>
-";
-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 "<tr>
-<td>$CUID</td>
-<td><a href='javascript:;'>$CUsername</a></td>
-<td>$Joined</td>
-<td>$LastLogon</td>
-</tr>";
+$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 "
+<div class='wrapper'>
+<h2>Members wall</h2>
+
+<table class='score'>
+ <tr>";
+
+//Echo Table Headers
+foreach ($cat as $name => $item) {
+ $co = 'desc';
+ if ($item['c']) {
+ if ($item['c'] == $c) {
+ $name = "<i>$name</i>";
+ if ($o == 'DESC') {
+ $co = 'asc';
+ }
+ }
+ echo "<th title='$item[title]'><a href='?c=$item[c]&o=$co'>$name</a></th>";
+ } else {
+ echo "<th>$name</th>";
+ }
}
-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 "
+<tr style='background-color: $background; color:$displayColor;' >
+ <td>$i</td>
+ <td>
+ <div class='grid_td' style='width:35px; height:35px; background:$wallColor url(images/marks/$wallEmblem);'>
+ <div style='background-color:transparent;' class='grid_td_inner grid_td_rocks'>
+ </div>
+ </div>
+ </td>
+ <td><span title='UserID: $userID'><a href='achievements?id=$userID' style='color:$displayColor'>$display</a></span></td>
+
+ <td>$mazeCount</td>
+ <td>$moveCount</td>
+ <td>$winCount</td>
+ <td>$tieCount</td>
+
+ <td>$joined</td>
+ <td>$lastLogon</td>
+</tr>";
+}
+echo "
</table>
<br />
<br />
</td>
</tr>
</table>
-";
-
-
-//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());
- }
-}
-
-
+</div>
+<div id='copy' style='width:100%;clear: both'>
+ Copyright &copy; 2011-2012 pathery.com
+</div>
+";
+htmlFooter();
?> \ No newline at end of file