public static function initialize() { KUNENA_PROFILER ? KunenaProfiler::instance()->start('function '.__CLASS__.'::'.__FUNCTION__.'()') : null; self::$config = KunenaFactory::getConfig (); if (JFactory::getApplication()->isAdmin()) { self::$adminApp = true; KUNENA_PROFILER ? KunenaProfiler::instance()->stop('function '.__CLASS__.'::'.__FUNCTION__.'()') : null; return; } self::$menus = JFactory::getApplication()->getMenu (); self::$menu = self::$menus->getMenu (); self::$default = self::$menus->getDefault(); $active = self::$menus->getActive(); // Get the full request URI. $uri = clone JUri::getInstance(); // Get current route. self::$current = new JUri('index.php'); if ($active) { foreach ($active->query as $key => $value) { self::$current->setVar($key, $value); } self::$current->setVar('Itemid', (int) $active->id); if ($active->type == 'component' && $active->component == 'com_kunena' && isset($active->query['view'])) { self::$active = $active; } } // If values are both in GET and POST, they are only stored in POST foreach (JRequest::get('post') as $key => $value) { if (in_array($key, array('view', 'layout', 'task')) && !preg_match('/[^a-zA-Z0-9_.]/i', $value)) { self::$current->setVar($key, $value); } } // Make sure that request URI is not broken foreach (JRequest::get('get') as $key => $value) { if (preg_match('/[^a-zA-Z]/', $key)) { continue; } if (in_array($key, array('q', 'query', 'searchuser'))) { // Allow all values } // TODO: we need to find a way to here deal with arrays: &foo[]=bar elseif (gettype($value)=='string') { if(preg_match('/[^a-zA-Z0-9_ ]/i', $value)) { // Illegal value continue; } } self::$current->setVar($key, $value); } if (self::$current->getVar('start')) { self::$current->setVar('limitstart', self::$current->getVar('start')); self::$current->delVar('start'); } self::$home = self::getHome(self::$active); KUNENA_PROFILER ? KunenaProfiler::instance()->stop('function '.__CLASS__.'::'.__FUNCTION__.'()') : null; }
public static function initialize() { KUNENA_PROFILER ? KunenaProfiler::instance()->start('function '.__CLASS__.'::'.__FUNCTION__.'()') : null; self::$config = KunenaFactory::getConfig (); if (JFactory::getApplication()->isAdmin()) { self::$adminApp = true; KUNENA_PROFILER ? KunenaProfiler::instance()->stop('function '.__CLASS__.'::'.__FUNCTION__.'()') : null; return; } self::$menus = JFactory::getApplication()->getMenu (); self::$menu = self::$menus->getMenu (); self::$default = self::$menus->getDefault(); $active = self::$menus->getActive (); if ($active && $active->type == 'component' && $active->component == 'com_kunena' && isset($active->query['view'])) { self::$active = $active; } else { self::$active = null; } self::$home = self::getHome(self::$active); KUNENA_PROFILER ? KunenaProfiler::instance()->stop('function '.__CLASS__.'::'.__FUNCTION__.'()') : null; }