ergonomie des tables de paiement xnet bug 383
[platal.git] / htdocs.net / groupe / telepaiement.php
1 <?php
2
3 require 'xnet.inc.php';
4
5 new_group_page('xnet/groupe/telepaiement.tpl');
6
7 $res = $globals->xdb->query("SELECT id, text FROM {$globals->money->mpay_tprefix}paiements WHERE asso_id = {?}", $globals->asso('id'));
8 $tit = $res->fetchAllAssoc();
9 $page->assign('titres', $tit);
10
11 $order = Env::get('order', 'timestamp');
12 $orders = array('timestamp', 'nom', 'promo', 'montant');
13 if (!in_array($order, $orders)) $order = 'timestamp';
14 $inv_order = Env::get('order_inv', 0);
15 $page->assign('order', $order);
16 $page->assign('order_inv', !$inv_order);
17 if ($order == 'timestamp') $inv_order = !$inv_order;
18
19 if ($inv_order) $inv_order = ' DESC'; else $inv_order = '';
20 if ($order == 'montant') $order = 'LENGTH(montant) '.$inv_order.', montant';
21
22 $orderby = 'ORDER BY '.$order.$inv_order;
23 if ($order != 'nom') { $orderby .= ', nom'; $inv_order = ''; }
24 $orderby .= ', prenom'.$inv_order;
25 if ($order != 'timestamp') $orderby .= ', timestamp DESC';
26
27 if (may_update()) {
28 $trans = array();
29 foreach($tit as $foo) {
30 $pid = $foo['id'];
31 $res = $globals->xdb->query(
32 "SELECT IF(u.nom_usage<>'', u.nom_usage, u.nom) as nom, u.prenom, u.promo, a.alias, timestamp AS `date`, montant
33 FROM {$globals->money->mpay_tprefix}transactions AS t
34 INNER JOIN auth_user_md5 AS u ON ( t.uid = u.user_id )
35 INNER JOIN aliases AS a ON ( t.uid = a.id AND a.type='a_vie' )
36 WHERE ref = {?} ".$orderby, $pid);
37 $trans[$pid] = $res->fetchAllAssoc();
38 $sum = 0;
39 foreach ($trans[$pid] as $i => $t)
40 $sum += strtr(substr($t['montant'], 0, strpos($t['montant'], "EUR")), ",", ".");
41 $trans[$pid][] = array("nom" => "somme totale", "montant" => strtr($sum, ".", ",")." EUR");
42 }
43 $page->assign('trans', $trans);
44 }
45
46 $page->run();
47 ?>