Uses S::user()->login() instead of S::v('forlife') in all calls to PlUpload.
[platal.git] / modules / xnetgrp.php
index a7a47e2..0f3c2b7 100644 (file)
@@ -122,7 +122,7 @@ class XnetGrpModule extends PLModule
 
         if (S::logged()) {
             if (Env::has('read')) {
-                XDB::query('DELETE r.*
+                XDB::query('DELETE groupex.r.*
                               FROM groupex.announces_read AS r
                         INNER JOIN groupex.announces AS a ON a.id = r.announce_id
                              WHERE peremption < CURRENT_DATE()');
@@ -320,10 +320,10 @@ class XnetGrpModule extends PLModule
             $mls = array_keys(Env::v('ml', array()));
             $mbr = array_keys(Env::v('membres', array()));
 
-            require_once dirname(__FILE__) . '/xnetgrp/mail.inc.php';
+            $this->load('mail.inc.php');
             set_time_limit(120);
             $tos = get_all_redirects($mbr,  $mls, $mmlist);
-            $upload = PlUpload::get($_FILES['uploaded'], S::v('forlife'), 'xnet.emails', true);
+            $upload = PlUpload::get($_FILES['uploaded'], S::user()->login(), 'xnet.emails', true);
             send_xnet_mails($from, $sujet, $body, Env::v('wiki'), $tos, Post::v('replyto'), $upload, @$_FILES['uploaded']['name']);
             if ($upload) {
                 $upload->rm();
@@ -735,7 +735,7 @@ class XnetGrpModule extends PLModule
     {
         global $globals;
 
-        require_once dirname(__FILE__) . '/xnetgrp/mail.inc.php';
+        $this->load('mail.inc.php');
         $page->changeTpl('xnetgrp/annuaire-admin.tpl');
         $mmlist = new MMList(S::v('uid'), S::v('password'),
                              $globals->asso('mail_domain'));
@@ -790,26 +790,13 @@ class XnetGrpModule extends PLModule
             S::assert_xsrf_token();
         }
 
-        if (strpos($email, '@') === false) {
-            $x = true;
-        } else {
-            list(,$fqdn) = explode('@', $email, 2);
-            $fqdn = strtolower($fqdn);
-            $x = ($fqdn == 'polytechnique.org' || $fqdn == 'melix.org' ||
-                  $fqdn == 'm4x.org' || $fqdn == 'melix.net');
-        }
-        if ($x) {
-            require_once 'user.func.inc.php';
-            if ($forlife = get_user_forlife($email)) {
-                XDB::execute(
-                    'INSERT INTO  groupex.membres (uid,asso_id,origine)
-                          SELECT  user_id,{?},"X"
-                            FROM  auth_user_md5 AS u
-                      INNER JOIN  aliases       AS a ON (u.user_id = a.id)
-                           WHERE  a.alias={?}', $globals->asso('id'), $forlife);
-                pl_redirect("member/$forlife");
-            } else {
-                $page->trigError($email." n'est pas un alias polytechnique.org valide.");
+        if (!User::isForeignEmailAddress($email)) {
+            $user = User::get($email);
+            if ($user) {
+                XDB::execute("REPLACE INTO  groupex.membres (uid, asso_id, origine)
+                                    VALUES  ({?}, {?}, 'X')",
+                             $user->id(), $globals->asso('id'));
+                pl_redirect("member/" . $user->login());
             }
         } else {
             if (isvalid_email($email)) {
@@ -1185,7 +1172,7 @@ class XnetGrpModule extends PLModule
         global $globals;
         $page->assign('asso', $globals->asso());
 
-        require_once dirname(__FILE__) . '/xnetgrp/feed.inc.php';
+        $this->load('feed.inc.php');
         $feed = new XnetGrpEventFeed();
         return $feed->run($page, $user, $hash, false);
     }
@@ -1219,7 +1206,7 @@ class XnetGrpModule extends PLModule
                 exit;
             }
         } else {
-            $upload = new PlUpload(S::v('forlife'), 'xnetannounce');
+            $upload = new PlUpload(S::user()->login(), 'xnetannounce');
             if ($upload->exists() && $upload->isType('image')) {
                 header('Content-Type: ' . $upload->contentType());
                 echo $upload->getContents();
@@ -1260,7 +1247,7 @@ class XnetGrpModule extends PLModule
             $art['xorg']       = Post::has('xorg');
             $art['nl']         = Post::has('nl');
             $art['event']      = Post::v('event');
-            $upload     = new PlUpload(S::v('forlife'), 'xnetannounce');
+            $upload     = new PlUpload(S::user()->login(), 'xnetannounce');
             $this->upload_image($page, $upload);
 
             $art['contact_html'] = $art['contacts'];
@@ -1313,7 +1300,7 @@ class XnetGrpModule extends PLModule
                 $post = null;/*
                 if ($globals->asso('forum')) {
                     require_once 'banana/forum.inc.php';
-                    $banana = new ForumsBanana(S::v('forlife'));
+                    $banana = new ForumsBanana(S::user());
                     $post = $banana->post($globals->asso('forum'), null,
                                           $art['titre'], MiniWiki::wikiToText($fulltext, false, 0, 80));
                 }*/