Example #1
0
 /**
  * Load multiple users at a same time to save up on the queries.
  * @return	boolean		True upon success
  * @param	Array	$userIds	An array of user ids to be loaded.
  */
 public static function loadUsers($userIds)
 {
     $userIds = array_diff_key($userIds, self::$instances);
     if (empty($userIds)) {
         return;
     }
     $ids = implode(",", $userIds);
     $db = JFactory::getDBO();
     $query = 'SELECT  ' . ' a.' . $db->quoteName('userid') . ' as _userid ,' . ' a.' . $db->quoteName('status') . ' as _status , ' . ' a.' . $db->quoteName('points') . ' as _points, ' . ' a.' . $db->quoteName('posted_on') . ' as _posted_on, ' . ' a.' . $db->quoteName('avatar') . ' as _avatar , ' . ' a.' . $db->quoteName('thumb') . ' as _thumb , ' . ' a.' . $db->quoteName('invite') . ' as _invite, ' . ' a.' . $db->quoteName('params') . ' as _cparams,  ' . ' a.' . $db->quoteName('view') . ' as _view, ' . ' a.' . $db->quoteName('friends') . ' as _friends, ' . ' a.' . $db->quoteName('groups') . ' as _groups, ' . ' a.' . $db->quoteName('events') . ' as _events, ' . ' a.' . $db->quoteName('alias') . '	as _alias, ' . ' a.' . $db->quoteName('profile_id') . ' as _profile_id, ' . ' a.' . $db->quoteName('friendcount') . ' as _friendcount, ' . ' a.' . $db->quoteName('storage') . ' as _storage, ' . ' a.' . $db->quoteName('watermark_hash') . ' as _watermark_hash, ' . ' a.' . $db->quoteName('search_email') . ' AS _search_email, ' . ' s.' . $db->quoteName('userid') . ' as _isonline, u.* ' . ' FROM ' . $db->quoteName('#__community_users') . ' as a ' . ' LEFT JOIN ' . $db->quoteName('#__users') . ' u ' . ' ON u.' . $db->quoteName('id') . '=a.' . $db->quoteName('userid') . ' LEFT OUTER JOIN ' . $db->quoteName('#__session') . 's ' . ' ON s.' . $db->quoteName('userid') . '=a.' . $db->quoteName('userid') . ' WHERE a.' . $db->quoteName('userid') . ' IN (' . $ids . ')';
     $db->setQuery($query);
     $objs = $db->loadObjectList();
     foreach ($objs as $obj) {
         $user = new CUser($obj->_userid);
         $isNewUser = $user->init($obj);
         $user->getThumbAvatar();
         // technically, we should not fetch any new user here
         if ($isNewUser) {
             // New user added to jomSocial database
             // trigger event onProfileInit
             $appsLib = CAppPlugins::getInstance();
             $appsLib->loadApplications();
             $args = array();
             $args[] = $user;
             $appsLib->triggerEvent('onProfileCreate', $args);
         }
         CFactory::getUser($obj->_userid, $user);
     }
 }
Example #2
0
 /**
  * Load multiple users at a same time to save up on the queries.
  * @return	boolean		True upon success
  * @param	Array	$userIds	An array of user ids to be loaded.
  */
 public function loadUsers($userIds)
 {
     if (empty($userIds)) {
         return;
     }
     $ids = implode(",", $userIds);
     $db =& JFactory::getDBO();
     $query = "SELECT  " . "\ta.`userid` as _userid , " . "\ta.`status` as _status , " . "\ta.`points`\tas _points, " . "\ta.`posted_on` as _posted_on, " . "\ta.`avatar`\tas _avatar , " . "\ta.`thumb`\tas _thumb , " . "\ta.`invite`\tas _invite, " . "\ta.`params`\tas _cparams,  " . "\ta.`view`\tas _view, " . " a.`friendcount` as _friendcount, " . " a.`alias`\tas _alias, " . " a.`profile_id` as _profile_id, " . " a.`friendcount` as _friendcount, " . " a.`storage` as _storage, " . " a.`watermark_hash` as _watermark_hash, " . "s.`userid` as _isonline, u.* " . " FROM #__community_users as a " . " LEFT JOIN #__users u " . " ON u.`id`=a.`userid` " . " LEFT OUTER JOIN #__session s " . " ON s.`userid`=a.`userid` " . "WHERE a.`userid` IN ({$ids})";
     $db->setQuery($query);
     $objs = $db->loadObjectList();
     foreach ($objs as $obj) {
         $user = new CUser($obj->_userid);
         $isNewUser = $user->init($obj);
         $user->getThumbAvatar();
         // technically, we should not fetch any new user here
         if ($isNewUser) {
             // New user added to jomSocial database
             // trigger event onProfileInit
             $appsLib = CAppPlugins::getInstance();
             $appsLib->loadApplications();
             $args = array();
             $args[] = $user;
             $appsLib->triggerEvent('onProfileCreate', $args);
         }
         CFactory::getUser($obj->_userid, $user);
     }
 }