X-Git-Url: http://git.polytechnique.org/?a=blobdiff_plain;f=include%2Fmarketing.inc.php;h=7a5398943dd2c6f5258b3ca488076cdbfdc68362;hb=af744c2d5f4ddf83b738b9cb390926eaca4cf7c3;hp=3c3a501547fb75ba58e863915d69a8c864fd41e8;hpb=b71f7275d0abe31614da74e05524ac08033bbe18;p=platal.git diff --git a/include/marketing.inc.php b/include/marketing.inc.php index 3c3a501..7a53989 100644 --- a/include/marketing.inc.php +++ b/include/marketing.inc.php @@ -1,6 +1,6 @@ numRows() == 0) { + $user = User::getSilent($uid); + if (!$user) { return null; } - $user = $res->fetchOneAssoc(); - $user['id'] = $uid; - $user['forlife'] = make_forlife($user['prenom'], $user['nom'], $user['promo']); - $user['mail'] = $email; - $user['to'] = '"' . $user['prenom'] . ' ' . $user['nom'] . '" <' . $email . '>'; - return $user; + + global $globals; + return array( + 'user' => $user, + 'id' => $user->id(), + 'sexe' => $user->isFemale(), + 'mail' => $email, + 'to' => '"' . $user->fullName() . '" <' . $email . '>', + 'forlife_email' => $user->login() . '@' . $globals->mail->domain, + 'forlife_email2' => $user->login() . '@' . $globals->mail->domain2, + ); } private function getFrom($from, $sender) { global $globals; - if ($from == 'staff') { + if ($from == 'staff' || !($user = User::getSilent($sender))) { return '"L\'équipe de Polytechnique.org" mail->domain . '>'; - } else { - $res = XDB::query("SELECT u.nom, u.prenom, a.alias - FROM auth_user_md5 AS u - INNER JOIN aliases AS a ON (a.id = u.user_id AND FIND_IN_SET('bestalias', a.flags)) - WHERE u.user_id = {?}", $sender); - if (!$res->numRows()) { - return '"L\'équipe de Polytechnique.org" mail->domain . '>'; - } - $sender = $res->fetchOneAssoc(); - return '"' . $sender['prenom'] . ' ' . $sender['nom'] . '" <' . $sender['alias'] . '@' . $globals->mail->domain . '>'; } + return '"' . $user->fullName() . '" <' . $user->bestEmail() . '>'; } private function &getEngine($type, $data, $from) @@ -142,7 +135,7 @@ class Marketing $this->engine->process($this->user); if ($valid) { require_once 'validations.inc.php'; - $valid = new MarkReq($this->sender, $this->user['id'], $this->user['mail'], + $valid = new MarkReq(User::getSilent($this->sender), $this->user['user'], $this->user['mail'], $this->from == 'user', $this->type, $this->data); $valid->submit(); } @@ -204,7 +197,9 @@ class Marketing $res = XDB::query("SELECT r.date, u.promo, u.nom, u.prenom, r.email, r.bestalias FROM register_pending AS r INNER JOIN auth_user_md5 AS u ON u.user_id = r.uid - WHERE hash!='INSCRIT' AND uid={?} AND TO_DAYS(relance) < TO_DAYS(NOW())", $uid); + WHERE hash != 'INSCRIT' AND uid = {?} AND + (TO_DAYS(relance) IS NULL OR TO_DAYS(relance) < TO_DAYS(NOW()))", + $uid); if (!list($date, $promo, $nom, $prenom, $email, $alias) = $res->fetchOneRow()) { return false; } @@ -227,7 +222,7 @@ class Marketing $mymail->send(); XDB::execute('UPDATE register_pending SET hash={?}, password={?}, relance=NOW() - WHERE uid={?}', $hash, $pass_encrypted, $uid); + WHERE uid={?}', $hash, $pass_encrypted, $uid); return "$prenom $nom ($promo)"; } } @@ -276,7 +271,7 @@ class AnnuaireMarketing implements MarketingEngine return $this->signature; } - protected function prepareText(PlatalPage &$page, array $user) + protected function prepareText(PlPage &$page, array $user) { $page->assign('intro', $this->getIntro()); $page->assign('u', $user); @@ -287,7 +282,8 @@ class AnnuaireMarketing implements MarketingEngine public function getText(array $user) { - $page = new XorgPage('marketing/marketing.mail.tpl', NO_SKIN); + $page = new XorgPage(); + $page->changeTpl('marketing/marketing.mail.tpl', NO_SKIN); $this->prepareText($page, $user); return $page->raw(); } @@ -304,12 +300,8 @@ class ListMarketing extends AnnuaireMarketing public function __construct($data, $from) { list($this->name, $this->domain) = explode('@', $data); - $res = XDB::query("SELECT prenom, IF (nom_usage != '', nom_usage, nom) - FROM auth_user_md5 - WHERE user_id = {?} AND user_id != 0", $from ? $from : 0); - if ($res->numRows()) { - list($prenom, $nom) = $res->fetchOneRow(); - $from = "$prenom $nom"; + if ($from && ($user = User::getSilent($from))) { + $from = $user->fullName(); } else { $from = "Je"; } @@ -339,12 +331,8 @@ class GroupMarketing extends AnnuaireMarketing public function __construct($data, $from) { $this->group = $data; - $res = XDB::query("SELECT prenom, IF (nom_usage != '', nom_usage, nom) - FROM auth_user_md5 - WHERE user_id = {?} AND user_id != 0", $from ? $from : 0); - if ($res->numRows()) { - list($prenom, $nom) = $res->fetchOneRow(); - $from = "$prenom $nom vient"; + if ($from && ($user = User::getSilent($from))) { + $from = $user->fullName() . " vient"; } else { $from = "Je viens"; }