no more pure admin pages ...
authorx2000habouzit <x2000habouzit>
Mon, 19 Jul 2004 11:12:50 +0000 (11:12 +0000)
committerx2000habouzit <x2000habouzit>
Mon, 19 Jul 2004 11:12:50 +0000 (11:12 +0000)
2 marketing page left
4 docs left
1 mail routing
2 submitting pages
8 misc pages

+ lists stuff

etat_migration
htdocs/admin/evenements.php [new file with mode: 0644]
templates/admin/evenements.tpl [new file with mode: 0644]

index 7e19069..408fff4 100644 (file)
@@ -15,8 +15,6 @@
 
 ------+-------------------------------------------+----------------
 Etat  | Ancien nom                                                               | Nouveau nom
-------+-[ admin ]---------------------------------+----------------
-;        | admin/evenements.php                                          | 
 ------+-[ marketing ]-----------------------------+----------------
 ;        | admin/utilisateurs_identification.php         | marketing/
 ;        | admin/utilisateurs_marketing.php              | marketing/
@@ -95,6 +93,7 @@ xx      | admin/admin_trombino.php                              |
 xx       | admin/ax-xorg.php                                             | -
 xx       | admin/deces_promo.php                                         | -
 xx       | admin/envoidirect.php                                         | marketing/envoidirect.php
+xx       | admin/evenements.php                                          | 
 xx       | admin/FormatePrenomNOM2.php                           | scripts/
 xx       | admin/FormatePrenomNOM.php                            | scripts/
 xx       | admin/gerer_applis.php                                        | -
