Use 'changeTpl' for xnet pages and use handler permission instead of page restriction
[platal.git] / modules / register.php
index 3549145..77dff4d 100644 (file)
@@ -58,17 +58,18 @@ class RegisterModule extends PLModule
 
         if ($hash) {
             $res = XDB::query(
-                    "SELECT  m.uid, u.promo, u.nom, u.prenom, u.matricule
+                    "SELECT  m.uid, u.promo, u.nom, u.prenom, u.matricule, FIND_IN_SET('watch', u.flags)
                        FROM  register_marketing AS m
                  INNER JOIN  auth_user_md5      AS u ON u.user_id = m.uid
                       WHERE  m.hash={?}", $hash);
-            if (list($uid, $promo, $nom, $prenom, $ourmat) = $res->fetchOneRow()) {
+            if (list($uid, $promo, $nom, $prenom, $ourmat, $watch) = $res->fetchOneRow()) {
                 $sub_state['uid']    = $uid;
                 $sub_state['hash']   = $hash;
                 $sub_state['promo']  = $promo;
                 $sub_state['nom']    = $nom;
                 $sub_state['prenom'] = $prenom;
                 $sub_state['ourmat'] = $ourmat;
+                $sub_state['watch']  = $watch;
 
                 XDB::execute(
                         "REPLACE INTO  register_mstats (uid,sender,success)
@@ -168,6 +169,9 @@ class RegisterModule extends PLModule
                     if (count($aliases) != 0) {
                         $alert .= "Email surveille propose a l'inscription - ";
                     }
+                    if ($sub_state['watch']) {
+                        $alter .= "Inscription d'un utilisateur surveillé - ";
+                    }
 
                     if (check_ip('unsafe')) {
                         unset($err);
@@ -322,6 +326,8 @@ class RegisterModule extends PLModule
             $mymail->setTxtBody(wordwrap($msg, 72));
             $mymail->send();
         }
+
+        /**** send a mail to X.org administrators ****/
         if ($globals->register->notif) {
             $mymail = new PlMailer();
             $mymail->setSubject("Inscription de $prenom $nom (X$promo)");
@@ -334,12 +340,15 @@ class RegisterModule extends PLModule
                  . " - naissance : $naissance\n"
                  . " - forlife   : $forlife\n"
                  . " - email     : $email\n"
-                 . " - sexe      : $femme\n"; 
+                 . " - sexe      : $femme\n"
+                 . " - ip        : " . (@$_SERVER['HTTP_X_FORWARDED_FOR'] ? $_SERVER['HTTP_X_FORWARDED_FOR']
+                                                                          : $_SERVER['REMOTE_ADDR']) . "\n"
+                 . " - proxy     : " . (@$_SERVER['HTTP_X_FORWARDED_FOR'] ? $_SERVER['REMOTE_ADDR'] : "") . "\n";
             $mymail->setTxtBody($msg);
             $mymail->send(); 
         }
 
-        XDB::execute("DELETE FROM register_marketing WHERE uid = {?}", $uid);
+        Marketing::clear($uid);
 
         pl_redirect('register/success');
         $page->assign('uid', $uid);
@@ -357,7 +366,7 @@ class RegisterModule extends PLModule
                                      WHERE user_id={?}', $password,
                                    S::v('uid'));
 
-            $log =& S::v('log');
+            $log = S::v('log');
             $log->log('passwd', '');
 
             if (Cookie::v('ORGaccess')) {
@@ -368,6 +377,23 @@ class RegisterModule extends PLModule
             $page->assign('mdpok', true);
         }
 
+        $res = XDB::iterRow("SELECT  sub, domain
+                               FROM  register_subs
+                              WHERE  uid = {?} AND type = 'list'
+                           ORDER BY  domain",
+                            S::i('uid'));
+        $current_domain = null;
+        $lists = array();
+        while (list($sub, $domain) = $res->next()) {
+            if ($current_domain != $domain) {
+                $current_domain = $domain;
+                $client = new MMList(S::v('uid'), S::v('password'), $domain);
+            }
+            list($details, ) = $client->get_members($sub);
+            $lists["$sub@$domain"] = $details;
+        }
+        $page->assign_by_ref('lists', $lists);
+
         $page->addJsLink('motdepasse.js');
     }
 }