X-Git-Url: http://git.polytechnique.org/?a=blobdiff_plain;f=modules%2Fnewsletter.php;h=6603bc86199b4a7a3df2283da11b9d94dcc3e712;hb=8d2853fab0636eadc2a5b3c7a0d5f058aa626da0;hp=149e27b10538c6595567c7c46286c87137844fc7;hpb=e22ff176d83e1f4ffd866e6ad928ee247906c6a5;p=platal.git diff --git a/modules/newsletter.php b/modules/newsletter.php index 149e27b..6603bc8 100644 --- a/modules/newsletter.php +++ b/modules/newsletter.php @@ -24,16 +24,16 @@ class NewsletterModule extends PLModule function handlers() { return array( - 'nl' => $this->make_hook('nl', AUTH_COOKIE), - 'nl/show' => $this->make_hook('nl_show', AUTH_COOKIE), - 'nl/search' => $this->make_hook('nl_search', AUTH_COOKIE), - 'nl/submit' => $this->make_hook('nl_submit', AUTH_MDP), - 'nl/remaining' => $this->make_hook('nl_remaining', AUTH_MDP), - 'admin/nls' => $this->make_hook('admin_nl_groups', AUTH_MDP, 'admin'), - 'admin/newsletter' => $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'), - 'admin/newsletter/edit/delete' => $this->make_hook('admin_nl_delete', AUTH_MDP, 'admin'), + 'nl' => $this->make_hook('nl', AUTH_COOKIE, 'user'), + 'nl/show' => $this->make_hook('nl_show', AUTH_COOKIE, 'user'), + 'nl/search' => $this->make_hook('nl_search', AUTH_COOKIE, 'user'), + 'nl/submit' => $this->make_hook('nl_submit', AUTH_MDP, 'user'), + 'nl/remaining' => $this->make_hook('nl_remaining', AUTH_MDP, 'user'), + 'admin/nls' => $this->make_hook('admin_nl_groups', AUTH_MDP, 'admin'), + 'admin/newsletter' => $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'), + 'admin/newsletter/edit/delete' => $this->make_hook('admin_nl_delete', AUTH_MDP, 'admin'), // Automatic mailing is disabled for X.org NL // 'admin/newsletter/edit/cancel' => $this->make_hook('cancel', AUTH_MDP, 'admin'), // 'admin/newsletter/edit/valid' => $this->make_hook('valid', AUTH_MDP, 'admin'), @@ -55,16 +55,26 @@ class NewsletterModule extends PLModule return PL_NOT_FOUND; } - $page->changeTpl('newsletter/index.tpl'); - $page->setTitle('Lettres mensuelles'); - $hash = ($hash == 'nohash') ? null : $hash; switch ($action) { - case 'out': $nl->unsubscribe($issue_id, $hash, $hash != null); break; + case 'out': + $success = $nl->unsubscribe($issue_id, $hash, $hash != null); + if (!is_null($hash)) { + if ($success) { + $page->trigSuccess('La désinscription a été effectuée avec succès.'); + } else { + $page->trigError("La désinscription n'a été pas pu être effectuée."); + } + return; + } + break; case 'in': $nl->subscribe(); break; default: ; } + $page->changeTpl('newsletter/index.tpl'); + $page->setTitle('Lettres mensuelles'); + $page->assign_by_ref('nl', $nl); $page->assign('nls', $nl->subscriptionState()); $page->assign('nl_list', $nl->listSentIssues(true));