/** @ignore */
define('PLUGINS_DISABLED', true);
/**
 * MantisBT Core API's
 */
require_once 'core.php';
require_api('access_api.php');
require_api('authentication_api.php');
require_api('config_api.php');
require_api('form_api.php');
require_api('gpc_api.php');
require_api('helper_api.php');
require_api('lang_api.php');
require_api('plugin_api.php');
require_api('print_api.php');
require_api('string_api.php');
form_security_validate('manage_plugin_uninstall');
auth_reauthenticate();
access_ensure_global_level(config_get('manage_plugin_threshold'));
# register plugins and metadata without initializing
plugin_register_installed();
$f_basename = gpc_get_string('name');
$t_plugin = plugin_register($f_basename, true);
helper_ensure_confirmed(sprintf(lang_get('plugin_uninstall_message'), string_display_line($t_plugin->name)), lang_get('plugin_uninstall'));
if (!is_null($t_plugin)) {
    plugin_uninstall($t_plugin);
} else {
    plugin_force_uninstall($f_basename);
}
form_security_purge('manage_plugin_uninstall');
print_successful_redirect('manage_plugin_page.php');
Example #2
0
/**
 * Initialize all installed plugins.
 * Post-signals EVENT_PLUGIN_INIT.
 */
function plugin_init_installed()
{
    if (OFF == config_get_global('plugins_enabled') || !db_table_exists(db_get_table('plugin'))) {
        return;
    }
    global $g_plugin_cache, $g_plugin_current, $g_plugin_cache_priority, $g_plugin_cache_protected, $g_plugin_cache_init;
    $g_plugin_cache = array();
    $g_plugin_current = array();
    $g_plugin_cache_init = array();
    $g_plugin_cache_priority = array();
    $g_plugin_cache_protected = array();
    plugin_register('MantisCore');
    plugin_register_installed();
    $t_plugins = array_keys($g_plugin_cache);
    do {
        $t_continue = false;
        $t_plugins_retry = array();
        foreach ($t_plugins as $t_basename) {
            if (plugin_init($t_basename)) {
                $t_continue = true;
            } else {
                # Dependent plugin
                $t_plugins_retry[] = $t_basename;
            }
        }
        $t_plugins = $t_plugins_retry;
    } while ($t_continue);
    event_signal('EVENT_PLUGIN_INIT');
}