From: Pascal Corpet Date: Sat, 15 Jan 2005 11:17:45 +0000 (+0000) Subject: closes 180 : changer l'ordre de tri de la page des contacts X-Git-Tag: xorg/old~421 X-Git-Url: http://git.polytechnique.org/?a=commitdiff_plain;h=ddc2f45ab6de2b8862add3444810d5ee80b0acdd;p=platal.git closes 180 : changer l'ordre de tri de la page des contacts git-archimport-id: opensource@polytechnique.org--2005/platal--mainline--0.9--patch-335 --- diff --git a/ChangeLog b/ChangeLog index 3de938f..f7b1f94 100644 --- a/ChangeLog +++ b/ChangeLog @@ -45,6 +45,9 @@ Bug/Wish : - #245: Use PEAR::Date to avoid 1970-2038 php limitations. -MC - #258: Netscape4 Warning. -MC + * Contacts : + - #180: Change the list order using name, promo or last change date.-Car + * Emails : - #229: Possibility to show our melix address. -Car diff --git a/htdocs/carnet/mescontacts.php b/htdocs/carnet/mescontacts.php index dd03d07..5021bb1 100644 --- a/htdocs/carnet/mescontacts.php +++ b/htdocs/carnet/mescontacts.php @@ -69,13 +69,24 @@ if(Get::has('trombi')) { $res = $globals->xdb->query("SELECT COUNT(*) FROM contacts WHERE uid = {?}", $uid); $total = $res->fetchOneCell(); + $order = Get::get('order'); + $orders = Array( + 'nom' => 'nom DESC, u.prenom, u.promo', + 'promo' => 'promo DESC, nom, u.prenom', + 'last' => 'u.date DESC, nom, u.prenom, promo'); + if ($order != 'promo' && $order != 'last') + $order = 'nom'; + $order = $orders[$order]; + if (Get::get('inv') == '') + $order = str_replace(" DESC,", ",", $order); + $res = $globals->xdb->query(" SELECT u.prenom, IF(u.epouse='',u.nom,u.epouse) AS nom, a.alias AS forlife, u.promo FROM contacts AS c INNER JOIN auth_user_md5 AS u ON (u.user_id = c.contact) INNER JOIN aliases AS a ON (u.user_id = a.id AND a.type='a_vie') WHERE c.uid = {?} - ORDER BY nom + ORDER BY $order LIMIT {?}, {?}", $uid, $offset*$limit, $limit); $list = $res->fetchAllAssoc(); @@ -85,7 +96,27 @@ if(Get::has('trombi')) { $trombi = new Trombi('getList'); $trombi->setNbRows(4); $page->assign_by_ref('trombi',$trombi); + + $order = Get::get('order'); + if ($order != 'promo' && $order != 'last') + $order = 'nom'; + $page->assign('order', $order); + $page->assign('inv', Get::get('inv')); } else { + + $order = Get::get('order'); + $orders = Array( + 'nom' => 'sortkey DESC, a.prenom, a.promo', + 'promo' => 'promo DESC, sortkey, a.prenom', + 'last' => 'a.date DESC, sortkey, a.prenom, promo'); + if ($order != 'promo' && $order != 'last') + $order = 'nom'; + $page->assign('order', $order); + $page->assign('inv', Get::get('inv')); + $order = $orders[$order]; + if (Get::get('inv') == '') + $order = str_replace(" DESC,", ",", $order); + $sql = "SELECT contact AS id, a.*, l.alias AS forlife, 1 AS inscrit, @@ -112,10 +143,12 @@ if(Get::has('trombi')) { LEFT JOIN geoloc_pays AS gp ON (adr.pays = gp.a2) LEFT JOIN geoloc_region AS gr ON (adr.pays = gr.a2 AND adr.region = gr.region) WHERE c.uid = $uid - ORDER BY sortkey, a.prenom"; + ORDER BY ".$order; $page->assign_by_ref('citer', $globals->xdb->iterator($sql)); } $page->run(); + +// vim:set et sw=4 sts=4 sws=4: ?> diff --git a/templates/carnet/mescontacts.tpl b/templates/carnet/mescontacts.tpl index 2acea6a..1d15a02 100644 --- a/templates/carnet/mescontacts.tpl +++ b/templates/carnet/mescontacts.tpl @@ -60,7 +60,14 @@ Pour r

-Pour afficher la liste détaillée de tes contacts: [vue classique] +Pour afficher la liste détaillée de tes contacts: [vue classique] +

+ +

+Trier par : +[nom inversé{else}'>nom{/if}] +[promo croissante{else}&inv=1'>promo{/if}] +[dernière modification inversée{else}&inv=1'>dernière modification{/if}]

{$trombi->show()|smarty:nodefaults} @@ -72,7 +79,14 @@ Pour afficher la liste d

-Pour afficher le trombi de tes contacts : [vue sous forme de trombi] +Pour afficher le trombi de tes contacts : [vue sous forme de trombi] +

+ +

+Trier par : +[nom inversé{else}'>nom{/if}] +[promo croissante{else}&inv=1'>promo{/if}] +[dernière modification inversée{else}&inv=1'>dernière modification{/if}]