public function logoutUser() { cbimport('cb.authentication'); $cbAuthenticate = new CBAuthentication(); $redirect_url = KunenaRoute::current(); $resultError = $cbAuthenticate->logout($redirect_url); return $resultError ? $resultError : null; }
elseif (is_file(KPATH_SITE . "/controllers/{$view}.php")) { // Execute old MVC. // Legacy support: If the content layout doesn't exist on HMVC, load and execute the old controller. $controller = KunenaController::getInstance(); KunenaRoute::cacheLoad(); ob_start(); $controller->execute($task); $contents = ob_get_clean(); KunenaRoute::cacheStore(); $controller->redirect(); } else { // Legacy URL support. $uri = KunenaRoute::current(true); if ($uri) { // FIXME: using wrong Itemid JFactory::getApplication()->redirect(KunenaRoute::_($uri, false)); } else { return JError::raiseError(404, "Kunena view '{$view}' not found"); } } // Prepare and display the output. $dispatcher = JDispatcher::getInstance(); $dispatcher->trigger('onKunenaBeforeRender', array("com_kunena.{$view}", &$contents)); $contents = (string) $contents;
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; }