%PDF- %PDF-
Direktori : /home1/lightco1/www/lightingrepublic.com.au/administrator/components/com_akeeba/ |
Current File : //home1/lightco1/www/lightingrepublic.com.au/administrator/components/com_akeeba/dispatcher.php |
<?php /** * @package AkeebaBackup * @copyright Copyright (c)2009-2013 Nicholas K. Dionysopoulos * @license GNU General Public License version 3, or later * @since 3.5 */ // Protect from unauthorized access defined('_JEXEC') or die(); class AkeebaDispatcher extends FOFDispatcher { public function onBeforeDispatch() { $result = parent::onBeforeDispatch(); if($result) { // Load Akeeba Strapper include_once JPATH_ROOT.'/media/akeeba_strapper/strapper.php'; AkeebaStrapper::$tag = AKEEBAMEDIATAG; AkeebaStrapper::bootstrap(); AkeebaStrapper::jQueryUI(); AkeebaStrapper::addJSfile('media://com_akeeba/js/gui-helpers.js'); AkeebaStrapper::addJSfile('media://com_akeeba/js/akeebaui.js'); AkeebaStrapper::addJSfile('media://com_akeeba/plugins/js/akeebaui.js'); AkeebaStrapper::addCSSfile('media://com_akeeba/theme/akeebaui.css'); } return $result; } public function dispatch() { if(!class_exists('AkeebaControllerDefault')) { require_once JPATH_ADMINISTRATOR.'/components/com_akeeba/controllers/default.php'; } // Merge the language overrides $paths = array(JPATH_ROOT, JPATH_ADMINISTRATOR); $jlang = JFactory::getLanguage(); $jlang->load($this->component, $paths[0], 'en-GB', true); $jlang->load($this->component, $paths[0], null, true); $jlang->load($this->component, $paths[1], 'en-GB', true); $jlang->load($this->component, $paths[1], null, true); $jlang->load($this->component.'.override', $paths[0], 'en-GB', true); $jlang->load($this->component.'.override', $paths[0], null, true); $jlang->load($this->component.'.override', $paths[1], 'en-GB', true); $jlang->load($this->component.'.override', $paths[1], null, true); // Live Update translation $jlang->load('liveupdate', JPATH_COMPONENT_ADMINISTRATOR.'/liveupdate', 'en-GB', true); $jlang->load('liveupdate', JPATH_COMPONENT_ADMINISTRATOR.'/liveupdate', $jlang->getDefault(), true); $jlang->load('liveupdate', JPATH_COMPONENT_ADMINISTRATOR.'/liveupdate', null, true); // Timezone fix; avoids errors printed out by PHP 5.3.3+ (thanks Yannick!) if(function_exists('date_default_timezone_get') && function_exists('date_default_timezone_set')) { if(function_exists('error_reporting')) { $oldLevel = error_reporting(0); } $serverTimezone = @date_default_timezone_get(); if(empty($serverTimezone) || !is_string($serverTimezone)) $serverTimezone = 'UTC'; if(function_exists('error_reporting')) { error_reporting($oldLevel); } @date_default_timezone_set( $serverTimezone); } // Necessary defines for Akeeba Engine if(!defined('AKEEBAENGINE')) { define('AKEEBAENGINE', 1); // Required for accessing Akeeba Engine's factory class define('AKEEBAROOT', dirname(__FILE__).'/akeeba'); } // Setup Akeeba's ACLs, honoring laxed permissions in component's parameters, if set // Access check, Joomla! 1.6 style. $user = JFactory::getUser(); if (!$user->authorise('core.manage', 'com_akeeba')) { return JError::raiseError(403, JText::_('JERROR_ALERTNOAUTHOR')); } // Make sure we have a profile set throughout the component's lifetime $session = JFactory::getSession(); $profile_id = $session->get('profile', null, 'akeeba'); if(is_null($profile_id)) { // No profile is set in the session; use default profile $session->set('profile', 1, 'akeeba'); } // Load the factory require_once JPATH_COMPONENT_ADMINISTRATOR.'/akeeba/factory.php'; // Load the Akeeba Backup configuration and check user access permission $aeconfig = AEFactory::getConfiguration(); AEPlatform::getInstance()->load_configuration(); unset($aeconfig); // Preload helpers require_once JPATH_COMPONENT_ADMINISTRATOR.'/helpers/includes.php'; require_once JPATH_COMPONENT_ADMINISTRATOR.'/helpers/escape.php'; // Load the utils helper library AEPlatform::getInstance()->load_version_defines(); // Create a versioning tag for our static files $staticFilesVersioningTag = md5(AKEEBA_VERSION.AKEEBA_DATE); define('AKEEBAMEDIATAG', $staticFilesVersioningTag); // If JSON functions don't exist, load our compatibility layer if( (!function_exists('json_encode')) || (!function_exists('json_decode')) ) { require_once JPATH_COMPONENT_ADMINISTRATOR.'/helpers/jsonlib.php'; } // Handle Live Update requests if(!class_exists('LiveUpdate')) { require_once JPATH_ADMINISTRATOR.'/components/com_akeeba/liveupdate/liveupdate.php'; if(($this->input->get('view','', 'cmd') == 'liveupdate')) { LiveUpdate::handleRequest(); return true; } } // Look for controllers in the plugins folder $option = $this->input->get('option','com_foobar', 'cmd'); $view = $this->input->get('view',$this->defaultView, 'cmd'); $c = FOFInflector::singularize($view); $alt_path = JPATH_ADMINISTRATOR.'/components/'.$option.'/plugins/controllers/'.$c.'.php'; JLoader::import('joomla.filesystem.file'); if(JFile::exists($alt_path)) { // The requested controller exists and there you load it... require_once($alt_path); } $this->input->set('view', $this->view); parent::dispatch(); } }