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