commit 823050840e2e955d9231dd1e2dbe99e98f204768
parent cc5b862248e12e897427053cb1a45ec3cc432dc4
Author: Yoann <yoann.b87@voila.fr>
Date: Thu, 28 Apr 2011 18:29:58 +0200
Ajout de l'identifiant de l'utilisateur lorsqu'il crée une partie.
Diffstat:
3 files changed, 15 insertions(+), 7 deletions(-)
diff --git a/code/serveur/dump2sqlite.sh b/code/serveur/dump2sqlite.sh
@@ -27,7 +27,7 @@ create table relation(rid integer primary key autoincrement, start, end, type, w
create table type_node(name, num);
create table type_relation(name, num, extended_name, info);
create table user(login primary key, mail, hash_passwd, score, ugroup);
-create table game(gid integer primary key autoincrement, eid_central_word, relation_1, relation_2, difficulty);
+create table game(gid integer primary key autoincrement, eid_central_word, relation_1, relation_2, difficulty, author);
create table game_cloud(gid, num, difficulty, eid_word, totalWeight, probaR1, probaR2, probaR0, probaTrash);
create table played_game(pgid integer primary key autoincrement, gid, login, timestamp);
create table played_game_cloud(pgid, gid, type, num, relation, weight, score);
diff --git a/code/serveur/php/ressources/backend.inc b/code/serveur/php/ressources/backend.inc
@@ -340,7 +340,7 @@ function insertCreatedGame($centerEid, $cloud, $r1, $r2, $totalDifficulty,$userN
// 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, author)
- VALUES (null, $centerEid, $r1, $r2, $totalDifficulty, $userName);");
+ VALUES (null, $centerEid, $r1, $r2, $totalDifficulty, '$userName');");
$gid = $db->lastInsertRowID();
$t = time();
diff --git a/code/serveur/php/server.php b/code/serveur/php/server.php
@@ -1,4 +1,5 @@
<?php
+session_start();
require_once("ressources/backend.inc");
require_once("ressources/db.inc");
@@ -30,14 +31,21 @@ function logError($errNum, $msg, $other="")
*/
function main()
{
- if(!isset($_GET['action']) || !isset($_GET['user']) || !isset($_GET['passwd'])) {
+ if(!isset($_GET['action']))
throw new Exception("La requête est incomplète", 2);
+ else if(!isset($_SESSION['userId']) && (!isset($_GET['user']) || !isset($_GET['passwd'])))
+ throw new Exception("La requête est incomplète", 2);
+ else if(isset($_SESSION['userId'])) {
+ $user = $_SESSION['userId'];
+ $loginIsOk = true;
+ }
+ else {
+ $user = SQLite3::escapeString($_GET['user']);
+ $loginIsOk = checkLogin($user, $_GET['passwd']);
}
- // Login
$action = $_GET['action'];
- $user = SQLite3::escapeString($_GET['user']);
- $loginIsOk = checkLogin($user, $_GET['passwd']);
+
if ($action != 3 && (!$loginIsOk)) {
throw new Exception("Utilisateur non enregistré ou mauvais mot de passe", 3);
}
@@ -84,7 +92,7 @@ function main()
if (!isset($_GET['game']))
errRequestIncomplete();
- decodeAndInsertGame($_GET['game']);
+ decodeAndInsertGame($user,$_GET['game']);
} else {
throw new Exception("Commande inconnue", 2);