// set the options array $options = array('site' => 'site', 'type' => 'components', 'ext' => 'com_mysite'); // Require the base controller Mysite::load('MysiteController', 'controller', $options); // Require specific controller if requested $controller = JRequest::getWord('controller', JRequest::getVar('view')); if (!Mysite::load('MysiteController' . $controller, "controllers.{$controller}", $options)) { $controller = ''; } // redirect to default? if (empty($controller)) { // redirect to default $redirect = "index.php?option=com_mysite&view=dashboard"; $redirect = JRoute::_($redirect, false); JFactory::getApplication()->redirect($redirect); } // load the plugins JPluginHelper::importPlugin('mysite'); // Create the controller $classname = 'MysiteController' . $controller; $controller = Mysite::getClass($classname); // ensure a valid task exists $task = JRequest::getVar('task'); if (empty($task)) { $task = 'display'; } JRequest::setVar('task', $task); // Perform the requested task $controller->execute($task); // Redirect if set by the controller $controller->redirect();