/** * @Security("has_role('ROLE_ADMIN')") * @Route("/plugins/add") * * @return array */ public function pluginsAddAction() { $appPlugin = new \AppPlugin(); $allPlugins = $appPlugin->read_plugins_from_path(); $allPluginsList = []; foreach ($allPlugins as $pluginName) { $file = api_get_path(SYS_PLUGIN_PATH) . $pluginName . '/plugin.php'; if (is_file($file)) { $pluginInfo = (require $file); var_dump($pluginInfo); exit; $allPluginsList[] = $pluginInfo; } } $installedPlugins = $appPlugin->get_installed_plugins(); $manager = $this->getSettingsManager(); $schemas = $manager->getSchemas(); return $this->render('@ChamiloCore/Admin/Settings/pluginsAdd.html.twig', array('plugins' => $allPluginsList, 'installed_plugins' => $installedPlugins)); }
/** * This function allows easy activating and inactivating of plugins * @author Patrick Cool <*****@*****.**>, Ghent University */ function store_plugins() { $appPlugin = new AppPlugin(); // Get a list of all current 'Plugins' settings $plugin_list = $appPlugin->read_plugins_from_path(); $installed_plugins = array(); foreach ($plugin_list as $plugin) { if (isset($_POST['plugin_' . $plugin])) { $appPlugin->install($plugin); $installed_plugins[] = $plugin; } } if (!empty($installed_plugins)) { $remove_plugins = array_diff($plugin_list, $installed_plugins); } else { $remove_plugins = $plugin_list; } foreach ($remove_plugins as $plugin) { $appPlugin->uninstall($plugin); } }