www

Unnamed repository; edit this file 'description' to name the repository.
Log | Files | Refs

commit 75cd559542070e506455aa42f4a37c102c149a22
parent fdc1a3315b4fb9c2486d004d3cad0098e92eab3b
Author: Georges Dupéron <jahvascriptmaniac+github@free.fr>
Date:   Sun,  8 May 2011 16:20:45 +0200

Préférences : 90% .

Diffstat:
Mcode/serveur/php/jeu.html | 41+++++++----------------------------------
Mcode/serveur/php/ressources/backend.inc | 14+++++++++-----
Mcode/serveur/php/ressources/black.css | 6+++++-
Mcode/serveur/php/ressources/green.css | 6+++++-
Mcode/serveur/php/ressources/my-extensions.js | 6+++++-
Mcode/serveur/php/ressources/pticlic.js | 86+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++--------------
6 files changed, 102 insertions(+), 57 deletions(-)

diff --git a/code/serveur/php/jeu.html b/code/serveur/php/jeu.html @@ -3,40 +3,10 @@ <head> <title>PtiClic pre-alpha 0.2</title> <meta charset="utf-8" /> - <style> -html, body { - overflow: hidden; -} - -.screen { - display: none; -} - -#splash.screen { - display: block; -} - -#mn-caption-block { - border-top-width: medium; - border-top-style: solid; - border-bottom-width: medium; - border-bottom-style: solid; -} - -.relationBox { - border-width: thin; - border-style: solid; -} - -.clearboth { - clear: both; -} - -.frontpage-button { - text-align: center; -} - </style> - <link rel="stylesheet" href="ressources/green.css" /> + <meta name="viewport" content="target-densitydpi=device-dpi" /> + <style>.screen { display: none; }</style> + <link rel="stylesheet" href="ressources/green.css" title="green" /> + <link rel="alternate stylesheet" href="ressources/black.css" title="black" /> <script src="ressources/jquery-1.5.1.min.js"></script> <script src="ressources/jquery-ui-1.8.11.custom.min.js"></script> <script src="ressources/jquery.ba-hashchange.min.js"></script> @@ -45,6 +15,7 @@ html, body { <script src="ressources/pticlic.js"></script> </head> <body> + <div id="nojs">Chargement…</div> <div class="screen" id="splash"> <img src="ressources/img/splash.png" /> </div> @@ -144,6 +115,8 @@ html, body { <span class="word"></span> (<span class="score"></span>) </div> </div> + <div id="message" style="display: none;"> + </div> </body> </html> <html> diff --git a/code/serveur/php/ressources/backend.inc b/code/serveur/php/ressources/backend.inc @@ -772,13 +772,13 @@ function getUserInfo($user, $key) { } function setUserInfo($user, $key, $value) { - getDB()->exec("UPDATE user_info SET value = '".SQLite3::escapeString($value) - ."' WHERE user = '".SQLite3::escapeString($user) - ."' AND key = '".SQLite3::escapeString($key)."';"); + getDB()->exec("INSERT OR REPLACE INTO user_info(user, key, value) values('".SQLite3::escapeString($user) + ."', '".SQLite3::escapeString($key) + ."', '".SQLite3::escapeString($value)."');"); } function userPrefsDefaults() { - $prefs = Array( + return Array( "theme" => "green" ); } @@ -793,8 +793,12 @@ function userPrefs($user) { } function setUserPref($user, $key, $value) { - if (array_key_exists($key, userPrefsDefaults())) + if (array_key_exists($key, userPrefsDefaults())) { setUserInfo($user, $key, $value); + echo 'true'; + } else { + echo 'false'; + } } ?> \ No newline at end of file diff --git a/code/serveur/php/ressources/black.css b/code/serveur/php/ressources/black.css @@ -5,6 +5,10 @@ html, body { color: white; } +#nojs { + color: white; +} + .screen { background-color: black; } @@ -26,7 +30,7 @@ html, body { background-color: #222222; } -.relationBox { +#message, .relationBox { border-color: #cccccc; background-color: #222222; } diff --git a/code/serveur/php/ressources/green.css b/code/serveur/php/ressources/green.css @@ -5,6 +5,10 @@ html, body { color: black; } +#nojs { + color: white; +} + .screen { background-color: #FFFFE0; } @@ -26,7 +30,7 @@ html, body { background-color: #F0F8D0; } -.relationBox { +#message, .relationBox { border-color: #44AA44; background-color: #F0F8D0; } diff --git a/code/serveur/php/ressources/my-extensions.js b/code/serveur/php/ressources/my-extensions.js @@ -95,8 +95,9 @@ function queueize(method) { try { return function() { var $this = this; + var args = arguments; return this.queue(function(next) { - $this[method].apply($this,arguments); + $this[method].apply($this,args); next(); }); }; @@ -105,6 +106,9 @@ function queueize(method) { $.fn.qAddClass = queueize("addClass"); $.fn.qRemoveClass = queueize("removeClass"); +$.fn.qShow = queueize("show"); +$.fn.qHide = queueize("hide"); +$.fn.qCss = queueize("css"); $.fn.wh = function(w, h) { try { diff --git a/code/serveur/php/ressources/pticlic.js b/code/serveur/php/ressources/pticlic.js @@ -66,6 +66,22 @@ function jss() { else if(h > 500) iconSize = 48; else iconSize = 36; + $('#nojs').hide(); + + $('#message:visible') + .css({ + position: 'absolute', + borderWidth: 'thin', + borderStyle: 'solid', + MozBorderRadius: 10, + WebkitBorderRadius: 10, + padding: 10, + textAlign: 'center' + }) + .wh(w/2, h*0.1) + .fitFont(w/2, h*0.1) + .center({left: w/2, top:h*0.1}); + $("#"+state.screen+".screen") .wh(w, h) .northWest({top:0,left:0}); @@ -78,6 +94,8 @@ function jss() { textAlign: "left" }); + $(".clearboth").css('clear', 'both'); + $(".screen").hide(); $("#"+state.screen+".screen").show(); @@ -109,9 +127,24 @@ function UI () { log: function(msg) { try { window.console && console.log(msg); - } catch(e) {alert("Error UI.log");alert(e);} + } catch(e) {alert("Error UI().log");alert(e);} + }, + info: function(title, msg) { + try { + $('#message') + .qCss('opacity',0) + .qShow() + .queue(function(next){ + $('#message') + .text(msg); + jss(); + next(); + }) + .animate({opacity:0.9}, 700) + .delay(1000) + .animate({opacity:0}, 700); + } catch(e) {alert("Error UI().info");alert(e);} }, - info: function(title, msg) { alert(msg); }, setScreen: function() {} }; } @@ -338,7 +371,10 @@ game.jss = function(w, h, iconSize) { .fitIn("#mc-caption-block", 0.1); $g("#mn-caption-block") - .css({borderWidth: h/100}) + .css({ + borderWidth: h/100, + borderStyle: 'solid none' + }) .wh(w, mnh) .north($g("#mc-caption-block").south()); @@ -351,7 +387,9 @@ game.jss = function(w, h, iconSize) { margin: 10, padding: 10, MozBorderRadius: 10, - WebkitBorderRadius: 10 + WebkitBorderRadius: 10, + borderWidth: 'thin', + borderStyle: 'solid', }); $g(".relationBox:visible .icon") @@ -598,11 +636,11 @@ connection.jss = function(w, h, iconSize) { $c("input, label") .css("white-space", "nowrap") .css('position', 'absolute') - .fitFont(w*0.3, h*0.25); - $c("#user-label").east({left:w/2,top:h*0.25}); - $c("#user").west({left:w/2,top:h*0.25}); - $c("#passwd-label").east({left:w/2,top:h*0.5}); - $c("#passwd").west({left:w/2,top:h*0.5}); + .fitFont(w*0.3, h*0.06); + $c("#user-label").east({left:w*0.45,top:h*0.25}); + $c("#user").west({left:w*0.55,top:h*0.25}); + $c("#passwd-label").east({left:w*0.45,top:h*0.5}); + $c("#passwd").west({left:w*0.55,top:h*0.5}); $c("#connect").center({left:w/2,top:h*0.75}); } catch(e) {alert("Error connection.jss");alert(e);} }; @@ -682,9 +720,9 @@ prefs.jss = function(w,h,iconSize) { $("input, label, select") .css("white-space", "nowrap") .css('position', 'absolute') - .fitFont(w*0.4, h*0.1); - $p("#theme-label").east({left:w/2,top:h*0.25}); - $p("#theme").west({left:w/2,top:h*0.25}); + .fitFont(w*0.3, h*0.06); + $p("#theme-label").east({left:w*0.45,top:h*0.25}); + $p("#theme").west({left:w*0.55,top:h*0.25}); $p("#prefs-cancel").east({left:w*0.45,top:h*0.5}); $p("#prefs-apply").west({left:w*0.55,top:h*0.5}); } catch(e) {alert("Error prefs.jss");alert(e);} @@ -701,14 +739,32 @@ prefs.enter = function() { prefs.apply = function(){ try { - alert($("#theme").val()); + var newtheme = $("#theme").val(); + ajaj.request("server.php?callback=?", { + action: 8, + key: 'theme', + value: newtheme + }, function(data) { + if (data) + UI().info("Préférences", "Les préférences ont été enregistrées."); + else + UI().info("Préférences", "Les préférences n'ont pas pu être enregistrées."); + }); + $("link[@rel*=stylesheet][title]").each(function(i,e){ + // Il semblerait que pour qu'un "aleternate stylesheet" puisse être activé, il faut d'abord qu'il ait été désactivé… + e.disabled = true; + e.disabled = (e.getAttribute('title') != newtheme); + }); state.set('screen', 'frontpage').validate(); return false; - } catch(e) {alert("Error anonymous in prefs.click.apply");alert(e);} + } catch(e) {alert("Error anonymous in prefs.apply");alert(e);} }; +function switchStylestyle(styleName) { +} + prefs.cancel = function(){ try { state.set('screen', 'frontpage').validate(); - } catch(e) {alert("Error anonymous in prefs.click.cancel");alert(e);} + } catch(e) {alert("Error anonymous in prefs.cancel");alert(e);} };