diff --git a/code/serveur/README.sh b/code/serveur/README.sh index b7c0cf8..10274ef 100755 --- a/code/serveur/README.sh +++ b/code/serveur/README.sh @@ -3,22 +3,35 @@ # cat dump.url # Aller à cette adresse, et télécharger le dernier dump echo -echo "Étape 1/3 : Téléchargement" -echo "==========================" +echo "Étape 1/5 : Téléchargement de la version du dump" +echo "================================================" latest="$(wget 'http://www.lirmm.fr/~lafourcade/JDM-LEXICALNET-FR/?C=M;O=D' -O- | grep '\-LEXICALNET\-JEUXDEMOTS\-FR\-\(NOHTML\)\?\.txt' | head -n 1 | sed -E -e 's/^.*.*$/\1/')" + +echo +echo "Étape 2/5 : Téléchargement du dump" +echo "==================================" wget -c 'http://www.lirmm.fr/~lafourcade/JDM-LEXICALNET-FR/'"$latest" echo -echo "Étape 2/3 : Conversion vers sql" +echo "Étape 3/5 : Conversion vers sql" echo "===============================" ./dump2sqlite.sh "$latest" > sql echo -echo "Étape 3/3 : Insertion dans la bdd" +echo "Étape 4/5 : Insertion dans la bdd" echo "=================================" -mv php/db php/db.old +[ -e php/db ] && mv php/db php/db.old pv sql | sqlite3 php/db -sudo chgrp -R www-data php || sudo chgrp -R www php + +echo +echo "Étape 5/5 : Réglage des permissions" +echo "===================================" +: > /tmp/log-chmod-pticlic +sudo chgrp -R www-data php > /tmp/log-chmod-pticlic || sudo chgrp -R www php > /tmp/log-chmod-pticlic || { + cat /tmp/log-chmod-pticlic + echo "ATTENTION : Les deux méthodes de chgrp ont échoué !" + exit 1 +} chmod 664 php/db chmod 775 php diff --git a/code/serveur/dump2sqlite.sh b/code/serveur/dump2sqlite.sh index dd4c549..561ca4b 100755 --- a/code/serveur/dump2sqlite.sh +++ b/code/serveur/dump2sqlite.sh @@ -30,15 +30,10 @@ create table game(gid integer primary key autoincrement, eid_central_word, relat 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); +create table random_cloud_node(eid,nbneighbors); +create table random_center_node(eid); insert into user(login, mail, hash_passwd, score) values('$(echo "$user" | sed -e "s/'/''/g")', 'foo@isp.com', '$(echo "$passwd" | dd bs=1 count="${#passwd}" | (if which md5sum >/dev/null 2>&1; then md5sum; else md5; fi) | cut -d ' ' -f 1)', 0); - -create index i_relation_start on relation(start); -create index i_relation_end on relation(end); -create index i_relation_type on relation(type); -create index i_relation_start_type on relation(start,type); -create index i_relation_end_type on relation(end,type); -create index i_played_game_all on played_game(pgid, gid, login, timestamp); EOF # tr : pour virer le CRLF qui traîne @@ -56,4 +51,25 @@ cat "$1" \ | grep -v '^//' \ | grep -v '^$' -echo "commit;" +cat < 3; +commit; +EOF diff --git a/code/serveur/php/.gitignore b/code/serveur/php/.gitignore index 7bece49..2dd3e43 100644 --- a/code/serveur/php/.gitignore +++ b/code/serveur/php/.gitignore @@ -1 +1,2 @@ db.old +log.txt diff --git a/code/serveur/php/contact.php b/code/serveur/php/contact.php index a6355df..84ba018 100644 --- a/code/serveur/php/contact.php +++ b/code/serveur/php/contact.php @@ -1,9 +1,11 @@ - - - +?> Titre @@ -58,64 +55,64 @@ if(isset($_POST['email']) && isset($_POST['subject']) && isset($_POST['message'] - +
+ +

Contact

