X-Git-Url: http://git.polytechnique.org/?a=blobdiff_plain;ds=sidebyside;f=classes%2Fuser.php;h=fb9059c4b6d482a642eb51498c6c09c03da04453;hb=2d89ec936167033886ae76b153605d7ccf19bc20;hp=ea182ef523c47d91e97b875c4cc98a1e4d3576e9;hpb=c1e906cb46859bb1c1b44364f9fa5d4d7cd2f347;p=platal.git diff --git a/classes/user.php b/classes/user.php index ea182ef..fb9059c 100644 --- a/classes/user.php +++ b/classes/user.php @@ -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; } } @@ -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());