Some fixes in user management functions (Closes #849)
authorFlorent Bruneau <florent.bruneau@polytechnique.org>
Sat, 28 Jun 2008 17:47:38 +0000 (19:47 +0200)
committerFlorent Bruneau <florent.bruneau@polytechnique.org>
Sat, 28 Jun 2008 17:47:38 +0000 (19:47 +0200)
Signed-off-by: Florent Bruneau <florent.bruneau@polytechnique.org>
include/user.func.inc.php
modules/lists.php

index a363394..ac934f7 100644 (file)
@@ -209,8 +209,16 @@ function get_users_forlife_list($members, $strict = false, $callback = '_default
             }
             if (($login = get_user_forlife($alias, $callback)) !== false) {
                 $list[$i] = $login;
-            } else if(!$strict) {
+            } else if (!$strict) {
                 $list[$i] = $alias;
+            } else {
+                global $globals;
+                if (strpos($alias, '@') !== false) {
+                    list($user, $dom) = explode('@', $alias);
+                    if ($dom != $globals->mail->domain && $dom != $globals->mail->domain2) {
+                        $list[$i] = $alias;
+                    }
+                }
             }
         }
         return $list;
@@ -251,7 +259,7 @@ function get_not_registered_user($login, $iterator = false)
     }
     $sql = "SELECT  user_id, nom, prenom, promo
               FROM  auth_user_md5
-             WHERE  $where
+             WHERE  $where AND perms = 'pending'
           ORDER BY  promo, nom, prenom";
     if ($iterator) {
         return XDB::iterator($sql, $nom, $prenom, $promo);
index 8baeb85..95efd3f 100644 (file)
@@ -186,7 +186,7 @@ class ListsModule extends PLModule
         // click on validate button 'add_member_sub'
         require_once('user.func.inc.php');
         if (Post::has('add_member_sub') && Post::has('add_member')) {
-            $forlifes = get_users_forlife_list(Post::v('add_member'), false);
+            $forlifes = get_users_forlife_list(Post::v('add_member'), true);
             if (!is_null($forlifes)) {
                 $members = array_merge($members, $forlifes);
             }
@@ -196,7 +196,7 @@ class ListsModule extends PLModule
             if (!$upload) {
                 $page->trigError('Une erreur s\'est produite lors du tĂ©lĂ©chargement du fichier');
             } else {
-                $forlifes = get_users_forlife_list($upload->getContents(), false);
+                $forlifes = get_users_forlife_list($upload->getContents(), true);
                 if (!is_null($forlifes)) {
                     $members = array_merge($members, $forlifes);
                 }