__  __    __   __  _____      _            _          _____ _          _ _ 
 |  \/  |   \ \ / / |  __ \    (_)          | |        / ____| |        | | |
 | \  / |_ __\ V /  | |__) | __ ___   ____ _| |_ ___  | (___ | |__   ___| | |
 | |\/| | '__|> <   |  ___/ '__| \ \ / / _` | __/ _ \  \___ \| '_ \ / _ \ | |
 | |  | | |_ / . \  | |   | |  | |\ V / (_| | ||  __/  ____) | | | |  __/ | |
 |_|  |_|_(_)_/ \_\ |_|   |_|  |_| \_/ \__,_|\__\___| |_____/|_| |_|\___V 2.1
 if you need WebShell for Seo everyday contact me on Telegram
 Telegram Address : @jackleet
        
        
For_More_Tools: Telegram: @jackleet | Bulk Smtp support mail sender | Business Mail Collector | Mail Bouncer All Mail | Bulk Office Mail Validator | Html Letter private



Upload:

Command:

[email protected]: ~ $
<?php
/**
 * @package Helix_Ultimate_Framework
 * @author JoomShaper <[email protected]>
 * @copyright Copyright (c) 2010 - 2021 JoomShaper
 * @license http://www.gnu.org/licenses/gpl-2.0.html GNU/GPLv2 or Later
 */

namespace HelixUltimate\Framework\Platform;

defined('_JEXEC') or die();

use HelixUltimate\Framework\Platform\Helper;
use HelixUltimate\Framework\Platform\Request;
use HelixUltimate\Framework\System\HelixDocument;
use HelixUltimate\Framework\System\JoomlaBridge;
use Joomla\CMS\Factory;
use Joomla\CMS\HTML\HTMLHelper;
use Joomla\CMS\Language\Text;
use Joomla\CMS\Layout\LayoutHelper;
use Joomla\CMS\Uri\Uri;

/**
 * Platform management class.
 *
 * @since   1.0.0
 */
class Platform
{
	/**
	 * Joomla! app instance.
	 *
	 * @var		CMSApplication		$app	The CMS application instance.
	 * @since	1.0.0
	 */
	protected $app;

	/**
	 * Component name. Invoke from input option.
	 *
	 * @var		string	$option		The option query string value.
	 * @since	1.0.0
	 */
	protected $option;

	/**
	 * Helix value.
	 *
	 * @var		string	$helix	The helix value from query string.
	 * @since	1.0.0
	 */
	protected $helix;

	/**
	 * View name.
	 *
	 * @var		string	$view	The view name from query string.
	 * @since	1.0.0
	 */
	protected $view;

	/**
	 * Template ID value.
	 *
	 * @var		integer		$id		The template ID.
	 * @since	1.0.0
	 */
	protected $id;

	/**
	 * Request value.
	 *
	 * @var		string	$request	The request value from query string.
	 * @since	1.0.0
	 */
	protected $request;

	/**
	 * Helix Version.
	 *
	 * @var		string		$version	The helix version.
	 * @sine	1.0.0
	 */
	protected $version;

	/**
	 * The users array.
	 *
	 * @var		object	$user		The users.
	 * @since	1.0.0
	 */
	protected $user = null;

	/**
	 * If the user has the permission.
	 *
	 * @var		boolean		$permission		The permission value.
	 * @since	1.0.0
	 */
	protected $permission = false;

	/**
	 * Constructor function for platform.
	 *
	 * @return 	void
	 * @since	1.0.0
	 */
	public function __construct()
	{
		$this->user = Factory::getUser();
		$this->app  = Factory::getApplication();
		$input 		= $this->app->input;

		$this->version    = Helper::getVersion();

		$this->option     = $input->get('option', '', 'STRING');
		$this->helix      = $input->get('helix', '', 'STRING');
		$this->view       = $input->get('view', '', 'STRING');
		$this->id         = $input->get('id', null, 'INT');
		$this->request    = $input->get('request', '', 'STRING');

		$this->userTmplEditPermission();
	}

	/**
	 * Initialize the platform
	 *
	 * @return 	void
	 * @since	1.0.0
	 */
	public function initialize()
	{
		if ($this->option === 'com_ajax' && $this->helix === 'ultimate' && $this->id && $this->permission)
		{
			$app = Factory::getApplication();
			$id = (int) $app->input->get('id', 0, 'INT');
			$style = Helper::getTemplateStyle($id);

			$layoutData = array(
				'style' => $style,
				'id' 	=> $this->id,
				'version' 	=> $this->version,
				'view' 		=> $this->view,
				'iframe'	=> [
					'url' => Uri::root(true) . '/index.php?templateStyle=' . $style->id . "&helixMode=edit",
					'width' => '100%',
					'height' => '100%'
				]
			);

			return LayoutHelper::render('display', $layoutData, HELIX_LAYOUTS_PATH);
		}
	}

	/**
	 * Handle the task requests.
	 * This function is responsible for handling the API requests
	 * which are made as task or subtask
	 *
	 * @return	void
	 * @since	2.0.0
	 */
	public function handleRequests()
	{
		$request = new Request;

		if ($this->option === 'com_ajax' && $this->helix === 'ultimate' && $this->request === 'task')
		{
			$request->initialize();
			exit;
		}
	}

	/**
	 * Check user template edit permission.
	 *
	 * @return	void
	 * @since	1.0.0
	 */
	private function userTmplEditPermission()
	{
		if ($this->user->id && $this->user->authorise('core.edit', 'com_templates'))
		{
			$this->permission = true;
		}
	}

	/**
	 * Load framework system.
	 *
	 * @return	void
	 * @since	1.0.0
	 */
	public static function loadFrameworkSystem()
	{
		$app = Factory::getApplication();
		$doc = Factory::getDocument();
		$helixDocument = new HelixDocument;
		$style_id = (int) $app->input->get('id', 0, 'INT');

		$template = Helper::loadTemplateData();
		$helix_plg_uri = Uri::root(true) . '/plugins/system/helixultimate';
		$helix_assets_url = Uri::root() . 'plugins/system/helixultimate/assets';

		Factory::getLanguage()->load('tpl_' . $template->template, JPATH_SITE, null, true);
		self::registerLanguageScripts();

		/** Set meta information. */
		$doc->setTitle("Helix Ultimate Framework");
		$doc->setGenerator('Helix Ultimate - The Best Joomla Template Framework!');
		$doc->addFavicon($helix_plg_uri . '/assets/images/favicon.ico');
		$doc->setMetaData('viewport', 'width=device-width, initial-scale=1.0');

		$helixDocument->addInlineScript('var helixUltimateStyleId = ' . $style_id . ';');

		/** System defined assets */
		$helixDocument->useScript('jquery')
			->useScript('jquery-noconflict')
			->useScript('jquery-migrate')
			->registerAndUseScript('cms', '', ['version' => 'auto', 'relative' => true])
			->registerAndUseScript('script.bootstrap', '', ['version' => 'auto', 'relative' => true])
			->registerAndUseStyle('style.bootstrap', $helix_assets_url . '/css/bootstrap.min.css', ['version' => 'auto', 'relative' => true])
			->useScript('keepalive')
			->registerAndUseScript('script.chosen', '', ['version' => 'auto', 'relative' => true])
			->registerAndUseScript('script.colorPicker', '', ['version' => 'auto', 'relative' => true]);

		HTMLHelper::_('jquery.token');

		if (JoomlaBridge::getVersion('major') >= 4)
		{
			$helixDocument->useScript('core');
		}

		
		/** Framework defined assets */
		$helixDocument->registerAndUseStyle('style.chosen', '', ['version' => 'auto', 'relative' => true])
			->registerAndUseStyle('style.colorPicker', '', ['version' => 'auto', 'relative' => true])
			->registerAndUseStyle('helix.jquery.ui', $helix_assets_url . '/css/admin/jquery-ui.min.css', ['version' => 'auto', 'relative' => true])
			->registerAndUseStyle('helix.ultimate', $helix_assets_url . '/css/admin/helix-ultimate.css', ['version' => 'auto', 'relative' => true])
			->registerAndUseStyle('helix.modal', $helix_assets_url . '/css/admin/modal.css', ['version' => 'auto', 'relative' => true])
			->registerAndUseStyle('helix.fontAwesome', Uri::root() . 'templates/' . $template->template . '/css/font-awesome.min.css')
			->registerAndUseStyle('helix.device-field', $helix_assets_url . '/css/admin/devices-field.css', ['version' => 'auto', 'relative' => true])
			->registerAndUseStyle('style.helix.menuBuilder', $helix_assets_url . '/css/admin/menu-builder.css', ['version' => 'auto', 'relative' => true])
			->registerAndUseStyle('style.helix.megaMenu', $helix_assets_url . '/css/admin/megamenu.css', ['version' => 'auto', 'relative' => true])
			->registerAndUseStyle('style.helix.toaster', $helix_assets_url . '/css/admin/toaster.css', ['version' => 'auto', 'relative' => false]);

		$helixDocument->registerAndUseScript('helix.jquery.ui', $helix_assets_url . '/js/admin/jquery-ui.min.js', ['version' => 'auto', 'relative' => true], ['defer' => true])
			->registerAndUseScript('helix.toaster', $helix_assets_url . '/js/admin/toaster.js', ['version' => 'auto', 'relative' => false], ['defer' => false])
			->registerAndUseScript('helix.utils', $helix_assets_url . '/js/admin/utils.js', ['version' => 'auto', 'relative' => true], ['defer' => false])
			->registerAndUseScript('helix.fields', $helix_assets_url . '/js/admin/fields.js', ['version' => 'auto', 'relative' => true], ['defer' => true])
			->registerAndUseScript('helix.ultimate', $helix_assets_url . '/js/admin/helix-ultimate.js', ['version' => 'auto', 'relative' => true], ['defer' => true])
			->registerAndUseScript('helix.webFont', $helix_assets_url . '/js/admin/webfont.js', ['version' => 'auto', 'relative' => true], ['defer' => true])
			->registerAndUseScript('helix.modal', $helix_assets_url . '/js/admin/modal.js', ['version' => 'auto', 'relative' => true], ['defer' => true])
			->registerAndUseScript('helix.layout', $helix_assets_url . '/js/admin/layout.js', ['version' => 'auto', 'relative' => true], ['defer' => true])
			->registerAndUseScript('helix.media', $helix_assets_url . '/js/admin/media.js', ['version' => 'auto', 'relative' => true], ['defer' => true])
			->registerAndUseScript('helix.device-field', $helix_assets_url . '/js/admin/devices-field.js', ['version' => 'auto', 'relative' => true], ['defer' => true])
			->registerAndUseScript('helix.presets', $helix_assets_url . '/js/admin/presets.js', ['version' => 'auto', 'relative' => true], ['defer' => true])
			->registerAndUseScript('helix.treeSortable', $helix_assets_url . '/js/admin/treeSortable.js', ['version' => 'auto', 'relative' => true], ['defer' => true])
			->registerAndUseScript('helix.menubuilder', $helix_assets_url . '/js/admin/menubuilder.js', ['version' => 'auto', 'relative' => true], ['defer' => true])
			->registerAndUseScript('helix.megamenu', $helix_assets_url . '/js/admin/megamenu.js', ['version' => 'auto', 'relative' => true], ['defer' => true]);

		// Pass important data to Joomla variable for javascript
		$meta = array(
			'base' => rtrim(Uri::root(), '/'),
			'activeMenu' => $template->params->get('menu', 'mainmenu', 'STRING')
		);

		$doc->addScriptOptions('meta', $meta);
		$doc->setBuffer((new self)->initialize(), 'component');
	}

	/**
	 * Register the framework language strings for JavaScript.
	 * i.e by Joomla.Text._()
	 *
	 * @return	void
	 * @since	2.0.0
	 */
	private static function registerLanguageScripts()
	{
		Text::script('HELIX_ULTIMATE_SELECT_ICON_LABEL');
	}
}

Filemanager

Name Type Size Permission Actions
Builders Folder 0775
Classes Folder 0775
Blog.php File 7.23 KB 0664
HTMLOverride.php File 4.74 KB 0664
Helper.php File 17.03 KB 0664
Media.php File 9.8 KB 0664
Platform.php File 9.41 KB 0664
Request.php File 18.3 KB 0664
Settings.php File 10.24 KB 0664
Filemanager