+ $owner = array_filter($listes, 'filter_owner');
+ $listes = array_diff_key($listes, $owner);
+ $member = array_filter($listes, 'filter_member');
+ $listes = array_diff_key($listes, $member);
+ foreach ($owner as $key=>$liste) {
+ list($subs,$mails) = $this->client->get_pending_ops($liste['list']);
+ $owner[$key]['subscriptions'] = $subs;
+ $owner[$key]['mails'] = $mails;
+ }
+ $page->register_modifier('hdc', 'list_header_decode');
+ $page->assign_by_ref('owner', $owner);
+ $page->assign_by_ref('member', $member);
+ $page->assign_by_ref('public', $listes);
+ }
+
+ function handler_ajax(&$page, $list = null)
+ {
+ header('Content-Type: text/html; charset="iso-8859-15"');
+ $domain = $this->prepare_client($page);
+ $page->changeTpl('lists/liste.inc.tpl', NO_SKIN);
+ if (Get::has('unsubscribe')) {
+ $this->client->unsubscribe($list);
+ }
+ if (Get::has('subscribe')) {
+ $this->client->subscribe($list);
+ }
+ if (Get::has('sadd')) { /* 4 = SUBSCRIBE */
+ $this->client->handle_request($list, Get::v('sadd'), 4, '');
+ }
+ if (Get::has('mid')) {
+ $this->moderate_mail($domain, $list, Get::i('mid'));
+ }
+
+ list($liste, $members, $owners) = $this->client->get_members($list);
+ if ($liste['own']) {
+ list($subs,$mails) = $this->client->get_pending_ops($list);
+ $liste['subscriptions'] = $subs;
+ $liste['mails'] = $mails;
+ }
+ $page->register_modifier('hdc', 'list_header_decode');
+ $page->assign_by_ref('liste', $liste);