IF(ef.email IS NULL, NULL, CONCAT(ef.email, \'@\', mf.name)) AS forlife,
IF(ef.email IS NULL, NULL, CONCAT(ef.email, \'@\', df.name)) AS forlife_alternate,
IF(eb.email IS NULL, NULL, CONCAT(eb.email, \'@\', mb.name)) AS bestalias,
- (er.redirect IS NULL AND a.state = \'active\') AS lost,
+ (er.redirect IS NULL AND a.state = \'active\' AND FIND_IN_SET(\'mail\', at.perms)) AS lost,
a.email, a.full_name, a.directory_name, a.display_name, a.sex = \'female\' AS gender,
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, at.description AS type_description, a.skin,
LEFT JOIN email_virtual_domains AS mf ON (ef.domain = mf.id)
LEFT JOIN email_virtual_domains AS df ON (df.aliasing = mf.id AND
df.name LIKE CONCAT(\'%\', {?}) AND df.name NOT LIKE \'alumni.%\')
- LEFT JOIN email_source_account AS eb ON (eb.uid = a.uid AND eb.flags = \'bestalias\')
+ LEFT JOIN email_source_account AS eb ON (eb.uid = a.uid AND FIND_IN_SET(\'bestalias\',eb.flags))
LEFT JOIN email_virtual_domains AS mb ON (a.best_domain = mb.id)
LEFT JOIN email_redirect_account AS er ON (er.uid = a.uid AND er.flags = \'active\' AND er.broken_level < 3
AND er.type != \'imap\' AND er.type != \'homonym\')
}
$tables = array('account_auth_openid', 'announce_read', 'contacts',
- 'email_send_save', 'email_virtual',
+ 'email_send_save',
'forum_innd', 'forum_profiles', 'forum_subs',
'group_announces_read', 'group_members',
'group_member_sub_requests', 'reminder', 'requests',
XDB::execute('DELETE FROM email_redirect_account
WHERE uid = {?} AND type != \'homonym\'',
$this->id());
+ XDB::execute('DELETE FROM email_virtual
+ WHERE redirect = {?}',
+ $this->forlifeEmail());
foreach (array('gapps_accounts', 'gapps_nicknames') as $t) {
XDB::execute('DELETE FROM ' . $t . '