X-Git-Url: http://git.polytechnique.org/?a=blobdiff_plain;f=include%2Fvalidations%2Fmedals.inc.php;h=dbfbb4b2083b73e0b02ff09a0944c1a25c5d9f2d;hb=cafb410fea6f257f45da08631c6cdb5c35f86b17;hp=46bf272d0ea126bf144045ca2e16c0a9d22b766d;hpb=bdd977d7134cbd9783745d4bfd0ed84c58961c5f;p=platal.git diff --git a/include/validations/medals.inc.php b/include/validations/medals.inc.php index 46bf272..dbfbb4b 100644 --- a/include/validations/medals.inc.php +++ b/include/validations/medals.inc.php @@ -21,7 +21,7 @@ // {{{ class MedalReq -class MedalReq extends Validate +class MedalReq extends ProfileValidate { // {{{ properties @@ -31,9 +31,9 @@ class MedalReq extends Validate // }}} // {{{ constructor - public function __construct(User &$_user, $_idmedal, $_subidmedal, $_stamp=0) + public function __construct(User &$_user, Profile &$_profile, $_idmedal, $_subidmedal, $_stamp = 0) { - parent::__construct($_user, false, 'medal', $_stamp); + parent::__construct($_user, $_profile, false, 'medal', $_stamp); $this->mid = $_idmedal; $this->gid = $_subidmedal; if (is_null($this->gid)) { @@ -54,7 +54,7 @@ class MedalReq extends Validate protected function _mail_subj() { - return "[Polytechnique.org/Décoration] Demande de décoration : ".$this->medal_name(); + return '[Polytechnique.org/Décoration] Demande de décoration : ' . $this->medal_name(); } // }}} @@ -63,9 +63,9 @@ class MedalReq extends Validate protected function _mail_body($isok) { if ($isok) { - return " La décoration ".$this->medal_name()." vient d'être ajoutée à ta fiche."; + return ' La décoration ' . $this->medal_name() . ' vient d\'être ajoutée à ta fiche.'; } else { - return " La demande que tu avais faite pour la décoration ".$this->medal_name()." a été refusée."; + return ' La demande que tu avais faite pour la décoration ' . $this->medal_name() . ' a été refusée.'; } } @@ -74,13 +74,10 @@ class MedalReq extends Validate public function medal_name() { - //var_dump($this); - $r = XDB::query(" - SELECT IF (g.text IS NOT NULL, CONCAT(m.text,' - ', g.text), m.text) - FROM profile_medal_enum AS m - LEFT JOIN profile_medal_enum_grades AS g ON(g.mid = m.id AND g.gid = {?}) - WHERE m.id = {?}", $this->gid, $this->mid); - return $r->fetchOneCell(); + $res = XDB::query('SELECT m.text + FROM profile_medal_enum AS m + WHERE m.id = {?}', $this->mid); + return $res->fetchOneCell(); } // }}} @@ -103,20 +100,19 @@ class MedalReq extends Validate public function commit () { - require_once 'notifs.inc.php'; - register_watch_op($this->user->id(), WATCH_FICHE, '', 'medals'); - return XDB::execute('REPLACE INTO profile_medals - VALUES ({?}, {?}, {?})', - $this->user->profile()->id(), $this->mid, + return XDB::execute('INSERT INTO profile_medals (pid, mid, gid) + VALUES ({?}, {?}, {?}) + ON DUPLICATE KEY UPDATE gid = VALUES(gid)', + $this->profile->id(), $this->mid, is_null($this->gid) ? 0 : $this->gid); } // }}} // {{{ function get_request($medal) - static public function get_request($uid, $type) + static public function get_request($pid, $type) { - $reqs = Validate::get_typed_requests($uid, 'medal'); + $reqs = parent::get_typed_requests($pid, 'medal'); foreach ($reqs as &$req) { if ($req->mid == $type) { return $req;