Spade

Mini Shell

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

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

folderinstaller/folderinstaller.php000064400000001757151161261250013651
0ustar00<?php
/**
 * @package     Joomla.Plugin
 * @subpackage  Installer.folderInstaller
 *
 * @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;

/**
 * FolderInstaller Plugin.
 *
 * @since  3.6.0
 */
class PlgInstallerFolderInstaller extends JPlugin
{
	/**
	 * Load the language file on instantiation.
	 *
	 * @var    boolean
	 * @since  3.6.0
	 */
	protected $autoloadLanguage = true;

	/**
	 * Textfield or Form of the Plugin.
	 *
	 * @return  array  Returns an array with the tab information
	 *
	 * @since   3.6.0
	 */
	public function onInstallerAddInstallationTab()
	{
		$tab            = array();
		$tab['name']    = 'folder';
		$tab['label']   =
JText::_('PLG_INSTALLER_FOLDERINSTALLER_TEXT');

		// Render the input
		ob_start();
		include JPluginHelper::getLayoutPath('installer',
'folderinstaller');
		$tab['content'] = ob_get_clean();

		return $tab;
	}
}
folderinstaller/folderinstaller.xml000064400000001537151161261250013656
0ustar00<?xml version="1.0" encoding="utf-8"?>
<extension version="3.6" type="plugin"
group="installer">
	<name>PLG_INSTALLER_FOLDERINSTALLER</name>
	<author>Joomla! Project</author>
	<creationDate>May 2016</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.6.0</version>
	<description>PLG_INSTALLER_FOLDERINSTALLER_PLUGIN_XML_DESCRIPTION</description>

	<files>
		<filename
plugin="folderinstaller">folderinstaller.php</filename>
	</files>

	<languages>
		<language
tag="en-GB">en-GB.plg_installer_folderinstaller.ini</language>
		<language
tag="en-GB">en-GB.plg_installer_folderinstaller.sys.ini</language>
	</languages>
</extension>
folderinstaller/tmpl/default.php000064400000002702151161261260013050
0ustar00<?php
/**
 * @package     Joomla.Plugin
 * @subpackage  Installer.folderinstaller
 *
 * @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;

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

$app = JFactory::getApplication('administrator');

JFactory::getDocument()->addScriptDeclaration('
	Joomla.submitbuttonfolder = function()
	{
		var form = document.getElementById("adminForm");

		// do field validation 
		if (form.install_directory.value == "")
		{
			alert("' .
JText::_('PLG_INSTALLER_FOLDERINSTALLER_NO_INSTALL_PATH', true) .
'");
		}
		else
		{
			JoomlaInstaller.showLoading();
			form.installtype.value = "folder"
			form.submit();
		}
	};
');
?>
<legend><?php echo
JText::_('PLG_INSTALLER_FOLDERINSTALLER_TEXT');
?></legend>
<div class="control-group">
	<label for="install_directory"
class="control-label"><?php echo
JText::_('PLG_INSTALLER_FOLDERINSTALLER_TEXT');
?></label>
	<div class="controls">
		<input type="text" id="install_directory"
name="install_directory" class="span5 input_box"
size="70"
			value="<?php echo
$app->input->get('install_directory',
$app->get('tmp_path')); ?>" />
	</div>
</div>
<div class="form-actions">
	<input type="button" class="btn btn-primary"
id="installbutton_directory"
		value="<?php echo
JText::_('PLG_INSTALLER_FOLDERINSTALLER_BUTTON'); ?>"
onclick="Joomla.submitbuttonfolder()" />
</div>
helpdeskpro/helpdeskpro.php000064400000003071151161261260012117
0ustar00<?php
/**
 * @package        Joomla
 * @subpackage     Helpdesk Pro
 * @author         Tuan Pham Ngoc
 * @copyright      Copyright (C) 2012 - 2021 Ossolution Team
 * @license        GNU/GPL, see LICENSE.php
 */

defined('_JEXEC') or die;

use Joomla\CMS\Plugin\CMSPlugin;
use Joomla\CMS\Uri\Uri;

class plgInstallerHelpdeskPro extends CMSPlugin
{
	public function onInstallerBeforePackageDownload(&$url,
&$headers)
	{
		$uri = Uri::getInstance($url);

		$host       = $uri->getHost();
		$validHosts = array('joomdonation.com',
'www.joomdonation.com');

		if (!in_array($host, $validHosts))
		{
			return true;
		}

		$documentId = $uri->getVar('document_id');

		if ($documentId != 67)
		{
			return true;
		}

		if (!file_exists(JPATH_ADMINISTRATOR .
'/components/com_helpdeskpro/init.php'))
		{
			return true;
		}

		// Get Download ID and append it to the URL
		require_once JPATH_ADMINISTRATOR .
'/components/com_helpdeskpro/init.php';
		require_once JPATH_ROOT .
'/components/com_helpdeskpro/Helper/Helper.php';

		$config = \OSSolution\HelpdeskPro\Site\Helper\Helper::getConfig();

		// Append the Download ID to the download URL
		if (!empty($config->download_id))
		{
			$uri->setVar('download_id', $config->download_id);
			$url = $uri->toString();

			// Append domain to URL for logging
			$siteUri = Uri::getInstance();
			$uri->setVar('domain', $siteUri->getHost());

			$uri->setVar('version',
\OSSolution\HelpdeskPro\Site\Helper\Helper::getInstalledVersion());

			$url = $uri->toString();
		}

		return true;
	}
}helpdeskpro/helpdeskpro.xml000064400000001574151161261260012136
0ustar00<?xml version="1.0" encoding="utf-8"?>
<extension version="3.0" type="plugin"
group="installer" method="upgrade">
    <name>Installer - Helpdesk Pro</name>
    <author>Tuan Pham Ngoc</author>
    <authorEmail>tuanpn@joomdonation.com</authorEmail>
    <authorUrl>http://www.joomdonation.com</authorUrl>
    <copyright>Copyright (C) 2010 - 2019 Ossolution
Team</copyright>
    <license>GNU General Public License version 3, or
later</license>
    <creationDate>August 2016</creationDate>
    <version>4.3.0</version>
    <description>Allows the installation of Helpdesk Pro updates.
This plugin MUST be installed for the Helpdesk Pro updates to be installed
under your Joomla site. Otherwise you will see the updates but you will not
be able to install them.</description>
    <files>
        <filename
plugin="helpdeskpro">helpdeskpro.php</filename>
    </files>    
