File Manager

Current Directory: /home/astoriaah/www/old15/administrator/components/com_akeeba/controllers
Viewing File: /home/astoriaah/www/old15/administrator/components/com_akeeba/controllers/extfilter.php
<?php /** * @package AkeebaBackup * @copyright Copyright (c)2009-2014 Nicholas K. Dionysopoulos * @license GNU General Public License version 3, or later * * @since 2.1 */ // Protect from unauthorized access defined('_JEXEC') or die(); /** * Extension Filter controller class * */ class AkeebaControllerExtfilter extends AkeebaControllerDefault { public function execute($task) { if (!in_array($task, array( 'components', 'languages', 'modules', 'plugins', 'templates', 'toggleComponent', 'toggleLanguage', 'toggleModule', 'togglePlugin', 'toggleTemplate' )) ) { $task = 'components'; } parent::execute($task); } /** * Components task, shows all non-core components */ function components($cachable = false, $urlparams = false) { $this->getThisView()->setLayout('components'); $this->getThisView()->task = components; parent::display($cachable, $urlparams); } /** * Languages task, shows all languages except the default */ function languages($cachable = false, $urlparams = false) { $this->getThisView()->setLayout('languages'); $this->getThisView()->task = 'languages'; parent::display($cachable, $urlparams); } /** * Modules task, shows all non-core modules */ function modules($cachable = false, $urlparams = false) { $this->getThisView()->setLayout('modules'); $this->getThisView()->task = 'modules'; parent::display($cachable, $urlparams); } /** * Plugins task, shows all non-core plugins */ function plugins($cachable = false, $urlparams = false) { $this->getThisView()->setLayout('plugins'); $this->getThisView()->task = 'plugins'; parent::display($cachable, $urlparams); } /** * Templates task, shows all non-core templates */ function templates($cachable = false, $urlparams = false) { $this->getThisView()->setLayout('templates'); $this->getThisView()->task = 'templates'; parent::display($cachable, $urlparams); } /** * Toggles the exclusion of a component * */ function toggleComponent() { //JResponse::setHeader('Cache-Control','no-cache, must-revalidate',true); // HTTP 1.1 - Cache control //JResponse::setHeader('Expires','Sat, 26 Jul 1997 05:00:00 GMT',true); // HTTP 1.0 - Date in the past // Get the option passed along $root = $this->input->get('root', 'default', 'string'); $item = $this->input->get('item', '', 'string'); // Try to figure out if this component is allowed to be excluded (exists and is non-Core) $model = $this->getThisModel(); $components = $model->getComponents(); $found = false; $numRows = count($components); for ($i = 0; $i < $numRows; $i++) { $row = $components[$i]; if ($row['item'] == $item) { $found = true; $name = $row['name']; } } $link = JUri::base() . 'index.php?option=com_akeeba&view=extfilter&task=components'; if (!$found) { $msg = JText::sprintf('EXTFILTER_ERROR_INVALIDCOMPONENT', $item); $this->setRedirect($link, $msg, 'error'); } else { $model->toggleComponentFilter($root, $item); $link = JUri::base() . 'index.php?option=com_akeeba&view=extfilter&task=components'; $msg = JText::sprintf('EXTFILTER_MSG_TOGGLEDCOMPONENT', $name); $this->setRedirect($link, $msg); } parent::redirect(); } /** * Toggles the exclusion of a module * */ function toggleModule() { //JResponse::setHeader('Cache-Control','no-cache, must-revalidate',true); // HTTP 1.1 - Cache control //JResponse::setHeader('Expires','Sat, 26 Jul 1997 05:00:00 GMT',true); // HTTP 1.0 - Date in the past // Get the option passed along $root = $this->input->get('root', 'frontend', 'string'); $item = $this->input->get('item', '', 'string'); // Try to figure out if this component is allowed to be excluded (exists and is non-Core) $model = $this->getThisModel(); $modules = $model->getModules(); $found = false; $numRows = count($modules); for ($i = 0; $i < $numRows; $i++) { $row = $modules[$i]; if (($row['item'] == $item) && ($row['root'] == $root)) { $found = true; $name = $row['name']; break; } } $link = JUri::base() . 'index.php?option=com_akeeba&view=extfilter&task=modules'; if (!$found) { $msg = JText::sprintf('EXTFILTER_ERROR_INVALIDMODULE', $item); $this->setRedirect($link, $msg, 'error'); } else { $model->toggleModuleFilter($root, $item); $msg = JText::sprintf('EXTFILTER_MSG_TOGGLEDMODULE', $name); $this->setRedirect($link, $msg); } parent::redirect(); } /** * Toggles the exclusion of a language * */ function toggleLanguage() { //JResponse::setHeader('Cache-Control','no-cache, must-revalidate',true); // HTTP 1.1 - Cache control //JResponse::setHeader('Expires','Sat, 26 Jul 1997 05:00:00 GMT',true); // HTTP 1.0 - Date in the past // Get the option passed along $root = $this->input->get('root', '', 'string'); $item = $this->input->get('item', '', 'string'); // Try to figure out if this component is allowed to be excluded (exists and is non-Core) $model = $this->getThisModel(); $languages = $model->getLanguages(); $found = false; $numRows = count($languages); for ($i = 0; $i < $numRows; $i++) { $row = $languages[$i]; if (($row['item'] == $item) && ($row['root'] == $root)) { $found = true; $name = $row['name']; break; } } $link = JUri::base() . 'index.php?option=com_akeeba&view=extfilter&task=languages'; if (!$found) { $msg = JText::sprintf('EXTFILTER_ERROR_INVALIDLANGUAGE', $item); $this->setRedirect($link, $msg, 'error'); } else { $model->toggleLanguageFilter($root, $item); $msg = JText::sprintf('EXTFILTER_MSG_TOGGLEDLANGUAGE', $name); $this->setRedirect($link, $msg); } parent::redirect(); } /** * Toggles the exclusion of a plugin * */ function togglePlugin() { //JResponse::setHeader('Cache-Control','no-cache, must-revalidate',true); // HTTP 1.1 - Cache control //JResponse::setHeader('Expires','Sat, 26 Jul 1997 05:00:00 GMT',true); // HTTP 1.0 - Date in the past // Get the option passed along $root = $this->input->get('root', '', 'string'); $item = $this->input->get('item', '', 'string'); // Try to figure out if this component is allowed to be excluded (exists and is non-Core) $model = $this->getThisModel(); $plugins = $model->getPlugins(); $found = false; $numRows = count($plugins); for ($i = 0; $i < $numRows; $i++) { $row = $plugins[$i]; if (($row['item'] == $item) && ($row['root'] == $root)) { $found = true; $name = $row['name']; break; } } if (!$found) { $link = JUri::base() . 'index.php?option=com_akeeba&view=extfilter&task=plugins'; $msg = JText::sprintf('EXTFILTER_ERROR_INVALIDPLUGIN', $item); $this->setRedirect($link, $msg, 'error'); } else { $model->togglePluginFilter($root, $item); $link = JUri::base() . 'index.php?option=com_akeeba&view=extfilter&task=plugins'; $msg = JText::sprintf('EXTFILTER_MSG_TOGGLEDPLUGIN', $name); $this->setRedirect($link, $msg); } parent::redirect(); } /** * Toggles the exclusion of a template * */ function toggleTemplate() { //JResponse::setHeader('Cache-Control','no-cache, must-revalidate',true); // HTTP 1.1 - Cache control //JResponse::setHeader('Expires','Sat, 26 Jul 1997 05:00:00 GMT',true); // HTTP 1.0 - Date in the past // Get the option passed along $root = $this->input->get('root', '', 'string'); $item = $this->input->get('item', '', 'string'); // Try to figure out if this component is allowed to be excluded (exists and is non-Core) $model = $this->getThisModel(); $templates = $model->getTemplates(); $found = false; $numRows = count($templates); for ($i = 0; $i < $numRows; $i++) { $row = $templates[$i]; if (($row['item'] == $item) && ($row['root'] == $root)) { $found = true; $name = $row['name']; break; } } $link = JUri::base() . 'index.php?option=com_akeeba&view=extfilter&task=templates'; if (!$found) { $msg = JText::sprintf('EXTFILTER_ERROR_INVALIDTEMPLATE', $item); $this->setRedirect($link, $msg, 'error'); } else { $model->toggleTemplateFilter($root, $item); $msg = JText::sprintf('EXTFILTER_MSG_TOGGLEDTEMPLATE', $name); $this->setRedirect($link, $msg); } parent::redirect(); } }