public function testRemovePathInTheMiddleOfFile() { $configFile = $this->fixtures . '/forgeupgrade-addpath.ini'; copy($this->fixtures . '/forgeupgrade-config-docman.ini', $configFile); $fuc = new ForgeUpgradeConfig($this->command, $configFile); $this->assertTrue($fuc->existsInPath('/usr/share/tuleap/plugins/webdav')); $fuc->removePath('/usr/share/tuleap/plugins/webdav'); $this->assertFalse($fuc->existsInPath('/usr/share/tuleap/plugins/webdav')); // Verify by loading it again $fuc2 = new ForgeUpgradeConfig($this->command, $configFile); $this->assertFalse($fuc2->existsInPath('/usr/share/tuleap/plugins/webdav')); unlink($configFile); }
function _searchPlugins() { if (!$this->_plugins) { $this->_plugins = array(); $plugin_manager = $this->plugin_manager; try { $forgeUpgradeConfig = new ForgeUpgradeConfig(); $forgeUpgradeConfig->loadDefaults(); $noFUConfig = array(); } catch (Exception $e) { $GLOBALS['Response']->addFeedback('warning', $e->getMessage()); } $plugins = $plugin_manager->getAllPlugins(); foreach ($plugins as $plugin) { $plug_info =& $plugin->getPluginInfo(); $descriptor =& $plug_info->getPluginDescriptor(); $available = $plugin_manager->isPluginAvailable($plugin); $name = $descriptor->getFullName(); if (strlen(trim($name)) === 0) { $name = get_class($plugin); } $dont_touch = strcasecmp(get_class($plugin), 'PluginsAdministrationPlugin') === 0; $dont_restrict = $plugin->getScope() !== Plugin::SCOPE_PROJECT; $this->_plugins[] = array('plugin_id' => $plugin->getId(), 'name' => $name, 'description' => $descriptor->getDescription(), 'version' => $descriptor->getVersion(), 'available' => $available, 'scope' => $plugin->getScope(), 'dont_touch' => $dont_touch, 'dont_restrict' => $dont_restrict); if (isset($noFUConfig) && !$forgeUpgradeConfig->existsInPath($plugin->getFilesystemPath())) { $noFUConfig[] = array('name' => $name, 'plugin' => $plugin); } } // ForgeUpgrade configuration warning if (isset($noFUConfig) && count($noFUConfig) && isset($GLOBALS['forgeupgrade_file'])) { $txt = 'Some plugins are not referenced in ForgeUpgrade configuration, please add the following in <code>' . $GLOBALS['forgeupgrade_file'] . '.</code><br/>'; foreach ($noFUConfig as $plugInfo) { $txt .= '<code>path[]="' . $plugInfo['plugin']->getFilesystemPath() . '"</code><br/>'; } $GLOBALS['Response']->addFeedback('warning', $txt, CODENDI_PURIFIER_DISABLED); } } }
function _searchPlugins() { if (!$this->_plugins) { $this->_plugins = array(); $this->_priorities = array(); $plugin_hook_priority_manager = new PluginHookPriorityManager(); $plugin_manager =& PluginManager::instance(); try { $forgeUpgradeConfig = new ForgeUpgradeConfig(); $forgeUpgradeConfig->loadDefaults(); $noFUConfig = array(); } catch (Exception $e) { $GLOBALS['Response']->addFeedback('warning', $e->getMessage()); } $plugins = $plugin_manager->getAllPlugins(); foreach ($plugins as $plugin) { $plug_info =& $plugin->getPluginInfo(); $descriptor =& $plug_info->getPluginDescriptor(); $available = $plugin_manager->isPluginAvailable($plugin); $name = $descriptor->getFullName(); if (strlen(trim($name)) === 0) { $name = get_class($plugin); } $dont_touch = strcasecmp(get_class($plugin), 'PluginsAdministrationPlugin') === 0; $this->_plugins[] = array('plugin_id' => $plugin->getId(), 'name' => $name, 'description' => $descriptor->getDescription(), 'version' => $descriptor->getVersion(), 'available' => $available, 'scope' => $plugin->getScope(), 'dont_touch' => $dont_touch); if (isset($noFUConfig) && !$forgeUpgradeConfig->existsInPath($plugin->getFilesystemPath())) { $noFUConfig[] = array('name' => $name, 'plugin' => $plugin); } $col_hooks =& $plugin->getHooks(); $hooks =& $col_hooks->iterator(); while ($hooks->valid()) { $hook =& $hooks->current(); $priority = $plugin_hook_priority_manager->getPriorityForPluginHook($plugin, $hook); if (!isset($this->_priorities[$hook])) { $this->_priorities[$hook] = array(); } if (!isset($this->_priorities[$hook][$priority])) { $this->_priorities[$hook][$priority] = array(); } $this->_priorities[$hook][$priority][$plugin->getId()] = array('name' => $name, 'available' => $available); $hooks->next(); } } // ForgeUpgrade configuration warning if (isset($noFUConfig) && count($noFUConfig) && isset($GLOBALS['forgeupgrade_file'])) { $txt = 'Some plugins are not referenced in ForgeUpgrade configuration, please add the following in <code>' . $GLOBALS['forgeupgrade_file'] . '.</code><br/>'; foreach ($noFUConfig as $plugInfo) { $txt .= '<code>path[]="' . $plugInfo['plugin']->getFilesystemPath() . '"</code><br/>'; } $GLOBALS['Response']->addFeedback('warning', $txt, CODENDI_PURIFIER_DISABLED); } } }