X-Git-Url: http://git.cyclocoop.org/?a=blobdiff_plain;f=www%2Fecrire%2Faction%2Factiver_plugins.php;fp=www%2Fecrire%2Faction%2Factiver_plugins.php;h=cdc592d3915558d59ba75d4d0535f1d96e786aff;hb=4f443dce95ff6f8221c189880a70c74ce1c1f238;hp=0226197ea50b64eb5def54c141f71396820edce1;hpb=4a628e9b277d3617535f99d663ca79fa2e891177;p=lhc%2Fweb%2Fwww.git diff --git a/www/ecrire/action/activer_plugins.php b/www/ecrire/action/activer_plugins.php index 0226197e..cdc592d3 100644 --- a/www/ecrire/action/activer_plugins.php +++ b/www/ecrire/action/activer_plugins.php @@ -3,65 +3,90 @@ /***************************************************************************\ * SPIP, Systeme de publication pour l'internet * * * - * Copyright (c) 2001-2016 * + * Copyright (c) 2001-2017 * * Arnaud Martin, Antoine Pitrou, Philippe Riviere, Emmanuel Saint-James * * * * Ce programme est un logiciel libre distribue sous licence GNU/GPL. * * Pour plus de details voir le fichier COPYING.txt ou l'aide en ligne. * \***************************************************************************/ -if (!defined('_ECRIRE_INC_VERSION')) return; +/** + * Gestion de l'action activer_plugins + * + * @package SPIP\Core\Plugins + **/ -// mise a jour des donnees si envoi via formulaire -// http://doc.spip.org/@enregistre_modif_plugin -function enregistre_modif_plugin(){ +if (!defined('_ECRIRE_INC_VERSION')) { + return; +} + +/** + * Mise à jour des données si envoi via formulaire + * + * @global array $GLOBALS ['visiteur_session'] + * @global array $GLOBALS ['meta'] + * @return void + */ +function enregistre_modif_plugin() { include_spip('inc/plugin'); - // recuperer les plugins dans l'ordre des $_POST + // recuperer les plugins dans l'ordre des $_POST $test = array(); - foreach(liste_plugin_files() as $file){ - $test['s'.substr(md5(_DIR_PLUGINS.$file),0,16)] = $file; + foreach (liste_plugin_files() as $file) { + $test['s' . substr(md5(_DIR_PLUGINS . $file), 0, 16)] = $file; } - if (defined('_DIR_PLUGINS_SUPPL')) - foreach(liste_plugin_files(_DIR_PLUGINS_SUPPL) as $file){ - $test['s'.substr(md5(_DIR_PLUGINS_SUPPL.$file),0,16)] = $file; + if (defined('_DIR_PLUGINS_SUPPL')) { + foreach (liste_plugin_files(_DIR_PLUGINS_SUPPL) as $file) { + $test['s' . substr(md5(_DIR_PLUGINS_SUPPL . $file), 0, 16)] = $file; } + } - $plugin=array(); + $plugin = array(); - foreach($_POST as $choix=>$val){ - if (isset($test[$choix])&&$val=='O') - $plugin[]=$test[$choix]; + foreach ($_POST as $choix => $val) { + if (isset($test[$choix]) && $val == 'O') { + $plugin[] = $test[$choix]; + } } - spip_log("Changement des plugins actifs par l'auteur " . $GLOBALS['visiteur_session']['id_auteur'] . ": " . join(',', $plugin)); + spip_log("Changement des plugins actifs par l'auteur " . $GLOBALS['visiteur_session']['id_auteur'] . ": " . join(',', + $plugin)); ecrire_plugin_actifs($plugin); // Chaque fois que l'on valide des plugins, on memorise la liste de ces plugins comme etant "interessants", avec un score initial, qui sera decremente a chaque tour : ainsi un plugin active pourra reter visible a l'ecran, jusqu'a ce qu'il tombe dans l'oubli. $plugins_interessants = @unserialize($GLOBALS['meta']['plugins_interessants']); - if (!is_array($plugins_interessants)) + if (!is_array($plugins_interessants)) { $plugins_interessants = array(); + } $plugins_interessants2 = array(); - foreach($plugins_interessants as $plug => $score) - if ($score > 1) - $plugins_interessants2[$plug] = $score-1; - foreach ($plugin as $plug) - $plugins_interessants2[$plug] = 10; // score initial + foreach ($plugins_interessants as $plug => $score) { + if ($score > 1) { + $plugins_interessants2[$plug] = $score - 1; + } + } + foreach ($plugin as $plug) { + $plugins_interessants2[$plug] = 10; + } // score initial ecrire_meta('plugins_interessants', serialize($plugins_interessants2)); } -// http://doc.spip.org/@action_activer_plugins_dist +/** + * Fonction d'initialisation avant l'activation des plugins + * + * Vérifie les droits et met à jour les méta avant de lancer l'activation des plugins + * + * @return void + */ function action_activer_plugins_dist() { $securiser_action = charger_fonction('securiser_action', 'inc'); $securiser_action(); - if (!autoriser('configurer', '_plugins')) + if (!autoriser('configurer', '_plugins')) { die('erreur'); + } // forcer la maj des meta pour les cas de modif de numero de version base via phpmyadmin lire_metas(); enregistre_modif_plugin(); } - -?>