Changeset 85868 in spip-zone


Ignore:
Timestamp:
Nov 5, 2014, 11:23:11 PM (5 years ago)
Author:
bystrano@…
Message:

une option pour désactiver tous les plugins

File:
1 edited

Legend:

Unmodified
Added
Removed
  • _outils_/spip-cli/trunk/spip-cli/PluginsDesactiver.php

    r85867 r85868  
    1818                'La liste de plugins à désactiver.'
    1919            )
     20            ->addOption(
     21                'all',
     22                'a',
     23                InputOption::VALUE_NONE,
     24                "Désactiver tous les plugins."
     25            )
    2026        ;
    2127    }
     
    2935            chdir($spip_racine);
    3036
    31             if ( ! $plugins = $input->getArgument('plugins')) {
     37            $actifs = unserialize($GLOBALS['meta']['plugin']);
     38
     39            if ($input->getOption('all')) {
     40                $plugins = array_map('strtolower',array_keys($actifs));
     41
     42                include_spip('base/abstract_sql');
     43                $plugins = array_filter($plugins, function ($prefixe) {
     44                    return sql_countsel('spip_plugins as pl'.
     45                                        ' INNER JOIN spip_paquets as pa'.
     46                                        ' ON pa.prefixe=pl.prefixe',
     47                                        array(
     48                                            'pl.prefixe='.sql_quote(strtoupper($prefixe)),
     49                                            'pa.constante="_DIR_PLUGINS"',
     50                                        ));
     51
     52                });
     53
     54            } else {
     55                $plugins = $input->getArgument('plugins');
     56            }
     57
     58            if ( ! $plugins) {
    3259                $output->writeln('<comment>Vous n\'avez pas spécifié de plugin à désactiver</comment>');
    3360
     
    4168                return;
    4269            }
    43 
    44             $plugins = $input->getArgument('plugins');
    45 
    46             $actifs = unserialize($GLOBALS['meta']['plugin']);
    4770
    4871            $dir_uns = array();
Note: See TracChangeset for help on using the changeset viewer.