Ejemplo n.º 1
0
 /**
  * @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));
 }
Ejemplo n.º 2
0
/**
 * 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);
    }
}