<?php
/***************************************************************************
- * Copyright (C) 2003-2006 Polytechnique.org *
+ * Copyright (C) 2003-2007 Polytechnique.org *
* http://opensource.polytechnique.org/ *
* *
* This program is free software; you can redistribute it and/or modify *
* 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA *
***************************************************************************/
-// {{{ class MarkReq
class MarkReq extends Validate
{
// {{{ properties
- var $perso;
+ public $perso;
- var $m_id;
- var $m_email;
- var $m_nom;
- var $m_prenom;
- var $m_promo;
+ public $m_id;
+ public $m_email;
+ public $m_nom;
+ public $m_prenom;
+ public $m_promo;
+ public $m_relance;
+ public $m_type;
+ public $m_data;
- var $rules = "Accepter si l'adresse mail parait correcte, et pas absurde (ou si le marketeur est de confiance). Si le
+ public $rules = "Accepter si l'adresse mail parait correcte, et pas absurde (ou si le marketeur est de confiance). Si le
demandeur marque sa propre adresse mail, refuser dans tous les cas.
Ne pas marqueter au nom de Polytechnique.org plus d'une
fois par an.";
// }}}
// {{{ constructor
- function MarkReq($sender, $mark_id, $email, $perso = false) {
- $this->Validate($sender, false, 'marketing');
+ public function __construct($sender, $mark_id, $email, $perso, $type, $data)
+ {
+ parent::__construct($sender, false, 'marketing');
$this->m_id = $mark_id;
$this->m_email = $email;
$this->perso = $perso;
+ $this->m_type = $type;
+ $this->m_data = $data;
- $res = XDB::query('SELECT nom, prenom, promo FROM auth_user_md5 WHERE user_id = {?}', $mark_id);
+ $res = XDB::query('SELECT u.nom, u.prenom, u.promo
+ FROM auth_user_md5 AS u
+ WHERE user_id = {?}
+ GROUP BY u.user_id', $mark_id);
list ($this->m_nom, $this->m_prenom, $this->m_promo) = $res->fetchOneRow();
}
// }}}
// {{{ function formu()
- function formu()
- { return 'include/form.valid.mark.tpl'; }
+ public function formu()
+ {
+ $res = XDB::query('SELECT IF(MAX(m.last)>p.relance, MAX(m.last), p.relance)
+ FROM auth_user_md5 AS u
+ LEFT JOIN register_pending AS p ON p.uid = u.user_id
+ LEFT JOIN register_marketing AS m ON m.uid = u.user_id
+ WHERE user_id = {?}',
+ $this->m_id);
+ $this->m_relance = $res->fetchOneCell();
+ return 'include/form.valid.mark.tpl';
+ }
// }}}
// {{{ function _mail_subj
- function _mail_subj()
+ protected function _mail_subj()
{
return "[Polytechnique.org] Marketing de {$this->m_prenom} {$this->m_nom} ({$this->m_promo})";
}
// }}}
// {{{ function _mail_body
- function _mail_body($isok)
+ protected function _mail_body($isok)
{
if ($isok) {
- return " Un mail de marketing vient d'être envoyé "
+ return " Un mail de marketing vient d'être envoyé "
.($this->perso ? 'en ton nom' : 'en notre nom')
- ." à {$this->m_prenom} {$this->m_nom} ({$this->m_promo}) pour l'encourager à s'inscrire !\n\n"
+ ." à {$this->m_prenom} {$this->m_nom} ({$this->m_promo}) pour l'encourager à s'inscrire !\n\n"
."Merci de ta participation !\n";
} else {
- return " Nous n'avons pas jugé bon d'envoyer de mail de marketing à {$this->m_prenom} {$this->m_nom} ({$this->m_promo}).";
+ return " Nous n'avons pas jugé bon d'envoyer de mail de marketing à {$this->m_prenom} {$this->m_nom} ({$this->m_promo}).";
}
}
// }}}
// {{{ function commit()
- function commit()
+ public function commit()
{
- require_once('marketing.inc.php');
- mark_send_mail($this->m_id, $this->m_email,(!$this->perso)?"staff":"user");
+ $market = Marketing::get($this->m_id, $this->m_email);
+ if ($market == null) {
+ return false;
+ }
+ $market->send();
return true;
}
// }}}
}
-// }}}
-
-// vim:set et sw=4 sts=4 sws=4 foldmethod=marker:
+// vim:set et sw=4 sts=4 sws=4 foldmethod=marker enc=utf-8:
?>