X-Git-Url: http://git.polytechnique.org/?a=blobdiff_plain;f=include%2Fvalidations%2Flistes.inc.php;h=47471e4934ed94c689e3ab65e8ec0fb11189f063;hb=b235d980e6d9b3e1e815da91465b2a6a32f46191;hp=6ffd2153443ae12c037821fff746c3e43deacb84;hpb=08cce2ff528b38bde27cdec6d6bc28d6af4a42d4;p=platal.git diff --git a/include/validations/listes.inc.php b/include/validations/listes.inc.php index 6ffd215..47471e4 100644 --- a/include/validations/listes.inc.php +++ b/include/validations/listes.inc.php @@ -1,6 +1,6 @@ Validate($_uid, true, 'liste', $_stamp); - + parent::__construct($_uid, false, 'liste', $_stamp); + $this->liste = $_liste; $this->desc = $_desc; $this->advertise = $_advertise; @@ -57,13 +57,34 @@ class ListeReq extends Validate // }}} // {{{ function formu() - function formu() - { return 'include/form.valid.listes.tpl'; } + public function formu() + { + return 'include/form.valid.listes.tpl'; + } + + // }}} + // {{{ function editor() + + public function editor() + { + return 'include/form.valid.edit-listes.tpl'; + } + + // }}} + // {{{ function handle_editor() + + protected function handle_editor() + { + if (Env::has('listname')) { + $this->liste = trim(Env::v('listname')); + } + return true; + } // }}} // {{{ function _mail_subj - function _mail_subj() + protected function _mail_subj() { return "[Polytechnique.org/LISTES] Demande de la liste {$this->liste}"; } @@ -71,31 +92,27 @@ class ListeReq extends Validate // }}} // {{{ function _mail_body - function _mail_body($isok) + protected function _mail_body($isok) { if ($isok) { - return " La mailing list {$this->liste} que tu avais demandée vient d'être créée."; + return " La mailing list {$this->liste} que tu avais demandée vient d'être créée."; } else { - return " La demande que tu avais faite pour la mailing list {$this->liste} a été refusée."; + return " La demande que tu avais faite pour la mailing list {$this->liste} a été refusée."; } } // }}} // {{{ function commit() - - function commit() + + public function commit() { - global $globals; - require_once('platal/xmlrpc-client.inc.php'); - require_once('lists.inc.php'); - - $client =& lists_xmlrpc(Session::getInt('uid'), Session::get('password')); - $ret = $client->create_list($this->liste, $this->desc, - $this->advertise, $this->modlevel, $this->inslevel, - $this->owners, $this->members); + $list = new MMList(S::v('uid'), S::v('password')); + $ret = $list->create_list($this->liste, utf8_decode($this->desc), $this->advertise, + $this->modlevel, $this->inslevel, + $this->owners, $this->members); $liste = strtolower($this->liste); if ($ret) { - foreach(Array($liste, $liste."-owner", $liste."-admin", $liste."-bounces") as $l) { + foreach(Array($liste, $liste."-owner", $liste."-admin", $liste."-bounces", $liste."-unsubscribe") as $l) { XDB::execute("INSERT INTO aliases (alias,type) VALUES({?}, 'liste')", $l); } } @@ -107,5 +124,5 @@ class ListeReq extends Validate // }}} -// 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: ?>