public static function getModel($model) { // make sure VM is loaded: if (!class_exists('VmConfig')) { require JPATH_ADMINISTRATOR . DS . 'components' . DS . 'com_virtuemart' . DS . 'helpers' . DS . 'config.php'; VmConfig::loadConfig(); } if (empty(OPCmini::$modelCache)) { OPCmini::$modelCache = array(); } if (!empty(OPCmini::$modelCache[$model])) { return OPCmini::$modelCache[$model]; } if (!class_exists('VirtueMartModel' . ucfirst($model))) { require JPATH_VM_ADMINISTRATOR . DS . 'models' . DS . strtolower($model) . '.php'; } if (method_exists('VmModel', 'getModel')) { $Omodel = VmModel::getModel($model); OPCmini::$modelCache[$model] = $Omodel; return $Omodel; } else { // this section loads models for VM2.0.0 to VM2.0.4 $class = 'VirtueMartModel' . ucfirst($model); if (class_exists($class)) { if ($class == 'VirtueMartModelUser') { //require_once(JPATH_SITE.DS.'components'.DS.'com_onepage'.DS.'overrides'.DS.'user.php'); //$class .= 'Override'; $Omodel = new VirtueMartModelUser(); return $Omodel; $Omodel->setMainTable('virtuemart_vmusers'); } $Omodel = new $class(); OPCmini::$modelCache[$model] = $Omodel; return $Omodel; } else { echo 'Class not found: ' . $class; $app = JFactory::getApplication()->close(); } } echo 'Model not found: ' . $model; $app = JFactory::getApplication()->close(); //return new ${'VirtueMartModel'.ucfirst($model)}(); }