'.htmlspecialchars($msg).''; + else + echo ''.htmlspecialchars($msg).''; + if($displayForm == true) - echo ''.$notif.''; - else - echo ''.$notif.''; - - if($displayForm == true) - { - ?> -
- - - - - - - - - - - - - - - - - -
- - - -
- - - -
- - - -
- - - -
-
- ci-dessous + ?> +

+ Vous souhaitez signaler un défaut dans l'application, ou bien vous avez des remarques, des suggestions ?
+ Faites nous en part en nous envoyant un message par le biais du formulaire qui suit : +

+
+ + + + + + + + + + + + + + + + + +
+ + + +
+ + + +
+ + + +
+ + + +
+
+
- + - + diff --git a/code/serveur/php/createGame.php b/code/serveur/php/createGame.php index c8b2059..453b838 100644 --- a/code/serveur/php/createGame.php +++ b/code/serveur/php/createGame.php @@ -1,4 +1,5 @@ - - - + $state = 0; +?> PtiClic Android - Création de partie @@ -29,30 +24,28 @@ $state = 0; - +
+
- '; - echo ''; - } - else { - echo ''; - - for($i = 0; $i < $_POST['nbcloudwords']; $i++) - echo ''; - - echo ''; - } - ?> - + '; + echo ''; + } + else + { + echo ''; + + for($i = 0; $i < $_POST['nbcloudwords']; $i++) + echo ''; + + echo ''; + } + ?>
- + diff --git a/code/serveur/php/download.php b/code/serveur/php/download.php index 7286f23..859df76 100644 --- a/code/serveur/php/download.php +++ b/code/serveur/php/download.php @@ -2,46 +2,40 @@ session_start(); if(!isset($_SESSION['userId'])) - header("location:login.php?return=download.php"); - -?> - - + header("location:login.php?return=download&showmsg=err_download_notauth"); +?> - PtiClic sous Android, version Alpha - Téléchargement - - + PtiClic sous Android, version Alpha - Téléchargement + + - +
+ +

Téléchargement de l'application

Télécharger

Installation de l'application

A partir de votre téléphone

A partir de votre ordinateur

- + diff --git a/code/serveur/php/index.php b/code/serveur/php/index.php index 8b9feea..0418745 100644 --- a/code/serveur/php/index.php +++ b/code/serveur/php/index.php @@ -1,9 +1,6 @@ - - + session_start(); +?> @@ -12,41 +9,45 @@ session_start(); - +
+

Jeu PtiClic - Téléchargement gratuit

-

Vous aimez les jeux de mots ? Vous avez un smartphone sous Android ? - PtiClic est pour vous !

-

Soyez parmi les tous premiers à télécharger cette - application gratuitement en devenant Alpha-testeur. - L'inscription est simple, il suffit de fournir - une adresse mail, de créer un identifiant et vous pourrez commencer à jouer !

- - -

Le principe du jeu

-

Un mot central apparaît ainsi que quatre associations - telles que "synonyme", "antonyme", "est une sorte de", "corbeille"... L'idée est - de lier de nouveaux mots au mot central à l'aide des associations. - Plus votre réponse est juste, plus vous gagnez de points. - Attention, vous pouvez aussi perdre des points !

+

+ Vous aimez les jeux de mots ? Vous avez un smartphone sous Android ? + PtiClic est pour vous ! +

+

+ Soyez parmi les tous premiers à télécharger cette + application gratuitement en devenant Alpha-testeur. + L'inscription est simple, il suffit de fournir + une adresse mail, de créer un identifiant et vous pourrez commencer à jouer ! +

+ +

Le principe du jeu

+

+ Un mot central apparaît ainsi que quatre associations + telles que "synonyme", "antonyme", "est une sorte de", "corbeille", … L'idée + est de lier de nouveaux mots au mot central à l'aide des associations. + Plus votre réponse est juste, plus vous gagnez de points. + Attention, vous pouvez aussi perdre des points ! +

Le développement de l'application

-

