Adds check for corps.
[platal.git] / classes / user.php
index ea182ef..6a3be38 100644 (file)
@@ -244,6 +244,12 @@ class User extends PlUser
         $this->perm_flags = self::makePerms($this->perms, $this->is_admin);
     }
 
+    public function setPerms($perms)
+    {
+        $this->perms = $perms;
+        $this->perm_flags = null;
+    }
+
     // We do not want to store the password in the object.
     // So, fetch it 'on demand'
     public function password()
@@ -321,11 +327,11 @@ class User extends PlUser
 
     /** Return the main profile attached with this account if any.
      */
-    public function profile($forceFetch = false)
+    public function profile($forceFetch = false, $fields = 0x0000, $visibility = null)
     {
         if (!$this->_profile_fetched || $forceFetch) {
             $this->_profile_fetched = true;
-            $this->_profile = Profile::get($this);
+            $this->_profile = Profile::get($this, $fields, $visibility);
         }
         return $this->_profile;
     }
@@ -611,7 +617,7 @@ class User extends PlUser
             $result = array();
             foreach ($this->groups as $id=>$data) {
                 if ($institutions) {
-                    if ($data['cat'] != Goup::CAT_GROUPESX && $data['cat'] != Group::CAT_INSTITUTIONS) {
+                    if ($data['cat'] != Group::CAT_GROUPESX && $data['cat'] != Group::CAT_INSTITUTIONS) {
                         continue;
                     }
                 }
@@ -807,7 +813,7 @@ class User extends PlUser
         XDB::execute('UPDATE  log_last_sessions
                          SET  id = {?}
                        WHERE  uid = {?}',
-                     $newuser->id());
+                     $lastSession, $newuser->id());
         XDB::execute('DELETE FROM  accounts
                             WHERE  uid = {?}',
                      $this->id());