Spade

Mini Shell

Directory:~$ /home/lmsyaran/public_html/joomla4/
Upload File

[Home] [System Details] [Kill Me]
Current File:~$ /home/lmsyaran/public_html/joomla4/mod_random_image.tar

helper.php000064400000005723151156360710006550 0ustar00<?php
/**
 * @package     Joomla.Site
 * @subpackage  mod_random_image
 *
 * @copyright   Copyright (C) 2005 - 2020 Open Source Matters, Inc. All
rights reserved.
 * @license     GNU General Public License version 2 or later; see
LICENSE.txt
 */

defined('_JEXEC') or die;

use Joomla\String\StringHelper;

/**
 * Helper for mod_random_image
 *
 * @since  1.5
 */
class ModRandomImageHelper
{
	/**
	 * Retrieves a random image
	 *
	 * @param   \Joomla\Registry\Registry  &$params  module parameters
object
	 * @param   array                      $images   list of images
	 *
	 * @return  mixed
	 */
	public static function getRandomImage(&$params, $images)
	{
		$width  = $params->get('width', 100);
		$height = $params->get('height', null);

		$i      = count($images);
		$random = mt_rand(0, $i - 1);
		$image  = $images[$random];
		$size   = getimagesize(JPATH_BASE . '/' . $image->folder .
'/' . $image->name);

		if ($size[0] < $width)
		{
			$width = $size[0];
		}

		$coeff = $size[0] / $size[1];

		if ($height === null)
		{
			$height = (int) ($width / $coeff);
		}
		else
		{
			$newheight = min($height, (int) ($width / $coeff));

			if ($newheight < $height)
			{
				$height = $newheight;
			}
			else
			{
				$width = $height * $coeff;
			}
		}

		$image->width  = $width;
		$image->height = $height;
		$image->folder = str_replace('\\', '/',
$image->folder);

		return $image;
	}

	/**
	 * Retrieves images from a specific folder
	 *
	 * @param   \Joomla\Registry\Registry  &$params  module params
	 * @param   string                     $folder   folder to get the images
from
	 *
	 * @return array
	 */
	public static function getImages(&$params, $folder)
	{
		$type   = $params->get('type', 'jpg');
		$files  = array();
		$images = array();

		$dir = JPATH_BASE . '/' . $folder;

		// Check if directory exists
		if (is_dir($dir))
		{
			if ($handle = opendir($dir))
			{
				while (false !== ($file = readdir($handle)))
				{
					if ($file !== '.' && $file !== '..'
&& $file !== 'CVS' && $file !==
'index.html')
					{
						$files[] = $file;
					}
				}
			}

			closedir($handle);

			$i = 0;

			foreach ($files as $img)
			{
				if (!is_dir($dir . '/' . $img) &&
preg_match('/' . $type . '/', $img))
				{
					$images[$i] = new stdClass;

					$images[$i]->name   = $img;
					$images[$i]->folder = $folder;
					$i++;
				}
			}
		}

		return $images;
	}

	/**
	 * Get sanitized folder
	 *
	 * @param   \Joomla\Registry\Registry  &$params  module params objects
	 *
	 * @return  mixed
	 */
	public static function getFolder(&$params)
	{
		$folder   = $params->get('folder');
		$LiveSite = JUri::base();

		// If folder includes livesite info, remove
		if (StringHelper::strpos($folder, $LiveSite) === 0)
		{
			$folder = str_replace($LiveSite, '', $folder);
		}

		// If folder includes absolute path, remove
		if (StringHelper::strpos($folder, JPATH_SITE) === 0)
		{
			$folder = str_replace(JPATH_BASE, '', $folder);
		}

		return str_replace(array('\\', '/'),
DIRECTORY_SEPARATOR, $folder);
	}
}
mod_random_image.php000064400000001557151156360710010553 0ustar00<?php
/**
 * @package     Joomla.Site
 * @subpackage  mod_random_image
 *
 * @copyright   Copyright (C) 2005 - 2020 Open Source Matters, Inc. All
rights reserved.
 * @license     GNU General Public License version 2 or later; see
LICENSE.txt
 */

defined('_JEXEC') or die;

// Include the random image functions only once
JLoader::register('ModRandomImageHelper', __DIR__ .
'/helper.php');