</extension>loginasuser/language/en-GB/en-GB.plg_installer_loginasuser.ini000064400000000776151161261260020427
0ustar00; Defaults
PLG_INSTALLER_LOGINASUSER="Installer - Login as User"
PLG_INSTALLER_LOGINASUSER_XML_DESCRIPTION="This plugin helps admin
users to login to the front-end as a specific user. It is useful for
websites where the admin user needs to check if a user can see their
order(s) correctly, if a form was filled out correctly, or any issues with
a user's personal details, etc. The Admin user will be accessing all
this information as the external User in order to replicate any issues and
assist the user."
loginasuser/language/en-GB/en-GB.plg_installer_loginasuser.sys.ini000064400000000776151161261260021244
0ustar00; Defaults
PLG_INSTALLER_LOGINASUSER="Installer - Login as User"
PLG_INSTALLER_LOGINASUSER_XML_DESCRIPTION="This plugin helps admin
users to login to the front-end as a specific user. It is useful for
websites where the admin user needs to check if a user can see their
order(s) correctly, if a form was filled out correctly, or any issues with
a user's personal details, etc. The Admin user will be accessing all
this information as the external User in order to replicate any issues and
assist the user."
loginasuser/language/en-GB/index.html000064400000000037151161261260013550
0ustar00<!DOCTYPE html><title></title>
loginasuser/language/index.html000064400000000037151161261260012660
0ustar00<!DOCTYPE html><title></title>
loginasuser/loginasuser.php000064400000006215151161261260012150
0ustar00<?php
/* ======================================================
 # Login as User for Joomla! - v3.5.9 (pro version)
 # -------------------------------------------------------
 # For Joomla! CMS (v3.x)
 # Author: Web357 (Yiannis Christodoulou)
 # Copyright (©) 2014-2022 Web357. All rights reserved.
 # License: GNU/GPLv3, http://www.gnu.org/licenses/gpl-3.0.html
 # Website: https:/www.web357.com
 # Demo: https://demo.web357.com/joomla/login-as-user
 # Support: support@web357.com
 # Last modified: Wednesday 07 December 2022, 11:05:26 AM
 ========================================================= */

defined('_JEXEC') or die;

class plgInstallerLoginasuser extends JPlugin
{
    public function onInstallerBeforePackageDownload(&$url,
&$headers)
    {
        if (parse_url($url, PHP_URL_HOST) == 'www.web357.com' ||
parse_url($url, PHP_URL_HOST) == 'downloads.web357.com') {

            $apikey_from_plugin_parameters =
Web357Framework\Functions::getWeb357ApiKey();
            $current_url = JURI::getInstance()->toString();
            $parse = parse_url($current_url);
            $domain = isset($parse['host']) ?
$parse['host'] : 'domain.com';
            $url = str_replace('?cms=j', '&cms=j',
$url);
            $uri = JUri::getInstance($url);

            $item = $uri->getVar('item'); 
            if ($item !== 'loginasuser')
            {
                return;
            }

            if (!empty($apikey_from_plugin_parameters))
            {
                $uri->setVar('liveupdate', 'true');
                $uri->setVar('domain', $domain);
                $uri->setVar('dlid',
$apikey_from_plugin_parameters);
                $url = $uri->toString();
                $url = str_replace('?cms=',
'&cms=', $url);
                $url = str_replace(' ', '+', $url);
            }
            // Watchful.net support
            elseif (isset($parse['query']) &&
strpos($parse['query'], 'com_watchfulli') !== false)
            {
                $apikey = $uri->getVar('key'); // get apikey
from watchful settings

                if (isset($apikey) && !empty($apikey))
                {
                    $apikey = str_replace(' ', '+',
$apikey);
                    $uri->setVar('liveupdate',
'com_watchfulli');
                    $uri->setVar('domain', $domain);
                    $uri->setVar('dlid', $apikey);
                    $uri->setVar('key', $apikey);
                    $url = $uri->toString();
                    $url = str_replace('?cms=',
'&cms=', $url);
                }
                else
                {
                   
JFactory::getApplication()->enqueueMessage(JText::_('W357FRM_APIKEY_WARNING'),
'notice');
                }
            } 
            else 
            {
                // load default and current language
                $jlang = JFactory::getLanguage();
                $jlang->load('plg_system_web357framework',
JPATH_ADMINISTRATOR, 'en-GB', true);

                // warn about missing api key
               
JFactory::getApplication()->enqueueMessage(JText::_('W357FRM_APIKEY_WARNING'),
'notice');
            }
        }
        return true;
    }
}loginasuser/loginasuser.xml000064400000002527151161261260012163
0ustar00<?xml version="1.0" encoding="utf-8"?>
<extension version="3.1" type="plugin"
group="installer" method="upgrade">
	<name>PLG_INSTALLER_LOGINASUSER</name>
	<author>Web357 (Yiannis Christodoulou)</author>
	<creationDate>07-Dec-2022</creationDate>
	<copyright>Copyright (©) 2014-2022 Web357. All rights
reserved.</copyright>
	<license>GNU/GPLv3,
http://www.gnu.org/licenses/gpl-3.0.html</license>
	<authorEmail>support@web357.com</authorEmail>
	<authorUrl>https:/www.web357.com</authorUrl>
	<version>3.5.9</version>
	<variant>pro</variant>
	<description>This plugin helps admin users to login to the front-end
as a specific user. It is useful for websites where the admin user needs to
check if a user can see their order(s) correctly, if a form was filled out
correctly, or any issues with a user personal details, etc. The Admin user
will be accessing all this information as the external User in order to
replicate any issues and assist the user.</description>
	
	<files>
		<folder>language</folder>
		<filename
plugin="loginasuser">loginasuser.php</filename>
		<filename>script.install.helper.php</filename>
	</files>
	
	<scriptfile>script.install.php</scriptfile>

	<updateservers><server type="extension"
priority="1" name="Login as User (pro
version)"><![CDATA[https://updates.web357.com/loginasuser/loginasuser_pro.xml]]></server></updateservers>
	
</extension>loginasuser/script.install.helper.php000064400000036460151161261260014051
0ustar00<?php
/* ======================================================
 # Login as User for Joomla! - v3.5.9 (pro version)
 # -------------------------------------------------------
 # For Joomla! CMS (v3.x)
 # Author: Web357 (Yiannis Christodoulou)
 # Copyright (©) 2014-2022 Web357. All rights reserved.
 # License: GNU/GPLv3, http://www.gnu.org/licenses/gpl-3.0.html
 # Website: https:/www.web357.com
 # Demo: https://demo.web357.com/joomla/login-as-user
 # Support: support@web357.com
 # Last modified: Wednesday 07 December 2022, 11:05:26 AM
 ========================================================= */
defined('_JEXEC') or die;

jimport('joomla.filesystem.file');
jimport('joomla.filesystem.folder');

class PlgInstallerLoginasuserInstallerScriptHelper
{
	public $name            = '';
	public $alias           = '';
	public $extname         = '';
	public $extension_type  = '';
	public $plugin_folder   = 'system';
	public $module_position = 'web357';
	public $client_id       = 0;
	public $install_type    = 'install';
	public $show_message    = true;
	public $db              = null;
	public $softbreak       = null;
	public $mini_version 	= null;

