X-Git-Url: http://git.polytechnique.org/?a=blobdiff_plain;f=include%2Fmarketing.inc.php;h=18f02a6388a82edc0dcbc83696eb1b184661e260;hb=87d72675e4a6d5e2ca377cde0f30666f6305ad2b;hp=c341537640dd3a11e9c945633503da7ef536160e;hpb=9f5bd98e936d8cef7ca9f774eeef64dbb8a1b079;p=platal.git diff --git a/include/marketing.inc.php b/include/marketing.inc.php index c341537..18f02a6 100644 --- a/include/marketing.inc.php +++ b/include/marketing.inc.php @@ -186,29 +186,33 @@ class Marketing } } - static public function relance($uid, $nbx = -1) + static public function getAliveUsersCount() + { + $uf = new UserFilter(new PFC_Not(new UFC_Dead())); + return $uf->getTotalCount(); + } + + static public function relance(PlUser &$user, $nbx = -1) { global $globals; if ($nbx < 0) { - $res = XDB::query("SELECT COUNT(*) FROM auth_user_md5 WHERE deces=0"); - $nbx = $res->fetchOneCell(); + $nbx = self::getAliveUsersCount(); } - $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) IS NULL OR TO_DAYS(relance) < TO_DAYS(NOW()))", - $uid); - if (!list($date, $promo, $nom, $prenom, $email, $alias) = $res->fetchOneRow()) { + $res = XDB::fetchOneCell('SELECT r.date, r.email, r.bestalias + FROM register_pending + WHERE r.hash = \'INSCRIT\' AND uid = {?}', + $user->id()); + if (!$res) { return false; + } else { + list($date, $email, $alias) = $res; } - require_once('secure_hash.inc.php'); $hash = rand_url_id(12); $pass = rand_pass(); - $pass_encrypted = hash_encrypt($pass); + $pass_encrypted = sha1($pass); $fdate = strftime('%d %B %Y', strtotime($date)); $mymail = new PlMailer('marketing/relance.mail.tpl'); @@ -223,8 +227,8 @@ class Marketing $mymail->send(); XDB::execute('UPDATE register_pending SET hash={?}, password={?}, relance=NOW() - WHERE uid={?}', $hash, $pass_encrypted, $uid); - return "$prenom $nom ($promo)"; + WHERE uid={?}', $hash, $pass_encrypted, $user->id()); + return $user->fullName(); } } @@ -287,8 +291,7 @@ class AnnuaireMarketing implements MarketingEngine $page->assign('intro', $this->getIntro()); $page->assign('u', $user); $page->assign('sign', $this->getSignature()); - $res = XDB::query("SELECT COUNT(*) FROM auth_user_md5 WHERE perms IN ('user', 'admin') AND deces = 0"); - $page->assign('num_users', $res->fetchOneCell()); + $page->assign('num_users', Marketing::getAliveUsersCount()); $page->assign('personal_notes', $this->getPersonalNotes()); }