Add by-account monitoring
[platal.git] / include / validations / marketing.inc.php
index 0e3faf9..69bedab 100644 (file)
@@ -1,6 +1,6 @@
 <?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   *
@@ -19,7 +19,6 @@
  *  59 Temple Place, Suite 330, Boston, MA  02111-1307  USA                *
  ***************************************************************************/
 
-// {{{ class MarkReq
 
 class MarkReq extends Validate
 {
@@ -32,6 +31,7 @@ class MarkReq extends Validate
     var $m_nom;
     var $m_prenom;
     var $m_promo;
+    var $m_relance;
 
     var $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.
@@ -41,13 +41,15 @@ class MarkReq extends Validate
     // {{{ constructor
 
     function MarkReq($sender, $mark_id, $email, $perso = false) {
-        global $globals;
         $this->Validate($sender, false, 'marketing');
         $this->m_id    = $mark_id;
         $this->m_email = $email;
         $this->perso   = $perso;
 
-        $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(); 
     }
 
@@ -55,7 +57,16 @@ class MarkReq extends Validate
     // {{{ function formu()
 
     function formu()
-    { return 'include/form.valid.mark.tpl'; }
+    {
+        $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
@@ -71,12 +82,12 @@ class MarkReq extends Validate
     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}).";
         }
     }
 
@@ -85,7 +96,6 @@ class MarkReq extends Validate
 
     function commit()
     {
-        global $globals;
         require_once('marketing.inc.php');
         mark_send_mail($this->m_id, $this->m_email,(!$this->perso)?"staff":"user");
         return true;
@@ -94,7 +104,5 @@ class MarkReq extends Validate
     // }}}
 }
 
-// }}}
-
-// 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:
 ?>