Example #1
0
<?php

// Include required files
include_once dirname(dirname(__FILE__)) . '/cc-core/config/admin.bootstrap.php';
App::LoadClass('User');
// Establish page variables, objects, arrays, etc
Functions::RedirectIf($logged_in = User::LoginCheck(), HOST . '/login/');
$admin = new User($logged_in);
Functions::RedirectIf(User::CheckPermissions('admin_panel', $admin), HOST . '/myaccount/');
$message = null;
$page_title = 'Plugins';
$plugin_list = array();
$installed_plugins = unserialize(Settings::Get('installed_plugins'));
$enabled_plugins = Plugin::GetEnabledPlugins();
### Handle "Delete" plugin if requested
if (!empty($_GET['delete']) && !ctype_space($_GET['delete'])) {
    if (Plugin::ValidPlugin($_GET['delete'])) {
        // Disable plugin if applicable
        $key = array_search($_GET['delete'], $enabled_plugins);
        if ($key !== false) {
            unset($enabled_plugins[$key]);
            Settings::Set('enabled_plugins', serialize($enabled_plugins));
        }
        // Uninstall plugin
        $key = array_search($_GET['delete'], $installed_plugins);
        if ($key !== false) {
            if (method_exists($_GET['delete'], 'Uninstall')) {
                call_user_func(array($_GET['delete'], 'Uninstall'));
            }
            unset($installed_plugins[$key]);
            Settings::Set('installed_plugins', serialize($installed_plugins));