X-Git-Url: http://git.polytechnique.org/?a=blobdiff_plain;ds=sidebyside;f=modules%2Fnewsletter.php;h=a24757a5c6affb0b8274fc4d622c83405673bf65;hb=3eb25eb3c166163c6e86483e2e4e8330572ab2d1;hp=4f981fbb7522ad35e317d13e45aff7876439b692;hpb=11f44323b9f6d4ee4d21eb8cfb3084e5d3964253;p=platal.git diff --git a/modules/newsletter.php b/modules/newsletter.php index 4f981fb..a24757a 100644 --- a/modules/newsletter.php +++ b/modules/newsletter.php @@ -1,6 +1,6 @@ $this->make_hook('admin_nl', AUTH_MDP, 'admin'), 'admin/newsletter/categories' => $this->make_hook('admin_nl_cat', AUTH_MDP, 'admin'), 'admin/newsletter/edit' => $this->make_hook('admin_nl_edit', AUTH_MDP, 'admin'), - ); - } - function on_subscribe($forlife, $uid, $promo, $password) - { - require_once 'newsletter.inc.php'; - subscribe_nl($uid); + 'ax' => $this->make_hook('ax', AUTH_COOKIE), + 'ax/show' => $this->make_hook('ax_show', AUTH_COOKIE), + 'ax/submit' => $this->make_hook('ax_submit', AUTH_MDP), + 'ax/edit' => $this->make_hook('ax_submit', AUTH_MDP), + 'admin/axletter/rights' => $this->make_hook('admin_ax_rights', AUTH_MDP, 'admin'), + ); } function handler_nl(&$page, $action = null) @@ -47,13 +47,13 @@ class NewsletterModule extends PLModule $page->assign('xorg_title','Polytechnique.org - Lettres mensuelles'); switch ($action) { - case 'out': unsubscribe_nl(); break; - case 'in': subscribe_nl(); break; + case 'out': Newsletter::unsubscribe(); break; + case 'in': Newsletter::subscribe(); break; default: ; } - $page->assign('nls', get_nl_state()); - $page->assign('nl_list', get_nl_list()); + $page->assign('nls', Newsletter::subscriptionState()); + $page->assign('nl_list', Newsletter::listSent()); } function handler_nl_show(&$page, $nid = 'last') @@ -99,11 +99,11 @@ class NewsletterModule extends PLModule require_once("newsletter.inc.php"); if($new) { - insert_new_nl(); - pl_redirect("admin/newsletter"); + Newsletter::create(); + pl_redirect("admin/newsletter"); } - $page->assign('nl_list', get_nl_slist()); + $page->assign('nl_list', Newsletter::listAll()); } function handler_admin_nl_edit(&$page, $nid = 'last', $aid = null, $action = 'edit') { @@ -160,8 +160,41 @@ class NewsletterModule extends PLModule $table_editor->describe('titre','intitulé',true); $table_editor->describe('pos','position',true); $table_editor->apply($page, $action, $id); - } - + } + + function handler_ax(&$page, $action = null) + { + require_once 'newsletter.inc.php'; + + $page->changeTpl('newsletter/ax.tpl'); + $page->assign('xorg_title','Polytechnique.org - Envois de l\'AX'); + + switch ($action) { + case 'out': AXLetter::unsubscribe(); break; + case 'in': AXLetter::subscribe(); break; + default: ; + } + + $perm = AXLetter::hasPerms(); + if ($perm) { + $waiting = AXLetter::awaiting(); + if ($waiting) { + $new = new AXLetter($waiting); + $page->assign('new', $new); + } + } + $page->assign('axs', AXLetter::subscriptionState()); + $page->assign('ax_list', AXLetter::listSent()); + $page->assign('ax_rights', AXLetter::hasPerms()); + } + + function handler_ax_submit(&$page) + { + require_once('newsletter.inc.php'); + if (!AXLetter::hasPerms()) { + return PL_FORBIDDEN; + } + } } ?>