www

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

commit a9773920659581b906900349bdb3bf50ba4e12f6
parent 6a4d68922614f14f848d693835c6a6bdf5dbf88d
Author: Georges Dupéron <jahvascriptmaniac+github@free.fr>
Date:   Fri, 20 May 2011 11:46:54 +0200

La connexion marche à merveille :)

Diffstat:
Mcode/serveur/php/jeu.php | 15+++++++++------
Mcode/serveur/php/ressources/my-extensions.js | 4++--
Mcode/serveur/php/ressources/pticlic.js | 44++++++++++++++++++++++----------------------
Mcode/serveur/php/server.php | 7+++++--
4 files changed, 38 insertions(+), 32 deletions(-)

diff --git a/code/serveur/php/jeu.php b/code/serveur/php/jeu.php @@ -151,12 +151,15 @@ </div> <div id="connection" class="screen"> <form action="#" method="GET" style="width:100%; height:100%;" class="fitFontGroup"> - <div class="formElement subFitFont" style="right: 55%; top: 25%;"><label id="user-label" for="user">Login : </label></div> - <div class="formElement subFitFont" style="left: 55%; top: 25%;"><input type="text" name="user" id="user" class="setFont" /></div> - <div class="formElement subFitFont" style="right: 55%; top: 50%;"><label id="passwd-label" for="passwd">Mot de passe : </label></div> - <div class="formElement subFitFont" style="left: 55%; top: 50%;"><input type="password" name="passwd" id="passwd" class="setFont" /></div> - <div class="formElement subFitFont" style="left: 25%; width:50%; top: 75%;"> - <input type="submit" name="connect" id="connect" value="Se connecter" class="center setFont" /> + <div class="formElement subFitFont" style="right: 55%; top: 25%; text-align:right;"><label id="user-label" for="user">Login : </label></div> + <div class="formElement subFitFont" style="left: 55%; top: 25%; text-align:left;"><input type="text" name="user" id="user" class="setFont" /></div> + <div class="formElement subFitFont" style="right: 55%; top: 50%; text-align:right;"><label id="passwd-label" for="passwd">Mot de passe : </label></div> + <div class="formElement subFitFont" style="left: 55%; top: 50%; text-align:left;"><input type="password" name="passwd" id="passwd" class="setFont" /></div> + <div class="formElement subFitFont" style="right: 55%; top: 75%; text-align:right;"> + <input type="button" value="Retour" class="setFont goFrontpage" /> + </div> + <div class="formElement subFitFont" style="left: 55%; top: 75%; text-align:left;"> + <input type="submit" name="connect" id="connect" value="Se connecter" class="setFont" /> </div> </form> </div> diff --git a/code/serveur/php/ressources/my-extensions.js b/code/serveur/php/ressources/my-extensions.js @@ -188,9 +188,9 @@ function encodeHash(data) { } function Cache(resolver) { - var cache = []; + var cache = {}; this.get = function(k) { - return cache[k] = cache[k] || $.Deferred(function(dfd) { resolver(k, dfd); }).fail(cache[k] = false).promise(); + return cache[k] = cache[k] || $.Deferred(function(dfd) { resolver(k, dfd); }).fail(function() { cache[k] = false; }).promise(); }; } diff --git a/code/serveur/php/ressources/pticlic.js b/code/serveur/php/ressources/pticlic.js @@ -120,6 +120,11 @@ init(function() { }); +// ==== Écran d'accueil +init(function() { + $('.goFrontpage').click(function() { location.hash = "#frontpage"; }); +}); + // ==== Écran connexion runstate.pendingGetPrefs = function() { console.log('Should execute pendingGetPrefs'); @@ -134,8 +139,8 @@ init(function() { } else { runstate.pendingGetPrefs(); } - if (state.screen == game) { - $('#game').trigger('pre-enter'); + if (state.screen == 'game') { + $('#game').trigger('goto'); } else { location.hash = "#frontpage"; } @@ -150,42 +155,37 @@ init(function() { // ==== Écran game $.ajaj = function(url, data, callback) { - var user = '' + UI().getPreference("user"); - var passwd = '' + UI().getPreference("passwd"); - if (user != '' && passwd != '') { + var user = runstate.user; /* '' + UI().getPreference("user"); */ + var passwd = runstate.passwd; /* '' + UI().getPreference("passwd"); */ + if (user && passwd) { if (!data.user) data.user = user; if (!data.passwd) data.passwd = passwd; } - $.getJSON(url, data, callback); + console.log('ajaj', data, user, passwd); + return $.getJSON(url, data, callback); }; -function getGame(k, dfd, retry) { +function getGame(k, dfd) { $.ajaj("getGame.php?callback=?", {pgid:k}, function(data) { - if (data.error == 10) { - dfd.reject(data); - if (state.screen == 'game' && state.pgid == k) { - if (retry) { - $('#connection.screen').trigger('goto'); - } else { - location.hash = "#frontpage"; - message("Erreur", "Vous n'êtes pas connecté."); - } - } - } else if (data.isError) { + if (data.isError) { dfd.reject(data); - location.hash = "#frontpage"; message("Erreur", data.msg); + if ((data.error == 10 || data.error == 3) && state.screen == 'game' && state.pgid == k) { + $.screen('connection').trigger('goto'); + } else { + $.screen('frontpage').trigger('goto'); + } } else { dfd.resolve(data); } - }).fail(function() { + }).fail(function(data) { dfd.reject(data); - location.hash = "#frontpage"; + $("#frontpage").trigger('goto'); message("Erreur", "Une erreur est survenue, veuillez nous en excuser."); }); } -runstate.gameCache = new Cache(function(k, dfd) { getGame(k, dfd, true); }); +runstate.gameCache = new Cache(function(k, dfd) { getGame(k, dfd); }); init(function() { var game = $('#game.screen'); diff --git a/code/serveur/php/server.php b/code/serveur/php/server.php @@ -132,10 +132,13 @@ function server() { ob_end_flush(); } catch (Exception $e) { ob_end_clean(); + $code = $e->getCode(); + $msg = $e->getMessage(); + if ($code != 10 && $code != 3) $msg = "Erreur ".$code." : " . $msg; echo json_encode( Array( - "error" => $e->getCode(), - "msg" => "Erreur ".$e->getCode()." : ".$e->getMessage(), + "error" => $code, + "msg" => $msg, "isError" => true ) );