$page = $_GET['page'];
if (!isset($page)) $page = "accueil"; #la page par défaut
-
/* Pour déterminer si en LAN !?
$IP_SERVEUR = '192.168.1.1';
$MASK_RESEAU = '255.255.255.0';
if($titre[1] && (ip2long($REMOTE_ADDR) & ip2long($MASK_RESEAU)) != (ip2long($IP_SERVEUR) & ip2long($MASK_RESEAU)))
*/
-include_once("php/class_participant.php");
+include_once("php/participant.php");
include_once("php/connexion.php");
include_once("php/config.php");
include_once("php/controller.php");
+include_once("php/panel.php");
+
+# Différents objets, sont accessibles directements par les pages (voir dossier '/php/pages/').
+$config = new Config();
+$connexion = new Connexion();
+$participant = $connexion->participant;
+$controller = new Controller($participant);
+$panel = new Panel($participant);
$MENU = array(
'accueil' => 'Accueil',
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
- <?php\r
+ <?php
# Permet d'afficher un message à l'utilisateur lors du chargement de la page via le javascript, voir 'cl7.js'.
- if ($message_utilisateur) echo '<meta name="messageUtilisateur" content="'.$message_utilisateur.'" />';\r
- \r
+ if ($controller->message_utilisateur) echo '<meta name="messageUtilisateur" content="'.$controller->message_utilisateur.'" />';
+
# Des constantes stockées en BD accessible par le javascript.
echo '<meta name="cout_periode" content="'.$config->get('cout_periode').'" />';
echo '<meta name="cout_total" content="'.$config->get('cout_total').'" />';
<?php
if ($page != 'inscrits') {
echo '<div id="informations">';
- include("php/menu_droit.php");
+ $panel->rendre();
echo '</div>';
}
include("php/pages/jeux_joues.php");
break;
case 'inscription' :
- if (Participant::nombre_participant_max_atteint() && !$le_participant->valide)
+ if (Participant::nombre_participant_max_atteint() && !$participant->valide)
echo 'Nous sommes désolés, il n\'y a plus de places libres';
else
include("php/pages/inscription.php");
include("php/pages/photos.php");
break;
case 'pizzas':
- include("php/pizzas.php");
+ include("php/pages/pizzas.php");
break;
default :
echo 'erreur, page introuvable';
+++ /dev/null
-<?php
-
-/**
- * Représente un participant.
- */
-class Participant
-{
- public $info; # Toute les infos du membre sous la forme d'un objet
- public $valide; # Savoir si le participant existe
-
- static private $NB_VOTES_PAR_PARTICIPANT = 3;
-
- /**
- * Constructeur, peut être appelé sous trois formes différentes.
- */
- function Participant($v1=NULL, $v2=NULL)
- {
-# aucunes valeurs transmise => ce n'est pas un participant valide
- if ($v1 == NULL && $v2 == NULL)
- {
- $this->valide = 0;
- return;
- }
-
- if (is_string($v1) && is_string($v2)) # Aucun des arguments n'est vide alors c'est le pseudo et le password qui ont été transmis
- $res = mysql_query("SELECT * FROM participants WHERE pseudo = '" . addslashes($v1) . "' AND password = '" . addslashes($v2) . "'");
- else # Sinon c'est l'id
- $res = mysql_query("SELECT * FROM participants WHERE id = " . addslashes($v1));
-
- if (mysql_error() || mysql_num_rows($res) == 0)
- {
- $this->valide = FALSE;
- }
- else
- {
- $this->info = mysql_fetch_object($res);
- $this->valide = TRUE;
- }
- }
-
- /**
- * Renvoie le nombre de votes restant pour le participant.
- */
- function nb_vote_restant()
- {
- $nombre_de_vote = mysql_fetch_array(mysql_query("
- SELECT COUNT(*) FROM participants RIGHT JOIN jeux_choisis ON participants.id = jeux_choisis.participant_id
- WHERE participants.id = " . $this->info->id . "
- GROUP BY participants.id
- "));
-
- return Participant::$NB_VOTES_PAR_PARTICIPANT - $nombre_de_vote[0];
- }
-
- /**
- * Renvois TRUE si le nombre de participant max est atteint.
- */
- static function nombre_participant_max_atteint()
- {
- global $config;
- $res_SQL = mysql_query("SELECT COUNT(*) FROM participants");
- $nb_participant = mysql_fetch_row($res_SQL);
-
- return $nb_participant[0] >= $config->get('nb_max_participant');
- }
-
- /**
- * Renvois le nombre de places restantes.
- */
- static function nombre_place_restante()
- {
- global $config;
- $res_SQL = mysql_query("SELECT COUNT(*) FROM participants");
- $nb_participant = mysql_fetch_row($res_SQL);
-
- return $config->get('nb_max_participant') - $nb_participant[0];
- }
-}
-
-?>
\ No newline at end of file
private $config;
}
-$config = new Config();
?>
-<?php
-/*
- * Connexion à la base de donnée + résolutiondu participant.
- * Produit une variable globale nommée '$le_participant'.
- */
+<?php # coding: utf-8
-if (!file_exists("php/config_bd.php")) {
- echo "Le fichier 'php/config_bd.php' n'existe pas, création en cours...\n";
- if (!is_writable("."))
- {
- echo "Le dossier 'php' n'est pas accessible en écriture, veuillez changer les droits et recommencer.";
- exit();
- }
- $f = fopen("php/config_bd.php", "w");
- fwrite($f, '<?php # encoding:utf-8
- # Parametres de connexion MySQL
- $SQL_HOTE = "localhost";
- $SQL_LOGIN = "";
- $SQL_PASS = "";
- $NOM_BASE = "corcelles_lan7";?>'
- );
- fclose($f);
- echo "Le fichier a été créé, veuillez le compléter et recommencer.";
- exit();
-}
+include_once("participant.php");
-include_once("config_bd.php");
-include_once("class_participant.php");
-
-$lien_mysql = mysql_connect($SQL_HOTE, $SQL_LOGIN, $SQL_PASS);
-if (!$lien_mysql || !mysql_select_db($NOM_BASE))
+/*
+ * Connexion à la base de données et création du participant courant.
+ */
+class Connexion
{
- echo "Connexion à la base de données impossible. Voir le fichier 'php/config_bd.php'";
- exit();
-}
+ public $participant;
+
+ funtion Connexion()
+ {
+ if (!file_exists("php/config_bd.php")) {
+ echo "Le fichier 'php/config_bd.php' n'existe pas, création en cours...\n";
+ if (!is_writable("."))
+ {
+ echo "Le dossier 'php' n'est pas accessible en écriture, veuillez changer les droits et recommencer.";
+ exit();
+ }
+ $f = fopen("php/config_bd.php", "w");
+ fwrite($f, '<?php # encoding:utf-8
+ # Parametres de connexion MySQL
+ $SQL_HOTE = "localhost";
+ $SQL_LOGIN = "";
+ $SQL_PASS = "";
+ $NOM_BASE = "corcelles_lan7";?>'
+ );
+ fclose($f);
+ echo "Le fichier a été créé, veuillez le compléter et recommencer.";
+ exit();
+ }
+
+ include_once("config_bd.php");
+
+ $lien_mysql = mysql_connect($SQL_HOTE, $SQL_LOGIN, $SQL_PASS);
+ if (!$lien_mysql || !mysql_select_db($NOM_BASE))
+ {
+ echo "Connexion à la base de données impossible. Voir le fichier 'php/config_bd.php'";
+ exit();
+ }
-mysql_set_charset("UTF8");
-mysql_query('SET AUTOCOMMIT=0');
+ mysql_set_charset("UTF8");
+ mysql_query('SET AUTOCOMMIT=0');
-if (isset($_POST['effacer_cookie'])) # le membre se délogue
-{
- setcookie("COOKIE_INFO_PATICIPANT", "", time() - 100); # 'efface' le cookie membre
- unset($HTTP_COOKIE_VARS["COOKIE_INFO_PATICIPANT"]);
- unset($log);
-}
+ if (isset($_POST['effacer_cookie'])) # le membre se délogue
+ {
+ setcookie("COOKIE_INFO_PATICIPANT", "", time() - 100); # 'efface' le cookie membre
+ unset($HTTP_COOKIE_VARS["COOKIE_INFO_PATICIPANT"]);
+ unset($log);
+ }
-if (isset($_POST['log'])) # le membre se logue
-{
- $le_participant = new Participant($_POST['pseudo'], $_POST['password']);
- if ($le_participant->valide)
- {
- setcookie ("COOKIE_INFO_PATICIPANT", $le_participant->info->id, time() + 31104000);
+ if (isset($_POST['log'])) # le membre se logue
+ {
+ $this->participant = new Participant($_POST['pseudo'], $_POST['password']);
+ if ($this->participant->valide)
+ {
+ setcookie ("COOKIE_INFO_PATICIPANT", $this->participant->info->id, time() + 31104000);
+ }
+ }
+ else if (isset($HTTP_COOKIE_VARS["COOKIE_INFO_PATICIPANT"])) # le cookie existe deja chez le participant
+ {
+ $this->participant = new Participant($HTTP_COOKIE_VARS["COOKIE_INFO_PATICIPANT"]);
+ }
+ else
+ {
+ $this->participant = new Participant();
+ }
}
}
-else if (isset($HTTP_COOKIE_VARS["COOKIE_INFO_PATICIPANT"])) # le cookie existe deja chez le participant
-{
- $le_participant = new Participant($HTTP_COOKIE_VARS["COOKIE_INFO_PATICIPANT"]);
-}
-else
-{
- $le_participant = new Participant();
-}
?>
\ No newline at end of file
-<?php # coding:utf-8
-/**
- * Traite les données envoyées par le client.
- */
-include_once("class_participant.php");
-
-// un message peut être produit par le controlleur
-$message_utilisateur = NULL;
+<?php # coding: utf-8
/**
- * Traiter les données de l'inscription (trim par exemple).
- */
-function traiter_donnees_inscription()
+ * Controller traite les données envoyées par le client.
+ */
+class Controller
{
- $_POST['pseudo'] = trim($_POST['pseudo']);
-}
+ private $participant;
+ public $message_utilisateur = NULL;
-function login_deja_pris()
-{
- global $le_participant;
- global $message_utilisateur;
- if ($le_participant->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)
+ function Controller($participant)
{
- $message_utilisateur = "Le pseudo '".$_POST["pseudo"]."' est déjà pris";
- return TRUE;
- }
- return FALSE;
-}
+ $this->participant = $participant;
+
+ # inscription d'un nouveau participant
+ if (isset($_POST['inscription']) && !Participant::nombre_participant_max_atteint())
+ {
+ if ($config->get("inscription_terminees"))
+ return;
-/**
- * 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'] != "";
-}
+ 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");
+
+ $this->participant = new participant($_POST['pseudo'], $_POST['pass1']);
+ setcookie("COOKIE_INFO_PATICIPANT", $this->participant->info->id, time() + 31104000);
+ $page = "bienvenue";
+ }
+ }
+ # un participant modifie ses infos
+ else if(isset($_POST['modification_participant']) && $this->participant->valide)
+ {
+ if ($config->get("inscription_terminees"))
+ return;
-/**
- * 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();
+ 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 = " . $this->participant->info->id);
+ mysql_query("UPDATE participants SET password = '".addslashes($_POST['pass1'])."' WHERE id = " . $this->participant->info->id);
+ mysql_query("UPDATE participants SET clan_nom = '".addslashes($_POST['clan_nom'])."' WHERE id = " . $this->participant->info->id);
+ mysql_query("UPDATE participants SET clan_tag = '".addslashes($_POST['clan_tag'])."' WHERE id = " . $this->participant->info->id);
+ mysql_query("UPDATE participants SET nom = '".addslashes($_POST['nom'])."' WHERE id = " . $this->participant->info->id);
+ mysql_query("UPDATE participants SET prenom = '".addslashes($_POST['prenom'])."' WHERE id = " . $this->participant->info->id);
+ mysql_query("UPDATE participants SET age = '".addslashes($_POST['age'])."' WHERE id = " . $this->participant->info->id);
+ mysql_query("UPDATE participants SET e_mail = '".addslashes($_POST['e_mail'])."' WHERE id = " . $this->participant->info->id);
+ mysql_query("UPDATE participants SET remarques = '".addslashes($_POST['remarques'])."' WHERE id = " . $this->participant->info->id);
+ set_periodes($this->participant->info->id);
+ mysql_query("COMMIT");
+ //header("Location: /inscrits.html");
+ $this->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']) && $this->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 = " . $this->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 (".$this->participant->info->id.", ".(int)$votes[$i].")");
+ }
+
+ mysql_query("COMMIT");
+ }
+ }
- mysql_query("DELETE FROM participations WHERE participant_id = " . (int)$id);
- for ($i = 0; $i < count($periodes); $i++)
+ /**
+ * Traiter les données de l'inscription (trim par exemple).
+ */
+ private function traiter_donnees_inscription()
{
- mysql_query("
- INSERT INTO participations (participant_id, periode_id)
- VALUES (".$id.", ".(int)$periodes[$i].")
- ");
+ $_POST['pseudo'] = trim($_POST['pseudo']);
}
-}
-
-# 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"
- )
+ private function login_deja_pris()
{
- 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";
+ if ($this->participant->valide && strtolower($this->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)
+ {
+ $this->message_utilisateur = "Le pseudo '".$_POST["pseudo"]."' est déjà pris";
+ return TRUE;
+ }
+ return FALSE;
}
-}
-# 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 !== '')
+ /**
+ * Renvoie TRUE si les données d'une inscription sont valides (POST).
+ */
+ private function donnees_inscription_valides()
{
- 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);
+ return
+ $_POST['pseudo'] != "" &&
+ $_POST['pass1'] != "" &&
+ $_POST['pass1'] == $_POST['pass2'] &&
+ strlen($_POST['pass1']) >= 3 &&
+ $_POST['nom'] != "" &&
+ $_POST['prenom'] != "" &&
+ $_POST['e_mail'] != "";
}
-
- # 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++)
+ /**
+ * 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.
+ */
+ private function set_periodes($id)
{
- mysql_query("INSERT INTO jeux_choisis (participant_id, jeu_id) VALUES (".$le_participant->info->id.", ".(int)$votes[$i].")");
+ $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].")
+ ");
+ }
}
-
- mysql_query("COMMIT");
}
+
?>
+++ /dev/null
-<?php # coding:utf-8
-\r
-include_once("traitement_pre_affichage.php");\r
-\r
-
-# selection de tous les participants
-$res_SQL = mysql_query("SELECT pseudo FROM participants ORDER BY id");
-
-echo '<div id="nbParticipants"><em>', mysql_num_rows($res_SQL), '</em> inscrit', (mysql_num_rows($res_SQL) > 1 ? 's' : ''), '</div>';
-
-# affichage des participants
-if (mysql_num_rows($res_SQL) > 0)
- echo '<ul id="participants">';
-for ($i=0; $i<mysql_num_rows($res_SQL); $i++)
-{
- mysql_data_seek($res_SQL, $i);
- $le_participant_pseudo = mysql_fetch_object($res_SQL);
- echo '<li>', traitement_pre_affichage($le_participant_pseudo->pseudo, 8), '</li>';
-}
-if (mysql_num_rows($res_SQL) > 0)
- echo '</ul>';
-?>
-
-
-<?php
-if($le_participant->valide)
-{
- echo'
- <form method="post" action="index.php?';
-
- foreach($HTTP_GET_VARS as $nom => $valeur)
- echo $nom,'=',$valeur,'&';
-
- echo'">
- <p><input type="hidden" name="effacer_cookie" value="1" /></p>
- <p><input type="submit" value="logout" /></p>
- </form>';
-}
-else
-{
- if (isset($log)) echo '<em>[erreur de loggation]</em>';
-
- echo'
- <form method="post" action="index.php?';
-
- foreach($HTTP_GET_VARS as $nom => $valeur)
- echo $nom,'=',$valeur,'&';
-
- echo'">
- <p>login / pass</p>
- <p><input type="hidden" name="log" value="1" /></p>
- <p><input type="text" name="pseudo" size="10" maxlength="30" /></p>
- <p><input type="password" name="password" size="10" maxlength="10" /></p>
- <p><input type="submit" value="oki" class="submitInvisible" /></p>
- </form>
- ';
-}
-?>
return;
}
-if ($le_participant->valide)
+if ($participant->valide)
echo '<p>Modification de mes infos</p>';
else
echo'<p><em>Les personnes inscrites s\'engagent à être présentes à la LAN et à payer la somme convenue.</em></p><p>Elles peuvent se désinscrirent en cas d\'empèchements majeurs.</p>';
<form id="formulaireInscription" method="post" action="inscription.html">
<?php
- if($le_participant->valide)
+ if($participant->valide)
echo '<p><input type="hidden" name="modification_participant" value="1" /></p>';
else
echo '<p><input type="hidden" name="inscription" value="1" /></p>';
pseudo <span class="miniInfo">(login)</span>
</td>
<td>
- <input type="text" maxlength="50" name="pseudo" value="<?=$le_participant->valide ? $le_participant->info->pseudo : $_POST["pseudo"]?>" />
+ <input type="text" maxlength="50" name="pseudo" value="<?=$participant->valide ? $participant->info->pseudo : $_POST["pseudo"]?>" />
</td>
</tr>
<tr>
password <span class="miniInfo">(pour pouvoir par la suite modifier mes infos)</span>
</td>
<td>
- <input type="password" size="10" maxlength="10" name="pass1" value="<?=$le_participant->valide ? $le_participant->info->password : $_POST["pass1"]?>" />
- re: <input type="password" maxlength="10" size="10" name="pass2" value="<?=$le_participant->valide ? $le_participant->info->password : $_POST["pass2"]?>" />
+ <input type="password" size="10" maxlength="10" name="pass1" value="<?=$participant->valide ? $participant->info->password : $_POST["pass1"]?>" />
+ re: <input type="password" maxlength="10" size="10" name="pass2" value="<?=$participant->valide ? $participant->info->password : $_POST["pass2"]?>" />
</td>
</tr>
<tr>
clan name
</td>
<td>
- <input type="text" maxlength="30" size="15" name="clan_nom" value="<?=$le_participant->valide ? $le_participant->info->clan_nom : $_POST["clan_nom"]?>" />
+ <input type="text" maxlength="30" size="15" name="clan_nom" value="<?=$participant->valide ? $participant->info->clan_nom : $_POST["clan_nom"]?>" />
<select id="clanChoix" name="clanChoix" size="1">
<option value ="0" selected="selected">clans existants</option>
<?php
clan tag
</td>
<td>
- <input type="text" maxlength="10" name="clan_tag" value="<?=$le_participant->valide ? $le_participant->info->clan_tag : $_POST['clan_tag']?>" />
+ <input type="text" maxlength="10" name="clan_tag" value="<?=$participant->valide ? $participant->info->clan_tag : $_POST['clan_tag']?>" />
</td>
</tr>
<tr>
nom
</td>
<td>
- <input type="text" maxlength="30" name="nom" value="<?=$le_participant->valide ? $le_participant->info->nom : $_POST['nom']?>" />
+ <input type="text" maxlength="30" name="nom" value="<?=$participant->valide ? $participant->info->nom : $_POST['nom']?>" />
</td>
</tr>
<tr>
prénom
</td>
<td>
- <input type="text" maxlength="30" name="prenom" value="<?=$le_participant->valide ? $le_participant->info->prenom : $_POST['prenom']?>" />
+ <input type="text" maxlength="30" name="prenom" value="<?=$participant->valide ? $participant->info->prenom : $_POST['prenom']?>" />
</td>
</tr>
<tr>
age
</td>
<td>
- <input type="text" maxlength="30" name="age" value="<?=$le_participant->valide ? $le_participant->info->age : $_POST['age']?>" />
+ <input type="text" maxlength="30" name="age" value="<?=$participant->valide ? $participant->info->age : $_POST['age']?>" />
</td>
</tr>
<tr>
email <span class="miniInfo">(non-public)</span>
</td>
<td>
- <input type="text" maxlength="30" name="e_mail" value="<?=$le_participant->valide ? $le_participant->info->e_mail : $_POST['e_mail']?>" />
+ <input type="text" maxlength="30" name="e_mail" value="<?=$participant->valide ? $participant->info->e_mail : $_POST['e_mail']?>" />
</td>
</tr>
<tr>
SELECT periodes.id, periodes.nom, participations.participant_id
FROM periodes
LEFT JOIN participations ON periodes.id = participations.periode_id
- AND participations.participant_id = ".($le_participant->valide ? $le_participant->info->id : "0")."
+ AND participations.participant_id = ".($participant->valide ? $participant->info->id : "0")."
ORDER BY periodes.id
");
while($periode = mysql_fetch_object($res))
{
- echo '<p><input name="periodes[]" value="'.$periode->id.'" '.((!$le_participant->valide && (!$_POST['periodes'] || in_array($periode->id, $_POST['periodes']))) || $periode->participant_id ? 'checked="checked"' : '').' id="periode'.$periode->id.'" type="checkbox" /><label for="periode'.$periode->id.'" />'.$periode->nom.'</label></p>';
+ echo '<p><input name="periodes[]" value="'.$periode->id.'" '.((!$participant->valide && (!$_POST['periodes'] || in_array($periode->id, $_POST['periodes']))) || $periode->participant_id ? 'checked="checked"' : '').' id="periode'.$periode->id.'" type="checkbox" /><label for="periode'.$periode->id.'" />'.$periode->nom.'</label></p>';
}
?>
</td>
remarques
</td>
<td>
- <textarea cols="30" rows="5" name="remarques"><?=$le_participant->valide ? $le_participant->info->remarques : $_POST['remarques']?></textarea>
+ <textarea cols="30" rows="5" name="remarques"><?=$participant->valide ? $participant->info->remarques : $_POST['remarques']?></textarea>
</td>
</tr>
<?php
- if (!$le_participant->valide)
+ if (!$participant->valide)
echo'
<tr>
<td>
\r
include_once("php/traitement_pre_affichage.php");\r
\r
-if (!$le_participant->valide)\r
+if (!$participant->valide)\r
{\r
echo '<p><em>Remarque : </em>Il faut être inscrit pour pouvoir voter.</p>';\r
}\r
<form id="formulaireJeuxJoues" method="post" action="index.php?page=jeux_joues">\r
<p><input type="hidden" name="set_jeux_joues" value="1" /></p>\r
<table>\r
- <tr>', ($le_participant->valide ? '<th></th>' : ''), '<th>Votes</th><th>Jeux</th></tr>';\r
+ <tr>', ($participant->valide ? '<th></th>' : ''), '<th>Votes</th><th>Jeux</th></tr>';\r
\r
$jeux_query = mysql_query("\r
SELECT jeux.id, jeux.nom, jeux_choisis.participant_id, COUNT(*) + IF(participant_id is not null, 1, 0) - 1 AS nb_vote\r
while ($jeu = mysql_fetch_object($jeux_query))\r
{\r
# est-ce que le participant courant à voté pour ce jeu ?\r
- if ($le_participant->valide)\r
+ if ($participant->valide)\r
{\r
$a_vote = mysql_fetch_row(mysql_query("\r
SELECT COUNT(*) FROM jeux_choisis\r
- WHERE participant_id = ".$le_participant->info->id." AND jeu_id = ".$jeu->id\r
+ WHERE participant_id = ".$participant->info->id." AND jeu_id = ".$jeu->id\r
)); $a_vote = $a_vote[0];\r
}\r
else\r
$a_vote = FALSE;\r
\r
echo '<tr>',\r
- $le_participant->valide ? '<td><input type="checkbox" name="votes[]" '. ($a_vote ? 'checked="checked"' : '') .' value="'.$jeu->id.'" /></td>' : '',\r
+ $participant->valide ? '<td><input type="checkbox" name="votes[]" '. ($a_vote ? 'checked="checked"' : '') .' value="'.$jeu->id.'" /></td>' : '',\r
'<td>' . $jeu->nb_vote . '</td>',\r
'<td ' . ($a_vote ? 'class="aVote" ': '').'>' . traitement_pre_affichage($jeu->nom) . '</td></tr>';\r
}\r
echo '\r
</table>';\r
\r
-if ($le_participant->valide)\r
+if ($participant->valide)\r
echo '\r
<p>Autre : <input type="text" maxlength="50" name="jeu" /></p>\r
<p><input type="submit" value="Voter" /></p>';\r
echo '</form>';\r
\r
# affichage du nombre de vote restant\r
-if ($le_participant->valide)\r
- echo '<p>Nombre de votes restant : ' . $le_participant->nb_vote_restant() . '</p>';\r
+if ($participant->valide)\r
+ echo '<p>Nombre de votes restant : ' . $participant->nb_vote_restant() . '</p>';\r
\r
?>
\ No newline at end of file
--- /dev/null
+<?php # coding:utf-8\r
+// Gestion de commande de pizza\r
+// Auteur: KiKi\r
+\r
+function selection_pizzas()\r
+{\r
+ global $config;\r
+ global $participant;\r
+ $requ = mysql_query("select * from pizzas order by nom");\r
+ echo '<h1>commande de pizza</h1>';\r
+ \r
+ if ($config->get('pizza_peut_commander'))\r
+ {\r
+ if ($participant->info->pizza != null)\r
+ echo '<br>Vous avez deja commandé une pizza ! mais vous pouvez encore changez votre choix:';\r
+ \r
+ echo '<form name="commande" method="post" action="index.php?page=pizzas">';\r
+ echo '<table width ="100%" border="0" cellpadding="1" cellspacing="3">';\r
+ echo '<tr><td class="pizzaHeader"></td><td class="pizzaHeader">Nom</td><td class="pizzaHeader">Composition</td><td class="pizzaHeader">Prix</td></tr>';\r
+ echo '<tr><td><input type="radio" name="piz_choisie" value="-1" ', ($participant->info->pizza==null?'checked':''), '></td><td class="texte">', ($participant->info->pizza==null?'<b>':''), 'Aucune', ($participant->info->pizza==null?'</b>':''), '</td><td></td><td></td></tr>';\r
+ while($pizza = mysql_fetch_object($requ))\r
+ echo '<tr><td width="1" ',($participant->info->pizza==$pizza->id?'class="pizzaChoisie"':''),'><input type="radio" id="pizza_', $pizza->id ,'" name="piz_choisie" value="', $pizza->id, '"',($participant->info->pizza==$pizza->id?'checked':''), '></td><td class="',($participant->info->pizza==$pizza->id?'pizzaChoisie ':''),'texte"><label for="pizza_', $pizza->id ,'">', $pizza->nom, '</label></td><td class="',($participant->info->pizza==$pizza->id?'pizzaChoisie ':''),'texte"><label for="pizza_', $pizza->id ,'">', $pizza->composition, '</label></td><td class="',($participant->info->pizza==$pizza->id?'pizzaChoisie ':''),'texte"><label for="pizza_', $pizza->id ,'">', $pizza->prix, '.-</label></td></tr>';\r
+ echo '</table><br><input type="submit" value="Commander"></form>';\r
+ }\r
+ else\r
+ if ($participant->info->pizza != null)\r
+ echo '<br><br>votre pizza ', pizza($participant->info->pizza), ' va bientot arriver';\r
+ else\r
+ echo "<br><br>la commande de pizza est terminée, veuillez attendre la prochaine vague<br><br>";\r
+}\r
+\r
+// Affiche les statistique sur les pizza\r
+function stats()\r
+{\r
+ $requ_pizza = mysql_query("select * from pizzas order by nom");\r
+ $requ_participant = mysql_query("select * from participants");\r
+ $nb = array();\r
+ $nb_tot = 0;\r
+ $total = 0;\r
+ $nb_pizza = mysql_fetch_row(mysql_query("select count(*) from pizzas"));\r
+ \r
+ // Initialise le tableau de comptage\r
+ for ($i=0; $i < ($nb_pizza[0] + 3); $i++) // on fait un '+3' parce que on ne sais jamais trop ce qui pourrait se passer ;-))\r
+ $nb[$i] = 0;\r
+ \r
+ // Rempli le tableau de nombre de pizzas\r
+ while ($participant = mysql_fetch_object($requ_participant))\r
+ if ($participant->pizza != null)\r
+ $nb[$participant->pizza]++;\r
+ \r
+ echo '<h1>total des commandes</h1>'; \r
+ echo '<table width="100%" border="0" cellpadding="1" cellspacing="3">';\r
+ echo '<tr><td class="pizzaHeader">Nom</td><td class="pizzaHeader">Nombre</td><td class="pizzaHeader">Prix unitaire</td><td class="pizzaHeader">Prix total</td></tr>'; \r
+ \r
+ while($pizza = mysql_fetch_object($requ_pizza))\r
+ {\r
+ if ($nb[$pizza->id] == 0)\r
+ continue; \r
+\r
+ echo '<tr><td class="texte">' . $pizza->nom . '</td><td class="texte">' . $nb[$pizza->id] . '</td><td class="texte">' . $pizza->prix . '.-</td><td class="texte">' . $nb[$pizza->id] * $pizza->prix . '.-</td></tr>';\r
+ $total += $nb[$pizza->id] * $pizza->prix;\r
+ $nb_tot += $nb[$pizza->id];\r
+ }\r
+ echo '<tr><td class="pizzaHeader">TOTAL</td><td class="texte pizzaHeader"><b>', $nb_tot, '</b></td><td class="pizzaHeader"></td><td class="texte pizzaHeader"><b>', $total, '.-</b></td></tr></table>'; \r
+}\r
+\r
+// Retourne le nom de la pizza en fonction de son ID\r
+function pizza ($id)\r
+{\r
+ $requ = mysql_query("select * from pizzas where id = " . $id);\r
+ if ($pizza = mysql_fetch_object($requ))\r
+ return $pizza->nom;\r
+ else\r
+ return 'Pizza inexistante !';\r
+}\r
+\r
+\r
+// Affiche qui prends koi\r
+function kiakoi()\r
+{\r
+ global $participant;\r
+ $requ = mysql_query("select * from participants order by nom");\r
+ \r
+ \r
+ echo '<h1>qui prend quoi</h1>';\r
+ echo '<table width="100%" border="0" cellpadding="1" cellspacing="3">';\r
+ echo '<tr><td class="pizzaHeader">Pseudo</td><td class="pizzaHeader">Nom</td><td class="pizzaHeader">Prix</td><td class="pizzaHeader">Paiement</td></tr>';\r
+ \r
+ while ($participant = mysql_fetch_object($requ))\r
+ {\r
+ if ($participant->pizza != null)\r
+ {\r
+ $pizza = mysql_fetch_object(mysql_query("select * from pizzas where id = " . $participant->pizza));\r
+ echo '<tr><td class="texte">', $participant->pseudo ,'</td><td class="texte">', $pizza->nom, '</td><td class="texte">', $pizza->prix, '.-</td><td class="texte">', ($participant->info->admin?'<a href="?page=pizzas&stats=1&paye=' . $participant->id . '">':''), ($participant->pizza_paye?'payé':'non payé !'), ($participant->info->admin?'</a>':'') ,'</td></tr>';\r
+ }\r
+ else\r
+ echo '<tr><td class="texte">', $participant->pseudo ,'</td><td class="texte">-</td><td class="texte">-</td><td class="texte">', '-</td></tr>';\r
+ }\r
+ echo '</table>'; \r
+ \r
+}\r
+\r
+function liens()\r
+{\r
+ global $participant;\r
+ \r
+ $res = '';\r
+ if (!isset($_GET['stats']))\r
+ $res .= '<br><a href="/pizzas.html&stats=1">voir les stats globaux</a>';\r
+ \r
+ // if ($participant->info->admin && !isset($kiakoi))\r
+ // $res .= '<br><a href="?page=pizzas&kiakoi=1">qui prend quoi</a>';\r
+ \r
+ if ($participant->info->admin)\r
+ $res .= '<br><br><a href="?page=pizzas' . (isset($_GET['stats'])?'&stats=1':'') . (isset($_GET['kiakoi'])?'&kiakoi=1':'') . '&reset=1">remise a zero de toutes les commandes</a>';\r
+ \r
+ return $res;\r
+}\r
+\r
+\r
+////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\r
+\r
+\r
+echo '<div id="pizzas">';\r
+if ($participant->valide) // le participant est loggé\r
+{\r
+ // Si demande d'effacer les commande et que le gars est admin, le fait\r
+ if(isset($_GET['reset']) && $participant->info->admin)\r
+ {\r
+ mysql_query("update participants set pizza = null, pizza_paye = 0");\r
+ $participant->info->pizza = -1; //mettre a jour le participants courant pour la beaute de l'affichage\r
+ }\r
+ \r
+ if(isset($_GET['paye']) && $participant->info->admin)\r
+ { \r
+ /////// methode d'inversion\r
+ // $gars = mysql_fetch_object(mysql_query("select * from participants where id = " . $paye));\r
+ // mysql_query("update participants set pizza_paye = " . (1 - $gars->pizza_paye) . " where id = " . $paye);\r
+ ///////\r
+ \r
+ /////// methode d'un unique changement : non-paye -> paye\r
+ mysql_query("update participants set pizza_paye = 1 where id = " . $_GET['paye']);\r
+ ///////\r
+ }\r
+ \r
+ \r
+ if (!isset($_GET['stats']) && !isset($_GET['kiakoi']))\r
+ {\r
+ if (isset($_POST['piz_choisie'])) // la pizza a ete choisie\r
+ {\r
+ if ($piz_choisie != -1) // La pizza est validei\r
+ {\r
+ echo 'une '. pizza($_POST['piz_choisie']) . ' commandée !<br>';\r
+ $pizza_id = $_POST['piz_choisie'];\r
+ }\r
+ else\r
+ {\r
+ echo 'Aucune pizza commandée !'; // la pizza est '-1' donc pas de pizza commandée \r
+ $pizza_id = "NULL";\r
+ }\r
+ mysql_query("update participants set pizza = " . $pizza_id . " where id = " . $participant->info->id);\r
+ }\r
+ else\r
+ selection_pizzas();\r
+ }\r
+ \r
+ if (isset($_GET['stats']))\r
+ { \r
+ kiakoi();\r
+ echo '<br>';\r
+ stats();\r
+ }\r
+\r
+ echo liens();\r
+}\r
+else // le participant n'est pas loggé\r
+{\r
+ echo '<span class ="texte">Vous devez vous loggé pour commander une pizza</span>';\r
+}\r
+echo '</div>';\r
+?>\r
--- /dev/null
+<?php # coding:utf-8
+\r
+include_once("traitement_pre_affichage.php");\r
+\r
+/**\r
+ * Représente le panel latéral contenant la liste des inscrits,\r
+ * la boite de login et d'autres informations.\r
+ */\r
+class Panel\r
+{\r
+ private $participant;\r
+\r
+ function Panel($participant)\r
+ {\r
+ $this->participant;\r
+ }\r
+\r
+ function rendre()\r
+ {
+ # selection de tous les participants
+ $res_SQL = mysql_query("SELECT pseudo FROM participants ORDER BY id");
+
+ echo '<div id="nbParticipants"><em>', mysql_num_rows($res_SQL), '</em> inscrit', (mysql_num_rows($res_SQL) > 1 ? 's' : ''), '</div>';
+
+ # affichage des participants
+ if (mysql_num_rows($res_SQL) > 0)
+ echo '<ul id="participants">';
+ for ($i=0; $i<mysql_num_rows($res_SQL); $i++)
+ {
+ mysql_data_seek($res_SQL, $i);
+ $le_participant_pseudo = mysql_fetch_object($res_SQL);
+ echo '<li>', traitement_pre_affichage($le_participant_pseudo->pseudo, 8), '</li>';
+ }
+ if (mysql_num_rows($res_SQL) > 0)
+ echo '</ul>';
+
+ if($this->participant->valide)
+ {
+ echo'
+ <form method="post" action="index.php?';
+
+ foreach($HTTP_GET_VARS as $nom => $valeur)
+ echo $nom,'=',$valeur,'&';
+
+ echo'">
+ <p><input type="hidden" name="effacer_cookie" value="1" /></p>
+ <p><input type="submit" value="logout" /></p>
+ </form>';
+ }
+ else
+ {
+ if (isset($log)) echo '<em>[erreur de loggation]</em>';
+
+ echo'
+ <form method="post" action="index.php?';
+
+ foreach($HTTP_GET_VARS as $nom => $valeur)
+ echo $nom,'=',$valeur,'&';
+
+ echo'">
+ <p>login / pass</p>
+ <p><input type="hidden" name="log" value="1" /></p>
+ <p><input type="text" name="pseudo" size="10" maxlength="30" /></p>
+ <p><input type="password" name="password" size="10" maxlength="10" /></p>
+ <p><input type="submit" value="oki" class="submitInvisible" /></p>
+ </form>
+ ';
+ }\r
+ }\r
+}
+?>
--- /dev/null
+<?php # coding: utf-8
+
+/**
+ * Représente un participant.
+ */
+class Participant
+{
+ public $info; # Toute les infos du membre sous la forme d'un objet.
+ public $valide; # Savoir si le participant existe.
+
+ static private $NB_VOTES_PAR_PARTICIPANT = 3; # Concerne les votes des jeux joueés.
+
+ /**
+ * Constructeur, peut être appelé sous trois formes différentes :
+ * 1) $v1 = NULL, $v2 = NULL : participant non-valide
+ * 2) $v1 = id, $v2 = NULL : la participant existe et est chargé à partir de son id
+ * 3) $v1 = pseudo, $v2 = password : le participant existe et est chargé à partir de son pseudo et de son password
+ */
+ function Participant($v1=NULL, $v2=NULL)
+ {
+ # Aucunes valeurs transmise => ce n'est pas un participant valide.
+ if ($v1 == NULL && $v2 == NULL)
+ {
+ $this->valide = 0;
+ return;
+ }
+
+ if (is_string($v1) && is_string($v2)) # Aucun des arguments n'est vide alors c'est le pseudo et le password qui ont été transmis
+ $res = mysql_query("SELECT * FROM participants WHERE pseudo = '" . addslashes($v1) . "' AND password = '" . addslashes($v2) . "'");
+ else # Sinon c'est l'id
+ $res = mysql_query("SELECT * FROM participants WHERE id = " . addslashes($v1));
+
+ if (mysql_error() || mysql_num_rows($res) == 0)
+ {
+ $this->valide = FALSE;
+ }
+ else
+ {
+ $this->info = mysql_fetch_object($res);
+ $this->valide = TRUE;
+ }
+ }
+
+ /**
+ * Renvoie le nombre de votes restant pour le participant.
+ */
+ function nb_vote_restant()
+ {
+ $nombre_de_vote = mysql_fetch_array(mysql_query("
+ SELECT COUNT(*) FROM participants RIGHT JOIN jeux_choisis ON participants.id = jeux_choisis.participant_id
+ WHERE participants.id = " . $this->info->id . "
+ GROUP BY participants.id
+ "));
+
+ return Participant::$NB_VOTES_PAR_PARTICIPANT - $nombre_de_vote[0];
+ }
+
+ /**
+ * Renvois TRUE si le nombre de participant max est atteint.
+ */
+ static function nombre_participant_max_atteint()
+ {
+ global $config;
+ $res_SQL = mysql_query("SELECT COUNT(*) FROM participants");
+ $nb_participant = mysql_fetch_row($res_SQL);
+
+ return $nb_participant[0] >= $config->get('nb_max_participant');
+ }
+
+ /**
+ * Renvois le nombre de places restantes.
+ */
+ static function nombre_place_restante()
+ {
+ global $config;
+ $res_SQL = mysql_query("SELECT COUNT(*) FROM participants");
+ $nb_participant = mysql_fetch_row($res_SQL);
+
+ return $config->get('nb_max_participant') - $nb_participant[0];
+ }
+}
+
+?>
\ No newline at end of file
+++ /dev/null
-<?php # coding:utf-8\r
-// Gestion de commande de pizza\r
-// Auteur: KiKi\r
-\r
-function selection_pizzas()\r
-{\r
- global $config;\r
- global $le_participant;\r
- $requ = mysql_query("select * from pizzas order by nom");\r
- echo '<h1>commande de pizza</h1>';\r
- \r
- if ($config->get('pizza_peut_commander'))\r
- {\r
- if ($le_participant->info->pizza != null)\r
- echo '<br>Vous avez deja commandé une pizza ! mais vous pouvez encore changez votre choix:';\r
- \r
- echo '<form name="commande" method="post" action="index.php?page=pizzas">';\r
- echo '<table width ="100%" border="0" cellpadding="1" cellspacing="3">';\r
- echo '<tr><td class="pizzaHeader"></td><td class="pizzaHeader">Nom</td><td class="pizzaHeader">Composition</td><td class="pizzaHeader">Prix</td></tr>';\r
- echo '<tr><td><input type="radio" name="piz_choisie" value="-1" ', ($le_participant->info->pizza==null?'checked':''), '></td><td class="texte">', ($le_participant->info->pizza==null?'<b>':''), 'Aucune', ($le_participant->info->pizza==null?'</b>':''), '</td><td></td><td></td></tr>';\r
- while($pizza = mysql_fetch_object($requ))\r
- echo '<tr><td width="1" ',($le_participant->info->pizza==$pizza->id?'class="pizzaChoisie"':''),'><input type="radio" id="pizza_', $pizza->id ,'" name="piz_choisie" value="', $pizza->id, '"',($le_participant->info->pizza==$pizza->id?'checked':''), '></td><td class="',($le_participant->info->pizza==$pizza->id?'pizzaChoisie ':''),'texte"><label for="pizza_', $pizza->id ,'">', $pizza->nom, '</label></td><td class="',($le_participant->info->pizza==$pizza->id?'pizzaChoisie ':''),'texte"><label for="pizza_', $pizza->id ,'">', $pizza->composition, '</label></td><td class="',($le_participant->info->pizza==$pizza->id?'pizzaChoisie ':''),'texte"><label for="pizza_', $pizza->id ,'">', $pizza->prix, '.-</label></td></tr>';\r
- echo '</table><br><input type="submit" value="Commander"></form>';\r
- }\r
- else\r
- if ($le_participant->info->pizza != null)\r
- echo '<br><br>votre pizza ', pizza($le_participant->info->pizza), ' va bientot arriver';\r
- else\r
- echo "<br><br>la commande de pizza est terminée, veuillez attendre la prochaine vague<br><br>";\r
-}\r
-\r
-// Affiche les statistique sur les pizza\r
-function stats()\r
-{\r
- $requ_pizza = mysql_query("select * from pizzas order by nom");\r
- $requ_participant = mysql_query("select * from participants");\r
- $nb = array();\r
- $nb_tot = 0;\r
- $total = 0;\r
- $nb_pizza = mysql_fetch_row(mysql_query("select count(*) from pizzas"));\r
- \r
- // Initialise le tableau de comptage\r
- for ($i=0; $i < ($nb_pizza[0] + 3); $i++) // on fait un '+3' parce que on ne sais jamais trop ce qui pourrait se passer ;-))\r
- $nb[$i] = 0;\r
- \r
- // Rempli le tableau de nombre de pizzas\r
- while ($participant = mysql_fetch_object($requ_participant))\r
- if ($participant->pizza != null)\r
- $nb[$participant->pizza]++;\r
- \r
- echo '<h1>total des commandes</h1>'; \r
- echo '<table width="100%" border="0" cellpadding="1" cellspacing="3">';\r
- echo '<tr><td class="pizzaHeader">Nom</td><td class="pizzaHeader">Nombre</td><td class="pizzaHeader">Prix unitaire</td><td class="pizzaHeader">Prix total</td></tr>'; \r
- \r
- while($pizza = mysql_fetch_object($requ_pizza))\r
- {\r
- if ($nb[$pizza->id] == 0)\r
- continue; \r
-\r
- echo '<tr><td class="texte">' . $pizza->nom . '</td><td class="texte">' . $nb[$pizza->id] . '</td><td class="texte">' . $pizza->prix . '.-</td><td class="texte">' . $nb[$pizza->id] * $pizza->prix . '.-</td></tr>';\r
- $total += $nb[$pizza->id] * $pizza->prix;\r
- $nb_tot += $nb[$pizza->id];\r
- }\r
- echo '<tr><td class="pizzaHeader">TOTAL</td><td class="texte pizzaHeader"><b>', $nb_tot, '</b></td><td class="pizzaHeader"></td><td class="texte pizzaHeader"><b>', $total, '.-</b></td></tr></table>'; \r
-}\r
-\r
-// Retourne le nom de la pizza en fonction de son ID\r
-function pizza ($id)\r
-{\r
- $requ = mysql_query("select * from pizzas where id = " . $id);\r
- if ($pizza = mysql_fetch_object($requ))\r
- return $pizza->nom;\r
- else\r
- return 'Pizza inexistante !';\r
-}\r
-\r
-\r
-// Affiche qui prends koi\r
-function kiakoi()\r
-{\r
- global $le_participant;\r
- $requ = mysql_query("select * from participants order by nom");\r
- \r
- \r
- echo '<h1>qui prend quoi</h1>';\r
- echo '<table width="100%" border="0" cellpadding="1" cellspacing="3">';\r
- echo '<tr><td class="pizzaHeader">Pseudo</td><td class="pizzaHeader">Nom</td><td class="pizzaHeader">Prix</td><td class="pizzaHeader">Paiement</td></tr>';\r
- \r
- while ($participant = mysql_fetch_object($requ))\r
- {\r
- if ($participant->pizza != null)\r
- {\r
- $pizza = mysql_fetch_object(mysql_query("select * from pizzas where id = " . $participant->pizza));\r
- echo '<tr><td class="texte">', $participant->pseudo ,'</td><td class="texte">', $pizza->nom, '</td><td class="texte">', $pizza->prix, '.-</td><td class="texte">', ($le_participant->info->admin?'<a href="?page=pizzas&stats=1&paye=' . $participant->id . '">':''), ($participant->pizza_paye?'payé':'non payé !'), ($le_participant->info->admin?'</a>':'') ,'</td></tr>';\r
- }\r
- else\r
- echo '<tr><td class="texte">', $participant->pseudo ,'</td><td class="texte">-</td><td class="texte">-</td><td class="texte">', '-</td></tr>';\r
- }\r
- echo '</table>'; \r
- \r
-}\r
-\r
-function liens()\r
-{\r
- global $le_participant;\r
- \r
- $res = '';\r
- if (!isset($_GET['stats']))\r
- $res .= '<br><a href="/pizzas.html&stats=1">voir les stats globaux</a>';\r
- \r
- // if ($le_participant->info->admin && !isset($kiakoi))\r
- // $res .= '<br><a href="?page=pizzas&kiakoi=1">qui prend quoi</a>';\r
- \r
- if ($le_participant->info->admin)\r
- $res .= '<br><br><a href="?page=pizzas' . (isset($_GET['stats'])?'&stats=1':'') . (isset($_GET['kiakoi'])?'&kiakoi=1':'') . '&reset=1">remise a zero de toutes les commandes</a>';\r
- \r
- return $res;\r
-}\r
-\r
-\r
-////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////\r
-\r
-\r
-echo '<div id="pizzas">';\r
-if ($le_participant->valide) // le participant est loggé\r
-{\r
- // Si demande d'effacer les commande et que le gars est admin, le fait\r
- if(isset($_GET['reset']) && $le_participant->info->admin)\r
- {\r
- mysql_query("update participants set pizza = null, pizza_paye = 0");\r
- $le_participant->info->pizza = -1; //mettre a jour le participants courant pour la beaute de l'affichage\r
- }\r
- \r
- if(isset($_GET['paye']) && $le_participant->info->admin)\r
- { \r
- /////// methode d'inversion\r
- // $gars = mysql_fetch_object(mysql_query("select * from participants where id = " . $paye));\r
- // mysql_query("update participants set pizza_paye = " . (1 - $gars->pizza_paye) . " where id = " . $paye);\r
- ///////\r
- \r
- /////// methode d'un unique changement : non-paye -> paye\r
- mysql_query("update participants set pizza_paye = 1 where id = " . $_GET['paye']);\r
- ///////\r
- }\r
- \r
- \r
- if (!isset($_GET['stats']) && !isset($_GET['kiakoi']))\r
- {\r
- if (isset($_POST['piz_choisie'])) // la pizza a ete choisie\r
- {\r
- if ($piz_choisie != -1) // La pizza est validei\r
- {\r
- echo 'une '. pizza($_POST['piz_choisie']) . ' commandée !<br>';\r
- $pizza_id = $_POST['piz_choisie'];\r
- }\r
- else\r
- {\r
- echo 'Aucune pizza commandée !'; // la pizza est '-1' donc pas de pizza commandée \r
- $pizza_id = "NULL";\r
- }\r
- mysql_query("update participants set pizza = " . $pizza_id . " where id = " . $le_participant->info->id);\r
- }\r
- else\r
- selection_pizzas();\r
- }\r
- \r
- if (isset($_GET['stats']))\r
- { \r
- kiakoi();\r
- echo '<br>';\r
- stats();\r
- }\r
-\r
- echo liens();\r
-}\r
-else // le participant n'est pas loggé\r
-{\r
- echo '<span class ="texte">Vous devez vous loggé pour commander une pizza</span>';\r
-}\r
-echo '</div>';\r
-?>\r