Merge commit 'origin/fusionax' into account
[platal.git] / include / marketing.inc.php
index 00f6eb7..3d045d7 100644 (file)
@@ -186,29 +186,33 @@ class Marketing
         }
     }
 
-    static public function relance($uid, $nbx = -1)
+    static public function getAliveUsersCount()
+    {
+        $uf = new UserFilter(new UFC_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', self::getAliveUsersCount());
         $page->assign('personal_notes', $this->getPersonalNotes());
     }