X-Git-Url: http://git.polytechnique.org/?a=blobdiff_plain;f=include%2Fvalidations%2Flistes.inc.php;h=806ceae882bba2ba8494cc803d32a4012fe65cba;hb=d53c12097f4e82ad4657de86f199699973dee29f;hp=31a3515b4e06696bfe9ec6b154cd502dee0dedfd;hpb=655f53142c1af3bac8df90d62af0545493664467;p=platal.git diff --git a/include/validations/listes.inc.php b/include/validations/listes.inc.php index 31a3515..806ceae 100644 --- a/include/validations/listes.inc.php +++ b/include/validations/listes.inc.php @@ -1,6 +1,6 @@ asso = $_asso; $this->liste = $_liste; @@ -82,17 +82,23 @@ class ListeReq extends Validate global $globals; if (Env::has('listname')) { - $this->liste = trim(Env::v('listname')); + $this->liste = Post::t('listname'); } if (Env::has('domainname')) { - $this->domain = trim(Env::v('domainname')); + $this->domain = Post::t('domainname'); } if (Env::has('assotype')) { - $this->asso = trim(Env::v('assotype')); + $this->asso = Post::t('assotype'); } if (!$this->asso) { $this->domain = $globals->mail->domain; } + foreach ($this->owners as $key => &$email) { + $email = Post::t('owners_' . $key); + } + foreach ($this->members as $key => &$email) { + $email = Post::t('members_' . $key); + } return true; } @@ -110,7 +116,7 @@ class ListeReq extends Validate protected function _mail_body($isok) { if ($isok) { - return " La liste de diffusion {$this->liste}@{$this->domain} que tu avais demandée vient d'être créée."; + return " Suite à ta demande de création de liste de diffusion, nous avons créé l'adresse {$this->liste}@{$this->domain}, qui est maintenant à ta disposition."; } else { return " La demande que tu avais faite pour la liste de diffusion {$this->liste}@{$this->domain} a été refusée."; } @@ -125,32 +131,28 @@ class ListeReq extends Validate if ($this->asso == "alias") { $new = $this->liste . '@' . $this->domain; - XDB::query('INSERT INTO x4dat.virtual (alias,type) VALUES({?}, "user")', $new); + XDB::query('INSERT INTO virtual (alias, type) VALUES({?}, "user")', $new); foreach ($this->members as $member) { - $res = XDB::query( - "SELECT a.alias, b.alias - FROM x4dat.aliases AS a - LEFT JOIN x4dat.aliases AS b ON (a.id=b.id AND b.type = 'a_vie') - WHERE a.alias={?} AND a.type!='homonyme'", $member); - list($alias, $blias) = $res->fetchOneRow(); - $alias = empty($blias) ? $alias : $blias; - XDB::query( - "INSERT INTO x4dat.virtual_redirect (vid,redirect) - SELECT vid, {?} - FROM x4dat.virtual - WHERE alias={?}", $alias . "@" . $globals->mail->domain, $new); + $user = User::get($member); + if ($user != null) { + XDB::query( + "INSERT INTO virtual_redirect (vid, redirect) + SELECT vid, {?} + FROM virtual + WHERE alias = {?}", $user->forlifeEmail(), $new); + } } return 1; } - $list = new MMList(S::v('uid'), S::v('password'), $this->domain); + $list = new MMList(S::user(), $this->domain); $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 && !$this->asso) { foreach(Array($liste, $liste . "-owner", $liste . "-admin", $liste . "-bounces", $liste . "-unsubscribe") as $l) { - XDB::execute("INSERT INTO aliases (alias,type) VALUES({?}, 'liste')", $l); + XDB::execute("INSERT INTO aliases (alias, type) VALUES({?}, 'liste')", $l); } } elseif ($ret) { foreach (Array('', 'owner', 'admin', 'bounces', 'unsubscribe') as $app) { @@ -159,12 +161,11 @@ class ListeReq extends Validate $app = '-' . $app; } $red = $this->domain . '_' . $liste; - XDB::execute('INSERT INTO x4dat.virtual (alias,type) - VALUES({?},{?})', $liste . $app . '@' . $this->domain, 'list'); - XDB::execute('INSERT INTO x4dat.virtual_redirect (vid,redirect) + XDB::execute('INSERT INTO virtual (alias, type) + VALUES({?}, {?})', $liste . $app . '@' . $this->domain, 'list'); + XDB::execute('INSERT INTO virtual_redirect (vid, redirect) VALUES ({?}, {?})', XDB::insertId(), $red . $mdir . '@listes.polytechnique.org'); - $list->mass_subscribe($liste, join(' ', $this->members)); } } return $ret;