Merge remote branch 'origin/platal-1.0.0'
[platal.git] / modules / profile / decos.inc.php
index 10305bf..fa40cf9 100644 (file)
@@ -38,8 +38,8 @@ class ProfileSettingDeco implements ProfileSetting
             }
 
             // Fetch not yet validated medals
-            require_once('validations.inc.php');
-            $medals = Validate::get_typed_requests(S::i('uid'), 'medal');
+            require_once 'validations.inc.php';
+            $medals = ProfileValidate::get_typed_requests($page->pid(), 'medal');
             foreach ($medals as &$medal) {
                 $value[$medal->mid] = array('grade' => $medal->gid,
                                             'valid' => '0');
@@ -53,7 +53,7 @@ class ProfileSettingDeco implements ProfileSetting
 
     public function save(ProfilePage &$page, $field, $value)
     {
-        require_once('validations.inc.php');
+        require_once 'validations.inc.php';
 
         $orig =& $page->orig[$field];
 
@@ -65,7 +65,7 @@ class ProfileSettingDeco implements ProfileSetting
                                         WHERE  pid = {?} AND mid = {?}",
                                  $page->pid(), $id);
                 } else {
-                    $req = MedalReq::get_request(S::i('uid'), $id);
+                    $req = MedalReq::get_request($page->pid(), $id);
                     if ($req) {
                         $req->clean();
                     }
@@ -76,12 +76,21 @@ class ProfileSettingDeco implements ProfileSetting
         // Add new ones
         foreach ($value as $id=>&$val) {
             if (!isset($orig[$id]) || $orig[$id]['grade'] != $val['grade']) {
-                $req = new MedalReq(S::user(), $id, $val['grade']);
+                $req = new MedalReq(S::user(), $page->profile, $id, $val['grade']);
                 $req->submit();
                 sleep(1);
             }
         }
     }
+
+    public function getText($value) {
+        $medalsList = DirEnum::getOptions(DirEnum::MEDALS);
+        $medals = array();
+        foreach ($value as $id => $medal) {
+            $medals[] = $medalsList[$id];
+        }
+        return implode(', ', $medals);
+    }
 }
 
 class ProfileSettingDecos extends ProfilePage
@@ -117,21 +126,24 @@ class ProfileSettingDecos extends ProfilePage
 
     public function _prepare(PlPage &$page, $id)
     {
-        $res    = XDB::iterator("SELECT  *, FIND_IN_SET('validation', flags) AS validate
-                                   FROM  profile_medal_enum
-                               ORDER BY  type, text");
-        $mlist  = array();
+        $res = XDB::iterator('SELECT  *, FIND_IN_SET(\'validation\', flags) AS validate
+                                FROM  profile_medal_enum
+                            ORDER BY  type, text');
+        $mlist = array();
         while ($tmp = $res->next()) {
             $mlist[$tmp['type']][] = $tmp;
         }
         $page->assign('medal_list', $mlist);
-        $trad = Array('ordre'      => 'Ordres',
-                      'croix'      => 'Croix',
-                      'militaire'  => 'Médailles militaires',
-                      'honneur'    => 'Médailles d\'honneur',
-                      'resistance' => 'Médailles de la résistance',
-                      'prix'       => 'Prix');
-        $page->assign('trad', $trad);
+        $fullType = array(
+            'ordre'      => 'Ordres',
+            'croix'      => 'Croix',
+            'militaire'  => 'Médailles militaires',
+            'honneur'    => 'Médailles d\'honneur',
+            'resistance' => 'Médailles de la résistance',
+            'prix'       => 'Prix',
+            'sport'      => 'Médailles sportives'
+        );
+        $page->assign('fullType', $fullType);
     }
 }