Your IP : 216.73.216.231


Current Path : /home/digilove/www/41423/
Upload File :
Current File : /home/digilove/www/41423/modules.tar

mod_custom/tmpl/default.php000064400000000437152325655310012041 0ustar00<?php
/**
 * @package     Joomla.Administrator
 * @subpackage  mod_custom
 *
 * @copyright   (C) 2009 Open Source Matters, Inc. <https://www.joomla.org>
 * @license     GNU General Public License version 2 or later; see LICENSE.txt
 */

defined('_JEXEC') or die;

echo $module->content;
mod_custom/tmpl/index.html000064400000000037152325655310011675 0ustar00<!DOCTYPE html><title></title>
mod_custom/index.html000064400000000037152325655310010721 0ustar00<!DOCTYPE html><title></title>
mod_custom/mod_custom.php000064400000001322152325655310011604 0ustar00<?php
/**
 * @package     Joomla.Administrator
 * @subpackage  mod_custom
 *
 * @copyright   (C) 2009 Open Source Matters, Inc. <https://www.joomla.org>
 * @license     GNU General Public License version 2 or later; see LICENSE.txt
 */

defined('_JEXEC') or die;

if ($params->def('prepare_content', 1))
{
	JPluginHelper::importPlugin('content');
	$module->content = JHtml::_('content.prepare', $module->content, '', 'mod_custom.content');
}

// Replace 'images/' to '../images/' when using an image from /images in backend.
$module->content = preg_replace('*src\=\"(?!administrator\/)images/*', 'src="../images/', $module->content);

require JModuleHelper::getLayoutPath('mod_custom', $params->get('layout', 'default'));
mod_custom/mod_custom.xml000064400000004317152325655310011624 0ustar00<?xml version="1.0" encoding="utf-8"?>
<extension type="module" version="3.1" client="administrator" method="upgrade">
	<name>mod_custom</name>
	<author>Joomla! Project</author>
	<creationDate>July 2004</creationDate>
	<copyright>(C) 2005 Open Source Matters, Inc.</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_CUSTOM_XML_DESCRIPTION</description>

	<customContent />

	<files>
		<filename module="mod_custom">mod_custom.php</filename>
		<folder>tmpl</folder>
	</files>
	<languages>
		<language tag="en-GB">en-GB.mod_custom.ini</language>
		<language tag="en-GB">en-GB.mod_custom.sys.ini</language>
	</languages>
	<help key="JHELP_EXTENSIONS_MODULE_MANAGER_ADMIN_CUSTOM" />
	<config>
		<fields name="params">
			<fieldset name="options" label="COM_MODULES_BASIC_FIELDSET_LABEL">
				<field
					name="prepare_content"
					type="radio"
					label="MOD_CUSTOM_FIELD_PREPARE_CONTENT_LABEL"
					description="MOD_CUSTOM_FIELD_PREPARE_CONTENT_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="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"
				/>
			</fieldset>
		</fields>
	</config>
</extension>
mod_feed/tmpl/default.php000064400000006774152325655310011444 0ustar00<?php
/**
 * @package     Joomla.Administrator
 * @subpackage  mod_feed
 *
 * @copyright   (C) 2006 Open Source Matters, Inc. <https://www.joomla.org>
 * @license     GNU General Public License version 2 or later; see LICENSE.txt
 */

defined('_JEXEC') or die;

if (!empty($feed) && is_string($feed))
{
	echo $feed;
}
else
{
	$lang      = JFactory::getLanguage();
	$myrtl     = $params->get('rssrtl', 0);
	$direction = ' ';

	if ($lang->isRtl() && $myrtl == 0)
	{
		$direction = ' redirect-rtl';
	}

	// Feed description
	elseif ($lang->isRtl() && $myrtl == 1)
	{
		$direction = ' redirect-ltr';
	}

	elseif ($lang->isRtl() && $myrtl == 2)
	{
		$direction = ' redirect-rtl';
	}

	elseif ($myrtl == 0)
	{
		$direction = ' redirect-ltr';
	}
	elseif ($myrtl == 1)
	{
		$direction = ' redirect-ltr';
	}
	elseif ($myrtl == 2)
	{
		$direction = ' redirect-rtl';
	}

	if ($feed != false) :
		?>
		<div style="direction: <?php echo $rssrtl ? 'rtl' :'ltr'; ?>; text-align: <?php echo $rssrtl ? 'right' :'left'; ?> !important"  class="feed<?php echo $moduleclass_sfx; ?>">
		<?php

		// Feed title
		if (!is_null($feed->title) && $params->get('rsstitle', 1)) : ?>
			<h2 class="<?php echo $direction; ?>">
				<a href="<?php echo str_replace('&', '&amp;', $rssurl); ?>" target="_blank">
				<?php echo $feed->title; ?></a>
			</h2>
		<?php endif;
		// Feed date
		if ($params->get('rssdate', 1)) : ?>
			<h3>
			<?php echo JHtml::_('date', $feed->publishedDate, JText::_('DATE_FORMAT_LC3')); ?>
			</h3>
		<?php endif; ?>

		<!-- Feed description -->
		<?php if ($params->get('rssdesc', 1)) : ?>
			<?php echo $feed->description; ?>
		<?php endif; ?>

		<!--  Feed image  -->
		<?php if ($params->get('rssimage', 1) && $feed->image) : ?>
			<img src="<?php echo $feed->image->uri; ?>" alt="<?php echo $feed->image->title; ?>"/>
		<?php endif; ?>


	<!-- Show items -->
	<?php if (!empty($feed)) : ?>
		<?php // postinstall override ?>
		<?php if ($rssurl === 'https://www.joomla.org/announcements/release-news.feed?type=rss') : ?>
			<?php $style = 'style="direction: ltr; text-align: left !important;"'; ?>
			<ul class="newsfeed" <?php echo $style; ?>>
		<?php else : ?>
			<ul class="newsfeed<?php echo $params->get('moduleclass_sfx'); ?>">
		<?php endif; ?>
		<?php for ($i = 0; $i < $params->get('rssitems', 3); $i++) :

			if (!$feed->offsetExists($i)) :
				break;
			endif;
			$uri  = $feed[$i]->uri || !$feed[$i]->isPermaLink ? trim($feed[$i]->uri) : trim($feed[$i]->guid);
			$uri  = !$uri || stripos($uri, 'http') !== 0 ? $rssurl : $uri;
			$text = $feed[$i]->content !== '' ? trim($feed[$i]->content) : '';
			?>
				<li>
					<?php if (!empty($uri)) : ?>
						<h5 class="feed-link">
						<a href="<?php echo $uri; ?>" target="_blank">
						<?php echo trim($feed[$i]->title); ?></a></h5>
					<?php else : ?>
						<h5 class="feed-link"><?php  echo $feed[$i]->title; ?></h5>
					<?php  endif; ?>
					<?php if ($params->get('rssitemdate', 0)) : ?>
						<div class="feed-item-date">
							<?php echo JHtml::_('date', $feed[$i]->publishedDate, JText::_('DATE_FORMAT_LC3')); ?>
						</div>
					<?php endif; ?>
					<?php if ($params->get('rssitemdesc', 1) && $text !== '') : ?>
						<div class="feed-item-description">
						<?php
							// Strip the images.
							$text = JFilterOutput::stripImages($text);
							$text = JHtml::_('string.truncate', $text, $params->get('word_count', 0), true, false);
							echo str_replace('&apos;', "'", $text);
						?>
						</div>
					<?php endif; ?>
				</li>
		<?php endfor; ?>
		</ul>
	<?php endif; ?>
	</div>
	<?php endif;
}
mod_feed/tmpl/index.html000064400000000037152325655310011266 0ustar00<!DOCTYPE html><title></title>
mod_feed/helper.php000064400000001736152325655310010314 0ustar00<?php
/**
 * @package     Joomla.Administrator
 * @subpackage  mod_feed
 *
 * @copyright   (C) 2006 Open Source Matters, Inc. <https://www.joomla.org>
 * @license     GNU General Public License version 2 or later; see LICENSE.txt
 */

defined('_JEXEC') or die;

/**
 * Helper for mod_feed
 *
 * @since  1.5
 */
class ModFeedHelper
{
	/**
	 * Method to load a feed.
	 *
	 * @param   JRegisty  $params  The parameters object.
	 *
	 * @return  JFeedReader|string  Return a JFeedReader object or a string message if error.
	 *
	 * @since   1.5
	 */
	public static function getFeed($params)
	{
		// Module params
		$rssurl = $params->get('rssurl', '');

		// Get RSS parsed object
		try
		{
			jimport('joomla.feed.factory');
			$feed   = new JFeedFactory;
			$rssDoc = $feed->getFeed($rssurl);
		}
		catch (Exception $e)
		{
			return JText::_('MOD_FEED_ERR_FEED_NOT_RETRIEVED');
		}

		if (empty($rssDoc))
		{
			return JText::_('MOD_FEED_ERR_FEED_NOT_RETRIEVED');
		}

		return $rssDoc;
	}
}
mod_feed/index.html000064400000000037152325655310010312 0ustar00<!DOCTYPE html><title></title>
mod_feed/mod_feed.php000064400000001455152325655310010575 0ustar00<?php
/**
 * @package     Joomla.Administrator
 * @subpackage  mod_feed
 *
 * @copyright   (C) 2006 Open Source Matters, Inc. <https://www.joomla.org>
 * @license     GNU General Public License version 2 or later; see LICENSE.txt
 */

defined('_JEXEC') or die;

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

$rssurl = $params->get('rssurl', '');
$rssrtl = $params->get('rssrtl', 0);

// Check if feed URL has been set
if (empty ($rssurl))
{
	echo '<div>';
	echo JText::_('MOD_FEED_ERR_NO_URL');
	echo '</div>';

	return;
}

$feed            = ModFeedHelper::getFeed($params);
$moduleclass_sfx = htmlspecialchars($params->get('moduleclass_sfx', ''), ENT_COMPAT, 'UTF-8');

require JModuleHelper::getLayoutPath('mod_feed', $params->get('layout', 'default'));
mod_feed/mod_feed.xml000064400000011041152325655310010576 0ustar00<?xml version="1.0" encoding="utf-8"?>
<extension type="module" version="3.1" client="administrator" method="upgrade">
	<name>mod_feed</name>
	<author>Joomla! Project</author>
	<creationDate>July 2005</creationDate>
	<copyright>(C) 2005 Open Source Matters, Inc.</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_FEED_XML_DESCRIPTION</description>
	<files>
		<filename module="mod_feed">mod_feed.php</filename>
		<filename>helper.php</filename>
		<folder>tmpl</folder>
	</files>
	<languages>
		<language tag="en-GB">en-GB.mod_feed.ini</language>
		<language tag="en-GB">en-GB.mod_feed.sys.ini</language>
	</languages>
	<help key="JHELP_EXTENSIONS_MODULE_MANAGER_ADMIN_FEED" />
	<config>
		<fields name="params">
			<fieldset name="basic">
				<field
					name="rssurl"
					type="url"
					label="MOD_FEED_FIELD_RSSURL_LABEL"
					description="MOD_FEED_FIELD_RSSURL_DESC"
					filter="url"
					size="50"
					required="true"
					validate="url"
				/>

				<field
					name="rssrtl"
					type="radio"
					label="MOD_FEED_FIELD_RTL_LABEL"
					description="MOD_FEED_FIELD_RTL_DESC"
					class="btn-group btn-group-yesno"
					default="0"
					filter="integer"
					>
					<option value="1">JYES</option>
					<option value="0">JNO</option>
				</field>

				<field
					name="rsstitle"
					type="radio"
					label="MOD_FEED_FIELD_RSSTITLE_LABEL"
					description="MOD_FEED_FIELD_RSSTITLE_DESC"
					class="btn-group btn-group-yesno"
					default="1"
					filter="integer"
					>
					<option value="1">JYES</option>
					<option value="0">JNO</option>
				</field>

				<field
					name="rssdate"
					type="radio"
					label="MOD_FEED_FIELD_DATE_LABEL"
					description="MOD_FEED_FIELD_DATE_DESC"
					class="btn-group btn-group-yesno"
					default="0"
					>
					<option value="1">JYES</option>
					<option value="0">JNO</option>
				</field>

				<field
					name="rssdesc"
					type="radio"
					label="MOD_FEED_FIELD_DESCRIPTION_LABEL"
					description="MOD_FEED_FIELD_DESCRIPTION_DESC"
					class="btn-group btn-group-yesno"
					default="1"
					filter="integer"
					>
					<option value="1">JYES</option>
					<option value="0">JNO</option>
				</field>

				<field
					name="rssimage"
					type="radio"
					label="MOD_FEED_FIELD_IMAGE_LABEL"
					description="MOD_FEED_FIELD_IMAGE_DESC"
					class="btn-group btn-group-yesno"
					default="1"
					filter="integer"
					>
					<option value="1">JYES</option>
					<option value="0">JNO</option>
				</field>

				<field
					name="rssitems"
					type="number"
					label="MOD_FEED_FIELD_ITEMS_LABEL"
					description="MOD_FEED_FIELD_ITEMS_DESC"
					default="3"
					filter="integer"
				/>

				<field
					name="rssitemdesc"
					type="radio"
					label="MOD_FEED_FIELD_ITEMDESCRIPTION_LABEL"
					description="MOD_FEED_FIELD_ITEMDESCRIPTION_DESC"
					class="btn-group btn-group-yesno"
					default="1"
					filter="integer"
					>
					<option value="1">JYES</option>
					<option value="0">JNO</option>
				</field>

				<field
					name="rssitemdate"
					type="radio"
					label="MOD_FEED_FIELD_ITEMDATE_LABEL"
					description="MOD_FEED_FIELD_ITEMDATE_DESC"
					class="btn-group btn-group-yesno"
					default="0"
					filter="integer"
					>
					<option value="1">JYES</option>
					<option value="0">JNO</option>
				</field>

				<field
					name="word_count"
					type="number"
					label="MOD_FEED_FIELD_WORDCOUNT_LABEL"
					description="MOD_FEED_FIELD_WORDCOUNT_DESC"
					size="6"
					default="0"
					filter="integer"
				/>
			</fieldset>
			<fieldset name="advanced">
				<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"
				/>
			</fieldset>
		</fields>
	</config>
</extension>
mod_jmapquickicon/index.html000064400000000054152325655310012243 0ustar00<html><body bgcolor="#FFFFFF"></body></html>mod_jmapquickicon/mod_jmapquickicon.php000064400000005167152325655310014465 0ustar00<?php
/**
 * @author Joomla! Extensions Store
 * @package JMAP::modules::mod_jmap
 * @copyright (C) 2021 - Joomla! Extensions Store
 * @license GNU/GPLv2 http://www.gnu.org/licenses/gpl-2.0.html
 */

// no direct access
defined('_JEXEC') or die('Restricted access');

// Manage partial language translations
$jLang = JFactory::getLanguage();
$jLang->load('com_jmap', JPATH_BASE . '/components/com_jmap', 'en-GB', true, true);
if($jLang->getTag() != 'en-GB') {
	$jLang->load('com_jmap', JPATH_BASE, null, true, false);
	$jLang->load('com_jmap', JPATH_BASE . '/components/com_jmap', null, true, false);
}
$doc = JFactory::getDocument();
$currentVersion = strval(simplexml_load_file(JPATH_BASE . '/components/com_jmap/jmap.xml')->version);
$doc->addScriptDeclaration ( 'function jmapCompareVersions(e,a){var r,t,c=">",n=0,s={dev:-6,alpha:-5,a:-5,beta:-4,b:-4,RC:-3,rc:-3,"#":-2,p:1,pl:1},u=function(e){return e=(""+e).replace(/[_\-+]/g,"."),e=e.replace(/([^.\d]+)/g,".$1.").replace(/\.{2,}/g,"."),e.length?e.split("."):[-8]},l=function(e){return e?isNaN(e)?s[e]||-7:parseInt(e,10):0};for(e=u(e),a=u(a),t=Math.max(e.length,a.length),r=0;t>r;r++)if(e[r]!==a[r]){if(e[r]=l(e[r]),a[r]=l(a[r]),e[r]<a[r]){n=-1;break}if(e[r]>a[r]){n=1;break}}if(!c)return n;switch(c){case">":case"gt":return n>0;case">=":case"ge":return n>=0;case"<=":case"le":return 0>=n;case"===":case"=":case"eq":return 0===n;case"<>":case"!==":case"ne":return 0!==n;case"":case"<":case"lt":return 0>n;default:return null}};jQuery.get("index.php?option=com_jmap&task=cpanel.getUpdates&format=raw",function(a){a&&"object"==typeof a&&(jQuery("span[data-bind=jmap_version]").html(a.latest),jmapCompareVersions(a.latest,"'.$currentVersion.'")?jQuery("i.icon-cancel, span[data-status=outdated]").show():jQuery("i.icon-checkmark, span[data-status=updated]").show())},"json");');

JHtml::_('jquery.framework');
?>
<div class="sidebar-nav quick-icons">
	<h2 class="nav-header">JSitemap</h2>
	<ul class="nav nav-list">
	<li>
		<a href="<?php echo JRoute::_('index.php?option=com_jmap'); ?>">
			<img style="width:24px; height:24px;" alt="" src="<?php echo JUri::base() . 'components/com_jmap/images/jmap-32x32.png'?>" />
			<span><?php echo JText::_('COM_JMAP_CPANEL');?></span>
		</a>
		<a href="<?php echo JRoute::_('index.php?option=com_jmap&task=config.display'); ?>">
			<img style="width:24px; height:24px;" alt="" src="<?php echo JUri::base() . 'components/com_jmap/images/icon-32-config.png'?>" />
			<span><?php echo JText::_('COM_JMAP_CONFIG');?></span>
		</a>
		<a href="<?php echo JRoute::_('index.php?option=com_jmap'); ?>">
			<?php echo JText::_('COM_JMAP_MODULEPANEL_STATE');?>
		</a>
	</li>
	</ul>
</div>
mod_jmapquickicon/mod_jmapquickicon.xml000064400000001330152325655310014462 0ustar00<?xml version="1.0" encoding="utf-8"?>
<extension type="module" version="3.0" method="upgrade" client="administrator" >
	<name>JSitemap Quickicons</name>
	<author>Joomla! Extensions Store</author>
	<creationDate>October 2024</creationDate>
	<copyright>Copyright (C) 2016 - Joomla! Extensions Store. All Rights Reserved.</copyright>
	<license>http://www.gnu.org/licenses/gpl-2.0.html GNU/GPL</license>
	<authorEmail>info@storejextensions.org</authorEmail>
	<authorUrl>http://storejextensions.org</authorUrl>
	<version>4.18.10</version>
	<description>JSitemap Quickicons module</description>
	<files>
		<filename module="mod_jmapquickicon">mod_jmapquickicon.php</filename>
		<filename>index.html</filename>
	</files>
</extension>
mod_latest/tmpl/default.php000064400000003475152325655310012030 0ustar00<?php
/**
 * @package     Joomla.Administrator
 * @subpackage  mod_latest
 *
 * @copyright   (C) 2010 Open Source Matters, Inc. <https://www.joomla.org>
 * @license     GNU General Public License version 2 or later; see LICENSE.txt
 */

defined('_JEXEC') or die;

JHtml::_('bootstrap.tooltip');
?>
<div class="row-striped">
	<?php if (count($list)) : ?>
		<?php foreach ($list as $i => $item) : ?>
			<div class="row-fluid">
				<div class="span8 truncate">
					<?php echo JHtml::_('jgrid.published', $item->state, $i, 'articles.', false, 'cb', $item->publish_up, $item->publish_down); ?>
					<?php if ($item->checked_out) : ?>
						<?php echo JHtml::_('jgrid.checkedout', $i, $item->editor, $item->checked_out_time); ?>
					<?php endif; ?>

					<strong class="row-title" title="<?php echo htmlspecialchars($item->title, ENT_QUOTES, 'UTF-8'); ?>">
						<?php if ($item->link) : ?>
							<a href="<?php echo $item->link; ?>">
								<?php echo htmlspecialchars($item->title, ENT_QUOTES, 'UTF-8'); ?></a>
						<?php else : ?>
							<?php echo htmlspecialchars($item->title, ENT_QUOTES, 'UTF-8'); ?>
						<?php endif; ?>
					</strong>

					<small class="hasTooltip" title="<?php echo JHtml::_('tooltipText', 'MOD_LATEST_CREATED_BY'); ?>">
						<?php echo $item->author_name; ?>
					</small>
				</div>
				<div class="span4">
					<div class="small pull-right hasTooltip" title="<?php echo JHtml::_('tooltipText', 'JGLOBAL_FIELD_CREATED_LABEL'); ?>">
						<span class="icon-calendar" aria-hidden="true"></span> <?php echo JHtml::_('date', $item->created, JText::_('DATE_FORMAT_LC5')); ?>
					</div>
				</div>
			</div>
		<?php endforeach; ?>
	<?php else : ?>
		<div class="row-fluid">
			<div class="span12">
				<div class="alert"><?php echo JText::_('MOD_LATEST_NO_MATCHING_RESULTS');?></div>
			</div>
		</div>
	<?php endif; ?>
</div>
mod_latest/tmpl/index.html000064400000000037152325655310011657 0ustar00<!DOCTYPE html><title></title>
mod_latest/helper.php000064400000006353152325655310010705 0ustar00<?php
/**
 * @package     Joomla.Administrator
 * @subpackage  mod_latest
 *
 * @copyright   (C) 2010 Open Source Matters, Inc. <https://www.joomla.org>
 * @license     GNU General Public License version 2 or later; see LICENSE.txt
 */

defined('_JEXEC') or die;

JModelLegacy::addIncludePath(JPATH_ADMINISTRATOR . '/components/com_content/models', 'ContentModel');

/**
 * Helper for mod_latest
 *
 * @since  1.5
 */
abstract class ModLatestHelper
{
	/**
	 * Get a list of articles.
	 *
	 * @param   \Joomla\Registry\Registry  &$params  The module parameters.
	 *
	 * @return  mixed  An array of articles, or false on error.
	 */
	public static function getList(&$params)
	{
		$user = JFactory::getuser();

		// Get an instance of the generic articles model
		$model = JModelLegacy::getInstance('Articles', 'ContentModel', array('ignore_request' => true));

		// Set List SELECT
		$model->setState('list.select', 'a.id, a.title, a.checked_out, a.checked_out_time, ' .
			' a.access, a.created, a.created_by, a.created_by_alias, a.featured, a.state, a.publish_up, a.publish_down');

		// Set Ordering filter
		switch ($params->get('ordering', 'c_dsc'))
		{
			case 'm_dsc':
				$model->setState('list.ordering', 'modified DESC, created');
				$model->setState('list.direction', 'DESC');
				break;

			case 'c_dsc':
			default:
				$model->setState('list.ordering', 'created');
				$model->setState('list.direction', 'DESC');
				break;
		}

		// Set Category Filter
		$categoryId = $params->get('catid', null);

		if (is_numeric($categoryId))
		{
			$model->setState('filter.category_id', $categoryId);
		}

		// Set User Filter.
		$userId = $user->get('id');

		switch ($params->get('user_id', '0'))
		{
			case 'by_me':
				$model->setState('filter.author_id', $userId);
				break;

			case 'not_me':
				$model->setState('filter.author_id', $userId);
				$model->setState('filter.author_id.include', false);
				break;
		}

		// Set the Start and Limit
		$model->setState('list.start', 0);
		$model->setState('list.limit', $params->get('count', 5));

		$items = $model->getItems();

		if ($error = $model->getError())
		{
			JError::raiseError(500, $error);

			return false;
		}

		// Set the links
		foreach ($items as &$item)
		{
			if ($user->authorise('core.edit', 'com_content.article.' . $item->id))
			{
				$item->link = JRoute::_('index.php?option=com_content&task=article.edit&id=' . $item->id);
			}
			else
			{
				$item->link = '';
			}
		}

		return $items;
	}

