public function handler_admin_nl_enable($page) { global $globals; $nl = $this->getNl(); if ($nl) { return PL_FORBIDDEN; } if (Post::has('title')) { if (!S::has_xsrf_token()) { return PL_FORBIDDEN; } XDB::execute('INSERT INTO newsletters SET group_id = {?}, name = {?}', $globals->asso('id'), Post::s('title')); $mailer = new PlMailer(); $mailer->assign('group', $globals->asso('nom')); $mailer->assign('user', S::user()); $mailer->send(); $page->trigSuccessRedirect("La lettre d'informations du groupe " . $globals->asso('nom') . " a bien été créée", $globals->asso('shortname') . '/admin/nl'); } $page->setTitle('Activation de la newsletter'); $page->changeTpl('newsletter/enable.tpl'); }
/** This handler will remove the given issue. */ function handler_admin_nl_delete($page, $nid, $force = null) { $nl = $this->getNl(); if (!$nl) { return PL_NOT_FOUND; } if (!$nl->mayEdit() || !S::has_xsrf_token()) { return PL_FORBIDDEN; } if (!$nid) { $page->kill("La lettre n'a pas été spécifiée."); } $issue = $nl->getIssue($nid); if (!$issue) { $page->kill("La lettre {$nid} n'existe pas"); } if (!$issue->isEditable()) { $page->trigErrorRedirect("La lette a été envoyée ou est en cours d'envoi, elle ne peut être supprimée.", $nl->adminPrefix()); } if (!$issue->delete()) { $page->trigErrorRedirect("Une erreur est survenue lors de la suppression de la lettre.", $nl->adminPrefix()); } // Logs NL deletion. S::logger()->log('nl_issue_delete', $nid); $page->trigSuccessRedirect("La lettre a bien été supprimée.", $nl->adminPrefix()); }
function handler_test($page, $hruid = null) { require_once 'emails.inc.php'; if (!S::has_xsrf_token()) { return PL_FORBIDDEN; } // Retrieves the User object for the test email recipient. if (S::admin() && $hruid) { $user = User::getSilent($hruid); } else { $user = S::user(); } if (!$user) { return PL_NOT_FOUND; } // Sends the test email. $redirect = new Redirect($user); $mailer = new PlMailer('emails/test.mail.tpl'); $mailer->assign('email', $user->bestEmail()); $mailer->assign('redirects', $redirect->active_emails()); $mailer->assign('display_name', $user->displayName()); $mailer->assign('sexe', $user->isFemale()); $mailer->send($user->isEmailFormatHtml()); exit; }