bug 379 : ordre des telepaiements sur la page xnet, cacher les anciens paiements
[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
8 WHERE asso_id = {?} AND NOT FIND_IN_SET(flags, 'old')
9 ORDER BY id DESC",
10 $globals->asso('id'));
11 $tit = $res->fetchAllAssoc();
12 $page->assign('titres', $tit);
13
14 $order = Env::get('order', 'timestamp');
15 $orders = array('timestamp', 'nom', 'promo', 'montant');
16 if (!in_array($order, $orders)) $order = 'timestamp';
17 $inv_order = Env::get('order_inv', 0);
18 $page->assign('order', $order);
19 $page->assign('order_inv', !$inv_order);
20 if ($order == 'timestamp') $inv_order = !$inv_order;
21
22 if ($inv_order) $inv_order = ' DESC'; else $inv_order = '';
23 if ($order == 'montant') $order = 'LENGTH(montant) '.$inv_order.', montant';
24
25 $orderby = 'ORDER BY '.$order.$inv_order;
26 if ($order != 'nom') { $orderby .= ', nom'; $inv_order = ''; }
27 $orderby .= ', prenom'.$inv_order;
28 if ($order != 'timestamp') $orderby .= ', timestamp DESC';
29
30 if (may_update()) {
31 $trans = array();
32 foreach($tit as $foo) {
33 $pid = $foo['id'];
34 $res = $globals->xdb->query(
35 "SELECT IF(u.nom_usage<>'', u.nom_usage, u.nom) as nom, u.prenom, u.promo, a.alias, timestamp AS `date`, montant
36 FROM {$globals->money->mpay_tprefix}transactions AS t
37 INNER JOIN auth_user_md5 AS u ON ( t.uid = u.user_id )
38 INNER JOIN aliases AS a ON ( t.uid = a.id AND a.type='a_vie' )
39 WHERE ref = {?} ".$orderby, $pid);
40 $trans[$pid] = $res->fetchAllAssoc();
41 $sum = 0;
42 foreach ($trans[$pid] as $i => $t)
43 $sum += strtr(substr($t['montant'], 0, strpos($t['montant'], "EUR")), ",", ".");
44 $trans[$pid][] = array("nom" => "somme totale", "montant" => strtr($sum, ".", ",")." EUR");
45 }
46 $page->assign('trans', $trans);
47 }
48
49 $page->run();
50 ?>