Habari\AdminPluginsHandler::get_plugin_toggle PHP Метод

get_plugin_toggle() публичный Метод

Handles plugin activation or deactivation.
public get_plugin_toggle ( )
    public function get_plugin_toggle()
    {
        $extract = $_GET->filter_keys('plugin_id', 'action');
        foreach ($extract as $key => $value) {
            ${$key} = $value;
        }
        $plugins = Plugins::list_all();
        foreach ($plugins as $file) {
            if (Plugins::id_from_file($file) == $plugin_id) {
                switch (strtolower($action)) {
                    case 'activate':
                        if (Plugins::activate_plugin($file)) {
                            $plugins = Plugins::get_active();
                            Session::notice(_t("Activated plugin '@plugin'", array('@plugin' => $plugins[Plugins::id_from_file($file)]->info->name)), $plugins[Plugins::id_from_file($file)]->plugin_id);
                        }
                        break;
                    case 'deactivate':
                        if (Plugins::deactivate_plugin($file)) {
                            $plugins = Plugins::get_active();
                            Session::notice(_t("Deactivated plugin '@plugin'", array('@plugin' => $plugins[Plugins::id_from_file($file)]->info->name)), $plugins[Plugins::id_from_file($file)]->plugin_id);
                        }
                        break;
                    default:
                        Plugins::act('adminhandler_get_plugin_toggle_action', $action, $file, $plugin_id, $plugins);
                        break;
                }
            }
        }
        Utils::redirect(URL::get('display_plugins'));
    }