$joins .= XDB::format("LEFT JOIN group_members AS gpm ON (gpm.uid = a.uid AND gpm.asso_id = {?})\n", $globals->asso('id'));
$fields[] = 'gpm.perms AS group_perms';
$fields[] = 'gpm.comm AS group_comm';
+ $fields[] = 'gpm.position AS group_position';
}
if (count($fields) > 0) {
$fields = ', ' . implode(', ', $fields);
$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;
}
'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());