www

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

commit 80c7c7ab95312a913267bdfcb6c643d93fd8b7fb
parent 9f47cc095bd758ab95a37e22b5b75885a439e572
Author: Yoann <yoann.b87@voila.fr>
Date:   Thu, 21 Apr 2011 11:30:29 +0200

Début de la liaison de la nouvelle page de création de partie avec le
serveur.

Diffstat:
Mcode/serveur/php/createGame.php | 4++++
Mcode/serveur/php/pticlic.php | 65++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-
Mcode/serveur/php/ressources/createGame.js | 14++++++++++----
Mcode/serveur/php/server.php | 8++++++++
4 files changed, 86 insertions(+), 5 deletions(-)

diff --git a/code/serveur/php/createGame.php b/code/serveur/php/createGame.php @@ -49,6 +49,10 @@ if(!isset($_SESSION['userId'])) .wordLinesTable .lightLine { background-color : #F0F0D0; } + + .wordLinesTable td:first-child { + text-align : right; + } #center { diff --git a/code/serveur/php/pticlic.php b/code/serveur/php/pticlic.php @@ -25,7 +25,7 @@ require_once("db.php"); * normalizeProbas($row); * setGame($user, $pgid, $gid, $answers); * get_game_relations(); - getGameRelationsJSON(); +* getGameRelationsJSON(); * setGameGetScore($user, $pgid, $gid, $answers); * insertNode($node); * getNodeEid($node); @@ -297,6 +297,69 @@ function cgInsert($centerEid, $cloud, $r1, $r2, $totalDifficulty) $db->exec("commit;"); } +function decodeGame($json) { + $game = JSON_decode($json,true); + + $centerEid = getNodeEid($game['centralWord']); + foreach($game['cloud'] as $w) + $cloud[] = Array("eid" => getNodeEid($w['name']), + "pos" => $key, + "d" => 5, + "probaR1" => $w['relations'][0] ? "1" : "0", + "probaR2" => $w['relations'][0] ? "1" : "0", + "probaR0" => $w['relations'][0] ? "1" : "0", + "probaTrash" => $w['relations'][0] ? "1" : "0"); + + + print_r($cloud); +} + +function insertCreatedGame($centerEid, $cloud, $r1, $r2, $totalDifficulty) +{ + $db = getDB(); + // Insère dans la base une partie avec le mot central $centerEid, le nuage $cloud et les relations $r1 et $r2 + $db->exec("begin transaction;"); + $db->exec("INSERT INTO game(gid, eid_central_word, relation_1, relation_2, difficulty) + VALUES (null, $centerEid, $r1, $r2, $totalDifficulty);"); + $gid = $db->lastInsertRowID(); + + $t = time(); + $db->exec("INSERT INTO played_game(pgid, gid, login, timestamp) + VALUES (null, $gid, null, $t);"); + $pgid1 = $db->lastInsertRowID(); + $db->exec("INSERT INTO played_game(pgid, gid, login, timestamp) + VALUES (null, $gid, null, $t);"); + $pgid2 = $db->lastInsertRowID(); + $db->exec("INSERT INTO played_game(pgid, gid, login, timestamp) + VALUES (null, $gid, null, $t);"); + $pgid0 = $db->lastInsertRowID(); + $db->exec("INSERT INTO played_game(pgid, gid, login, timestamp) + VALUES (null, $gid, null, $t);"); + $pgidT = $db->lastInsertRowID(); + + // TODO : R0 et Trash + corrections + foreach ($cloud as $c) + { + $totalWeight = $c['probaR1'] + $c['probaR2'] + $c['probaR0'] + $c['probaTrash']; + $db->exec("INSERT INTO game_cloud(gid, num, difficulty, eid_word, totalWeight, probaR1, probaR2, probaR0, probaTrash) + VALUES ($gid, ".$c['pos'].", ".$c['d'].", ".$c['eid'].", $totalWeight, ".$c['probaR1'].", ".$c['probaR2'].", ".$c['probaR0'].", ".$c['probaTrash'].");"); + + $db->exec("INSERT INTO played_game_cloud(pgid, gid, type, num, relation, weight, score) + VALUES ($pgid1, $gid, 0, ".$c['pos'].", $r1, ".$c['probaR1'].", 0);"); + + $db->exec("INSERT INTO played_game_cloud(pgid, gid, type, num, relation, weight, score) + VALUES ($pgid2, $gid, 0, ".$c['pos'].", $r2, ".$c['probaR2'].", 0);"); + + $db->exec("INSERT INTO played_game_cloud(pgid, gid, type, num, relation, weight, score) + VALUES ($pgid0, $gid, 0, ".$c['pos'].", 0, ".$c['probaR0'].", 0);"); + + $db->exec("INSERT INTO played_game_cloud(pgid, gid, type, num, relation, weight, score) + VALUES ($pgidT, $gid, 0, ".$c['pos'].", -1, ".$c['probaTrash'].", 0);"); + } + + $db->exec("commit;"); +} + /** Retourne un identifiant de partie aléatoire de la liste de parties jouables * @return gid : Identifiant de partie. */ diff --git a/code/serveur/php/ressources/createGame.js b/code/serveur/php/ressources/createGame.js @@ -153,12 +153,18 @@ $(function() { cloud:[]}; for(i=1;i<numWord;i++) { - if(i != 1) - cloud += ","; - - exit.cloud.push({name:$("#word-"+i).val(),relations:[$("#r1-"+i).is(":checked"),$("#r2-"+i).is(":checked"),$("#r3-"+i).is(":checked"),$("#r4-"+i).is(":checked")]}); + exit.cloud.push({ + name:$("#word-"+i).val(), + relations:[ + $("#r1-"+i).is(":checked"), + $("#r2-"+i).is(":checked"), + $("#r3-"+i).is(":checked"), + $("#r4-"+i).is(":checked") + ] + }); } + $.get("server.php",{user:"foo",passwd:"bar",action:"6",game:exit},function (data) {console.log(data);}); console.log(exit); } diff --git a/code/serveur/php/server.php b/code/serveur/php/server.php @@ -84,6 +84,14 @@ function main() } else if($action == 5) { // Get relations (JSON) echo getGameRelationsJSON(); + } + else if($action == 6) { + var_dump($_GET['game']); + if (!isset($_GET['game'])) + errRequestIncomplete(); + + //decodeGame($_GET['game']); + } else { throw new Exception("Commande inconnue", 2); }