	/**
	 * Get the alternate title for the module.
	 *
	 * @param   \Joomla\Registry\Registry  $params  The module parameters.
	 *
	 * @return  string  The alternate title for the module.
	 */
	public static function getTitle($params)
	{
		$who   = $params->get('user_id', '0');
		$catid = (int) $params->get('catid', null);
		$type  = $params->get('ordering', 'c_dsc') == 'c_dsc' ? '_CREATED' : '_MODIFIED';

		if ($catid)
		{
			$category = JCategories::getInstance('Content')->get($catid);

			if ($category)
			{
				$title = $category->title;
			}
			else
			{
				$title = JText::_('MOD_POPULAR_UNEXISTING');
			}
		}
		else
		{
			$title = '';
		}

		return JText::plural(
			'MOD_LATEST_TITLE' . $type . ($catid ? '_CATEGORY' : '') . ($who != '0' ? "_$who" : ''),
			(int) $params->get('count', 5),
			$title
		);
	}
}
mod_latest/index.html000064400000000037152325655310010703 0ustar00<!DOCTYPE html><title></title>
mod_latest/mod_latest.php000064400000001107152325655310011551 0ustar00<?php
/**
 * @package     Joomla.Administrator
 * @subpackage  mod_latest
 *
 * @copyright   (C) 2005 Open Source Matters, Inc. <https://www.joomla.org>
 * @license     GNU General Public License version 2 or later; see LICENSE.txt
 */

defined('_JEXEC') or die;

// Include dependencies.
JLoader::register('ModLatestHelper', __DIR__ . '/helper.php');

$list = ModLatestHelper::getList($params);

if ($params->get('automatic_title', 0))
{
	$module->title = ModLatestHelper::getTitle($params);
}

require JModuleHelper::getLayoutPath('mod_latest', $params->get('layout', 'default'));
mod_latest/mod_latest.xml000064400000005563152325655310011574 0ustar00<?xml version="1.0" encoding="utf-8"?>
<extension type="module" version="3.1" client="administrator" method="upgrade">
	<name>mod_latest</name>
	<author>Joomla! Project</author>
	<creationDate>July 2004</creationDate>
	<copyright>(C) 2005 Open Source Matters, Inc.</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_LATEST_XML_DESCRIPTION</description>
	<files>
		<filename module="mod_latest">mod_latest.php</filename>
		<filename>helper.php</filename>
		<folder>tmpl</folder>
	</files>
	<languages>
		<language tag="en-GB">en-GB.mod_latest.ini</language>
		<language tag="en-GB">en-GB.mod_latest.sys.ini</language>
	</languages>
	<help key="JHELP_EXTENSIONS_MODULE_MANAGER_ADMIN_LATEST" />
	<config>
		<fields name="params">
			<fieldset name="basic">
				<field
					name="count"
					type="number"
					label="MOD_LATEST_FIELD_COUNT_LABEL"
					description="MOD_LATEST_FIELD_COUNT_DESC"
					default="5"
					filter="integer"
				/>

				<field
					name="ordering"
					type="list"
					label="MOD_LATEST_FIELD_ORDERING_LABEL"
					description="MOD_LATEST_FIELD_ORDERING_DESC"
					default="c_dsc"
					>
					<option value="c_dsc">MOD_LATEST_FIELD_VALUE_ORDERING_ADDED</option>
					<option value="m_dsc">MOD_LATEST_FIELD_VALUE_ORDERING_MODIFIED</option>
				</field>

				<field
					name="catid"
					type="category"
					label="JCATEGORY"
					description="MOD_LATEST_FIELD_CATEGORY_DESC"
					id="catid"
					extension="com_content"
					default=""
					filter="integer"
					>
					<option value="">JOPTION_ANY_CATEGORY</option>
				</field>

				<field
					name="user_id"
					type="list"
					label="MOD_LATEST_FIELD_AUTHORS_LABEL"
					description="MOD_LATEST_FIELD_AUTHORS_DESC"
					default="0"
					>
					<option value="0">MOD_LATEST_FIELD_VALUE_AUTHORS_ANYONE</option>
					<option value="by_me">MOD_LATEST_FIELD_VALUE_AUTHORS_BY_ME</option>
					<option value="not_me">MOD_LATEST_FIELD_VALUE_AUTHORS_NOT_BY_ME</option>
				</field>
			</fieldset>
			<fieldset name="advanced">
				<field
					name="layout"
					type="modulelayout"
					label="JFIELD_ALT_LAYOUT_LABEL"
					description="JFIELD_ALT_MODULE_LAYOUT_DESC"
					validate="moduleLayout"
				/>

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

				<field
					name="automatic_title"
					type="radio"
					label="COM_MODULES_FIELD_AUTOMATIC_TITLE_LABEL"
					description="COM_MODULES_FIELD_AUTOMATIC_TITLE_DESC"
					class="btn-group btn-group-yesno"
					default="0"
					filter="integer"
					>
					<option value="1">JYES</option>
					<option value="0">JNO</option>
				</field>
			</fieldset>
		</fields>
	</config>
</extension>
mod_latestactions/tmpl/default.php000064400000002161152325655310013400 0ustar00<?php
/**
 * @package     Joomla.Administrator
 * @subpackage  mod_latestactions
 *
 * @copyright   (C) 2018 Open Source Matters, Inc. <https://www.joomla.org>
 * @license     GNU General Public License version 2 or later; see LICENSE.txt
 */

defined('_JEXEC') or die;

use Joomla\CMS\HTML\HTMLHelper;
use Joomla\CMS\Language\Text;

HTMLHelper::_('bootstrap.tooltip');
?>
<div class="row-striped">
	<?php if (count($list)) : ?>
		<?php foreach ($list as $i => $item) : ?>
			<div class="row-fluid">
				<div class="span8 truncate">
					<?php echo $item->message; ?>
				</div>
				<div class="span4">
					<div class="small pull-right hasTooltip" title="<?php echo HTMLHelper::_('tooltipText', 'JGLOBAL_FIELD_CREATED_LABEL'); ?>">
						<span class="icon-calendar" aria-hidden="true"></span> <?php echo HTMLHelper::_('date', $item->log_date, JText::_('DATE_FORMAT_LC5')); ?>
					</div>
				</div>
			</div>
		<?php endforeach; ?>
	<?php else : ?>
		<div class="row-fluid">
			<div class="span12">
				<div class="alert"><?php echo Text::_('MOD_LATEST_ACTIONS_NO_MATCHING_RESULTS'); ?></div>
			</div>
		</div>
	<?php endif; ?>
</div>
mod_latestactions/helper.php000064400000003537152325655310012267 0ustar00<?php
/**
 * @package     Joomla.Administrator
 * @subpackage  mod_latestactions
 *
 * @copyright   (C) 2018 Open Source Matters, Inc. <https://www.joomla.org>
 * @license     GNU General Public License version 2 or later; see LICENSE.txt
 */

defined('_JEXEC') or die;

use Joomla\CMS\Language\Text;
use Joomla\CMS\MVC\Model\BaseDatabaseModel;

/**
 * Helper for mod_latestactions
 *
 * @since  3.9.0
 */
abstract class ModLatestActionsHelper
{
	/**
	 * Get a list of articles.
	 *
	 * @param   \Joomla\Registry\Registry  &$params  The module parameters.
	 *
	 * @return  mixed  An array of action logs, or false on error.
	 */
	public static function getList(&$params)
	{
		JLoader::register('ActionlogsModelActionlogs', JPATH_ADMINISTRATOR . '/components/com_actionlogs/models/actionlogs.php');
		JLoader::register('ActionlogsHelper', JPATH_ADMINISTRATOR . '/components/com_actionlogs/helpers/actionlogs.php');

		/* @var ActionlogsModelActionlogs $model */
		$model = BaseDatabaseModel::getInstance('Actionlogs', 'ActionlogsModel', array('ignore_request' => true));

		// Set the Start and Limit
		$model->setState('list.start', 0);
		$model->setState('list.limit', $params->get('count', 5));
		$model->setState('list.ordering', 'a.id');
		$model->setState('list.direction', 'DESC');

		$rows = $model->getItems();

		// Load all actionlog plugins language files
		ActionlogsHelper::loadActionLogPluginsLanguage();

		foreach ($rows as $row)
		{
			$row->message = ActionlogsHelper::getHumanReadableLogMessage($row);
		}

		return $rows;
	}

	/**
	 * Get the alternate title for the module
	 *
	 * @param   \Joomla\Registry\Registry  $params  The module parameters.
	 *
	 * @return  string    The alternate title for the module.
	 *
	 * @since   3.9.1
	 */
	public static function getTitle($params)
	{
		return Text::plural('MOD_LATESTACTIONS_TITLE', $params->get('count', 5));
	}
}
mod_latestactions/mod_latestactions.php000064400000001414152325655310014514 0ustar00<?php
/**
 * @package     Joomla.Administrator
 * @subpackage  mod_latestactions
 *
 * @copyright   (C) 2018 Open Source Matters, Inc. <https://www.joomla.org>
 * @license     GNU General Public License version 2 or later; see LICENSE.txt
 */

defined('_JEXEC') or die;

use Joomla\CMS\Factory;
use Joomla\CMS\Helper\ModuleHelper;

// Only super user can view this data
if (!Factory::getUser()->authorise('core.admin'))
{
	return;
}

// Include dependencies.
JLoader::register('ModLatestActionsHelper', __DIR__ . '/helper.php');

$list = ModLatestActionsHelper::getList($params);

if ($params->get('automatic_title', 0))
{
	$module->title = ModLatestActionsHelper::getTitle($params);
}

require ModuleHelper::getLayoutPath('mod_latestactions', $params->get('layout', 'default'));
mod_latestactions/mod_latestactions.xml000064400000005107152325655310014530 0ustar00<?xml version="1.0" encoding="utf-8"?>
<extension type="module" version="3.1" client="administrator" method="upgrade">
	<name>mod_latestactions</name>
	<author>Joomla! Project</author>
	<creationDate>May 2018</creationDate>
	<copyright>(C) 2018 Open Source Matters, Inc.</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.9.0</version>
	<description>MOD_LATESTACTIONS_XML_DESCRIPTION</description>
	<files>
		<filename module="mod_latestactions">mod_latestactions.php</filename>
		<filename>helper.php</filename>
		<folder>tmpl</folder>
	</files>
	<languages>
		<language tag="en-GB">en-GB.mod_latestactions.ini</language>
		<language tag="en-GB">en-GB.mod_latestactions.sys.ini</language>
	</languages>
	<help key="JHELP_EXTENSIONS_MODULE_MANAGER_ADMIN_LATESTACTIONS" />
	<config>
		<fields name="params">
			<fieldset name="basic">
				<field
					name="count"
					type="number"
					label="MOD_LATESTACTIONS_FIELD_COUNT_LABEL"
					description="MOD_LATESTACTIONS_FIELD_COUNT_DESC"
					default="5"
					filter="integer"
				/>
			</fieldset>
			<fieldset name="advanced">
				<field
					name="layout"
					type="modulelayout"
					label="JFIELD_ALT_LAYOUT_LABEL"
					description="JFIELD_ALT_MODULE_LAYOUT_DESC"
					validate="moduleLayout"
				/>

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

				<field
					name="automatic_title"
					type="radio"
					label="COM_MODULES_FIELD_AUTOMATIC_TITLE_LABEL"
					description="COM_MODULES_FIELD_AUTOMATIC_TITLE_DESC"
					class="btn-group btn-group-yesno"
					default="0"
					filter="integer"
					>
					<option value="1">JYES</option>
					<option value="0">JNO</option>
				</field>

				<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="static"
					>
					<option value="static"></option>
				</field>
			</fieldset>
		</fields>
	</config>
</extension>
mod_logged/tmpl/default.php000064400000003512152325655310011765 0ustar00<?php
/**
 * @package     Joomla.Administrator
 * @subpackage  mod_logged
 *
 * @copyright   (C) 2007 Open Source Matters, Inc. <https://www.joomla.org>
 * @license     GNU General Public License version 2 or later; see LICENSE.txt
 */

defined('_JEXEC') or die;

JHtml::_('bootstrap.tooltip');
?>
<div class="row-striped">
	<?php foreach ($users as $user) : ?>
		<div class="row-fluid">
			<div class="span8">
				<?php if ($user->client_id == 0) : ?>
					<a title="<?php echo JHtml::_('tooltipText', 'MOD_LOGGED_LOGOUT'); ?>" href="<?php echo $user->logoutLink; ?>" class="btn btn-danger btn-mini hasTooltip">
						<span class="icon-remove icon-white" aria-hidden="true"><span class="element-invisible"><?php echo JText::_('JLOGOUT'); ?></span></span>
					</a>
				<?php endif; ?>

				<strong class="row-title">
					<?php if (isset($user->editLink)) : ?>
						<a href="<?php echo $user->editLink; ?>" class="hasTooltip" title="<?php echo JHtml::_('tooltipText', 'JGRID_HEADING_ID'); ?> : <?php echo $user->id; ?>">
							<?php echo $user->name; ?></a>
					<?php else : ?>
						<?php echo $user->name; ?>
					<?php endif; ?>
				</strong>

				<small class="small hasTooltip" title="<?php echo JHtml::_('tooltipText', 'JCLIENT'); ?>">
					<?php if ($user->client_id === null) : ?>
						<?php // Don't display a client ?>
					<?php elseif ($user->client_id) : ?>
						<?php echo JText::_('JADMINISTRATION'); ?>
					<?php else : ?>
						<?php echo JText::_('JSITE'); ?>
					<?php endif; ?>
				</small>
			</div>
			<div class="span4">
				<div class="small pull-right hasTooltip" title="<?php echo JHtml::_('tooltipText', 'MOD_LOGGED_LAST_ACTIVITY'); ?>">
					<span class="icon-calendar" aria-hidden="true"></span> <?php echo JHtml::_('date', $user->time, JText::_('DATE_FORMAT_LC5')); ?>
				</div>
			</div>
		</div>
	<?php endforeach; ?>
</div>
mod_logged/tmpl/index.html000064400000000037152325655310011624 0ustar00<!DOCTYPE html><title></title>
mod_logged/helper.php000064400000003500152325655310010641 0ustar00<?php
/**
 * @package     Joomla.Administrator
 * @subpackage  mod_logged
 *
 * @copyright   (C) 2010 Open Source Matters, Inc. <https://www.joomla.org>
 * @license     GNU General Public License version 2 or later; see LICENSE.txt
 */

defined('_JEXEC') or die;

/**
 * Helper for mod_logged
 *
 * @since  1.5
 */
abstract class ModLoggedHelper
{
	/**
	 * Get a list of logged users.
	 *
	 * @param   \Joomla\Registry\Registry  &$params  The module parameters.
	 *
	 * @return  mixed  An array of users, or false on error.
	 *
	 * @throws  RuntimeException
	 */
	public static function getList(&$params)
	{
		$db    = JFactory::getDbo();
		$user  = JFactory::getUser();
		$query = $db->getQuery(true)
			->select('s.time, s.client_id, u.id, u.name, u.username')
			->from('#__session AS s')
			->join('LEFT', '#__users AS u ON s.userid = u.id')
			->where('s.guest = 0');
		$db->setQuery($query, 0, $params->get('count', 5));

		try
		{
			$results = $db->loadObjectList();
		}
		catch (RuntimeException $e)
		{
			throw $e;
		}

		foreach ($results as $k => $result)
		{
			$results[$k]->logoutLink = '';

			if ($user->authorise('core.manage', 'com_users'))
			{
				$results[$k]->editLink   = JRoute::_('index.php?option=com_users&task=user.edit&id=' . $result->id);
				$results[$k]->logoutLink = JRoute::_('index.php?option=com_login&task=logout&uid=' . $result->id . '&' . JSession::getFormToken() . '=1');
			}

			if ($params->get('name', 1) == 0)
			{
				$results[$k]->name = $results[$k]->username;
			}
		}

		return $results;
	}

	/**
	 * Get the alternate title for the module
	 *
	 * @param   \Joomla\Registry\Registry  $params  The module parameters.
	 *
	 * @return  string    The alternate title for the module.
	 */
	public static function getTitle($params)
	{
		return JText::plural('MOD_LOGGED_TITLE', $params->get('count', 5));
	}
}
mod_logged/index.html000064400000000037152325655310010650 0ustar00<!DOCTYPE html><title></title>
mod_logged/mod_logged.php000064400000001110152325655310011455 0ustar00<?php
/**
 * @package     Joomla.Administrator
 * @subpackage  mod_logged
 *
 * @copyright   (C) 2005 Open Source Matters, Inc. <https://www.joomla.org>
 * @license     GNU General Public License version 2 or later; see LICENSE.txt
 */

defined('_JEXEC') or die;

// Include dependencies.
JLoader::register('ModLoggedHelper', __DIR__ . '/helper.php');

$users = ModLoggedHelper::getList($params);

if ($params->get('automatic_title', 0))
{
	$module->title = ModLoggedHelper::getTitle($params);
}

require JModuleHelper::getLayoutPath('mod_logged', $params->get('layout', 'default'));
mod_logged/mod_logged.xml000064400000004161152325655310011477 0ustar00<?xml version="1.0" encoding="utf-8"?>
<extension type="module" version="3.1" client="administrator" method="upgrade">
	<name>mod_logged</name>
	<author>Joomla! Project</author>
	<creationDate>January 2005</creationDate>
	<copyright>(C) 2005 Open Source Matters, Inc.</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_LOGGED_XML_DESCRIPTION</description>
	<files>
		<filename module="mod_logged">mod_logged.php</filename>
		<folder>tmpl</folder>
	</files>
	<languages>
		<language tag="en-GB">en-GB.mod_logged.ini</language>
		<language tag="en-GB">en-GB.mod_logged.sys.ini</language>
	</languages>
	<help key="JHELP_EXTENSIONS_MODULE_MANAGER_ADMIN_LOGGED" />
	<config>
		<fields name="params">
			<fieldset name="basic">
				<field
					name="count"
					type="number"
					label="MOD_LOGGED_FIELD_COUNT_LABEL"
					description="MOD_LOGGED_FIELD_COUNT_DESC"
					default="5"
					filter="integer"
				/>

				<field
					name="name"
					type="list"
					label="MOD_LOGGED_NAME"
					description="MOD_LOGGED_FIELD_NAME_DESC"
					default="1"
					filter="integer"
					>
					<option value="1">MOD_LOGGED_NAME</option>
					<option value="0">JGLOBAL_USERNAME</option>
				</field>
			</fieldset>
			<fieldset name="advanced">
				<field
					name="layout"
					type="modulelayout"
					label="JFIELD_ALT_LAYOUT_LABEL"
					description="JFIELD_ALT_MODULE_LAYOUT_DESC"
					validate="moduleLayout"
				/>

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

				<field
					name="automatic_title"
					type="radio"
					label="COM_MODULES_FIELD_AUTOMATIC_TITLE_LABEL"
					description="COM_MODULES_FIELD_AUTOMATIC_TITLE_DESC"
					class="btn-group btn-group-yesno"
					default="0"
					filter="integer"
					>
					<option value="1">JYES</option>
					<option value="0">JNO</option>
				</field>
			</fieldset>
		</fields>
	</config>
</extension>
mod_login/tmpl/default.php000064400000010040152325655310011626 0ustar00<?php
/**
 * @package     Joomla.Administrator
 * @subpackage  mod_login
 *
 * @copyright   (C) 2010 Open Source Matters, Inc. <https://www.joomla.org>
 * @license     GNU General Public License version 2 or later; see LICENSE.txt
 */

defined('_JEXEC') or die;

JHtml::_('behavior.keepalive');
JHtml::_('bootstrap.tooltip');

// Load chosen if we have language selector, ie, more than one administrator language installed and enabled.
if ($langs)
{
	JHtml::_('formbehavior.chosen', '.advancedSelect');
}
?>
<form action="<?php echo JRoute::_('index.php', true, $params->get('usesecure', 0)); ?>" method="post" id="form-login" class="form-inline">
	<fieldset class="loginform">
		<div class="control-group">
			<div class="controls">
				<div class="input-prepend input-append">
					<span class="add-on">
						<span class="icon-user hasTooltip" title="<?php echo JText::_('JGLOBAL_USERNAME'); ?>"></span>
						<label for="mod-login-username" class="element-invisible">
							<?php echo JText::_('JGLOBAL_USERNAME'); ?>
						</label>
					</span>
					<input name="username" tabindex="1" id="mod-login-username" type="text" class="input-medium" placeholder="<?php echo JText::_('JGLOBAL_USERNAME'); ?>" size="15" autofocus="true" />
					<a href="<?php echo JUri::root(); ?>index.php?option=com_users&view=remind" class="btn width-auto hasTooltip" title="<?php echo JText::_('MOD_LOGIN_REMIND'); ?>">
						<span class="icon-help"></span>
					</a>
				</div>
			</div>
		</div>
		<div class="control-group">
			<div class="controls">
				<div class="input-prepend input-append">
					<span class="add-on">
						<span class="icon-lock hasTooltip" title="<?php echo JText::_('JGLOBAL_PASSWORD'); ?>"></span>
						<label for="mod-login-password" class="element-invisible">
							<?php echo JText::_('JGLOBAL_PASSWORD'); ?>
						</label>
					</span>
					<input name="passwd" tabindex="2" id="mod-login-password" type="password" class="input-medium" placeholder="<?php echo JText::_('JGLOBAL_PASSWORD'); ?>" size="15"/>
					<a href="<?php echo JUri::root(); ?>index.php?option=com_users&view=reset" class="btn width-auto hasTooltip" title="<?php echo JText::_('MOD_LOGIN_RESET'); ?>">
						<span class="icon-help"></span>
					</a>
				</div>
			</div>
		</div>
		<?php if (count($twofactormethods) > 1): ?>
		<div class="control-group">
			<div class="controls">
				<div class="input-prepend input-append">
					<span class="add-on">
						<span class="icon-star hasTooltip" title="<?php echo JText::_('JGLOBAL_SECRETKEY'); ?>"></span>
						<label for="mod-login-secretkey" class="element-invisible">
							<?php echo JText::_('JGLOBAL_SECRETKEY'); ?>
						</label>
					</span>
					<input name="secretkey" autocomplete="one-time-code" tabindex="3" id="mod-login-secretkey" type="text" class="input-medium" placeholder="<?php echo JText::_('JGLOBAL_SECRETKEY'); ?>" size="15"/>
					<span class="btn width-auto hasTooltip" title="<?php echo JText::_('JGLOBAL_SECRETKEY_HELP'); ?>">
						<span class="icon-help"></span>
					</span>
				</div>
			</div>
		</div>
		<?php endif; ?>
		<?php if (!empty($langs)) : ?>
			<div class="control-group">
				<div class="controls">
					<div class="input-prepend">
						<span class="add-on">
							<span class="icon-comment hasTooltip" title="<?php echo JHtml::_('tooltipText', 'MOD_LOGIN_LANGUAGE'); ?>"></span>
							<label for="lang" class="element-invisible">
								<?php echo JText::_('MOD_LOGIN_LANGUAGE'); ?>
							</label>
						</span>
						<?php echo $langs; ?>
					</div>
				</div>
			</div>
		<?php endif; ?>
		<div class="control-group">
			<div class="controls">
				<div class="btn-group">
					<button tabindex="5" class="btn btn-primary btn-block btn-large login-button">
						<span class="icon-lock icon-white"></span> <?php echo JText::_('MOD_LOGIN_LOGIN'); ?>
					</button>
				</div>
			</div>
		</div>
		<input type="hidden" name="option" value="com_login"/>
		<input type="hidden" name="task" value="login"/>
		<input type="hidden" name="return" value="<?php echo $return; ?>"/>
		<?php echo JHtml::_('form.token'); ?>
	</fieldset>