diff --git a/htdocs/admin/evenements.php b/htdocs/admin/evenements.php
new file mode 100644 (file)
index 0000000..fccb390
--- /dev/null
@@ -0,0 +1,110 @@
+<?php
+require("auto.prepend.inc.php");
+new_admin_page('admin/evenements.tpl', true);
+
+$arch = isset($_REQUEST['arch']) ? $_REQUEST['arch'] : 0;
+
+$page->assign('arch', $arch);
+
+$action = isset($_POST['action']) ? $_POST['action'] : "";
+
+$err = Array();
+
+switch($action) {
+    case "Proposer":
+       $req = "UPDATE  evenements
+                  SET  titre='{$_POST['titre']}', texte='{$_POST['texte']}', peremption='{$_POST['peremption']}',
+                       promo_min = {$_POST['promo_min']}, promo_max = {$_POST['promo_max']}
+                 WHERE  id = {$_POST['evt_id']}
+                 LIMIT  1";
+        $result = $globals->db->query ($req);
+        $err[] = "Requete effectuée : $req";
+        break;
+
+    case "Valider":
+       // le 'creation_date = creation_date' est indispensable pour que 
+       // creation_date conserve sa valeur.
+       $req="UPDATE  evenements
+                 SET  creation_date = creation_date, validation_user_id ='{$_SESSION['uid']}',
+                      validation_date = NULL, flags = CONCAT(flags,',valide')
+               WHERE  id ='{$_POST['evt_id']}'
+               LIMIT  1";
+        $result = $globals->db->query ($req);
+        $err[] = "Requete effectuée : $req";
+        break;
+
+    case "Invalider":
+       // le 'creation_date = creation_date' est indispensable pour que 
+       // creation_date conserve sa valeur.
+       $req="UPDATE  evenements
+                 SET  creation_date = creation_date, validation_user_id = ".$_SESSION['uid'].",
+                      validation_date = NULL, flags = REPLACE(flags, 'valide','')
+               WHERE  id = ".$_POST['evt_id']."
+               LIMIT  1";
+        $result = $globals->db->query ($req);
+        $err[] = "Requete effectuée : $req";
+        break;
+
+    case "Supprimer":
+       $req="DELETE from evenements WHERE id = ".$_POST['evt_id']." LIMIT 1";
+        $result = $globals->db->query ($req);
+        $err[] = "Requete effectuée : $req";
+        break;
+
+    case "Archiver":
+       $req="UPDATE evenements SET flags = CONCAT(flags,',archive')WHERE id = ".$_POST['evt_id']." LIMIT 1";
+        $result = $globals->db->query ($req);
+        $err[] = "Requete effectuée : $req";
+        break;
+
+    case "Desarchiver":
+       $req="UPDATE evenements SET flags = REPLACE(flags,'archive','')WHERE id = ".$_POST['evt_id']." LIMIT 1";
+        $result = $globals->db->query ($req);
+        $err[] = "Requete effectuée : $req";
+        break;
+
+    case "Editer":
+       $evt_req = $globals->db->query("SELECT titre, texte, peremption, promo_min, promo_max, validation_message FROM evenements WHERE id=".$_POST["evt_id"]);
+        list($titre, $texte, $peremption, $promo_min, $promo_max, $validation_message) = mysql_fetch_row($evt_req) ;
+        $page->assign('mode', 'edit');
+        $page->assign('titre',$titre);
+        $page->assign('texte',$texte);
+        $page->assign('promo_min',$promo_min);
+        $page->assign('promo_max',$promo_max);
+        $page->assign('validation_message',$validation_message);
+        $page->assign('peremption',$peremption);
+
+        $select = "";
+        for ($i = 1 ; $i < 30 ; $i++) {
+            $p_stamp=date("Ymd",time()+3600*24*$i);
+            $year=substr($p_stamp,0,4);
+            $month=substr($p_stamp,4,2);
+            $day=substr($p_stamp,6,2);
+
+            $select .= "<option value=\"$p_stamp\"" . (($p_stamp == strtr($peremption, array("-" => ""))) ? " selected" : "")."> $day / $month / $year</option>\n";
+        }
+        $page->assign('select',$select);
+
+        break;
+}
+
+if ($action != "Editer") {
+
+    $sql = "SELECT  e.id, e.titre, e.texte,
+                    DATE_FORMAT(e.creation_date,'%d/%m/%Y %T') AS creation_date,
+                    DATE_FORMAT(e.validation_date,'%d/%m/%Y %T') AS validation_date,
+                    DATE_FORMAT(e.peremption,'%d/%m/%Y') AS peremption,
+                    e.promo_min, e.promo_max, e.validation_message, e.validation_user_id,
+                    FIND_IN_SET('valide', e.flags) AS fvalide,
+                    FIND_IN_SET('archive', e.flags) AS farch,
+                    a.promo, a.nom, a.prenom, a.username
+              FROM  evenements    AS e
+        INNER JOIN  auth_user_md5 AS a ON(e.user_id = a.user_id)
+             WHERE  ".($arch ? "" : "!")."FIND_IN_SET('archive',e.flags)
+          ORDER BY  FIND_IN_SET('valide',e.flags), peremption";
+    $page->mysql_assign($sql, 'evs');
+}
+
+$page->assign('err', $err);
+$page->run();
+?>
diff --git a/templates/admin/evenements.tpl b/templates/admin/evenements.tpl
new file mode 100644 (file)
index 0000000..fa6ae3c
--- /dev/null
@@ -0,0 +1,144 @@
+{* $Id: evenements.tpl,v 1.1 2004-07-19 11:12:50 x2000habouzit Exp $ *}
+
+{dynamic}
+
+<div class="rubrique">
+  Gestion des événements :
+  {if $arch}
+  [&nbsp;<a href="{$smarty.server.PHP_SELF}?arch=0">Actualités</a>&nbsp;|&nbsp;Archives&nbsp;]
+  {else}
+  [&nbsp;Actualités&nbsp;|&nbsp;<a href="{$smarty.server.PHP_SELF}?arch=1">Archives</a>&nbsp;]
+  {/if}
+</div>
+
+{foreach from=$err item=e}
+<p class="erreur">{$e|nl2br}</p>
+{/foreach}
+
+{if $mode}
+
+<form action="{$smarty.server.PHP_SELF}" method="post" name="evenement_nouveau">
+  <input type="hidden" name="evt_id" value="{$smarty.post.evt_id}" />
+  <table class="bicol">
+    <tr>
+      <th colspan="2">Contenu du message</th>
+    </tr>
+    <tr>
+      <td><strong>Titre</strong></td>
+      <td>
+        <input type="text" name="titre" size="50" maxlength="200" value="{$titre}" />
+      </td>
+    </tr>
+    <tr>
+      <td><strong>Texte</strong></td>
+      <td><textarea name="texte" rows="10" cols="60">{$texte}</textarea></td>
+    </tr>
+  </table>
+
+  <br />
+
+  <table class="bicol">
+    <tr>
+      <th colspan="2">Informations complémentaires</th>
+    </tr>
+    <tr>
+      <td>
+        <strong>Promo min *</strong> (incluse)
+      </td>
+      <td>
+        <input type="text" name="promo_min" size="4" maxlength="4" value="{$promo_min}" />
+        &nbsp;<em>0 signifie pas de minimum</em>
+      </td>
+    </tr>
+    <tr>
+      <td>
+        <strong>Promo max *</strong> (incluse)
+      </td>
+      <td>
+        <input type="text" name="promo_max" size="4" maxlength="4" value="{$promo_max}" />
+        &nbsp;<em>0 signifie pas de maximum</em>
+      </td>
+    </tr>
+    <tr>
+      <td colspan="2">
+        * sert à limiter l'affichage de l'annonce aux camarades appartenant à certaines promos seulement.
+      </td>
+    </tr>
+    <tr>
+      <td>
+        <strong>Dernier jour d'affichage</strong>
+      </td>
+      <td>
+        <select name="peremption">
+          {$select}
+        </select>
+      </td>
+    </tr>
+    <tr>
+      <td><strong>Message pour le validateur</strong></td>
+      <td><textarea name="validation_message" cols="50" rows="7">{$validation_message}</textarea></td>
+    </tr>
+  </table>
+
+  <br />
+
+  <div class="center">
+    <input type="submit" name="action" value="Proposer" />
+  </div>
+
+</form>
+
+
+{else}
+
+{foreach from=$evs item=ev}
+<table class="bicol">
+  <tr>
+    <th>
+      Posté par <a href="javascript:x()"  onclick="popWin('../x.php?x=$username')">{$ev.prenom} {$ev.nom} (X{$ev.promo})</a>
+      <a href="mailto:{$ev.username}@m4x.org">lui écrire</a>
+    </th>
+  </tr>
+  <tr class="{if $ev.fvalide}impair{else}pair{/if}">
+    <td>
+      <strong>{$ev.titre}</strong><br />
+      {$ev.texte|nl2br}<br />
+      Création : {$ev.creation_date}<br />
+      {if $ev.fvalide}
+      Validation : {$ev.validation_date}<br />
+      {/if}
+      Péremption : {$ev.peremption}<br />
+      Promos : {$ev.promo_min} - {$ev.promo_max}<br />
+      Message : {$ev.validation_message}
+    </td>
+  </tr>
+  <tr>
+    <th>
+      <form action="{$smarty.server.PHP_SELF}" method="post" name="modif">
+        <input type="hidden" name="evt_id" value="{$ev.id}" />
+        <input type="hidden" name="arch" value="{$ev.arch}>" />
+        {if $ev.farch}
+        <input type="submit" name="action" value="Desarchiver" />
+        {else}
+        <input type="submit" name="action" value="Editer" />
+        {if $ev.fvalide}
+        <input type="submit" name="action" value="Valider" />
+        {else}
+        <input type="submit" name="action" value="Invalider" />
+        <input type="submit" name="action" value="Archiver" />
+        {/if}
+        <input type="submit" name="action" value="Supprimer" />
+        {/if}
+      </form>
+    </th>
+  </tr>
+</table>
+
+<br />
+{/foreach}
+
+{/if}
+
+{/dynamic}
+
+{* vim:set et sw=2 sts=2 sws=2: *}