setCaching (1); $_controller = 'virtuemart'; require (JPATH_VM_SITE.DS.'controllers'.DS.'virtuemart.php'); JRequest::setVar('view', 'virtuemart'); $task=''; $basePath = JPATH_VM_SITE; } else { /*menuItemId Fix Dirty $menuid = vRequest::getInt('Itemid',false); $session = JFactory::getSession(); if($menuid){ $session->set('vmitemid', $menuid,'vm'); } else { $menuid = $session->get('vmitemid', false,'vm'); if($menuid) vRequest::setVar('Itemid',$menuid ); }*/ //$cache->setCaching (0); /* Front-end helpers */ if(!class_exists('VmImage')) require(JPATH_VM_ADMINISTRATOR.DS.'helpers'.DS.'image.php'); //dont remove that file it is actually in every view except the state view if(!class_exists('shopFunctionsF'))require(JPATH_VM_SITE.DS.'helpers'.DS.'shopfunctionsf.php'); //dont remove that file it is actually in every view $_controller = JRequest::getWord('view', JRequest::getWord('controller', 'virtuemart')) ; $trigger = 'onVmSiteController'; $task = JRequest::getWord('task','') ; if ((($_controller == 'product' || $_controller == 'category') && ($task == 'save' || $task == 'edit')) || ($_controller == 'translate' && $task='paste') ) { $app = JFactory::getApplication(); if(!class_exists('Permissions')) require(JPATH_VM_ADMINISTRATOR.DS.'helpers'.DS.'permissions.php'); if (Permissions::getInstance()->check("admin,storeadmin")) { VmConfig::loadJLang('com_virtuemart'); $basePath = JPATH_VM_ADMINISTRATOR; $trigger = 'onVmAdminController'; vmJsApi::jQuery(false); //vmJsApi::js('vmsite'); } else { $app->redirect('index.php?option=com_virtuemart', jText::_('COM_VIRTUEMART_RESTRICTED_ACCESS') ); } } elseif($_controller) { vmJsApi::jQuery(); vmJsApi::jSite(); vmJsApi::cssSite(); $basePath = JPATH_VM_SITE; } } // controller alias if ($_controller=='vmplg') { $_controller='pluginresponse'; } /* 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 JPluginHelper::importPlugin('vmextended'); JPluginHelper::importPlugin('vmshipment'); JPluginHelper::importPlugin('vmpayment'); $dispatcher = JDispatcher::getInstance(); $dispatcher->trigger($trigger, array($_controller)); } if (class_exists($_class)) { $controller = new $_class(); // @deprecated JPluginHelper::importPlugin('vmuserfield'); $dispatcher = JDispatcher::getInstance(); $dispatcher->trigger('plgVmOnMainController', array($_controller)); /* Perform the Request task */ $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 = Jfactory::getApplication(); $mainframe->redirect(JRoute::_ ('index.php?option=com_virtuemart&view=virtuemart', FALSE)); } else { JError::raise(E_ERROR,'404','Not found'); } }