Example #1
0
 public function sendmailfinal($valid)
 {
     $mail = new FrankizMailer('validate/mail.valid.qdj.tpl');
     $mail->assign('valid', $valid);
     $mail->assign('comm', Env::s('ans', ''));
     if ($valid) {
         $mail->Subject = '[Frankiz] Ta QDJ a été acceptée';
     } else {
         $mail->Subject = '[Frankiz] Ta QDJ a été refusée';
     }
     $mail->setFrom($this->_mail_from_addr(), $this->_mail_from_disp());
     $mail->addAddress($this->writer->bestEmail(), $this->writer->displayName());
     $mail->addCC($this->_mail_from_addr(), $this->_mail_from_disp());
     $mail->send(false);
 }
Example #2
0
 public function sendmailfinal($isok)
 {
     if (is_null($this->user->bestEmail())) {
         $this->user->select(UserSelect::base());
     }
     $mail = new FrankizMailer('validate/mail.valid.tol.tpl');
     if (Env::has("ans")) {
         $mail->assign('comm', Env::v('ans'));
     }
     $mail->assign('isOk', $isok);
     if ($isok) {
         $mail->Subject = '[Frankiz] Ta photo tol a été validée';
     } else {
         $mail->Subject = '[Frankiz] Ta photo tol a été refusée';
     }
     $mail->SetFrom($this->_mail_from_addr(), $this->_mail_from_disp());
     $mail->AddAddress($this->user->bestEmail(), $this->user->displayName());
     $mail->AddCC($this->_mail_from_addr(), $this->_mail_from_disp());
     $mail->Send(false);
 }