	public function __construct(&$params)
	{
		$this->extname = $this->extname ?: $this->alias;
		$this->db      = JFactory::getDbo();

		// Get Joomla's version
		$jversion = new JVersion;
		$short_version = explode('.', $jversion->getShortVersion());
// 3.8.10
		$this->mini_version =
$short_version[0].'.'.$short_version[1]; // 3.8
	}

	public function preflight($route, $adapter)
	{
		if (!in_array($route, array('install', 'update')))
		{
			return true;
		}

		JFactory::getLanguage()->load('plg_system_web357installer',
JPATH_PLUGINS . '/system/web357installer');

		if ($this->show_message && $this->isInstalled())
		{
			$this->install_type = 'update';
		}

		if ($this->onBeforeInstall($route) === false)
		{
			return false;
		}

		return true;
	}

	public function postflight($route, $adapter)
	{
		$this->removeGlobalLanguageFiles();

		if (version_compare($this->mini_version, "4.0",
"<"))
		{
			$this->removeUnusedLanguageFiles();
		}

		JFactory::getLanguage()->load($this->getPrefix() . '_' .
$this->extname, $this->getMainFolder());

		if (!in_array($route, array('install', 'update')))
		{
			return true;
		}

		$this->updateHttptoHttpsInUpdateSites();

		if ($this->onAfterInstall($route) === false)
		{
			return false;
		}

		if ($route == 'install')
		{
			$this->publishExtension();
		}

		if ($this->show_message)
		{
			$this->addInstalledMessage();
		}

		JFactory::getCache()->clean('com_plugins');
		JFactory::getCache()->clean('_system');

		return true;
	}

