small fixes from previous
[platal.git] / modules / xnetgrp.php
index beeb0b0..a45d370 100644 (file)
@@ -65,23 +65,23 @@ class XnetGrpModule extends PLModule
     function handlers()
     {
         return array(
-            'grp'            => $this->make_hook('index',     AUTH_PUBLIC),
-            'grp/asso.php'   => $this->make_hook('index',     AUTH_PUBLIC),
-            'grp/logo'       => $this->make_hook('logo',      AUTH_PUBLIC),
-            'grp/edit'       => $this->make_hook('edit',      AUTH_MDP),
-            'grp/mail'       => $this->make_hook('mail',      AUTH_MDP),
-            'grp/annuaire'   => $this->make_hook('annuaire',  AUTH_MDP),
-            'grp/subscribe'  => $this->make_hook('subscribe', AUTH_MDP),
-            'grp/paiement'   => $this->make_hook('paiement',  AUTH_MDP),
-
-            'grp/admin/annuaire'
+            '%grp'            => $this->make_hook('index',     AUTH_PUBLIC),
+            '%grp/asso.php'   => $this->make_hook('index',     AUTH_PUBLIC),
+            '%grp/logo'       => $this->make_hook('logo',      AUTH_PUBLIC),
+            '%grp/edit'       => $this->make_hook('edit',      AUTH_MDP),
+            '%grp/mail'       => $this->make_hook('mail',      AUTH_MDP),
+            '%grp/annuaire'   => $this->make_hook('annuaire',  AUTH_MDP),
+            '%grp/subscribe'  => $this->make_hook('subscribe', AUTH_MDP),
+            '%grp/paiement'   => $this->make_hook('paiement',  AUTH_MDP),
+
+            '%grp/admin/annuaire'
                  => $this->make_hook('admin_annuaire', AUTH_MDP),
 
-            'grp/member'
+            '%grp/member'
                  => $this->make_hook('admin_member', AUTH_MDP),
-            'grp/member/new'
+            '%grp/member/new'
                  => $this->make_hook('admin_member_new', AUTH_MDP),
-            'grp/member/del'
+            '%grp/member/del'
                  => $this->make_hook('admin_member_del', AUTH_MDP),
         );
     }
@@ -98,7 +98,7 @@ class XnetGrpModule extends PLModule
         $page->useMenu();
         $page->setType($globals->asso('cat'));
         $page->assign('is_member', is_member());
-        $page->assign('logged', logged());
+        $page->assign('logged', S::logged());
 
         $page->assign('asso', $globals->asso());
     }
