Example #1
0
 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');
 }
Example #2
0
 /** 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());
 }
Example #3
0
 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;
 }