diff --git a/code/serveur/php/createGame.php b/code/serveur/php/createGame.php
index ae15a8e..d3503df 100644
--- a/code/serveur/php/createGame.php
+++ b/code/serveur/php/createGame.php
@@ -130,7 +130,9 @@ if(!isset($_SESSION['userId']))
-
+
+ |
+
●
|
diff --git a/code/serveur/php/ressources/backend.inc b/code/serveur/php/ressources/backend.inc
index fef8ff0..6037573 100644
--- a/code/serveur/php/ressources/backend.inc
+++ b/code/serveur/php/ressources/backend.inc
@@ -298,20 +298,37 @@ function cgInsert($centerEid, $cloud, $r1, $r2, $totalDifficulty)
}
function decodeAndInsertGame($game) {
+ $badWords = Array();
$centerEid = getNodeEid($game['center']);
$r1 = $game['relations'][0];
$r2 = $game['relations'][1];
- foreach($game['cloud'] as $key => $w)
- $cloud[] = Array("eid" => getNodeEid($w['name']),
+
+ if($centerEid === null)
+ $badWords[] = $game['center'];
+
+ foreach($game['cloud'] as $key => $w) {
+ if ($w['name'] == "") continue;
+ $cloudEid = getNodeEid($w['name']);
+ $cloud[] = Array("eid" => $cloudEid,
"pos" => $key,
"d" => 5,
"probaR1" => $w['relations'][0] ? "1" : "0",
"probaR2" => $w['relations'][1] ? "1" : "0",
"probaR0" => $w['relations'][2] ? "1" : "0",
"probaTrash" => $w['relations'][3] ? "1" : "0");
-
-
- insertCreatedGame($centerEid,$cloud,$r1,$r2,10);
+
+ if($cloudEid === null)
+ $badWords[] = $w['name'];
+ }
+
+ if(count($badWords) > 0) {
+ echo JSON_encode($badWords);
+ } else if (count($cloud) < 5) {
+ echo "false";
+ } else {
+ insertCreatedGame($centerEid,$cloud,$r1,$r2,10);
+ echo "true";
+ }
}
function insertCreatedGame($centerEid, $cloud, $r1, $r2, $totalDifficulty)
@@ -739,6 +756,6 @@ function getNodeEid($node) {
function wordExist($node) {
$db = getDB();
- return $db->querySingle("SELECT eid FROM node WHERE name='".SQLite3::escapeString($node)."';") ? true : false;
+ return getNodeEid($node) === null ? true : false;
}
?>
diff --git a/code/serveur/php/ressources/createGame.js b/code/serveur/php/ressources/createGame.js
index 950535d..1b98055 100644
--- a/code/serveur/php/ressources/createGame.js
+++ b/code/serveur/php/ressources/createGame.js
@@ -15,7 +15,7 @@ $(function() {
var user = "foo";
var passwd = "bar";
var relations = data;
- var nbWordMin = 3;
+ var nbWordMin = 5;
var wordsOK = new Array();
var centerOK = false;
@@ -38,8 +38,6 @@ $(function() {
numWord += nb;
displayRelations();
- // truc.children("option:nth-child(2)");
- // $(truc.children("option").get(2 /* ou 1 */))
};
var updateRelationLabels = function() {
@@ -85,6 +83,8 @@ $(function() {
displayRelations();
});
+ $("select#relation1").val(5);
+ $("select#relation2").val(7);
displayRelations();
};
@@ -101,7 +101,7 @@ $(function() {
var input = $(this);
var word = input.val();
- input.parent("td, #center").removeClass("valid invalid");
+ input.closest(".wordLine, #center").removeClass("valid invalid");
if (word != "") {
$.ajax({
@@ -109,7 +109,7 @@ $(function() {
url: "server.php?",
data: "action=4&word="+word+"&user="+user+"&passwd="+passwd,
success: function(msg){
- input.parent("td, #center").addClass((msg == false) ? "invalid" : "valid");
+ input.closest(".wordLine, #center").addClass((msg == false) ? "invalid" : "valid");
wordsOK[input.attr("id")] = !(msg == false);
}});
}
@@ -145,7 +145,6 @@ $(function() {
};
var badWord = function() {
- console.log(wordsOK);
for (word in wordsOK)
if ($("#"+word).val() != "" && wordsOK[word] == false)
return true;
@@ -185,9 +184,24 @@ $(function() {
});
}
- $.get("server.php",{user:"foo",passwd:"bar",action:"6",game:exit},function (data) {console.log(data);});
-
- console.log(exit);
+ $.get("server.php",{user:"foo",passwd:"bar",action:"6",game:exit},function (data) {
+ $(".word").closest(".wordLine, #center").removeClass("valid invalid");
+ if(data === true) {
+ alert("Partie envoyée avec succès");
+ } 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")
+ .addClass("invalid");
+ });
+ }
+ });
+ $('input').attr('disabled', 'disabled');
}
var displayError = function(message) {
@@ -198,7 +212,7 @@ $(function() {
};
displayCentralWordAndRelations();
- displayNWordLines(nbWordMin);
+ displayNWordLines(nbWordMin+5);
displayButtons();
});
});
diff --git a/code/serveur/php/server.php b/code/serveur/php/server.php
index 23f304e..58169fd 100644
--- a/code/serveur/php/server.php
+++ b/code/serveur/php/server.php
@@ -73,9 +73,9 @@ function main()
errRequestIncomplete();
if(wordExist($_GET['word']))
- echo true;
+ echo "true";
else
- echo false;
+ echo "false";
}
else if($action == 5) { // Get relations (JSON)
echo getGameRelationsJSON();
|