X-Git-Url: http://git.polytechnique.org/?a=blobdiff_plain;f=modules%2Flists.php;h=871a1ece197f827598df6b28e551660e7763b3da;hb=163eddd27fc207dd4b46de6f6bff95b77990a95f;hp=b16dc93449d0b6e286734d6829c679b6d20446bf;hpb=6a20c6a370710a7a8b23d5dca4e43393aebbb906;p=platal.git diff --git a/modules/lists.php b/modules/lists.php index b16dc93..871a1ec 100644 --- a/modules/lists.php +++ b/modules/lists.php @@ -40,6 +40,7 @@ class ListsModule extends PLModule 'lists/soptions' => $this->make_hook('soptions', AUTH_MDP), 'lists/check' => $this->make_hook('check', AUTH_MDP), + 'admin/lists' => $this->make_hook('admin_all', AUTH_MDP, 'admin'), ); } @@ -59,15 +60,15 @@ class ListsModule extends PLModule if (Get::has('del')) { - $this->client->unsubscribe(Get::get('del')); + $this->client->unsubscribe(Get::v('del')); pl_redirect('lists'); } if (Get::has('add')) { - $this->client->subscribe(Get::get('add')); + $this->client->subscribe(Get::v('add')); pl_redirect('lists'); } if (Post::has('promo_add')) { - $promo = Post::getInt('promo_add'); + $promo = Post::i('promo_add'); if ($promo >= 1900 and $promo < 2100) { $this->client->subscribe("promo$promo"); } else { @@ -82,22 +83,22 @@ class ListsModule extends PLModule { $page->changeTpl('listes/create.tpl'); - $owners = preg_split("/[\s]+/", Post::get('owners'), -1, PREG_SPLIT_NO_EMPTY); - $members = preg_split("/[\s]+/", Post::get('members'), -1, PREG_SPLIT_NO_EMPTY); + $owners = preg_split("/[\s]+/", Post::v('owners'), -1, PREG_SPLIT_NO_EMPTY); + $members = preg_split("/[\s]+/", Post::v('members'), -1, PREG_SPLIT_NO_EMPTY); // click on validate button 'add_owner_sub' or type if (Post::has('add_owner_sub') && Post::has('add_owner')) { require_once('user.func.inc.php'); // if we want to add an owner and then type , then both // add_owner_sub and add_owner are filled. - if (Post::get('add_owner') != "") { - if (($forlife = get_user_forlife(Post::get('add_owner'))) !== false) { + if (Post::v('add_owner') != "") { + if (($forlife = get_user_forlife(Post::v('add_owner'))) !== false) { $owners [] = $forlife; } // if we want to add a member and then type , then // add_owner_sub is filled, whereas add_owner is empty. } else if (Post::has('add_member')) { - if (($forlife = get_user_forlife(Post::get('add_member'))) !== false) { + if (($forlife = get_user_forlife(Post::v('add_member'))) !== false) { $members[] = $forlife; } } @@ -106,7 +107,7 @@ class ListsModule extends PLModule // click on validate button 'add_member_sub' if (Post::has('add_member_sub') && Post::has('add_member')) { require_once('user.func.inc.php'); - if (($forlife = get_user_forlife(Post::get('add_member'))) !== false) { + if (($forlife = get_user_forlife(Post::v('add_member'))) !== false) { $members[] = $forlife; } } @@ -121,10 +122,10 @@ class ListsModule extends PLModule return; } - $liste = Post::get('liste'); + $liste = Post::v('liste'); if (empty($liste)) { - $page->trig('champs «addresse souhaitée» vide'); + $page->trig('champs «addresse souhaitée» vide'); } if (!preg_match("/^[a-zA-Z0-9\-]*$/", $liste)) { $page->trig('le nom de la liste ne doit contenir que des lettres, chiffres et tirets'); @@ -134,10 +135,10 @@ class ListsModule extends PLModule $n = $res->fetchOneCell(); if ($n) { - $page->trig('cet alias est déjà pris'); + $page->trig('cet alias est déjà pris'); } - if (!Post::get(desc)) { + if (!Post::v(desc)) { $page->trig('le sujet est vide'); } @@ -153,8 +154,8 @@ class ListsModule extends PLModule $page->assign('created', true); require_once 'validations.inc.php'; $req = new ListeReq(S::v('uid'), $liste, - Post::get('desc'), Post::getInt('advertise'), - Post::getInt('modlevel'), Post::getInt('inslevel'), + Post::v('desc'), Post::i('advertise'), + Post::i('modlevel'), Post::i('inslevel'), $owners, $members); $req->submit(); } @@ -182,7 +183,7 @@ class ListsModule extends PLModule $members = $this->client->get_members($liste); - $tri_promo = !Env::getBool('alpha'); + $tri_promo = !Env::b('alpha'); if (list($det,$mem,$own) = $members) { $membres = list_sort_members($mem, $tri_promo); @@ -193,7 +194,7 @@ class ListsModule extends PLModule $page->assign_by_ref('owners', $moderos); $page->assign('nb_m', count($mem)); } else { - $page->kill("La liste n'existe pas ou tu n'as pas le droit d'en voir les détails"); + $page->kill("La liste n'existe pas ou tu n'as pas le droit d'en voir les détails"); } } @@ -250,7 +251,7 @@ class ListsModule extends PLModule $trombi = new Trombi(array(&$this, '_get_list')); $page->assign('trombi', $trombi); } else { - $page->kill("La liste n'existe pas ou tu n'as pas le droit d'en voir les détails"); + $page->kill("La liste n'existe pas ou tu n'as pas le droit d'en voir les détails"); } } @@ -273,8 +274,8 @@ class ListsModule extends PLModule { $page->kill("La liste n'existe pas ou tu n'as pas le droit de la consulter"); } elseif (Get::has('file')) { - $file = Get::get('file'); - $rep = Get::get('rep'); + $file = Get::v('file'); + $rep = Get::v('rep'); if (strstr('/', $file)!==false || !preg_match(',^\d+/\d+$,', $rep)) { $page->kill("La liste n'existe pas ou tu n'as pas le droit de la consulter"); } else { @@ -311,16 +312,16 @@ class ListsModule extends PLModule $page->register_modifier('qpd', 'quoted_printable_decode'); if (Env::has('sadd')) { /* 4 = SUBSCRIBE */ - $this->client->handle_request($liste,Env::get('sadd'),4,''); + $this->client->handle_request($liste,Env::v('sadd'),4,''); pl_redirect('lists/moderate/'.$liste); } if (Post::has('sdel')) { /* 2 = REJECT */ - $this->client->handle_request($liste,Post::get('sdel'),2,Post::get('reason')); + $this->client->handle_request($liste,Post::v('sdel'),2,Post::v('reason')); } if (Env::has('mid')) { - $mid = Env::get('mid'); + $mid = Env::v('mid'); $mail = $this->client->get_pending_mail($liste, $mid); $reason = ''; @@ -329,27 +330,27 @@ class ListsModule extends PLModule if (Env::has('mok')) { $action = 1; /** 2 = ACCEPT **/ - $subject = "Message accepté"; - $append .= "a été accepté par $prenom $nom.\n"; + $subject = "Message accepté"; + $append .= "a été accepté par $prenom $nom.\n"; } elseif (Env::has('mno')) { $action = 2; /** 2 = REJECT **/ - $subject = "Message refusé"; - $reason = Post::get('reason'); - $append = "a été refusé par $prenom $nom avec la raison :\n\n" + $subject = "Message refusé"; + $reason = Post::v('reason'); + $append = "a été refusé par $prenom $nom avec la raison :\n\n" . $reason; } elseif (Env::has('mdel')) { $action = 3; /** 3 = DISCARD **/ - $subject = "Message supprimé"; - $append = "a été supprimé par $prenom $nom.\n\n" - . "Rappel: il ne faut utiliser cette opération " + $subject = "Message supprimé"; + $append = "a été supprimé par $prenom $nom.\n\n" + . "Rappel: il ne faut utiliser cette opération " . "que dans le cas de spams ou de virus !\n"; } if (isset($action) && $this->client->handle_request($liste, $mid, $action, $reason)) { $texte = "le message suivant :\n\n" ." Auteur: {$mail['sender']}\n" - ." Sujet : « {$mail['subj']} »\n" - ." Date : ".strftime("le %d %b %Y à %H:%M:%S", (int)$mail['stamp'])."\n\n" + ." Sujet : « {$mail['subj']} »\n" + ." Date : ".strftime("le %d %b %Y à %H:%M:%S", (int)$mail['stamp'])."\n\n" .$append; require_once 'diogenes/diogenes.hermes.inc.php'; $mailer = new HermesMailer(); @@ -379,7 +380,7 @@ class ListsModule extends PLModule if (list($subs,$mails) = $this->client->get_pending_ops($liste)) { foreach($subs as $user) { - if ($user['id'] == Env::get('sid')) { + if ($user['id'] == Env::v('sid')) { $page->changeTpl('listes/moderate_sub.tpl'); $page->assign('del_user', $user); return; @@ -393,7 +394,7 @@ class ListsModule extends PLModule $page->assign_by_ref('subs', $subs); $page->assign_by_ref('mails', $mails); } else { - $page->kill("La liste n'existe pas ou tu n'as pas le droit de la modérer"); + $page->kill("La liste n'existe pas ou tu n'as pas le droit de la modérer"); } } @@ -412,7 +413,7 @@ class ListsModule extends PLModule if (Env::has('add_member')) { require_once('user.func.inc.php'); - $members = explode(' ', Env::get('add_member')); + $members = explode(' ', Env::v('add_member')); if ($members) foreach ($members as $i => $alias) { if (($login = get_user_forlife($alias)) !== false) {; $members[$i] = $login; @@ -428,11 +429,11 @@ class ListsModule extends PLModule } if (Env::has('del_member')) { - if (strpos(Env::get('del_member'), '@') === false) { + if (strpos(Env::v('del_member'), '@') === false) { $this->client->mass_unsubscribe( - $liste, array(Env::get('del_member').'@'.$globals->mail->domain)); + $liste, array(Env::v('del_member').'@'.$globals->mail->domain)); } else { - $this->client->mass_unsubscribe($liste, array(Env::get('del_member'))); + $this->client->mass_unsubscribe($liste, array(Env::v('del_member'))); } pl_redirect('lists/admin/'.$liste); } @@ -440,7 +441,7 @@ class ListsModule extends PLModule if (Env::has('add_owner')) { require_once('user.func.inc.php'); - $owners = explode(' ', Env::get('add_owner')); + $owners = explode(' ', Env::v('add_owner')); if ($owners) foreach ($owners as $alias) { if (($login = get_user_forlife($alias)) === false) {; @@ -448,16 +449,16 @@ class ListsModule extends PLModule } if ($this->client->add_owner($liste, $login)) { - $page->trig($alias." ajouté aux modérateurs."); + $page->trig($alias." ajouté aux modérateurs."); } } } if (Env::has('del_owner')) { - if (strpos(Env::get('del_owner'), '@') === false) { - $this->client->del_owner($liste, Env::get('del_owner').'@'.$globals->mail->domain); + if (strpos(Env::v('del_owner'), '@') === false) { + $this->client->del_owner($liste, Env::v('del_owner').'@'.$globals->mail->domain); } else { - $this->client->del_owner($liste, Env::get('del_owner')); + $this->client->del_owner($liste, Env::v('del_owner')); } pl_redirect('lists/admin/'.$liste); } @@ -512,10 +513,10 @@ class ListsModule extends PLModule $values['subject_prefix'] = trim($values['subject_prefix']).' '; } $this->client->set_owner_options($liste, $values); - } elseif (isvalid_email(Post::get('atn_add'))) { - $this->client->add_to_wl($liste, Post::get('atn_add')); + } elseif (isvalid_email(Post::v('atn_add'))) { + $this->client->add_to_wl($liste, Post::v('atn_add')); } elseif (Get::has('atn_del')) { - $this->client->del_from_wl($liste, Get::get('atn_del')); + $this->client->del_from_wl($liste, Get::v('atn_del')); pl_redirect('lists/options/'.$liste); } @@ -538,8 +539,8 @@ class ListsModule extends PLModule $page->changeTpl('listes/delete.tpl'); - if (Post::get('valid') == 'OUI' - && $this->client->delete_list($liste, Post::getBool('del_archive'))) + if (Post::v('valid') == 'OUI' + && $this->client->delete_list($liste, Post::b('del_archive'))) { foreach (array('', '-owner', '-admin', '-bounces') as $app) { XDB::execute("DELETE FROM aliases @@ -603,6 +604,17 @@ class ListsModule extends PLModule $page->kill("La liste n'existe pas"); } } + + function handler_admin_all(&$page) { + $page->changeTpl('listes/admin_all.tpl'); + $page->assign('xorg_title','Polytechnique.org - Administration - Mailing lists'); + require_once 'lists.inc.php'; + + $client =& lists_xmlrpc(S::v('uid'), S::v('password')); + $listes = $client->get_all_lists(); + $page->assign_by_ref('listes',$listes); + } + } ?>