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:
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
)
);