/** * @param array $userids * * @return array */ public static function loadUsers(array $userids = array()) { KUNENA_PROFILER ? KunenaProfiler::instance()->start('function ' . __CLASS__ . '::' . __FUNCTION__ . '()') : null; // Make sure that userids are unique and that indexes are correct $e_userids = array(); foreach ($userids as $userid) { // Ignore guests and imported users, which haven't been mapped to Joomla (id<0). if ($userid > 0 && empty(self::$_instances[$userid])) { $e_userids[(int) $userid] = (int) $userid; } } if (!empty($e_userids)) { $userlist = implode(',', $e_userids); $db = JFactory::getDBO(); $query = "SELECT u.name, u.username, u.email, u.block as blocked, u.registerDate, u.lastvisitDate, ku.*, u.id AS userid\n\t\t\t\tFROM #__users AS u\n\t\t\t\tLEFT JOIN #__kunena_users AS ku ON u.id = ku.userid\n\t\t\t\tWHERE u.id IN ({$userlist})"; $db->setQuery($query); $results = $db->loadAssocList(); KunenaError::checkDatabaseError(); foreach ($results as $user) { $instance = new KunenaUser(false); $instance->setProperties($user); $instance->exists(isset($user['posts'])); self::$_instances[$instance->userid] = $instance; } // Preload avatars if configured $avatars = KunenaFactory::getAvatarIntegration(); $avatars->load($e_userids); } $list = array(); foreach ($userids as $userid) { if (isset(self::$_instances[$userid])) { $list[$userid] = self::$_instances[$userid]; } } KUNENA_PROFILER ? KunenaProfiler::instance()->stop('function ' . __CLASS__ . '::' . __FUNCTION__ . '()') : null; return $list; }
public static function loadUsers(array $userids = array()) { // Make sure that userids are unique and that indexes are correct $e_userids = array(); foreach ($userids as &$userid) { if (!$userid || $userid != intval($userid)) { unset($userid); } elseif (empty(self::$_instances[$userid])) { $e_userids[$userid] = $userid; } } if (!empty($e_userids)) { $userlist = implode(',', $e_userids); $db = JFactory::getDBO(); $query = "SELECT u.name, u.username, u.email, u.block as blocked, u.registerDate, u.lastvisitDate, ku.*\n\t\t\t\tFROM #__users AS u\n\t\t\t\tLEFT JOIN #__kunena_users AS ku ON u.id = ku.userid\n\t\t\t\tWHERE u.id IN ({$userlist})"; $db->setQuery($query); $results = $db->loadAssocList(); KunenaError::checkDatabaseError(); foreach ($results as $user) { $instance = new KunenaUser(false); $instance->setProperties($user); $instance->exists(true); self::$_instances[$instance->userid] = $instance; } // Preload avatars if configured $avatars = KunenaFactory::getAvatarIntegration(); $avatars->load($e_userids); } $list = array(); foreach ($userids as $userid) { if (isset(self::$_instances[$userid])) { $list[$userid] = self::$_instances[$userid]; } } return $list; }
static public function loadUsers($userids = array()) { if (!is_array($userids)) { JError::raiseError ( 500, __CLASS__ . '::' . __FUNCTION__.'(): Parameter $userids is not array' ); } // Make sure that userids are unique and that indexes are correct $e_userids = array(); foreach($userids as $userid){ if (empty ( self::$_instances [intval($userid)] )) $e_userids[intval($userid)] = intval($userid); } unset($e_userids[0]); if (empty($e_userids)) return array(); $userlist = implode ( ',', $e_userids ); $db = JFactory::getDBO (); $query = "SELECT u.name, u.username, u.email, u.block as blocked, u.registerDate, u.lastvisitDate, ku.* FROM #__users AS u LEFT JOIN #__kunena_users AS ku ON u.id = ku.userid WHERE u.id IN ({$userlist})"; $db->setQuery ( $query ); $results = $db->loadAssocList (); KunenaError::checkDatabaseError (); $list = array (); foreach ( $results as $user ) { $instance = new KunenaUser (false); $instance->setProperties ( $user ); $instance->exists(true); self::$_instances [$instance->userid] = $instance; } // Finally call integration preload as well // Preload avatars if configured $avatars = KunenaFactory::getAvatarIntegration(); $avatars->load($userids); foreach ($userids as $userid) { if (isset(self::$_instances [$userid])) $list [$userid] = self::$_instances [$userid]; } return $list; }