alias = $_alias.'@'.$globals->mail->alias_dom; $this->raison = $_raison; $this->public = $_public; $res = 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); } } // }}} // {{{ function get_request() static public function get_request($uid) { return parent::get_typed_request($uid,'alias'); } // }}} // {{{ function formu() public function formu() { return 'include/form.valid.aliases.tpl'; } // }}} // {{{ function _mail_subj protected function _mail_subj() { return "[Polytechnique.org/MELIX] Demande de l'alias {$this->alias}"; } // }}} // {{{ function _mail_body 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.":""); } else { return " La demande que tu avais faite pour l'alias {$this->alias} a été refusée."; } } // }}} // {{{ function shorter_domain private function shorter_domain() { global $globals; $mail = $globals->mail; if (empty($mail->domain2) || strlen($mail->domain2) > strlen($mail->domain)) { return $mail->domain; } else { return $mail->domain2; } } // }}} // {{{ function commit() public function commit () { XDB::execute("UPDATE auth_user_quick SET emails_alias_pub = {?} WHERE user_id = {?}", $this->public, $this->uid); if ($this->old) { return XDB::execute('UPDATE virtual SET alias={?} WHERE alias={?}', $this->alias, $this->old); } else { XDB::execute('INSERT INTO virtual SET alias={?},type="user"', $this->alias); $vid = XDB::insertId(); $dom = $this->shorter_domain(); return XDB::query('INSERT INTO virtual_redirect (vid,redirect) VALUES ({?}, {?})', $vid, $this->forlife.'@'.$dom); } } // }}} } // }}} // vim:set et sw=4 sts=4 sws=4 foldmethod=marker enc=utf-8: ?>