refactor + better date_format
authorPierre Habouzit (MadCoder <pierre.habouzit@m4x.org>
Thu, 30 Dec 2004 09:00:55 +0000 (09:00 +0000)
committerFlorent Bruneau <florent.bruneau@polytechnique.org>
Thu, 26 Jun 2008 21:27:05 +0000 (23:27 +0200)
git-archimport-id: opensource@polytechnique.org--2005/platal--mainline--0.9--patch-191

htdocs/admin/postfix_delayed.php
htdocs/auth-groupex.php
htdocs/confbanana.php
plugins/modifier.date_format.php
templates/admin/postfix_delayed.tpl

index b39059e..bf8fff2 100644 (file)
@@ -25,22 +25,22 @@ new_admin_page('admin/postfix_delayed.tpl');
 
 if (Env::has('del')) {
     $crc = Env::get('crc');
-    mysql_query("UPDATE postfix_mailseen SET release = 'del' WHERE crc = '$crc'");
-    $page->assign('res', $crc." verra tous ses mails supprimés !");
+    $globals->xdb->execute("UPDATE postfix_mailseen SET release = 'del' WHERE crc = {?}", $crc);
+    $page->trig($crc." verra tous ses mails supprimés !");
 } elseif (Env::has('ok')) {
     $crc = Env::get('crc');
-    mysql_query("UPDATE postfix_mailseen SET release = 'ok' WHERE crc = '$crc'");
-    $page->assign('res', $crc." a le droit de passer !");
+    $globals->xdb->execute("UPDATE postfix_mailseen SET release = 'ok' WHERE crc = {?}", $crc);
+    $page->trig($crc." a le droit de passer !");
 }
 
-$sql = "SELECT  crc, nb, update_time, create_time,
-               FIND_IN_SET('del', release) AS del,
-               FIND_IN_SET('ok', release) AS ok
-         FROM  postfix_mailseen
-        WHERE  nb >= 30
-      ORDER BY  release != ''";
-
-$page->mysql_assign($sql,'mails');
+$sql = $globals->xdb->iterator(
+        "SELECT  crc, nb, update_time, create_time,
+                 FIND_IN_SET('del', release) AS del,
+                 FIND_IN_SET('ok', release) AS ok
+           FROM  postfix_mailseen
+          WHERE  nb >= 30
+       ORDER BY  release != ''");
 
+$page->assign_by_ref('mails', $sql);
 $page->run();
 ?>
index c78b4f9..9887ea2 100644 (file)
@@ -42,23 +42,24 @@ if (!isset($_SESSION['suid'])) {
 
 /* cree le champs "auth" renvoye au Groupe X */
 function gpex_make_auth($chlg, $privkey, $datafields) {
+    global $globals;
     $fieldarr = split(",",$datafields);
-    $tohash = "1$chlg$privkey";
+    $tohash   = "1$chlg$privkey";
 
-    while(list(,$val) = each($fieldarr)) {
+    while (list(,$val) = each($fieldarr)) {
         /* on verifie qu'on n'a pas demandé une
            variable inexistante ! */
         if (isset($_SESSION[$val])) {
             $tohash .= $_SESSION[$val];
         } else if ($val == 'username') {
-           $sql = "SELECT  alias
-                     FROM  aliases       AS al
-               INNER JOIN  auth_user_md5 AS a ON (a.user_id = al.id AND al.type IN('a_vie','alias'))
-                    WHERE  a.user_id = ".$_SESSION["uid"]." AND alias LIKE '%.%'
-                 ORDER BY  LENGTH(alias)";
-           $res = mysql_query($sql);
-           list($min_username) = mysql_fetch_array($res);
-            $tohash .= $min_username;
+            $res = $globals->xdb->query(
+                    "SELECT  alias
+                       FROM  aliases       AS al
+                 INNER JOIN  auth_user_md5 AS a ON (a.user_id = al.id AND al.type IN('a_vie','alias'))
+                      WHERE  a.user_id = {?} AND alias LIKE '%.%'
+                   ORDER BY  LENGTH(alias)", Session::getInt('uid'));
+            $min_username = $res->fetchOneCell();
+            $tohash      .= $min_username;
        }
     }
     $tohash .= "1";
@@ -67,20 +68,21 @@ function gpex_make_auth($chlg, $privkey, $datafields) {
 
 /* cree les parametres de l'URL de retour avec les champs demandes */
 function gpex_make_params($chlg, $privkey, $datafields) {
-    $params = "&auth=".gpex_make_auth($chlg, $privkey, $datafields);
+    global $globals;
+    $params   = "&auth=".gpex_make_auth($chlg, $privkey, $datafields);
     $fieldarr = split(",",$datafields);
-    while(list(,$val) = each($fieldarr)) {
+    while (list(,$val) = each($fieldarr)) {
         if (isset($_SESSION[$val])) {
             $params .= "&$val=".$_SESSION[$val];
         } else if ($val == 'username') {
-           $sql = "SELECT  alias
-                     FROM  aliases       AS al
-               INNER JOIN  auth_user_md5 AS a ON (a.user_id = al.id AND al.type IN('a_vie','alias'))
-                    WHERE  a.user_id = ".$_SESSION["uid"]." AND alias LIKE '%.%'
-                 ORDER BY  LENGTH(alias)";
-           $res = mysql_query($sql);
-           list($min_username) = mysql_fetch_array($res);
-            $params .= "&$val=".$min_username;
+            $res = $globals->xdb->query(
+                    "SELECT  alias
+                       FROM  aliases       AS al
+                 INNER JOIN  auth_user_md5 AS a ON (a.user_id = al.id AND al.type IN('a_vie','alias'))
+                      WHERE  a.user_id = {?} AND alias LIKE '%.%'
+                   ORDER BY  LENGTH(alias)", Session::getInt('uid'));
+            $min_username = $res->fetchOneCell();
+            $params      .= "&$val=".$min_username;
        }
     }
     return $params;
index cb0dc1e..c387f44 100644 (file)
@@ -25,12 +25,12 @@ new_skinned_page('confbanana.tpl', AUTH_MDP);
 if (!(Post::has('action') && Post::has('banananame') && Post::has('bananasig') && Post::has('bananadisplay')
             && Post::has('bananamail') && Post::has('bananaupdate') && Post::get('action')=="OK" ))
 {
-    $req = $globals->db->query("
+    $req = $globals->xdb->query("
        SELECT  nom,mail,sig,if(FIND_IN_SET('threads',flags),'1','0'),
                IF(FIND_IN_SET('automaj',flags),'1','0') 
          FROM  forums.profils
-        WHERE  uid=".Session::getInt('uid'));
-    if (!(list($nom,$mail,$sig,$disp,$maj) = mysql_fetch_row($req))) {
+        WHERE  uid = {?}", Session::getInt('uid'));
+    if (!(list($nom,$mail,$sig,$disp,$maj) = $req->fetchOneRow())) {
        $nom  = Session::get('prenom').' '.Session::get('nom');
        $mail = Session::get('forlife').'@'.$globals->mail->domain;
        $sig  = $nom.' ('.Session::getInt('promo').')';
@@ -43,10 +43,12 @@ if (!(Post::has('action') && Post::has('banananame') && Post::has('bananasig') &
     $page->assign('disp', $disp);
     $page->assign('maj' , $maj);
 } else {
-    mysql_query("REPLACE INTO  forums.profils (uid,sig,mail,nom,flags)
-                       VALUES  (".Session::getInt('uid').", '".Post::get('bananasig')."', '".Post::get('bananamail')."',
-                                '".Post::get('banananame')."', '".(Post::getBool('bananadisplay') ? 'threads' : '').
-                                ",".(Post::getBool('bananaupdate') ? 'automaj' : '')."')");
+    $globals->xdb->execute(
+        'REPLACE INTO  forums.profils (uid,sig,mail,nom,flags)
+               VALUES  ({?},{?},{?},{?},{?})',
+               Session::getInt('uid'), Post::get('bananasig'), Post::get('bananamail'), Post::get('banananame'),
+               (Post::getBool('bananadisplay') ? 'threads,' : '') . (Post::getBool('bananaupdate') ? 'automaj' : '')
+    );
 }
 
 $page->run();
index fbf95c2..72c8b08 100644 (file)
@@ -24,8 +24,15 @@ function smarty_modifier_date_format($string, $format = '%x', $default_date=null
     if (empty($format) && empty($default_date)) return;
     $f = empty($format) ? $default_date : $format;
     $f = str_replace('%X', '%T', str_replace('%x', '%d %B %Y', $f));
-   
-    if ( ($t = strtotime($string)) != -1 ) {
+
+    if (preg_match('/^\d{14}$/', $string)) {
+        $t = mktime(substr($string,8,2),substr($string,10,2),substr($string,12,2),
+                substr($string,4,2),substr($string,6,2),substr($string,0,4));
+    } else {
+        $t = strtotime($string);
+    }
+
+    if ( $t != -1 ) {
         return strftime($f , $t);
     } else {
         require_once('Date.php');
index df32c1d..ab69598 100644 (file)
  *  59 Temple Place, Suite 330, Boston, MA  02111-1307  USA                *
  ***************************************************************************}
 
-
-<p class='erreur'>{$res}</p>
-<h1>
-  Mails en attente de décision
-</h1>
+<h1>Mails en attente de décision</h1>
 
 <table class="bicol" cellpadding='0' cellspacing='0'>
   <tr>
     <th>Etat</th>
     <th>Actions</th>
   </tr>
-  {foreach from=$mails item=m}
+  {iterate from=$mails item=m}
   <tr class="{cycle values="impair,pair"}">
     <td>{$m.crc}</td>
     <td><strong>{$m.nb}</strong></td>
-    <td>{$m.update_time}</td>
-    <td>{$m.creation_time}</td>
+    <td>{$m.update_time|date_format}</td>
+    <td>{$m.create_time|date_format}</td>
     <td><strong>{if $m.del}Poubelle{elseif $m.ok}Autorisé{else}En attente{/if}</strong></td>
     <td>
-      <form method="post">
-        <input type="hidden" name="crc" value="{$m.crc}" />
-        <input type="submit" name="ok"  value="Laisser passer" />
-        <input type="submit" name="del" value="Effacer les mails" />
+      <form method="post" action="{$smarty.server.PHP_SELF}">
+        <div>
+          <input type="hidden" name="crc" value="{$m.crc}" />
+          <input type="submit" name="ok"  value="Laisser passer" />
+          <input type="submit" name="del" value="Effacer les mails" />
+        </div>
       </form>
     </td>
   </tr>
-  {/foreach}
+  {/iterate}
 </table>
 
 {* vim:set et sw=2 sts=2 sws=2: *}