listes refactor
authorPierre Habouzit (MadCoder <pierre.habouzit@m4x.org>
Wed, 15 Dec 2004 19:00:01 +0000 (19:00 +0000)
committerFlorent Bruneau <florent.bruneau@polytechnique.org>
Thu, 26 Jun 2008 21:26:43 +0000 (23:26 +0200)
git-archimport-id: opensource@polytechnique.org--2005/platal--mainline--0.9--patch-102

12 files changed:
htdocs/listes/admin.php
htdocs/listes/archives.php
htdocs/listes/check.php
htdocs/listes/create.php
htdocs/listes/delete.php
htdocs/listes/index.php
htdocs/listes/members.php
htdocs/listes/moderate.php
htdocs/listes/options.php
htdocs/listes/soptions.php
htdocs/listes/trombi.php
templates/listes/create.tpl

index 0b9c1f1..2510a39 100644 (file)
  *  59 Temple Place, Suite 330, Boston, MA  02111-1307  USA                *
  ***************************************************************************/
 
-if(empty($_REQUEST['liste'])) header('Location: index.php');
-$liste = strtolower($_REQUEST['liste']);
+if (!Env::has('liste')) header('Location: index.php');
+$liste = strtolower(Env::get('liste'));
 
 require_once("xorg.inc.php");
 new_skinned_page('listes/admin.tpl', AUTH_MDP);
 require_once('lists.inc.php');
 
-$client =& lists_xmlrpc($_SESSION['uid'], $_SESSION['password']);
+$client =& lists_xmlrpc(Session::getInt('uid'), Session::get('password'));
 
-if(isset($_REQUEST['add_member'])) {
+if (Env::has('add_member')) {
     require_once('user.func.inc.php');
-    if (($login = get_user_forlife($_REQUEST['add_member'])) === false) {;
-        $login = $_REQUEST['add_member'];
+    if (($login = get_user_forlife(Env::get('add_member')) === false) {;
+        $login = Env::get('add_member');
     }
 
     $arr = $client->mass_subscribe($liste, Array($login));
@@ -42,24 +42,24 @@ if(isset($_REQUEST['add_member'])) {
     }
 }
 
-if(isset($_REQUEST['del_member'])) {
-    $client->mass_unsubscribe($liste, Array($_REQUEST['del_member']));
+if (Env::has('del_member')) {
+    $client->mass_unsubscribe($liste, Array(Env::get('del_member')));
     header("Location: ?liste=$liste");
 }
 
-if(isset($_REQUEST['add_owner'])) {
+if (Env::has(['add_owner'])) {
     require_once('user.func.inc.php');
-    if (($login = get_user_forlife($_REQUEST['add_owner'])) === false) {;
-        $login = $_REQUEST['add_owner'];
+    if (($login = get_user_forlife(Env::get('add_owner'))) === false) {;
+        $login = Env::get('add_owner');
     }
 
     if($client->add_owner($liste, $login)) {
-        $page->trig($_REQUEST['add_owner']." ajouté aux modérateurs.");
+        $page->trig(Env::get('add_owner')." ajouté aux modérateurs.");
     }
 }
 
-if(isset($_REQUEST['del_owner'])) {
-    $client->del_owner($liste, $_REQUEST['del_owner']);
+if (Env::has('del_owner')) {
+    $client->del_owner($liste, Env::get('del_owner'));
     header("Location: ?liste=$liste");
 }
 
index d20370a..1ddc0ff 100644 (file)
  *  59 Temple Place, Suite 330, Boston, MA  02111-1307  USA                *
  ***************************************************************************/
 
-if(empty($_REQUEST['liste'])) header('Location: index.php');
-$liste = strtolower($_REQUEST['liste']);
+if (Env::has('liste')) header('Location: index.php');
+$liste = strtolower(Env::get('liste'));
 
 require_once("xorg.inc.php");
 new_skinned_page('listes/archives.tpl', AUTH_COOKIE, 'listes/archives.head.tpl');
 require_once('lists.inc.php');
 
-$client =& lists_xmlrpc($_SESSION['uid'], $_SESSION['password']);
+$client =& lists_xmlrpc(Session::getInt('uid'), Session::get('password'));
 
 if (list($det) = $client->get_members($liste)) {
     if ( substr($liste,0,5) != 'promo' && ( $det['ins'] || $det['priv'] ) && !$det['own'] && ($det['sub']<2) ) {
         $page->kill("La liste n'existe pas ou tu n'as pas le droit de la consulter");
-    } elseif (isset($_GET['file'])) {
-        $file = $_GET['file'];
-        $rep  = $_GET['rep'];
-        if(strstr('/', $file)!==false || !preg_match(',^\d+/\d+$,', $_GET['rep'])) {
+    } elseif (Get::has('file')) {
+        $file = Get::get('file');
+        $rep  = Get::get('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 { 
             $page->assign('url', $globals->lists->spool."/{$globals->mail->domain}{$globals->lists->vhost_sep}$liste/$rep/$file");
index 8050554..56fe901 100644 (file)
  *  59 Temple Place, Suite 330, Boston, MA  02111-1307  USA                *
  ***************************************************************************/
 
-if(empty($_REQUEST['liste'])) header('Location: index.php');
-$liste = strtolower($_REQUEST['liste']);
+if (Env::has('liste')) header('Location: index.php');
+$liste = strtolower(Env::get('liste'));
 
 require_once("xorg.inc.php");
 new_admin_page('listes/check.tpl');
 require_once('lists.inc.php');
 
-$client =& lists_xmlrpc($_SESSION['uid'], $_SESSION['password']);
+$client =& lists_xmlrpc(Session::getInt('uid'), Session::get('password'));
 
-if(isset($_POST['correct'])) { $client->check_options($liste, true); }
+if(Post::has('correct')) {
+    $client->check_options($liste, true);
+}
 
 if(list($details,$options) = $client->check_options($liste)) {
     $page->assign_by_ref('details', $details);
index 070e1d2..d06a22a 100644 (file)
 require_once("xorg.inc.php");
 new_skinned_page('listes/create.tpl', AUTH_MDP);
 
-$owners  = empty($_POST['owners'])  ? Array() : preg_split("/[\r\n]+/",$_POST['owners']);
-$members = empty($_POST['members']) ? Array() : preg_split("/[\r\n]+/",$_POST['members']);
+$owners  = preg_split("/[\r\n]+/",Post::get('owners'));
+$members = preg_split("/[\r\n]+/",Post::get('members'));
 
-if(isset($_POST['desc'])) $_POST['desc'] = stripslashes($_POST['desc']);
-
-if(isset($_POST['add_owner_sub']) && !empty($_POST['add_owner'])) {
+if (Post::has('add_owner_sub') && Post::has('add_owner'])) {
     require_once('user.func.inc.php');
-    if (($forlife = get_user_forlife($_REQUEST['add_owner'])) === false) {;
+    if (($forlife = get_user_forlife(Post::get('add_owner'))) !== false) {
         $owners [] = $forlife;
     }
 }
 
-if(isset($_POST['add_member_sub']) && !empty($_POST['add_member'])) {
+if (Post::has('add_member_sub') && Post::has('add_member')) {
     require_once('user.func.inc.php');
-    if (($forlife = get_user_forlife($_REQUEST['add_member'])) === false) {;
+    if (($forlife = get_user_forlife(Post::get('add_member'))) !== false) {
         $members[] = $forlife;
     }
 }
@@ -44,16 +42,18 @@ if(isset($_POST['add_member_sub']) && !empty($_POST['add_member'])) {
 ksort($owners);         array_unique($owners);
 ksort($members); array_unique($members);
 
-if(isset($_POST['submit'])) {
+if (Post::has('submit')) {
+
+    $liste = Post::get('liste');
 
-    if(empty($_POST['liste'])) {
+    if(empty($liste)) {
         $page->trig('champs «addresse souhaitée» vide');
     }
-    if(!preg_match("/^[a-zA-Z0-9\-]*$/", $_POST['liste'])) {
+    if(!preg_match("/^[a-zA-Z0-9\-]*$/", $liste)) {
        $page->trig('le nom de la liste ne doit contenir que des lettres, chiffres et tirets');
     }
 
-    $res = $globals->db->query("SELECT COUNT(*) FROM aliases WHERE alias='{$_POST['liste']}'");
+    $res = $globals->db->query("SELECT COUNT(*) FROM aliases WHERE alias='$liste'");
     list($n) = mysql_fetch_row($res);
     mysql_free_result($res);
 
@@ -61,7 +61,7 @@ if(isset($_POST['submit'])) {
         $page->trig('cet alias est déjà pris');
     }
 
-    if(empty($_POST['desc'])) {
+    if(!Post::get(desc)) {
         $page->trig('le sujet est vide');
     }
     
@@ -76,10 +76,10 @@ if(isset($_POST['submit'])) {
     if (!$page->nb_errs()) {
        $page->assign('created', true);
        require_once('validations.inc.php');
-       $req = new ListeReq($_SESSION['uid'], $_POST['liste'], $_POST['desc'],
-           $_POST['advertise'], $_POST['modlevel'], $_POST['inslevel'],
-           $owners, $members);
-       $req->submit();
+       $req = new ListeReq(Session::getInt('uid'), $liste, Post::get('desc'),
+                Post::getInt('advertise'), Post::getInt('modlevel'), Post::getInt('inslevel'),
+                $owners, $members);
+        $req->submit();
     }
 }
 
index debbc16..1a7ef59 100644 (file)
  *  59 Temple Place, Suite 330, Boston, MA  02111-1307  USA                *
  ***************************************************************************/
 
-if(empty($_REQUEST['liste'])) header('Location: index.php');
-$liste = strtolower($_REQUEST['liste']);
+if (!Env::has('liste')) header('Location: index.php');
+$liste = strtolower(Env::get('liste'));
 
 require_once("xorg.inc.php");
 new_skinned_page('listes/delete.tpl', AUTH_MDP);
 require_once('lists.inc.php');
 
-$client =& lists_xmlrpc($_SESSION['uid'], $_SESSION['password']);
+$client =& lists_xmlrpc(Session::getInt('uid'), Session::get('password'));
 
-if ( isset($_POST['valid']) && ($_POST['valid'] == 'OUI')
-        && $client->delete_list($liste,!empty($_POST['del_archive'])) ) {
+
+if ( Post::get('valid') == 'OUI' && $client->delete_list($liste, Post::getBool('del_archive')) ) {
     $page->assign('deleted', true);
 } elseif (list($details,$options) = $client->get_owner_options($liste)) {
     if (!$details['own'] && !has_perms()) {
index 88b5791..4627e2e 100644 (file)
@@ -23,20 +23,22 @@ require_once("xorg.inc.php");
 new_skinned_page('listes/index.tpl', AUTH_MDP);
 require_once('lists.inc.php');
 
-$client =& lists_xmlrpc($_SESSION['uid'], $_SESSION['password']);
+$client =& lists_xmlrpc(Session::getInt('uid'), Session::get('password'));
 
-if(isset($_GET['del'])) {
-    $client->unsubscribe($_GET['del']);
+if(Get::has('del')) {
+    $client->unsubscribe(Get::get('del'));
     header('Location: index.php');
 }
-if(isset($_GET['add'])) {
-    $client->subscribe($_GET['add']);
+if(Get::has('add')) {
+    $client->subscribe(Get::get('add'));
     header('Location: index.php');
 }
-if(isset($_POST['promo_add'])) {
-    $promo = intval($_POST['promo_add']);
-    if($promo>=1900 and $promo<2100) {
+if(Post::has('promo_add')) {
+    $promo = Post::getInt('promo_add');
+    if ($promo>=1900 and $promo<2100) {
        $client->subscribe("promo$promo");
+    } else {
+        $page->trig("promo incorrecte, il faut une promo sur 4 chiffres.");
     }
 }
 $listes = $client->get_lists();
index 5e61e60..a6eb911 100644 (file)
  *  59 Temple Place, Suite 330, Boston, MA  02111-1307  USA                *
  ***************************************************************************/
 
-if(empty($_REQUEST['liste'])) header('Location: index.php');
-$liste = strtolower($_REQUEST['liste']);
+if (!Env::has('liste')) header('Location: index.php');
+$liste = strtolower(Env::get('liste'));
 
 require_once("xorg.inc.php");
 new_skinned_page('listes/members.tpl', AUTH_COOKIE);
 require_once('lists.inc.php');
 
-$client =& lists_xmlrpc($_SESSION['uid'], $_SESSION['password']);
+$client =& lists_xmlrpc(Session::getInt('uid'), Session::get('password'));
 
-if(isset($_GET['del'])) {
+if(Get::has('del')) {
     $client->unsubscribe($liste);
     header("Location: ?liste=$liste");
 }
-if(isset($_GET['add'])) {
+if(Get::has('add')) {
     $client->subscribe($liste);
     header("Location: ?liste=$liste");
 }
 $members = $client->get_members($liste);
 
-$tri_promo = empty($_REQUEST['alpha']);
+$tri_promo = !Env::getBool('alpha');
 
 if(list($det,$mem,$own) = $members) {
     $membres = list_sort_members($mem, $tri_promo);
index a4a1ee3..98c8783 100644 (file)
@@ -19,8 +19,8 @@
  *  59 Temple Place, Suite 330, Boston, MA  02111-1307  USA                *
  ***************************************************************************/
 
-if (empty($_REQUEST['liste'])) header('Location: index.php');
-$liste = strtolower($_REQUEST['liste']);
+if (!Env::has('liste')) header('Location: index.php');
+$liste = strtolower(Env::get('liste'));
 
 if (preg_match("!(?:[a-z0-9]+\\.)?{$globals->mail->domain}-(.*)!", $liste, $matches)) {
     header('Location: ?liste='.$matches[1]);
@@ -30,37 +30,41 @@ require_once("xorg.inc.php");
 new_skinned_page('listes/moderate.tpl', AUTH_MDP);
 require_once('lists.inc.php');
 
-$client =& lists_xmlrpc($_SESSION['uid'], $_SESSION['password']);
+$client =& lists_xmlrpc(Session::getInt('uid'), Session::get('password'));
 $page->register_modifier('qpd','quoted_printable_decode');
 
-if(isset($_REQUEST['sadd'])) {
-    $client->handle_request($liste,$_REQUEST['sadd'],4,''); /* 4 = SUBSCRIBE */
+if(Env::has('sadd')) {
+    $client->handle_request($liste,Env::get('sadd'),4,''); /* 4 = SUBSCRIBE */
     header("Location: moderate.php?liste=$liste");
 }
 
-if(isset($_POST['sdel'])) {
-    $client->handle_request($liste,$_POST['sdel'],2,stripslashes($_POST['reason'])); /* 2 = REJECT */
+if(Post::has('sdel')) {
+    $client->handle_request($liste,Post::get('sdel'),2,stripslashes(Post::get('reason'))); /* 2 = REJECT */
 }
 
-if(isset($_REQUEST['mid'])) {
-    $mid    = $_REQUEST['mid'];
+if(Env::has('mid')) {
+    $mid    = Env::get('mid');
     $mail   = $client->get_pending_mail($liste, $mid);
     $reason = '';
 
-    if(isset($_REQUEST['mok'])) {
+    $prenom = Session::get('prenom');
+    $nom    = Session::get('nom');
+
+    
+    if (Env::has('mok')) {
         $action  = 1; /** 2 = ACCEPT **/
         $subject = "Message accepté";
-        $append .= "a été accepté par {$_SESSION['prenom']} {$_SESSION['nom']}.\n";
-    } elseif(isset($_POST['mno'])) {
+        $append .= "a été accepté par $prenom $nom.\n";
+    } elseif (Env::has('mno')) {
         $action  = 2; /** 2 = REJECT **/
         $subject = "Message refusé";
-       $reason  = stripslashes($_POST['reason']);
-        $append  = "a été refusé par {$_SESSION['prenom']} {$_SESSION['nom']} avec la raison :\n\n"
+       $reason  = stripslashes(Post::get('reason'));
+        $append  = "a été refusé par $prenom $nom avec la raison :\n\n"
                 .  $reason;
-    } elseif(isset($_REQUEST['mdel'])) {
+    } elseif (Env:has('mdel')) {
         $action  = 3; /** 3 = DISCARD **/
         $sbuject = "Message supprimé";
-        $append  = "a été supprimé par {$_SESSION['prenom']} {$_SESSION['nom']}.\n\n"
+        $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";
     }
    
@@ -78,10 +82,10 @@ if(isset($_REQUEST['mid'])) {
         $mailer->setSubject($subject);
         $mailer->setTxtBody(wordwrap($texte,72));
         $mailer->send();
-       unset($_GET['mid']);
+        Get::kill('mid');
     }
 
-    if(isset($_GET['mid') && is_array($mail)) {
+    if(Get::has('mid') && is_array($mail)) {
        $msg = file_get_contents('/etc/mailman/fr/refuse.txt');
        $msg = str_replace("%(adminaddr)s","$liste-owner@{$globals->mail->domain}", $msg);
        $msg = str_replace("%(request)s","<< SUJET DU MAIL >>", $msg);
@@ -94,11 +98,11 @@ if(isset($_REQUEST['mid'])) {
         $page->run();
     }
 
-} elseif(isset($_REQUEST['sid'])) {
+} elseif (Env::has('sid')) {
 
     if(list($subs,$mails) = $client->get_pending_ops($liste)) {
        foreach($subs as $user) {
-           if($user['id'] == $_REQUEST['sid']) {
+           if ($user['id'] == Env::get('sid')) {
                 $page->changeTpl('listes/moderate_sub.tpl');
                 $page->assign('del_user',$user);
                 $page->run();
index 2ef013a..01c1000 100644 (file)
  *  59 Temple Place, Suite 330, Boston, MA  02111-1307  USA                *
  ***************************************************************************/
 
-if(empty($_REQUEST['liste'])) header('Location: index.php');
-$liste = strtolower($_REQUEST['liste']);
+if (!Env::has('liste')) header('Location: index.php');
+$liste = strtolower(Env::get('liste'));
 
 require_once("xorg.inc.php");
 new_skinned_page('listes/options.tpl', AUTH_MDP);
 require_once('lists.inc.php');
 
-$client =& lists_xmlrpc($_SESSION['uid'], $_SESSION['password']);
+$client =& lists_xmlrpc(Session::getInt('uid'), Session::get('password'));
 
-if(isset($_POST['submit'])) {
-    $values =array_map('stripslashes',$_POST);
+if(Post::has('submit')) {
+    $values = array_map('stripslashes',$_POST);
     $client->set_bogo_level($liste, intval($values['bogo_level']));
     unset($values['submit']);
     unset($values['bogo_level']);
@@ -40,10 +40,10 @@ if(isset($_POST['submit'])) {
        $values['subject_prefix'] = trim($values['subject_prefix']).' ';
     }
     $client->set_owner_options($liste, $values);
-} elseif(isset($_POST['atn_add']) && isvalid_email($_POST['atn_add'])) {
-    $client->add_to_wl($liste, $_POST['atn_add']);
-} elseif(isset($_GET['atn_del'])) {
-    $client->del_from_wl($liste, $_GET['atn_del']);
+} elseif(isvalid_email(Post::get('atn_add')) {
+    $client->add_to_wl($liste, Post::get('atn_add'));
+} elseif(Get::has('atn_del')) {
+    $client->del_from_wl($liste, Get::get('atn_del'));
     header("Location: ?liste=$liste");
 }
 
index 162b661..5e76e64 100644 (file)
  *  59 Temple Place, Suite 330, Boston, MA  02111-1307  USA                *
  ***************************************************************************/
 
-if(empty($_REQUEST['liste'])) header('Location: index.php');
-$liste = strtolower($_REQUEST['liste']);
+if (!Env::has('liste')) header('Location: index.php');
+$liste = strtolower(Env::get('liste'));
 
 require_once("xorg.inc.php");
 new_admin_page('listes/soptions.tpl');
 require_once('lists.inc.php');
 
-$client =& lists_xmlrpc($_SESSION['uid'], $_SESSION['password']);
+$client =& lists_xmlrpc(Session::getInt('uid'), Session::get('password'));
 
-if(isset($_POST['submit'])) {
+if(Post::has('submit')) {
     $values = array_map('stripslashes', $_POST);
     unset($values['submit']);
     switch($values['moderate']) {
index 19c5bef..57a8439 100644 (file)
  *  59 Temple Place, Suite 330, Boston, MA  02111-1307  USA                *
  ***************************************************************************/
 
-if(empty($_REQUEST['liste'])) header('Location: index.php');
-$liste = strtolower($_REQUEST['liste']);
+if (!Env::has('liste')) header('Location: index.php');
+$liste = strtolower(Env::get('liste'));
 
 require_once("xorg.inc.php");
 new_skinned_page('listes/trombi.tpl', AUTH_COOKIE);
 require_once("trombi.inc.php");
 require_once('lists.inc.php');
 
-$client =& lists_xmlrpc($_SESSION['uid'], $_SESSION['password']);
+$client =& lists_xmlrpc(Session::getInt('uid'), Session::get('password'));
 
-if(isset($_GET['del'])) {
+if(Get::has('del')) {
     $client->unsubscribe($liste);
     header("Location: ?liste=$liste");
 }
-if(isset($_GET['add'])) {
+if(Get::has('add')) {
     $client->subscribe($liste);
     header("Location: ?liste=$liste");
 }
 
 function getList($offset,$limit) {
     global $client, $globals;
-    $liste = $_REQUEST['liste'];
+    $liste = Env::get('liste');
     list($total,$members) = $client->get_members_limit($liste,$offset,$limit);
 
     $membres = Array();
index 32826e0..1e9ef5f 100644 (file)
@@ -44,13 +44,13 @@ liste :
     <tr>
       <td class='titre'>Addresse&nbsp;souhaitée&nbsp;:</td>
       <td>
-        <input type='text' name='liste' value='{$smarty.post.liste}' />@polytechnique.org
+        <input type='text' name='liste' value='{$smarty.post.liste|stripslashes}' />@polytechnique.org
       </td>
     </tr>
     <tr>
       <td class='titre'>Sujet (bref) :</td>
       <td>
-        <input type='text' name='desc' size='50' value="{$smarty.post.desc}" />
+        <input type='text' name='desc' size='50' value="{$smarty.post.desc|stripslashes}" />
       </td>
     </tr>
     <tr>