Happy New Year!
[platal.git] / include / validations / orange.inc.php
index 1d2acda..61883ed 100644 (file)
@@ -1,6 +1,6 @@
 <?php
 /***************************************************************************
- *  Copyright (C) 2003-2009 Polytechnique.org                              *
+ *  Copyright (C) 2003-2011 Polytechnique.org                              *
  *  http://opensource.polytechnique.org/                                   *
  *                                                                         *
  *  This program is free software; you can redistribute it and/or modify   *
@@ -21,7 +21,7 @@
 
 // {{{ class OrangeReq
 
-class OrangeReq extends Validate
+class OrangeReq extends ProfileValidate
 {
     // {{{ properties
 
@@ -38,15 +38,17 @@ class OrangeReq extends Validate
     // }}}
     // {{{ constructor
 
-    public function __construct(User &$_user, $_newGradYear)
+    public function __construct(User &$_user, Profile &$_profile, $_newGradYear)
     {
-        parent::__construct($_user, true, 'orange');
+        parent::__construct($_user, $_profile, true, 'orange');
         $this->newGradYear  = $_newGradYear;
-        $res = XDB::query("SELECT  entry_year
+        $res = XDB::query("SELECT  entry_year, grad_year
                              FROM  profile_education
-                            WHERE  uid = {?} AND FIND_IN_SET('primary', flags)", $this->user->id());
-        $this->entryYear   = $res->fetchOneCell();
-        $this->oldGradYear = $this->entryYear + 3;
+                            WHERE  pid = {?} AND FIND_IN_SET('primary', flags)",
+                          $this->profile->id());
+        $years = $res->fetchOneRow();
+        $this->entryYear   = $years[0];
+        $this->oldGradYear = $years[1];
     }
 
     // }}}
@@ -71,11 +73,11 @@ class OrangeReq extends Validate
     protected function _mail_body($isok)
     {
         if ($isok) {
-            return "  La demande de changement de promotion de sortie que tu as demandée vient d'être effectuée. "
+            return "  La demande de changement de promotion 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 promotion de sortie tu avais faite a été refusée.";
+            return "  La demande de changement de promotion tu avais faite a été refusée.";
         }
     }
 
@@ -86,7 +88,8 @@ class OrangeReq extends Validate
     {
         XDB::execute("UPDATE  profile_education
                          SET  grad_year = {?}
-                       WHERE  uid = {?} AND FIND_IN_SET('primary', flags)", $this->newGradYear, $this->user->id());
+                       WHERE  pid = {?} AND FIND_IN_SET('primary', flags)",
+                     $this->newGradYear, $this->profile->id());
         return true;
     }