Force auth on newsletter unsubscription link
[platal.git] / modules / axletter.php
index 99d45ad..3b19bc3 100644 (file)
@@ -1,6 +1,6 @@
 <?php
 /***************************************************************************
- *  Copyright (C) 2003-2011 Polytechnique.org                              *
+ *  Copyright (C) 2003-2014 Polytechnique.org                              *
  *  http://opensource.polytechnique.org/                                   *
  *                                                                         *
  *  This program is free software; you can redistribute it and/or modify   *
@@ -26,15 +26,17 @@ class AXLetterModule extends NewsletterModule
     function handlers()
     {
         return array(
-            'ax'                   => $this->make_hook('nl',  AUTH_COOKIE),
-            'ax/out'               => $this->make_hook('out',    AUTH_PUBLIC),
-            'ax/show'              => $this->make_hook('nl_show',   AUTH_COOKIE),
-            'ax/search'            => $this->make_hook('nl_search', AUTH_COOKIE),
-            'ax/admin'             => $this->make_hook('admin_nl', AUTH_MDP),
-            'ax/admin/edit'        => $this->make_hook('admin_nl_edit', AUTH_MDP),
-            'ax/admin/edit/valid'  => $this->make_hook('admin_nl_valid', AUTH_MDP),
-            'ax/admin/edit/cancel' => $this->make_hook('admin_nl_cancel', AUTH_MDP),
-            'ax/admin/edit/delete' => $this->make_hook('admin_nl_delete', AUTH_MDP),
+            'ax'                   => $this->make_hook('nl',              AUTH_COOKIE, 'user'),
+            'ax/out'               => $this->make_hook('out',             AUTH_COOKIE, 'user'),
+            'ax/show'              => $this->make_hook('nl_show',         AUTH_COOKIE, 'user'),
+            'ax/search'            => $this->make_hook('nl_search',       AUTH_COOKIE, 'user'),
+            'ax/admin'             => $this->make_hook('admin_nl',        AUTH_PASSWD, 'user'),
+            'ax/admin/edit'        => $this->make_hook('admin_nl_edit',   AUTH_PASSWD, 'user'),
+            'ax/admin/edit/valid'  => $this->make_hook('admin_nl_valid',  AUTH_PASSWD, 'user'),
+            'ax/admin/edit/cancel' => $this->make_hook('admin_nl_cancel', AUTH_PASSWD, 'user'),
+            'ax/admin/edit/delete' => $this->make_hook('admin_nl_delete', AUTH_PASSWD, 'user'),
+            'ax/admin/categories'  => $this->make_hook('admin_nl_cat',    AUTH_PASSWD, 'user'),
+            'ax/stat'              => $this->make_hook('stat_nl',         AUTH_PASSWD, 'user')
         );
     }
 
@@ -44,16 +46,17 @@ class AXLetterModule extends NewsletterModule
         return NewsLetter::forGroup(NewsLetter::GROUP_AX);
     }
 
-    function handler_out($page, $hash = null)
+    function handler_out($page, $hash = null, $issue_id = null)
     {
+        $hash = ($hash == 'nohash') ? null : $hash;
         if (!$hash) {
             if (!S::logged()) {
                 return PL_DO_AUTH;
             }
         }
-        return $this->handler_nl($page, 'out', $hash);
+        return $this->handler_nl($page, 'out', $hash, $issue_id);
     }
 }
 
-// vim:set et sw=4 sts=4 sws=4 foldmethod=marker enc=utf-8:
+// vim:set et sw=4 sts=4 sws=4 foldmethod=marker fenc=utf-8:
 ?>