Merge branch 'master' of /home/git/platal into profile_edit
[platal.git] / include / validations / listes.inc.php
CommitLineData
0337d704 1<?php
2/***************************************************************************
5ddeb07c 3 * Copyright (C) 2003-2007 Polytechnique.org *
0337d704 4 * http://opensource.polytechnique.org/ *
5 * *
6 * This program is free software; you can redistribute it and/or modify *
7 * it under the terms of the GNU General Public License as published by *
8 * the Free Software Foundation; either version 2 of the License, or *
9 * (at your option) any later version. *
10 * *
11 * This program is distributed in the hope that it will be useful, *
12 * but WITHOUT ANY WARRANTY; without even the implied warranty of *
13 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
14 * GNU General Public License for more details. *
15 * *
16 * You should have received a copy of the GNU General Public License *
17 * along with this program; if not, write to the Free Software *
18 * Foundation, Inc., *
19 * 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA *
20 ***************************************************************************/
21
22// {{{ class ListeReq
23
24class ListeReq extends Validate
25{
26 // {{{ properties
787bb3d7 27
612a2d8a 28 public $liste;
29 public $desc;
0337d704 30
612a2d8a 31 public $advertise;
32 public $modlevel;
33 public $inslevel;
0337d704 34
612a2d8a 35 public $owners;
36 public $members;
0337d704 37
612a2d8a 38 public $rules = "Refuser les listes de binets si elles ne sont pas datées (oui : apv2002@, non : apv@).
a7de4ef7 39 Refuser également des listes qui pourraient nous servir (admin, postmaster,...)";
0337d704 40 // }}}
41 // {{{ constructor
787bb3d7 42
612a2d8a 43 public function __construct($_uid, $_liste, $_desc, $_advertise, $_modlevel,
44 $_inslevel, $_owners, $_members, $_stamp=0)
0337d704 45 {
612a2d8a 46 parent::__construct($_uid, true, 'liste', $_stamp);
787bb3d7 47
0337d704 48 $this->liste = $_liste;
49 $this->desc = $_desc;
50 $this->advertise = $_advertise;
51 $this->modlevel = $_modlevel;
52 $this->inslevel = $_inslevel;
53 $this->owners = $_owners;
54 $this->members = $_members;
55 }
56
57 // }}}
58 // {{{ function formu()
59
612a2d8a 60 public function formu()
61 {
62 return 'include/form.valid.listes.tpl';
63 }
0337d704 64
65 // }}}
e2a78862 66 // {{{ function editor()
67
612a2d8a 68 public function editor()
e2a78862 69 {
70 return 'include/form.valid.edit-listes.tpl';
71 }
72
73 // }}}
74 // {{{ function handle_editor()
75
612a2d8a 76 protected function handle_editor()
e2a78862 77 {
78 if (Env::has('listname')) {
79 $this->liste = trim(Env::v('listname'));
80 }
81 return true;
82 }
83
84 // }}}
0337d704 85 // {{{ function _mail_subj
86
612a2d8a 87 protected function _mail_subj()
0337d704 88 {
89 return "[Polytechnique.org/LISTES] Demande de la liste {$this->liste}";
90 }
91
92 // }}}
93 // {{{ function _mail_body
94
612a2d8a 95 protected function _mail_body($isok)
0337d704 96 {
97 if ($isok) {
a7de4ef7 98 return " La mailing list {$this->liste} que tu avais demandée vient d'être créée.";
0337d704 99 } else {
a7de4ef7 100 return " La demande que tu avais faite pour la mailing list {$this->liste} a été refusée.";
0337d704 101 }
102 }
103
104 // }}}
105 // {{{ function commit()
9bb8bf21 106
612a2d8a 107 public function commit()
0337d704 108 {
917c4d11 109 $list = new MMList(S::v('uid'), S::v('password'));
9bb8bf21 110 $ret = $list->create_list($this->liste, $this->desc, $this->advertise,
111 $this->modlevel, $this->inslevel,
112 $this->owners, $this->members);
0337d704 113 $liste = strtolower($this->liste);
114 if ($ret) {
115 foreach(Array($liste, $liste."-owner", $liste."-admin", $liste."-bounces") as $l) {
08cce2ff 116 XDB::execute("INSERT INTO aliases (alias,type) VALUES({?}, 'liste')", $l);
0337d704 117 }
118 }
119 return $ret;
120 }
121
122 // }}}
123}
124
125// }}}
126
a7de4ef7 127// vim:set et sw=4 sts=4 sws=4 foldmethod=marker enc=utf-8:
0337d704 128?>