make add(Js|Css)Link don't need the extra css/ or javascript/ link, so
[platal.git] / modules / lists.php
index e55a6a5..422dd77 100644 (file)
@@ -40,9 +40,16 @@ class ListsModule extends PLModule
 
             'lists/soptions'  => $this->make_hook('soptions',  AUTH_MDP),
             'lists/check'     => $this->make_hook('check',     AUTH_MDP),
+            'admin/lists'     => $this->make_hook('admin_all',     AUTH_MDP, 'admin'),
         );
     }
 
+    function on_subscribe($forlife, $uid, $promo, $password)
+    {
+        $this->prepare_client(null);
+        $this->client->subscribe("promo$promo");
+    }
+
     function prepare_client(&$page)
     {
         require_once 'lists.inc.php';
@@ -266,7 +273,7 @@ class ListsModule extends PLModule
 
         $page->changeTpl('listes/archives.tpl');
 
-        $page->addCssLink('css/lists.archives.css');
+        $page->addCssLink('lists.archives.css');
         if (list($det) = $this->client->get_members($liste)) {
             if (substr($liste,0,5) != 'promo' && ($det['ins'] || $det['priv'])
             && !$det['own'] && ($det['sub'] < 2))
@@ -309,6 +316,7 @@ class ListsModule extends PLModule
         $page->changeTpl('listes/moderate.tpl');
 
         $page->register_modifier('qpd', 'quoted_printable_decode');
+        $page->register_modifier('hdc', 'list_header_decode');
 
         if (Env::has('sadd')) { /* 4 = SUBSCRIBE */
             $this->client->handle_request($liste,Env::v('sadd'),4,'');
@@ -603,6 +611,17 @@ class ListsModule extends PLModule
             $page->kill("La liste n'existe pas");
         }
     }
+
+    function handler_admin_all(&$page) {
+        $page->changeTpl('listes/admin_all.tpl');
+        $page->assign('xorg_title','Polytechnique.org - Administration - Mailing lists');
+        require_once 'lists.inc.php';
+        
+        $client =& lists_xmlrpc(S::v('uid'), S::v('password'));
+        $listes = $client->get_all_lists();
+        $page->assign_by_ref('listes',$listes);
+    }
+    
 }
 
 ?>