Dangereux et contraire à l'esprit même des plugins :
si c'est pour intervenir à la main dans mes_options et mes_fonctions, autant publier une contrib ...
Ca cassera des sites à l'activation et à la desactivation du plugin etc...
Cette version est à bannir de vos besaces ou a tout le moins utilisez la en connaissance de cause et ne venez pas vous plaindre apres !
Cédric
Le 7 oct. 08 à 18:40, patfr@ifrance.com a écrit :
Author: patfr@ifrance.com
Date: Tue Oct 7 18:40:10 2008
New Revision: 23007Log:
Attention : dépôt peu anodin.On ajoute ici un 3ème fichier précompilé : tmp/couteau-suisse/config_mes_options.php
Ce fichier est un morceau de code (uniquement des définitions de globales ou de constantes) permettant de piloter SPIP au plus haut dans le déroulement des choses.
-> règle le bug (terme à confirmer ?) des urls qui ne sont désormais plus pilotables par les plugins - Ex : define('_SPIP_SCRIPT', "");
-> sécurise la compilation des traitements de balise en amont ($GLOBALS['table_des_traitements'])
-> peut stabiliser la configuration du plugin, alors que des courts-circuits volatils ont lieu régulièrement (avec les appels aux fonds par exemple, ou peut-être aux chaînes de langues, aux générations d'urls, etc.), pouvant entraîner alors un appel des fonctions avant la fin des options et créer des erreurs bloquantes.En résumé :
- config_mes_options.php s'insère dans config/mes_options et gère les paramètres SPIP et les hautes variables du plugin
- mes_options.php gère les paramètres usuels des outils du couteau suisse, respectant la hiérarchie des plugins
- mes_fonctions.php contient tout le matériel nécessaire à la compilation des pages de squelette.Fonctionnement :
Le Couteau Suisse tente de placer un include dans le fichier config/mes_options.php
S'il n'y arrive pas, le fichier config_mes_options.php est alors simplement appelé par mes_options (fonctionnement antérieur)
Un avertissement pourra à l'avenir avertir l'utilisateur de cette procédure, l'invitant éventuellement à placer à la main le code d'inclusion permettant au Couteau Suisse de fonctionner de façon optimale.Testé sous SPIP 2.0 avec succès.
J'ouvre une porte. A suivre donc.
Added:
_plugins_/_stable_/couteau_suisse/fonds/en_travaux2.html (contents, props changed)
- copied, changed from r21791, _plugins_/_stable_/couteau_suisse/fonds/en_travaux.html
Modified:
_plugins_/_stable_/couteau_suisse/config_outils.php
_plugins_/_stable_/couteau_suisse/cout_lancement.php
_plugins_/_stable_/couteau_suisse/cout_options.php
_plugins_/_stable_/couteau_suisse/cout_utils.php
_plugins_/_stable_/couteau_suisse/fonds/en_travaux.html
_plugins_/_stable_/couteau_suisse/inc/cs_outils.phpModified: _plugins_/_stable_/couteau_suisse/config_outils.php
--- _plugins_/_stable_/couteau_suisse/config_outils.php (original)
+++ _plugins_/_stable_/couteau_suisse/config_outils.php Tue Oct 7 18:40:10 2008
@@ -62,7 +62,7 @@add_outil( array(
'id' => 'spip_cache',
- 'code:options' => "%%radio_desactive_cache3%%%%duree_cache%%%%duree_cache_mutu%%%%quota_cache%%%%exceptions_cache%%",
+ 'code:config_options' => "%%radio_desactive_cache3%%%%duree_cache%%%%duree_cache_mutu%%%%quota_cache%%%%exceptions_cache%%",
'categorie' => 'admin',
'pipelinecode:insert_head' => 'if(defined(\'_cache_PERSO\')) cs_fixe_cache($GLOBALS[\'delais\']);'
));
@@ -77,7 +77,7 @@
));
add_outil( array(
'id' => 'dossier_squelettes',
- 'code:options' => '%%dossier_squelettes%%',
+ 'code:config_options' => '%%dossier_squelettes%%',
'categorie' => 'admin',
));@@ -113,13 +113,13 @@
));
add_outil( array(
'id' => 'paragrapher2',
- 'code:options' => '%%paragrapher%%',
+ 'code:config_options' => '%%paragrapher%%',
'categorie' => 'admin',
));add_outil( array(
'id' => 'forcer_langue',
- 'code:options' => "\$GLOBALS['forcer_lang']=true;",
+ 'code:config_options' => "\$GLOBALS['forcer_lang']=true;",
'categorie' => 'public',
));@@ -177,7 +177,7 @@
add_outil( array(
'id' => 'simpl_interface',
- 'code:options' => "@define('_ACTIVER_PUCE_RAPIDE', false);",
+ 'code:config_options' => "@define('_ACTIVER_PUCE_RAPIDE', false);",
'categorie' => 'interface',
'version-min' => '1.9300',
));
@@ -264,7 +264,7 @@
));
add_outil( array(
'id' => 'type_urls',
- 'code:options' => "%%radio_type_urls3%%%%spip_script%%%%url_arbo_minuscules%%%%url_arbo_sep_id%%%%urls_arbo_sans_type%%%%terminaison_urls_arbo%%",
+ 'code:config_options' => "%%radio_type_urls3%%%%spip_script%%%%url_arbo_minuscules%%%%url_arbo_sep_id%%%%urls_arbo_sans_type%%%%terminaison_urls_arbo%%",
'categorie' => 'admin',
));@@ -294,7 +294,7 @@
));
add_outil( array(
'id' => 'forum_lgrmaxi',
- 'code:options' => "%%forum_lgrmaxi%%",
+ 'code:config_options' => "%%forum_lgrmaxi%%",
'categorie' => 'admin',
'version-min' => '1.9200',
));
@@ -340,13 +340,13 @@add_outil( array(
'id' => 'no_IP',
- 'code:options' => '$ip = substr(md5($ip),0,16);',
+ 'code:config_options' => '$ip = substr(md5($ip),0,16);',
'categorie' => 'admin',
));add_outil( array(
'id' => 'flock',
- 'code:options' => "@define('_SPIP_FLOCK',false);",
+ 'code:config_options' => "@define('_SPIP_FLOCK',false);",
'categorie' => 'admin',
'version-min' => '1.9300',
));Modified: _plugins_/_stable_/couteau_suisse/cout_lancement.php
--- _plugins_/_stable_/couteau_suisse/cout_lancement.php (original)
+++ _plugins_/_stable_/couteau_suisse/cout_lancement.php Tue Oct 7 18:40:10 2008
@@ -95,8 +95,10 @@
// installer $cs_metas_pipelines
$cs_metas_pipelines = array();
cs_log("$rand -- cs_initialise_includes()... cout_fonctions.php sera probablement inclus.");
- // creer les includes (mes_options et mes_fonctions) et le fichier de controle pipelines.php
+ // creer les includes (config/mes_options, mes_options et mes_fonctions) et le fichier de controle pipelines.php
cs_initialise_includes(count($metas_outils));
+ // verifier le fichier d'options _FILE_OPTIONS (ecrire/mes_options.php ou config/mes_options.php)
+ cs_verif_FILE_OPTIONS(true);
// sauver la configuration
cs_sauve_configuration();
// en metas : outils actifsModified: _plugins_/_stable_/couteau_suisse/cout_options.php
--- _plugins_/_stable_/couteau_suisse/cout_options.php (original)
+++ _plugins_/_stable_/couteau_suisse/cout_options.php Tue Oct 7 18:40:10 2008
@@ -1,5 +1,6 @@
<?php
// Ce fichier est charge a chaque hit //
+echo "cout_options CS !:", _SPIP_SCRIPT, ' - ';// Compatibilites
if (version_compare($GLOBALS['spip_version_code'],'1.9300','>=')) @define('_SPIP19300', 1);
@@ -85,32 +86,43 @@
) define('_CS_PRINT', 1);// test sur le fichier a inclure ici
- $cs_exists = file_exists($f_cs = _DIR_CS_TMP.'mes_options.php');
+ $cs_exists = file_exists($f_mo = _DIR_CS_TMP.'mes_options.php');
+ if(!$GLOBALS['cs_config_options']) $cs_exists |= file_exists($f_mco = _DIR_CS_TMP.'mes_config_options.php');// fonctions indispensables a l'execution
include_spip('cout_lancement');
// lancer l'initialisation du plugin. on force la compilation si cs=calcul
- if(!$cs_exists) spip_log(" -- '$f_cs' introuvable !");
+ if(!$cs_exists) spip_log(" -- '$f_mo' ou '$f_mco' introuvable !");
cs_initialisation(!$cs_exists || in_array('calcul', $GLOBALS['cs_params']));
cs_log("PUIS : cout_options, initialisation terminee");// inclusion des options pre-compilees, si l'on n'est jamais passe par ici...
if (!$GLOBALS['cs_options']) {
-
- if(file_exists($f_cs)) {
- cs_log(" -- inclusion de '$f_cs'");
- include_once($f_cs);
+ // inclusion des options de config si elles n'ont pas deja ete inclues par config/mes_options.php
+ if (!$GLOBALS['cs_config_options']) {
+ if(file_exists($f_mco)) {
+ cs_log(" -- inclusion de '$f_mco'");
+ include_once($f_mco);
+ } else {
+ $GLOBALS['cs_utils'] = 0;
+ cs_log(" -- fichier '$f_mco' toujours introuvable !!");
+ }
+ } else
+ cs_log(" -- fichier '$f_mco' deja inclu par config/mes_options.php");
+ if(file_exists($f_mo)) {
+ cs_log(" -- inclusion de '$f_mo'");
+ include_once($f_mo);
// verification des metas : reinitialisation si une erreur est detectee
if (count($metas_outils)<>$GLOBALS['cs_verif']) {
cs_log("ERREUR : metas incorrects - verif = $GLOBALS[cs_verif]");
cs_initialisation(true);
- if (!$GLOBALS['cs_verif']) include_once($f_cs);
+ if (!$GLOBALS['cs_verif']) include_once($f_mo);
}
} else {
$GLOBALS['cs_utils'] = 0;
- cs_log(" -- fichier '$f_cs' toujours introuvable !!");
+ cs_log(" -- fichier '$f_mo' toujours introuvable !!");
}
- } else cs_log(" -- pas d'inclusion de '$f_cs' ; on est deja passe par ici !?");
+ } else cs_log(" -- pas d'inclusion de '$f_mo' ; on est deja passe par ici !?");// si une recompilation a eu lieu avec succes...
if ($GLOBALS['cs_utils']) {Modified: _plugins_/_stable_/couteau_suisse/cout_utils.php
--- _plugins_/_stable_/couteau_suisse/cout_utils.php (original)
+++ _plugins_/_stable_/couteau_suisse/cout_utils.php Tue Oct 7 18:40:10 2008
@@ -120,7 +120,7 @@
return $defaut2;
}-// $type ici est egal a 'options' ou 'fonctions'
+// $type ici est egal a 'config_options', 'options' ou 'fonctions'
function ecrire_fichier_en_tmp($infos_pipelines, $type) {
global $cs_metas_pipelines;
$code = '';
@@ -311,6 +311,7 @@
$temp_css = $f['texte'];
}
// recherche d'un code inline eventuellement propose
+ if (isset($outil['code:config_options'])) $infos_pipelines['code_config_options'] = $outil['code:config_options'];
if (isset($outil['code:options'])) $infos_pipelines['code_options'] = $outil['code:options'];
if (isset($outil['code:fonctions'])) $infos_pipelines['code_fonctions'] = $outil['code:fonctions'];
if (isset($outil['code:css'])) $temp_css = cs_optimise_if(cs_parse_code_js($outil['code:css']));
@@ -362,7 +363,7 @@[... 157 lines stripped ...]
_______________________________________________
Spip-zone-commit@rezo.net - http://listes.rezo.net/mailman/listinfo/spip-zone-commit