X-Git-Url: http://git.polytechnique.org/?a=blobdiff_plain;f=include%2Fvalidations%2Faliases.inc.php;h=a252eb7fe60a10140df407bdecd215149faf7076;hb=6a4f0f01c24378ab955d780ce7ea16ad34580d71;hp=42465b92083ee51d36f0e3b6c2a91160918d85b0;hpb=50a40a33a496131e817df875607ea5542d096a64;p=platal.git diff --git a/include/validations/aliases.inc.php b/include/validations/aliases.inc.php index 42465b9..a252eb7 100644 --- a/include/validations/aliases.inc.php +++ b/include/validations/aliases.inc.php @@ -1,6 +1,6 @@ Validate($_uid, true, 'alias', $_stamp); + parent::__construct($_user, true, 'alias', $_stamp); $this->alias = $_alias.'@'.$globals->mail->alias_dom; $this->raison = $_raison; $this->public = $_public; - - $res = $globals->xdb->query(" - SELECT v.alias - FROM virtual_redirect AS vr - INNER JOIN virtual AS v ON (v.vid=vr.vid AND v.alias LIKE '%@{$globals->mail->alias_dom}') - WHERE vr.redirect={?} OR vr.redirect={?}", - "{$this->forlife}@{$globals->mail->domain}", "{$this->forlife}@{$globals->mail->domain2}"); - $this->old = $res->fetchOneCell(); - if (empty($this->old)) { unset($this->old); } + $this->old = $user->emailAlias(); + if (empty($this->old)) { + unset($this->old); + } } - // }}} - // {{{ function get_request() - - function get_request($uid) + // function get_request() {{{2 + static public function get_request($uid) { - return parent::get_request($uid,'alias'); + return parent::get_typed_request($uid, 'alias'); } - // }}} - // {{{ function formu() - - function formu() - { return 'include/form.valid.aliases.tpl'; } - - // }}} - // {{{ function _mail_subj + // function formu() {{{2 + public function formu() + { + return 'include/form.valid.aliases.tpl'; + } - function _mail_subj() + // function _mail_subj {{{2 + protected function _mail_subj() { return "[Polytechnique.org/MELIX] Demande de l'alias {$this->alias}"; } - // }}} - // {{{ function _mail_body - - function _mail_body($isok) + // function _mail_body {{{2 + protected function _mail_body($isok) { if ($isok) { - return " L'adresse mail {$this->alias} que tu avais demandée vient d'être créée, tu peux désormais l'utiliser à ta convenance.".(($this->public == 'public')?" A ta demande, cette adresse apparaît maintenant sur ta fiche.":""); + return " L'adresse email {$this->alias} que tu avais demandée vient d'être créée, tu peux désormais l'utiliser à ta convenance." + . ($this->public == 'public' ? ' A ta demande, cette adresse apparaît maintenant sur ta fiche.' : ''); } else { - return " La demande que tu avais faite pour l'alias {$this->alias} a été refusée."; + return " La demande que tu avais faite pour l'alias {$this->alias} a été refusée."; } } - // }}} - // {{{ function commit() - - function commit () + // function commit() {{{2 + public function commit() { - global $globals; - - $globals->xdb->execute("UPDATE auth_user_quick SET emails_alias_pub = {?} WHERE user_id = {?}", $this->public, $this->uid); + if ($this->user->hasProfile()) { + XDB::execute('UPDATE profiles + SET alias_pub = {?} + WHERE pid = {?}', + $this->public, $this->user->profile()->id()); + } if ($this->old) { - return $globals->xdb->execute('UPDATE virtual SET alias={?} WHERE alias={?}', $this->alias, $this->old); + return XDB::execute('UPDATE virtual + SET alias = {?} + WHERE alias = {?}', + $this->alias, $this->old); } else { - $globals->xdb->execute('INSERT INTO virtual SET alias={?},type="user"', $this->alias); - $vid = mysql_insert_id(); - $dom = $globals->mail->shorter_domain(); - return $globals->xdb->query('INSERT INTO virtual_redirect (vid,redirect) VALUES ({?}, {?})', $vid, $this->forlife.'@'.$dom); + XDB::execute('INSERT INTO virtual + SET alias = {?}, type=\'user\'', + $this->alias); + $vid = XDB::insertId(); + return XDB::execute('INSERT INTO virtual_redirect (vid, redirect) + VALUES ({?}, {?})', + $vid, $this->user->forlifeEmail()); } } - - // }}} } -// }}} - -// vim:set et sw=4 sts=4 sws=4 foldmethod=marker: +// vim:set et sw=4 sts=4 sws=4 foldmethod=marker enc=utf-8: ?>