</form>
mod_login/tmpl/index.html000064400000000037152325655310011473 0ustar00<!DOCTYPE html><title></title>
mod_login/helper.php000064400000004032152325655310010511 0ustar00<?php
/**
 * @package     Joomla.Administrator
 * @subpackage  mod_login
 *
 * @copyright   (C) 2010 Open Source Matters, Inc. <https://www.joomla.org>
 * @license     GNU General Public License version 2 or later; see LICENSE.txt
 */

defined('_JEXEC') or die;

/**
 * Helper for mod_login
 *
 * @since  1.6
 */
abstract class ModLoginHelper
{
	/**
	 * Get an HTML select list of the available languages.
	 *
	 * @return  string
	 */
	public static function getLanguageList()
	{
		$languages = JLanguageHelper::createLanguageList(null, JPATH_ADMINISTRATOR, false, true);

		if (count($languages) <= 1)
		{
			return '';
		}

		usort(
			$languages,
			function ($a, $b)
			{
				return strcmp($a['value'], $b['value']);
			}
		);

		// Fix wrongly set parentheses in RTL languages
		if (JFactory::getLanguage()->isRtl())
		{
			foreach ($languages as &$language)
			{
				$language['text'] = $language['text'] . '&#x200E;';
			}
		}

		array_unshift($languages, JHtml::_('select.option', '', JText::_('JDEFAULTLANGUAGE')));

		return JHtml::_('select.genericlist', $languages, 'lang', 'class="advancedSelect" tabindex="4"', 'value', 'text', null);
	}

	/**
	 * Get the redirect URI after login.
	 *
	 * @return  string
	 */
	public static function getReturnUri()
	{
		$uri    = JUri::getInstance();
		$return = 'index.php' . $uri->toString(array('query'));

		if ($return != 'index.php?option=com_login')
		{
			return base64_encode($return);
		}
		else
		{
			return base64_encode('index.php');
		}
	}

	/**
	 * Creates a list of two factor authentication methods used in com_users
	 * on user view
	 *
	 * @return  array
	 *
	 * @deprecated  4.0  Use JAuthenticationHelper::getTwoFactorMethods() instead.
	 */
	public static function getTwoFactorMethods()
	{
		try
		{
			JLog::add(
				sprintf('%s() is deprecated, use JAuthenticationHelper::getTwoFactorMethods() instead.', __METHOD__),
				JLog::WARNING,
				'deprecated'
			);
		}
		catch (RuntimeException $exception)
		{
			// Informational log only
		}

		return JAuthenticationHelper::getTwoFactorMethods();
	}
}
mod_login/index.html000064400000000037152325655310010517 0ustar00<!DOCTYPE html><title></title>
mod_login/mod_login.php000064400000001163152325655310011203 0ustar00<?php
/**
 * @package     Joomla.Administrator
 * @subpackage  mod_login
 *
 * @copyright   (C) 2006 Open Source Matters, Inc. <https://www.joomla.org>
 * @license     GNU General Public License version 2 or later; see LICENSE.txt
 */

defined('_JEXEC') or die;

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

$langs            = ModLoginHelper::getLanguageList();
$twofactormethods = JAuthenticationHelper::getTwoFactorMethods();
$return           = ModLoginHelper::getReturnUri();

require JModuleHelper::getLayoutPath('mod_login', $params->get('layout', 'default'));
mod_login/mod_login.xml000064400000003250152325655310011213 0ustar00<?xml version="1.0" encoding="utf-8"?>
<extension type="module" version="3.1" client="administrator" method="upgrade">
	<name>mod_login</name>
	<author>Joomla! Project</author>
	<creationDate>March 2005</creationDate>
	<copyright>(C) 2005 Open Source Matters, Inc.</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_LOGIN_XML_DESCRIPTION</description>
	<files>
		<filename module="mod_login">mod_login.php</filename>
		<folder>tmpl</folder>
		<filename>helper.php</filename>
	</files>
	<languages>
		<language tag="en-GB">en-GB.mod_login.ini</language>
		<language tag="en-GB">en-GB.mod_login.sys.ini</language>
	</languages>
	<help key="JHELP_EXTENSIONS_MODULE_MANAGER_ADMIN_LOGIN" />
	<config>
		<fields name="params">
			<fieldset name="basic">
				<field
					name="usesecure"
					type="radio"
					label="MOD_LOGIN_FIELD_USESECURE_LABEL"
					description="MOD_LOGIN_FIELD_USESECURE_DESC"
					class="btn-group btn-group-yesno"
					default="0"
					filter="integer"
					>
					<option value="1">JYES</option>
					<option value="0">JNO</option>
				</field>
			</fieldset>
			<fieldset name="advanced">
				<field
					name="layout"
					type="modulelayout"
					label="JFIELD_ALT_LAYOUT_LABEL"
					description="JFIELD_ALT_MODULE_LAYOUT_DESC"
					validate="moduleLayout"
				/>

				<field
					name="moduleclass_sfx"
					type="textarea"
					label="COM_MODULES_FIELD_MODULECLASS_SFX_LABEL"
					description="COM_MODULES_FIELD_MODULECLASS_SFX_DESC"
				 	rows="3"
				/>
			</fieldset>
		</fields>
	</config>
</extension>
mod_menu/tmpl/default.php000064400000001773152325655310011477 0ustar00<?php
/**
 * @package     Joomla.Administrator
 * @subpackage  mod_menu
 *
 * @copyright   (C) 2009 Open Source Matters, Inc. <https://www.joomla.org>
 * @license     GNU General Public License version 2 or later; see LICENSE.txt
 */

defined('_JEXEC') or die;

$doc       = JFactory::getDocument();
$direction = $doc->direction == 'rtl' ? 'pull-right' : '';
$class     = $enabled ? 'nav ' . $direction : 'nav disabled ' . $direction;

// Recurse through children of root node if they exist
$menuTree = $menu->getTree();
$root     = $menuTree->reset();

if ($root->hasChildren())
{
	echo '<ul id="menu" class="' . $class . '">' . "\n";

	// WARNING: Do not use direct 'include' or 'require' as it is important to isolate the scope for each call
	$menu->renderSubmenu(JModuleHelper::getLayoutPath('mod_menu', 'default_submenu'));

	echo "</ul>\n";

	echo '<ul id="nav-empty" class="dropdown-menu nav-empty hidden-phone"></ul>';

	if ($css = $menuTree->getCss())
	{
		$doc->addStyleDeclaration(implode("\n", $css));
	}
}
mod_menu/tmpl/default_submenu.php000064400000006107152325655310013231 0ustar00<?php
/**
 * @package     Joomla.Administrator
 * @subpackage  mod_menu
 *
 * @copyright   (C) 2017 Open Source Matters, Inc. <https://www.joomla.org>
 * @license     GNU General Public License version 2 or later; see LICENSE.txt
 */
use Joomla\CMS\Menu\Node\Separator;

defined('_JEXEC') or die;

/**
 * =========================================================================================================
 * IMPORTANT: The scope of this layout file is the `JAdminCssMenu` object and NOT the module context.
 * =========================================================================================================
 */
/** @var  JAdminCssMenu  $this */
$current = $this->tree->getCurrent();

// Build the CSS class suffix
if (!$this->enabled)
{
	$class = ' class="disabled"';
}
elseif ($current instanceOf Separator)
{
	$class = $current->get('title') ? ' class="menuitem-group"' : ' class="divider"';
}
elseif ($current->hasChildren())
{
	if ($current->getLevel() == 1)
	{
		$class = ' class="dropdown"';
	}
	elseif ($current->get('class') == 'scrollable-menu')
	{
		$class = ' class="dropdown scrollable-menu"';
	}
	else
	{
		$class = ' class="dropdown-submenu"';
	}
}
else
{
	$class = '';
}

// Print the item
echo '<li' . $class . '>';

// Print a link if it exists
$linkClass     = array();
$dataToggle    = '';
$dropdownCaret = '';

if ($current->hasChildren())
{
	$linkClass[] = 'dropdown-toggle';
	$dataToggle  = ' data-toggle="dropdown"';

	if ($current->getLevel() == 1)
	{
		$dropdownCaret = ' <span class="caret"></span>';
	}
}
else
{
	$linkClass[] = 'no-dropdown';
}

if (!($current instanceof Separator) && ($current->getLevel() > 1))
{
	$iconClass = $this->tree->getIconClass();

	if (trim($iconClass))
	{
		$linkClass[] = $iconClass;
	}
}

// Implode out $linkClass for rendering
$linkClass = ' class="' . implode(' ', $linkClass) . '" ';

// Links: component/url/heading/container
if ($link = $current->get('link'))
{
	$icon = $current->get('icon');

	if ($icon)
	{
		if (substr($icon, 0, 6) == 'class:')
		{
			$icon = '<span class="' . substr($icon, 6) . '"></span>';
		}
		elseif (substr($icon, 0, 6) == 'image:')
		{
			$icon = JHtml::_('image', substr($icon, 6), null, null, true);
		}
		else
		{
			$icon = JHtml::_('image', $icon, null);
		}
	}

	$target = $current->get('target') ? 'target="' . $current->get('target') . '"' : '';

	echo '<a' . $linkClass . $dataToggle . ' href="' . $link . '" ' . $target . '>' .
				JText::_($current->get('title')) . $icon . $dropdownCaret . '</a>';
}
// Separator
else
{
	echo '<span>' . JText::_($current->get('title')) . '</span>';
}

// Recurse through children if they exist
if ($this->enabled && $current->hasChildren())
{
	if ($current->getLevel() > 1)
	{
		$id = $current->get('id') ? ' id="menu-' . strtolower($current->get('id')) . '"' : '';

		echo '<ul' . $id . ' class="dropdown-menu menu-scrollable">' . "\n";
	}
	else
	{
		echo '<ul class="dropdown-menu scroll-menu">' . "\n";
	}

	// WARNING: Do not use direct 'include' or 'require' as it is important to isolate the scope for each call
	$this->renderSubmenu(__FILE__);

	echo "</ul>\n";
}

echo "</li>\n";
mod_menu/tmpl/index.html000064400000000037152325655310011327 0ustar00<!DOCTYPE html><title></title>
mod_menu/helper.php000064400000003037152325655310010351 0ustar00<?php
/**
 * @package     Joomla.Administrator
 * @subpackage  mod_menu
 *
 * @copyright   (C) 2007 Open Source Matters, Inc. <https://www.joomla.org>
 * @license     GNU General Public License version 2 or later; see LICENSE.txt
 */

defined('_JEXEC') or die;

/**
 * Helper for mod_menu
 *
 * @since  1.5
 */
abstract class ModMenuHelper
{
	/**
	 * Get a list of the available menus.
	 *
	 * @return  array  An array of the available menus (from the menu types table).
	 *
	 * @since   1.6
	 *
	 * @deprecated  4.0
	 */
	public static function getMenus()
	{
		$db     = JFactory::getDbo();

		// Search for home menu and language if exists
		$subQuery = $db->getQuery(true)
			->select('b.menutype, b.home, b.language, l.image, l.sef, l.title_native')
			->from('#__menu AS b')
			->leftJoin('#__languages AS l ON l.lang_code = b.language')
			->where('b.home != 0')
			->where('(b.client_id = 0 OR b.client_id IS NULL)');

		// Get all menu types with optional home menu and language
		$query = $db->getQuery(true)
			->select('a.id, a.asset_id, a.menutype, a.title, a.description, a.client_id')
			->select('c.home, c.language, c.image, c.sef, c.title_native')
			->from('#__menu_types AS a')
			->leftJoin('(' . (string) $subQuery . ') c ON c.menutype = a.menutype')
			->order('a.id');

		$db->setQuery($query);

		try
		{
			$result = $db->loadObjectList();
		}
		catch (RuntimeException $e)
		{
			$result = array();
			JFactory::getApplication()->enqueueMessage(JText::sprintf('JERROR_LOADING_MENUS', $e->getMessage()), 'error');
		}

		return $result;
	}
}
mod_menu/index.html000064400000000037152325655310010353 0ustar00<!DOCTYPE html><title></title>
mod_menu/menu.php000064400000031476152325655310010046 0ustar00<?php
/**
 * @package     Joomla.Administrator
 * @subpackage  mod_menu
 *
 * @copyright   (C) 2006 Open Source Matters, Inc. <https://www.joomla.org>
 * @license     GNU General Public License version 2 or later; see LICENSE.txt
 */

defined('_JEXEC') or die;

use Joomla\CMS\Factory;
use Joomla\CMS\Log\Log;
use Joomla\CMS\Menu\Node;
use Joomla\CMS\Menu\Tree;
use Joomla\CMS\Menu\MenuHelper;
use Joomla\CMS\User\User;
use Joomla\Registry\Registry;
use Joomla\Utilities\ArrayHelper;

/**
 * Tree based class to render the admin menu
 *
 * @since  1.5
 */
class JAdminCssMenu
{
	/**
	 * The Menu tree object
	 *
	 * @var    Tree
	 * @since  3.8.0
	 * @deprecated  4.0
	 */
	protected $tree;

	/**
	 * The module options
	 *
	 * @var    Registry
	 * @since  3.8.0
	 */
	protected $params;

	/**
	 * The menu bar state
	 *
	 * @var    bool
	 * @since  3.8.0
	 */
	protected $enabled;

	/**
	 * The current user
	 *
	 * @var    User
	 * @since  3.9.1
	 */
	protected $user;

	/**
	 * JAdminCssMenu constructor.
	 *
	 * @param   User|null  $user  The current user
	 *
	 * @since   3.9.1
	 */
	public function __construct(User $user = null)
	{
		if ($user === null)
		{
			Log::add(
				sprintf(
					'Not passing a %s instance into the %s constructor is deprecated. As of 4.0, it will be required.',
					'Joomla\CMS\User\User',
					__CLASS__
				),
				Log::WARNING,
				'deprecated'
			);

			$user = Factory::getUser();
		}

		$this->user = $user;
	}

	/**
	 * Get the current menu tree
	 *
	 * @return  Tree
	 *
	 * @since   3.8.0
	 *
	 * @deprecated  4.0
	 */
	public function getTree()
	{
		if (!$this->tree)
		{
			$this->tree = new Tree;
		}

		return $this->tree;
	}

	/**
	 * Populate the menu items in the menu tree object
	 *
	 * @param   Registry  $params   Menu configuration parameters
	 * @param   bool      $enabled  Whether the menu should be enabled or disabled
	 *
	 * @return  void
	 *
	 * @since   3.7.0
	 */
	public function load($params, $enabled)
	{
		$this->tree    = $this->getTree();
		$this->params  = $params;
		$this->enabled = $enabled;
		$menutype      = $this->params->get('menutype', '*');

		if ($menutype === '*')
		{
			$name   = $this->params->get('preset', 'joomla');
			$levels = MenuHelper::loadPreset($name);
		}
		else
		{
			$items = MenusHelper::getMenuItems($menutype, true);

			if ($this->enabled && $this->params->get('check', 1))
			{
				if ($this->check($items, $this->params))
				{
					$this->params->set('recovery', true);

					// In recovery mode, load the preset inside a special root node.
					$this->tree->addChild(new Node\Heading('MOD_MENU_RECOVERY_MENU_ROOT'), true);

					$levels = MenuHelper::loadPreset('joomla');
					$levels = $this->preprocess($levels);

					$this->populateTree($levels);

					$this->tree->addChild(new Node\Separator);

					// Add link to exit recovery mode
					$uri = clone JUri::getInstance();
					$uri->setVar('recover_menu', 0);

					$this->tree->addChild(new Node\Url('MOD_MENU_RECOVERY_EXIT', $uri->toString()));

					$this->tree->getParent();
				}
			}

			$levels = MenuHelper::createLevels($items);
		}

		$levels = $this->preprocess($levels);

		$this->populateTree($levels);
	}

	/**
	 * Method to render a given level of a menu using provided layout file
	 *
	 * @param   string  $layoutFile  The layout file to be used to render
	 *
	 * @return  void
	 *
	 * @since   3.8.0
	 */
	public function renderSubmenu($layoutFile)
	{
		if (is_file($layoutFile))
		{
			$children = $this->tree->getCurrent()->getChildren();

			foreach ($children as $child)
			{
				$this->tree->setCurrent($child);

				// This sets the scope to this object for the layout file and also isolates other `include`s
				require $layoutFile;
			}
		}
	}

	/**
	 * Check the flat list of menu items for important links
	 *
	 * @param   array     $items   The menu items array
	 * @param   Registry  $params  Module options
	 *
	 * @return  boolean  Whether to show recovery menu
	 *
	 * @since   3.8.0
	 */
	protected function check($items, Registry $params)
	{
		$authMenus   = $this->user->authorise('core.manage', 'com_menus');
		$authModules = $this->user->authorise('core.manage', 'com_modules');

		if (!$authMenus && !$authModules)
		{
			return false;
		}

		$app        = JFactory::getApplication();
		$types      = ArrayHelper::getColumn($items, 'type');
		$elements   = ArrayHelper::getColumn($items, 'element');
		$rMenu      = $authMenus && !in_array('com_menus', $elements);
		$rModule    = $authModules && !in_array('com_modules', $elements);
		$rContainer = !in_array('container', $types);

		if ($rMenu || $rModule || $rContainer)
		{
			$recovery = $app->getUserStateFromRequest('mod_menu.recovery', 'recover_menu', 0, 'int');

			if ($recovery)
			{
				return true;
			}

			$missing = array();

			if ($rMenu)
			{
				$missing[] = JText::_('MOD_MENU_IMPORTANT_ITEM_MENU_MANAGER');
			}

			if ($rModule)
			{
				$missing[] = JText::_('MOD_MENU_IMPORTANT_ITEM_MODULE_MANAGER');
			}

			if ($rContainer)
			{
				$missing[] = JText::_('MOD_MENU_IMPORTANT_ITEM_COMPONENTS_CONTAINER');
			}

			$uri = clone JUri::getInstance();
			$uri->setVar('recover_menu', 1);

			$table    = JTable::getInstance('MenuType');
			$menutype = $params->get('menutype');

			$table->load(array('menutype' => $menutype));

			$menutype = $table->get('title', $menutype);
			$message  = JText::sprintf('MOD_MENU_IMPORTANT_ITEMS_INACCESSIBLE_LIST_WARNING', $menutype, implode(', ', $missing), $uri);

			$app->enqueueMessage($message, 'warning');
		}

		return false;
	}

	/**
	 * Filter and perform other preparatory tasks for loaded menu items based on access rights and module configurations for display
	 *
	 * @param   \stdClass[]  $items  The levelled array of menu item objects
	 *
	 * @return  array
	 *
	 * @since   3.8.0
	 */
	protected function preprocess($items)
	{
		$result   = array();
		$language = JFactory::getLanguage();

		$noSeparator = true;

		// Call preprocess for the menu items on plugins.
		// Plugins should normally process the current level only unless their logic needs deep levels too.
		$dispatcher = JEventDispatcher::getInstance();
		$dispatcher->trigger('onPreprocessMenuItems', array('com_menus.administrator.module', &$items, $this->params, $this->enabled));

		foreach ($items as $i => &$item)
		{
			// Exclude item with menu item option set to exclude from menu modules
			if ($item->params->get('menu_show', 1) == 0)
			{
				continue;
			}

			$item->scope = isset($item->scope) ? $item->scope : 'default';
			$item->icon  = isset($item->icon) ? $item->icon : '';

			// Whether this scope can be displayed. Applies only to preset items. Db driven items should use un/published state.
			if (($item->scope === 'help' && !$this->params->get('showhelp', 1)) || ($item->scope === 'edit' && !$this->params->get('shownew', 1)))
			{
				continue;
			}

			if (substr($item->link, 0, 8) === 'special:')
			{
				$special = substr($item->link, 8);

				if ($special === 'language-forum')
				{
					$item->link = 'index.php?option=com_admin&amp;view=help&amp;layout=langforum';
				}
				elseif ($special === 'custom-forum')
				{
					$item->link = $this->params->get('forum_url');
				}
			}

			// Exclude item if is not enabled
			if ($item->element && !JComponentHelper::isEnabled($item->element))
			{
				continue;
			}

			// Exclude Mass Mail if disabled in global configuration
			if ($item->scope === 'massmail' && (JFactory::getApplication()->get('massmailoff', 0) == 1))
			{
				continue;
			}

			// Exclude item if the component is not authorised
			$assetName = $item->element;

			if ($item->element === 'com_categories')
			{
				parse_str($item->link, $query);
				$assetName = isset($query['extension']) ? $query['extension'] : 'com_content';
			}
			elseif ($item->element === 'com_fields')
			{
				parse_str($item->link, $query);

				// Only display Fields menus when enabled in the component
				$createFields = null;

				if (isset($query['context']))
				{
					$createFields = JComponentHelper::getParams(strstr($query['context'], '.', true))->get('custom_fields_enable', 1);
				}

				if (!$createFields)
				{
					continue;
				}

				list($assetName) = isset($query['context']) ? explode('.', $query['context'], 2) : array('com_fields');
			}
			// Special case for components which only allow super user access
			elseif (in_array($item->element, array('com_config', 'com_privacy', 'com_actionlogs'), true) && !$this->user->authorise('core.admin'))
			{
				continue;
			}
			elseif ($item->element === 'com_joomlaupdate' && !$this->user->authorise('core.admin'))
			{
				continue;
			}
			elseif (($item->link === 'index.php?option=com_installer&view=install' || $item->link === 'index.php?option=com_installer&view=languages')
				&& !$this->user->authorise('core.admin'))
			{
				continue;
			}
			elseif ($item->element === 'com_admin')
			{
				parse_str($item->link, $query);

				if (isset($query['view']) && $query['view'] === 'sysinfo' && !$this->user->authorise('core.admin'))
				{
					continue;
				}
			}

			if ($assetName && !$this->user->authorise(($item->scope === 'edit') ? 'core.create' : 'core.manage', $assetName))
			{
				continue;
			}

			// Exclude if link is invalid
			if (is_null($item->link) || (!in_array($item->type, array('separator', 'heading', 'container')) && trim($item->link) === ''))
			{
				continue;
			}

			// Process any children if exists
			$item->submenu = $this->preprocess($item->submenu);

			// Populate automatic children for container items
			if ($item->type === 'container')
			{
				$exclude    = (array) $item->params->get('hideitems') ?: array();
				$components = MenusHelper::getMenuItems('main', false, $exclude);

				$item->components = MenuHelper::createLevels($components);
				$item->components = $this->preprocess($item->components);
				$item->components = ArrayHelper::sortObjects($item->components, 'text', 1, false, true);
			}

			// Exclude if there are no child items under heading or container
			if (in_array($item->type, array('heading', 'container')) && empty($item->submenu) && empty($item->components))
			{
				continue;
			}

			// Remove repeated and edge positioned separators, It is important to put this check at the end of any logical filtering.
			if ($item->type === 'separator')
			{
				if ($noSeparator)
				{
					continue;
				}

				$noSeparator = true;
			}
			else
			{
				$noSeparator = false;
			}

			// Ok we passed everything, load language at last only
			if ($item->element)
			{
				$language->load($item->element . '.sys', JPATH_ADMINISTRATOR, null, false, true) ||
				$language->load($item->element . '.sys', JPATH_ADMINISTRATOR . '/components/' . $item->element, null, false, true);
			}

			if ($item->type === 'separator' && $item->params->get('text_separator') == 0)
			{
				$item->title = '';
			}

			$item->text = JText::_($item->title);

			$result[$i] = $item;
		}

		// If last one was a separator remove it too.
		if ($noSeparator && isset($i))
		{
			unset($result[$i]);
		}

		return $result;
	}

