From 20c32ea0055725d8d1a302729a111abd50c4de48 Mon Sep 17 00:00:00 2001 From: gburri Date: Wed, 12 Nov 2008 21:45:16 +0000 Subject: [PATCH] =?utf8?q?ADD=20garde-fous=20dans=20le=20controller=20?= =?utf8?q?=C3=A0=20propos=20des=20inscriptions=20terminees?= MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit git-svn-id: svn://localhost/cl7/trunk@22 4c3d3983-c6fa-4c6c-9935-18c3bbef1bf0 --- php/controller.php | 156 +++++++++++++++++++++++---------------------- 1 file changed, 81 insertions(+), 75 deletions(-) diff --git a/php/controller.php b/php/controller.php index 5a40098..bec8917 100644 --- a/php/controller.php +++ b/php/controller.php @@ -1,7 +1,7 @@ -= 3 && - $_POST['nom'] != "" && - $_POST['prenom'] != "" && - $_POST['e_mail'] != ""; + +/** + * Renvoie TRUE si les données d'une inscription sont valides (POST). + */ +function donnees_inscription_valides() +{ + return + $_POST['pseudo'] != "" && + $_POST['pass1'] != "" && + $_POST['pass1'] == $_POST['pass2'] && + strlen($_POST['pass1']) >= 3 && + $_POST['nom'] != "" && + $_POST['prenom'] != "" && + $_POST['e_mail'] != ""; } /** @@ -65,32 +65,35 @@ function set_periodes($id) VALUES (".$id.", ".(int)$periodes[$i].") "); } -} - +} + # inscription d'un nouveau participant if (isset($_POST['inscription']) && !Participant::nombre_participant_max_atteint()) { + if ($config->get("inscription_terminees")) + return; + traiter_donnees_inscription(); - if (!login_deja_pris() && # vérification des données - donnees_inscription_valides() && - $_POST['accord'] == "on" - ) - { - mysql_query("BEGIN TRANSACTION"); - mysql_query(" - INSERT INTO participants + if (!login_deja_pris() && # vérification des données + donnees_inscription_valides() && + $_POST['accord'] == "on" + ) + { + mysql_query("BEGIN TRANSACTION"); + mysql_query(" + INSERT INTO participants (pseudo, password, clan_nom, clan_tag, nom, prenom, age, e_mail, remarques) - VALUES ( - '".addslashes($_POST['pseudo'])."', - '".addslashes($_POST['pass1'])."', - '".addslashes($_POST['clan_nom'])."', - '".addslashes($_POST['clan_tag'])."', - '".addslashes($_POST['nom'])."', - '".addslashes($_POST['prenom'])."', - '".addslashes($_POST['age'])."', - '".addslashes($_POST['e_mail'])."', - '".addslashes($_POST['remarques'])."' - )" + VALUES ( + '".addslashes($_POST['pseudo'])."', + '".addslashes($_POST['pass1'])."', + '".addslashes($_POST['clan_nom'])."', + '".addslashes($_POST['clan_tag'])."', + '".addslashes($_POST['nom'])."', + '".addslashes($_POST['prenom'])."', + '".addslashes($_POST['age'])."', + '".addslashes($_POST['e_mail'])."', + '".addslashes($_POST['remarques'])."' + )" ); $id = mysql_insert_id(); set_periodes($id); @@ -98,15 +101,18 @@ if (isset($_POST['inscription']) && !Participant::nombre_participant_max_atteint $le_participant = new participant($_POST['pseudo'], $_POST['pass1']); setcookie("COOKIE_INFO_PATICIPANT", $le_participant->info->id, time() + 31104000); - $page = "bienvenue"; + $page = "bienvenue"; } } # un participant modifie ses infos else if(isset($_POST['modification_participant']) && $le_participant->valide) -{ +{ + if ($config->get("inscription_terminees")) + return; + traiter_donnees_inscription(); - if (!login_deja_pris() && donnees_inscription_valides()) - { + if (!login_deja_pris() && donnees_inscription_valides()) + { mysql_query("BEGIN TRANSACTION"); mysql_query("UPDATE participants SET pseudo = '".addslashes($_POST['pseudo'])."' WHERE id = " . $le_participant->info->id); mysql_query("UPDATE participants SET password = '".addslashes($_POST['pass1'])."' WHERE id = " . $le_participant->info->id); @@ -117,41 +123,41 @@ else if(isset($_POST['modification_participant']) && $le_participant->valide) mysql_query("UPDATE participants SET age = '".addslashes($_POST['age'])."' WHERE id = " . $le_participant->info->id); mysql_query("UPDATE participants SET e_mail = '".addslashes($_POST['e_mail'])."' WHERE id = " . $le_participant->info->id); mysql_query("UPDATE participants SET remarques = '".addslashes($_POST['remarques'])."' WHERE id = " . $le_participant->info->id); - set_periodes($le_participant->info->id); + set_periodes($le_participant->info->id); mysql_query("COMMIT"); //header("Location: /inscrits.html"); $message_utilisateur = "Les modifications ont été enregistrées"; - $page = "inscrits"; // TODO : moche car la page ne va plus correspondre à l'url + $page = "inscrits"; // TODO : moche car la page ne va plus correspondre à l'url } -} -# vote pour des jeux -else if (isset($_POST['set_jeux_joues']) && $le_participant->valide) -{ - $votes = $_POST['votes']; - if (!$votes) - $votes = array(); - - mysql_query("BEGIN TRANSACTION"); - - # l'utilisateur peut proposer le nom d'un jeu qui ne se trouve pas dans la liste - $jeu = trim($_POST['jeu']); - if ($jeu !== '') - { - mysql_query("INSERT INTO jeux (nom) VALUES ('".addslashes($jeu)."')"); - $id = mysql_insert_id(); - if ($id != 0) # si le jeu se trouve déjà dans la liste alors $id == 0 - array_unshift($votes, $id); - } - - # suppression des anciens votes (remplacement par les nouveaux) - mysql_query("DELETE FROM jeux_choisis WHERE participant_id = " . $le_participant->info->id); - - # traite les trois premiers votes - for ($i = 0; $i < count($votes) && $i < $config->get('nb_votes_jeux'); $i++) - { - mysql_query("INSERT INTO jeux_choisis (participant_id, jeu_id) VALUES (".$le_participant->info->id.", ".(int)$votes[$i].")"); - } - - mysql_query("COMMIT"); +} +# vote pour des jeux (autorisé même lorsque les inscriptions sont terminées) +else if (isset($_POST['set_jeux_joues']) && $le_participant->valide) +{ + $votes = $_POST['votes']; + if (!$votes) + $votes = array(); + + mysql_query("BEGIN TRANSACTION"); + + # l'utilisateur peut proposer le nom d'un jeu qui ne se trouve pas dans la liste + $jeu = trim($_POST['jeu']); + if ($jeu !== '') + { + mysql_query("INSERT INTO jeux (nom) VALUES ('".addslashes($jeu)."')"); + $id = mysql_insert_id(); + if ($id != 0) # si le jeu se trouve déjà dans la liste alors $id == 0 + array_unshift($votes, $id); + } + + # suppression des anciens votes (remplacement par les nouveaux) + mysql_query("DELETE FROM jeux_choisis WHERE participant_id = " . $le_participant->info->id); + + # traite les trois premiers votes + for ($i = 0; $i < count($votes) && $i < $config->get('nb_votes_jeux'); $i++) + { + mysql_query("INSERT INTO jeux_choisis (participant_id, jeu_id) VALUES (".$le_participant->info->id.", ".(int)$votes[$i].")"); + } + + mysql_query("COMMIT"); } ?> -- 2.43.0