public function indexAction() { if ($this->session->get('successfu_edite')) { $this->view->successfu_edite = true; $this->session->clear('successfu_edite'); } $request = $this->getRequest(); $files = glob(dirname(__FILE__) . '/Extensions/*.php'); $this->view->extensions = array(); if ($files) { foreach ($files as $file) { if (preg_match('/^([\\w]{1,})Controller$/i', basename($file, '.php'), $match)) { $key = mb_strtolower($match[1], 'utf-8'); $name = $match[1]; $controller_name = JO_Front::getInstance()->formatControllerName('extensions_' . $key); if (!class_exists($controller_name, false)) { JO_Loader::loadFile($file); } if (method_exists($controller_name, 'info')) { $data = call_user_func(array($controller_name, 'info')); if (isset($data['name']) && $data['name']) { $name = $data['name']; } } $this->view->extensions[] = array('key' => $key, 'install' => $request->getModule() . '/extensions/install/?extension=' . $key, 'uninstall' => $request->getModule() . '/extensions/uninstall/?extension=' . $key, 'edit' => $request->getModule() . '/extensions/edit/?extension=' . $key, 'name' => $name, 'sort' => (int) JO_Registry::forceGet($key . '_sort_order'), 'status' => JO_Registry::forceGet($key . '_status') ? $this->translate('Enabled') : $this->translate('Disabled'), 'installed' => Model_Extensions::isInstaled($key)); } } } }