示例#1
0
// initialize
$installed = false;
// initialize
$op = @$superCage->get->getAlpha('op');
$p = @$superCage->get->getEscaped('p');
switch ($op) {
    case 'uninstall':
        if (!checkFormToken()) {
            cpg_die(ERROR, $lang_errors['invalid_form_token'], __FILE__, __LINE__);
        }
        $plugin_id = $p;
        if ($CONFIG['enable_plugins'] == 1) {
            if (!is_numeric($p)) {
                $plugin_id = CPGPluginAPI::installed($plugin_id);
            }
            $uninstalled = CPGPluginAPI::uninstall($plugin_id);
        } else {
            $query = 'SELECT * FROM ' . $CONFIG['TABLE_PLUGINS'] . ' WHERE plugin_id=' . $plugin_id . ' LIMIT 1;';
            $result = cpg_db_query($query);
            $installed_plugin = mysql_fetch_assoc($result);
            if ($installed_plugin) {
                $priority = $installed_plugin['priority'];
                $name = $installed_plugin['name'];
                $sql = 'DELETE FROM ' . $CONFIG['TABLE_PLUGINS'] . ' ' . 'WHERE plugin_id=' . $plugin_id . ';';
                $result = cpg_db_query($sql);
                // Shift the plugins up
                $sql = 'UPDATE ' . $CONFIG['TABLE_PLUGINS'] . ' SET priority=priority-1 WHERE priority>' . $priority . ';';
                $result = cpg_db_query($sql);
                if ($CONFIG['log_mode']) {
                    log_write("Plugin '" . $name . "' uninstalled", CPG_GLOBAL_LOG);
                }