public function uninstallAction() { $request = $this->getRequest(); $extensions = array(); $files = glob(dirname(__FILE__) . '/Extensions/*.php'); if ($files) { foreach ($files as $file) { if (preg_match('/^([\\w]{1,})Controller$/i', basename($file, '.php'), $match)) { $extensions[] = mb_strtolower($match[1], 'utf-8'); } } } $extension = $request->getQuery('extension'); if (in_array($extension, $extensions)) { $res = Model_Extensions::uninstall($extension); if ($res) { $module_name = JO_Front::getInstance()->formatModuleName('model_extensions_' . $extension); $file_model = APPLICATION_PATH . '/modules/' . $request->getModule() . '/' . JO_Front::getInstance()->classToFilename($module_name); if (file_exists($file_model)) { if (!class_exists($module_name, false)) { JO_Loader::loadFile($file_model); } if (method_exists($module_name, 'uninstall')) { call_user_func(array($module_name, 'uninstall')); } } else { $module_name = JO_Front::getInstance()->formatControllerName('extensions_' . $extension); $file_model = APPLICATION_PATH . '/modules/' . $request->getModule() . '/controllers/' . JO_Front::getInstance()->classToFilename($module_name); if (file_exists($file_model)) { if (!class_exists($module_name, false)) { JO_Loader::loadFile($file_model); } if (method_exists($module_name, 'uninstall')) { call_user_func(array($module_name, 'uninstall')); } } } $this->session->set('successfu_edite', true); } } $this->redirect($this->getRequest()->getBaseUrl() . $this->getRequest()->getModule() . '/extensions/'); }