$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.
$uname = Post::v('username');
if (Post::s('domain') == "alias") {
$login = XDB::fetchOneCell('SELECT uid
- FROM email_source_account AS e
- INNER JOIN email_virtual_domains AS d ON (e.domain = d.id)
- WHERE e.email = {?} AND d.name = {?}',
- $uname, Platal::globals()->mail->alias_dom);
+ FROM email_source_account
+ WHERE email = {?} AND type = \'alias_aux\'',
+ $uname);
$loginType = 'uid';
} else if (Post::s('domain') == "ax") {
$login = $uname;
// function commit() {{{2
public function commit()
{
- global $globals;
-
if ($this->user->hasProfile()) {
XDB::execute('UPDATE profiles
SET alias_pub = {?}
}
if ($this->old) {
- $success = XDB::execute('UPDATE email_source_account AS s
- INNER JOIN email_virtual_domains AS d ON (s.domain = d.id)
- SET s.email = {?}
- WHERE s.uid = {?} AND d.name = {?}',
- $this->alias, $this->user->id(), $globals->mail->alias_dom);
+ $success = XDB::execute('UPDATE email_source_account
+ SET email = {?}
+ WHERE uid = {?} AND type = \'alias_aux\'',
+ $this->alias, $this->user->id());
} else {
$success = XDB::execute('INSERT INTO email_source_account (email, uid, domain, type, flags)
- SELECT {?}, {?}, id, \'alias\', \'\'
+ SELECT {?}, {?}, id, \'alias_aux\', \'\'
FROM email_virtual_domains
WHERE name = {?}',
- $this->alias, $this->user->id(), $globals->mail->alias_dom);
+ $this->alias, $this->user->id(), Platal::globals()->mail->alias_dom);
}
return $success;
}
} elseif ($domain == $globals->mail->domain || $domain == $globals->mail->domain2) {
XDB::execute('INSERT INTO email_source_account (email, uid, domain, type, flags)
- SELECT {?}, {?}, id, \'alias\', \'\'
+ SELECT {?}, {?}, id, \'alias_aux\', \'\'
FROM email_virtual_domains
WHERE name = {?}',
$alias, $user->id(), $globals->mail->alias_dom);
$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,
FIND_IN_SET('bestalias', s.flags) AS bestalias, s.expire,
- (d.name = {?}) AS alias
+ (s.type = 'alias_aux') AS alias
FROM email_source_account AS s
INNER JOIN email_virtual_domains AS d ON (s.domain = d.id)
WHERE s.uid = {?}
ORDER BY !alias, s.email",
- $globals->mail->alias_dom, $user->id());
+ $user->id());
$page->assign('aliases', $aliases);
$page->assign('account_types', XDB::iterator('SELECT * FROM account_types ORDER BY type'));
$page->assign('skins', XDB::iterator('SELECT id, name FROM skins ORDER BY name'));
$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,
FIND_IN_SET('bestalias', s.flags) AS bestalias, s.expire,
- (d.name = {?}) AS alias
+ (s.type = 'alias_aux') AS alias
FROM email_source_account AS s
INNER JOIN email_virtual_domains AS d ON (s.domain = d.id)
WHERE s.uid = {?}
ORDER BY !alias, s.email",
- $globals->mail->alias_dom, $user->id());
+ $user->id());
$page->assign('aliases', $aliases);
- $alias = XDB::fetchOneCell('SELECT COUNT(s.email)
- FROM email_source_account AS s
- INNER JOIN email_virtual_domains AS d ON (s.domain = d.id)
- WHERE s.uid = {?} AND d.name = {?}',
- $user->id(), $globals->mail->alias_dom);
+ $alias = XDB::fetchOneCell('SELECT COUNT(email)
+ FROM email_source_account
+ WHERE uid = {?} AND type = \'alias_aux\'',
+ $user->id());
$page->assign('alias', $alias);
if ($action == 'delete') {
S::assert_xsrf_token();
- XDB::execute('DELETE s
- FROM email_source_account AS s
- INNER JOIN email_virtual_domains AS d ON (s.domain = d.id)
- WHERE s.uid = {?} AND d.name = {?}',
- $user->id(), $globals->mail->alias_dom);
+ XDB::execute('DELETE FROM email_source_account
+ WHERE uid = {?} AND type = \'alias_aux\'',
+ $user->id());
require_once 'emails.inc.php';
fix_bestalias($user);
}
- // Fetch existing @alias_dom aliases.
+ // Fetch existing auxiliary aliases.
list($alias, $old_alias) = XDB::fetchOneRow('SELECT CONCAT(s.email, \'@\', d.name), s.email
FROM email_source_account AS s
INNER JOIN email_virtual_domains AS d ON (s.domain = d.id)
- WHERE s.uid = {?} AND d.name = {?}',
- $user->id(), $globals->mail->alias_dom);
+ WHERE s.uid = {?} AND s.type = \'alias_aux\'',
+ $user->id());
$visibility = $user->hasProfile() && ($user->profile(true)->alias_pub == 'public');
$page->assign('current', $alias);
$page->assign('user', $user);
return;
} else {
// Checks if the alias has already been given.
- $res = XDB::query('SELECT COUNT(s.email)
- FROM email_source_account AS s
- INNER JOIN email_virtual_domains AS d ON (s.domain = d.id)
- WHERE s.email = {?} AND d.name = {?}',
- $new_alias, $globals->mail->alias_dom);
+ $res = XDB::query('SELECT COUNT(email)
+ FROM email_source_account
+ WHERE email = {?} AND type = \'alias_aux\'',
+ $new_alias);
if ($res->fetchOneCell() > 0) {
$page->trigError("L'alias $new_alias a déja été attribué. Tu ne peux donc pas l'obtenir.");
return;
INNER JOIN email_virtual_domains AS m ON (s.domain = m.id)
INNER JOIN email_virtual_domains AS d ON (m.id = d.aliasing)
WHERE s.uid = {?}
- ORDER BY NOT (m.name = {?}), s.email, d.name',
- $user->id(), $globals->mail->alias_dom);
+ ORDER BY NOT(s.type = \'alias_aux\'), s.email, d.name',
+ $user->id());
$page->assign('alias', $alias->fetchAllAssoc());
$page->assign('emails', $redirect->emails);
function smarty_insert_getUsername()
{
- global $globals;
-
$id = Cookie::i('uid', -1);
$id = S::v('uid', $id);
if (Cookie::v('domain', 'login') != 'alias') {
return XDB::fetchOneCell('SELECT email
- FROM email_source_account AS e
- INNER JOIN email_virtual_domains AS d ON (e.domain = d.id)
- WHERE e.uid = {?} AND d.name = {?} AND FIND_IN_SET(\'bestalias\', e.flags)',
- $id, $globals->mail->domain);
+ FROM email_source_account
+ WHERE uid = {?} AND type != \'alias_aux\' AND FIND_IN_SET(\'bestalias\', flags)',
+ $id);
} else {
return XDB::fetchOneCell('SELECT email
- FROM email_source_account AS e
- INNER JOIN email_virtual_domains AS d ON (e.domain = d.id)
- WHERE e.uid = {?} AND d.name = {?}',
- $id, $globals->mail->alias_dom);
+ FROM email_source_account
+ WHERE uid = {?} AND type = \'alias_aux\'',
+ $id);
}
return '';
email VARCHAR(255) NOT NULL,
domain SMALLINT(3) UNSIGNED NOT NULL DEFAULT 1,
uid INT(11) UNSIGNED NOT NULL,
- type ENUM('forlife', 'alias') NOT NULL DEFAULT 'forlife',
+ type ENUM('forlife', 'alias', 'alias_aux') NOT NULL DEFAULT 'forlife',
flags SET('bestalias', 'usage', 'marital') NOT NULL DEFAULT '',
expire DATE DEFAULT NULL,
PRIMARY KEY (email, domain),
FROM aliases
WHERE type = 'a_vie' OR type = 'alias';
INSERT INTO email_source_account (uid, domain, email, type)
- SELECT a.uid, @m_domain_id, SUBSTRING_INDEX(v.alias, '@', 1), 'alias'
+ SELECT a.uid, @m_domain_id, SUBSTRING_INDEX(v.alias, '@', 1), 'alias_aux'
FROM virtual AS v
LEFT JOIN virtual_redirect AS vr ON (v.vid = vr.vid)
LEFT JOIN accounts AS a ON (a.hruid = LEFT(vr.redirect, LOCATE('@', vr.redirect) - 1))