Example #1
0
 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));
             }
         }
     }
 }