Add a flag "Must be validated" for medals instead of hard-coding this
[platal.git] / include / profil / get_deco.inc.php
index 083bbae..ddca970 100644 (file)
@@ -1,6 +1,6 @@
 <?php
 /***************************************************************************
- *  Copyright (C) 2003-2004 Polytechnique.org                              *
+ *  Copyright (C) 2003-2006 Polytechnique.org                              *
  *  http://opensource.polytechnique.org/                                   *
  *                                                                         *
  *  This program is free software; you can redistribute it and/or modify   *
  *  59 Temple Place, Suite 330, Boston, MA  02111-1307  USA                *
  ***************************************************************************/
 
+require_once('validations.inc.php');
+
 if (Env::has('medal_op')) {
-    if (Env::get('medal_op')=='retirer' && Env::getInt('medal_id')) {
-        $globals->xdb->execute("DELETE FROM profile_medals_sub WHERE uid = {?} AND mid = {?}", Session::getInt('uid', -1), Env::getInt('medal_id', -1));
+    if (Env::v('medal_op')=='retirer' && Env::i('medal_id')) {
+        XDB::execute("DELETE FROM profile_medals_sub WHERE uid = {?} AND mid = {?}", S::v('uid', -1), Env::i('medal_id', -1));
+    }
+
+    if (Env::v('medal_op')=='ajouter' && Env::i('medal_id')) {
+        $req = new MedalReq(S::v('uid',-1),Env::i('medal_id'), Env::i('grade_id'));
+        $req->submit();
+        unset($_REQUEST['medal_op']); // pour ne pas avoir le message d'attente de validation
     }
 
-    if (Env::get('medal_op')=='ajouter' && Env::getInt('medal_id')) {
-        $globals->xdb->execute("INSERT INTO profile_medals_sub (uid,mid) VALUES ({?}, {?})", Session::getInt('uid', -1), Env::getInt('medal_id'));
+    if (Env::v('medal_op')=='annuler' && Env::i('medal_id')) {
+        $req = Validate::get_typed_request(S::i('uid'), 'medal', Env::v('medal_id'));
+        $req->clean();
     }
 }
 if (Post::has('grade')) {
-    foreach (Post::getMixed('grade') as $mid=>$gid) {
-        $globals->xdb->execute('UPDATE profile_medals_sub SET gid={?} WHERE uid={?} AND mid={?}', $gid, Session::getInt('uid'), $mid);
+    foreach (Post::v('grade') as $mid=>$gid) {
+        XDB::execute('UPDATE profile_medals_sub SET gid={?} WHERE uid={?} AND mid={?}', $gid, S::v('uid'), $mid);
     }
 } 
 
-$res    = $globals->xdb->query(
-       "SELECT  m.id, m.text AS medal, m.type, m.img, s.gid
+$res    = XDB::query(
+       "SELECT  m.id, m.text AS medal, m.type, m.img, s.gid
            FROM  profile_medals_sub    AS s
      INNER JOIN  profile_medals        AS m ON ( s.mid = m.id )
-          WHERE  s.uid = {?}", Session::getInt('uid', -1));
+          WHERE  s.uid = {?}", S::v('uid', -1));
 
 $medals = $res->fetchAllAssoc();
 
-$res   = $globals->xdb->query("SELECT profile_medals_pub FROM auth_user_quick WHERE user_id = {?}", Session::getInt('uid', -1));
+$res   = XDB::query("SELECT profile_medals_pub FROM auth_user_quick WHERE user_id = {?}", S::v('uid', -1));
 $medals_pub = $res->fetchOneCell();
 
+$medals_valid = Validate::get_typed_requests(S::i('uid'), 'medal');
+
 if(Env::has('modifier') || Env::has('suivant')) {
     $medals_pub = Env::has('medals_pub')?'public':'private';
 }
+
 // vim:set et sws=4 sw=4 sts=4:
 ?>