<?php
/***************************************************************************
- * Copyright (C) 2003-2004 Polytechnique.org *
+ * Copyright (C) 2003-2007 Polytechnique.org *
* http://opensource.polytechnique.org/ *
* *
* This program is free software; you can redistribute it and/or modify *
var $rules = "Interdire ce qui peut nous servir (virus@, postmaster@, ...),
les alias vulgaires, et les prenom.nom (sauf si c'est pour l'utilisateur prenom.nom).
- Pas de contrainte pour les tirets ou les points, en revanche le souligné (_) est interdit";
+ Pas de contrainte pour les tirets ou les points, en revanche le souligné (_) est interdit";
// }}}
// {{{ constructor
$this->raison = $_raison;
$this->public = $_public;
- $res = $globals->xdb->query("
+ $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}')
// }}}
// {{{ function get_request()
- function get_request($uid)
+ static function get_request($uid)
{
- return parent::get_request($uid,'alias');
+ return parent::get_typed_request($uid,'alias');
}
// }}}
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 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.";
+ return " La demande que tu avais faite pour l'alias {$this->alias} a été refusée.";
+ }
+ }
+
+ // }}}
+ // {{{ function shorter_domain
+
+ 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 ()
{
- global $globals;
-
- $globals->xdb->execute("UPDATE auth_user_quick SET emails_alias_pub = {?} WHERE user_id = {?}", $this->public, $this->uid);
+ XDB::execute("UPDATE auth_user_quick SET emails_alias_pub = {?} WHERE user_id = {?}",
+ $this->public, $this->uid);
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();
+ $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:
+// vim:set et sw=4 sts=4 sws=4 foldmethod=marker enc=utf-8:
?>