valide && strtolower($le_participant->info->pseudo) === strtolower($_POST['pseudo'])) // le pseudo n'a pas changé return FALSE; $loginDejaPris = mysql_fetch_array(mysql_query("SELECT count(*) FROM participants WHERE pseudo = '".addslashes($_POST['pseudo'])."'")); if ($loginDejaPris[0] > 0) { $message_utilisateur = "Le pseudo '".$_POST["pseudo"]."' est déjà pris"; return TRUE; } return FALSE; } /** * 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'] != ""; } /** * Met à jour les periodes du participant dont l'id est donnée * en fonction de $_POST["periodes"] * Attention, cette fonction doit être appelée dans une transaction. */ function set_periodes($id) { $periodes = $_POST['periodes']; if (!$periodes) $periodes = array(); mysql_query("DELETE FROM participations WHERE participant_id = " . (int)$id); for ($i = 0; $i < count($periodes); $i++) { mysql_query(" INSERT INTO participations (participant_id, periode_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 (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'])."' )" ); $id = mysql_insert_id(); set_periodes($id); mysql_query("COMMIT"); $le_participant = new participant($_POST['pseudo'], $_POST['pass1']); setcookie("COOKIE_INFO_PATICIPANT", $le_participant->info->id, time() + 31104000); $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()) { 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); mysql_query("UPDATE participants SET clan_nom = '".addslashes($_POST['clan_nom'])."' WHERE id = " . $le_participant->info->id); mysql_query("UPDATE participants SET clan_tag = '".addslashes($_POST['clan_tag'])."' WHERE id = " . $le_participant->info->id); mysql_query("UPDATE participants SET nom = '".addslashes($_POST['nom'])."' WHERE id = " . $le_participant->info->id); mysql_query("UPDATE participants SET prenom = '".addslashes($_POST['prenom'])."' WHERE id = " . $le_participant->info->id); 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); 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 } } # 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"); } ?>