}
if ($login instanceof User) {
- $machin->id();
+ return $login->id();
}
if ($login instanceof Profile) {
IF (ab.alias IS NULL, NULL, CONCAT(ab.alias, \'@' . $globals->mail->domain . '\')) AS bestalias,
IF (ab.alias IS NULL, NULL, CONCAT(ab.alias, \'@' . $globals->mail->domain2 . '\')) AS bestalias_alternate,
a.email, a.full_name, a.directory_name, a.display_name, a.sex = \'female\' AS gender,
- IF(a.state = \'active\', at.perms, \'\') AS perms,
- a.email_format, a.is_admin, a.state, a.type, a.skin,
+ IF(a.state = \'active\', CONCAT(at.perms, \',\', IF(a.user_perms IS NULL, \'\', a.user_perms)), \'\') AS perms,
+ a.user_perms, a.email_format, a.is_admin, a.state, a.type, a.skin,
FIND_IN_SET(\'watch\', a.flags) AS watch, a.comment,
a.weak_password IS NOT NULL AS weak_access, g.g_account_name IS NOT NULL AS googleapps,
a.token IS NOT NULL AS token_access, a.token, a.last_version,
}
// Updates user in following tables.
- foreach (array('group_announces', 'payment_transactions', 'log_sessions') as $table) {
+ foreach (array('group_announces', 'payment_transactions', 'log_sessions', 'group_events') as $table) {
XDB::execute('UPDATE ' . $table . '
SET uid = {?}
WHERE uid = {?}',
$newuser->id(), $this->id());
}
- XDB::execute('UPDATE group_events
- SET organisateur_uid = {?}
- WHERE organisateur_uid = {?}',
- $newuser->id(), $this->id());
// Merges user in following tables, ie updates when possible, then deletes remaining occurences of the old user.
foreach (array('group_announces_read', 'group_event_participants', 'group_member_sub_requests', 'group_members') as $table) {
if ($is_admin) {
$flags->addFlag(PERMS_ADMIN);
}
+
+ // Access to private directory implies access to 'less'-private version.
+ if ($flags->hasFlag('directory_private')) {
+ $flags->addFlag('directory_ax');
+ }
return $flags;
}