$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()
/** 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;
}
$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;
}
}
'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 = {?}',
}
}
- $mmlist = new MMList($this);
+ $mmlist = new MMList(S::user());
$mmlist->kill($this->hruid, $clearAll);
}
XDB::execute('UPDATE log_last_sessions
SET id = {?}
WHERE uid = {?}',
- $newuser->id());
+ $lastSession, $newuser->id());
XDB::execute('DELETE FROM accounts
WHERE uid = {?}',
$this->id());