From 9d402b43f890ffae3ceb67ac7f6af0ac3044f94e Mon Sep 17 00:00:00 2001 From: "Committo,Ergo:sum" <esj@rezo.net> Date: Thu, 27 Sep 2007 10:53:42 +0000 Subject: [PATCH] =?UTF-8?q?Include=20oubli=C3=A9=20dans=20[10438],=20centr?= =?UTF-8?q?alisation=20des=20r=C3=A9f=C3=A9rences=20au=20cache=20des=20met?= =?UTF-8?q?as=20dans=20le=20fichier=20meta.php,=20en=20particulier=20dispa?= =?UTF-8?q?rition=20de=20sa=20refabrication=20dans=20les=20fonctions=20d'a?= =?UTF-8?q?dministration=20des=20plugins:=20sauf=20autre=20bug=20ant=C3=A9?= =?UTF-8?q?-diluvien=20(qui=20sera=20ainsi=20d=C3=A9couvert)=20=C3=A7a=20n?= =?UTF-8?q?e=20devrait=20pas=20les=20g=C3=AAner.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ecrire/action/desinstaller_plugin.php | 2 -- ecrire/inc/meta.php | 16 +++++++++++++++- ecrire/inc/plugin.php | 7 ++----- ecrire/inc/utils.php | 13 ++----------- ecrire/maj/v019.php | 6 +++--- 5 files changed, 22 insertions(+), 22 deletions(-) diff --git a/ecrire/action/desinstaller_plugin.php b/ecrire/action/desinstaller_plugin.php index 59b901bd16..ba03d64050 100644 --- a/ecrire/action/desinstaller_plugin.php +++ b/ecrire/action/desinstaller_plugin.php @@ -25,8 +25,6 @@ function action_desinstaller_plugin_dist() { // desactiver si il a bien ete desinstalle if (!$etat) ecrire_plugin_actifs(array($plug_file),false,'enleve'); - include_spip('inc/meta'); - if (lire_metas()) ecrire_fichier(_FILE_META, serialize($GLOBALS['meta'])); } if ($redirect = _request('redirect')){ include_spip('inc/headers'); diff --git a/ecrire/inc/meta.php b/ecrire/inc/meta.php index f01cb35f00..d422e7cf9d 100644 --- a/ecrire/inc/meta.php +++ b/ecrire/inc/meta.php @@ -13,7 +13,20 @@ if (!defined("_ECRIRE_INC_VERSION")) return; // Les parametres generaux du site sont dans une table SQL; -// Recopie dans un tableau PHP global, car on en a souvent besoin +// Recopie dans le tableau PHP global meta, car on en a souvent besoin + +function init_metas() +{ + // Lire les meta, en cache si disponibles. + if (lire_fichier(_FILE_META, $meta)) + $GLOBALS['meta'] = @unserialize($meta); + // si cache absent, le refaire. + if (!$GLOBALS['meta']) { + if (lire_metas()) + ecrire_fichier(_FILE_META, + serialize($GLOBALS['meta'])); + } +} // http://doc.spip.org/@lire_metas function lire_metas() { @@ -37,6 +50,7 @@ function ecrire_meta($nom, $valeur, $importable = NULL) { $GLOBALS['meta'][$nom] = $valeur; if (!_FILE_CONNECT && !@file_exists(_FILE_CONNECT_INS .'.php')) return; + include_spip('base/abstract_sql'); $res = sql_fetsel("impt,valeur", 'spip_meta', "nom=" . _q($nom)); // conserver la valeur de impt si existante // et ne pas detruire le cache si affectation a l'identique diff --git a/ecrire/inc/plugin.php b/ecrire/inc/plugin.php index 5e38b6c0c4..363834e0e2 100644 --- a/ecrire/inc/plugin.php +++ b/ecrire/inc/plugin.php @@ -219,7 +219,7 @@ function liste_chemin_plugin_actifs(){ function ecrire_plugin_actifs($plugin,$pipe_recherche=false,$operation='raz') { static $liste_pipe_manquants=array(); - include_spip('inc/meta'); + $liste_fichier_verif = array(); if (($pipe_recherche)&&(!in_array($pipe_recherche,$liste_pipe_manquants))) @@ -357,8 +357,6 @@ function ecrire_plugin_actifs($plugin,$pipe_recherche=false,$operation='raz') { $liste_fichier_verif[$k] = (_DIR_RACINE?"":"../") . _DIR_PLUGINS . preg_replace(",(_DIR_PLUGINS\.)?',", "", $f); ecrire_fichier(_DIR_TMP.'verifier_plugins.txt', serialize($liste_fichier_verif)); - - if (lire_metas()) ecrire_fichier(_FILE_META, serialize($GLOBALS['meta'])); } // precompilation des pipelines @@ -530,8 +528,8 @@ function installe_plugins(){ } } ecrire_meta('plugin_installes',serialize($meta_plug_installes),'non'); - ecrire_metas(); } + // http://doc.spip.org/@plugin_est_installe function plugin_est_installe($plug_path){ $plugin_installes = isset($GLOBALS['meta']['plugin_installes'])?unserialize($GLOBALS['meta']['plugin_installes']):array(); @@ -767,7 +765,6 @@ function plugin_pipeline_props(&$arbre){ // http://doc.spip.org/@verifie_include_plugins function verifie_include_plugins() { - include_spip('inc/meta'); ecrire_meta('message_crash_plugins', 1); /* if (_request('exec')!="admin_plugin" diff --git a/ecrire/inc/utils.php b/ecrire/inc/utils.php index 01db26cec4..452bc30b8b 100644 --- a/ecrire/inc/utils.php +++ b/ecrire/inc/utils.php @@ -1334,17 +1334,8 @@ function spip_initialisation($pi=NULL, $pa=NULL, $ti=NULL, $ta=NULL) { define('_RENOUVELLE_ALEA', 12 * 3600); if (_FILE_CONNECT) { - // Lire les meta, en cache si disponibles. - if (lire_fichier(_FILE_META, $meta)) - $GLOBALS['meta'] = @unserialize($meta); - // si cache absent, le refaire. - if (!$GLOBALS['meta']) { - include_spip('inc/meta'); - if (lire_metas()) - ecrire_fichier(_FILE_META, - serialize($GLOBALS['meta'])); - } - + include_spip('inc/meta'); + init_metas(); // Forcer le renouvellement de l'alea if (test_espace_prive() diff --git a/ecrire/maj/v019.php b/ecrire/maj/v019.php index c5bd217bb1..b6df415fa1 100644 --- a/ecrire/maj/v019.php +++ b/ecrire/maj/v019.php @@ -63,8 +63,8 @@ function maj_v019_dist($version_installee, $version_cible) $liste_tables[7]='spip_rubriques'; $liste_tables[8]='spip_signatures'; $liste_tables[9]='spip_syndic'; - $s=addslashes(serialize($liste_tables)); - spip_query("INSERT INTO spip_meta ( `nom` , `valeur` , `maj` ) VALUES ('index_table', '$s', NOW( ));"); + + ecrire_meta('index_table', serialize($liste_tables)); spip_query("INSERT INTO spip_index (`hash`,`points`,`id_objet`,`id_table`) SELECT `hash`,`points`,`id_article` as id_objet,'1' as id_table FROM spip_index_articles"); spip_query("DROP TABLE IF EXISTS spip_index_articles"); @@ -92,7 +92,7 @@ function maj_v019_dist($version_installee, $version_cible) spip_query("INSERT INTO spip_index (`hash`,`points`,`id_objet`,`id_table`) SELECT `hash`,`points`,`id_syndic` as id_objet,'9' as `id_table FROM spip_index_syndic"); spip_query("DROP TABLE IF EXISTS spip_index_syndic"); - if (lire_metas()) ecrire_fichier(_FILE_META, serialize($GLOBALS['meta'])); + maj_version(1.905); } -- GitLab