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'),
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));
}
if (!Post::has('nl_search')) {
- pl_redirect($nl->prefix());
+ pl_redirect($nl->prefix(true, false));
}
$nl_search = Post::t('nl_search');
S::logger()->log('nl_issue_create', $nid);
$id = $nl->createPending();
- pl_redirect($nl->adminPrefix() . '/edit/' . $id);
+ pl_redirect($nl->adminPrefix(true, false) . '/edit/' . $id);
}
$page->assign_by_ref('nl', $nl);
// Delete an article
if($action == 'delete') {
$issue->delArticle($aid);
- pl_redirect($nl->adminPrefix() . "/edit/$nid");
+ pl_redirect($nl->adminPrefix(true, false) . "/edit/$nid");
}
// Save an article
$art = new NLArticle(Post::v('title'), Post::v('body'), Post::v('append'),
$aid, Post::v('cid'), Post::v('pos'));
$issue->saveArticle($art);
- pl_redirect($nl->adminPrefix() . "/edit/$nid");
+ pl_redirect($nl->adminPrefix(true, false) . "/edit/$nid");
}
// Edit an article
$table_editor->describe('nlid', 'ID NL', true);
} else {
$table_editor->force_field_value('nlid', $nl->id);
- $table_editor->describe('nlid', 'nlid', false);
+ $table_editor->describe('nlid', 'nlid', false, false);
}
// Prevent deletion.
$table_editor->on_delete(null, null);