Server : Apache System : Linux webd348.cluster026.gra.hosting.ovh.net 5.15.148-ovh-vps-grsec-zfs-classid #1 SMP Thu Feb 8 09:41:04 UTC 2024 x86_64 User : hednacluml ( 122243) PHP Version : 8.3.9 Disable Function : _dyuweyrj4,_dyuweyrj4r,dl Directory : /home/hednacluml/histoire/ecrire/action/ |
<?php /***************************************************************************\ * SPIP, Système de publication pour l'internet * * * * Copyright © avec tendresse depuis 2001 * * Arnaud Martin, Antoine Pitrou, Philippe Rivière, Emmanuel Saint-James * * * * Ce programme est un logiciel libre distribué sous licence GNU/GPL. * \***************************************************************************/ /** * Gestion de l'action activer_plugins * * @package SPIP\Core\Plugins **/ 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 $test = []; 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; } } $plugin = []; 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 )); 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)) { $plugins_interessants = []; } $plugins_interessants2 = []; 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)); } /** * 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')) { die('erreur'); } // forcer la maj des meta pour les cas de modif de numero de version base via phpmyadmin lire_metas(); enregistre_modif_plugin(); }