\r
include_once("php/traitement_pre_affichage.php");\r
\r
-if (!$participant->valide)\r
+if (!$participant->existe())\r
{\r
echo '<p><em>Remarque : </em>Il faut être inscrit pour pouvoir voter.</p>';\r
+}
+else if ($config->get("inscription_terminees"))
+{
+ echo '<p><em>Remarque : </em>Les inscriptions sont terminées, il n\'est plus possible de voter.</p>';
}\r
-\r
+
+$vote_possible = !$config->get("inscription_terminees") && $participant->existe();
\r
echo '\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>', ($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
- FROM jeux LEFT JOIN jeux_choisis ON jeux.id = jeux_choisis.jeu_id\r
- GROUP BY jeux.id\r
- ORDER BY nb_vote DESC, nom \r
+ <tr>', ($vote_possible ? '<th></th>' : ''), '<th>Votes</th><th>Nom</th><th>Type</th><th></th></tr>';\r
+
+# /!\ Attention, requête un poil tricky :
+# On souhait avoir une liste des jeux joués avec pour chaque tuple :
+# - l'id du jeu et son nom
+# - Un tableau des participants ayant voté pour ce jeu
+# De plus il faut que le résultat soit trié par le nombre de vote\r
+$jeux_query = pg_query("\r
+ SELECT
+ jeux.id,
+ jeux.nom,
+ jeux.type,
+ jeux.url,
+ array_agg(jeux_choisis.participant_id) AS participants,
+ (COUNT(*) + (CASE WHEN bool_and(jeux_choisis.participant_id is null) THEN -1 ELSE 0 END)) as nb_vote
+ FROM
+ jeux
+ LEFT JOIN jeux_choisis ON jeux.id = jeux_choisis.jeu_id
+ GROUP BY jeux.id, jeux.nom, jeux.type, jeux.url
+ ORDER BY nb_vote DESC, jeux.nom\r
");\r
\r
-while ($jeu = mysql_fetch_object($jeux_query))\r
-{\r
+while ($jeu = pg_fetch_object($jeux_query))\r
+{
+ $a_vote = FALSE;
+ \r
# est-ce que le participant courant à voté pour ce jeu ?\r
- if ($participant->valide)\r
- {\r
- $a_vote = mysql_fetch_row(mysql_query("\r
- SELECT COUNT(*) FROM jeux_choisis\r
- WHERE participant_id = ".$participant->info->id." AND jeu_id = ".$jeu->id\r
- )); $a_vote = $a_vote[0];\r
+ if ($vote_possible)\r
+ {
+ $participants = split(",", ereg_replace("[{-}]", "", $jeu->participants));
+ for($i = 0; $i < count($participants); $i++)
+ $participants[$i] = (int)$participants[$i];
+
+ $a_vote = in_array($participant->info->id, $participants);\r
}\r
- else\r
- $a_vote = FALSE;\r
+
+ $a_url = preg_match('/^https?:\/\/.+$/', $jeu->url);
\r
echo '<tr>',\r
- $participant->valide ? '<td><input type="checkbox" name="votes[]" '. ($a_vote ? 'checked="checked"' : '') .' value="'.$jeu->id.'" /></td>' : '',\r
+ $vote_possible ? '<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
+ '<td ' . ($a_vote ? 'class="aVote" ': '').'>' . ($a_url ? '<a href="'. htmlentities($jeu->url) .'">' : '') . traitement_pre_affichage($jeu->nom) . ($a_url ? '</a>' : '') . '</td>',
+ '<td ' . ($a_vote ? 'class="aVote" ': '').'>' . traitement_pre_affichage($jeu->type) . '</td>',
+ '<td>x</td></tr>';\r
}\r
\r
echo '\r
</table>';\r
\r
-if ($participant->valide)\r
+if ($vote_possible)\r
echo '\r
- <p>Autre : <input type="text" maxlength="50" name="jeu" /></p>\r
+ <p>Ajouter :
+ <input class="info" type="text" size="20" maxlength="50" name="jeu" value="<nom>" >
+ <input class="info" type="text" size="10" maxlength="100" name="type" value="<type>" />
+ <input class="info" type="text" size="20" maxlength="200" name="url" value="<URL>" />
+ </p>\r
<p><input type="submit" value="Voter" /></p>';\r
\r
echo '</form>';\r
\r
# affichage du nombre de vote restant\r
-if ($participant->valide)\r
+if ($vote_possible)\r
echo '<p>Nombre de votes restant : ' . $participant->nb_vote_restant() . '</p>';\r
\r
?>
\ No newline at end of file