Fix photo edition by other users (Closes #1160)
[platal.git] / modules / marketing.php
index 3d63d6d..d5f9ed8 100644 (file)
@@ -1,6 +1,6 @@
 <?php
 /***************************************************************************
- *  Copyright (C) 2003-2009 Polytechnique.org                              *
+ *  Copyright (C) 2003-2010 Polytechnique.org                              *
  *  http://opensource.polytechnique.org/                                   *
  *                                                                         *
  *  This program is free software; you can redistribute it and/or modify   *
@@ -64,8 +64,7 @@ class MarketingModule extends PLModule
         }
         $matricule = $user->profile()->xorg_id;
 
-        require_once('user.func.inc.php');
-        $matricule_X = get_X_mat($matricule);
+        $matricule_X = Profile::getSchoolId($matricule);
 
         $page->assign('full_name', $user->fullName());
         $page->assign('promo', $user->promo());
@@ -124,8 +123,8 @@ class MarketingModule extends PLModule
         $res = XDB::iterator(
                 "SELECT  r.*, a.alias
                    FROM  register_marketing AS r
-              LEFT JOIN  aliases            AS a ON (r.sender=a.id AND a.type = 'a_vie')
-                  WHERE  uid={?}
+              LEFT JOIN  aliases            AS a ON (r.sender = a.uid AND a.type = 'a_vie')
+                  WHERE  r.uid = {?}
                ORDER BY  date", $user->id());
         $page->assign('addr', $res);
 
@@ -206,13 +205,13 @@ class MarketingModule extends PLModule
         $page->changeTpl('marketing/promo.tpl');
 
         if (is_null($promo)) {
-            $promo = S::v('promo');
+            $promo = S::v('promo', S::user()->promo());
         }
         $page->assign('promo', $promo);
 
-        $uf = new UserFilter(new UFC_And(new UFC_Promo('=', UserFilter::DISPLAY, $promo),
-                                            new UFC_Not(new UFC_Registered())),
-                                array(new UFO_Name(UserFilter::LASTNAME), new UFO_Name(UserFilter::FIRSTNAME)));
+        $uf = new UserFilter(new PFC_And(new UFC_Promo('=', UserFilter::DISPLAY, $promo),
+                                            new PFC_Not(new UFC_Registered())),
+                                array(new UFO_Name(Profile::LASTNAME), new UFO_Name(Profile::FIRSTNAME)));
         $users = $uf->getUsers();
         $page->assign('nonins', $users);
     }
@@ -302,11 +301,13 @@ class MarketingModule extends PLModule
 
 
         if (!is_null($promo)) {
-            $it = XDB::iterator('SELECT  m.uid, m.email
+            $it = XDB::iterator('SELECT  m.uid, m.email, s.alias AS forlife
                                    FROM  register_marketing AS m
                              INNER JOIN  account_profiles AS ap ON (m.uid = ap.uid AND FIND_IN_SET(\'owner\', ap.perms))
                              INNER JOIN  profile_display AS pd ON (pd.pid = ap.pid)
-                                  WHERE  pd.promo = {?}', $promo);
+                              LEFT JOIN  aliases AS s ON (m.sender = s.uid AND s.type = \'a_vie\')
+                                  WHERE  pd.promo = {?}
+                               ORDER BY  pd.sort_name', $promo);
             $page->assign('addr', $it);
         }
     }