Beispiel #1
0
function site_admin_warnings()
{
    $forgeupgrade_config = new ForgeUpgradeConfig(new System_Command());
    $forgeupgrade_config->loadDefaults();
    if (!$forgeupgrade_config->isSystemUpToDate()) {
        return '<div class="alert alert-error">' . $GLOBALS['Language']->getText('admin_main', 'forgeupgrade') . '</div>';
    }
}
 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);
 }
 /**
  * Remove plugin from ForgeUpgrade configuration
  *
  * Keep migration scripts in DB, it doesn't matter.
  *
  * @param String $name Plugin's name
  */
 protected function uninstallForgeUpgrade($name)
 {
     try {
         $this->forgeupgrade_config->loadDefaults();
         $this->forgeupgrade_config->removePath($GLOBALS['sys_pluginsroot'] . $name);
     } catch (Exception $e) {
         $GLOBALS['Response']->addFeedback('warning', "ForgeUpgrade configuration update failed: " . $e->getMessage());
     }
 }
 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);
         }
     }
 }