%PDF-1.5 %���� ºaâÚÎΞ-ÌE1ÍØÄ÷{òò2ÿ ÛÖ^ÔÀá TÎ{¦?§®¥kuµùÕ5sLOšuY
Server IP : 49.231.201.246 / Your IP : 216.73.216.248 Web Server : Apache/2.4.18 (Ubuntu) System : Linux 246 4.4.0-210-generic #242-Ubuntu SMP Fri Apr 16 09:57:56 UTC 2021 x86_64 User : root ( 0) PHP Version : 7.0.33-0ubuntu0.16.04.16 Disable Function : pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority, MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : ON | Sudo : ON | Pkexec : ON Directory : /var/www/html/old/modules/mod_k2_users/ |
Upload File : |
<?php /** * @version 2.6.x * @package K2 * @author JoomlaWorks http://www.joomlaworks.net * @copyright Copyright (c) 2006 - 2014 JoomlaWorks Ltd. All rights reserved. * @license GNU/GPL license: http://www.gnu.org/copyleft/gpl.html */ // no direct access defined('_JEXEC') or die ; require_once (JPATH_SITE.DS.'components'.DS.'com_k2'.DS.'helpers'.DS.'route.php'); require_once (JPATH_SITE.DS.'components'.DS.'com_k2'.DS.'helpers'.DS.'utilities.php'); class modK2UsersHelper { public static function getUsers(&$params) { $mainframe = JFactory::getApplication(); $user = JFactory::getUser(); $aid = (int)$user->get('aid'); $db = JFactory::getDBO(); $jnow = JFactory::getDate(); $now = K2_JVERSION == '15' ? $jnow->toMySQL() : $jnow->toSql(); $nullDate = $db->getNullDate(); $userObjects = array(); if (K2_JVERSION != '15') { $itemAccessCheck = " i.access IN(".implode(',', $user->getAuthorisedViewLevels()).") "; $categoryAccessCheck = " c.access IN(".implode(',', $user->getAuthorisedViewLevels()).") "; $languageCheck = ''; if ($mainframe->getLanguageFilter()) { $languageTag = JFactory::getLanguage()->getTag(); $languageCheck = " AND c.language IN (".$db->Quote($languageTag).", ".$db->Quote('*').") AND i.language IN (".$db->Quote($languageTag).", ".$db->Quote('*').")"; } } else { $itemAccessCheck = " i.access <= {$aid} "; $categoryAccessCheck = " c.access <= {$aid} "; $languageCheck = ''; } if ($params->get('source') == 'specific' && $params->get('userIDs')) { $IDs = array(); if (is_string($params->get('userIDs'))) $IDs[] = $params->get('userIDs'); else $IDs = $params->get('userIDs'); JArrayHelper::toInteger($IDs); $query = "SELECT users.name,users.email, users.id AS UID, profiles.* FROM #__users AS users LEFT JOIN #__k2_users AS profiles ON users.id=profiles.userID WHERE users.block=0 AND users.id IN (".implode(',', $IDs).")"; $db->setQuery($query); $userObjects = $db->loadObjectList(); $newUserObjects = array(); foreach ($IDs as $id) { foreach ($userObjects as $uO) { if ($uO->UID == $id) { $newUserObjects[] = $uO; break; } } } $userObjects = $newUserObjects; } else { switch($params->get('filter',0)) { case 0 : $query = "SELECT users.name,users.email,users.id AS UID, profiles.*"; if ($params->get('ordering') == 'recent') $query .= ", MAX(i.created) AS counter"; $query .= " FROM #__users AS users LEFT JOIN #__k2_users AS profiles ON users.id=profiles.userID"; if ($params->get('ordering') == 'recent') { $query .= " LEFT JOIN #__k2_items AS i ON users.id=i.created_by LEFT JOIN #__k2_categories AS c ON i.catid=c.id"; } $query .= " WHERE users.block=0 AND profiles.`group`=".(int)$params->get('K2UserGroup'); if ($params->get('ordering') == 'recent') { $query .= " AND i.published = 1 AND {$itemAccessCheck} AND i.trash = 0 AND c.published = 1 AND {$categoryAccessCheck} AND c.trash = 0 AND ( i.publish_up = ".$db->Quote($nullDate)." OR i.publish_up <= ".$db->Quote($now)." ) AND ( i.publish_down = ".$db->Quote($nullDate)." OR i.publish_down >= ".$db->Quote($now)." ) AND i.created_by_alias=''"; $query .= $languageCheck; } if ($params->get('ordering') == 'alpha') $query .= " ORDER BY users.name"; elseif ($params->get('ordering') == 'random') $query .= " ORDER BY RAND()"; elseif ($params->get('ordering') == 'recent') $query .= " GROUP BY users.id ORDER BY counter DESC"; break; case 1 : $query = "SELECT users.name,users.email,users.id AS UID, profiles.*, COUNT(i.id) AS counter FROM #__users AS users LEFT JOIN #__k2_users AS profiles ON users.id=profiles.userID LEFT JOIN #__k2_items AS i ON users.id=i.created_by LEFT JOIN #__k2_categories AS c ON i.catid=c.id WHERE users.block=0 AND i.published = 1 AND {$itemAccessCheck} AND i.trash = 0 AND c.published = 1 AND {$categoryAccessCheck} AND c.trash = 0 AND ( i.publish_up = ".$db->Quote($nullDate)." OR i.publish_up <= ".$db->Quote($now)." ) AND ( i.publish_down = ".$db->Quote($nullDate)." OR i.publish_down >= ".$db->Quote($now)." ) AND i.created_by_alias='' {$languageCheck} GROUP BY users.id ORDER BY counter DESC"; break; case 2 : $query = "SELECT users.name,users.email,users.id AS UID, profiles.*, MAX(i.hits) AS counter FROM #__users AS users LEFT JOIN #__k2_users AS profiles ON users.id=profiles.userID LEFT JOIN #__k2_items AS i ON users.id=i.created_by LEFT JOIN #__k2_categories AS c ON i.catid=c.id WHERE users.block=0 AND i.published = 1 AND {$itemAccessCheck} AND i.trash = 0 AND c.published = 1 AND {$categoryAccessCheck} AND c.trash = 0 AND ( i.publish_up = ".$db->Quote($nullDate)." OR i.publish_up <= ".$db->Quote($now)." ) AND ( i.publish_down = ".$db->Quote($nullDate)." OR i.publish_down >= ".$db->Quote($now)." ) AND i.created_by_alias='' {$languageCheck} GROUP BY users.id ORDER BY counter DESC"; break; case 3 : $query = "SELECT users.name,users.email,users.id AS UID, profiles.*, COUNT(comment.id) AS counter FROM #__users AS users LEFT JOIN #__k2_users AS profiles ON users.id=profiles.userID LEFT JOIN #__k2_items AS i ON users.id=i.created_by LEFT JOIN #__k2_categories AS c ON i.catid=c.id LEFT JOIN #__k2_comments AS comment ON i.id=comment.itemID WHERE users.block=0 AND i.published = 1 AND {$itemAccessCheck} AND i.trash = 0 AND c.published = 1 AND {$categoryAccessCheck} AND c.trash = 0 AND ( i.publish_up = ".$db->Quote($nullDate)." OR i.publish_up <= ".$db->Quote($now)." ) AND ( i.publish_down = ".$db->Quote($nullDate)." OR i.publish_down >= ".$db->Quote($now)." ) AND i.created_by_alias='' AND comment.published=1 {$languageCheck} GROUP BY users.id ORDER BY counter DESC"; break; } $db->setQuery($query, 0, $params->get('limit', 4)); $userObjects = $db->loadObjectList(); } if (count($userObjects)) { foreach ($userObjects as $userObject) { $userObject->avatar = K2HelperUtilities::getAvatar($userObject->UID, $userObject->email, $params->get('userImageWidth')); $userObject->link = JRoute::_(K2HelperRoute::getUserRoute($userObject->UID)); $userObject->feed = JRoute::_(K2HelperRoute::getUserRoute($userObject->UID).'&format=feed'); $userObject->url = htmlspecialchars($userObject->url, ENT_QUOTES, 'UTF-8'); if ($params->get('userItemCount')) { $query = "SELECT i.*, c.name as categoryname,c.id as categoryid, c.alias as categoryalias, c.params as categoryparams FROM #__k2_items as i LEFT JOIN #__k2_categories AS c ON c.id = i.catid WHERE i.published = 1 AND {$itemAccessCheck} AND i.trash = 0 AND c.published = 1 AND {$categoryAccessCheck} AND c.trash = 0 AND ( i.publish_up = ".$db->Quote($nullDate)." OR i.publish_up <= ".$db->Quote($now)." ) AND ( i.publish_down = ".$db->Quote($nullDate)." OR i.publish_down >= ".$db->Quote($now)." ) AND i.created_by=".(int)$userObject->UID." AND i.created_by_alias='' {$languageCheck} ORDER BY i.created DESC"; $db->setQuery($query, 0, $params->get('userItemCount')); $userObject->items = $db->loadObjectList(); if (count($userObject->items)) { foreach ($userObject->items as $item) { $link = K2HelperRoute::getItemRoute($item->id.':'.urlencode($item->alias), $item->catid.':'.urlencode($item->categoryalias)); $item->link = urldecode(JRoute::_($link)); $item->categoryLink = urldecode(JRoute::_(K2HelperRoute::getCategoryRoute($item->catid.':'.urlencode($item->categoryalias)))); } } } else { $userObject->items = null; } } } return $userObjects; } }