@@ -138,9 +138,10 @@ class XnetGrpModule extends PLModule
         new_groupadmin_page('xnet/groupe/edit.tpl');
 
         if (Post::has('submit')) {
-            if (has_perms()) {
-                if (Post::get('mail_domain') && (strstr(Post::get('mail_domain'), '.') === false)) {
-                    $page->trig_run("le domaine doit être un FQDN (aucune modif effectuée) !!!");
+            if (S::has_perms()) {
+                if (Post::v('mail_domain') && (strstr(Post::v('mail_domain'), '.') === false)) {
+                    $page->trig("le domaine doit être un FQDN (aucune modif effectuée) !!!");
+                    return;
                 }
                 XDB::execute(
                     "UPDATE  groupex.asso
@@ -149,17 +150,17 @@ class XnetGrpModule extends PLModule
                              forum={?}, mail_domain={?}, ax={?}, pub={?},
                              sub_url={?}, inscriptible={?}
                       WHERE  id={?}",
-                      Post::get('nom'), Post::get('diminutif'),
-                      Post::get('cat'), Post::getInt('dom'),
-                      Post::get('descr'), Post::get('site'),
-                      Post::get('mail'), Post::get('resp'),
-                      Post::get('forum'), Post::get('mail_domain'),
+                      Post::v('nom'), Post::v('diminutif'),
+                      Post::v('cat'), Post::i('dom'),
+                      Post::v('descr'), Post::v('site'),
+                      Post::v('mail'), Post::v('resp'),
+                      Post::v('forum'), Post::v('mail_domain'),
                       Post::has('ax'), Post::has('pub')?'private':'public',
-                      Post::get('sub_url'), Post::get('inscriptible'),
+                      Post::v('sub_url'), Post::v('inscriptible'),
                       $globals->asso('id'));
-                if (Post::get('mail_domain')) {
+                if (Post::v('mail_domain')) {
                     XDB::execute('INSERT INTO virtual_domains (domain) VALUES({?})',
-                                           Post::get('mail_domain'));
+                                           Post::v('mail_domain'));
                 }
             } else {
                 XDB::execute(
@@ -167,11 +168,11 @@ class XnetGrpModule extends PLModule
                         SET  descr={?}, site={?}, mail={?}, resp={?},
                              forum={?}, ax={?}, pub= {?}, sub_url={?}
                       WHERE  id={?}",
-                      Post::get('descr'), Post::get('site'),
-                      Post::get('mail'), Post::get('resp'),
-                      Post::get('forum'), Post::has('ax'),
+                      Post::v('descr'), Post::v('site'),
+                      Post::v('mail'), Post::v('resp'),
+                      Post::v('forum'), Post::has('ax'),
                       Post::has('pub')?'private':'public',
-                      Post::get('sub_url'), $globals->asso('id'));
+                      Post::v('sub_url'), $globals->asso('id'));
             }
 
             if ($_FILES['logo']['name']) {
@@ -183,10 +184,10 @@ class XnetGrpModule extends PLModule
                                         $globals->asso('id'));
             }
 
-            redirect('../'.Post::get('diminutif', $globals->asso('diminutif')).'/edit');
+            pl_redirect('../'.Post::v('diminutif', $globals->asso('diminutif')).'/edit');
         }
 