La version beta du jeu PtiClic sous Android est en cours de développement. - Le projet s'inscrit dans le cadre d'un TER de Master en informatique - à l'Université Montpellier II sous la direction de Mathieu LAFOURCADE. L'équipe - de conception et de développement est composée de quatre étudiants : Bertrand BRUN, - Yoann BONAVERO, John CHARRON et Georges DUPERON. +

+ La version beta du jeu PtiClic sous Android est en cours de développement. + Le projet s'inscrit dans le cadre d'un TER de Master en informatique + à l'Université Montpellier II sous la direction de Mathieu LAFOURCADE. L'équipe + de conception et de développement est composée de quatre étudiants : Bertrand BRUN, + Yoann BONAVERO, John CHARRON et Georges DUPERON. +

+

Votre rôle en tant qu'Alpha-testeur

+

+ L'application étant en phase de développement et offerte gratuitement, + nous serions reconnaissant si vous pouviez nous donner votre avis, vos suggestions, + vos idées. Envoyez-nous un message !

-

Votre rôle en tant qu'Alpha-testeur

-

L'application étant en phase de développement et offerte gratuitement, - nous serions reconnaissant si vous pouviez nous donner votre avis, vos suggestions, - vos idées. Envoyez-nous un message !

-
- + diff --git a/code/serveur/php/login.php b/code/serveur/php/login.php index fc872fd..3c657fe 100644 --- a/code/serveur/php/login.php +++ b/code/serveur/php/login.php @@ -1,18 +1,20 @@ querySingle("SELECT hash_passwd FROM user WHERE login='$user';"))) { - $_SESSION['userId'] = $user; + $_SESSION['userId'] = $user; // Le login se fait aussi dans signup. - header("location:".$location); + return_to($location); } else - $msg = "Mauvais nom d'utilisateur ou mot de passe"; + $msg = $strings['err_login_bad_user_pass']; } else if(isset($user) or isset($pswd)) - $msg = "Veuillez remplir tous les champs"; -?> - + $msg = $strings['err_login_fill_all']; +?> Titre @@ -43,47 +43,46 @@ else if(isset($user) or isset($pswd)) - +
-

Vous êtes déjà inscrit ? Authentifiez-vous :

- '.$msg.''; - ?> -
- - - - - - - - - - - - - -
- - -
-
- - - -
- - - -
-
-
- - + - + diff --git a/code/serveur/php/pticlic.php b/code/serveur/php/pticlic.php index 470eebc..023f6ca 100644 --- a/code/serveur/php/pticlic.php +++ b/code/serveur/php/pticlic.php @@ -75,11 +75,16 @@ if ($action == 3) { /** Selectionne aléatoirement un noeud. */ -function random_node() +function random_center_node() { global $db; + return $db->querySingle("select eid from random_center_node where rowid = (abs(random()) % (select max(rowid) from random_center_node))+1;"); +} - return $db->querySingle("select eid from node where eid = (abs(random()) % (select max(eid) from node))+1 or eid = (select max(eid) from node where eid > 0) order by eid limit 1;"); +function random_cloud_node() +{ + global $db; + return $db->querySingle("select eid from random_cloud_node where rowid = (abs(random()) % (select max(rowid) from random_cloud_node))+1;"); } @@ -99,7 +104,6 @@ function cg_build_result_sets($cloudSize, $centerEid, $r1, $r2) // Le select doit ranvoyer trois colonnes : // eid => l'eid du mot à mettre dans le nuage, // r1 => la probabilité pour que le mot soit dans r1, entre -1 et 1 (négatif = ne devrait pas y être, positif = devrait y être à coup sûr, 0 = on sait pas). - // TODO : comment mettre un poids sur random, sachant qu'il ne peut / devrait pas être dans ces select, mais plutôt un appel à random_node() ? $typer1r2 = "type in ($r1, $r2)"; $sources = array( // Voisins 1 saut du bon type (= relations déjà existantes) @@ -153,7 +157,7 @@ function cg_build_result_sets($cloudSize, $centerEid, $r1, $r2) for ($i = 0; $i < 10; $i++) { - $sources[$k]['resultSet'][] = array('eid'=>random_node(), 'r1'=>0, 'r2'=>0, 'r0'=>0, 'trash'=>1); + $sources[$k]['resultSet'][] = array('eid'=>random_cloud_node(), 'r1'=>0, 'r2'=>0, 'r0'=>0, 'trash'=>1); $sources[$k]['rsSize']++; } } @@ -254,7 +258,7 @@ function cg_build_cloud($cloudSize, $sources, $sumWeights) while ($i < $cloudSize) { $totalDifficulty += $sources['rand']['d']; - $cloud[$i] = array('pos'=>$i++, 'd'=>$sources['rand']['d'], 'eid'=>random_node(), 'probaR1'=>$res['r1'], 'probaR2'=>$res['r2'], 'probaR0'=>$res['r0'], 'probaTrash'=>$res['trash']); + $cloud[$i] = array('pos'=>$i++, 'd'=>$sources['rand']['d'], 'eid'=>random_cloud_node(), 'probaR1'=>$res['r1'], 'probaR2'=>$res['r2'], 'probaR0'=>$res['r0'], 'probaTrash'=>$res['trash']); } return array($cloud, $totalDifficulty); @@ -338,6 +342,26 @@ function randomGame() return $gid; } +function format_word($word) { + global $db; + + $res = ""; + $stack = array(); + while (($pos = strpos($word, ">")) !== false) { + $res .= substr($word,0,$pos) . " ("; + $eid = intval(substr($word,$pos+1)); + if ($eid == 0) mDie(7, "Erreur lors du suivi des pointeurs de spécialisation du mot $word."); + if (in_array($eid, $stack)) mDie(8, "Boucle rencontrée lors du suivi des pointeurs de spécialisation du mot $word."); + if (count($stack) > 10) mDie(9, "Trop de niveaux de récursions lors du suivi des pointeurs de spécialisation du mot $word."); + $stack[] = $eid; + $word = $db->querySingle("select name from node where eid = $eid"); + } + $res .= $word; + for ($depth = count($stack); $depth > 0; $depth--) { + $res .= ')'; + } + return $res; +} /** Formate une partie en JSON en l'imprimant. * @param game_id : L'identifiant d'une partie. @@ -355,7 +379,7 @@ function game2json($game_id) $game = $game->fetchArray(); echo '{"gid":'.$game_id.',"pgid":'.$pgid.',"cat1":'.$game['relation_1'].',"cat2":'.$game['relation_2'].',"cat3":0,"cat4":-1,'; - echo '"center":{"id":'.$game['eid_central_word'].',"name":'.json_encode(''.$game['name_central_word']).'},'; + echo '"center":{"id":'.$game['eid_central_word'].',"name":'.json_encode(''.format_word($game['name_central_word'])).'},'; echo '"cloudsize":10,"cloud":['; // TODO ! compter dynamiquement. $res = $db->query("select eid_word,(select name from node where eid=eid_word) as name_word from game_cloud where gid = ".$game_id.";"); @@ -368,7 +392,7 @@ function game2json($game_id) else $notfirst=true; - echo '{"id":'.$x['eid_word'].',"name":'.json_encode("".$x['name_word']).'}'; + echo '{"id":'.$x['eid_word'].',"name":'.json_encode("".format_word($x['name_word'])).'}'; } echo "]}"; @@ -400,7 +424,7 @@ function createGameCore($cloudSize) global $db; // select random node - $centerEid = random_node(); + $centerEid = random_center_node(); $r1 = cg_choose_relations(); $r2 = $r1[1]; $r1 = $r1[0]; $sources = cg_build_result_sets($cloudSize, $centerEid, $r1, $r2); $sumWeights = $sources[1]; $sources = $sources[0]; diff --git a/code/serveur/php/ressources/footer.html b/code/serveur/php/ressources/footer.html deleted file mode 100644 index 7504a97..0000000 --- a/code/serveur/php/ressources/footer.html +++ /dev/null @@ -1,23 +0,0 @@ - - - - - PtiClic sous Android -Version Alpha - Pied de page - - - - -

Les concepteurs du jeu : - Mathieu LAFOURCADE et - Virginie ZAMPA - - L'histoire du PtiClic - - Jouer au PtiClic sur un ordinateur - - Jeux de mots - - Université Montpellier II - - - Laboratoire d'Informatique, de Robotique et de Microélectronique de Montpellier - - Nous contacter -

- - - \ No newline at end of file diff --git a/code/serveur/php/ressources/footer.inc b/code/serveur/php/ressources/footer.inc new file mode 100644 index 0000000..15e6e09 --- /dev/null +++ b/code/serveur/php/ressources/footer.inc @@ -0,0 +1,12 @@ + \ No newline at end of file diff --git a/code/serveur/php/ressources/locations.inc b/code/serveur/php/ressources/locations.inc new file mode 100644 index 0000000..7264f9f --- /dev/null +++ b/code/serveur/php/ressources/locations.inc @@ -0,0 +1,26 @@ + \ No newline at end of file diff --git a/code/serveur/php/ressources/menu.html b/code/serveur/php/ressources/menu.html deleted file mode 100644 index 23ebae4..0000000 --- a/code/serveur/php/ressources/menu.html +++ /dev/null @@ -1,19 +0,0 @@ -

PtiClic sous Android™ - Version 0.1 Alpha

- - - Accueil - Téléchargement - - Contact - - Se connecter - S'incrire - - - Se deconnecter - - diff --git a/code/serveur/php/ressources/menu.inc b/code/serveur/php/ressources/menu.inc new file mode 100644 index 0000000..ec80bfc --- /dev/null +++ b/code/serveur/php/ressources/menu.inc @@ -0,0 +1,21 @@ + \ No newline at end of file diff --git a/code/serveur/php/ressources/showmsg.inc b/code/serveur/php/ressources/showmsg.inc new file mode 100644 index 0000000..8d9314a --- /dev/null +++ b/code/serveur/php/ressources/showmsg.inc @@ -0,0 +1,26 @@ +'.htmlspecialchars($msg).'

'; + else + echo '

'.htmlspecialchars($msg).'

'; + } +} + +showmsg(); + +?> \ No newline at end of file diff --git a/code/serveur/php/ressources/simple.css b/code/serveur/php/ressources/simple.css index ee8cb83..95317e7 100644 --- a/code/serveur/php/ressources/simple.css +++ b/code/serveur/php/ressources/simple.css @@ -24,12 +24,21 @@ .footer { margin: 0; - padding: 0.5em; + padding: 0.7em; border-top: thin solid grey; border-bottom: thin solid grey; background-color : #FFFFE0; - font-size: x-small; - text-align: center + font-size: 75%; + text-align: center +} + +.footer p { + margin: 0; +} + +.footer a, +.footer a:visited { + color: black; } .content { @@ -49,7 +58,6 @@ } .logintbl td, .contactbl td, .signuptbl td { - width : 50%; text-align : right; padding-left : 5px; padding-right : 5px; @@ -72,7 +80,8 @@ html, body { h1 { color: #8b4; - margin : 5px; + margin : 0; + padding: 0.2em 0.5em; } h2 { @@ -92,13 +101,14 @@ h5 { } a { - color: black; + color: darkgreen; } a:visited { - color: #543; + color: #765; } +.footer a:hover, a:hover { color: #c86; } @@ -122,10 +132,8 @@ h2#tache-description { } .message { - width : 40%; - display : block; - padding : 5px; - padding-left : 30px; + display : inline-block; + padding : 5px 30px; margin-top : 10px; margin-bottom : 10px; margin-right : 6%; @@ -133,21 +141,21 @@ h2#tache-description { } .warning { - border : 1px dashed red; + border : 1px dashed red; background-color : #F0C060 } .success { - border : 1px dashed red; - background-color : #90FF90 + border : 1px dashed red; + background-color : #90FF90 } #downloadlink { color : black; text-decoration : none; font-size : 16pt; - background-color: #8888ff; - border: medium solid blue; + background-color: #ccccff; + border: medium solid #5555ff; border-radius: 1em; -moz-border-radius: 1em; -webkit-border-radius: 1em; @@ -157,7 +165,9 @@ h2#tache-description { } #downloadlink:hover { - background-color: red; + background-color: #5555ff; + color: white; + border-color: #ccccff; } .downloadarea { @@ -167,9 +177,9 @@ h2#tache-description { } #cnx { - float : right + float : right } .android { - font-size: 70%; + font-size: 70%; } diff --git a/code/serveur/php/ressources/strings.inc b/code/serveur/php/ressources/strings.inc new file mode 100644 index 0000000..5a67333 --- /dev/null +++ b/code/serveur/php/ressources/strings.inc @@ -0,0 +1,35 @@ + \ No newline at end of file diff --git a/code/serveur/php/signup.php b/code/serveur/php/signup.php index 76340e2..7a1e1b3 100644 --- a/code/serveur/php/signup.php +++ b/code/serveur/php/signup.php @@ -1,206 +1,190 @@ querySingle("SELECT mail FROM user WHERE mail='$signupemail'") != null){ - $msg[] = "L'adresse mail saisie existe déjà ! Veuillez nous contacter si vous avez - oublier votre identifiant et/ou votre mot de passe."; - unset($_POST['signupemail']); - $signupemail = ""; - } + $newpage = false; + $signupemail = $_POST['signupemail']; + // Regexp pour les adresses mail (incomplet, mais suffisant pour la plupart des adresses). + // http://en.wikipedia.org/wiki/Email_address + // N'implémente pas les "quotes" dans la partie locale (avant le @). + $allowed_local = "[-a-zA-Z0-9!#\$%&'*+/^=?_`{|}~]"; /* Je ne sais pas trop si l'espace est autorisée. */ + $pattern_local = "$allowed_local(\\.?$allowed_local)*"; + $pattern_hostname_label = '[a-zA-Z0-9]([-a-zA-Z0-9]*[a-zA-Z0-9])?'; + $pattern_hostname = "$pattern_hostname_label(\\.$pattern_hostname_label)*"; + $pattern_ip = "([01]?[0-9]?[0-9]|2[0-4][0-9]|25[0-5])"; + $pattern_host = "($pattern_hostname|\\[$pattern_ip\\])"; + // Note : j'ai utilisé ";" comme délimiteur de regexp car il y a un slash dans $allowed_local, et je ne sais pas comment l'échapper là + $pattern = ";^$pattern_local@$pattern_host\$;"; + + if(trim($signupemail) == ""){ + $msg[] = $strings['err_signup_fill_mail']; + } + else if (!preg_match($pattern, $signupemail)){ + // TODO : ce message est erroné. + $msg[] = $strings['err_signup_invalid_mail']; + } + else if ($db->querySingle("SELECT mail FROM user WHERE mail='$signupemail'") != null){ + $msg[] = $strings['err_signup_existing_mail']; + } } if(isset($_POST['signupid'])){ - $newpage = false; + $newpage = false; $signupid = $_POST['signupid']; - $pattern = "/^([a-zA-Z0-9])+([\.\-_][a-zA-Z0-9]*)*/"; - if(trim($signupid) == ""){ - $msg[] = "Veuillez renseigner le champ 'Choisir un identifiant'.\n"; - unset($_POST['signupid']); - $signupid = ""; - } - else if (!preg_match($pattern, $signupemail)){ - $msg[] = "Identifiant invalid. Vous pouvez utiliser des lettres, des chiffres et - les caractères spéciaux '-', '_' et '.'\n"; - $signupid = $_POST['signupid']; - unset($_POST['signupid']); - $signupid = ""; - } - else if ($db->querySingle("SELECT login FROM user WHERE login='$signupid'") != null){ - $msg[] = "Identifiant déjà pris ! Veuillez choisir un autre identifiant."; - unset($_POST['signupid']); - $signupid = ""; - } + $pattern = "/^([a-zA-Z0-9])+([\.\-_][a-zA-Z0-9]*)*/"; + if(trim($signupid) == ""){ + $msg[] = $strings['err_signup_fill_login']; + } + else if (!preg_match($pattern, $signupid)){ + $msg[] = $strings['err_signup_invalid_login']; + $signupid = $_POST['signupid']; + } + else if ($db->querySingle("SELECT login FROM user WHERE login='$signupid'") != null){ + $msg[] = $strings['err_signup_existing_login']; + } } if(isset($_POST['signuppswd1'])){ - $newpage = false; - $signuppswd1 = $_POST['signuppswd1']; - if(trim($signuppswd1) == ""){ - $msg[] = "Veuillez renseigner le champ 'Mot de passe'.\n"; - unset($_POST['signuppswd1']); - $signuppswd1 = ""; - unset($_POST['signuppswd2']); - $signuppswd2 = ""; - } - else if(strlen($signuppswd1) < 5){ - $msg[] = "Mot de passe invalide. Votre mot de passe doit comporter au moins 5 caractères.\n"; - unset($_POST['signuppswd1']); - $signuppswd1 = ""; - unset($_POST['signuppswd2']); - $signuppswd2 = ""; - } + $newpage = false; + $signuppswd1 = $_POST['signuppswd1']; + if(trim($signuppswd1) == ""){ + $msg[] = $strings['err_signup_fill_passwd1']; + } + else if(strlen($signuppswd1) < 5){ + $msg[] = $strings['err_signup_invalid_passwd1']; + } } if(isset($_POST['signuppswd2'])){ - $newpage = false; - $signuppswd2 = $_POST['signuppswd2']; - if(trim($signuppswd2) == ""){ - $msg[] = "Veuillez renseigner le champ 'Resaisir le mot de passe'.\n"; - unset($_POST['signuppswd1']); - $signuppswd1 = ""; - unset($_POST['signuppswd2']); - $signuppswd2 = ""; - } - if(strlen($signuppswd1 != $signuppswd2)){ - $msg[] = "Les deux mots de passe saisis ne sont pas identiques.\n"; - unset($_POST['signuppswd1']); - $signuppswd1 = ""; - unset($_POST['signuppswd2']); - $signuppswd2 = ""; - } + $newpage = false; + $signuppswd2 = $_POST['signuppswd2']; + if(trim($signuppswd2) == ""){ + $msg[] = $strings['err_signup_fill_passwd2']; + } + if(strlen($signuppswd1 != $signuppswd2)){ + $msg[] = $strings['err_signup_passwords_dont_match']; + } +} + +if(count($msg) == 0 && $newpage == false) +{ + $ok = ($db->query("INSERT INTO user(mail, login, hash_passwd, score) VALUES ('" . SQLite3::escapeString($signupemail) + . "', '" . SQLite3::escapeString($signupid) + . "', '" . SQLite3::escapeString(md5($signuppswd1)) + . "', 0);")); + + if($ok == true) { + $_SESSION['userId'] = $signupid; + return_to($location, "?show_msg=ok_signup_registered"); + } else { + $msg[] = $strings['err_signup_dbinsert']; + } } ?> - - - + PtiClic sous Android - Version Alpha - Inscription - - - - + +
-

Vous n'êtes pas encore inscrit ? Inscrivez-vous :

- 0){ - echo ''. - "Saisie invalide. Les erreurs sont les suivantes :

". - "

"; - } - else if($newpage == false){ - $ok = ($db->query("INSERT INTO user(mail, login, hash_passwd, score) VALUES ('" . SQLite3::escapeString($signupemail) - . "', '" . SQLite3::escapeString($signupid) - . "', '" . SQLite3::escapeString(md5($signuppswd1)) - . "', 0);")); - - if($ok == true) - echo "insertion worked!!!!!"; - else - echo "insertion failed!!!"; - //header("location:".$location); - echo ''."Inscription s'est déroulée avec succès !"; - unset($_POST); - $newpage = true; - } - - echo ''; - ?> -
- - - - - - - - - - - - - - - - - - - - - -
- - - - />
-
- - - - /> -
- - - -
- - - -
- - - -
-
-
- - + - +