Improvement.
[platal.git] / modules / profile / groups.inc.php
index 0d2df30..7ddde90 100644 (file)
@@ -1,6 +1,6 @@
 <?php
 /***************************************************************************
- *  Copyright (C) 2003-2010 Polytechnique.org                              *
+ *  Copyright (C) 2003-2014 Polytechnique.org                              *
  *  http://opensource.polytechnique.org/                                   *
  *                                                                         *
  *  This program is free software; you can redistribute it and/or modify   *
@@ -21,7 +21,7 @@
 
 class ProfileSettingSection implements ProfileSetting
 {
-    public function value(ProfilePage &$page, $field, $value, &$success)
+    public function value(ProfilePage $page, $field, $value, &$success)
     {
         $success = true;
         if (is_null($value)) {
@@ -34,12 +34,12 @@ class ProfileSettingSection implements ProfileSetting
         return intval($value);
     }
 
-    public function save(ProfilePage &$page, $field, $value)
+    public function save(ProfilePage $page, $field, $value)
     {
         XDB::execute("UPDATE  profiles
                          SET  section = {?}
                        WHERE  pid = {?}",
-                     $value, $page->pid());
+                     ($value == 0) ? null : $value, $page->pid());
     }
 
     public function getText($value) {
@@ -54,7 +54,7 @@ class ProfileSettingBinets implements ProfileSetting
     {
     }
 
-    public function value(ProfilePage &$page, $field, $value, &$success)
+    public function value(ProfilePage $page, $field, $value, &$success)
     {
         if (is_null($value)) {
             $value = array();
@@ -75,7 +75,7 @@ class ProfileSettingBinets implements ProfileSetting
         return $value;
     }
 
-    public function save(ProfilePage &$page, $field, $value)
+    public function save(ProfilePage $page, $field, $value)
     {
         XDB::execute("DELETE FROM  profile_binets
                             WHERE  pid = {?}",
@@ -96,11 +96,11 @@ class ProfileSettingBinets implements ProfileSetting
     }
 }
 
-class ProfileSettingGroups extends ProfilePage
+class ProfilePageGroups extends ProfilePage
 {
     protected $pg_template = 'profile/groups.tpl';
 
-    public function __construct(PlWizard &$wiz)
+    public function __construct(PlWizard $wiz)
     {
         parent::__construct($wiz);
         $this->settings['section']  = new ProfileSettingSection();
@@ -108,13 +108,13 @@ class ProfileSettingGroups extends ProfilePage
         $this->watched['section'] = $this->watched['binets'] = true;
     }
 
-    public function _prepare(PlPage &$page, $id)
+    public function _prepare(PlPage $page, $id)
     {
         $page->assign('mygroups', XDB::iterator("SELECT  a.nom, a.site, a.diminutif, a.unsub_url, a.pub, m.perms
                                                    FROM  groups    AS a
                                              INNER JOIN  group_members AS m ON (m.asso_id = a.id)
                                                   WHERE  m.uid = {?} AND (a.cat = 'GroupesX' OR a.cat = 'Institutions')",
-                                                $this->pid()));
+                                                $this->owner->id()));
         $page->assign('listgroups', XDB::iterator("SELECT  a.nom, a.diminutif, a.sub_url,
                                                            IF (a.cat = 'Institutions', a.cat, d.nom) AS dom
                                                      FROM  groups  AS a
@@ -122,9 +122,9 @@ class ProfileSettingGroups extends ProfilePage
                                                     WHERE  a.inscriptible != 0
                                                            AND (a.cat = 'GroupesX' OR a.cat = 'Institutions')
                                                  ORDER BY  a.cat, a.dom, a.nom"));
-        $page->assign('old', (int) date('Y') >= $page->profile->grad_year);
+        $page->assign('old', (int) date('Y') >= $this->profile->grad_year);
     }
 }
 
-// vim:set et sw=4 sts=4 sws=4 foldmethod=marker enc=utf-8:
+// vim:set et sw=4 sts=4 sws=4 foldmethod=marker fenc=utf-8:
 ?>