www

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

commit 7139225d0ce7f3e2f70250e3c0e4b665ceca9d3e
parent 21b319f92251730020f347e7e20c466f14df6b6f
Author: Yoann <yoann.b87@voila.fr>
Date:   Thu, 19 May 2011 09:30:53 +0200

Rectification de certain bugs dans la création de partie.

Diffstat:
Mcode/serveur/php/ressources/backend.inc | 4++--
Mcode/serveur/php/ressources/createGame.js | 137+++++++++++++++++++++++++++++++++++++++++--------------------------------------
Mcode/serveur/php/server.php | 21+++++++++++++--------
3 files changed, 86 insertions(+), 76 deletions(-)

diff --git a/code/serveur/php/ressources/backend.inc b/code/serveur/php/ressources/backend.inc @@ -296,10 +296,10 @@ function decodeAndInsertGame($user,$game) { if(count($badWords) > 0) { echo JSON_encode($badWords); } else if (count($cloud) < 5) { - echo "false"; + echo JSON_encode(false); } else { insertCreatedGame($centerEid,$cloud,$r1,$r2,10,$user); - echo "true"; + echo JSON_encode(true); } } diff --git a/code/serveur/php/ressources/createGame.js b/code/serveur/php/ressources/createGame.js @@ -109,7 +109,7 @@ $(function() { url: "server.php?", data: "action=4&word="+word, //+"&user="+user+"&passwd="+passwd, success: function(msg){ - input.closest(".wordLine, #center").addClass(msg == "false" ? "invalid" : "valid"); + input.closest(".wordLine, #center").addClass(msg == false ? "invalid" : "valid"); wordsOK[input.attr("id")] = !(msg == false); }}); } @@ -118,20 +118,20 @@ $(function() { var formOK = function() { displayError(""); - if ($("#relation1").val() == $("#relation2").val()) - displayError("Les deux relation doivent être différents"); - else if ($("#centralWord").val() == "") - displayError("Le mot central doit être renseigné."); + if ($("#relation1").val() == $("#relation2").val()) + displayError("Les deux relation doivent être différents"); + else if ($("#centralWord").val() == "") + displayError("Le mot central doit être renseigné."); else if (badWord()) displayError("Il existe des mots incorrects"); - else if (nbWordOK() < nbWordMin) - displayError("Le nuage doit contenir au moins "+nbWordMin+" mots valides."); - else if (!relationsOK()) - displayError("Tout les mots ne sont pas liés à une relation"); - else - sendGame(); + else if (nbWordOK() < nbWordMin) + displayError("Le nuage doit contenir au moins "+nbWordMin+" mots valides."); + else if (!relationsOK()) + displayError("Tout les mots ne sont pas liés à une relation"); + else + sendGame(); - return false; + return false; }; var nbWordOK = function() { @@ -150,64 +150,69 @@ $(function() { return true; return false; - } + } - var relationsOK = function() { - for(i = 1; i < numWord; i++) { - if(wordsOK["word-"+i]) { - if(!$("#r1-"+i).is(":checked") && !$("#r2-"+i).is(":checked") && !$("#r3-"+i).is(":checked") && !$("#r4-"+i).is(":checked")) - return false; - } - } - - return true; - } + var relationsOK = function() { + for(i = 1; i < numWord; i++) { + if(wordsOK["word-"+i]) { + if(!$("#r1-"+i).is(":checked") && !$("#r2-"+i).is(":checked") && !$("#r3-"+i).is(":checked") && !$("#r4-"+i).is(":checked")) + return false; + } + } + + return true; + } - var sendGame = function() { - var exit; + var sendGame = function() { + var exit; var cloud = ""; - - exit = {center:$("#centralWord").val(), - relations:[$("#relation1").val(),$("#relation2").val(),0,-1], - cloud:[]}; - - for(i=1;i<numWord;i++) { - exit.cloud.push({ - name:$("#word-"+i).val(), - relations:[ - $("#r1-"+i).is(":checked") ? "1":"0", - $("#r2-"+i).is(":checked") ? "1":"0", - $("#r3-"+i).is(":checked") ? "1":"0", - $("#r4-"+i).is(":checked") ? "1":"0" - ] - }); - } - - $.get("server.php",{action:"6",game:exit},function (data) { - //$(".word").closest(".wordLine, #center").removeClass("valid invalid"); - if(data == "true") { - displaySuccess("La partie à bien été enregistrée"); - $('#newCreationLink').show(); - $('#center').hide(); - $('#relations').hide(); - $('#wordLines').hide(); - $('#button').hide(); - } else if (data == "false") { - displayError("Le nuage doit contenir au moins "+nbWordMin+" mots valides."); - } else if (data != "true") { - $('input').removeAttr('disabled'); - var that = $(this); - $.each(data,function(i,e) { - $('.word') - .filter(function() { return that.val() == e; }) - .closest(".wordLine, #center") - .removeClass("valid invalid") - .addClass("invalid"); + + exit = {center:$("#centralWord").val(), + relations:[$("#relation1").val(),$("#relation2").val(),0,-1], + cloud:[]}; + + for(i=1;i<numWord;i++) { + exit.cloud.push({ + name:$("#word-"+i).val(), + relations:[ + $("#r1-"+i).is(":checked") ? "1":"0", + $("#r2-"+i).is(":checked") ? "1":"0", + $("#r3-"+i).is(":checked") ? "1":"0", + $("#r4-"+i).is(":checked") ? "1":"0" + ] }); - } - }); - $('input').attr('disabled', 'disabled'); - } + } + + $.get("server.php",{action:"6",game:exit},function (data) { + //$(".word").closest(".wordLine, #center").removeClass("valid invalid"); + if(data == true) { + displaySuccess("La partie à bien été enregistrée"); + $('#newCreationLink').show(); + $('#center').hide(); + $('#relations').hide(); + $('#wordLines').hide(); + $('#button').hide(); + } + else if (data == false) { + $('input').removeAttr('disabled'); + displayError("Le nuage doit contenir au moins "+nbWordMin+" mots valides."); + } + else if (data != true) { + $('input').removeAttr('disabled'); + var that = $(this); + console.log("mot incorrect"); + $.each(data,function(i,e) { + $('.word') + .filter(function() { return that.val() == e; }) + .closest(".wordLine, #center") + .removeClass("valid invalid") + .addClass("invalid"); + }); + } + }); + + $('input').attr('disabled', 'disabled'); + } var displayError = function(message) { if (message != "") diff --git a/code/serveur/php/server.php b/code/serveur/php/server.php @@ -77,22 +77,23 @@ function main() // Requête POST : http://serveur/server.php?action=0&user=foo&passwd=bar echo game2json($user, isset($_GET['pgid']) ? $_GET['pgid'] : null); } - else if($action == 1) { // "Set partie" + else if($action == 1) { // "Set partie" // Requête POST : http://serveur/server.php?action=1&mode=normal&user=foo&passwd=bar&gid=1234&pgid=12357&0=0&1=-1&2=22&3=13&9=-1 if (!isset($_GET['pgid']) || !isset($_GET['gid']) || !isset($_GET['answers'])) throw new Exception("La requête est incomplète", 2); setGameGetScore($user, $_GET['pgid'], $_GET['gid'], $_GET['answers']); - } else if($action == 4) { // CheckWord + } + else if($action == 4) { // CheckWord if (!isset($_GET['word'])) throw new Exception("La requête est incomplète", 2); if(wordExist($_GET['word'])) - echo "true"; + echo JSON_encode(true); else - echo "false"; + echo JSON_encode(false); } - else if($action == 5) { // Get relations (JSON) + else if($action == 5) { // Get relations (JSON) echo getGameRelations(); } else if($action == 6) { @@ -100,15 +101,18 @@ function main() throw new Exception("La requête est incomplète", 2); decodeAndInsertGame($user,$_GET['game']); - } elseif ($action == 7) { // Get user prefs + } + elseif ($action == 7) { // Get user prefs userPrefs($user); - } elseif ($action == 8) { // Set user pref + } + elseif ($action == 8) { // Set user pref if (!isset($_GET['key']) || !isset($_GET['value'])) throw new Exception("La requête est incomplète", 2); setUserPref($user, $_GET['key'], $_GET['value']); userPrefs($user); - } else { + } + else { throw new Exception("Commande inconnue", 2); } } @@ -139,6 +143,7 @@ function server() { logError($e->getCode(), $e->getMessage(), date("c")); closeDB(); } + if(isset($_GET['callback'])) echo ')'; }