Merge commit 'origin/fusionax' into account
[platal.git] / include / marketing.inc.php
index 52988c2..18a8edc 100644 (file)
@@ -60,12 +60,13 @@ class Marketing
 
         global $globals;
         return array(
-            'id' => $user->id(),
-            'sexe' => $user->isFemale(),
-            'mail' => $email,
-            'forlife_email' => $user->login() . '@' . $globals->mail->domain,
+            '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,
-            'to' => '"' . $user->fullName() . '" <' . $email . '>',
         );
     }
 
@@ -76,7 +77,7 @@ class Marketing
         if ($from == 'staff' || !($user = User::getSilent($sender))) {
             return '"L\'équipe de Polytechnique.org" <register@' . $globals->mail->domain . '>';
         }
-        return sprintf('"%s" <%s>', $user->fullName(), $user->bestEmail());
+        return '"' . $user->fullName() . '" <' . $user->bestEmail() . '>';
     }
 
     private function &getEngine($type, $data, $from)
@@ -134,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();
         }
@@ -196,15 +197,16 @@ 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;
         }
 
-        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');
@@ -219,7 +221,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)";
     }
 }