	/**
	 * Load the menu items from a hierarchical list of items into the menu tree
	 *
	 * @param   stdClass[]  $levels  Menu items as a hierarchical list format
	 *
	 * @return  void
	 *
	 * @since   3.8.0
	 *
	 * @deprecated  4.0
	 */
	protected function populateTree($levels)
	{
		foreach ($levels as $item)
		{
			$class = $this->enabled ? $item->class : 'disabled';

			if ($item->type === 'separator')
			{
				$this->tree->addChild(new Node\Separator($item->title));
			}
			elseif ($item->type === 'heading')
			{
				// We already excluded heading type menu item with no children.
				$this->tree->addChild(new Node\Heading($item->title, $class, null, $item->icon), $this->enabled);

				if ($this->enabled)
				{
					$this->populateTree($item->submenu);
					$this->tree->getParent();
				}
			}
			elseif ($item->type === 'url')
			{
				$cNode = new Node\Url($item->title, $item->link, $item->browserNav, $class, null, $item->icon);
				$this->tree->addChild($cNode, $this->enabled);

				if ($this->enabled)
				{
					$this->populateTree($item->submenu);
					$this->tree->getParent();
				}
			}
			elseif ($item->type === 'component')
			{
				$cNode = new Node\Component($item->title, $item->element, $item->link, $item->browserNav, $class, null, $item->icon);
				$this->tree->addChild($cNode, $this->enabled);

				if ($this->enabled)
				{
					$this->populateTree($item->submenu);
					$this->tree->getParent();
				}
			}
			elseif ($item->type === 'container')
			{
				// We already excluded container type menu item with no children.
				$this->tree->addChild(new Node\Container($item->title, $item->class, null, $item->icon), $this->enabled);

				if ($this->enabled)
				{
					$this->populateTree($item->submenu);

					// Add a separator between dynamic menu items and components menu items
					if (count($item->submenu) && count($item->components))
					{
						$this->tree->addChild(new Node\Separator);
					}

					$this->populateTree($item->components);

					$this->tree->getParent();
				}
			}
		}
	}
}
mod_menu/mod_menu.php000064400000001632152325655310010674 0ustar00<?php
/**
 * @package     Joomla.Administrator
 * @subpackage  mod_menu
 *
 * @copyright   (C) 2006 Open Source Matters, Inc. <https://www.joomla.org>
 * @license     GNU General Public License version 2 or later; see LICENSE.txt
 */

defined('_JEXEC') or die;

use Joomla\Registry\Registry;

// Include the module helper classes.
JLoader::register('MenusHelper', JPATH_ADMINISTRATOR . '/components/com_menus/helpers/menus.php');
JLoader::register('ModMenuHelper', __DIR__ . '/helper.php');
JLoader::register('JAdminCssMenu', __DIR__ . '/menu.php');

/** @var  Registry  $params */
$lang    = JFactory::getLanguage();
$user    = JFactory::getUser();
$input   = JFactory::getApplication()->input;
$enabled = !$input->getBool('hidemainmenu');

$menu = new JAdminCssMenu($user);
$menu->load($params, $enabled);

// Render the module layout
require JModuleHelper::getLayoutPath('mod_menu', $params->get('layout', 'default'));
mod_menu/mod_menu.xml000064400000006143152325655310010707 0ustar00<?xml version="1.0" encoding="utf-8"?>
<extension type="module" version="3.1" client="administrator" method="upgrade">
	<name>mod_menu</name>
	<author>Joomla! Project</author>
	<creationDate>March 2006</creationDate>
	<copyright>(C) 2006 Open Source Matters, Inc.</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>preset</folder>
		<folder>tmpl</folder>
		<filename>helper.php</filename>
		<filename>menu.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_ADMIN_MENU" />
	<config>
		<fields name="params">
			<fieldset name="basic">
				<field
					name="menutype"
					type="menu"
					label="MOD_MENU_FIELD_MENUTYPE_LABEL"
					description="MOD_MENU_FIELD_MENUTYPE_DESC"
					clientid="1"
					>
					<option value="*">MOD_MENU_FIELD_MENUTYPE_OPTION_PREDEFINED</option>
				</field>

				<field
					name="preset"
					type="menuPreset"
					label="MOD_MENU_FIELD_PRESET_LABEL"
					description="MOD_MENU_FIELD_PRESET_DESC"
					addfieldpath="administrator/components/com_menus/models/fields"
					showon="menutype:*"
				/>

				<field
					name="check"
					type="radio"
					label="MOD_MENU_FIELD_CHECK_LABEL"
					description="MOD_MENU_FIELD_CHECK_DESC"
					class="btn-group btn-group-yesno"
					default="1"
					filter="integer"
					showon="menutype!:*"
					>
					<option value="1">JYES</option>
					<option value="0">JNO</option>
				</field>

				<field
					name="shownew"
					type="radio"
					label="MOD_MENU_FIELD_SHOWNEW"
					description="MOD_MENU_FIELD_SHOWNEW_DESC"
					class="btn-group btn-group-yesno"
					default="1"
					filter="integer"
					showon="menutype:*"
					>
					<option value="0">JHIDE</option>
					<option value="1">JSHOW</option>
				</field>

				<field
					name="showhelp"
					type="radio"
					label="MOD_MENU_FIELD_SHOWHELP"
					description="MOD_MENU_FIELD_SHOWHELP_DESC"
					class="btn-group btn-group-yesno"
					default="1"
					filter="integer"
					showon="menutype:*"
					>
					<option value="0">JHIDE</option>
					<option value="1">JSHOW</option>
				</field>

				<field
					name="forum_url"
					type="url"
					label="MOD_MENU_FIELD_FORUMURL_LABEL"
					description="MOD_MENU_FIELD_FORUMURL_DESC"
					filter="url"
					size="30"
					default=""
					showon="menutype:*"
					validate="url"
				/>
			</fieldset>

			<fieldset name="advanced">
				<field
					name="layout"
					type="modulelayout"
					label="JFIELD_ALT_LAYOUT_LABEL"
					description="JFIELD_ALT_MODULE_LAYOUT_DESC"
					validate="moduleLayout"
				/>

				<field
					name="moduleclass_sfx"
					type="textarea"
					label="COM_MODULES_FIELD_MODULECLASS_SFX_LABEL"
					description="COM_MODULES_FIELD_MODULECLASS_SFX_DESC"
					rows="3"
				/>
			</fieldset>
		</fields>
	</config>
</extension>
mod_multilangstatus/language/en-GB/en-GB.mod_multilangstatus.ini000064400000000532152325655310021014 0ustar00; Joomla! Project
; (C) 2011 Open Source Matters, Inc. <https://www.joomla.org>
; License GNU General Public License version 2 or later; see LICENSE.txt
; Note : All ini files need to be saved as UTF-8

MOD_MULTILANGSTATUS="Multilanguage Status"
MOD_MULTILANGSTATUS_XML_DESCRIPTION="This module shows the status of the multilanguage parameters."
mod_multilangstatus/language/en-GB/en-GB.mod_multilangstatus.sys.ini000064400000000532152325655310021631 0ustar00; Joomla! Project
; (C) 2011 Open Source Matters, Inc. <https://www.joomla.org>
; License GNU General Public License version 2 or later; see LICENSE.txt
; Note : All ini files need to be saved as UTF-8

MOD_MULTILANGSTATUS="Multilanguage Status"
MOD_MULTILANGSTATUS_XML_DESCRIPTION="This module shows the status of the multilanguage parameters."
mod_multilangstatus/language/en-GB/index.html000064400000000037152325655310015322 0ustar00<!DOCTYPE html><title></title>
mod_multilangstatus/language/index.html000064400000000037152325655310014432 0ustar00<!DOCTYPE html><title></title>
mod_multilangstatus/tmpl/default.php000064400000002641152325655310013766 0ustar00<?php
/**
 * @package     Joomla.Administrator
 * @subpackage  mod_multilangstatus
 *
 * @copyright   (C) 2011 Open Source Matters, Inc. <https://www.joomla.org>
 * @license     GNU General Public License version 2 or later; see LICENSE.txt
 */

defined('_JEXEC') or die;

// Include jQuery
JHtml::_('jquery.framework');

