$this->id(), $profile->id());
}
- /** Fetch existing @alias_dom alias.
+ /** Fetch existing auxiliary alias.
*/
public function emailAlias()
{
return null;
}
- /** Fetch existing @alias_dom aliases.
+ /** Fetch existing auxiliary aliases.
*/
public function emailAliases()
{
FROM email_source_account AS s
INNER JOIN email_virtual_domains AS m ON (s.domain = m.id)
INNER JOIN email_virtual_domains AS d ON (d.aliasing = m.id)
- WHERE s.uid = {?} AND m.name = {?}
+ WHERE s.uid = {?} AND s.type = \'alias_aux\'
ORDER BY d.name',
- $this->id(), Platal::globals()->mail->alias_dom);
+ $this->id());
}
/** Get all group aliases the user belongs to.
INNER JOIN email_source_account AS s ON (s.uid = {?})
INNER JOIN email_virtual_domains AS ms ON (s.domain = ms.id)
INNER JOIN email_virtual_domains AS ds ON (ds.aliasing = ms.id)
- WHERE v.redirect = CONCAT(s.email, \'@\', ds.name) AND v.type = \'user\'',
+ WHERE v.redirect = CONCAT(s.email, \'@\', ds.name) AND v.type = \'alias\'',
$this->id());
} else {
- return XDB::fetchAllAssoc('SELECT CONCAT(v.email, \'@\', dv.name) AS alias, v.uid IS NOT NULL AS sub
+ return XDB::fetchAllAssoc('alias',
+ 'SELECT CONCAT(v.email, \'@\', dv.name) AS alias, MAX(v.redirect = CONCAT(s.email, \'@\', ds.name)) AS sub
FROM email_virtual AS v
INNER JOIN email_virtual_domains AS dv ON (v.domain = dv.id AND dv.name = {?})
INNER JOIN email_source_account AS s ON (s.uid = {?})
INNER JOIN email_virtual_domains AS ms ON (s.domain = ms.id)
INNER JOIN email_virtual_domains AS ds ON (ds.aliasing = ms.id)
- WHERE v.redirect = CONCAT(s.email, \'@\', ds.name) AND v.type = \'user\'',
+ WHERE v.type = \'alias\'
+ GROUP BY v.email
+ ORDER BY v.email',
$domain, $this->id());
}
}