Spade

Mini Shell

Directory:~$ /home/lmsyaran/www/khsh/
Upload File

[Home] [System Details] [Kill Me]
Current File:~$ /home/lmsyaran/www/khsh/mod_menu.zip

PK�d�[�5
Kff
helper.phpnu�[���<?php
/**
 * @package     Joomla.Site
 * @subpackage  mod_menu
 *
 * @copyright   Copyright (C) 2005 - 2020 Open Source Matters, Inc. All
rights reserved.
 * @license     GNU General Public License version 2 or later; see
LICENSE.txt
 */

defined('_JEXEC') or die;

/**
 * Helper for mod_menu
 *
 * @since  1.5
 */
class ModMenuHelper
{
	/**
	 * Get a list of the menu items.
	 *
	 * @param   \Joomla\Registry\Registry  &$params  The module options.
	 *
	 * @return  array
	 *
	 * @since   1.5
	 */
	public static function getList(&$params)
	{
		$app = JFactory::getApplication();
		$menu = $app->getMenu();

		// Get active menu item
		$base = self::getBase($params);
		$user = JFactory::getUser();
		$levels = $user->getAuthorisedViewLevels();
		asort($levels);
		$key = 'menu_items' . $params . implode(',', $levels)
. '.' . $base->id;
		$cache = JFactory::getCache('mod_menu', '');

		if ($cache->contains($key))
		{
			$items = $cache->get($key);
		}
		else
		{
			$path           = $base->tree;
			$start          = (int) $params->get('startLevel', 1);
			$end            = (int) $params->get('endLevel', 0);
			$showAll        = $params->get('showAllChildren', 1);
			$items          = $menu->getItems('menutype',
$params->get('menutype'));
			$hidden_parents = array();
			$lastitem       = 0;

			if ($items)
			{
				foreach ($items as $i => $item)
				{
					$item->parent = false;

					if (isset($items[$lastitem]) && $items[$lastitem]->id ==
$item->parent_id &&
$item->params->get('menu_show', 1) == 1)
					{
						$items[$lastitem]->parent = true;
					}

					if (($start && $start > $item->level)
						|| ($end && $item->level > $end)
						|| (!$showAll && $item->level > 1 &&
!in_array($item->parent_id, $path))
						|| ($start > 1 && !in_array($item->tree[$start - 2],
$path)))
					{
						unset($items[$i]);
						continue;
					}

					// Exclude item with menu item option set to exclude from menu modules
					if (($item->params->get('menu_show', 1) == 0) ||
in_array($item->parent_id, $hidden_parents))
					{
						$hidden_parents[] = $item->id;
						unset($items[$i]);
						continue;
					}

					$item->deeper     = false;
					$item->shallower  = false;
					$item->level_diff = 0;

					if (isset($items[$lastitem]))
					{
						$items[$lastitem]->deeper     = ($item->level >
$items[$lastitem]->level);
						$items[$lastitem]->shallower  = ($item->level <
$items[$lastitem]->level);
						$items[$lastitem]->level_diff = ($items[$lastitem]->level -
$item->level);
					}

					$lastitem     = $i;
					$item->active = false;
					$item->flink  = $item->link;

					// Reverted back for CMS version 2.5.6
					switch ($item->type)
					{
						case 'separator':
							break;

						case 'heading':
							// No further action needed.
							break;

						case 'url':
							if ((strpos($item->link, 'index.php?') === 0)
&& (strpos($item->link, 'Itemid=') === false))
							{
								// If this is an internal Joomla link, ensure the Itemid is set.
								$item->flink = $item->link . '&Itemid=' .
$item->id;
							}
							break;

						case 'alias':
							$item->flink = 'index.php?Itemid=' .
$item->params->get('aliasoptions');

							// Get the language of the target menu item when site is
multilingual
							if (JLanguageMultilang::isEnabled())
							{
								$newItem =
JFactory::getApplication()->getMenu()->getItem((int)
$item->params->get('aliasoptions'));

								// Use language code if not set to ALL
								if ($newItem != null && $newItem->language &&
$newItem->language !== '*')
								{
									$item->flink .= '&lang=' . $newItem->language;
								}
							}
							break;

						default:
							$item->flink = 'index.php?Itemid=' . $item->id;
							break;
					}

					if ((strpos($item->flink, 'index.php?') !== false)
&& strcasecmp(substr($item->flink, 0, 4), 'http'))
					{
						$item->flink = JRoute::_($item->flink, true,
$item->params->get('secure'));
					}
					else
					{
						$item->flink = JRoute::_($item->flink);
					}

					// We prevent the double encoding because for some reason the $item is
shared for menu modules and we get double encoding
					// when the cause of that is found the argument should be removed
					$item->title          = htmlspecialchars($item->title,
ENT_COMPAT, 'UTF-8', false);
					$item->anchor_css     =
htmlspecialchars($item->params->get('menu-anchor_css',
''), ENT_COMPAT, 'UTF-8', false);
					$item->anchor_title   =
htmlspecialchars($item->params->get('menu-anchor_title',
''), ENT_COMPAT, 'UTF-8', false);
					$item->anchor_rel     =
htmlspecialchars($item->params->get('menu-anchor_rel',
''), ENT_COMPAT, 'UTF-8', false);
					$item->menu_image     =
$item->params->get('menu_image', '') ?
						htmlspecialchars($item->params->get('menu_image',
''), ENT_COMPAT, 'UTF-8', false) : '';
					$item->menu_image_css =
htmlspecialchars($item->params->get('menu_image_css',
''), ENT_COMPAT, 'UTF-8', false);
				}

				if (isset($items[$lastitem]))
				{
					$items[$lastitem]->deeper     = (($start ?: 1) >
$items[$lastitem]->level);
					$items[$lastitem]->shallower  = (($start ?: 1) <
$items[$lastitem]->level);
					$items[$lastitem]->level_diff = ($items[$lastitem]->level -
($start ?: 1));
				}
			}

			$cache->store($items, $key);
		}

		return $items;
	}

	/**
	 * Get base menu item.
	 *
	 * @param   \Joomla\Registry\Registry  &$params  The module options.
	 *
	 * @return  object
	 *
	 * @since	3.0.2
	 */
	public static function getBase(&$params)
	{
		// Get base menu item from parameters
		if ($params->get('base'))
		{
			$base =
JFactory::getApplication()->getMenu()->getItem($params->get('base'));
		}
		else
		{
			$base = false;
		}

		// Use active menu item if no base found
		if (!$base)
		{
			$base = self::getActive($params);
		}

		return $base;
	}

	/**
	 * Get active menu item.
	 *
	 * @param   \Joomla\Registry\Registry  &$params  The module options.
	 *
	 * @return  object
	 *
	 * @since	3.0.2
	 */
	public static function getActive(&$params)
	{
		$menu = JFactory::getApplication()->getMenu();

		return $menu->getActive() ?: self::getDefault();
	}

	/**
	 * Get default menu item (home page) for current language.
	 *
	 * @return  object
	 */
	public static function getDefault()
	{
		$menu = JFactory::getApplication()->getMenu();
		$lang = JFactory::getLanguage();

		// Look for the home menu
		if (JLanguageMultilang::isEnabled())
		{
			return $menu->getDefault($lang->getTag());
		}
		else
		{
			return $menu->getDefault();
		}
	}
}
PK�d�[�E�kkmod_menu.phpnu�[���<?php
/**
 * @package     Joomla.Site
 * @subpackage  mod_menu
 *
 * @copyright   Copyright (C) 2005 - 2020 Open Source Matters, Inc. All
rights reserved.
 * @license     GNU General Public License version 2 or later; see
LICENSE.txt
 */

defined('_JEXEC') or die;

// Include the menu functions only once
JLoader::register('ModMenuHelper', __DIR__ .
'/helper.php');

$list       = ModMenuHelper::getList($params);
$base       = ModMenuHelper::getBase($params);
$active     = ModMenuHelper::getActive($params);
$default    = ModMenuHelper::getDefault();
$active_id  = $active->id;
$default_id = $default->id;
$path       = $base->tree;
$showAll    = $params->get('showAllChildren', 1);
$class_sfx  = htmlspecialchars($params->get('class_sfx'),
ENT_COMPAT, 'UTF-8');

if (count($list))
{
	require JModuleHelper::getLayoutPath('mod_menu',
$params->get('layout', 'default'));
}
PK�d�[ѧqrhhmod_menu.xmlnu�[���<?xml
version="1.0" encoding="utf-8"?>
<extension type="module" version="3.1"
client="site" method="upgrade">
	<name>mod_menu</name>
	<author>Joomla! Project</author>
	<creationDate>July 2004</creationDate>
	<copyright>Copyright (C) 2005 - 2020 Open Source Matters. All rights
reserved.</copyright>
	<license>GNU General Public License version 2 or later; see
LICENSE.txt</license>
	<authorEmail>admin@joomla.org</authorEmail>
	<authorUrl>www.joomla.org</authorUrl>
	<version>3.0.0</version>
	<description>MOD_MENU_XML_DESCRIPTION</description>
	<files>
		<filename module="mod_menu">mod_menu.php</filename>
		<folder>tmpl</folder>
		<filename>helper.php</filename>
	</files>
	<languages>
		<language tag="en-GB">en-GB.mod_menu.ini</language>
		<language
tag="en-GB">en-GB.mod_menu.sys.ini</language>
	</languages>
	<help key="JHELP_EXTENSIONS_MODULE_MANAGER_MENU" />
	<config>
		<fields name="params">
			<fieldset name="basic"
				addfieldpath="/administrator/components/com_menus/models/fields"
			>
				<field
					name="menutype"
					type="menu"
					label="MOD_MENU_FIELD_MENUTYPE_LABEL"
					description="MOD_MENU_FIELD_MENUTYPE_DESC"
					clientid="0"
				/>

				<field
					name="base"
					type="modal_menu"
					label="MOD_MENU_FIELD_ACTIVE_LABEL"
					description="MOD_MENU_FIELD_ACTIVE_DESC"
					select="true"
					new="true"
					edit="true"
					clear="true"
					filter="integer"
					>
					<option value="">JCURRENT</option>
				</field>

				<field
					name="startLevel"
					type="list"
					label="MOD_MENU_FIELD_STARTLEVEL_LABEL"
					description="MOD_MENU_FIELD_STARTLEVEL_DESC"
					default="1"
					filter="integer"
					>
					<option value="1">J1</option>
					<option value="2">J2</option>
					<option value="3">J3</option>
					<option value="4">J4</option>
					<option value="5">J5</option>
					<option value="6">J6</option>
					<option value="7">J7</option>
					<option value="8">J8</option>
					<option value="9">J9</option>
					<option value="10">J10</option>
				</field>

				<field
					name="endLevel"
					type="list"
					label="MOD_MENU_FIELD_ENDLEVEL_LABEL"
					description="MOD_MENU_FIELD_ENDLEVEL_DESC"
					default="0"
					filter="integer"
					>
					<option value="0">JALL</option>
					<option value="1">J1</option>
					<option value="2">J2</option>
					<option value="3">J3</option>
					<option value="4">J4</option>
					<option value="5">J5</option>
					<option value="6">J6</option>
					<option value="7">J7</option>
					<option value="8">J8</option>
					<option value="9">J9</option>
					<option value="10">J10</option>
				</field>

				<field
					name="showAllChildren"
					type="radio"
					label="MOD_MENU_FIELD_ALLCHILDREN_LABEL"
					description="MOD_MENU_FIELD_ALLCHILDREN_DESC"
					class="btn-group btn-group-yesno"
					default="1"
					filter="integer"
					>
					<option value="1">JYES</option>
					<option value="0">JNO</option>
				</field>
			</fieldset>

			<fieldset name="advanced">
				<field
					name="tag_id"
					type="text"
					label="MOD_MENU_FIELD_TAG_ID_LABEL"
					description="MOD_MENU_FIELD_TAG_ID_DESC"
				/>

				<field
					name="class_sfx"
					type="text"
					label="MOD_MENU_FIELD_CLASS_LABEL"
					description="MOD_MENU_FIELD_CLASS_DESC"
				/>

				<field
					name="window_open"
					type="text"
					label="MOD_MENU_FIELD_TARGET_LABEL"
					description="MOD_MENU_FIELD_TARGET_DESC"
				/>

				<field
					name="layout"
					type="modulelayout"
					label="JFIELD_ALT_LAYOUT_LABEL"
					description="JFIELD_ALT_MODULE_LAYOUT_DESC"
				/>

				<field
					name="moduleclass_sfx"
					type="textarea"
					label="COM_MODULES_FIELD_MODULECLASS_SFX_LABEL"
					description="COM_MODULES_FIELD_MODULECLASS_SFX_DESC"
					rows="3"
				/>

				<field
					name="cache"
					type="list"
					label="COM_MODULES_FIELD_CACHING_LABEL"
					description="COM_MODULES_FIELD_CACHING_DESC"
					default="1"
					filter="integer"
					>
					<option value="1">JGLOBAL_USE_GLOBAL</option>
					<option
value="0">COM_MODULES_FIELD_VALUE_NOCACHING</option>
				</field>

				<field
					name="cache_time"
					type="number"
					label="COM_MODULES_FIELD_CACHE_TIME_LABEL"
					description="COM_MODULES_FIELD_CACHE_TIME_DESC"
					default="900"
					filter="integer"
				/>

				<field
					name="cachemode"
					type="hidden"
					default="itemid"
					>
					<option value="itemid"></option>
				</field>
			</fieldset>
		</fields>
	</config>
</extension>
PK�d�[��iitmpl/default.phpnu�[���<?php
/**
 * @package     Joomla.Site
 * @subpackage  mod_menu
 *
 * @copyright   Copyright (C) 2005 - 2020 Open Source Matters, Inc. All
rights reserved.
 * @license     GNU General Public License version 2 or later; see
LICENSE.txt
 */

defined('_JEXEC') or die;

$id = '';

if ($tagId = $params->get('tag_id', ''))
{
	$id = ' id="' . $tagId . '"';
}

// The menu class is deprecated. Use nav instead
?>
<ul class="nav menu<?php echo $class_sfx; ?>
mod-list"<?php echo $id; ?>>
<?php foreach ($list as $i => &$item)
{
	$class = 'item-' . $item->id;

	if ($item->id == $default_id)
	{
		$class .= ' default';
	}

	if ($item->id == $active_id || ($item->type === 'alias'
&& $item->params->get('aliasoptions') ==
$active_id))
	{
		$class .= ' current';
	}

	if (in_array($item->id, $path))
	{
		$class .= ' active';
	}
	elseif ($item->type === 'alias')
	{
		$aliasToId = $item->params->get('aliasoptions');

		if (count($path) > 0 && $aliasToId == $path[count($path) - 1])
		{
			$class .= ' active';
		}
		elseif (in_array($aliasToId, $path))
		{
			$class .= ' alias-parent-active';
		}
	}

	if ($item->type === 'separator')
	{
		$class .= ' divider';
	}

	if ($item->deeper)
	{
		$class .= ' deeper';
	}

	if ($item->parent)
	{
		$class .= ' parent';
	}

	echo '<li class="' . $class . '">';

	switch ($item->type) :
		case 'separator':
		case 'component':
		case 'heading':
		case 'url':
			require JModuleHelper::getLayoutPath('mod_menu',
'default_' . $item->type);
			break;

		default:
			require JModuleHelper::getLayoutPath('mod_menu',
'default_url');
			break;
	endswitch;

	// The next item is deeper.
	if ($item->deeper)
	{
		echo '<ul class="nav-child unstyled small">';
	}
	// The next item is shallower.
	elseif ($item->shallower)
	{
		echo '</li>';
		echo str_repeat('</ul></li>',
$item->level_diff);
	}
	// The next item is on the same level.
	else
	{
		echo '</li>';
	}
}
?></ul>
PK�d�[��dQQtmpl/default_component.phpnu�[���<?php
/**
 * @package     Joomla.Site
 * @subpackage  mod_menu
 *
 * @copyright   Copyright (C) 2005 - 2020 Open Source Matters, Inc. All
rights reserved.
 * @license     GNU General Public License version 2 or later; see
LICENSE.txt
 */

defined('_JEXEC') or die;

$attributes = array();

if ($item->anchor_title)
{
	$attributes['title'] = $item->anchor_title;
}

if ($item->anchor_css)
{
	$attributes['class'] = $item->anchor_css;
}

if ($item->anchor_rel)
{
	$attributes['rel'] = $item->anchor_rel;
}

$linktype = $item->title;

if ($item->menu_image)
{
	if ($item->menu_image_css)
	{
		$image_attributes['class'] = $item->menu_image_css;
		$linktype = JHtml::_('image', $item->menu_image,
$item->title, $image_attributes);
	}
	else
	{
		$linktype = JHtml::_('image', $item->menu_image,
$item->title);
	}

	if ($item->params->get('menu_text', 1))
	{
		$linktype .= '<span class="image-title">' .
$item->title . '</span>';
	}
}

if ($item->browserNav == 1)
{
	$attributes['target'] = '_blank';
}
elseif ($item->browserNav == 2)
{
	$options =
'toolbar=no,location=no,status=no,menubar=no,scrollbars=yes,resizable=yes';

	$attributes['onclick'] = "window.open(this.href,
'targetWindow', '" . $options . "'); return
false;";
}

echo JHtml::_('link',
JFilterOutput::ampReplace(htmlspecialchars($item->flink, ENT_COMPAT,
'UTF-8', false)), $linktype, $attributes);
PK�d�[�
����tmpl/default_heading.phpnu�[���<?php
/**
 * @package     Joomla.Site
 * @subpackage  mod_menu
 *
 * @copyright   Copyright (C) 2005 - 2020 Open Source Matters, Inc. All
rights reserved.
 * @license     GNU General Public License version 2 or later; see
LICENSE.txt
 */

defined('_JEXEC') or die;

$title      = $item->anchor_title ? ' title="' .
$item->anchor_title . '"' : '';
$anchor_css = $item->anchor_css ?: '';

$linktype   = $item->title;

if ($item->menu_image)
{
	if ($item->menu_image_css)
	{
		$image_attributes['class'] = $item->menu_image_css;
		$linktype = JHtml::_('image', $item->menu_image,
$item->title, $image_attributes);
	}
	else
	{
		$linktype = JHtml::_('image', $item->menu_image,
$item->title);
	}

	if ($item->params->get('menu_text', 1))
	{
		$linktype .= '<span class="image-title">' .
$item->title . '</span>';
	}
}

?>
<span class="nav-header <?php echo $anchor_css;
?>"<?php echo $title; ?>><?php echo $linktype;
?></span>
PK�d�[��;��tmpl/default_separator.phpnu�[���<?php
/**
 * @package     Joomla.Site
 * @subpackage  mod_menu
 *
 * @copyright   Copyright (C) 2005 - 2020 Open Source Matters, Inc. All
rights reserved.
 * @license     GNU General Public License version 2 or later; see
LICENSE.txt
 */

defined('_JEXEC') or die;

$title      = $item->anchor_title ? ' title="' .
$item->anchor_title . '"' : '';
$anchor_css = $item->anchor_css ?: '';

$linktype   = $item->title;

if ($item->menu_image)
{
	if ($item->menu_image_css)
	{
		$image_attributes['class'] = $item->menu_image_css;
		$linktype = JHtml::_('image', $item->menu_image,
$item->title, $image_attributes);
	}
	else
	{
		$linktype = JHtml::_('image', $item->menu_image,
$item->title);
	}

	if ($item->params->get('menu_text', 1))
	{
		$linktype .= '<span class="image-title">' .
$item->title . '</span>';
	}
}

?>
<span class="separator <?php echo $anchor_css;
?>"<?php echo $title; ?>><?php echo $linktype;
?></span>
PK�d�[j�����tmpl/default_url.phpnu�[���<?php
/**
 * @package     Joomla.Site
 * @subpackage  mod_menu
 *
 * @copyright   Copyright (C) 2005 - 2020 Open Source Matters, Inc. All
rights reserved.
 * @license     GNU General Public License version 2 or later; see
LICENSE.txt
 */

defined('_JEXEC') or die;

$attributes = array();

if ($item->anchor_title)
{
	$attributes['title'] = $item->anchor_title;
}

if ($item->anchor_css)
{
	$attributes['class'] = $item->anchor_css;
}

if ($item->anchor_rel)
{
	$attributes['rel'] = $item->anchor_rel;
}

$linktype = $item->title;

if ($item->menu_image)
{
	if ($item->menu_image_css)
	{
		$image_attributes['class'] = $item->menu_image_css;
		$linktype = JHtml::_('image', $item->menu_image,
$item->title, $image_attributes);
	}
	else
	{
		$linktype = JHtml::_('image', $item->menu_image,
$item->title);
	}

	if ($item->params->get('menu_text', 1))
	{
		$linktype .= '<span class="image-title">' .
$item->title . '</span>';
	}
}

if ($item->browserNav == 1)
{
	$attributes['target'] = '_blank';
	$attributes['rel'] = 'noopener noreferrer';

	if ($item->anchor_rel == 'nofollow')
	{
		$attributes['rel'] .= ' nofollow';
	}
}
elseif ($item->browserNav == 2)
{
	$options =
'toolbar=no,location=no,status=no,menubar=no,scrollbars=yes,resizable=yes,'
. $params->get('window_open');

	$attributes['onclick'] = "window.open(this.href,
'targetWindow', '" . $options . "'); return
false;";
}

echo JHtml::_('link',
JFilterOutput::ampReplace(htmlspecialchars($item->flink, ENT_COMPAT,
'UTF-8', false)), $linktype, $attributes);
PK�d�[�5
Kff
helper.phpnu�[���PK�d�[�E�kk�mod_menu.phpnu�[���PK�d�[ѧqrhhGmod_menu.xmlnu�[���PK�d�[��ii�.tmpl/default.phpnu�[���PK�d�[��dQQ�6tmpl/default_component.phpnu�[���PK�d�[�
����/<tmpl/default_heading.phpnu�[���PK�d�[��;��@tmpl/default_separator.phpnu�[���PK�d�[j������Ctmpl/default_url.phpnu�[���PK�)J