ergonomie des tables de paiement xnet bug 383
[platal.git] / htdocs.net / groupe / telepaiement.php
index 94204cb..75a73f2 100644 (file)
@@ -8,18 +8,37 @@ $res = $globals->xdb->query("SELECT id, text FROM {$globals->money->mpay_tprefix
 $tit = $res->fetchAllAssoc();
 $page->assign('titres', $tit);
 
+$order = Env::get('order', 'timestamp');
+$orders = array('timestamp', 'nom', 'promo', 'montant');
+if (!in_array($order, $orders)) $order = 'timestamp';
+$inv_order = Env::get('order_inv', 0);
+$page->assign('order', $order);
+$page->assign('order_inv', !$inv_order);
+if ($order == 'timestamp') $inv_order = !$inv_order;
+
+if ($inv_order) $inv_order = ' DESC'; else $inv_order = '';
+if ($order == 'montant') $order = 'LENGTH(montant) '.$inv_order.', montant';
+
+$orderby = 'ORDER BY '.$order.$inv_order;
+if ($order != 'nom') { $orderby .= ', nom'; $inv_order = ''; }
+$orderby .= ', prenom'.$inv_order;
+if ($order != 'timestamp') $orderby .= ', timestamp DESC';
+
 if (may_update()) {
     $trans = array();
     foreach($tit as $foo) {
         $pid = $foo['id'];
         $res = $globals->xdb->query(
-                "SELECT  IF(u.nom_usage<>'', u.nom_usage, u.nom) as nom, u.prenom, u.promo, a.alias, timestamp, montant
+                "SELECT  IF(u.nom_usage<>'', u.nom_usage, u.nom) as nom, u.prenom, u.promo, a.alias, timestamp AS `date`, montant 
                    FROM  {$globals->money->mpay_tprefix}transactions AS t
              INNER JOIN  auth_user_md5                               AS u ON ( t.uid = u.user_id )
              INNER JOIN  aliases                                     AS a ON ( t.uid = a.id AND a.type='a_vie' )
-                  WHERE  ref = {?}
-               ORDER BY  timestamp DESC", $pid);
+                  WHERE  ref = {?} ".$orderby, $pid);
         $trans[$pid] = $res->fetchAllAssoc();
+        $sum = 0;
+        foreach ($trans[$pid] as $i => $t)
+            $sum += strtr(substr($t['montant'], 0, strpos($t['montant'], "EUR")), ",", ".");
+        $trans[$pid][] = array("nom" => "somme totale", "montant" => strtr($sum, ".", ",")." EUR");
     }
     $page->assign('trans', $trans);
 }