-        if (has_perms()) {
+        if (S::has_perms()) {
             $dom = XDB::iterator('SELECT * FROM groupex.dom ORDER BY nom');
             $page->assign('dom', $dom);
             $page->assign('super', true);
@@ -200,21 +201,21 @@ class XnetGrpModule extends PLModule
         require_once 'lists.inc.php';
 
         new_groupadmin_page('xnet/groupe/mail.tpl');
-        $client =& lists_xmlrpc(Session::getInt('uid'),
-                                Session::get('password'),
+        $client =& lists_xmlrpc(S::v('uid'),
+                                S::v('password'),
                                 $globals->asso('mail_domain'));
         $page->assign('listes', $client->get_lists());
 
         if (Post::has('send')) {
-            $from  = Post::get('from');
-            $sujet = Post::get('sujet');
-            $body  = Post::get('body');
+            $from  = Post::v('from');
+            $sujet = Post::v('sujet');
+            $body  = Post::v('body');
 
-            $mls = array_keys(Env::getMixed('ml', array()));
+            $mls = array_keys(Env::v('ml', array()));
 
             require_once 'xnet/mail.inc.php';
             $tos = get_all_redirects(Post::has('membres'), $mls, $client);
-            send_xnet_mails($from, $sujet, $body, $tos, Post::get('replyto'));
+            send_xnet_mails($from, $sujet, $body, $tos, Post::v('replyto'));
             $page->kill("Mail envoyé !");
             $page->assign('sent', true);
         }
@@ -234,7 +235,7 @@ class XnetGrpModule extends PLModule
 
         $page->assign('admin', may_update());
 
-        switch (Env::get('order')) {
+        switch (Env::v('order')) {
             case 'promo'    : $group = 'promo';    $tri = 'promo_o DESC, nom, prenom'; break;
             case 'promo_inv': $group = 'promo';    $tri = 'promo_o, nom, prenom'; break;
             case 'alpha_inv': $group = 'initiale'; $tri = 'nom DESC, prenom DESC, promo'; break;
@@ -266,17 +267,17 @@ class XnetGrpModule extends PLModule
         while (list($char, $nb) = $res->next()) {
             $alphabet[] = $char;
             $nb_tot += $nb;
-            if (Env::has($group) && $char == strtoupper(Env::get($group))) {
+            if (Env::has($group) && $char == strtoupper(Env::v($group))) {
                 $tot = $nb;
             }
         }
         $page->assign('group', $group);
-        $page->assign('request_group', Env::get($group));
+        $page->assign('request_group', Env::v($group));
         $page->assign('alphabet', $alphabet);
         $page->assign('nb_tot',   $nb_tot);
 
-        $ofs   = Env::getInt('offset');
-        $tot   = Env::get($group) ? $tot : $nb_tot;
+        $ofs   = Env::i('offset');
+        $tot   = Env::v($group) ? $tot : $nb_tot;
         $nbp   = intval(($tot-1)/NB_PER_PAGE);
         $links = array();
         if ($ofs) {
@@ -296,10 +297,10 @@ class XnetGrpModule extends PLModule
         if (Env::has('initiale')) {
             $ini = 'AND IF(m.origine="X",
                            IF(u.nom_usage<>"", u.nom_usage, u.nom),
-                           m.nom) LIKE "'.addslashes(Env::get('initiale')).'%"';
+                           m.nom) LIKE "'.addslashes(Env::v('initiale')).'%"';
         } elseif (Env::has('promo')) {
             $ini = 'AND IF(m.origine="X", u.promo, "extérieur") = "'
-                 .addslashes(Env::get('promo')).'"';
+                 .addslashes(Env::v('promo')).'"';
         }
 
         $ann = XDB::iterator(
@@ -308,7 +309,7 @@ class XnetGrpModule extends PLModule
                            IF(m.origine='X',u.promo,'extérieur') AS promo,
                            IF(m.origine='X',u.promo,'') AS promo_o,
                            IF(m.origine='X',a.alias,m.email) AS email,
-                           IF(m.origine='X',FIND_IN_SET('femme', u.flags),0) AS femme,
+                           IF(m.origine='X',FIND_IN_SET('femme', u.flags), m.sexe) AS femme,
                            m.perms='admin' AS admin,
                            m.origine='X' AS x,
                            m.uid
@@ -355,7 +356,8 @@ class XnetGrpModule extends PLModule
                                             $u, $globals->asso('id'));
                 $n   = $res->fetchOneCell();
                 if ($n) {
-                    $page->trig_run("$prenom $nom est déjà membre du groupe !");
+                    $page->trig("$prenom $nom est déjà membre du groupe !");
+                    return;
                 }
                 elseif (Env::has('accept'))
                 {
@@ -365,8 +367,8 @@ class XnetGrpModule extends PLModule
                     require_once 'diogenes/diogenes.hermes.inc.php';
                     $mailer = new HermesMailer();
                     $mailer->addTo("$u@polytechnique.org");
-                    $mailer->setFrom('"'.Session::get('prenom').' '.Session::get('nom')
-                                     .'" <'.Session::get('forlife').'@polytechnique.org>');
+                    $mailer->setFrom('"'.S::v('prenom').' '.S::v('nom')
+                                     .'" <'.S::v('forlife').'@polytechnique.org>');
                     $mailer->setSubject('['.$globals->asso('nom').'] Demande d\'inscription');
                     $message = "Cher Camarade,\n"
                              . "\n"
@@ -384,10 +386,10 @@ class XnetGrpModule extends PLModule
                     require_once 'diogenes/diogenes.hermes.inc.php';
                     $mailer = new HermesMailer();
                     $mailer->addTo("$u@polytechnique.org");
-                    $mailer->setFrom('"'.Session::get('prenom').' '.Session::get('nom')
-                                     .'" <'.Session::get('forlife').'@polytechnique.org>');
+                    $mailer->setFrom('"'.S::v('prenom').' '.S::v('nom')
+                                     .'" <'.S::v('forlife').'@polytechnique.org>');
                     $mailer->setSubject('['.$globals->asso('nom').'] Demande d\'inscription annulée');
-                    $mailer->setTxtBody(Env::get('motif'));
+                    $mailer->setTxtBody(Env::v('motif'));
                     $mailer->send();
                     $page->kill("la demande $prenom $nom a bien été refusée");
                 } else {
@@ -422,12 +424,12 @@ class XnetGrpModule extends PLModule
             $append = "\n"
                     . "-- \n"
                     . "Ce message a été envoyé suite à la demande d'inscription de\n"
-                    . Session::get('prenom').' '.Session::get('nom').' (X'.Session::get('promo').")\n"
+                    . S::v('prenom').' '.S::v('nom').' (X'.S::v('promo').")\n"
                     . "Via le site www.polytechnique.net. Tu peux choisir de valider ou\n"
                     . "de refuser sa demande d'inscription depuis la page :\n"
                     .
                     "http://www.polytechnique.net/".$globals->asso("diminutif")."/subscribe/"
-                        .Session::get('forlife')."\n"
+                        .S::v('forlife')."\n"
                     . "\n"
                     . "En cas de problème, contacter l'équipe de Polytechnique.org\n"
                     . "à l'adresse : support@polytechnique.org\n";
@@ -443,10 +445,10 @@ class XnetGrpModule extends PLModule
             require_once 'diogenes/diogenes.hermes.inc.php';
             $mailer = new HermesMailer();
             $mailer->addTo($to);
-            $mailer->setFrom('"'.Session::get('prenom').' '.Session::get('nom')
-                             .'" <'.Session::get('forlife').'@polytechnique.org>');
+            $mailer->setFrom('"'.S::v('prenom').' '.S::v('nom')
+                             .'" <'.S::v('forlife').'@polytechnique.org>');
             $mailer->setSubject('['.$globals->asso('nom').'] Demande d\'inscription');
-            $mailer->setTxtBody(Post::get('message').$append);
+            $mailer->setTxtBody(Post::v('message').$append);
             $mailer->send();
         }
     }
@@ -465,12 +467,12 @@ class XnetGrpModule extends PLModule
         $tit = $res->fetchAllAssoc();
         $page->assign('titres', $tit);
 
-        $order = Env::get('order', 'timestamp');
+        $order = Env::v('order', 'timestamp');
         $orders = array('timestamp', 'nom', 'promo', 'montant');
         if (!in_array($order, $orders)) {
             $order = 'timestamp';
         }
-        $inv_order = Env::get('order_inv', 0);
+        $inv_order = Env::v('order_inv', 0);
         $page->assign('order', $order);
         $page->assign('order_inv', !$inv_order);
 
@@ -527,8 +529,7 @@ class XnetGrpModule extends PLModule
         require_once 'xnet/mail.inc.php';
 
         new_groupadmin_page('xnet/groupe/annuaire-admin.tpl');
-        $client =& lists_xmlrpc(Session::getInt('uid'),
-                                Session::get('password'),
+        $client =& lists_xmlrpc(S::v('uid'), S::v('password'),
                                 $globals->asso('mail_domain'));
         $lists  = $client->get_lists();
         if (!$lists) $lists = array();
@@ -592,8 +593,7 @@ class XnetGrpModule extends PLModule
                             FROM  auth_user_md5 AS u
                       INNER JOIN  aliases       AS a ON (u.user_id = a.id)
                            WHERE  a.alias={?}', $globals->asso('id'), $forlife);
-                global $platal;
-                redirect(smarty_function_rel()."/{$platal->ns}member/$email");
+                pl_redirect("member/$email");
             } else {
                 $page->trig($email." n'est pas un alias polytechnique.org valide");
             }
@@ -604,8 +604,7 @@ class XnetGrpModule extends PLModule
                 XDB::execute('INSERT INTO  groupex.membres (uid,asso_id,origine,email)
                                         VALUES({?},{?},"ext",{?})', $uid,
                                         $globals->asso('id'), $email);
-                global $platal;
-                redirect(smarty_function_rel()."/{$platal->ns}member/$email");
+                pl_redirect("member/$email");
             } else {
                 $page->trig("« <strong>$email</strong> » n'est pas une adresse mail valide");
             }
@@ -637,7 +636,7 @@ class XnetGrpModule extends PLModule
         if (($domain = $globals->asso('mail_domain')) && empty($user_same_email)) {
 
             require 'lists.inc.php';
-            $client =& lists_xmlrpc(Session::getInt('uid'), Session::get('password'), $domain);
+            $client =& lists_xmlrpc(S::v('uid'), S::v('password'), $domain);
             $listes = $client->get_lists($user['email2']);
 
             foreach ($listes as $liste) {
@@ -677,35 +676,35 @@ class XnetGrpModule extends PLModule
         }
 
         require 'lists.inc.php';
-        $client =& lists_xmlrpc(Session::getInt('uid'),
-                                Session::get('password'),
+        $client =& lists_xmlrpc(S::v('uid'), S::v('password'),
                                 $globals->asso('mail_domain'));
 
         if (Post::has('change')) {
             if ($user['origine'] != 'X') {
                 XDB::query('UPDATE groupex.membres
-                                         SET prenom={?}, nom={?}, email={?}
-                                       WHERE uid={?} AND asso_id={?}',
-                                     Post::get('prenom'), Post::get('nom'),
-                                     Post::get('email'), $user['uid'],
-                                     $globals->asso('id'));
-                $user['nom']    = Post::get('nom');
-                $user['prenom'] = Post::get('prenom');
-                $user['email']  = Post::get('email');
-                $user['email2'] = Post::get('email');
+                               SET prenom={?}, nom={?}, email={?}, sexe={?}
+                             WHERE uid={?} AND asso_id={?}',
+                           Post::v('prenom'), Post::v('nom'),
+                           Post::v('email'), Post::v('sexe'),
+                           $user['uid'], $globals->asso('id'));
+                $user['nom']    = Post::v('nom');
+                $user['prenom'] = Post::v('prenom');
+                $user['sexe']   = Post::v('sexe');
+                $user['email']  = Post::v('email');
+                $user['email2'] = Post::v('email');
             }
 
-            $perms = Post::getInt('is_admin');
+            $perms = Post::i('is_admin');
             if ($user['perms'] != $perms) {
                 XDB::query('UPDATE groupex.membres SET perms={?}
-                                      WHERE uid={?} AND asso_id={?}',
-                                      $perms ? 'admin' : 'membre',
-                                      $user['uid'], $globals->asso('id'));
+                             WHERE uid={?} AND asso_id={?}',
+                            $perms ? 'admin' : 'membre',
+                            $user['uid'], $globals->asso('id'));
                 $user['perms'] = $perms;
                 $page->trig('permissions modifiées');
             }
 
-            foreach (Env::getMixed('ml1', array()) as $ml => $state) {
+            foreach (Env::v('ml1', array()) as $ml => $state) {
                 $ask = empty($_REQUEST['ml2'][$ml]) ? 0 : 2;
                 if ($ask == $state) continue;
                 if ($state == '1') {
@@ -721,7 +720,7 @@ class XnetGrpModule extends PLModule
                 }
             }
 
-            foreach (Env::getMixed('ml3', array()) as $ml => $state) {
+            foreach (Env::v('ml3', array()) as $ml => $state) {
                 $ask = !empty($_REQUEST['ml4'][$ml]);
                 if($state == $ask) continue;
                 if($ask) {