From c531d9d66d430df9c9a043ddc3f7c4c10fcfaab4 Mon Sep 17 00:00:00 2001 From: Patrick Davison Date: Wed, 4 Jul 2012 18:44:10 -0700 Subject: Date was off by 1 day in leaderboard/scoreboard --- pages/leaderboard.php | 61 ++++++++++++++++++++++++--------------------------- 1 file changed, 29 insertions(+), 32 deletions(-) (limited to 'pages') diff --git a/pages/leaderboard.php b/pages/leaderboard.php index 60a1f07..8f4dcc6 100644 --- a/pages/leaderboard.php +++ b/pages/leaderboard.php @@ -26,37 +26,34 @@ function date_diff($date1, $date2) { return $count; } -$dateCurrent = date('Y-m-d', strtotime("-2 days")); +//The date to display +$dateDisplay = date('Y-m-d', strtotime("-1 days")); //This is only used in a strtotime function, so this should be safe. $dateLookup = $_GET['date']; if (!strtotime($dateLookup)) - $dateLookup = $dateCurrent; + $dateLookup = $dateDisplay; -//!!Some validation should take place on dateLookup -$daysago = date_diff($dateLookup, date('Y-m-d')); - - -$dateAgo = strtotime("-$daysago days"); +$daysAgo = date_diff($dateLookup, date('Y-m-d')); +$dateAgo = strtotime("-$daysAgo days"); $dateAsStr = date('l F jS Y', $dateAgo); $dateNextDay = date('Y-m-d', strtotime("+1 day", $dateAgo)); $datePrevDay = date('Y-m-d', strtotime("-1 day", $dateAgo)); -//Offset the days-ago for map-lookups. -$daysago--; -if ($daysago < 1) +//No cheater cheaters +if ($daysAgo < 1) die("You must specify a date previous to today."); -$tStats = getStat(1, $daysago); -$yStats = getStat(2, $daysago); +$tStats = getStat(1, $daysAgo); +$yStats = getStat(2, $daysAgo); -$wStats = getStat(3, $daysago); -$mStats = getStat(4, $daysago); +$wStats = getStat(3, $daysAgo); +$mStats = getStat(4, $daysAgo); -function getStat ($type, $daysago = 1) { +function getStat ($type, $daysAgo = 1) { switch ($type) { //Todays @@ -72,14 +69,14 @@ function getStat ($type, $daysago = 1) { //Yesterdays case 2: $where = " - DATE_ADD(CURDATE(), INTERVAL -$daysago DAY) = + DATE_ADD(CURDATE(), INTERVAL -$daysAgo DAY) = DATE_FORMAT(solutions.dateModified,'%Y-%m-%d') - AND DATE_ADD(CURDATE(), INTERVAL -$daysago DAY) = + AND DATE_ADD(CURDATE(), INTERVAL -$daysAgo DAY) = DATE_FORMAT(maps.dateCreated,'%Y-%m-%d') "; $statname = "Yesterday's Best Overall:"; - if ($daysago > 1) { - $statname = "$daysago days ago's Best Overall."; + if ($daysAgo > 1) { + $statname = "$daysAgo days ago's Best Overall."; } break; case 3: @@ -129,16 +126,16 @@ Showing scores for the maps played on
1) { - echo "Current Day"; +if ($daysAgo > 1) { + echo "Current Day"; echo "Next Day"; } echo "Previous Day"; -$statContent .= displayPastMaze(1, 'Simple', $daysago); -$statContent .= displayPastMaze(2, 'Normal', $daysago); -$statContent .= displayPastMaze(3, 'Complex', $daysago); -$statContent .= displayPastMaze(4, 'Special', $daysago); +$statContent .= displayPastMaze(1, 'Simple', $daysAgo); +$statContent .= displayPastMaze(2, 'Normal', $daysAgo); +$statContent .= displayPastMaze(3, 'Complex', $daysAgo); +$statContent .= displayPastMaze(4, 'Special', $daysAgo); $special = 'Special'; if ($specialMapName != '') @@ -160,9 +157,9 @@ if ($specialMapName != '') echo $statContent; -function displayPastMaze($mapType, $name, $daysago = 1) { +function displayPastMaze($mapType, $name, $daysAgo = 1) { //Ensure no cheating - if ($daysago < 1) + if ($daysAgo < 1) return; $sql = "SELECT @@ -184,9 +181,9 @@ function displayPastMaze($mapType, $name, $daysago = 1) { ON maps.ID = mapOfTheDay.mapID LEFT JOIN `userData` ON users.ID = userData.userID - WHERE DATE_ADD(CURDATE(), INTERVAL -$daysago DAY) = + WHERE DATE_ADD(CURDATE(), INTERVAL -$daysAgo DAY) = DATE_FORMAT(solutions.dateModified,'%Y-%m-%d') - AND DATE_ADD(CURDATE(), INTERVAL -$daysago DAY) = + AND DATE_ADD(CURDATE(), INTERVAL -$daysAgo DAY) = DATE_FORMAT(maps.dateCreated,'%Y-%m-%d') AND `mapType` = '$mapType' GROUP BY solutions.userID @@ -195,12 +192,12 @@ function displayPastMaze($mapType, $name, $daysago = 1) { $result = mysql_query($sql); $statname = "Yesterday's Best $name:"; - if ($daysago > 1) { - $statname = "$daysago days ago's Best $name:"; + if ($daysAgo > 1) { + $statname = "$daysAgo days ago's Best $name:"; } $stats = displayStats($result, $statname); - $pastMap = pastMap($mapType, $daysago); + $pastMap = pastMap($mapType, $daysAgo); $mapID = $pastMap; $mapcode = getMapCode($mapID); $map = GenerateMapByCode($mapcode); -- cgit v1.2.3