get('manage', false,'vm')); if(!$manage) $session->set('manage', 0,'vm'); $feViews = array('askquestion','cart','invoice','pdf','pluginresponse','productdetails','recommend','vendor','vmplg'); $app = vFactory::getApplication(); if($manage and $task!='feed' and !in_array($_controller,$feViews)){ if ( shopFunctionsF::isFEmanager() ) { $session->set('manage', 1,'vm'); vRequest::setVar('manage','1'); vRequest::setVar('tmpl','component') ; VmConfig::loadJLang('com_virtuemart'); $jlang = vFactory::getLanguage(); $tag = $jlang->getTag(); $jlang->load('', JPATH_ADMINISTRATOR,$tag,true); VmConfig::loadJLang('com_virtuemart'); $basePath = VMPATH_ADMIN; $trigger = 'onVmAdminController'; vmJsApi::jQuery(false); vmJsApi::loadBECSS(); $router = $app->getRouter(); $router->setMode(0); } else { $session->set('manage', 0,'vm'); vRequest::setVar('manage',0); $basePath = VMPATH_SITE; $app->redirect('index.php?option=com_virtuemart', vmText::_('COM_VIRTUEMART_RESTRICTED_ACCESS') ); } } elseif($_controller) { if($_controller!='productdetails'){ $session->set('manage', 0,'vm'); vRequest::setVar('manage','0'); } vmJsApi::jQuery(); vmJsApi::jSite(); vmJsApi::cssSite(); $basePath = VMPATH_SITE; } } // controller alias if ($_controller=='pluginresponse') { $_controller='vmplg'; } /* Create the controller name */ $_class = 'VirtuemartController'.ucfirst($_controller); if (file_exists($basePath.DS.'controllers'.DS.$_controller.'.php')) { if (!class_exists($_class)) { require ($basePath.DS.'controllers'.DS.$_controller.'.php'); } } else { // try plugins vPluginHelper::importPlugin('vmextended'); $dispatcher = vDispatcher::getInstance(); $rets = $dispatcher->trigger($trigger, array($_controller)); foreach($rets as $ret){ if($ret) return true; } } if (class_exists($_class)) { $controller = new $_class(); $controller->execute($task); //vmTime($_class.' Finished task '.$task,'Start'); vmRam('End'); vmRamPeak('Peak'); /* Redirect if set by the controller */ $controller->redirect(); } else { vmDebug('VirtueMart controller not found: '. $_class); if (VmConfig::get('handle_404',1)) { $mainframe = vFactory::getApplication(); $mainframe->redirect(JRoute::_ ('index.php?option=com_virtuemart&view=virtuemart', FALSE)); } else { JError::raise(E_ERROR,'404','Not found'); } }