public function onBeforeDispatch()
 {
     $result = parent::onBeforeDispatch();
     if ($result) {
         // Clear com_modules and com_plugins cache (needed when we alter module/plugin state)
         $core_components = array('com_modules', 'com_plugins');
         foreach ($core_components as $component) {
             try {
                 $cache = JFactory::getCache($component);
                 $cache->clean();
             } catch (Exception $e) {
                 // suck it up
             }
         }
         // 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);
         // Load Akeeba Strapper
         if (!defined('ADMINTOOLSMEDIATAG')) {
             $staticFilesVersioningTag = md5(ADMINTOOLS_VERSION . ADMINTOOLS_DATE);
             define('ADMINTOOLSMEDIATAG', $staticFilesVersioningTag);
         }
         include_once JPATH_ROOT . '/media/akeeba_strapper/strapper.php';
         AkeebaStrapper::$tag = ADMINTOOLSMEDIATAG;
         AkeebaStrapper::bootstrap();
         AkeebaStrapper::jQueryUI();
         AkeebaStrapper::addCSSfile('media://com_admintools/css/backend.css');
         // Work around non-transparent proxy and reverse proxy IP issues
         include_once JPATH_ADMINISTRATOR . '/components/com_admintools/helpers/ip.php';
         if (class_exists('AdmintoolsHelperIp', false)) {
             AdmintoolsHelperIp::workaroundIPIssues();
         }
         // Control Check
         $view = F0FInflector::singularize($this->input->getCmd('view', $this->defaultView));
         if ($view == 'liveupdate') {
             $url = JUri::base() . 'index.php?option=com_admintools';
             JFactory::getApplication()->redirect($url);
             return;
         }
         // ========== Master PW check ==========
         $model = F0FModel::getAnInstance('Masterpw', 'AdmintoolsModel');
         if (!$model->accessAllowed($view)) {
             $url = $view == 'cpanel' ? 'index.php' : 'index.php?option=com_admintools&view=cpanel';
             JFactory::getApplication()->redirect($url, JText::_('ATOOLS_ERR_NOTAUTHORIZED'), 'error');
             return;
         }
     }
     return $result;
 }
    if (!version_compare(JVERSION, '1.6.0', 'ge')) {
        define('ADMINTOOLS_JVERSION', '15');
    } else {
        define('ADMINTOOLS_JVERSION', '16');
    }
}
// If JSON functions don't exist, load our compatibility layer
if (!function_exists('json_encode') || !function_exists('json_decode')) {
    require_once JPATH_COMPONENT_ADMINISTRATOR . DIRECTORY_SEPARATOR . 'helpers' . DIRECTORY_SEPARATOR . 'jsonlib.php';
}
JLoader::import('joomla.application.component.model');
require_once JPATH_ADMINISTRATOR . '/components/com_admintools/models/storage.php';
$paths = array(JPATH_ADMINISTRATOR, JPATH_ROOT);
$jlang = JFactory::getLanguage();
$jlang->load('com_admintools', $paths[0], 'en-GB', true);
$jlang->load('com_admintools', $paths[0], null, true);
$jlang->load('com_admintools', $paths[1], 'en-GB', true);
$jlang->load('com_admintools', $paths[1], null, true);
$jlang->load('com_admintools' . '.override', $paths[0], 'en-GB', true);
$jlang->load('com_admintools' . '.override', $paths[0], null, true);
$jlang->load('com_admintools' . '.override', $paths[1], 'en-GB', true);
$jlang->load('com_admintools' . '.override', $paths[1], null, true);
// Force the view and task
JRequest::setVar('view', 'blocks');
JRequest::setVar('task', 'browse');
// Work around non-transparent proxy and reverse proxy IP issues
include_once JPATH_ADMINISTRATOR . '/components/com_admintools/helpers/ip.php';
if (class_exists('AdmintoolsHelperIp', false)) {
    AdmintoolsHelperIp::workaroundIPIssues();
}
F0FDispatcher::getTmpInstance('com_admintools')->dispatch();
Example #3
0
 /**
  * Checks if the user's IP is contained in a list of IPs or IP expressions
  *
  * @param   array  $ipTable  The list of IP expressions
  *
  * @return  null|bool  True if it's in the list, null if the filtering can't proceed
  */
 public static function IPinList($ipTable = array())
 {
     // Get our IP address
     $ip = static::getIp();
     return AdmintoolsHelperIp::IPinList($ip, $ipTable);
 }
Example #4
0
 /**
  * Work around non-transparent proxy and reverse proxy IP issues
  *
  * @return  void
  */
 protected function workaroundIP()
 {
     include_once JPATH_ADMINISTRATOR . '/components/com_admintools/helpers/ip.php';
     if (class_exists('AdmintoolsHelperIp', false)) {
         AdmintoolsHelperIp::workaroundIPIssues();
     }
 }