- $sql = "SELECT alias, (type='a_vie') AS a_vie,
- (alias REGEXP '\\\\.[0-9]{2}$') AS cent_ans,
- FIND_IN_SET('bestalias',flags) AS best, expire
- FROM aliases
- WHERE uid = {?} AND type!='homonyme'
- ORDER BY LENGTH(alias)";
- $page->assign('aliases', XDB::iterator($sql, $user->id()));
+ $aliases = XDB::iterator("SELECT CONCAT(s.email, '@', d.name) AS email, (s.type = 'forlife') AS forlife,
+ (s.email REGEXP '\\\\.[0-9]{2}$') AS hundred_year, s.expire,
+ (FIND_IN_SET('bestalias', s.flags) AND a.best_domain = d.id) AS bestalias,
+ ((s.type = 'alias_aux') AND d.aliasing = d.id) AS alias
+ FROM email_source_account AS s
+ INNER JOIN accounts AS a ON (s.uid = a.uid)
+ 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 = {?}
+ ORDER BY !alias, s.email, d.name",
+ $user->id());
+ $aliases_forlife = array();
+ $aliases_hundred = array();
+ $aliases_other = array();
+ while ($a = $aliases->next()) {
+ if ($a['forlife']) {
+ $aliases_forlife[] = $a;
+ } elseif ($a['hundred_year']) {
+ $aliases_hundred[] = $a;
+ } else {
+ $aliases_other[] = $a;
+ }
+ }
+ $page->assign('aliases_forlife', $aliases_forlife);
+ $page->assign('aliases_hundred', $aliases_hundred);
+ $page->assign('aliases_other', $aliases_other);
+
+ $alias = XDB::fetchOneCell('SELECT COUNT(email)
+ FROM email_source_account
+ WHERE uid = {?} AND type = \'alias_aux\'',
+ $user->id());
+ $page->assign('alias', $alias);
+