Merge remote branch 'origin/xorg/maint' into xorg/1.0.2/master
[platal.git] / classes / user.php
index 60919a3..fb9059c 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;
     }
@@ -684,7 +690,7 @@ class User extends PlUser
                             'forum_innd', 'forum_profiles', 'forum_subs',
                             'group_announces_read', 'group_members',
                             'group_member_sub_requests', 'reminder', 'requests',
-                            'requests_hidden');
+                            'requests_hidden', 'aliases');
             foreach ($tables as $t) {
                 XDB::execute('DELETE FROM  ' . $t . '
                                     WHERE  uid = {?}',
@@ -722,7 +728,7 @@ class User extends PlUser
             }
         }
 
-        $mmlist = new MMList($this);
+        $mmlist = new MMList(S::user());
         $mmlist->kill($this->hruid, $clearAll);
     }
 
@@ -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());