diff options
author | Patrick Davison <snapwilliam@gmail.com> | 2013-02-28 14:42:25 -0800 |
---|---|---|
committer | Patrick Davison <snapwilliam@gmail.com> | 2013-02-28 14:42:25 -0800 |
commit | abf2f39753d91baf132a0d93512803096b1299fa (patch) | |
tree | 4ca1e86eb1f5c3d45393d76dff9cb4b42f3cb913 | |
parent | 97b6742ddfcef31ded607e4334475052ba46795b (diff) | |
download | pathery-abf2f39753d91baf132a0d93512803096b1299fa.tar.xz |
Link to a specific solution in scores, and other tweaks.
-rw-r--r-- | includes/datas.php | 4 | ||||
-rw-r--r-- | js/mapspecs.js | 6 | ||||
-rw-r--r-- | js/scores.js | 43 | ||||
-rw-r--r-- | pages/scores.php | 21 |
4 files changed, 49 insertions, 25 deletions
diff --git a/includes/datas.php b/includes/datas.php index 98958c5..3d51983 100644 --- a/includes/datas.php +++ b/includes/datas.php @@ -826,7 +826,7 @@ function getScores($mapID, $pageNumber = 1, $pageDivide = 10) { $result = mysql_query($sql); //$utime = date("g:i A (T)"); - $output['updateTime'] = date("g:i A (T)"); + $output['updateTime'] = time(); $i = 0; $foundUser = false; @@ -854,7 +854,7 @@ function getScores($mapID, $pageNumber = 1, $pageDivide = 10) { } $scoredDate = strtotime($row['cdate']); - $secondsSinceScored = strtotime("now") - $scoredDate ; + $secondsSinceScored = strtotime("now") - $scoredDate; //Alternate background colors $background = '#262631'; diff --git a/js/mapspecs.js b/js/mapspecs.js index 0e0a7e5..283e3a8 100644 --- a/js/mapspecs.js +++ b/js/mapspecs.js @@ -141,10 +141,7 @@ function grid_click(obj) { wallEmblem = playerWallEmblem;
}
}
- console.log('using wallcolors:', wallColor, wallEmblem);
-
obj.style.backgroundColor = wallColor;
-
if (wallEmblem !== false) {
obj.style.backgroundImage="url(images/marks/"+wallEmblem+")";
}
@@ -817,7 +814,8 @@ function displayMap(mapid, divID, goalSize, solution, moves, challengeMap) { //TODO: Better fail option?
fail: (function() { console.log("FAIL Map Download"); }),
complete: function(data) {
- $("#"+divID).html(mapAsHTML(decryptJSON(data.responseText), goalSize)).fadeIn('slow');
+ $("#"+divID).html(mapAsHTML(decryptJSON(data.responseText), goalSize)).fadeIn('fast');
+ //$("#"+divID).html(mapAsHTML(decryptJSON(data.responseText), goalSize)).show();
mapdata[mapid].savedSolution = solution;
restoreSolution(mapid);
}
diff --git a/js/scores.js b/js/scores.js index b062c28..2b137cb 100644 --- a/js/scores.js +++ b/js/scores.js @@ -117,7 +117,12 @@ function scoresFormatPage(JO) { navi = "<tr><th colspan='3' style='text-align:center;'>"+formatPageNavi(JO, "scoresShowPage", JO.mapid)+"</th></tr>";
p = p+navi;
}
- p = p+"<tr title='Updated "+JO.updateTime+"'>";
+
+ var localTime = new Date();
+ var updatedLocalTime = new Date();
+ updatedLocalTime.setTime(JO.updateTime * 1000);
+
+ p = p+"<tr title='Last-Update: "+updatedLocalTime.format("mmm d, h:MM TT")+"'>";
p = p+"<th>Rank</th>";
p = p+"<th style='width:125px; overflow:hidden; text-align:left; padding-left:42px;'>Name</th>";
p = p+"<th>Moves</th>";
@@ -127,9 +132,6 @@ function scoresFormatPage(JO) { var x = 0;
var previousI = 0;
- //TODO !!
- //var isWeeklyMap = (document.getElementById("dl-5").className.indexOf('selected') >= 0);
-
for (var i in JO.users) {
var u = JO.users[i];
var scoredLocalTime = new Date();
@@ -137,32 +139,33 @@ function scoresFormatPage(JO) { var styleClass = '';
- if (previousI != i + 1)
- if (previousI < i - 1 && previousI != 0)
- styleClass = 'border-top: 6px solid #777799;';
- //TODO:
- //var scoredTimeFormat = (isWeeklyMap ? "mmm d, h:MM:ss TT" : "h:MM:ss TT");
- var scoredTimeFormat = (false ? "mmm d, h:MM:ss TT" : "h:MM:ss TT");
+ if (previousI != i + 1 && previousI < i - 1 && previousI != 0) {
+ styleClass = 'border-top: 6px solid #777799;';
+ }
+
+ var wasLongAgo = localTime.getTime() > (scoredLocalTime.getTime() + 43200000); //12*60*60*1000
+ var scoredTimeFormat = (wasLongAgo ? "mmm d, h:MM:ss TT" : "h:MM:ss TT");
var scoredTimeStr = scoredLocalTime.format(scoredTimeFormat);
var rowclass = 'scoreRow'+((i % 2)+1);
-
- // if (u.isUser) {
- // rowclass = 'scoreRowSelf';
- // }
+
if (u.ID == userObj.ID) {
rowclass = 'scoreRowSelf';
+ }
+ if (typeof(pointerUserID) != 'undefined' && u.ID == pointerUserID) {
+ setTimeout("useSolution(\""+JO.mapid+"\", \""+u.solution+"\", \""+u.moves+"\", \""+u.wallColor+"\", \""+u.wallEmblem+"\");", 400);
+ pointerUserID = '';
}
if (u.solution) {
rowclass += ' scoreRowSolutionAvailable';
p += "<tr class='"+rowclass+"' ";
p += "onmouseover='showTempSolution(\""+JO.mapid+"\", \""+u.solution+"\", \""+u.moves+"\", \""+u.wallColor+"\", \""+u.wallEmblem+"\")'";
- p += "onclick='useSolution(\""+JO.mapid+"\", \""+u.solution+"\", \""+u.moves+"\", \""+u.wallColor+"\", \""+u.wallEmblem+"\")'";
+ p += "onclick='useSolution(\""+JO.mapid+"\", \""+u.solution+"\", \""+u.moves+"\", \""+u.wallColor+"\", \""+u.wallEmblem+"\");saveScoreLocation("+JO.page+", "+u.ID+");'";
p += "onmouseout='restoreSolution(\""+JO.mapid+"\")' ";
- p += " style='"+styleClass+" color:"+u.displayColor+";' title='Scored "+scoredTimeStr+"'>";
+ p += " style='"+styleClass+" color:"+u.displayColor+";' title='Last improved "+scoredTimeStr+"'>";
} else {
- p = p+ "<tr class='"+rowclass+"' style='"+styleClass+" color:"+u.displayColor+";' title='Scored "+scoredTimeStr+"'>";
+ p = p+ "<tr class='"+rowclass+"' style='"+styleClass+" color:"+u.displayColor+";' title='Last improved "+scoredTimeStr+"'>";
}
// background-color: "+u.background+";
@@ -182,7 +185,11 @@ function scoresFormatPage(JO) { p = p+ "";
p = p+ "<span class='scoreName'><a href='achievements?id="+u.ID+"' style='color:"+u.displayColor+"'>"+u.display+"</a></span>";
p = p+ "</td>";
- p = p+ "<td style='text-align:right;'>"+u.moves+"</td>";
+ if (u.solution) {
+ p = p+ "<td style='text-align:right;'><a href='javascript: void(0);'>"+u.moves+"</a></td>";
+ } else {
+ p = p+ "<td style='text-align:right;'>"+u.moves+"</td>";
+ }
p = p+ "</tr>";
previousI = i;
diff --git a/pages/scores.php b/pages/scores.php index 9443673..70acbaa 100644 --- a/pages/scores.php +++ b/pages/scores.php @@ -49,6 +49,12 @@ function start() { if (typeof(hashParts[1]) !== 'undefined') {
pointerMapID = hashParts[1];
}
+ if (typeof(hashParts[2]) !== 'undefined' && hashParts[2]-0 > 0) {
+ pointerPage = hashParts[2];
+ } else pointerPage = 1;
+ if (typeof(hashParts[3]) !== 'undefined') {
+ pointerUserID = hashParts[3];
+ }
//+1 because i'm gonna use prev.
pointerTime = new Date(dateSplit[0],dateSplit[1]-1,dateSplit[2]-0+1);
}
@@ -84,9 +90,10 @@ function displayMapScores(mapID) { $('#scoreDisplay').empty();
newDiv.prependTo('#scoreDisplay');
}
- scoresShowPage(1, mapID);
$("#mapDisplay").fadeOut('fast');
displayMap(mapID, "mapDisplay", 682);
+ scoresShowPage(pointerPage, mapID);
+ //console.log(pointerPage, mapID);
}
@@ -95,9 +102,21 @@ function updateHash() { tmp = tmp.split("#");
var anchorTag = tmp[0]+'#'+pointerDate;
anchorTag += "_"+pointerMapID;
+ if (pointerPage) anchorTag += "_"+pointerPage;
+ else anchorTag += "_";
+ if (pointerUserID) anchorTag += "_"+pointerUserID;
+ else anchorTag += "_";
document.location=anchorTag;
}
+var pointerPage = 1, pointerUserID
+function saveScoreLocation(page, userID) {
+ pointerPage = page;
+ pointerUserID = userID;
+ updateHash();
+ console.log("SaveScoreLoc");
+}
+
var pointerDate;
function getMapIDs(request) {
switch (request) {
|