- XDB::execute("INSERT INTO aliases (id,alias,type) VALUES ({?}, {?}, 'alias')",
- $mr['user_id'], Env::v('email'));
+ global $globals;
+ $alias = trim(Env::v('email'));
+ if (strpos($alias, '@') !== false) {
+ list($alias, $domain) = explode('@', $alias);
+ } else {
+ $domain = $globals->mail->domain;
+ }
+ if (!preg_match('/[-a-z0-9\.]+/s', $alias)) {
+ $page->trigError("'$alias' n'est pas un alias valide");
+ }
+ if ($domain == $globals->mail->alias_dom || $domain == $globals->mail->alias_dom2) {
+ $req = new AliasReq($mr['user_id'], $alias, 'Admin request', false);
+ if ($req->commit()) {
+ $page->trigSuccess("Nouvel alias '$alias@$domain' attribué");
+ } else {
+ $page->trigError("Impossible d'ajouter l'alias '$alias@$domain', il est probablement déjà attribué");
+ }
+ } elseif ($domain == $globals->mail->domain || $domain == $globals->mail->domain2) {
+ if (XDB::execute("INSERT INTO aliases (id,alias,type) VALUES ({?}, {?}, 'alias')",
+ $mr['user_id'], $alias)) {
+ $page->trigSuccess("Nouvel alias '$alias' ajouté");
+ } else {
+ $page->trigError("Impossible d'ajouter l'alias '$alias', il est probablement déjà attribué");
+ }
+ } else {
+ $page->trigError("Le domaine '$domain' n'est pas valide");
+ }