$link   = $params->get('link');
$folder = ModRandomImageHelper::getFolder($params);
$images = ModRandomImageHelper::getImages($params, $folder);

if (!count($images))
{
	echo JText::_('MOD_RANDOM_IMAGE_NO_IMAGES');

	return;
}

$image           = ModRandomImageHelper::getRandomImage($params, $images);
$moduleclass_sfx =
htmlspecialchars($params->get('moduleclass_sfx'), ENT_COMPAT,
'UTF-8');

require JModuleHelper::getLayoutPath('mod_random_image',
$params->get('layout', 'default'));
mod_random_image.xml000064400000004405151156360710010557 0ustar00<?xml
version="1.0" encoding="utf-8"?>
<extension type="module" version="3.1"
client="site" method="upgrade">
	<name>mod_random_image</name>
	<author>Joomla! Project</author>
	<creationDate>July 2006</creationDate>
	<copyright>Copyright (C) 2005 - 2020 Open Source Matters. All rights
reserved.</copyright>
	<license>GNU General Public License version 2 or later; see
LICENSE.txt</license>
	<authorEmail>admin@joomla.org</authorEmail>
	<authorUrl>www.joomla.org</authorUrl>
	<version>3.0.0</version>
	<description>MOD_RANDOM_IMAGE_XML_DESCRIPTION</description>
	<files>
		<filename
module="mod_random_image">mod_random_image.php</filename>
		<folder>tmpl</folder>
		<filename>helper.php</filename>
	</files>
	<languages>
		<language
tag="en-GB">en-GB.mod_random_image.ini</language>
		<language
tag="en-GB">en-GB.mod_random_image.sys.ini</language>
	</languages>
	<help key="JHELP_EXTENSIONS_MODULE_MANAGER_RANDOM_IMAGE"
/>
	<config>
		<fields name="params">
			<fieldset name="basic">
				<field
					name="type"
					type="text"
					label="MOD_RANDOM_IMAGE_FIELD_TYPE_LABEL"
					description="MOD_RANDOM_IMAGE_FIELD_TYPE_DESC"
					default="jpg"
				/>

				<field
					name="folder"
					type="text"
					label="MOD_RANDOM_IMAGE_FIELD_FOLDER_LABEL"
					description="MOD_RANDOM_IMAGE_FIELD_FOLDER_DESC"
					validate="filePath"
				/>

				<field
					name="link"
					type="text"
					label="MOD_RANDOM_IMAGE_FIELD_LINK_LABEL"
					description="MOD_RANDOM_IMAGE_FIELD_LINK_DESC"
				/>

				<field
					name="width"
					type="number"
					label="MOD_RANDOM_IMAGE_FIELD_WIDTH_LABEL"
					description="MOD_RANDOM_IMAGE_FIELD_WIDTH_DESC"
					default="100"
					filter="integer"
				/>

				<field
					name="height"
					type="number"
					label="MOD_RANDOM_IMAGE_FIELD_HEIGHT_LABEL"
					description="MOD_RANDOM_IMAGE_FIELD_HEIGHT_DESC"
					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"
				/>
			</fieldset>
		</fields>
	</config>
</extension>
tmpl/default.php000064400000001315151156360710007662 0ustar00<?php
/**
 * @package     Joomla.Site
 * @subpackage  mod_random_image
 *
 * @copyright   Copyright (C) 2005 - 2020 Open Source Matters, Inc. All
rights reserved.
 * @license     GNU General Public License version 2 or later; see
LICENSE.txt
 */

defined('_JEXEC') or die;
?>
<div class="random-image<?php echo $moduleclass_sfx;
?>">
<?php if ($link) : ?>
<a href="<?php echo htmlspecialchars($link, ENT_QUOTES,
'UTF-8'); ?>">
<?php endif; ?>
	<?php echo JHtml::_('image', $image->folder .
'/' . htmlspecialchars($image->name, ENT_COMPAT,
'UTF-8'), htmlspecialchars($image->name, ENT_COMPAT,
'UTF-8'), array('width' => $image->width,
'height' => $image->height)); ?>
<?php if ($link) : ?>
</a>
<?php endif; ?>
</div>