From e40882127c77753fe26e489985c90c39183b9161 Mon Sep 17 00:00:00 2001 From: x2000habouzit Date: Wed, 22 Sep 2004 08:42:25 +0000 Subject: [PATCH] better "trombino" with limited number of people listed --- htdocs/listes/trombi.php | 14 ++++++++++++-- scripts/mailman/mailman-rpc.py | 11 ++++++++++- templates/listes/moderate.tpl | 9 +++++++-- templates/listes/trombi.tpl | 13 ++++++++++++- 4 files changed, 41 insertions(+), 6 deletions(-) diff --git a/htdocs/listes/trombi.php b/htdocs/listes/trombi.php index 38ee27d..81f4cdd 100644 --- a/htdocs/listes/trombi.php +++ b/htdocs/listes/trombi.php @@ -18,11 +18,12 @@ * Foundation, Inc., * * 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA * *************************************************************************** - $Id: trombi.php,v 1.2 2004-09-21 15:40:35 x2000habouzit Exp $ + $Id: trombi.php,v 1.3 2004-09-22 08:42:25 x2000habouzit Exp $ ***************************************************************************/ if(empty($_REQUEST['liste'])) header('Location: index.php'); $liste = strtolower($_REQUEST['liste']); +$npage = isset($_REQUEST['npage']) ? $_REQUEST['npage'] : 1; require("auto.prepend.inc.php"); new_skinned_page('listes/trombi.tpl', AUTH_COOKIE, true); @@ -33,7 +34,7 @@ list($pass) = mysql_fetch_row($res); mysql_free_result($res); $client = new xmlrpc_client("http://{$_SESSION['uid']}:$pass@localhost:4949"); -$members = $client->get_members($liste); +$members = $client->get_members_limit($liste,$npage,30); if(is_array($members)) { $membres = Array(); @@ -65,6 +66,15 @@ if(is_array($members)) { $page->assign_by_ref('details', $members[0]); $page->assign_by_ref('members', $membres); $page->assign_by_ref('owners', $moderos); + $links = Array(); + if($npage>1) + $links[] = Array('i'=>$npage - 1, 'text' => 'Précédent'); + for($i=1; $i<=$members[3]; $i++) + $links[] = Array('i'=>$i, 'text' => $i); + if($npage<$members[3]) + $links[] = Array('i'=>$npage + 1, 'text' => 'Suivant'); + $page->assign('links', $links); + $page->assign('npage', $npage); } else $page->assign('no_list',true); diff --git a/scripts/mailman/mailman-rpc.py b/scripts/mailman/mailman-rpc.py index 51bccad..d295843 100755 --- a/scripts/mailman/mailman-rpc.py +++ b/scripts/mailman/mailman-rpc.py @@ -18,7 +18,7 @@ #* Foundation, Inc., * #* 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA * #*************************************************************************** -# $Id: mailman-rpc.py,v 1.23 2004-09-21 16:16:04 x2000habouzit Exp $ +# $Id: mailman-rpc.py,v 1.24 2004-09-22 08:42:25 x2000habouzit Exp $ #*************************************************************************** import base64, MySQLdb, os @@ -162,6 +162,14 @@ def get_members((userdesc,perms),listname): return (details,members,mlist.owner) return 0 +def get_members_limit((userdesc,perms),listname,page,nb_per_page): + try: + details,members,owners = get_members((userdesc,perms),listname) + except: + return 0 + i = (int(page)-1) * int(nb_per_page) + return (details,members[i:i+int(nb_per_page)],owners,(len(members)-1)/int(nb_per_page)+1) + def subscribe((userdesc,perms),listname): try: mlist = MailList.MailList(listname) @@ -405,6 +413,7 @@ server = FastXMLRPCServer(("localhost", 4949), BasicAuthXMLRPCRequestHandler) server.register_function(get_lists) server.register_function(get_members) +server.register_function(get_members_limit) server.register_function(subscribe) server.register_function(unsubscribe) diff --git a/templates/listes/moderate.tpl b/templates/listes/moderate.tpl index b1f2be5..fe1b1b8 100644 --- a/templates/listes/moderate.tpl +++ b/templates/listes/moderate.tpl @@ -17,7 +17,7 @@ * Foundation, Inc., * * 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA * *************************************************************************** - $Id: moderate.tpl,v 1.3 2004-09-21 15:40:36 x2000habouzit Exp $ + $Id: moderate.tpl,v 1.4 2004-09-22 08:42:26 x2000habouzit Exp $ ***************************************************************************} {dynamic} @@ -28,6 +28,11 @@ {else} +

+[page de la liste] +[retour] +

+
Inscriptions en attente de modération
@@ -54,11 +59,11 @@

pas d'inscriptions en attente de modération

{/if} -{if $mails|@count}
Mails en attente de modération
+{if $mails|@count} diff --git a/templates/listes/trombi.tpl b/templates/listes/trombi.tpl index 2cd0e71..b911c3f 100644 --- a/templates/listes/trombi.tpl +++ b/templates/listes/trombi.tpl @@ -17,7 +17,7 @@ * Foundation, Inc., * * 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA * *************************************************************************** - $Id: trombi.tpl,v 1.2 2004-09-21 16:14:35 x2000habouzit Exp $ + $Id: trombi.tpl,v 1.3 2004-09-22 08:42:26 x2000habouzit Exp $ ***************************************************************************} {dynamic} @@ -117,6 +117,17 @@ {/foreach} {/foreach} {if $loop eq "1"}{elseif $loop eq "2"}{/if} + + +
émetteur
+ {foreach from=$links item=l} + {if $l.i eq $npage} + {$l.text} + {else} + {$l.text} + {/if} + {/foreach} +
{/if} -- 2.1.4