	public function isInstalled()
	{
		if ( ! is_file($this->getInstalledXMLFile()))
		{
			return false;
		}

		$query = $this->db->getQuery(true)
			->select($this->db->quoteName('extension_id'))
			->from('#__extensions')
			->where($this->db->quoteName('type') . ' =
' . $this->db->quote($this->extension_type))
			->where($this->db->quoteName('element') . ' =
' . $this->db->quote($this->getElementName()));
		$this->db->setQuery($query, 0, 1);
		$result = $this->db->loadResult();

		return empty($result) ? false : true;
	}

	public function getMainFolder()
	{
		switch ($this->extension_type)
		{
			case 'plugin' :
				return JPATH_PLUGINS . '/' . $this->plugin_folder .
'/' . $this->extname;

			case 'component' :
				return JPATH_ADMINISTRATOR . '/components/com_' .
$this->extname;

			case 'module' :
				return JPATH_SITE . '/modules/mod_' . $this->extname;

			case 'library' :
				return JPATH_SITE . '/libraries/' . $this->extname;
		}
	}

	public function getInstalledXMLFile()
	{
		return $this->getXMLFile($this->getMainFolder());
	}

	public function getCurrentXMLFile()
	{
		return $this->getXMLFile(__DIR__);
	}

	public function getXMLFile($folder)
	{
		switch ($this->extension_type)
		{
			case 'module' :
				return $folder . '/mod_' . $this->extname .
'.xml';

			default :
				return $folder . '/' . $this->extname . '.xml';
		}
	}

	public function uninstallExtension($extname, $type = 'plugin',
$folder = 'system', $show_message = true)
	{
		if (empty($extname))
		{
			return;
		}

		$folders = array();

		switch ($type)
		{
			case 'plugin';
				$folders[] = JPATH_PLUGINS . '/' . $folder . '/' .
$extname;
				break;

			case 'component':
				$folders[] = JPATH_ADMINISTRATOR . '/components/com_' .
$extname;
				$folders[] = JPATH_SITE . '/components/com_' . $extname;
				break;

			case 'module':
				$folders[] = JPATH_ADMINISTRATOR . '/modules/mod_' .
$extname;
				$folders[] = JPATH_SITE . '/modules/mod_' . $extname;
				break;
		}

		if ( ! $this->foldersExist($folders))
		{
			return;
		}

		$query = $this->db->getQuery(true)
			->select($this->db->quoteName('extension_id'))
			->from('#__extensions')
			->where($this->db->quoteName('element') . ' =
' . $this->db->quote($this->getElementName($type,
$extname)))
			->where($this->db->quoteName('type') . ' =
' . $this->db->quote($type));

		if ($type == 'plugin')
		{
			$query->where($this->db->quoteName('folder') . '
= ' . $this->db->quote($folder));
		}

		$this->db->setQuery($query);
		$ids = $this->db->loadColumn();

		if (empty($ids))
		{
			foreach ($folders as $folder)
			{
				JFolder::delete($folder);
			}

			return;
		}

		$ignore_ids =
JFactory::getApplication()->getUserState('rl_ignore_uninstall_ids',
array());

		if (JFactory::getApplication()->input->get('option') ==
'com_installer' &&
JFactory::getApplication()->input->get('task') ==
'remove')
		{
			// Don't attempt to uninstall extensions that are already selected
to get uninstalled by them selves
			$ignore_ids = array_merge($ignore_ids,
JFactory::getApplication()->input->get('cid', array(),
'array'));
			JFactory::getApplication()->input->set('cid',
array_merge($ignore_ids, $ids));
		}

		$ids = array_diff($ids, $ignore_ids);

		if (empty($ids))
		{
			return;
		}

		$ignore_ids = array_merge($ignore_ids, $ids);
		JFactory::getApplication()->setUserState('rl_ignore_uninstall_ids',
$ignore_ids);

		foreach ($ids as $id)
		{
			$tmpInstaller = new JInstaller;
			$tmpInstaller->uninstall($type, $id);
		}

		if ($show_message)
		{
			JFactory::getApplication()->enqueueMessage(
				JText::sprintf(
					'COM_INSTALLER_UNINSTALL_SUCCESS',
					JText::_('COM_INSTALLER_TYPE_TYPE_' . strtoupper($type))
				)
			);
		}
	}

	public function foldersExist($folders = array())
	{
		foreach ($folders as $folder)
		{
			if (is_dir($folder))
			{
				return true;
			}
		}

		return false;
	}

	public function uninstallPlugin($extname, $folder = 'system',
$show_message = true)
	{
		$this->uninstallExtension($extname, 'plugin', $folder,
$show_message);
	}

	public function uninstallComponent($extname, $show_message = true)
	{
		$this->uninstallExtension($extname, 'component', null,
$show_message);
	}

	public function uninstallModule($extname, $show_message = true)
	{
		$this->uninstallExtension($extname, 'module', null,
$show_message);
	}

	public function publishExtension()
	{
		switch ($this->extension_type)
		{
			case 'plugin' :
				$this->publishPlugin();

			case 'module' :
				$this->publishModule();
		}
	}

	public function publishPlugin()
	{
		$query = $this->db->getQuery(true)
			->update('#__extensions')
			->set($this->db->quoteName('enabled') . ' =
1')
			->where($this->db->quoteName('type') . ' =
' . $this->db->quote('plugin'))
			->where($this->db->quoteName('element') . ' =
' . $this->db->quote($this->extname))
			->where($this->db->quoteName('folder') . ' =
' . $this->db->quote($this->plugin_folder));
		$this->db->setQuery($query);
		$this->db->execute();
	}

	public function publishModule()
	{
		// Get module id
		$query = $this->db->getQuery(true)
			->select($this->db->quoteName('id'))
			->from('#__modules')
			->where($this->db->quoteName('module') . ' =
' . $this->db->quote('mod_' . $this->extname))
			->where($this->db->quoteName('client_id') . ' =
' . (int) $this->client_id);
		$this->db->setQuery($query, 0, 1);
		$id = $this->db->loadResult();

		if ( ! $id)
		{
			return;
		}

		// check if module is already in the modules_menu table (meaning is is
already saved)
		$query->clear()
			->select($this->db->quoteName('moduleid'))
			->from('#__modules_menu')
			->where($this->db->quoteName('moduleid') . ' =
' . (int) $id);
		$this->db->setQuery($query, 0, 1);
		$exists = $this->db->loadResult();

		if ($exists)
		{
			return;
		}

		// Get highest ordering number in position
		$query->clear()
			->select($this->db->quoteName('ordering'))
			->from('#__modules')
			->where($this->db->quoteName('position') . ' =
' . $this->db->quote($this->module_position))
			->where($this->db->quoteName('client_id') . ' =
' . (int) $this->client_id)
			->order('ordering DESC');
		$this->db->setQuery($query, 0, 1);
		$ordering = $this->db->loadResult();
		$ordering++;

		// publish module and set ordering number
		$query->clear()
			->update('#__modules')
			->set($this->db->quoteName('published') . ' =
1')
			->set($this->db->quoteName('ordering') . ' =
' . (int) $ordering)
			->set($this->db->quoteName('position') . ' =
' . $this->db->quote($this->module_position))
			->where($this->db->quoteName('id') . ' = '
. (int) $id);
		$this->db->setQuery($query);
		$this->db->execute();

		// add module to the modules_menu table
		$query->clear()
			->insert('#__modules_menu')
			->columns(array($this->db->quoteName('moduleid'),
$this->db->quoteName('menuid')))
			->values((int) $id . ', 0');
		$this->db->setQuery($query);
		$this->db->execute();
	}

	public function addInstalledMessage()
	{
		JFactory::getApplication()->enqueueMessage(
			JText::sprintf(
				JText::_($this->install_type == 'update' ?
'W357_THE_EXTENSION_HAS_BEEN_UPDATED_SUCCESSFULLY' :
'W357_THE_EXTENSION_HAS_BEEN_INSTALLED_SUCCESSFULLY'),
				'<strong>' . JText::_($this->name) .
'</strong>',
				'<strong>' . $this->getVersion() .
'</strong>',
				$this->getFullType()
			)
		);
	}

	public function getPrefix()
	{
		switch ($this->extension_type)
		{
			case 'plugin';
				return JText::_('plg_' .
strtolower($this->plugin_folder));

			case 'component':
				return JText::_('com');

			case 'module':
				return JText::_('mod');

			case 'library':
				return JText::_('lib');

			default:
				return $this->extension_type;
		}
	}

	public function getElementName($type = null, $extname = null)
	{
		$type    = is_null($type) ? $this->extension_type : $type;
		$extname = is_null($extname) ? $this->extname : $extname;

		switch ($type)
		{
			case 'component' :
				return 'com_' . $extname;

			case 'module' :
				return 'mod_' . $extname;

			case 'plugin' :
			default:
				return $extname;
		}
	}

	public function getFullType()
	{
		return JText::_('W357_' . strtoupper($this->getPrefix()));
	}

	public function getVersion($file = '')
	{
		$file = $file ?: $this->getCurrentXMLFile();

		if ( ! is_file($file))
		{
			return '';
		}

		$xml = JInstaller::parseXMLInstallFile($file);

		if ( ! $xml || ! isset($xml['version']))
		{
			return '';
		}

		return $xml['version'];
	}

	public function isNewer()
	{
		if ( ! $installed_version =
$this->getVersion($this->getInstalledXMLFile()))
		{
			return true;
		}

		$package_version = $this->getVersion();
		return version_compare($installed_version, $package_version,
'<=');
	}

	public function canInstall()
	{
		// The extension is not installed yet
		if ( ! $installed_version =
$this->getVersion($this->getInstalledXMLFile()))
		{
			return true;
		}

		// The free version is installed. So any version is ok to install
		if (strpos($installed_version, 'PRO') === false)
		{
			return true;
		}

		// Current package is a pro version, so all good
		if (strpos($this->getVersion(), 'PRO') !== false)
		{
			return true;
		}

		JFactory::getLanguage()->load($this->getPrefix() . '_' .
$this->extname, __DIR__);

		JFactory::getApplication()->enqueueMessage(JText::_('W357_ERROR_PRO_TO_FREE'),
'error');

		JFactory::getApplication()->enqueueMessage(
			html_entity_decode(
				JText::sprintf(
					'W357_ERROR_UNINSTALL_FIRST',
					'<a href="//www.web357.com/product/' .
$this->url_alias . '" target="_blank">',
					'</a>',
					JText::_($this->name)
				)
			), 'error'
		);

		return false;
	}

	public function onBeforeInstall($route)
	{
		if ( ! $this->canInstall())
		{
			return false;
		}

		return true;
	}

	public function onAfterInstall($route)
	{
	}

	public function delete($files = array())
	{
		foreach ($files as $file)
		{
			if (is_dir($file) && JFolder::exists($file))
			{
				JFolder::delete($file);
			}

			if (is_file($file) && JFile::exists($file))
			{
				JFile::delete($file);
			}
		}
	}

	public function fixAssetsRules($rules =
'{"core.admin":[],"core.manage":[]}')
	{
		// replace default rules value {} with the correct initial value
		$query = $this->db->getQuery(true)
			->update($this->db->quoteName('#__assets'))
			->set($this->db->quoteName('rules') . ' = '
. $this->db->quote($rules))
			->where($this->db->quoteName('title') . ' =
' . $this->db->quote('com_' . $this->extname))
			->where($this->db->quoteName('rules') . ' =
' . $this->db->quote('{}'));
		$this->db->setQuery($query);
		$this->db->execute();
	}

	private function updateHttptoHttpsInUpdateSites()
	{
		$query = $this->db->getQuery(true)
			->update('#__update_sites')
			->set($this->db->quoteName('location') . ' =
REPLACE('
				. $this->db->quoteName('location') . ', '
				. $this->db->quote('http://') . ', '
				. $this->db->quote('https://')
				. ')')
			->where($this->db->quoteName('location') . '
LIKE ' . $this->db->quote('http://updates.web357%'));
		$this->db->setQuery($query);
		$this->db->execute();
	}

	private function removeGlobalLanguageFiles()
	{
		if ($this->extension_type == 'library' || $this->alias
=== 'web357framework')
		{
			return;
		}

		$language_files = JFolder::files(JPATH_ADMINISTRATOR .
'/language', '\.' . $this->getPrefix() .
'_' . $this->extname . '\.', true, true);

		// Remove override files
		foreach ($language_files as $i => $language_file)
		{
			if (strpos($language_file, '/overrides/') === false)
			{
				continue;
			}

			unset($language_files[$i]);
		}

		if (empty($language_files))
		{
			return;
		}

		JFile::delete($language_files);
	}

	private function removeUnusedLanguageFiles()
	{
		if ($this->extension_type == 'library')
		{
			return;
		}

		$main_language_dir_path = JFolder::folders(__DIR__ .
'/language');

		$installed_languages = array_merge(
			JFolder::folders(JPATH_SITE . '/language'),
			JFolder::folders(JPATH_ADMINISTRATOR . '/language')
		);

		$languages = array();
		if (is_array($main_language_dir_path) &&
is_array($installed_languages))
		{
			$languages = array_diff(
				$main_language_dir_path,
				$installed_languages 
			);
		}

		$delete_languages = array();

		if (!empty($languages))
		{
			foreach ($languages as $language)
			{
				$delete_languages[] = $this->getMainFolder() .
'/language/' . $language;
			}
		}

		if (empty($delete_languages))
		{
			return;
		}

		// Remove folders
		$this->delete($delete_languages);
	}
}loginasuser/script.install.php000064400000001664151161261260012571
0ustar00<?php
/* ======================================================
 # Login as User for Joomla! - v3.5.9 (pro version)
 # -------------------------------------------------------
 # For Joomla! CMS (v3.x)
 # Author: Web357 (Yiannis Christodoulou)
 # Copyright (©) 2014-2022 Web357. All rights reserved.
 # License: GNU/GPLv3, http://www.gnu.org/licenses/gpl-3.0.html
 # Website: https:/www.web357.com
 # Demo: https://demo.web357.com/joomla/login-as-user
 # Support: support@web357.com
 # Last modified: Wednesday 07 December 2022, 11:05:26 AM
 ========================================================= */
defined('_JEXEC') or die;

require_once __DIR__ . '/script.install.helper.php';

class PlgInstallerLoginasuserInstallerScript extends
PlgInstallerLoginasuserInstallerScriptHelper
{
	public $name           	= 'Login as User';
	public $alias          	= 'loginasuser';
	public $extension_type 	= 'plugin';
	public $plugin_folder   = 'installer';
}packageinstaller/packageinstaller.php000064400000002005151161261260014075
0ustar00<?php
/**
 * @package     Joomla.Plugin
 * @subpackage  Installer.packageInstaller
 *
 * @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;

/**
 * PackageInstaller Plugin.
 *
 * @since  3.6.0
 */
class PlgInstallerPackageInstaller extends JPlugin
{
	/**
	 * Load the language file on instantiation.
	 *
	 * @var    boolean
	 * @since  3.6.0
	 */
	protected $autoloadLanguage = true;

	/**
	 * Textfield or Form of the Plugin.
	 *
	 * @return  array  Returns an array with the tab information
	 *
	 * @since   3.6.0
	 */
	public function onInstallerAddInstallationTab()
	{
		$tab            = array();
		$tab['name']    = 'package';
		$tab['label']   =
JText::_('PLG_INSTALLER_PACKAGEINSTALLER_UPLOAD_PACKAGE_FILE');

		// Render the input
		ob_start();
		include JPluginHelper::getLayoutPath('installer',
'packageinstaller');
		$tab['content'] = ob_get_clean();

		return $tab;
	}
}
packageinstaller/packageinstaller.xml000064400000001545151161261260014116
0ustar00<?xml version="1.0" encoding="utf-8"?>
<extension version="3.6" type="plugin"
group="installer">
	<name>plg_installer_packageinstaller</name>
	<author>Joomla! Project</author>
	<creationDate>May 2016</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.6.0</version>
	<description>PLG_INSTALLER_PACKAGEINSTALLER_PLUGIN_XML_DESCRIPTION</description>

	<files>
		<filename
plugin="packageinstaller">packageinstaller.php</filename>
	</files>

	<languages>
		<language
tag="en-GB">en-GB.plg_installer_packageinstaller.ini</language>
		<language
tag="en-GB">en-GB.plg_installer_packageinstaller.sys.ini</language>
	</languages>
</extension>
packageinstaller/tmpl/default.php000064400000022176151161261260013177
0ustar00<?php
/**
 * @package     Joomla.Plugin
 * @subpackage  Installer.packageinstaller
 *
 * @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;

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

JText::script('PLG_INSTALLER_PACKAGEINSTALLER_UPLOAD_ERROR_UNKNOWN');
JText::script('PLG_INSTALLER_PACKAGEINSTALLER_UPLOAD_ERROR_EMPTY');
JText::script('COM_INSTALLER_MSG_WARNINGS_UPLOADFILETOOBIG');

JFactory::getDocument()->addScriptDeclaration('
	Joomla.submitbuttonpackage = function()
	{
		var form = document.getElementById("adminForm");

		// do field validation 
		if (form.install_package.value == "")
		{
			alert("' .
JText::_('PLG_INSTALLER_PACKAGEINSTALLER_NO_PACKAGE', true) .
'");
		}
		else if (form.install_package.files[0].size >
form.max_upload_size.value)
		{
			alert("' .
JText::_('COM_INSTALLER_MSG_WARNINGS_UPLOADFILETOOBIG', true) .
'");
		}
		else
		{
			JoomlaInstaller.showLoading();
			form.installtype.value = "upload"
			form.submit();
		}
	};
');

// Drag and Drop installation scripts
$token = JSession::getFormToken();
$return =
JFactory::getApplication()->input->getBase64('return');

// Drag-drop installation
JFactory::getDocument()->addScriptDeclaration(
<<<JS
	jQuery(document).ready(function($) {
		if (typeof FormData === 'undefined') {
			$('#legacy-uploader').show();
			$('#uploader-wrapper').hide();
			return;
		}

		var uploading   = false;
		var dragZone    = $('#dragarea');
		var fileInput   = $('#install_package');
		var fileSizeMax = $('#max_upload_size').val();
		var button      = $('#select-file-button');
		var url         =
'index.php?option=com_installer&task=install.ajax_upload';
		var returnUrl   = $('#installer-return').val();
		var actions     = $('.upload-actions');
		var progress    = $('.upload-progress');
		var progressBar = progress.find('.bar');
		var percentage  = progress.find('.uploading-number');

		if (returnUrl) {
			url += '&return=' + returnUrl;
		}

		button.on('click', function(e) {
			fileInput.click();
		});

		fileInput.on('change', function (e) {
			if (uploading) {
				return;
			}

			Joomla.submitbuttonpackage();
		});

		dragZone.on('dragenter', function(e) {
			e.preventDefault();
			e.stopPropagation();

			dragZone.addClass('hover');

			return false;
		});

		// Notify user when file is over the drop area
		dragZone.on('dragover', function(e) {
			e.preventDefault();
			e.stopPropagation();

			dragZone.addClass('hover');

			return false;
		});

		dragZone.on('dragleave', function(e) {
			e.preventDefault();
			e.stopPropagation();
			dragZone.removeClass('hover');

			return false;
		});

		dragZone.on('drop', function(e) {
			e.preventDefault();
			e.stopPropagation();

			dragZone.removeClass('hover');

			if (uploading) {
				return;
			}

			var files = e.originalEvent.target.files ||
e.originalEvent.dataTransfer.files;

			if (!files.length) {
				return;
			}

			var file = files[0];

			var data = new FormData;

			if (file.size > fileSizeMax) {
				alert(Joomla.JText._('COM_INSTALLER_MSG_WARNINGS_UPLOADFILETOOBIG'),
true);
				return;
			}

			data.append('install_package', file);
			data.append('installtype', 'upload');

			dragZone.attr('data-state', 'uploading');
			uploading = true;

			$.ajax({
				url: url,
				data: data,
				type: 'post',
				processData: false,
				cache: false,
				contentType: false,
				xhr: function () {
					var xhr = new window.XMLHttpRequest();

					progressBar.css('width', 0);
					progressBar.attr('aria-valuenow', 0);
					percentage.text(0);

					// Upload progress
					xhr.upload.addEventListener("progress", function (evt) {
						if (evt.lengthComputable) {
							var percentComplete = evt.loaded / evt.total;
							var number = Math.round(percentComplete * 100);
							progressBar.css('width', number + '%');
							progressBar.attr('aria-valuenow', number);
							percentage.text(number);

							if (number === 100) {
								dragZone.attr('data-state', 'installing');
							}
						}
					}, false);

					return xhr;
				}
			})
			.done(function (res) {
				// Handle extension fatal error
				if (!res || (!res.success && !res.data)) {
					showError(res);
					return;
				}

				// Always redirect that can show message queue from session 
				if (res.data.redirect) {
					location.href = res.data.redirect;
				} else {
					location.href =
'index.php?option=com_installer&view=install';
				}
			}).error(function (error) {
				uploading = false;

				if (error.status === 200) {
					var res = error.responseText || error.responseJSON;
					showError(res);
				} else {
					showError(error.statusText);
				}
			});

			function showError(res) {
				dragZone.attr('data-state', 'pending');

				var message =
Joomla.JText._('PLG_INSTALLER_PACKAGEINSTALLER_UPLOAD_ERROR_UNKNOWN');

				if (res == null) {
					message =
Joomla.JText._('PLG_INSTALLER_PACKAGEINSTALLER_UPLOAD_ERROR_EMPTY');
				} else if (typeof res === 'string') {
					// Let's remove unnecessary HTML
					message = res.replace(/(<([^>]+)>|\s+)/g, ' ');
				} else if (res.message) {
					message = res.message;
				}

				Joomla.renderMessages({error: [message]});
			}
		});
	});
JS
);

JFactory::getDocument()->addStyleDeclaration(
<<<CSS
	#dragarea {
		background-color: #fafbfc;
		border: 1px dashed #999;
		box-sizing: border-box;
		padding: 5% 0;
		transition: all 0.2s ease 0s;
		width: 100%;
	}

	#dragarea p.lead {
		color: #999;
	}

	#upload-icon {
		font-size: 48px;
		width: auto;
		height: auto;
		margin: 0;
		line-height: 175%;
		color: #999;
		transition: all .2s;
	}

	#dragarea.hover {
		border-color: #666;
		background-color: #eee;
	}

	#dragarea.hover #upload-icon,
	#dragarea p.lead {
		color: #666;
	}

	 .upload-progress, .install-progress {
		width: 50%;
		margin: 5px auto;
	 }

	/* Default transition (.3s) is too slow, progress will not run to 100% */
	.upload-progress .progress .bar {
		-webkit-transition: width .1s;
		-moz-transition: width .1s;
		-o-transition: width .1s;
		transition: width .1s;
	}

	#dragarea[data-state=pending] .upload-progress {
		display: none;
	}

	#dragarea[data-state=pending] .install-progress {
		display: none;
	}

	#dragarea[data-state=uploading] .install-progress {
		display: none;
	}

	#dragarea[data-state=uploading] .upload-actions {
		display: none;
	}

	#dragarea[data-state=installing] .upload-progress {
		display: none;
	}

	#dragarea[data-state=installing] .upload-actions {
		display: none;
	}
CSS
);

$maxSizeBytes = JFilesystemHelper::fileUploadMaxSize(false);
$maxSize = JHtml::_('number.bytes', $maxSizeBytes);
?>
<legend><?php echo
JText::_('PLG_INSTALLER_PACKAGEINSTALLER_UPLOAD_INSTALL_JOOMLA_EXTENSION');
?></legend>

<div id="uploader-wrapper">
	<div id="dragarea" data-state="pending">
		<div id="dragarea-content" class="text-center">
			<p>
				<span id="upload-icon" class="icon-upload"
aria-hidden="true"></span>
			</p>
			<div class="upload-progress">
				<div class="progress progress-striped active">
					<div class="bar bar-success"
						style="width: 0;"
						role="progressbar"
						aria-valuenow="0"
						aria-valuemin="0"
						aria-valuemax="100"
					></div>
				</div>
				<p class="lead">
					<span class="uploading-text">
						<?php echo
JText::_('PLG_INSTALLER_PACKAGEINSTALLER_UPLOADING'); ?>
					</span>
					<span class="uploading-number">0</span><span
class="uploading-symbol">%</span>
				</p>
			</div>
			<div class="install-progress">
				<div class="progress progress-striped active">
					<div class="bar" style="width:
100%;"></div>
				</div>
				<p class="lead">
					<span class="installing-text">
						<?php echo
JText::_('PLG_INSTALLER_PACKAGEINSTALLER_INSTALLING'); ?>
					</span>
				</p>
			</div>
			<div class="upload-actions">
				<p class="lead">
					<?php echo
JText::_('PLG_INSTALLER_PACKAGEINSTALLER_DRAG_FILE_HERE'); ?>
				</p>
				<p>
					<button id="select-file-button" type="button"
class="btn btn-success">
						<span class="icon-copy"
aria-hidden="true"></span>
						<?php echo
JText::_('PLG_INSTALLER_PACKAGEINSTALLER_SELECT_FILE'); ?>
					</button>
				</p>
				<p>
					<?php echo
JText::sprintf('JGLOBAL_MAXIMUM_UPLOAD_SIZE_LIMIT', $maxSize);
?>
				</p>
			</div>
		</div>
	</div>
</div>

<div id="legacy-uploader" style="display: none;">
	<div class="control-group">
		<label for="install_package"
class="control-label"><?php echo
JText::_('PLG_INSTALLER_PACKAGEINSTALLER_EXTENSION_PACKAGE_FILE');
?></label>
		<div class="controls">
			<input class="input_box" id="install_package"
name="install_package" type="file" size="57"
/>
			<input id="max_upload_size"
name="max_upload_size" type="hidden"
value="<?php echo $maxSizeBytes; ?>" /><br>
			<?php echo
JText::sprintf('JGLOBAL_MAXIMUM_UPLOAD_SIZE_LIMIT', $maxSize);
?>
		</div>
	</div>
	<div class="form-actions">
		<button class="btn btn-primary" type="button"
id="installbutton_package"
onclick="Joomla.submitbuttonpackage()">
			<?php echo
JText::_('PLG_INSTALLER_PACKAGEINSTALLER_UPLOAD_AND_INSTALL');
?>
		</button>
	</div>

	<input id="installer-return" name="return"
type="hidden" value="<?php echo $return; ?>"
/>
	<input id="installer-token" name="return"
type="hidden" value="<?php echo $token; ?>" />
</div>
rsmembership/index.html000064400000000070151161261260011237
0ustar00<html><head><title></title></head><body></body></html>
rsmembership/rsmembership.php000064400000003615151161261260012463
0ustar00<?php
/**
 * @package	RSMembership!
 * @copyright	(c) 2009 - 2016 RSJoomla!
 * @link		https://www.rsjoomla.com
 * @license	GNU General Public License
http://www.gnu.org/licenses/gpl-3.0.en.html
 */

defined('_JEXEC') or die;

class plgInstallerRSMembership extends JPlugin
{
	public function onInstallerBeforePackageDownload(&$url,
&$headers)
	{
		$uri 	= JUri::getInstance($url);
		$parts 	= explode('/', $uri->getPath());
		
		if ($uri->getHost() == 'www.rsjoomla.com' &&
(in_array('com_rsmembership', $parts) ||
in_array('plg_rsmembership_ideal', $parts))) {
			if
(!file_exists(JPATH_ADMINISTRATOR.'/components/com_rsmembership/helpers/config.php'))
{
				return;
			}
			
			if
(!file_exists(JPATH_ADMINISTRATOR.'/components/com_rsmembership/helpers/version.php'))
{
				return;
			}
			
			// Load our config
			require_once
JPATH_ADMINISTRATOR.'/components/com_rsmembership/helpers/config.php';
			
			// Load our version
			require_once
JPATH_ADMINISTRATOR.'/components/com_rsmembership/helpers/version.php';
			
			// Load language
			JFactory::getLanguage()->load('plg_installer_rsmembership');
			
			// Get the version
			$version = new RSMembershipVersion;
			
			// Get the update code
			$code =
RSMembershipConfig::getInstance()->get('global_register_code');
			
			// No code added
			if (!strlen($code)) {
				JFactory::getApplication()->enqueueMessage(JText::_('PLG_INSTALLER_RSMEMBERSHIP_MISSING_UPDATE_CODE'),
'warning');
				return;
			}
			
			// Code length is incorrect
			if (strlen($code) != 20) {
				JFactory::getApplication()->enqueueMessage(JText::_('PLG_INSTALLER_RSMEMBERSHIP_INCORRECT_CODE'),
'warning');
				return;
			}
			
			// Compute the update hash			
			$uri->setVar('hash', md5($code.$version->key));
			$uri->setVar('domain', JUri::getInstance()->getHost());
			$uri->setVar('code', $code);
			$url = $uri->toString();
		}
	}
}
rsmembership/rsmembership.xml000064400000001565151161261260012476
0ustar00<?xml version="1.0" encoding="utf-8"?>
<extension version="2.5" type="plugin"
group="installer" method="upgrade">
	<name>plg_installer_rsmembership</name>
	<creationDate>June 2015</creationDate>
	<author>RSJoomla!</author>
	<authorEmail>support@rsjoomla.com</authorEmail>
	<authorUrl>https://www.rsjoomla.com</authorUrl>
	<copyright>(c) 2015 www.rsjoomla.com</copyright>
	<license>http://www.gnu.org/copyleft/gpl.html
GNU/GPL</license> 
	<version>1.0.0</version>
	<description>PLG_INSTALLER_RSMEMBERSHIP_XML_DESCRIPTION</description>
	<files>
		<filename
plugin="rsmembership">rsmembership.php</filename>
		<filename>index.html</filename>
	</files>
	<languages folder="language">
		<language
tag="en-GB">en-GB/en-GB.plg_installer_rsmembership.ini</language>
		<language
tag="en-GB">en-GB/en-GB.plg_installer_rsmembership.sys.ini</language>
	</languages>
</extension>rsticketspro/index.html000064400000000070151161261260011273
0ustar00<html><head><title></title></head><body></body></html>
rsticketspro/rsticketspro.php000064400000003655151161261260012557
0ustar00<?php
/**
 * @package    RSTickets! Pro
 *
 * @copyright  (c) 2010 - 2016 RSJoomla!
 * @link       https://www.rsjoomla.com
 * @license    GNU General Public License
http://www.gnu.org/licenses/gpl-3.0.en.html
 */

defined('_JEXEC') or die;

class plgInstallerRsticketspro extends JPlugin
{
	public function onInstallerBeforePackageDownload(&$url,
&$headers)
	{
		$uri 	= JUri::getInstance($url);
		$parts 	= explode('/', $uri->getPath());

		if ($uri->getHost() == 'www.rsjoomla.com' &&
(in_array('com_rsticketspro', $parts) ||
in_array('plg_rsticketspro_cron', $parts) ||
in_array('plg_rsticketspro_reports', $parts))) {
			if
(!file_exists(JPATH_ADMINISTRATOR.'/components/com_rsticketspro/helpers/config.php'))
{
				return;
			}

			if
(!file_exists(JPATH_ADMINISTRATOR.'/components/com_rsticketspro/helpers/version.php'))
{
				return;
			}

			// Load our config
			require_once
JPATH_ADMINISTRATOR.'/components/com_rsticketspro/helpers/config.php';

			// Load our version
			require_once
JPATH_ADMINISTRATOR.'/components/com_rsticketspro/helpers/version.php';

			// Load language
			JFactory::getLanguage()->load('plg_installer_rsticketspro');

			// Get the version
			$version = new RSTicketsProVersion;

			// Get the update code
			$code =
RSTicketsProConfig::getInstance()->get('global_register_code');

			// No code added
			if (!strlen($code)) {
				JFactory::getApplication()->enqueueMessage(JText::_('PLG_INSTALLER_RSTICKETSPRO_MISSING_UPDATE_CODE'),
'warning');
				return;
			}

			// Code length is incorrect
			if (strlen($code) != 20) {
				JFactory::getApplication()->enqueueMessage(JText::_('PLG_INSTALLER_RSTICKETSPRO_INCORRECT_CODE'),
'warning');
				return;
			}

			// Compute the update hash
			$uri->setVar('hash', md5($code.$version->key));
			$uri->setVar('domain', JUri::getInstance()->getHost());
			$uri->setVar('code', $code);
			$url = $uri->toString();
		}
	}
}
rsticketspro/rsticketspro.xml000064400000001570151161261260012562
0ustar00<?xml version="1.0" encoding="utf-8"?>
<extension version="2.5" type="plugin"
group="installer" method="upgrade">
	<name>plg_installer_rsticketspro</name>
	<creationDate>January 2016</creationDate>
	<author>RSJoomla!</author>
	<authorEmail>support@rsjoomla.com</authorEmail>
	<authorUrl>https://www.rsjoomla.com</authorUrl>
	<copyright>(c) 2015 www.rsjoomla.com</copyright>
	<license>http://www.gnu.org/copyleft/gpl.html
GNU/GPL</license> 
	<version>1.0.0</version>
	<description>PLG_INSTALLER_RSTICKETSPRO_XML_DESCRIPTION</description>
	<files>
		<filename
plugin="rsticketspro">rsticketspro.php</filename>
		<filename>index.html</filename>
	</files>
	<languages folder="language">
		<language
tag="en-GB">en-GB/en-GB.plg_installer_rsticketspro.ini</language>
		<language
tag="en-GB">en-GB/en-GB.plg_installer_rsticketspro.sys.ini</language>
	</languages>
</extension>smartslider3/index.html000064400000000000151161261260011144
0ustar00smartslider3/smartslider3.php000064400000000503151161261260012304
0ustar00<?php

use
Nextend\SmartSlider3\Platform\Joomla\Plugin\PluginInstallerSmartSlider3;

defined('_JEXEC') or die;

jimport("smartslider3.joomla");

if
(class_exists('\Nextend\SmartSlider3\Platform\Joomla\Plugin\PluginInstallerSmartSlider3'))
{
    class_alias(PluginInstallerSmartSlider3::class,
'plgInstallerSmartslider3');
}smartslider3/smartslider3.xml000064400000001264151161261260012322
0ustar00<?xml version="1.0" encoding="utf-8"?>
<extension version="3.9" type="plugin"
group="installer" method="upgrade">
    <name>Smart Slider 3 Updater Plugin</name>
    <author>Nextendweb</author>
    <creationDate>2021-05-31</creationDate>
    <copyright>Copyright (C) 2020 Nextendweb.com. All rights
reserved.</copyright>
    <license>http://www.gnu.org/licenses/gpl-3.0.txt GNU General
Public License</license>
    <authorEmail>roland@nextendweb.com</authorEmail>
    <authorUrl>https://smartslider3.com</authorUrl>
    <version>3.5.0.8</version>
    <files>
        <filename
plugin="smartslider3">smartslider3.php</filename>
        <filename>index.html</filename>
    </files>
</extension>
urlinstaller/tmpl/default.php000064400000002534151161261260012402
0ustar00<?php
/**
 * @package     Joomla.Plugin
 * @subpackage  Installer.urlinstaller
 *
 * @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;

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

JFactory::getDocument()->addScriptDeclaration('
	Joomla.submitbuttonurl = function()
	{
		var form = document.getElementById("adminForm");

		// do field validation 
		if (form.install_url.value == "" || form.install_url.value ==
"http://" || form.install_url.value == "https://") {
			alert("' .
JText::_('PLG_INSTALLER_URLINSTALLER_NO_URL', true) .
'");
		}
		else
		{
			JoomlaInstaller.showLoading();
			form.installtype.value = "url"
			form.submit();
		}
	};
');
?>
<legend><?php echo
JText::_('PLG_INSTALLER_URLINSTALLER_TEXT'); ?></legend>
<div class="control-group">
	<label for="install_url"
class="control-label"><?php echo
JText::_('PLG_INSTALLER_URLINSTALLER_TEXT'); ?></label>
	<div class="controls">
		<input type="text" id="install_url"
name="install_url" class="span5 input_box"
size="70" placeholder="https://"/>
	</div>
</div>
<div class="form-actions">
	<input type="button" class="btn btn-primary"
id="installbutton_url"
		value="<?php echo
JText::_('PLG_INSTALLER_URLINSTALLER_BUTTON'); ?>"
onclick="Joomla.submitbuttonurl()" />
</div>
urlinstaller/urlinstaller.php000064400000001743151161261260012523
0ustar00<?php
/**
 * @package     Joomla.Plugin
 * @subpackage  Installer.urlinstaller
 *
 * @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;

/**
 * UrlFolderInstaller Plugin.
 *
 * @since  3.6.0
 */
class PlgInstallerUrlInstaller extends JPlugin
{
	/**
	 * Load the language file on instantiation.
	 *
	 * @var    boolean
	 * @since  3.6.0
	 */
	protected $autoloadLanguage = true;

	/**
	 * Textfield or Form of the Plugin.
	 *
	 * @return  array  Returns an array with the tab information
	 *
	 * @since   3.6.0
	 */
	public function onInstallerAddInstallationTab()
	{
		$tab            = array();
		$tab['name']    = 'url';
		$tab['label']   =
JText::_('PLG_INSTALLER_URLINSTALLER_TEXT');

		// Render the input
		ob_start();
		include JPluginHelper::getLayoutPath('installer',
'urlinstaller');
		$tab['content'] = ob_get_clean();

		return $tab;
	}
}
urlinstaller/urlinstaller.xml000064400000001515151161261260012531
0ustar00<?xml version="1.0" encoding="utf-8"?>
<extension version="3.6" type="plugin"
group="installer">
	<name>PLG_INSTALLER_URLINSTALLER</name>
	<author>Joomla! Project</author>
	<creationDate>May 2016</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.6.0</version>
	<description>PLG_INSTALLER_URLINSTALLER_PLUGIN_XML_DESCRIPTION</description>

	<files>
		<filename
plugin="urlinstaller">urlinstaller.php</filename>
	</files>

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