protected function display() { $this->smartyHelper->assign('activeGlobalMenuItem', 'Admin'); if (Tools::isConnectedUser()) { if (!$this->session_user->isTeamMember(Config::getInstance()->getValue(Config::id_adminTeamId))) { $this->smartyHelper->assign('accessDenied', TRUE); } else { $action = filter_input(INPUT_POST, 'action'); if (empty($action)) { $action = 'display'; } $pm = PluginManager::getInstance(); // === ACTIONS ===================================================== if ('enablePlugin' == $action) { $pluginName = Tools::getSecurePOSTStringValue('pluginName'); $pm->enablePlugin($pluginName); } else { if ('disablePlugin' == $action) { $pluginName = Tools::getSecurePOSTStringValue('pluginName'); $pm->disablePlugin($pluginName); } else { if ('discoverNewPlugins' == $action) { try { Tools::createClassMap(); $pm->discoverNewPlugins(); //$this->smartyHelper->assign('infoMsg', T_('Found xx new plugins !')); } catch (Exception $e) { $this->smartyHelper->assign('errorMsg', T_('Could not create classmap: ') . $e->getMessage()); } } } } // === DISPLAY ===================================================== // set values to display plugin table $plugins = $pm->getPlugins(); $formattedPlugins = array(); foreach ($plugins as $plugin) { $className = $plugin['className']; $formated_domains = array(); foreach ($plugin['domains'] as $domName) { array_push($formated_domains, T_($domName)); } //sort($formated_domains); $formated_categories = array(); foreach ($plugin['categories'] as $catName) { array_push($formated_categories, T_($catName)); } //sort($formated_categories); $formattedPlugins[$className] = array('name' => $plugin['displayedName'], 'status' => $plugin['status'], 'statusName' => pluginManager::getStatusName($plugin['status']), 'domains' => implode(',<br>', $formated_domains), 'categories' => implode(',<br>', $formated_categories), 'version' => $plugin['version'], 'description' => $plugin['description']); } $this->smartyHelper->assign('availablePlugins', $formattedPlugins); } } }