From 740972a8263e065405d0397b9681a2a2ddb53c86 Mon Sep 17 00:00:00 2001 From: peterbulmer Date: Thu, 14 Aug 2008 23:48:20 +0000 Subject: [PATCH] MDL-16021 dont force mnethost restriction forloading user data based on id --- lib/moodlelib.php | 21 +++++++++++---------- 1 file changed, 11 insertions(+), 10 deletions(-) diff --git a/lib/moodlelib.php b/lib/moodlelib.php index c4241074284..8f3c47173d8 100644 --- a/lib/moodlelib.php +++ b/lib/moodlelib.php @@ -2875,17 +2875,18 @@ function get_complete_user_data($field, $value, $mnethostid=null) { $constraints = $field .' = \''. $value .'\' AND deleted <> \'1\''; - if (is_null($mnethostid)) { - // if null, we restrict to local users - // ** testing for local user can be done with - // mnethostid = $CFG->mnet_localhost_id - // or with - // auth != 'mnet' - // but the first one is FAST with our indexes - $mnethostid = $CFG->mnet_localhost_id; + // If we are loading user data based on anything other than id, + // we must also restrict our search based on mnet host. + if ($field != 'id') { + if (empty($mnethostid)) { + // if empty, we restrict to local users + $mnethostid = $CFG->mnet_localhost_id; + } + } + if (!empty($mnethostid)) { + $mnethostid = (int)$mnethostid; + $constraints .= ' AND mnethostid = ' . $mnethostid; } - $mnethostid = (int)$mnethostid; - $constraints .= ' AND mnethostid = \''.$mnethostid.'\''; /// Get all the basic user data