File manager - Edit - /home/capoccitel/www/wp-admin/mod_k2_users.tar
Back
helper.php 0000705 00000026603 15242036722 0006544 0 ustar 00 <?php /** * @version 2.11 (rolling release) * @package K2 * @author JoomlaWorks https://www.joomlaworks.net * @copyright Copyright (c) 2009 - 2024 JoomlaWorks Ltd. All rights reserved. * @license GNU/GPL: https://gnu.org/licenses/gpl.html */ // no direct access defined('_JEXEC') or die; require_once(JPATH_SITE.'/components/com_k2/helpers/route.php'); require_once(JPATH_SITE.'/components/com_k2/helpers/utilities.php'); class modK2UsersHelper { public static function getUsers(&$params) { $app = JFactory::getApplication(); $db = JFactory::getDbo(); $jnow = JFactory::getDate(); $now = (K2_JVERSION != '15') ? $jnow->toSql() : $jnow->toMySQL(); $nullDate = $db->getNullDate(); // Get ACL $user = JFactory::getUser(); if (K2_JVERSION != '15') { $userLevels = array_unique($user->getAuthorisedViewLevels()); $aclCheck = 'IN('.implode(',', $userLevels).')'; } else { $aid = $user->get('aid'); $aclCheck = '<= '.$user->get('aid'); } // Get language on Joomla 2.5+ $languageFilter = ''; if (K2_JVERSION != '15') { if ($app->getLanguageFilter()) { $languageTag = JFactory::getLanguage()->getTag(); $languageFilter = $db->Quote($languageTag).", ".$db->Quote('*'); } } $userObjects = array(); 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'); } $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)) { // By K2 user group 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 i.trash = 0 AND i.access {$aclCheck} 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 c.published = 1 AND c.trash = 0 AND c.access {$aclCheck}"; if ($languageFilter) { $query .= " AND i.language IN ({$languageFilter}) AND c.language IN ({$languageFilter})"; } } switch ($params->get('ordering')) { case 'alpha': $orderby = "users.name"; break; case 'recent': $orderby = "counter DESC"; break; case 'random': $orderby = "RAND()"; break; } $query .= " GROUP BY users.id ORDER BY {$orderby}"; break; // With most items 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 i.trash = 0 AND i.access {$aclCheck} 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 c.published = 1 AND c.trash = 0 AND c.access {$aclCheck}"; if ($languageFilter) { $query .= " AND i.language IN ({$languageFilter}) AND c.language IN ({$languageFilter})"; } $query .= " GROUP BY users.id ORDER BY counter DESC"; break; // With most popular items 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 i.trash = 0 AND i.access {$aclCheck} 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 c.published = 1 AND c.trash = 0 AND c.access {$aclCheck}"; if ($languageFilter) { $query .= " AND i.language IN ({$languageFilter}) AND c.language IN ({$languageFilter})"; } $query .= " GROUP BY users.id ORDER BY counter DESC"; break; // With most commented items 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 i.trash = 0 AND i.access {$aclCheck} 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 c.published = 1 AND c.trash = 0 AND c.access {$aclCheck}"; if ($languageFilter) { $query .= " AND i.language IN ({$languageFilter}) AND c.language IN ({$languageFilter})"; } $query .= " GROUP BY users.id ORDER BY counter DESC"; break; } $db->setQuery($query, 0, $params->get('limit', 4)); $userObjects = $db->loadObjectList(); } // Render the query results 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 i.trash = 0 AND i.access {$aclCheck} 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='' AND c.published = 1 AND c.trash = 0 AND c.access {$aclCheck}"; if ($languageFilter) { $query .= " AND i.language IN ({$languageFilter}) AND c.language IN ({$languageFilter})"; } $query .= " 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; } } tmpl/Default/default.php 0000705 00000006761 15242036722 0011254 0 ustar 00 <?php /** * @version 2.11 (rolling release) * @package K2 * @author JoomlaWorks https://www.joomlaworks.net * @copyright Copyright (c) 2009 - 2024 JoomlaWorks Ltd. All rights reserved. * @license GNU/GPL: https://gnu.org/licenses/gpl.html */ // no direct access defined('_JEXEC') or die; ?> <div id="k2ModuleBox<?php echo $module->id; ?>" class="k2UsersBlock<?php if ($params->get('moduleclass_sfx')) echo ' '.$params->get('moduleclass_sfx'); ?>"> <ul> <?php foreach($users as $key=>$user): ?> <li class="<?php echo ($key%2) ? "odd" : "even"; if (count($users)==$key+1) echo ' lastItem'; ?>"> <?php if ($userAvatar && !empty($user->avatar)): ?> <a class="k2Avatar ubUserAvatar" rel="author" href="<?php echo $user->link; ?>" title="<?php echo K2HelperUtilities::cleanHtml($user->name); ?>"> <img src="<?php echo $user->avatar; ?>" alt="<?php echo K2HelperUtilities::cleanHtml($user->name); ?>" style="width:<?php echo $avatarWidth; ?>px;height:auto;" /> </a> <?php endif; ?> <?php if ($userName): ?> <a class="ubUserName" rel="author" href="<?php echo $user->link; ?>" title="<?php echo K2HelperUtilities::cleanHtml($user->name); ?>"> <?php echo $user->name; ?> </a> <?php endif; ?> <?php if ($userDescription && $user->description): ?> <div class="ubUserDescription"> <?php if ($userDescriptionWordLimit): ?> <?php echo K2HelperUtilities::wordLimit($user->description, $userDescriptionWordLimit) ?> <?php else: ?> <?php echo $user->description; ?> <?php endif; ?> </div> <?php endif; ?> <?php if ($userFeed || ($userURL && $user->url) || $userEmail): ?> <div class="ubUserAdditionalInfo"> <?php if ($userFeed): ?> <!-- RSS feed icon --> <a class="ubUserFeedIcon" href="<?php echo $user->feed; ?>" title="<?php echo JText::_('K2_SUBSCRIBE_TO_THIS_USERS_RSS_FEED'); ?>"> <span><?php echo JText::_('K2_SUBSCRIBE_TO_THIS_USERS_RSS_FEED'); ?></span> </a> <?php endif; ?> <?php if ($userURL && $user->url): ?> <a class="ubUserURL" rel="me" href="<?php echo $user->url; ?>" title="<?php echo JText::_('K2_WEBSITE'); ?>" target="_blank"> <span><?php echo JText::_('K2_WEBSITE'); ?></span> </a> <?php endif; ?> <?php if ($userEmail): ?> <span class="ubUserEmail" title="<?php echo JText::_('K2_EMAIL'); ?>"> <?php echo JHTML::_('Email.cloak', $user->email); ?> </span> <?php endif; ?> </div> <?php endif; ?> <?php if ($userItemCount && count($user->items)): ?> <h3><?php echo JText::_('K2_RECENT_ITEMS'); ?></h3> <ul class="ubUserItems"> <?php foreach ($user->items as $item): ?> <li> <a href="<?php echo $item->link; ?>" title="<?php echo K2HelperUtilities::cleanHtml($item->title); ?>"> <?php echo $item->title; ?> </a> </li> <?php endforeach; ?> </ul> <?php endif; ?> <div class="clr"></div> </li> <?php endforeach; ?> </ul> </div> mod_k2_users.xml 0000705 00000014513 15242036722 0007667 0 ustar 00 <?xml version="1.0" encoding="UTF-8"?> <extension type="module" client="site" version="2.5" method="upgrade"> <name>K2 Users</name> <author>JoomlaWorks</author> <creationDate>(see K2 component)</creationDate> <copyright>Copyright (c) 2009 - 2024 JoomlaWorks Ltd. All rights reserved.</copyright> <authorEmail>please-use-the-contact-form@joomlaworks.net</authorEmail> <authorUrl>https://www.joomlaworks.net</authorUrl> <version>(see K2 component)</version> <license>https://gnu.org/licenses/gpl.html</license> <description>K2_MOD_K2_USERS_DESCRTIPTION</description> <files> <filename module="mod_k2_users">mod_k2_users.php</filename> <filename>helper.php</filename> <folder>tmpl</folder> </files> <config> <fields name="params"> <fieldset name="basic" addfieldpath="/administrator/components/com_k2/elements/"> <field name="moduleclass_sfx" type="text" default="" label="K2_MODULE_CLASS_SUFFIX" description="K2_MODULE_CLASS_SUFFIX_DESCRIPTION"/> <field name="getTemplate" type="moduletemplate" modulename="mod_k2_users" default="Default" label="K2_SELECT_SUBTEMPLATE" description="This module utilizes on-the-fly MVC template overrides. What this means is that you can create a new sub-template folder for this module within your Joomla template's /html/mod_k2_users/ folder. The module will then pickup the new sub-template auto-magically, without you editing any XML file or doing any other non-designer work!"/> <field name="source" type="list" default="0" label="K2_SOURCE" description=""> <option value="filter">K2_RETRIEVE_USERS_USING_FILTERS</option> <option value="specific">K2_RETRIEVE_SPECIFIC_USERS</option> </field> <field name="" type="header" default="K2_RETRIEVE_USERS_USING_FILTERS" label="" description=""/> <field name="filter" type="list" default="1" label="K2_FETCH_USERS" description=""> <option value="0">K2_BY_K2_USER_GROUP</option> <option value="1">K2_WITH_MOST_ITEMS</option> <option value="2">K2_WITH_MOST_POPULAR_ITEMS</option> <option value="3">K2_WITH_MOST_COMMENTED_ITEMS</option> </field> <field name="K2UserGroup" type="sql" default="" label="K2_SELECT_A_K2_USER_GROUP" query="SELECT id AS value, name AS K2UserGroup FROM #__k2_user_groups"/> <field name="ordering" type="list" default="1" label="K2_ORDERING" description=""> <option value="alpha">K2_ALPHABETICAL</option> <option value="recent">K2_MOST_RECENT_ITEM</option> <option value="random">K2_RANDOM</option> </field> <field name="limit" type="text" default="4" size="4" label="K2_LIMIT" description=""/> <field name="" type="header" default="K2_RETRIEVE_SPECIFIC_USERS" label="" description=""/> <field name="userIDs" type="k2modalselector" scope="users" default="" label="K2_SELECTED_USERS_SORT_WITH_DRAG_DROP" description="K2_DRAG_USERS_ONE_BY_ONE_TO_REORDER_THE_LIST_CLICK_THE_REMOVE_ICON_TO_REMOVE_A_USER_FROM_THE_LIST"/> <field name="" type="header" default="K2_DISPLAY_OPTIONS" label="" description=""/> <field name="userName" type="radio" default="1" label="K2_NAME" description="" class="btn-group btn-group-yesno"> <option value="0">K2_HIDE</option> <option value="1">K2_SHOW</option> </field> <field name="userAvatar" type="radio" default="1" label="K2_USER_AVATAR" description="" class="btn-group btn-group-yesno"> <option value="0">K2_HIDE</option> <option value="1">K2_SHOW</option> </field> <field name="userAvatarWidthSelect" type="list" default="custom" label="K2_USER_AVATAR_WIDTH" description=""> <option value="inherit">K2_INHERIT_FROM_COMPONENT_PARAMETERS</option> <option value="custom">K2_USE_CUSTOM_WIDTH</option> </field> <field name="userAvatarWidth" type="text" default="50" size="4" label="K2_CUSTOM_WIDTH_FOR_USER_AVATAR_IN_PX" description=""/> <field name="userDescription" type="radio" default="1" label="K2_USER_DESCRIPTION" description="" class="btn-group btn-group-yesno"> <option value="0">K2_HIDE</option> <option value="1">K2_SHOW</option> </field> <field name="userDescriptionWordLimit" type="text" default="" size="4" label="K2_WORD_LIMIT_FOR_USER_DESCRIPTION" description=""/> <field name="userURL" type="radio" default="1" label="K2_URL" description="" class="btn-group btn-group-yesno"> <option value="0">K2_HIDE</option> <option value="1">K2_SHOW</option> </field> <field name="userEmail" type="radio" default="0" label="K2_EMAIL" description="" class="btn-group btn-group-yesno"> <option value="0">K2_HIDE</option> <option value="1">K2_SHOW</option> </field> <field name="userFeed" type="radio" default="1" label="K2_RSS_FEED_ICON" description="" class="btn-group btn-group-yesno"> <option value="0">K2_HIDE</option> <option value="1">K2_SHOW</option> </field> <field name="userItemCount" type="text" default="1" size="4" label="K2_ITEM_COUNT" description=""/> </fieldset> <fieldset name="advanced"> <field name="cache" type="list" default="1" label="K2_CACHING" description="K2_SELECT_WHETHER_TO_CACHE_THE_CONTENT_OF_THIS_MODULE"> <option value="1">K2_USE_GLOBAL</option> <option value="0">K2_NO_CACHING</option> </field> <field name="cache_time" type="text" default="" label="K2_CACHE_TIME" description="K2_THE_TIME_IN_SECONDS_BEFORE_THE_MODULE_IS_RECACHED"/> <field name="cachemode" type="hidden" default="static"> <option value="static"></option> </field> </fieldset> </fields> </config> </extension> mod_k2_users.php 0000705 00000002724 15242036722 0007657 0 ustar 00 <?php /** * @version 2.11 (rolling release) * @package K2 * @author JoomlaWorks https://www.joomlaworks.net * @copyright Copyright (c) 2009 - 2024 JoomlaWorks Ltd. All rights reserved. * @license GNU/GPL: https://gnu.org/licenses/gpl.html */ // no direct access defined('_JEXEC') or die; if (K2_JVERSION != '15') { $language = JFactory::getLanguage(); $language->load('com_k2.dates', JPATH_ADMINISTRATOR, null, true); } require_once(dirname(__FILE__).'/helper.php'); // Params $moduleclass_sfx = $params->get('moduleclass_sfx', ''); $getTemplate = $params->get('getTemplate', 'Default'); $userName = $params->get('userName', 1); $userAvatar = $params->get('userAvatar', 1); $userAvatarWidthSelect = $params->get('userAvatarWidthSelect', 'custom'); $userAvatarWidth = $params->get('userAvatarWidth', 50); $userDescription = $params->get('userDescription', 1); $userDescriptionWordLimit = $params->get('userDescriptionWordLimit'); $userURL = $params->get('userURL', 1); $userEmail = $params->get('userEmail', 0); $userFeed = $params->get('userFeed', 1); $userItemCount = $params->get('userItemCount', 1); // User avatar if ($userAvatarWidthSelect == 'inherit') { $componentParams = JComponentHelper::getParams('com_k2'); $avatarWidth = $componentParams->get('userImageWidth'); } else { $avatarWidth = $userAvatarWidth; } $users = modK2UsersHelper::getUsers($params); require(JModuleHelper::getLayoutPath('mod_k2_users', $getTemplate.'/default'));
| ver. 1.6 |
Github
|
.
| PHP 7.4.33 | Generation time: 0 |
proxy
|
phpinfo
|
Settings