// Use javascript to remove the modal added below from the current div and add it to the end of html body tag.
JFactory::getDocument()->addScriptDeclaration("
	jQuery(document).ready(function($) {
		var multilangueModal = $('#multiLangModal').clone();
		$('#multiLangModal').remove();
		$('body').append(multilangueModal);
	});
");
?>

<div class="btn-group multilanguage">
	<a data-toggle="modal"
		href="#multiLangModal"
		title="<?php echo JText::_('MOD_MULTILANGSTATUS'); ?>"
		role="button">
		<span class="icon-comment" aria-hidden="true"></span><?php echo JText::_('MOD_MULTILANGSTATUS'); ?>
	</a>
	<span class="btn-group separator"></span>
</div>

<?php echo JHtml::_(
	'bootstrap.renderModal',
	'multiLangModal',
	array(
		'title'       => JText::_('MOD_MULTILANGSTATUS'),
		'url'         => JRoute::_('index.php?option=com_languages&view=multilangstatus&tmpl=component'),
		'height'      => '400px',
		'width'       => '800px',
		'bodyHeight'  => '70',
		'modalWidth'  => '80',
		'footer'      => '<button type="button" class="btn" data-dismiss="modal">'
				. JText::_('JTOOLBAR_CLOSE') . '</button>',
	)
);
mod_multilangstatus/tmpl/index.html000064400000000037152325655310013623 0ustar00<!DOCTYPE html><title></title>
mod_multilangstatus/index.html000064400000000037152325655310012647 0ustar00<!DOCTYPE html><title></title>
mod_multilangstatus/mod_multilangstatus.php000064400000000561152325655310015464 0ustar00<?php
/**
 * @package     Joomla.Administrator
 * @subpackage  mod_multilangstatus
 *
 * @copyright   (C) 2011 Open Source Matters, Inc. <https://www.joomla.org>
 * @license     GNU General Public License version 2 or later; see LICENSE.txt
 */

defined('_JEXEC') or die;

require JModuleHelper::getLayoutPath('mod_multilangstatus', $params->get('layout', 'default'));
mod_multilangstatus/mod_multilangstatus.xml000064400000002644152325655310015501 0ustar00<?xml version="1.0" encoding="utf-8"?>
<extension type="module" version="3.1" client="administrator" method="upgrade">
	<name>mod_multilangstatus</name>
	<author>Joomla! Project</author>
	<creationDate>September 2011</creationDate>
	<copyright>(C) 2011 Open Source Matters, Inc.</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_MULTILANGSTATUS_XML_DESCRIPTION</description>

	<files>
		<filename module="mod_multilangstatus">mod_multilangstatus.php</filename>
		<folder>tmpl</folder>
		<folder>language</folder>
	</files>

	<languages>
		<language tag="en-GB">language/en-GB/en-GB.mod_multilangstatus.ini</language>
		<language tag="en-GB">language/en-GB/en-GB.mod_multilangstatus.sys.ini</language>
	</languages>

	<help key="JHELP_EXTENSIONS_MODULE_MANAGER_ADMIN_MULTILANG" />

	<config>

		<fields name="params">

			<fieldset name="advanced">

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

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

			</fieldset>
		</fields>
	</config>
</extension>
mod_online/tmpl/default.php000064400000000730152325655310012007 0ustar00<?php
/**
 * @version		$Id: default.php 21097 2011-04-07 15:38:03Z dextercowley $
 * @package		Joomla.Administrator
 * @subpackage	mod_whosonline
 * @copyright	Copyright (C) 2005 - 2011 Open Source Matters, Inc. All rights reserved.
 * @license		GNU General Public License version 2 or later; see LICENSE.txt
 */

// no direct access
defined('_JEXEC') or die;
?>
<?php echo $count; ?> <img src="images/users.png" alt="<?php echo JText::_('MOD_ONLINE_USERS_ONLINE');?>" />
mod_online/tmpl/index.html000064400000000035152325655310011645 0ustar00<html>
<body>
</body>
</html>mod_online/helper.php000064400000002002152325655310010660 0ustar00<?php
/**
 * @version		$Id: helper.php 21097 2011-04-07 15:38:03Z dextercowley $
 * @copyright	Copyright (C) 2005 - 2011 Open Source Matters, Inc. All rights reserved.
 * @license		GNU General Public License version 2 or later; see LICENSE.txt
 */

// No direct access.
defined('_JEXEC') or die;

/**
 * @package		Joomla.Administrator
 * @subpackage	mod_online
 * @since		1.6
 */
abstract class modOnlineHelper
{
	/**
	 * Count the number of users online.
	 *
	 * @return	mixed	The number of users online, or false on error.
	 */
	public static function getOnlineCount()
	{
		$db			= JFactory::getDbo();
		$session	= JFactory::getSession();
		$sessionId	= $session->getId();

		$query	= $db->getQuery(true);
		$query->select('COUNT(a.session_id)');
		$query->from('#__session AS a');
		$query->where('a.session_id <> '.$db->Quote($sessionId));
		$db->setQuery($query);
		$result = (int) $db->loadResult();
		if ($error = $db->getErrorMsg()) {
			JError::raiseWarning(500, $error);
			return false;
		}

		return $result;
	}
}
mod_online/index.html000064400000000035152325655310010671 0ustar00<html>
<body>
</body>
</html>mod_online/mod_online.php000064400000001154152325655310011533 0ustar00<?php
/**
 * @version		$Id: mod_online.php 20196 2011-01-09 02:40:25Z ian $
 * @package		Joomla.Administrator
 * @copyright	Copyright (C) 2005 - 2011 Open Source Matters, Inc. All rights reserved.
 * @license		GNU General Public License version 2 or later; see LICENSE.txt
 */

// no direct access
defined('_JEXEC') or die;

// Include the mod_online functions only once.
require_once dirname(__FILE__).'/helper.php';

// Get layout data.
$count = modOnlineHelper::getOnlineCount();

if ($count !== false) {
	// Render the module.
	require JModuleHelper::getLayoutPath('mod_online', $params->get('layout', 'default'));
}mod_online/mod_online.xml000064400000003166152325655310011551 0ustar00<?xml version="1.0" encoding="utf-8"?>
<extension
	type="module"
	version="1.6.0"
	client="administrator">
	<name>mod_online</name>
	<author>Joomla! Project</author>
	<creationDate>Jan 2006</creationDate>
	<copyright>Copyright (C) 2005 - 2011 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>1.6.0</version>
	<description>MOD_ONLINE_XML_DESCRIPTION</description>
	<files>
		<filename module="mod_online">mod_online.php</filename>
		<filename>helper.php</filename>
		<filename>index.html</filename>
		<folder>tmpl</folder>
	</files>
	<languages>
		<language tag="en-GB">en-GB.mod_online.ini</language>
		<language tag="en-GB">en-GB.mod_online.sys.ini</language>	
	</languages>
	<help key="JHELP_EXTENSIONS_MODULE_MANAGER_ADMIN_ONLINE" />
	<config>
		<fields name="params">
			<fields name="advanced">
				<fieldset name="basic">
					<field
						name="layout"
						type="modulelayout"
						label="JFIELD_ALT_LAYOUT_LABEL"
						description="JFIELD_ALT_MODULE_LAYOUT_DESC" />

					<field
						name="moduleclass_sfx"
						type="text"
						label="COM_MODULES_FIELD_MODULECLASS_SFX_LABEL"
						description="COM_MODULES_FIELD_MODULECLASS_SFX_DESC" />

					<field
						name="cache"
						type="list"
						default="0"
						label="COM_MODULES_FIELD_CACHING_LABEL"
						description="COM_MODULES_FIELD_CACHING_DESC">
						<option
							value="0">COM_MODULES_FIELD_VALUE_NOCACHING</option>
					</field>
				</fieldset>
			</fields>
		</fields>
	</config>
</extension>
mod_popular/tmpl/default.php000064400000003611152325655310012206 0ustar00<?php
/**
 * @package     Joomla.Administrator
 * @subpackage  mod_popular
 *
 * @copyright   (C) 2010 Open Source Matters, Inc. <https://www.joomla.org>
 * @license     GNU General Public License version 2 or later; see LICENSE.txt
 */

defined('_JEXEC') or die;

JHtml::_('bootstrap.tooltip');
?>
<div class="row-striped">
	<?php if (count($list)) : ?>
		<?php foreach ($list as $i => $item) : ?>
			<?php // Calculate popular items ?>
			<?php $hits = (int) $item->hits; ?>
			<?php $hits_class = ($hits >= 10000 ? 'important' : ($hits >= 1000 ? 'warning' : ($hits >= 100 ? 'info' : ''))); ?>
			<div class="row-fluid">
				<div class="span8 truncate">
					<span class="badge badge-<?php echo $hits_class; ?> hasTooltip" title="<?php echo JHtml::_('tooltipText', 'JGLOBAL_HITS'); ?>"><?php echo $item->hits; ?></span>
					<?php if ($item->checked_out) : ?>
							<?php echo JHtml::_('jgrid.checkedout', $i, $item->editor, $item->checked_out_time); ?>
					<?php endif; ?>

					<strong class="row-title" title="<?php echo htmlspecialchars($item->title, ENT_QUOTES, 'UTF-8'); ?>">
						<?php if ($item->link) : ?>
							<a href="<?php echo $item->link; ?>">
								<?php echo htmlspecialchars($item->title, ENT_QUOTES, 'UTF-8'); ?></a>
						<?php else : ?>
							<?php echo htmlspecialchars($item->title, ENT_QUOTES, 'UTF-8'); ?>
						<?php endif; ?>
					</strong>
				</div>
				<div class="span4">
					<div class="small pull-right hasTooltip" title="<?php echo JHtml::_('tooltipText', 'JGLOBAL_FIELD_CREATED_LABEL'); ?>">
						<span class="icon-calendar" aria-hidden="true"></span> <?php echo JHtml::_('date', $item->created, JText::_('DATE_FORMAT_LC5')); ?>
					</div>
				</div>
			</div>
		<?php endforeach; ?>
	<?php else : ?>
		<div class="row-fluid">
			<div class="span12">
				<div class="alert"><?php echo JText::_('MOD_POPULAR_NO_MATCHING_RESULTS'); ?></div>
			</div>
		</div>
	<?php endif; ?>
</div>
mod_popular/tmpl/index.html000064400000000037152325655310012045 0ustar00<!DOCTYPE html><title></title>
mod_popular/helper.php000064400000005415152325655310011071 0ustar00<?php
/**
 * @package     Joomla.Administrator
 * @subpackage  mod_popular
 *
 * @copyright   (C) 2010 Open Source Matters, Inc. <https://www.joomla.org>
 * @license     GNU General Public License version 2 or later; see LICENSE.txt
 */

defined('_JEXEC') or die;

JModelLegacy::addIncludePath(JPATH_ADMINISTRATOR . '/components/com_content/models', 'ContentModel');

/**
 * Helper for mod_popular
 *
 * @since  1.6
 */
abstract class ModPopularHelper
{
	/**
	 * Get a list of the most popular articles
	 *
	 * @param   JObject  &$params  The module parameters.
	 *
	 * @return  array
	 */
	public static function getList(&$params)
	{
		$user = JFactory::getuser();

		// Get an instance of the generic articles model
		$model = JModelLegacy::getInstance('Articles', 'ContentModel', array('ignore_request' => true));

		// Set List SELECT
		$model->setState('list.select', 'a.id, a.title, a.checked_out, a.checked_out_time, ' .
				' a.created, a.hits');

		// Set Ordering filter
		$model->setState('list.ordering', 'a.hits');
		$model->setState('list.direction', 'DESC');

		// Set Category Filter
		$categoryId = $params->get('catid', null);

		if (is_numeric($categoryId))
		{
			$model->setState('filter.category_id', $categoryId);
		}

		// Set User Filter.
		$userId = $user->get('id');

		switch ($params->get('user_id', '0'))
		{
			case 'by_me':
				$model->setState('filter.author_id', $userId);
				break;

			case 'not_me':
				$model->setState('filter.author_id', $userId);
				$model->setState('filter.author_id.include', false);
				break;
		}

		// Set the Start and Limit
		$model->setState('list.start', 0);
		$model->setState('list.limit', $params->get('count', 5));

		$items = $model->getItems();

		if ($error = $model->getError())
		{
			JError::raiseError(500, $error);

			return false;
		}

		// Set the links
		foreach ($items as &$item)
		{
			if ($user->authorise('core.edit', 'com_content.article.' . $item->id))
			{
				$item->link = JRoute::_('index.php?option=com_content&task=article.edit&id=' . $item->id);
			}
			else
			{
				$item->link = '';
			}
		}

		return $items;
	}

	/**
	 * Get the alternate title for the module
	 *
	 * @param   JObject  $params  The module parameters.
	 *
	 * @return  string	The alternate title for the module.
	 */
	public static function getTitle($params)
	{
		$who   = $params->get('user_id', '0');
		$catid = (int) $params->get('catid', null);

		if ($catid)
		{
			$category = JCategories::getInstance('Content')->get($catid);

			if ($category)
			{
				$title = $category->title;
			}
			else
			{
				$title = JText::_('MOD_POPULAR_UNEXISTING');
			}
		}
		else
		{
			$title = '';
		}

		return JText::plural(
			'MOD_POPULAR_TITLE' . ($catid ? '_CATEGORY' : '') . ($who != '0' ? "_$who" : ''),
			(int) $params->get('count', 5),
			$title
		);
	}
}
mod_popular/index.html000064400000000037152325655310011071 0ustar00<!DOCTYPE html><title></title>
mod_popular/mod_popular.php000064400000001214152325655310012124 0ustar00<?php
/**
 * @package     Joomla.Administrator
 * @subpackage  mod_popular
 *
 * @copyright   (C) 2005 Open Source Matters, Inc. <https://www.joomla.org>
 * @license     GNU General Public License version 2 or later; see LICENSE.txt
 */

defined('_JEXEC') or die;

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

// Get module data.
$list = ModPopularHelper::getList($params);

if ($params->get('automatic_title', 0))
{
	$module->title = ModPopularHelper::getTitle($params);
}

// Render the module
require JModuleHelper::getLayoutPath('mod_popular', $params->get('layout', 'default'));
mod_popular/mod_popular.xml000064400000005076152325655310012147 0ustar00<?xml version="1.0" encoding="utf-8"?>
<extension type="module" version="3.1" client="administrator" method="upgrade">
	<name>mod_popular</name>
	<author>Joomla! Project</author>
	<creationDate>July 2004</creationDate>
	<copyright>(C) 2005 Open Source Matters, Inc.</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_POPULAR_XML_DESCRIPTION</description>
	<files>
		<filename module="mod_popular">mod_popular.php</filename>
		<folder>tmpl</folder>
		<filename>helper.php</filename>
	</files>
	<languages>
		<language tag="en-GB">en-GB.mod_popular.ini</language>
		<language tag="en-GB">en-GB.mod_popular.sys.ini</language>
	</languages>
	<help key="JHELP_EXTENSIONS_MODULE_MANAGER_ADMIN_POPULAR" />
	<config>
		<fields name="params">
			<fieldset name="basic">
				<field
					name="count"
					type="number"
					label="MOD_POPULAR_FIELD_COUNT_LABEL"
					description="MOD_POPULAR_FIELD_COUNT_DESC"
					default="5"
					filter="integer"
				/>

				<field
					name="catid"
					type="category"
					label="JCATEGORY"
					description="MOD_POPULAR_FIELD_CATEGORY_DESC"
					id="catid"
					extension="com_content"
					default=""
					filter="integer"
					>
					<option value="">JOPTION_ANY_CATEGORY</option>
				</field>

				<field
					name="user_id"
					type="list"
					label="MOD_POPULAR_FIELD_AUTHORS_LABEL"
					description="MOD_POPULAR_FIELD_AUTHORS_DESC"
					default="0"
					>
					<option value="0">MOD_POPULAR_FIELD_VALUE_ANYONE</option>
					<option value="by_me">MOD_POPULAR_FIELD_VALUE_ADDED_OR_MODIFIED_BY_ME</option>
					<option value="not_me">MOD_POPULAR_FIELD_VALUE_NOT_ADDED_OR_MODIFIED_BY_ME</option>
				</field>
			</fieldset>

			<fieldset name="advanced">
				<field
					name="layout"
					type="modulelayout"
					label="JFIELD_ALT_LAYOUT_LABEL"
					description="JFIELD_ALT_MODULE_LAYOUT_DESC"
					validate="moduleLayout"
				/>

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

				<field
					name="automatic_title"
					type="radio"
					label="COM_MODULES_FIELD_AUTOMATIC_TITLE_LABEL"
					description="COM_MODULES_FIELD_AUTOMATIC_TITLE_DESC"
					class="btn-group btn-group-yesno"
					default="0"
					filter="integer"
					>
					<option value="1">JYES</option>
					<option value="0">JNO</option>
				</field>
			</fieldset>
		</fields>
	</config>
</extension>
mod_privacy_dashboard/tmpl/default.php000064400000004142152325655310014210 0ustar00<?php
/**
 * @package     Joomla.Administrator
 * @subpackage  mod_privacy_dashboard
 *
 * @copyright   (C) 2018 Open Source Matters, Inc. <https://www.joomla.org>
 * @license     GNU General Public License version 2 or later; see LICENSE.txt
 */

defined('_JEXEC') or die;

JHtml::_('bootstrap.tooltip');

$totalRequests  = 0;
$activeRequests = 0;

?>
<div class="row-striped">
	<?php if (count($list)) : ?>
		<div class="row-fluid">
			<div class="span5"><strong><?php echo JText::_('COM_PRIVACY_DASHBOARD_HEADING_REQUEST_TYPE'); ?></strong></div>
			<div class="span5"><strong><?php echo JText::_('COM_PRIVACY_DASHBOARD_HEADING_REQUEST_STATUS'); ?></strong></div>
			<div class="span2"><strong><?php echo JText::_('COM_PRIVACY_DASHBOARD_HEADING_REQUEST_COUNT'); ?></strong></div>
		</div>
		<?php foreach ($list as $row) : ?>
			<div class="row-fluid">
				<div class="span5">
					<a class="hasTooltip" href="<?php echo JRoute::_('index.php?option=com_privacy&view=requests&filter[request_type]=' . $row->request_type . '&filter[status]=' . $row->status); ?>" data-original-title="<?php echo JText::_('COM_PRIVACY_DASHBOARD_VIEW_REQUESTS'); ?>">
						<strong><?php echo JText::_('COM_PRIVACY_HEADING_REQUEST_TYPE_TYPE_' . $row->request_type); ?></strong>
					</a>
				</div>
				<div class="span5"><?php echo JHtml::_('PrivacyHtml.helper.statusLabel', $row->status); ?></div>
				<div class="span2"><span class="badge badge-info"><?php echo $row->count; ?></span></div>
			</div>
			<?php if (in_array($row->status, array(0, 1))) : ?>
				<?php $activeRequests += $row->count; ?>
			<?php endif; ?>
			<?php $totalRequests += $row->count; ?>
		<?php endforeach; ?>
		<div class="row-fluid">
			<div class="span5"><?php echo JText::plural('COM_PRIVACY_DASHBOARD_BADGE_TOTAL_REQUESTS', $totalRequests); ?></div>
			<div class="span7"><?php echo JText::plural('COM_PRIVACY_DASHBOARD_BADGE_ACTIVE_REQUESTS', $activeRequests); ?></div>
		</div>
	<?php else : ?>
		<div class="row-fluid">
			<div class="span12">
				<div class="alert"><?php echo JText::_('COM_PRIVACY_DASHBOARD_NO_REQUESTS'); ?></div>
			</div>
		</div>
	<?php endif; ?>
</div>
mod_privacy_dashboard/helper.php000064400000001630152325655310013066 0ustar00<?php
/**
 * @package     Joomla.Administrator
 * @subpackage  mod_privacy_dashboard
 *
 * @copyright   (C) 2018 Open Source Matters, Inc. <https://www.joomla.org>
 * @license     GNU General Public License version 2 or later; see LICENSE.txt
 */

defined('_JEXEC') or die;

/**
 * Helper class for admin privacy dashboard module
 *
 * @since  3.9.0
 */
class ModPrivacyDashboardHelper
{
	/**
	 * Method to retrieve information about the site privacy requests
	 *
	 * @return  array  Array containing site privacy requests
	 *
	 * @since   3.9.0
	 */
	public static function getData()
	{
		JModelLegacy::addIncludePath(JPATH_ADMINISTRATOR . '/components/com_privacy/models', 'PrivacyModel');

		/** @var PrivacyModelDashboard $model */
		$model = JModelLegacy::getInstance('Dashboard', 'PrivacyModel');

		try
		{
			return $model->getRequestCounts();
		}
		catch (JDatabaseException $e)
		{
			return array();
		}
	}
}
mod_privacy_dashboard/mod_privacy_dashboard.php000064400000002013152325655310016126 0ustar00<?php
/**
 * @package     Joomla.Administrator
 * @subpackage  mod_privacy_dashboard
 *
 * @copyright   (C) 2018 Open Source Matters, Inc. <https://www.joomla.org>
 * @license     GNU General Public License version 2 or later; see LICENSE.txt
 */

defined('_JEXEC') or die;

// Only super user can view this data
if (!JFactory::getUser()->authorise('core.admin'))
{
	return;
}

// Load the privacy component language file.
$lang = JFactory::getLanguage();
$lang->load('com_privacy', JPATH_ADMINISTRATOR, null, false, true)
	|| $lang->load('com_privacy', JPATH_ADMINISTRATOR . '/components/com_privacy', null, false, true);

JHtml::addIncludePath(JPATH_ADMINISTRATOR . '/components/com_privacy/helpers/html');

JLoader::register('ModPrivacyDashboardHelper', __DIR__ . '/helper.php');

$list            = ModPrivacyDashboardHelper::getData();
$moduleclass_sfx = htmlspecialchars($params->get('moduleclass_sfx', ''), ENT_COMPAT, 'UTF-8');

require JModuleHelper::getLayoutPath('mod_privacy_dashboard', $params->get('layout', 'default'));
mod_privacy_dashboard/mod_privacy_dashboard.xml000064400000004114152325655310016143 0ustar00<?xml version="1.0" encoding="utf-8"?>
<extension type="module" version="3.9" client="administrator" method="upgrade">
	<name>mod_privacy_dashboard</name>
	<author>Joomla! Project</author>
	<creationDate>June 2018</creationDate>
	<copyright>(C) 2018 Open Source Matters, Inc.</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.9.0</version>
	<description>MOD_PRIVACY_DASHBOARD_XML_DESCRIPTION</description>
	<files>
		<filename module="mod_privacy_dashboard">mod_privacy_dashboard.php</filename>
		<folder>tmpl</folder>
		<filename>helper.php</filename>
	</files>
	<languages>
		<language tag="en-GB">en-GB.mod_privacy_dashboard.ini</language>
		<language tag="en-GB">en-GB.mod_privacy_dashboard.sys.ini</language>
	</languages>
	<help key="JHELP_EXTENSIONS_MODULE_MANAGER_ADMIN_PRIVACY_DASHBOARD" />
	<config>
		<fields name="params">
			<fieldset name="basic">
			</fieldset>
			<fieldset name="advanced">
				<field
					name="layout"
					type="modulelayout"
					label="JFIELD_ALT_LAYOUT_LABEL"
					description="JFIELD_ALT_MODULE_LAYOUT_DESC"
					validate="moduleLayout"
				/>

				<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="static"
					>
					<option value="static"></option>
				</field>
			</fieldset>
		</fields>
	</config>
</extension>
mod_quickicon/tmpl/default.php000064400000000723152325655310012512 0ustar00<?php
/**
 * @package     Joomla.Administrator
 * @subpackage  mod_quickicon
 *
 * @copyright   (C) 2009 Open Source Matters, Inc. <https://www.joomla.org>
 * @license     GNU General Public License version 2 or later; see LICENSE.txt
 */

defined('_JEXEC') or die;

$html = JHtml::_('links.linksgroups', ModQuickIconHelper::groupButtons($buttons));
?>
<?php if (!empty($html)) : ?>
	<div class="sidebar-nav quick-icons">
		<?php echo $html;?>
	</div>
<?php endif;?>
mod_quickicon/tmpl/index.html000064400000000037152325655310012350 0ustar00<!DOCTYPE html><title></title>
mod_quickicon/helper.php000064400000014376152325655310011402 0ustar00<?php
/**
 * @package     Joomla.Administrator
 * @subpackage  mod_quickicon
 *
 * @copyright   (C) 2009 Open Source Matters, Inc. <https://www.joomla.org>
 * @license     GNU General Public License version 2 or later; see LICENSE.txt
 */

defined('_JEXEC') or die;

/**
 * Helper for mod_quickicon
 *
 * @since  1.6
 */
abstract class ModQuickIconHelper
{
	/**
	 * Stack to hold buttons
	 *
	 * @since   1.6
	 */
	protected static $buttons = array();

	/**
	 * Helper method to return button list.
	 *
	 * This method returns the array by reference so it can be
	 * used to add custom buttons or remove default ones.
	 *
	 * @param   JObject  $params  The module parameters.
	 *
	 * @return  array  An array of buttons
	 *
	 * @since   1.6
	 */
	public static function &getButtons($params)
	{
		$key = (string) $params;

		if (!isset(self::$buttons[$key]))
		{
			$context = $params->get('context', 'mod_quickicon');

			if ($context == 'mod_quickicon')
			{
				// Load mod_quickicon language file in case this method is called before rendering the module
				JFactory::getLanguage()->load('mod_quickicon');

				self::$buttons[$key] = array(
					array(
						'link'   => JRoute::_('index.php?option=com_content&task=article.add'),
						'image'  => 'pencil-2',
						'icon'   => 'header/icon-48-article-add.png',
						'text'   => JText::_('MOD_QUICKICON_ADD_NEW_ARTICLE'),
						'access' => array('core.manage', 'com_content', 'core.create', 'com_content'),
						'group'  => 'MOD_QUICKICON_CONTENT',
					),
					array(
						'link'   => JRoute::_('index.php?option=com_content'),
						'image'  => 'stack',
						'icon'   => 'header/icon-48-article.png',
						'text'   => JText::_('MOD_QUICKICON_ARTICLE_MANAGER'),
						'access' => array('core.manage', 'com_content'),
						'group'  => 'MOD_QUICKICON_CONTENT',
					),
					array(
						'link'   => JRoute::_('index.php?option=com_categories&extension=com_content'),
						'image'  => 'folder',
						'icon'   => 'header/icon-48-category.png',
						'text'   => JText::_('MOD_QUICKICON_CATEGORY_MANAGER'),
						'access' => array('core.manage', 'com_content'),
						'group'  => 'MOD_QUICKICON_CONTENT',
					),
					array(
						'link'   => JRoute::_('index.php?option=com_media'),
						'image'  => 'pictures',
						'icon'   => 'header/icon-48-media.png',
						'text'   => JText::_('MOD_QUICKICON_MEDIA_MANAGER'),
						'access' => array('core.manage', 'com_media'),
						'group'  => 'MOD_QUICKICON_CONTENT',
					),
					array(
						'link'   => JRoute::_('index.php?option=com_menus'),
						'image'  => 'list-view',
						'icon'   => 'header/icon-48-menumgr.png',
						'text'   => JText::_('MOD_QUICKICON_MENU_MANAGER'),
						'access' => array('core.manage', 'com_menus'),
						'group'  => 'MOD_QUICKICON_STRUCTURE',
					),
					array(
						'link'   => JRoute::_('index.php?option=com_users'),
						'image'  => 'users',
						'icon'   => 'header/icon-48-user.png',
						'text'   => JText::_('MOD_QUICKICON_USER_MANAGER'),
						'access' => array('core.manage', 'com_users'),
						'group'  => 'MOD_QUICKICON_USERS',
					),
					array(
						'link'   => JRoute::_('index.php?option=com_modules'),
						'image'  => 'cube',
						'icon'   => 'header/icon-48-module.png',
						'text'   => JText::_('MOD_QUICKICON_MODULE_MANAGER'),
						'access' => array('core.manage', 'com_modules'),
						'group'  => 'MOD_QUICKICON_STRUCTURE',
					),
					array(
						'link'   => JRoute::_('index.php?option=com_config'),
						'image'  => 'cog',
						'icon'   => 'header/icon-48-config.png',
						'text'   => JText::_('MOD_QUICKICON_GLOBAL_CONFIGURATION'),
						'access' => array('core.manage', 'com_config', 'core.admin', 'com_config'),
						'group'  => 'MOD_QUICKICON_CONFIGURATION',
					),
					array(
						'link'   => JRoute::_('index.php?option=com_templates'),
						'image'  => 'eye',
						'icon'   => 'header/icon-48-themes.png',
						'text'   => JText::_('MOD_QUICKICON_TEMPLATE_MANAGER'),
						'access' => array('core.manage', 'com_templates'),
						'group'  => 'MOD_QUICKICON_CONFIGURATION',
					),
					array(
						'link'   => JRoute::_('index.php?option=com_languages'),
						'image'  => 'comments-2',
						'icon'   => 'header/icon-48-language.png',
						'text'   => JText::_('MOD_QUICKICON_LANGUAGE_MANAGER'),
						'access' => array('core.manage', 'com_languages'),
						'group'  => 'MOD_QUICKICON_CONFIGURATION',
					),
					array(
						'link'   => JRoute::_('index.php?option=com_installer'),
						'image'  => 'download',
						'icon'   => 'header/icon-48-extension.png',
						'text'   => JText::_('MOD_QUICKICON_INSTALL_EXTENSIONS'),
						'access' => array('core.manage', 'com_installer'),
						'group'  => 'MOD_QUICKICON_EXTENSIONS',
					),
				);
			}
			else
			{
				self::$buttons[$key] = array();
			}

			// Include buttons defined by published quickicon plugins
			JPluginHelper::importPlugin('quickicon');
			$app = JFactory::getApplication();
			$arrays = (array) $app->triggerEvent('onGetIcons', array($context));

			foreach ($arrays as $response)
			{
				foreach ($response as $icon)
				{
					$default = array(
						'link'   => null,
						'image'  => 'cog',
						'text'   => null,
						'access' => true,
						'group'  => 'MOD_QUICKICON_EXTENSIONS',
					);
					$icon = array_merge($default, $icon);

					if (!is_null($icon['link']) && !is_null($icon['text']))
					{
						self::$buttons[$key][] = $icon;
					}
				}
			}
		}

		return self::$buttons[$key];
	}

	/**
	 * Classifies the $buttons by group
	 *
	 * @param   array  $buttons  The buttons
	 *
	 * @return  array  The buttons sorted by groups
	 *
	 * @since   3.2
	 */
	public static function groupButtons($buttons)
	{
		$groupedButtons = array();

		foreach ($buttons as $button)
		{
			$groupedButtons[$button['group']][] = $button;
		}

		return $groupedButtons;
	}

	/**
	 * Get the alternate title for the module
	 *
	 * @param   JObject  $params  The module parameters.
	 * @param   JObject  $module  The module.
	 *
	 * @return  string	The alternate title for the module.
	 *
	 * @deprecated  4.0 Unused. Title can be adjusted in module itself if needed.
	 */
	public static function getTitle($params, $module)
	{
		$key = $params->get('context', 'mod_quickicon') . '_title';

		if (JFactory::getLanguage()->hasKey($key))
		{
			return JText::_($key);
		}
		else
		{
			return $module->title;
		}
	}
}
mod_quickicon/index.html000064400000000037152325655310011374 0ustar00<!DOCTYPE html><title></title>
mod_quickicon/mod_quickicon.php000064400000000735152325655310012741 0ustar00<?php
/**
 * @package     Joomla.Administrator
 * @subpackage  mod_quickicon
 *
 * @copyright   (C) 2005 Open Source Matters, Inc. <https://www.joomla.org>
 * @license     GNU General Public License version 2 or later; see LICENSE.txt
 */

defined('_JEXEC') or die;

JLoader::register('ModQuickIconHelper', __DIR__ . '/helper.php');

$buttons = ModQuickIconHelper::getButtons($params);

require JModuleHelper::getLayoutPath('mod_quickicon', $params->get('layout', 'default'));
mod_quickicon/mod_quickicon.xml000064400000004071152325655310012747 0ustar00<?xml version="1.0" encoding="utf-8"?>
<extension type="module" version="3.1" client="administrator" method="upgrade">
	<name>mod_quickicon</name>
	<author>Joomla! Project</author>
	<creationDate>November 2005</creationDate>
	<copyright>(C) 2005 Open Source Matters, Inc.</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_QUICKICON_XML_DESCRIPTION</description>
	<files>
		<filename module="mod_quickicon">mod_quickicon.php</filename>
		<folder>tmpl</folder>
		<filename>helper.php</filename>
	</files>
	<languages>
		<language tag="en-GB">en-GB.mod_quickicon.ini</language>
		<language tag="en-GB">en-GB.mod_quickicon.sys.ini</language>
	</languages>
	<help key="JHELP_EXTENSIONS_MODULE_MANAGER_ADMIN_QUICKICON" />
	<config>
		<fields name="params">
			<fieldset name="basic">
				<field
					name="context"
					type="text"
					label="MOD_QUICKICON_GROUP_LABEL"
					description="MOD_QUICKICON_GROUP_DESC"
					default="mod_quickicon"
				/>
			</fieldset>
			<fieldset name="advanced">
				<field
					name="layout"
					type="modulelayout"
					label="JFIELD_ALT_LAYOUT_LABEL"
					description="JFIELD_ALT_MODULE_LAYOUT_DESC"
					validate="moduleLayout"
				/>

				<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"
				/>
			</fieldset>
		</fields>
	</config>
</extension>
mod_rsfirewall/tmpl/default.php000064400000006730152325655310012703 0ustar00<?php
/*
 * @package 	RSFirewall!
 * @copyright 	(c) 2009 - 2024 RSJoomla!
 * @link 		https://www.rsjoomla.com/joomla-extensions/joomla-security.html
 * @license 	GNU General Public License https://www.gnu.org/licenses/gpl-3.0.en.html
 */

\defined('_JEXEC') or die;

use Joomla\CMS\Language\Text;
use Joomla\CMS\Router\Route;
use Joomla\CMS\HTML\HTMLHelper;

Text::script('MOD_RSFIREWALL_YOU_ARE_RUNNING_LATEST_VERSION');
Text::script('MOD_RSFIREWALL_UPDATE_IS_AVAILABLE_RSFIREWALL');
?>
<div id="mod_rsfirewall_container">
    <?php
    if ($showGrade)
	{
        ?>
        <div class="mod_rsfirewall_line">
            <strong><i class="icon-shield"></i> <?php echo Text::_('MOD_RSFIREWALL_GRADE'); ?></strong>
            <span <?php if ($grade > 0) { ?>style="color: <?php echo $color; ?>;"<?php } ?>><?php echo $grade > 0 ? Text::sprintf('MOD_RSFIREWALL_YOUR_GRADE_IS', $grade) : Text::_('MOD_RSFIREWALL_GRADE_NOT_RUN'); ?></span>
        </div>
        <?php
	}
	if ($showVersions)
	{
        ?>
        <div class="mod_rsfirewall_line">
            <strong><i class="icon-shield"></i> RSFirewall!</strong>
            <span id="mod-rsfirewall-firewall-version">
                <span class="com-rsfirewall-icon-16-loading"></span>
            </span>
        </div>
        <div class="mod_rsfirewall_line">
            <strong><i class="icon-joomla"></i> Joomla!</strong>
            <span id="mod-rsfirewall-joomla-version">
                <span class="com-rsfirewall-icon-16-loading"></span>
            </span>
        </div>
        <?php
	}
    if ($showMap)
	{
		?>
        <div class="mod_rsfirewall_line"><?php echo Text::_('MOD_RSFIREWALL_ATTACKS_BLOCKED_REGION_BASED'); ?></div>
        <div id="com-rsfirewall-virtual-map"></div>
	    <?php
	}
    if ($showLogs && $logs)
    {
        ?>
	    <div class="mod_rsfirewall_line"><?php echo Text::sprintf('MOD_RSFIREWALL_LAST_MESSAGES_FROM_SYSTEM_LOG', $logNum, Route::_('index.php?option=com_rsfirewall&view=logs')); ?></div>
        <table class="adminlist table table-striped">
        <thead>
            <tr>
                <th nowrap="nowrap"><?php echo Text::_('MOD_RSFIREWALL_ALERT_LEVEL'); ?></th>
                <th nowrap="nowrap"><?php echo Text::_('MOD_RSFIREWALL_DATE_EVENT'); ?></th>
                <th nowrap="nowrap"><?php echo Text::_('MOD_RSFIREWALL_IP_ADDRESS'); ?></th>
                <th nowrap="nowrap"><?php echo Text::_('MOD_RSFIREWALL_PAGE'); ?></th>
                <th nowrap="nowrap"><?php echo Text::_('MOD_RSFIREWALL_ALERT_DESCRIPTION'); ?></th>
            </tr>
        </thead>
        <?php
        foreach ($logs as $i => $log)
        {
            ?>
            <tr class="row<?php echo $i % 2; ?>">
                <td class="com-rsfirewall-level-<?php echo $log->level; ?>"><?php echo Text::_('MOD_RSFIREWALL_LEVEL_'.$log->level); ?></td>
                <td><?php echo HTMLHelper::_('date', $log->date, 'Y-m-d H:i:s'); ?></td>
                <td><?php echo HTMLHelper::_('image', 'com_rsfirewall/flags/' . $geoip->getCountryFlag($log->ip), $geoip->getCountryCode($log->ip), array(), true); ?> <?php echo $geoip->show($log->ip); ?></td>
                <td class="mod-rsfirewall-break-word"><?php echo htmlentities($log->page, ENT_COMPAT, 'utf-8'); ?></td>
                <td><?php echo Text::_('COM_RSFIREWALL_EVENT_'.$log->code); ?></td>
            </tr>
            <?php
        }
        ?>
        </table>
	    <?php
    }
    ?>
</div>mod_rsfirewall/tmpl/index.html000064400000000054152325655310012534 0ustar00<html><body bgcolor="#FFFFFF"></body></html>mod_rsfirewall/index.html000064400000000054152325655310011560 0ustar00<html><body bgcolor="#FFFFFF"></body></html>mod_rsfirewall/mod_rsfirewall.php000064400000006461152325655310013315 0ustar00<?php
/*
 * @package 	RSFirewall!
 * @copyright 	(c) 2009 - 2024 RSJoomla!
 * @link 		https://www.rsjoomla.com/joomla-extensions/joomla-security.html
 * @license 	GNU General Public License https://www.gnu.org/licenses/gpl-3.0.en.html
 */

\defined('_JEXEC') or die;

use Joomla\CMS\Factory;
use Joomla\CMS\MVC\Model\BaseDatabaseModel;
use Joomla\CMS\HTML\HTMLHelper;
use Joomla\CMS\Helper\ModuleHelper;

// logged in user
$user = Factory::getUser();

if (!file_exists(JPATH_ADMINISTRATOR.'/components/com_rsfirewall/helpers/config.php'))
{
	return false;
}

require_once JPATH_ADMINISTRATOR.'/components/com_rsfirewall/helpers/config.php';

try
{
	$config = RSFirewallConfig::getInstance();
}
catch (Exception $e)
{
	Factory::getApplication()->enqueueMessage($e->getMessage(), 'error');
	return false;
}

BaseDatabaseModel::addIncludePath(JPATH_ADMINISTRATOR.'/components/com_rsfirewall/models');

if (version_compare(JVERSION, '4.0', '<'))
{
	$model = BaseDatabaseModel::getInstance('RSFirewall', 'RsfirewallModel', array(
		'option' => 'com_rsfirewall',
		'table_path' => JPATH_ADMINISTRATOR.'/components/com_rsfirewall/tables'
	));
}
else
{
	$model = Factory::getApplication()->bootComponent('com_rsfirewall')->getMVCFactory()->createModel('Rsfirewall', 'RsfirewallModel', array('ignore_request' => true));
}

if ($model && $user->authorise('core.admin', 'com_rsfirewall')) {
	// load the frontend language
	// this language file contains some event log translations
	Factory::getLanguage()->load('com_rsfirewall', JPATH_SITE);

    HTMLHelper::_('stylesheet', 'mod_rsfirewall/style.css', array('relative' => true, 'version' => 'auto'));

	// Load jQuery
    HTMLHelper::_('jquery.framework');

    HTMLHelper::_('script', 'com_rsfirewall/rsfirewall.js', array('relative' => true, 'version' => 'auto'));
    HTMLHelper::_('script', 'mod_rsfirewall/rsfirewall.js', array('relative' => true, 'version' => 'auto'));

	$logs = array();
	$showMap = false;
	if ($user->authorise('logs.view', 'com_rsfirewall'))
	{
		$logs 	= $model->getLastLogs();
		$logNum = $model->getLogOverviewNum();
		$showMap = $model->getCountryBlocking() && $model->getGeoIPStatus();
	}

	if (!$params->get('show_map', 1))
	{
		$showMap = false;
	}

	if ($showMap)
	{
		HTMLHelper::_('stylesheet', 'com_rsfirewall/jqvmap.css', array('relative' => true, 'version' => 'auto'));

		HTMLHelper::_('script', 'com_rsfirewall/jquery.vmap.min.js', array('relative' => true, 'version' => 'auto'));
		HTMLHelper::_('script', 'com_rsfirewall/jquery.vmap.world.js', array('relative' => true, 'version' => 'auto'));
		HTMLHelper::_('script', 'com_rsfirewall/vmap.js', array('relative' => true, 'version' => 'auto'));
	}

	$showGrade 		= $params->get('show_grade', 1);
	$showVersions 	= $params->get('show_version_check', 1);
	$showLogs 		= $params->get('show_logs', 1);

	$grade = $config->get('grade');
	if (!$grade) {
		$color = '#000';
	}
	elseif ($grade <= 75) {
		$color = '#ED7A53';
	} elseif ($grade <= 90) {
		$color = '#88BBC8';
	} elseif ($grade <= 100) {
		$color = '#9FC569';
	}
	
	// Load GeoIP helper class
	require_once JPATH_ADMINISTRATOR.'/components/com_rsfirewall/helpers/geoip/geoip.php';
	$geoip = RSFirewallGeoIP::getInstance();
	
	require ModuleHelper::getLayoutPath('mod_rsfirewall');
}mod_rsfirewall/mod_rsfirewall.xml000064400000005000152325655310013312 0ustar00<?xml version="1.0" encoding="utf-8"?>
<extension type="module" client="administrator" version="2.5.0" position="cpanel" method="upgrade">
	<name>RSFirewall! Control Panel Module</name>
	<creationDate>October 2012</creationDate>
	<author>RSJoomla!</author>
	<copyright>(c) 2009 - 2024 RSJoomla!</copyright>
	<license>https://www.gnu.org/licenses/gpl-3.0.html GNU/GPL</license>
	<authorEmail>support@rsjoomla.com</authorEmail>
	<authorUrl>https://www.rsjoomla.com</authorUrl>
	<version>1.4.0</version>
	<description>MOD_RSFIREWALL_DESC</description>

	<updateservers>
        <server type="extension" priority="1" name="RSFirewall! Control Panel Module">https://www.rsjoomla.com/updates/com_rsfirewall/Other/mod_rsfirewall.xml</server>
    </updateservers>

	<config>
		<fields name="params" addfieldpath="/administrator/components/com_rsform/models/fields">
			<fieldset name="basic">
				<field name="show_grade" type="radio" default="1" label="MOD_RSFIREWALL_SHOW_GRADE" description="MOD_RSFIREWALL_SHOW_GRADE_DESC" class="btn-group btn-group-yesno">
					<option value="0">JNO</option>
					<option value="1">JYES</option>
				</field>
				<field name="show_version_check" type="radio" default="1" label="MOD_RSFIREWALL_SHOW_VERSION_CHECK" description="MOD_RSFIREWALL_SHOW_VERSION_CHECK_DESC" class="btn-group btn-group-yesno">
					<option value="0">JNO</option>
					<option value="1">JYES</option>
				</field>
				<field name="show_map" type="radio" default="1" label="MOD_RSFIREWALL_SHOW_MAP" description="MOD_RSFIREWALL_SHOW_MAP_DESC" class="btn-group btn-group-yesno">
					<option value="0">JNO</option>
					<option value="1">JYES</option>
				</field>
				<field name="show_logs" type="radio" default="1" label="MOD_RSFIREWALL_SHOW_LOGS" description="MOD_RSFIREWALL_SHOW_LOGS_DESC" class="btn-group btn-group-yesno">
					<option value="0">JNO</option>
					<option value="1">JYES</option>
				</field>
			</fieldset>
		</fields>
	</config>

	<media destination="mod_rsfirewall" folder="media">
		<folder>css</folder>
		<folder>images</folder>
		<folder>js</folder>
		<filename>index.html</filename>
	</media>

	<languages folder="language">
		<language tag="en-GB">en-GB/en-GB.mod_rsfirewall.sys.ini</language>
		<language tag="en-GB">en-GB/en-GB.mod_rsfirewall.ini</language>
	</languages>
	<files>
		<folder>tmpl</folder>
		<filename module="mod_rsfirewall">mod_rsfirewall.php</filename>
		<filename>mod_rsfirewall.xml</filename>
		<filename>index.html</filename>
	</files>
</extension>
mod_sampledata/tmpl/default.php000064400000003747152325655310012651 0ustar00<?php
/**
 * @package     Joomla.Administrator
 * @subpackage  mod_sampledata
 *
 * @copyright   (C) 2017 Open Source Matters, Inc. <https://www.joomla.org>
 * @license     GNU General Public License version 2 or later; see LICENSE.txt
 */

defined('_JEXEC') or die;

use Joomla\CMS\Session\Session;

JHtml::_('jquery.framework');
JHtml::_('bootstrap.tooltip');
JHtml::_('script', 'mod_sampledata/sampledata-process.js', false, true);

JText::script('MOD_SAMPLEDATA_CONFIRM_START');
JText::script('MOD_SAMPLEDATA_ITEM_ALREADY_PROCESSED');
JText::script('MOD_SAMPLEDATA_INVALID_RESPONSE');

JFactory::getDocument()->addScriptDeclaration('
	var modSampledataUrl = "index.php?option=com_ajax&format=json&group=sampledata&' . Session::getFormToken() . '=1",
		modSampledataIconProgress = "' . JUri::root(true) . '/media/jui/images/ajax-loader.gif";
');
?>
<div class="sampledata-container">
	<?php if ($items) : ?>
		<div class="row-striped">
			<?php foreach($items as $i => $item) : ?>
				<div class="row-fluid sampledata-<?php echo $item->name; ?>">
					<div class="span4">
						<a href="#" onclick="sampledataApply(this)" data-type="<?php echo $item->name; ?>" data-steps="<?php echo $item->steps; ?>">
							<strong class="row-title">
								<span class="icon-<?php echo $item->icon; ?>" aria-hidden="true"> </span>
								<?php echo htmlspecialchars($item->title, ENT_QUOTES, 'UTF-8'); ?>
							</strong>
						</a>
					</div>
					<div class="span6">
						<small>
							<?php echo $item->description; ?>
						</small>
					</div>
				</div>
				<!-- Progress bar -->
				<div class="row-fluid sampledata-progress-<?php echo $item->name; ?> hide">
					<progress class="span12"></progress>
				</div>
				<!-- Progress messages -->
				<div class="row-fluid sampledata-progress-<?php echo $item->name; ?> hide">
					<ul class="unstyled"></ul>
				</div>
			<?php endforeach; ?>
		</div>
	<?php else : ?>
		<div class="alert"><?php echo JText::_('JGLOBAL_NO_MATCHING_RESULTS');?></div>
	<?php endif; ?>
</div>
mod_sampledata/helper.php000064400000001325152325655310011516 0ustar00<?php
/**
 * @package     Joomla.Administrator
 * @subpackage  mod_sampledata
 *
 * @copyright   (C) 2017 Open Source Matters, Inc. <https://www.joomla.org>
 * @license     GNU General Public License version 2 or later; see LICENSE.txt
 */

defined('_JEXEC') or die;

/**
 * Helper for mod_sampledata
 *
 * @since  3.8.0
 */
abstract class ModSampledataHelper
{
	/**
	 * Get a list of sampledata.
	 *
	 * @return  mixed  An array of sampledata, or false on error.
	 *
	 * @since  3.8.0
	 */
	public static function getList()
	{
		JPluginHelper::importPlugin('sampledata');
		$dispatcher = JEventDispatcher::getInstance();
		$data = $dispatcher->trigger('onSampledataGetOverview', array('test', 'foo'));

		return $data;
	}
}
mod_sampledata/mod_sampledata.php000064400000001052152325655310013206 0ustar00<?php
/**
 * @package     Joomla.Administrator
 * @subpackage  mod_sampledata
 *
 * @copyright   (C) 2017 Open Source Matters, Inc. <https://www.joomla.org>
 * @license     GNU General Public License version 2 or later; see LICENSE.txt
 */

defined('_JEXEC') or die;

// Include dependencies.
JLoader::register('ModSampledataHelper', __DIR__ . '/helper.php');

$items = ModSampledataHelper::getList();

// Filter out empty entries
$items = array_filter($items);

require JModuleHelper::getLayoutPath('mod_sampledata', $params->get('layout', 'default'));
mod_sampledata/mod_sampledata.xml000064400000002362152325655310013224 0ustar00<?xml version="1.0" encoding="utf-8"?>
<extension type="module" version="3.8" client="administrator" method="upgrade">
	<name>mod_sampledata</name>
	<author>Joomla! Project</author>
	<creationDate>July 2017</creationDate>
	<copyright>(C) 2017 Open Source Matters, Inc.</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.8.0</version>
	<description>MOD_SAMPLEDATA_XML_DESCRIPTION</description>
	<files>
		<filename module="mod_sampledata">mod_sampledata.php</filename>
		<filename>helper.php</filename>
		<folder>tmpl</folder>
	</files>
	<media destination="mod_sampledata" folder="media">
		<folder>js</folder>
	</media>
	<languages>
		<language tag="en-GB">en-GB.mod_sampledata.ini</language>
		<language tag="en-GB">en-GB.mod_sampledata.sys.ini</language>
	</languages>
	<help key="JHELP_EXTENSIONS_MODULE_MANAGER_ADMIN_LATEST" />
	<config>
		<fields name="params">
			<fieldset name="advanced">
				<field
					name="layout"
					type="modulelayout"
					label="JFIELD_ALT_LAYOUT_LABEL"
					description="JFIELD_ALT_MODULE_LAYOUT_DESC"
					validate="moduleLayout"
				/>
			</fieldset>
		</fields>
	</config>
</extension>
mod_stats_admin/language/en-GB.mod_stats_admin.ini000064400000002160152325655310016237 0ustar00; Joomla! Project
; (C) 2012 Open Source Matters, Inc. <https://www.joomla.org>
; License GNU General Public License version 2 or later; see LICENSE.txt
; Note : All ini files need to be saved as UTF-8

MOD_STATS_ADMIN="Statistics"
MOD_STATS_ARTICLES="Articles"
MOD_STATS_ARTICLES_VIEW_HITS="Articles View Hits"
MOD_STATS_CACHING="Caching"
MOD_STATS_FIELD_COUNTER_DESC="Display hit counter."
MOD_STATS_FIELD_COUNTER_LABEL="Hit Counter"
MOD_STATS_FIELD_INCREASECOUNTER_DESC="Enter the number of hits to increase the counter by."
MOD_STATS_FIELD_INCREASECOUNTER_LABEL="Increase Counter"
MOD_STATS_FIELD_SERVERINFO_DESC="Display server information."
MOD_STATS_FIELD_SERVERINFO_LABEL="Server Information"
MOD_STATS_FIELD_SITEINFO_DESC="Display site information."
MOD_STATS_FIELD_SITEINFO_LABEL="Site Information"
MOD_STATS_GZIP="Gzip"
MOD_STATS_OS="OS"
MOD_STATS_PHP="PHP"
MOD_STATS_TIME="Time"
MOD_STATS_USERS="Users"
MOD_STATS_WEBLINKS="Web Links"
MOD_STATS_XML_DESCRIPTION="The Statistics Module shows information about your server installation together with statistics on the website users and the number of Articles in your database."
mod_stats_admin/language/en-GB.mod_stats_admin.sys.ini000064400000000712152325655310017055 0ustar00; Joomla! Project
; (C) 2012 Open Source Matters, Inc. <https://www.joomla.org>
; License GNU General Public License version 2 or later; see LICENSE.txt
; Note : All ini files need to be saved as UTF-8

MOD_STATS_ADMIN="Statistics"
MOD_STATS_XML_DESCRIPTION="The Statistics Module shows information about your server installation together with statistics on the website users and the number of Articles in your database."
MOD_STATS_LAYOUT_DEFAULT="Default"

mod_stats_admin/language/index.html000064400000000037152325655310013500 0ustar00<!DOCTYPE html><title></title>
mod_stats_admin/tmpl/default.php000064400000002617152325655310013037 0ustar00<?php
/**
 * @package     Joomla.Administrator
 * @subpackage  mod_stats_admin
 *
 * @copyright   (C) 2012 Open Source Matters, Inc. <https://www.joomla.org>
 * @license     GNU General Public License version 2 or later; see LICENSE.txt
 */

defined('_JEXEC') or die;

JHtml::_('jquery.framework');
JFactory::getDocument()->addScriptDeclaration('
	jQuery(document).ready(function($) {
		$("a.js-revert").on("click", function(e) {
			e.preventDefault();
			e.stopPropagation();

			var activeTab = [];
			activeTab.push("#" + e.target.href.split("#")[1]);
			var path = window.location.pathname;
			localStorage.removeItem(e.target.href.replace(/&return=[a-zA-Z0-9%]+/, "").replace(/&[a-zA-Z-_]+=[0-9]+/, ""));
			localStorage.setItem(path + e.target.href.split("index.php")[1].split("#")[0], JSON.stringify(activeTab));
			return window.location.href = e.target.href.split("#")[0];
		});
	});
');
?>
<div class="row-striped">
	<?php foreach ($list as $item) : ?>
		<div class="row-fluid">
			<div class="span4">
				<span class="icon-<?php echo $item->icon; ?>" aria-hidden="true"></span> <?php echo $item->title; ?>
			</div>
			<div class="span8">
				<?php if (isset($item->link)) : ?>
					<a class="btn btn-info btn-small js-revert" href="<?php echo $item->link; ?>"><?php echo $item->data; ?></a>
				<?php else : ?>
					<?php echo $item->data; ?>
				<?php endif; ?>
			</div>
		</div>
	<?php endforeach; ?>
</div>
mod_stats_admin/tmpl/index.html000064400000000037152325655310012671 0ustar00<!DOCTYPE html><title></title>
mod_stats_admin/helper.php000064400000010412152325655310011706 0ustar00<?php
/**
 * @package     Joomla.Administrator
 * @subpackage  mod_stats_admin
 *
 * @copyright   (C) 2012 Open Source Matters, Inc. <https://www.joomla.org>
 * @license     GNU General Public License version 2 or later; see LICENSE.txt
 */

defined('_JEXEC') or die;

/**
 * Helper class for admin stats module
 *
 * @since  3.0
 */
class ModStatsHelper
{
	/**
	 * Method to retrieve information about the site
	 *
	 * @param   JObject  &$params  Params object
	 *
	 * @return  array  Array containing site information
	 *
	 * @since   3.0
	 */
	public static function getStats(&$params)
	{
		$app   = JFactory::getApplication();
		$db    = JFactory::getDbo();
		$rows  = array();
		$query = $db->getQuery(true);

		$serverinfo = $params->get('serverinfo', 0);
		$siteinfo   = $params->get('siteinfo', 0);
		$counter    = $params->get('counter', 0);
		$increase   = $params->get('increase', 0);

		$i = 0;

		if ($serverinfo)
		{
			$rows[$i]        = new stdClass;
			$rows[$i]->title = JText::_('MOD_STATS_OS');
			$rows[$i]->icon  = 'screen';
			$rows[$i]->data  = substr(php_uname(), 0, 7);
			$i++;

			$rows[$i]        = new stdClass;
			$rows[$i]->title = JText::_('MOD_STATS_PHP');
			$rows[$i]->icon  = 'cogs';
			$rows[$i]->data  = phpversion();
			$i++;

			$rows[$i]        = new stdClass;
			$rows[$i]->title = JText::_($db->name);
			$rows[$i]->icon  = 'database';
			$rows[$i]->data  = $db->getVersion();
			$i++;

			$rows[$i]        = new stdClass;
			$rows[$i]->title = JText::_('MOD_STATS_TIME');
			$rows[$i]->icon  = 'clock';
			$rows[$i]->data  = JHtml::_('date', 'now', 'H:i');
			$i++;

			$rows[$i]        = new stdClass;
			$rows[$i]->title = JText::_('MOD_STATS_CACHING');
			$rows[$i]->icon  = 'dashboard';
			$rows[$i]->data  = $app->get('caching') ? JText::_('JENABLED') : JText::_('JDISABLED');
			$i++;

			$rows[$i]        = new stdClass;
			$rows[$i]->title = JText::_('MOD_STATS_GZIP');
			$rows[$i]->icon  = 'lightning';
			$rows[$i]->data  = $app->get('gzip') ? JText::_('JENABLED') : JText::_('JDISABLED');
			$i++;
		}

		if ($siteinfo)
		{
			$query->select('COUNT(id) AS count_users')
				->from('#__users');
			$db->setQuery($query);

			try
			{
				$users = $db->loadResult();
			}
			catch (RuntimeException $e)
			{
				$users = false;
			}

			$query->clear()
				->select('COUNT(id) AS count_items')
				->from('#__content')
				->where('state = 1');
			$db->setQuery($query);

			try
			{
				$items = $db->loadResult();
			}
			catch (RuntimeException $e)
			{
				$items = false;
			}

			if ($users)
			{
				$rows[$i]        = new stdClass;
				$rows[$i]->title = JText::_('MOD_STATS_USERS');
				$rows[$i]->icon  = 'users';
				$rows[$i]->data  = $users;
				$rows[$i]->link  = JRoute::_('index.php?option=com_users');
				$i++;
			}

			if ($items)
			{
				$rows[$i]        = new stdClass;
				$rows[$i]->title = JText::_('MOD_STATS_ARTICLES');
				$rows[$i]->icon  = 'file';
				$rows[$i]->data  = $items;
				$rows[$i]->link  = JRoute::_('index.php?option=com_content&view=articles&filter[published]=1');
				$i++;
			}
		}

		if ($counter)
		{
			$query->clear()
				->select('SUM(hits) AS count_hits')
				->from('#__content')
				->where('state = 1');
			$db->setQuery($query);

			try
			{
				$hits = $db->loadResult();
			}
			catch (RuntimeException $e)
			{
				$hits = false;
			}

			if ($hits)
			{
				$rows[$i]        = new stdClass;
				$rows[$i]->title = JText::_('MOD_STATS_ARTICLES_VIEW_HITS');
				$rows[$i]->icon  = 'eye';
				$rows[$i]->data  = number_format($hits + $increase, 0, JText::_('DECIMALS_SEPARATOR'), JText::_('THOUSANDS_SEPARATOR'));
				$i++;
			}
		}

		// Include additional data defined by published system plugins
		JPluginHelper::importPlugin('system');

		$app    = JFactory::getApplication();
		$arrays = (array) $app->triggerEvent('onGetStats', array('mod_stats_admin'));

		foreach ($arrays as $response)
		{
			foreach ($response as $row)
			{
				// We only add a row if the title and data are given
				if (isset($row['title']) && isset($row['data']))
				{
					$rows[$i]        = new stdClass;
					$rows[$i]->title = $row['title'];
					$rows[$i]->icon  = isset($row['icon']) ? $row['icon'] : 'info';
					$rows[$i]->data  = $row['data'];
					$rows[$i]->link  = isset($row['link']) ? $row['link'] : null;
					$i++;
				}
			}
		}

		return $rows;
	}
}
mod_stats_admin/index.html000064400000000037152325655310011715 0ustar00<!DOCTYPE html><title></title>
mod_stats_admin/mod_stats_admin.php000064400000001307152325655310013577 0ustar00<?php
/**
 * @package     Joomla.Administrator
 * @subpackage  mod_stats_admin
 *
 * @copyright   (C) 2012 Open Source Matters, Inc. <https://www.joomla.org>
 * @license     GNU General Public License version 2 or later; see LICENSE.txt
 */

defined('_JEXEC') or die;

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

$serverinfo      = $params->get('serverinfo');
$siteinfo        = $params->get('siteinfo');
$list            = ModStatsHelper::getStats($params);
$moduleclass_sfx = htmlspecialchars($params->get('moduleclass_sfx', ''), ENT_COMPAT, 'UTF-8');

require JModuleHelper::getLayoutPath('mod_stats_admin', $params->get('layout', 'default'));
mod_stats_admin/mod_stats_admin.xml000064400000006245152325655310013616 0ustar00<?xml version="1.0" encoding="utf-8"?>
<extension type="module" version="3.1" client="administrator" method="upgrade">
	<name>mod_stats_admin</name>
	<author>Joomla! Project</author>
	<creationDate>July 2004</creationDate>
	<copyright>(C) 2005 Open Source Matters, Inc.</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_STATS_XML_DESCRIPTION</description>
	<files>
		<filename module="mod_stats_admin">mod_stats_admin.php</filename>
		<folder>tmpl</folder>
		<folder>language</folder>
		<filename>helper.php</filename>
	</files>
	<languages>
		<language tag="en-GB">en-GB.mod_stats.ini</language>
		<language tag="en-GB">en-GB.mod_stats.sys.ini</language>
	</languages>
	<help key="JHELP_EXTENSIONS_MODULE_MANAGER_STATISTICS" />
	<config>
		<fields name="params">
			<fieldset name="basic">
				<field
					name="serverinfo"
					type="radio"
					label="MOD_STATS_FIELD_SERVERINFO_LABEL"
					description="MOD_STATS_FIELD_SERVERINFO_DESC"
					class="btn-group btn-group-yesno"
					default="0"
					filter="integer"
					>
					<option value="1">JYES</option>
					<option value="0">JNO</option>
				</field>

				<field
					name="siteinfo"
					type="radio"
					label="MOD_STATS_FIELD_SITEINFO_LABEL"
					description="MOD_STATS_FIELD_SITEINFO_DESC"
					class="btn-group btn-group-yesno"
					default="0"
					filter="integer"
					>
					<option value="1">JYES</option>
					<option value="0">JNO</option>
				</field>

				<field
					name="counter"
					type="radio"
					label="MOD_STATS_FIELD_COUNTER_LABEL"
					description="MOD_STATS_FIELD_COUNTER_DESC"
					class="btn-group btn-group-yesno"
					default="0"
					filter="integer"
					>
					<option value="1">JYES</option>
					<option value="0">JNO</option>
				</field>

				<field
					name="increase"
					type="number"
					label="MOD_STATS_FIELD_INCREASECOUNTER_LABEL"
					description="MOD_STATS_FIELD_INCREASECOUNTER_DESC"
					default="0"
					filter="integer"
				/>
			</fieldset>
			<fieldset name="advanced">
				<field
					name="layout"
					type="modulelayout"
					label="JFIELD_ALT_LAYOUT_LABEL"
					description="JFIELD_ALT_MODULE_LAYOUT_DESC"
					validate="moduleLayout"
				/>

				<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="static"
					>
					<option value="static"></option>
				</field>
			</fieldset>
		</fields>
	</config>
</extension>
mod_status/tmpl/default.php000064400000006552152325655310012056 0ustar00<?php
/**
 * @package     Joomla.Administrator
 * @subpackage  mod_status
 *
 * @copyright   (C) 2009 Open Source Matters, Inc. <https://www.joomla.org>
 * @license     GNU General Public License version 2 or later; see LICENSE.txt
 */

defined('_JEXEC') or die;

$hideLinks = $input->getBool('hidemainmenu');
$task      = $input->getCmd('task');
$output    = array();

// Print the Preview link to Main site.
if ($params->get('show_viewsite', 1))
{
	// Gets the FrontEnd Main page Uri
	$frontEndUri = JUri::getInstance(JUri::root());
	$frontEndUri->setScheme(((int) JFactory::getApplication()->get('force_ssl', 0) === 2) ? 'https' : 'http');

	$output[] = '<div class="btn-group viewsite">'
		. '<a href="' . $frontEndUri->toString() . '" target="_blank">'
		. '<span class="icon-out-2" aria-hidden="true"></span>' . JText::_('JGLOBAL_VIEW_SITE')
		. '</a>'
		. '<span class="btn-group separator"></span>'
		. '</div>';
}

// Print the link to open a new Administrator window.
if ($params->get('show_viewadmin', 0))
{
	$output[] = '<div class="btn-group viewsite">'
		. '<a href="' . JUri::base() . 'index.php" target="_blank">'
		. '<span class="icon-out-2" aria-hidden="true"></span>' . JText::_('MOD_STATUS_FIELD_LINK_VIEWADMIN_LABEL')
		. '</a>'
		. '<span class="btn-group separator"></span>'
		. '</div>';
}

// Print logged in user count based on the shared session state
if (JFactory::getConfig()->get('shared_session', '0'))
{
	// Print the frontend logged in  users.
	if ($params->get('show_loggedin_users', 1))
	{
		$output[] = '<div class="btn-group loggedin-users">'
			. '<span class="badge">' . $total_users . '</span>'
			. JText::plural('MOD_STATUS_TOTAL_USERS', $total_users)
			. '<span class="btn-group separator"></span>'
			. '</div>';
	}
}
else
{
	// Print the frontend logged in  users.
	if ($params->get('show_loggedin_users', 1))
	{
		$output[] = '<div class="btn-group loggedin-users">'
			. '<span class="badge">' . $online_num . '</span>'
			. JText::plural('MOD_STATUS_USERS', $online_num)
			. '<span class="btn-group separator"></span>'
			. '</div>';
	}

	// Print the backend logged in users.
	if ($params->get('show_loggedin_users_admin', 1))
	{
		$output[] = '<div class="btn-group backloggedin-users">'
			. '<span class="badge">' . $count . '</span>'
			. JText::plural('MOD_STATUS_BACKEND_USERS', $count)
			. '<span class="btn-group separator"></span>'
			. '</div>';
	}
}

//  Print the inbox message.
if ($params->get('show_messages', 1))
{
	$active   = $unread ? ' badge-warning' : '';
	$output[] = '<div class="btn-group ' . $inboxClass . '">'
		. ($hideLinks ? '' : '<a href="' . $inboxLink . '">')
		. '<span class="badge' . $active . '">' . $unread . '</span>'
		. JText::plural('MOD_STATUS_MESSAGES_LABEL', $unread)
		. ($hideLinks ? '' : '</a>')
		. '<span class="btn-group separator"></span>'
		. '</div>';
}

// Print the logout link.
if ($task == 'edit' || $task == 'editA' || $input->getInt('hidemainmenu'))
{
	$logoutLink = '';
}
else
{
	$logoutLink = JRoute::_('index.php?option=com_login&task=logout&' . JSession::getFormToken() . '=1');
}

if ($params->get('show_logout', 1))
{
	$output[] = '<div class="btn-group logout">'
		. ($hideLinks ? '' : '<a href="' . $logoutLink . '">')
		. '<span class="icon-minus-2" aria-hidden="true"></span>' . JText::_('JLOGOUT')
		. ($hideLinks ? '' : '</a>')
		. '</div>';
}

// Output the items.
foreach ($output as $item)
{
	echo $item;
}
mod_status/tmpl/index.html000064400000000037152325655310011706 0ustar00<!DOCTYPE html><title></title>
mod_status/index.html000064400000000037152325655310010732 0ustar00<!DOCTYPE html><title></title>
mod_status/mod_status.php000064400000003700152325655310011630 0ustar00<?php
/**
 * @package     Joomla.Administrator
 * @subpackage  mod_status
 *
 * @copyright   (C) 2006 Open Source Matters, Inc. <https://www.joomla.org>
 * @license     GNU General Public License version 2 or later; see LICENSE.txt
 */

defined('_JEXEC') or die;

$config = JFactory::getConfig();
$user   = JFactory::getUser();
$db     = JFactory::getDbo();
$lang   = JFactory::getLanguage();
$input  = JFactory::getApplication()->input;

// Get the number of unread messages in your inbox.
$query = $db->getQuery(true)
	->select('COUNT(*)')
	->from('#__messages')
	->where('state = 0 AND user_id_to = ' . (int) $user->get('id'));

$db->setQuery($query);
$unread = (int) $db->loadResult();

$count = 0;

// Get the number of backend logged in users if shared sessions is not enabled.
if (!$config->get('shared_session', '0'))
{
	$query->clear()
		->select('COUNT(session_id)')
		->from('#__session')
		->where('guest = 0 AND client_id = 1');

	$db->setQuery($query);
	$count = (int) $db->loadResult();
}

// Set the inbox link.
if ($input->getBool('hidemainmenu'))
{
	$inboxLink = '';
}
else
{
	$inboxLink = JRoute::_('index.php?option=com_messages');
}

// Set the inbox class.
if ($unread)
{
	$inboxClass = 'unread-messages';
}
else
{
	$inboxClass = 'no-unread-messages';
}

$online_num = 0;

// Get the number of frontend logged in users if shared sessions is not enabled.
if (!$config->get('shared_session', '0'))
{
	$query->clear()
		->select('COUNT(session_id)')
		->from('#__session')
		->where('guest = 0 AND client_id = 0');

	$db->setQuery($query);
	$online_num = (int) $db->loadResult();
}

$total_users = 0;

// Get the number of logged in users if shared sessions is enabled.
if ($config->get('shared_session', '0'))
{
	$query->clear()
		->select('COUNT(session_id)')
		->from('#__session')
		->where('guest = 0');

	$db->setQuery($query);
	$total_users = (int) $db->loadResult();
}

require JModuleHelper::getLayoutPath('mod_status', $params->get('layout', 'default'));
mod_status/mod_status.xml000064400000006026152325655310011645 0ustar00<?xml version="1.0" encoding="utf-8"?>
<extension type="module" version="3.1" client="administrator" method="upgrade">
	<name>mod_status</name>
	<author>Joomla! Project</author>
	<creationDate>February 2006</creationDate>
	<copyright>(C) 2006 Open Source Matters, Inc.</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_STATUS_XML_DESCRIPTION</description>
	<files>
		<filename module="mod_status">mod_status.php</filename>
		<folder>tmpl</folder>
	</files>
	<languages>
		<language tag="en-GB">en-GB.mod_status.ini</language>
		<language tag="en-GB">en-GB.mod_status.sys.ini</language>
	</languages>
	<help key="JHELP_EXTENSIONS_MODULE_MANAGER_ADMIN_STATUS" />
	<config>
		<fields name="params">
			<fieldset name="basic">
				<field
					name="show_viewsite"
					type="radio"
					label="MOD_STATUS_FIELD_SHOW_VIEWSITE_LABEL"
					description="MOD_STATUS_FIELD_SHOW_VIEWSITE_DESC"
					class="btn-group btn-group-yesno"
					default="1"
					filter="integer"
					>
					<option value="1">JSHOW</option>
					<option value="0">JHIDE</option>
				</field>

				<field
					name="show_viewadmin"
					type="radio"
					label="MOD_STATUS_FIELD_SHOW_VIEWADMIN_LABEL"
					description="MOD_STATUS_FIELD_SHOW_VIEWADMIN_DESC"
					class="btn-group btn-group-yesno"
					default="0"
					filter="integer"
					>
					<option value="1">JSHOW</option>
					<option value="0">JHIDE</option>
				</field>

				<field
					name="show_loggedin_users"
					type="radio"
					label="MOD_STATUS_FIELD_SHOW_LOGGEDIN_USERS_LABEL"
					description="MOD_STATUS_FIELD_SHOW_LOGGEDIN_USERS_DESC"
					class="btn-group btn-group-yesno"
					default="1"
					filter="integer"
					>
					<option value="1">JSHOW</option>
					<option value="0">JHIDE</option>
				</field>

				<field
					name="show_loggedin_users_admin"
					type="radio"
					label="MOD_STATUS_FIELD_SHOW_LOGGEDIN_USERS_ADMIN_LABEL"
					description="MOD_STATUS_FIELD_SHOW_LOGGEDIN_USERS_ADMIN_DESC"
					class="btn-group btn-group-yesno"
					default="1"
					filter="integer"
					>
					<option value="1">JSHOW</option>
					<option value="0">JHIDE</option>
				</field>

				<field
					name="show_messages"
					type="radio"
					label="MOD_STATUS_FIELD_SHOW_MESSAGES_LABEL"
					description="MOD_STATUS_FIELD_SHOW_MESSAGES_DESC"
					class="btn-group btn-group-yesno"
					default="1"
					filter="integer"
					>
					<option value="1">JSHOW</option>
					<option value="0">JHIDE</option>
				</field>
			</fieldset>

			<fieldset name="advanced">
				<field
					name="layout"
					type="modulelayout"
					label="JFIELD_ALT_LAYOUT_LABEL"
					description="JFIELD_ALT_MODULE_LAYOUT_DESC"
					validate="moduleLayout"
				/>

				<field
					name="moduleclass_sfx"
					type="textarea"
					label="COM_MODULES_FIELD_MODULECLASS_SFX_LABEL"
					description="COM_MODULES_FIELD_MODULECLASS_SFX_DESC"
					rows="3"
				/>
			</fieldset>
		</fields>
	</config>
</extension>
mod_submenu/tmpl/default.php000064400000003432152325655310012203 0ustar00<?php
/**
 * @package     Joomla.Administrator
 * @subpackage  mod_submenu
 *
 * @copyright   (C) 2010 Open Source Matters, Inc. <https://www.joomla.org>
 * @license     GNU General Public License version 2 or later; see LICENSE.txt
 */

defined('_JEXEC') or die;

?>
<div id="sidebar">
	<div class="sidebar-nav">
		<?php if ($displayMenu) : ?>
		<ul id="submenu" class="nav nav-list">
			<?php foreach ($list as $item) : ?>
			<?php if (isset ($item[2]) && $item[2] == 1) : ?>
				<li class="active">
			<?php else : ?>
				<li>
			<?php endif; ?>
			<?php if ($hide) : ?>
				<a class="nolink"><?php echo $item[0]; ?></a>
			<?php else : ?>
				<?php if (strlen($item[1])) : ?>
					<a href="<?php echo JFilterOutput::ampReplace($item[1]); ?>"><?php echo $item[0]; ?></a>
				<?php else : ?>
					<?php echo $item[0]; ?>
				<?php endif; ?>
			<?php endif; ?>
			</li>
			<?php endforeach; ?>
		</ul>
		<?php endif; ?>
		<?php if ($displayMenu && $displayFilters) : ?>
		<hr />
		<?php endif; ?>
		<?php if ($displayFilters) : ?>
		<div class="filter-select hidden-phone">
			<h4 class="page-header"><?php echo JText::_('JSEARCH_FILTER_LABEL'); ?></h4>
			<form action="<?php echo JRoute::_($action); ?>" method="post">
				<?php foreach ($filters as $filter) : ?>
					<label for="<?php echo $filter['name']; ?>" class="element-invisible"><?php echo $filter['label']; ?></label>
					<select name="<?php echo $filter['name']; ?>" id="<?php echo $filter['name']; ?>" class="span12 small" onchange="this.form.submit()">
						<?php if (!$filter['noDefault']) : ?>
							<option value=""><?php echo $filter['label']; ?></option>
						<?php endif; ?>
						<?php echo $filter['options']; ?>
					</select>
					<hr class="hr-condensed" />
				<?php endforeach; ?>
			</form>
		</div>
		<?php endif; ?>
	</div>
</div>
mod_submenu/tmpl/index.html000064400000000037152325655310012041 0ustar00<!DOCTYPE html><title></title>
mod_submenu/index.html000064400000000037152325655310011065 0ustar00<!DOCTYPE html><title></title>
mod_submenu/mod_submenu.php000064400000001217152325655310012117 0ustar00<?php
/**
 * @package     Joomla.Administrator
 * @subpackage  mod_submenu
 *
 * @copyright   (C) 2006 Open Source Matters, Inc. <https://www.joomla.org>
 * @license     GNU General Public License version 2 or later; see LICENSE.txt
 */

defined('_JEXEC') or die;

$list    = JSubMenuHelper::getEntries();
$filters = JSubMenuHelper::getFilters();
$action  = JSubMenuHelper::getAction();

$displayMenu    = count($list);
$displayFilters = count($filters);

$hide = JFactory::getApplication()->input->getBool('hidemainmenu');

if ($displayMenu || $displayFilters)
{
	require JModuleHelper::getLayoutPath('mod_submenu', $params->get('layout', 'default'));
}
mod_submenu/mod_submenu.xml000064400000002457152325655310012137 0ustar00<?xml version="1.0" encoding="utf-8"?>
<extension type="module" version="3.1" client="administrator" method="upgrade">
	<name>mod_submenu</name>
	<author>Joomla! Project</author>
	<creationDate>February 2006</creationDate>
	<copyright>(C) 2006 Open Source Matters, Inc.</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_SUBMENU_XML_DESCRIPTION</description>
	<files>
		<filename module="mod_submenu">mod_submenu.php</filename>
		<folder>tmpl</folder>
	</files>
	<languages>
		<language tag="en-GB">en-GB.mod_submenu.ini</language>
		<language tag="en-GB">en-GB.mod_submenu.sys.ini</language>
	</languages>
	<help key="JHELP_EXTENSIONS_MODULE_MANAGER_ADMIN_SUBMENU" />
	<config>
		<fields name="params">
			<fieldset name="advanced">
				<field
					name="layout"
					type="modulelayout"
					label="JFIELD_ALT_LAYOUT_LABEL"
					description="JFIELD_ALT_MODULE_LAYOUT_DESC"
					validate="moduleLayout"
				/>

				<field
					name="moduleclass_sfx"
					type="textarea"
					label="COM_MODULES_FIELD_MODULECLASS_SFX_LABEL"
					description="COM_MODULES_FIELD_MODULECLASS_SFX_DESC"
					rows="3"
				/>
			</fieldset>
		</fields>
	</config>
</extension>
mod_title/tmpl/default.php000064400000000517152325655310011647 0ustar00<?php
/**
 * @package     Joomla.Administrator
 * @subpackage  mod_title
 *
 * @copyright   (C) 2010 Open Source Matters, Inc. <https://www.joomla.org>
 * @license     GNU General Public License version 2 or later; see LICENSE.txt
 */

defined('_JEXEC') or die;
?>
<?php if (!empty($title)) : ?>
	<?php echo $title; ?>
<?php endif; ?>
mod_title/tmpl/index.html000064400000000037152325655310011504 0ustar00<!DOCTYPE html><title></title>
mod_title/index.html000064400000000037152325655310010530 0ustar00<!DOCTYPE html><title></title>
mod_title/mod_title.php000064400000000760152325655310011227 0ustar00<?php
/**
 * @package     Joomla.Administrator
 * @subpackage  mod_title
 *
 * @copyright   (C) 2006 Open Source Matters, Inc. <https://www.joomla.org>
 * @license     GNU General Public License version 2 or later; see LICENSE.txt
 */

defined('_JEXEC') or die;

// Get the component title div
if (isset(JFactory::getApplication()->JComponentTitle))
{
	$title = JFactory::getApplication()->JComponentTitle;
}

require JModuleHelper::getLayoutPath('mod_title', $params->get('layout', 'default'));
mod_title/mod_title.xml000064400000002441152325655310011236 0ustar00<?xml version="1.0" encoding="utf-8"?>
<extension type="module" version="3.1" client="administrator" method="upgrade">
	<name>mod_title</name>
	<author>Joomla! Project</author>
	<creationDate>November 2005</creationDate>
	<copyright>(C) 2005 Open Source Matters, Inc.</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_TITLE_XML_DESCRIPTION</description>
	<files>
		<filename module="mod_title">mod_title.php</filename>
		<folder>tmpl</folder>
	</files>
	<languages>
		<language tag="en-GB">en-GB.mod_title.ini</language>
		<language tag="en-GB">en-GB.mod_title.sys.ini</language>
	</languages>
	<help key="JHELP_EXTENSIONS_MODULE_MANAGER_ADMIN_TITLE" />
	<config>
		<fields name="params">
			<fieldset name="advanced">
				<field
					name="layout"
					type="modulelayout"
					label="JFIELD_ALT_LAYOUT_LABEL"
					description="JFIELD_ALT_MODULE_LAYOUT_DESC"
					validate="moduleLayout"
				/>

				<field
					name="moduleclass_sfx"
					type="textarea"
					label="COM_MODULES_FIELD_MODULECLASS_SFX_LABEL"
					description="COM_MODULES_FIELD_MODULECLASS_SFX_DESC"
					rows="3"
				/>
			</fieldset>
		</fields>
	</config>
</extension>
mod_toolbar/tmpl/default.php000064400000000455152325655310012171 0ustar00<?php
/**
 * @package     Joomla.Administrator
 * @subpackage  mod_toolbar
 *
 * @copyright   (C) 2010 Open Source Matters, Inc. <https://www.joomla.org>
 * @license     GNU General Public License version 2 or later; see LICENSE.txt
 */

defined('_JEXEC') or die;

// Echo the toolbar.
echo $toolbar;
mod_toolbar/tmpl/index.html000064400000000037152325655310012025 0ustar00<!DOCTYPE html><title></title>
mod_toolbar/index.html000064400000000037152325655310011051 0ustar00<!DOCTYPE html><title></title>
mod_toolbar/mod_toolbar.php000064400000000642152325655310012070 0ustar00<?php
/**
 * @package     Joomla.Administrator
 * @subpackage  mod_toolbar
 *
 * @copyright   (C) 2005 Open Source Matters, Inc. <https://www.joomla.org>
 * @license     GNU General Public License version 2 or later; see LICENSE.txt
 */

defined('_JEXEC') or die;

$toolbar = JToolbar::getInstance('toolbar')->render('toolbar');

require JModuleHelper::getLayoutPath('mod_toolbar', $params->get('layout', 'default'));
mod_toolbar/mod_toolbar.xml000064400000002457152325655310012107 0ustar00<?xml version="1.0" encoding="utf-8"?>
<extension type="module" version="3.1" client="administrator" method="upgrade">
	<name>mod_toolbar</name>
	<author>Joomla! Project</author>
	<creationDate>November 2005</creationDate>
	<copyright>(C) 2005 Open Source Matters, Inc.</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_TOOLBAR_XML_DESCRIPTION</description>
	<files>
		<filename module="mod_toolbar">mod_toolbar.php</filename>
		<folder>tmpl</folder>
	</files>
	<languages>
		<language tag="en-GB">en-GB.mod_toolbar.ini</language>
		<language tag="en-GB">en-GB.mod_toolbar.sys.ini</language>
	</languages>
	<help key="JHELP_EXTENSIONS_MODULE_MANAGER_ADMIN_TOOLBAR" />
	<config>
		<fields name="params">
			<fieldset name="advanced">
				<field
					name="layout"
					type="modulelayout"
					label="JFIELD_ALT_LAYOUT_LABEL"
					description="JFIELD_ALT_MODULE_LAYOUT_DESC"
					validate="moduleLayout"
				/>

				<field
					name="moduleclass_sfx"
					type="textarea"
					label="COM_MODULES_FIELD_MODULECLASS_SFX_LABEL"
					description="COM_MODULES_FIELD_MODULECLASS_SFX_DESC"
					rows="3"
				/>
			</fieldset>
		</fields>
	</config>
</extension>
mod_unread/tmpl/default.php000064400000001375152325655310012007 0ustar00<?php
/**
 * @version		$Id: default.php 20196 2011-01-09 02:40:25Z ian $
 * @package		Joomla.Administrator
 * @subpackage	mod_unread
 * @copyright	Copyright (C) 2005 - 2011 Open Source Matters, Inc. All rights reserved.
 * @license		GNU General Public License version 2 or later; see LICENSE.txt
 */

// No direct access.
defined('_JEXEC') or die;

// Set the inbox class.
$inboxClass = $unread ? 'unread-messages' : 'no-unread-messages';
?>
<?php if (!empty($inboxLink)) : ?>
	<span class="<?php echo $inboxClass;?>"><a href="<?php echo $inboxLink;?>"><?php echo JText::sprintf('MOD_UNREAD_MESSAGES', $unread);?></a></span>
<?php else : ?>
	<span class="<?php echo $inboxClass;?>"><?php echo JText::sprintf('MOD_UNREAD_MESSAGES', $unread);?></span>
<?php endif; ?>mod_unread/tmpl/index.html000064400000000035152325655310011637 0ustar00<html>
<body>
</body>
</html>mod_unread/helper.php000064400000002041152325655310010655 0ustar00<?php
/**
 * @version		$Id: helper.php 21097 2011-04-07 15:38:03Z dextercowley $
 * @copyright	Copyright (C) 2005 - 2011 Open Source Matters, Inc. All rights reserved.
 * @license		GNU General Public License version 2 or later; see LICENSE.txt
 */

// No direct access.
defined('_JEXEC') or die;

/**
 * @package		Joomla.Administrator
 * @subpackage	mod_unread
 * @since		1.6
 */
abstract class ModUnreadHelper
{
	/**
	 * Count the number of unread messages.
	 *
	 * @return	mixed	The number of unread messages, or false on error.
	 */
	public static function getCount()
	{
		// Initialise variables.
		$db		= JFactory::getDbo();
		$user	= JFactory::getUser();

		// Get the number of unread messages in your inbox.
		$query	= $db->getQuery(true);
		$query->select('COUNT(*)');
		$query->from('#__messages');
		$query->where('state = 0 AND user_id_to = '.(int) $user->get('id'));

		$result = (int) $db->setQuery($query)->loadResult();

		if ($error = $db->getErrorMsg()) {
			JError::raiseWarning(500, $error);
			return false;
		}

		return $result;
	}
}
mod_unread/index.html000064400000000035152325655310010663 0ustar00<html>
<body>
</body>
</html>mod_unread/mod_unread.php000064400000001277152325655310011525 0ustar00<?php
/**
 * @version		$Id: mod_unread.php 20196 2011-01-09 02:40:25Z ian $
 * @package		Joomla.Administrator
 * @subpackage	mod_unread
 * @copyright	Copyright (C) 2005 - 2011 Open Source Matters, Inc. All rights reserved.
 * @license		GNU General Public License version 2 or later; see LICENSE.txt
 */

// no direct access
defined('_JEXEC') or die;

// Include dependancies.
require_once dirname(__FILE__).'/helper.php';

$unread = ModUnreadHelper::getCount();

if ($unread !== false) {
	// Set the inbox link.
	$inboxLink = JRequest::getInt('hidemainmenu') ? null : JRoute::_('index.php?option=com_messages');

	require JModuleHelper::getLayoutPath('mod_unread', $params->get('layout', 'default'));
}
mod_unread/mod_unread.xml000064400000003073152325655310011532 0ustar00<?xml version="1.0" encoding="utf-8"?>
<extension
	type="module"
	version="1.6.0"
	client="administrator">
	<name>mod_unread</name>
	<author>Joomla! Project</author>
	<creationDate>Nov 2005</creationDate>
	<copyright>Copyright (C) 2005 - 2011 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>1.6.0</version>
	<description>MOD_UNREAD_XML_DESCRIPTION</description>
	<files>
		<filename module="mod_unread">mod_unread.php</filename>
		<filename>helper.php</filename>
		<filename>index.html</filename>
		<folder>tmpl</folder>
	</files>
	<languages>
		<language tag="en-GB">en-GB.mod_unread.ini</language>
		<language tag="en-GB">en-GB.mod_unread.sys.ini</language>	
	</languages>
	<help key="JHELP_EXTENSIONS_MODULE_MANAGER_ADMIN_UNREAD" />
	<config>
		<fields name="params">
			<fieldset name="advanced">
				<field
					name="layout"
					type="modulelayout"
					label="JFIELD_ALT_LAYOUT_LABEL"
					description="JFIELD_ALT_MODULE_LAYOUT_DESC" />

				<field
					name="moduleclass_sfx"
					type="text"
					label="COM_MODULES_FIELD_MODULECLASS_SFX_LABEL"
					description="COM_MODULES_FIELD_MODULECLASS_SFX_DESC" />

				<field
					name="cache"
					type="list"
					default="0"
					label="COM_MODULES_FIELD_CACHING_LABEL"
					description="COM_MODULES_FIELD_CACHING_DESC">
					<option
						value="0">COM_MODULES_FIELD_VALUE_NOCACHING</option>
				</field>
			</fieldset>
		</fields>
	</config>
</extension>
mod_version/language/en-GB/en-GB.mod_version.ini000064400000001140152325655310015462 0ustar00; Joomla! Project
; (C) 2012 Open Source Matters, Inc. <https://www.joomla.org>
; License GNU General Public License version 2 or later; see LICENSE.txt
; Note : All ini files need to be saved as UTF-8

MOD_VERSION="Joomla! Version Information"
MOD_VERSION_FORMAT_DESC="The long version includes code name and date."
MOD_VERSION_FORMAT_LABEL="Version Format"
MOD_VERSION_FORMAT_LONG="Long"
MOD_VERSION_FORMAT_SHORT="Short"
MOD_VERSION_PRODUCT_DESC="Include Joomla! name when using short format."
MOD_VERSION_PRODUCT_LABEL="Show Joomla!"
MOD_VERSION_XML_DESCRIPTION="This module displays the Joomla! version."mod_version/language/en-GB/en-GB.mod_version.sys.ini000064400000000542152325655310016304 0ustar00; Joomla! Project
; (C) 2012 Open Source Matters, Inc. <https://www.joomla.org>
; License GNU General Public License version 2 or later; see LICENSE.txt
; Note : All ini files need to be saved as UTF-8

MOD_VERSION="Joomla! Version Information"
MOD_VERSION_LAYOUT_DEFAULT="Default"
MOD_VERSION_XML_DESCRIPTION="This module displays the Joomla! version."
mod_version/language/en-GB/index.html000064400000000037152325655310013547 0ustar00<!DOCTYPE html><title></title>
mod_version/language/index.html000064400000000037152325655310012657 0ustar00<!DOCTYPE html><title></title>
mod_version/tmpl/default.php000064400000000560152325655310012211 0ustar00<?php
/**
 * @package     Joomla.Administrator
 * @subpackage  mod_version
 *
 * @copyright   (C) 2012 Open Source Matters, Inc. <https://www.joomla.org>
 * @license     GNU General Public License version 2 or later; see LICENSE.txt
 */

defined('_JEXEC') or die;
?>
<?php if (!empty($version)) : ?>
	<p class="text-center"><?php echo $version; ?></p>
<?php endif; ?>
mod_version/tmpl/index.html000064400000000037152325655310012050 0ustar00<!DOCTYPE html><title></title>
mod_version/helper.php000064400000001770152325655310011074 0ustar00<?php
/**
 * @package     Joomla.Administrator
 * @subpackage  mod_version
 *
 * @copyright   (C) 2012 Open Source Matters, Inc. <https://www.joomla.org>
 * @license     GNU General Public License version 2 or later; see LICENSE.txt
 */

defined('_JEXEC') or die;

/**
 * Helper for mod_version
 *
 * @since  1.6
 */
abstract class ModVersionHelper
{
	/**
	 * Get the member items of the submenu.
	 *
	 * @param   \Joomla\Registry\Registry  &$params  The parameters object.
	 *
	 * @return  string  String containing the current Joomla version based on the selected format.
	 */
	public static function getVersion(&$params)
	{
		$version     = new JVersion;
		$versionText = $version->getShortVersion();
		$product     = $params->get('product', 1);

		if ($params->get('format', 'short') === 'long')
		{
			$versionText = str_replace($version::PRODUCT . ' ', '', $version->getLongVersion());
		}

		if (!empty($product))
		{
			$versionText = $version::PRODUCT . ' ' . $versionText;
		}

		return $versionText;
	}
}
mod_version/index.html000064400000000037152325655310011074 0ustar00<!DOCTYPE html><title></title>
mod_version/mod_version.php000064400000000725152325655310012140 0ustar00<?php
/**
 * @package     Joomla.Administrator
 * @subpackage  mod_version
 *
 * @copyright   (C) 2012 Open Source Matters, Inc. <https://www.joomla.org>
 * @license     GNU General Public License version 2 or later; see LICENSE.txt
 */

defined('_JEXEC') or die;

JLoader::register('ModVersionHelper', __DIR__ . '/helper.php');

$version = ModVersionHelper::getVersion($params);

require JModuleHelper::getLayoutPath('mod_version', $params->get('layout', 'default'));
mod_version/mod_version.xml000064400000004005152325655310012144 0ustar00<?xml version="1.0" encoding="utf-8"?>
<extension type="module" version="3.1" client="administrator" method="upgrade">
	<name>mod_version</name>
	<author>Joomla! Project</author>
	<creationDate>January 2012</creationDate>
	<copyright>(C) 2012 Open Source Matters, Inc.</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_VERSION_XML_DESCRIPTION</description>
	<files>
		<filename module="mod_version">mod_version.php</filename>
		<folder>language</folder>
		<folder>tmpl</folder>
		<filename>helper.php</filename>
	</files>
	<languages>
		<language tag="en-GB">language/en-GB/en-GB.mod_version.ini</language>
		<language tag="en-GB">language/en-GB/en-GB.mod_version.sys.ini</language>
	</languages>
	<help key="JHELP_EXTENSIONS_MODULE_MANAGER_ADMIN_VERSION" />
	<config>
		<fields name="params">
			<fieldset name="basic">
				<field
					name="format"
					type="list"
					label="MOD_VERSION_FORMAT_LABEL"
					description="MOD_VERSION_FORMAT_DESC"
					default="short"
					>
					<option value="short">MOD_VERSION_FORMAT_SHORT</option>
					<option value="long">MOD_VERSION_FORMAT_LONG</option>
				</field>

				<field
					name="product"
					type="radio"
					label="MOD_VERSION_PRODUCT_LABEL"
					description="MOD_VERSION_PRODUCT_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="layout"
					type="modulelayout"
					label="JFIELD_ALT_LAYOUT_LABEL"
					description="JFIELD_ALT_MODULE_LAYOUT_DESC"
					validate="moduleLayout"
				/>

				<field
					name="moduleclass_sfx"
					type="textarea"
					label="COM_MODULES_FIELD_MODULECLASS_SFX_LABEL"
					description="COM_MODULES_FIELD_MODULECLASS_SFX_DESC"
					rows="3"
				/>
			</fieldset>
		</fields>
	</config>
</extension>
mod_vmmenu/language/en-GB/en-GB.mod_vmmenu.ini000064400000000710152325655310015130 0ustar00; Virtuemart! Project
; Copyright (C)  2011 Virtuemart Team. All rights reserved.
; License http://www.gnu.org/licenses/gpl-2.0.html GNU/GPL, see LICENSE.php
; Note : All ini files need to be saved as UTF-8 - No BOM

MOD_VMMENU="Administrator VM Menu"
MOD_VMMENU_FIELD_SHOW_VMMENU="Show VM Menu"
MOD_VMMENU_FIELD_SHOW_VMMENU_DESC="Show or hide the VM Menu on top while in editing sections"
MOD_VMMENU_XML_DESCRIPTION="VirtueMart Administrator Menu Module"
mod_vmmenu/language/en-GB/en-GB.mod_vmmenu.sys.ini000064400000000476152325655310015756 0ustar00; Virtuemart! Project
; Copyright (C)  2011 Virtuemart Team. All rights reserved.
; License http://www.gnu.org/licenses/gpl-2.0.html GNU/GPL, see LICENSE.php
; Note : All ini files need to be saved as UTF-8 - No BOM

MOD_VMMENU="Administrator VM Menu"
MOD_VMMENU_XML_DESCRIPTION="VirtueMart Administrator Menu Module"
mod_vmmenu/tmpl/default.php000064400000003401152325655310012030 0ustar00<?php
/**
 *
 * @version $Id$
 * @package VirtueMart
 * @author Valérie Isaksen
 * @subpackage mod_vmmenu
 * @copyright Copyright (C) VirtueMart Team - All rights reserved.
 * @license http://www.gnu.org/copyleft/gpl.html GNU/GPL, see LICENSE.php
 * VirtueMart is free software. This version may have been modified pursuant
 * to the GNU General Public License, and as distributed it includes or
 * is derivative of works licensed under the GNU General Public License or
 * other free or open source software licenses.
 * See /administrator/components/com_virtuemart/COPYRIGHT.php for copyright notices and details.
 *
 * http://virtuemart.net
 */

// No direct access.
defined('_JEXEC') or die;

$show_vmmenu 	= $params->get('show_vmmenu', 1);
$vmMenu="";
$user = JFactory::getUser();
$lang = JFactory::getLanguage();
if ($show_vmmenu) {
	$hideMainmenu=false;
}

// Check if there are any components, otherwise, don't render the menu
if ($vmComponentItems) {
	$class = '';
	if ($hideMainmenu) {
		$class = "disabled";
	}
	if(JVM_VERSION<3){
		$vmMenu='<ul id="menu">';
		$vmMenu.='<li class="node '.$class.'"><a href="'.$vmComponentItems->link.'">'.$vmComponentItems->text.'</a>';
	} else{
		$vmMenu='<ul id="vm-menu" class="nav '.$class.'" >';
		$vmMenu.='<li class="dropdown" ><a class="dropdown-toggle" data-toggle="dropdown" href="#">'.$vmComponentItems->text.'<span class="caret"></span></a>';
	}

	if (!$hideMainmenu) {
		if (!empty($vmComponentItems->submenu)) {
			if(JVM_VERSION<3){
				$vmMenu.='<ul>';
			} else {
				$vmMenu.='<ul class="dropdown-menu">';
			}

			foreach ($vmComponentItems->submenu as $sub) {
				$vmMenu.='<li><a class="'.$sub->class.'" href="'.$sub->link.'">'.$sub->text.'</a></li>';
			}
			$vmMenu.='</ul>';
		}
	}
	$vmMenu.='</li></ul>';
}


echo $vmMenu;mod_vmmenu/helper.php000064400000006546152325655310010724 0ustar00<?php
/**
 *
 * @version $Id$
 * @package VirtueMart
 * @author Valérie Isaksen
 * @subpackage mod_vmmenu
 * @copyright Copyright (C) 2014 VirtueMart Team - All rights reserved.
 * @license http://www.gnu.org/copyleft/gpl.html GNU/GPL, see LICENSE.php
 * VirtueMart is free software. This version may have been modified pursuant
 * to the GNU General Public License, and as distributed it includes or
 * is derivative of works licensed under the GNU General Public License or
 * other free or open source software licenses.
 * See /administrator/components/com_virtuemart/COPYRIGHT.php for copyright notices and details.
 *
 * http://virtuemart.net
 */

// no direct access
defined('_JEXEC') or die;
defined('DS') or define('DS', DIRECTORY_SEPARATOR);

abstract class ModVMMenuHelper {


	public static function getVMComponent($authCheck = true) {

		$lang	= JFactory::getLanguage();
		$user		= JFactory::getUser();

		$db = JFactory::getDBO();

		$q = 'SELECT m.id, m.title, m.alias, m.link, m.parent_id, m.img, e.element FROM `#__menu` as m
				LEFT JOIN #__extensions AS e ON m.component_id = e.extension_id
		         WHERE m.client_id = 1 AND e.enabled = 1 AND m.id > 1 AND e.element = \'com_virtuemart\' AND m.menutype="main"
		         AND (m.parent_id=1 OR m.parent_id =
			                        (SELECT m.id FROM `#__menu` as m
									LEFT JOIN #__extensions AS e ON m.component_id = e.extension_id
			                        WHERE m.parent_id=1 AND m.client_id = 1 AND e.enabled = 1 AND m.id > 1 AND e.element = \'com_virtuemart\' AND m.menutype="main"))
		         ORDER BY m.lft';
		$db->setQuery($q);

		$vmComponentItems = $db->loadObjectList();
		$result = new stdClass();
		if (!class_exists( 'VmConfig' )) require(JPATH_ROOT .'/administrator/components/com_virtuemart/helpers/config.php');
		VmConfig::loadConfig();

		if ($vmComponentItems) {

			vmLanguage::loadJLang('com_virtuemart.sys');
			// Parse the list of extensions.
			foreach ($vmComponentItems as &$vmComponentItem) {
				$vmComponentItem->link = vRequest::vmSpecialChars(trim($vmComponentItem->link));
				if ($vmComponentItem->parent_id == 1) {
					if ($authCheck == false || ($authCheck && $user->authorise('core.manage', $vmComponentItem->element))) {
						$result = $vmComponentItem;
						if (!isset($result->submenu)) {
							$result->submenu = array();
						}

						if (empty($vmComponentItem->link)) {
							$vmComponentItem->link = 'index.php?option=' . $vmComponentItem->element;
						}

						$vmComponentItem->text = $lang->hasKey($vmComponentItem->title) ? JText::_($vmComponentItem->title) : $vmComponentItem->alias;
					}
				} else {
					// Sub-menu level.
					if (isset($result)) {
						// Add the submenu link if it is defined.
						if (isset($result->submenu) && !empty($vmComponentItem->link)) {
							$vmComponentItem->text = $lang->hasKey($vmComponentItem->title) ? JText::_($vmComponentItem->title) : $vmComponentItem->alias;

							$class = preg_replace('#\.[^.]*$#', '', basename($vmComponentItem->img));
							$class = preg_replace('#\.\.[^A-Za-z0-9\.\_\- ]#', '', $class);
							if(JVM_VERSION<3){
								$vmComponentItem->class="icon-16-".$class;
							} else {
								$vmComponentItem->class='';
							}
							$result->submenu[] = & $vmComponentItem;
						}
					}
				}
			}

			$props = get_object_vars($result);
			if(!empty($props)){
				return $result;
			}
		}

		return false;

	}

}
mod_vmmenu/mod_vmmenu.php000064400000003207152325655310011602 0ustar00<?php
/**
 *
 * @version $Id$
 * @package VirtueMart
 * @author Valérie Isaksen
 * @subpackage mod_vmmenu
 * @copyright Copyright (C) 2014 VirtueMart Team - All rights reserved.
 * @license http://www.gnu.org/copyleft/gpl.html GNU/GPL, see LICENSE.php
 * VirtueMart is free software. This version may have been modified pursuant
 * to the GNU General Public License, and as distributed it includes or
 * is derivative of works licensed under the GNU General Public License or
 * other free or open source software licenses.
 * See /administrator/components/com_virtuemart/COPYRIGHT.php for copyright notices and details.
 *
 * http://virtuemart.net
 */

// no direct access
defined('_JEXEC') or die;

defined('DS') or define('DS', DIRECTORY_SEPARATOR);
if (!class_exists( 'VmConfig' )) {
	$path = JPATH_ROOT .'/administrator/components/com_virtuemart/helpers/config.php';
	if(file_exists($path)){
		require($path);
	} else {
		$app = JFactory::getApplication();
		$app->enqueueMessage('VirtueMart Administration module is still installed, please install VirtueMart again, or uninstall the module via the joomla extension manager');
		return false;
	}
}

$user		= JFactory::getUser();
if ($user->guest) return;

// Include the module helper classes.
if (!class_exists('ModVMMenuHelper')) {
	require dirname(__FILE__).'/helper.php';
}

// Get the authorised components and sub-menus.
$vmComponentItems = ModVMMenuHelper::getVMComponent(true);

// Initialise variables.
$lang		= JFactory::getLanguage();

$hideMainmenu	= vRequest::getInt('hidemainmenu')  ;

// Render the module layout
require JModuleHelper::getLayoutPath('mod_vmmenu', $params->get('layout', 'default'));
mod_vmmenu/mod_vmmenu.xml000064400000002624152325655310011615 0ustar00<?xml version="1.0" encoding="utf-8"?>
<extension
	type="module"
	version="2.5"
	client="administrator">
	<name>VirtueMart Administrator Menu</name>
    <creationDate>August 11 2023</creationDate>
    <author>The VirtueMart Development Team</author>
    <authorEmail>max|at|virtuemart.net</authorEmail>
    <authorUrl>https://virtuemart.net</authorUrl>
    <copyright>Copyright (C) 2004-2013 Virtuemart Team. All rights reserved.</copyright>
    <license>http://www.gnu.org/licenses/gpl-2.0.html GNU/GPL</license>
    <version>4.2.0</version>
	<description>MOD_VMMENU_XML_DESCRIPTION</description>
	<files>
		<filename module="mod_vmmenu">mod_vmmenu.php</filename>
		<filename>helper.php</filename>
		<folder>tmpl</folder>
	</files>
    <config>
    <fields name="params">
    <fieldset name="advanced">
    <field
            name="show_vmmenu"
            type="list"
            default="1"
            label="MOD_VMMENU_FIELD_SHOW_VMMENU"
            description="MOD_VMMENU_FIELD_SHOW_VMMENU_DESC">
        <option value="0">JHIDE</option>
        <option value="1">JSHOW</option>
    </field>
    </fieldset>
    </fields>
    </config>
    <updateservers>
        <!-- Note: No spaces or linebreaks allowed between the server tags -->
        <server type="extension" name="VirtueMart3 MOD_VMENU Update Site"><![CDATA[http://virtuemart.net/releases/vm3/mod_vmmenu_update.xml]]></server>
    </updateservers>
</extension>
index.html000064400000000037152325655310006550 0ustar00<!DOCTYPE html><title></title>