Merge branch 'master' into fusionax
[platal.git] / include / validations / orange.inc.php
index 439961e..1d2acda 100644 (file)
@@ -1,6 +1,6 @@
 <?php
 /***************************************************************************
- *  Copyright (C) 2003-2006 Polytechnique.org                              *
+ *  Copyright (C) 2003-2009 Polytechnique.org                              *
  *  http://opensource.polytechnique.org/                                   *
  *                                                                         *
  *  This program is free software; you can redistribute it and/or modify   *
@@ -25,67 +25,68 @@ class OrangeReq extends Validate
 {
     // {{{ properties
 
-    var $unique = true;
+    public $unique = true;
 
-    var $promo;
-    var $promo_sortie;
-    
-    var $rules = "A priori accepter (la validation sert à repousser les
-    petits malins). Refuse si tu connais la personne et que tu es sure 
+    public $oldGradYear;
+    public $newGradYear;
+    public $entryYear;
+
+    public $rules = "À priori accepter (la validation sert à repousser les
+    petits malins). Refuse si tu connais la personne et que tu es sûr
     qu'elle n'est pas orange.";
 
     // }}}
     // {{{ constructor
 
-    function OrangeReq($_uid, $_sortie)
+    public function __construct(User &$_user, $_newGradYear)
     {
-        $this->Validate($_uid, true, 'orange');
-        $this->promo_sortie  = $_sortie;
-        $res = XDB::query("SELECT promo FROM auth_user_md5 WHERE user_id = {?}", $_uid);
-        $this->promo = $res->fetchOneCell(); 
+        parent::__construct($_user, true, 'orange');
+        $this->newGradYear  = $_newGradYear;
+        $res = XDB::query("SELECT  entry_year
+                             FROM  profile_education
+                            WHERE  uid = {?} AND FIND_IN_SET('primary', flags)", $this->user->id());
+        $this->entryYear   = $res->fetchOneCell();
+        $this->oldGradYear = $this->entryYear + 3;
     }
 
     // }}}
-    // {{{ function get_request()
+    // {{{ function formu()
 
-    function get_request($uid)
+    public function formu()
     {
-        return parent::get_request($uid,'orange');
+        return 'include/form.valid.orange.tpl';
     }
 
     // }}}
-    // {{{ function formu()
-
-    function formu()
-    { return 'include/form.valid.orange.tpl'; }
-
-    // }}}
     // {{{ function _mail_subj()
 
-    function _mail_subj()
+    protected function _mail_subj()
     {
-        return "[Polytechnique.org/ORANGE] Changement de nom de promo de sortie";
+        return "[Polytechnique.org/ORANGE] Changement de promo de sortie";
     }
 
     // }}}
     // {{{ function _mail_body
 
-    function _mail_body($isok)
+    protected function _mail_body($isok)
     {
         if ($isok) {
-            $res = "  La demande de changement de promo de sortie que tu as demandée vient d'être effectuée.";
-            return $res;
+            return "  La demande de changement de promotion de sortie que tu as demandée vient d'être effectuée. "
+                   . "Si tu le souhaites, tu peux maintenant modifier l'affichage de ta promotion sur le site sur la page suivante : "
+                   . "https://www.polytechnique.org/profile/edit";
         } else {
-            return "  La demande de changement de promo de sortie tu avais faite a été refusée.";
+            return "  La demande de changement de promotion de sortie tu avais faite a été refusée.";
         }
     }
 
     // }}}
     // {{{ function commit()
 
-    function commit()
+    public function commit()
     {
-        XDB::execute("UPDATE auth_user_md5 set promo_sortie={?} WHERE user_id={?}",$this->promo_sortie ,$this->uid);
+        XDB::execute("UPDATE  profile_education
+                         SET  grad_year = {?}
+                       WHERE  uid = {?} AND FIND_IN_SET('primary', flags)", $this->newGradYear, $this->user->id());
         return true;
     }
 
@@ -93,5 +94,5 @@ class OrangeReq 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:
 ?>