Example #3
0
$res = XDB::query('SELECT  id, target, writer, writername, title, body, ishtml
                     FROM  mails
                    WHERE  processed IS NULL')->fetchAllRow();
$ids = array();
if (count($res) == 0) {
    exit;
}
foreach ($res as $r) {
    $ids[] = $r[0];
}
XDB::execute('UPDATE  mails
                 SET  processed = NOW()
               WHERE  id IN {?}', $ids);
XDB::commit();
foreach ($res as $r) {
    $uf = new UserFilter($r[1]);
    $users = $uf->get();
    $users->select(UserSelect::base());
    foreach ($users as $user) {
        $mail = new FrankizMailer();
        $mail->addAddress($user->bestEmail(), $user->fullName());
        $mail->SetFrom($r[2], $r[3]);
        $mail->subject($r[4]);
        $mail->body($r[5]);
        $mail->send($r[6]);
    }
    XDB::execute('UPDATE  mails
                     SET  done = NOW()
                   WHERE  id = {?}', $r[0]);
}
// vim:set et sw=4 sts=4 sws=4 foldmethod=marker enc=utf-8:
Example #4
0
 public function commit()
 {
     $mail = new FrankizMailer();
     $sub = $this->type_mail == 'promo' ? 'promo' : $this->formation->label();
     $mail->subject('[Mail ' . $sub . '] ' . $this->subject);
     if ($this->origin) {
         global $globals;
         $mail->setFrom($this->origin->name() . '@' . $globals->mails->group_suffix, 'Frankiz - ' . $this->origin->label() . '');
     } else {
         $mail->setFrom($this->writer->bestEmail(), $this->writer->fullName());
     }
     if ($this->type_mail == 'promo' && !$this->targets) {
         $uf = new UserFilter(new PFC_AND(new UFC_Group($this->formation), new UFC_Group(Group::from('on_platal'))));
     } else {
         if ($this->type_mail == 'promo') {
             $uf = new UserFilter(new PFC_AND(new UFC_Group($this->formation), new UFC_Caste($this->targets), new UFC_Group(Group::from('on_platal'))));
         } else {
             $uf = new UserFilter(new PFC_AND(new UFC_Caste($this->targets->first()), new UFC_Group(Group::from('on_platal'))));
         }
     }
     if (!$this->nowiki) {
         $mail->body(MiniWiki::wikiToHTML($this->body, false));
     } else {
         $mail->body(MiniWiki::wikiToText($this->body, false, 0, 80));
     }
     $mail->ToUserFilter($uf);
     $mail->sendLater(!$this->nowiki);
     return true;
 }
Example #5
0
 public function sendmailfinal($isok)
 {
     if ($this->writer->bestEmail() === null) {
         $this->writer->select(UserSelect::base());
     }
     $mail = new FrankizMailer('validate/mail.valid.activity.tpl');
     $mail->assign('isok', $isok);
     $mail->assign('valid_origin', $this->valid_origin);
     $mail->assign('comm', Env::v('ans', ''));
     $mail->assign('targetGroup', $this->target->group());
     $mail->assign('origin', $this->origin);
     if ($isok && !$this->valid_origin) {
         $mail->Subject = '[Frankiz] Ton activité a été validée';
     } elseif ($isok) {
         $mail->Subject = '[Frankiz] Le groupe d\'origine de ton activité a été validé';
     } else {
         $mail->Subject = '[Frankiz] Ton activité a été refusée';
     }
     $mail->SetFrom($this->_mail_from_addr(), $this->_mail_from_disp());
     $mail->AddAddress($this->writer->bestEmail(), $this->writer->displayName());
     $mail->AddCC($this->_mail_from_addr(), $this->_mail_from_disp());
     $mail->Send(false);
 }
Example #6
0
 function handler_participants($page, $id)
 {
     $act = new ActivityInstanceFilter(new PFC_AND(new AIFC_CanBeSeen(S::user()), new AIFC_Id($id)));
     $act = $act->get(true);
     if ($act === false) {
         throw new Exception("Invalid credentials");
     }
     $act->select(ActivityInstanceSelect::all());
     if (Env::has('mail')) {
         S::assert_xsrf_token();
         if (Env::t('mail_body') != '' && s::user()->id() == $act->writer()->id()) {
             $mail = new FrankizMailer();
             $mail->subject('[Mail groupé] Activité ' . $act->title() . ' du ' . $act->date() . ' à ' . $act->hour_begin());
             $mail->body(Env::t('mail_body'));
             $mail->setFrom(S::user()->bestEmail(), S::user()->displayName());
             $mail->toUserFilter(new UserFilter(new UFC_ActivityInstance($act->id())));
             $mail->sendLater(false);
         } else {
             $page->assign('msg', 'Votre mail n\'est pas rempli.');
         }
     }
     $page->assign('user', s::user());
     $page->assign('id', $id);
     $page->assign('activity', $act);
     $page->assign('title', 'Participants à une activité');
     $page->addCssLink('activity.css');
     $page->changeTpl('activity/participants.tpl');
 }
Example #7
0
 function manage_ping($page, $id)
 {
     if (S::logged()) {
         $res = XDB::query("SELECT uid, description FROM laf WHERE oid = {?}", $id)->fetchOneAssoc();
         $user = new User($res['uid']);
         $user->select(array(User::SELECT_BASE => array()));
         $message = 'Un message a été envoyé à ' . $user->displayName() . ' (' . $user->bestEmail() . ') pour lui signaler que tu as retrouvé son objet.';
         $page->assign('message', $message);
         $mail = new FrankizMailer("lostandfound/mail.tpl");
         $mail->assign('object', $res);
         $mail->assign('user', S::user());
         $mail->assign('type', 'ping');
         $mail->SetFrom(S::user()->bestEmail(), S::user()->displayName());
         $mail->AddAddress($user->bestEmail(), $user->displayName());
         $mail->subject('[Frankiz] Objet perdu');
         $mail->send(false);
     } else {
         $page->assign('not_logged', 'true');
     }
 }
Example #8
0
 public function sendmailcancel($user)
 {
     $mail = new FrankizMailer('validate/mail.cancel.tpl');
     $mail->assign('type', $this->type);
     $mail->assign('user', $user);
     $mail->Subject = "Annulation de la demande de type \"{$this->label()}\"";
     $mail->SetFrom($user->bestEmail(), $user->displayName());
     $mail->AddAddress($this->_mail_from_addr(), $this->_mail_from_disp());
     $mail->Send(false);
 }
Example #9
0
 public function sendmailfinal($isok)
 {
     if (is_null($this->writer->bestEmail())) {
         $this->writer->select(User::SELECT_BASE);
     }
     $mail = new FrankizMailer('validate/mail.valid.licenses.tpl');
     $mail->assign('isok', $isok);
     $mail->assign('software_name', $this->softwareName());
     if (Env::has("ans")) {
         $mail->assign('comm', Env::v('ans'));
     }
     if ($isok) {
         $mail->Subject = '[Frankiz] Ta demance de licence a été acceptée';
     } else {
         $mail->Subject = '[Frankiz] Ta demance de licence a été refusée';
     }
     $mail->SetFrom($this->_mail_from_addr(), $this->_mail_from_disp());
     $mail->AddAddress($this->writer->bestEmail(), $this->writer->displayName());
     $mail->AddCC($this->_mail_from_addr(), $this->_mail_from_disp());
     $mail->Send(false);
 }
Example #10
0
 public function handler_recovery($page)
 {
     global $globals;
     $page->addCssLink('profile.css');
     $page->changeTpl('profile/recovery.tpl');
     $page->assign('title', 'Nouveau mot de passe');
     // Step 1 : Ask the email
     $page->assign('step', 'ask');
     // Step 2 : Send the recovery mail
     if (Env::t('mail', '') != '') {
         // TODO: Accept forlife too
         list($forlife, $domain) = explode('@', Env::t('mail'), 2);
         $uf = new UserFilter(new UFC_Forlife($forlife, $domain));
         $user = $uf->get(true);
         if (!$user) {
             $page->assign('error', 'true');
             return;
         }
         $user->select(UserSelect::base());
         $page->assign('email', Env::t('mail'));
         $mail = new FrankizMailer('profile/recovery.mail.tpl');
         $hash = rand_url_id();
         $user->hash($hash);
         $mail->assign('hash', $hash);
         $mail->assign('uid', $user->id());
         $mail->SetFrom($globals->mails->web, 'Les Webmestres de Frankiz');
         $mail->AddAddress($user->bestEmail(), $user->displayName());
         $mail->subject('[Frankiz] Changement de mot de passe');
         $mail->Send($user->isEmailFormatHtml());
         $page->assign('step', 'mail');
     }
     // Step 2 : Send a new password
     if (Env::v('hash', '') != '' && Env::v('uid', '') != '') {
         $user = new User(Env::v('uid'));
         $user->select(UserSelect::base());
         if (Env::v('hash') == $user->hash()) {
             // TODO: log the session opening
             $mail = new FrankizMailer('profile/recovery_new.mail.tpl');
             $new = rand_url_id();
             $user->hash('');
             $user->password($new);
             $mail->assign('new_password', $new);
             $mail->SetFrom($globals->mails->web, 'Les Webmestres de Frankiz');
             $mail->AddAddress($user->bestEmail(), $user->displayName());
             $mail->subject('[Frankiz] Nouveau mot de passe');
             $mail->Send($user->isEmailFormatHtml());
             $page->assign('step', 'password');
         } else {
             $page->assign('step', 'expired');
         }
     }
 }
Example #11
0
 public static function send($keys, $user = null)
 {
     if ($user == null) {
         $user = S::user();
     }
     $mail = new FrankizMailer('licenses/licenses_key.mail.tpl');
     $mail->assign('keys', $keys);
     $mail->assign('multiple', count($keys) > 1);
     $mail->assign('pub_domain', in_array(Post::v('software'), License::getDomainSoftwares()));
     $mail->Subject = '[Frankiz] Ta licence MSDNAA';
     $mail->SetFrom('*****@*****.**', 'admin@windows');
     $mail->AddAddress($user->bestEmail(), $user->displayName());
     $mail->AddCC('*****@*****.**', 'admin@windows');
     $mail->Send(false);
 }