From 2a8d79d0d44d51bbd18df7f127ca18cb158e7c23 Mon Sep 17 00:00:00 2001
From: "Committo,Ergo:sum" <esj@rezo.net>
Date: Fri, 14 May 2010 18:38:50 +0000
Subject: [PATCH] =?UTF-8?q?Autre=20solution=20que=20[15680]=20=C3=A0=20l'a?=
 =?UTF-8?q?bstraction=20de=20l'appel=20=C3=A0=20CFG:=20appeler=20celui-ci?=
 =?UTF-8?q?=20en=20lui=20donnant=20un=20autre=20script=20de=20configuratio?=
 =?UTF-8?q?n=20que=20lui-m=C3=AAme=20(cf=20[http://zone.spip.org/trac/spip?=
 =?UTF-8?q?-zone/changeset/38187=20SPIP-Zone=2028187]),=20trouv=C3=A9=20so?=
 =?UTF-8?q?us=20la=20balise=20{{{config}}}=20de=20{{{plugin.xml}}}.=20Ca?=
 =?UTF-8?q?=20permet=20une=20transition=20en=20douceur=20vers=20l'abandon?=
 =?UTF-8?q?=20du=20traitement=20des=20metas=20du=20plugin=20dans=20CFG=20s?=
 =?UTF-8?q?ans=20renoncer=20au=20reste,=20du=20moins=20dans=20un=20premier?=
 =?UTF-8?q?=20temps.?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

---
 ecrire/plugins/afficher_plugin.php | 10 ++++++----
 ecrire/plugins/get_infos.php       |  2 ++
 2 files changed, 8 insertions(+), 4 deletions(-)

diff --git a/ecrire/plugins/afficher_plugin.php b/ecrire/plugins/afficher_plugin.php
index 573583763b..a2831fcbb0 100644
--- a/ecrire/plugins/afficher_plugin.php
+++ b/ecrire/plugins/afficher_plugin.php
@@ -15,19 +15,21 @@ include_spip('inc/charsets');
 include_spip('inc/texte');
 
 // http://doc.spip.org/@ligne_plug
-function plugins_afficher_plugin_dist($url_page, $plug_file, $actif, $expose=false, $class_li="item", $dir_plugins=_DIR_PLUGINS, $cfg=''){
+function plugins_afficher_plugin_dist($url_page, $plug_file, $actif, $expose=false, $class_li="item", $dir_plugins=_DIR_PLUGINS) {
 
 	static $id_input = 0;
 	static $versions = array();
 
-	$cfg = !$actif ? $cfg : plugin_bouton_cfg($dir_plugins, $plug_file);
 	$force_reload = (_request('var_mode')=='recalcul');
 	$get_infos = charger_fonction('get_infos','plugins');
 	$info = $get_infos($plug_file, $force_reload, $dir_plugins);
 	$prefix = $info['prefix'];
+	$config = !empty($info['config']) ? $info['config'] : 'cfg';
 	$erreur = (!isset($info['erreur']) ? ''
 	: ("<div class='erreur'>" . join('<br >', $info['erreur']) . "</div>"));
 
+	$cfg = !$actif ? '' : plugin_bouton_cfg($dir_plugins.$plug_file, $config);
+
 	// numerotons les occurrences d'un meme prefix
 	$versions[$prefix] = $id = isset($versions[$prefix]) ? $versions[$prefix] + 1 : '';
 
@@ -47,11 +49,11 @@ function plugins_afficher_plugin_dist($url_page, $plug_file, $actif, $expose=fal
 	."</li>";
 }
 
-function plugin_bouton_cfg($dir_plugins, $plug_file)
+function plugin_bouton_cfg($file, $cfg)
 {
 	if  (defined('_DIR_PLUGIN_CFG')) {
 		if (include_spip('inc/cfg')) // test CFG version >= 1.0.5
-			if ($cfg = icone_lien_cfg($dir_plugins.$plug_file))
+			if ($cfg = icone_lien_cfg($file, $cfg))
 				return "<div class='cfg_link'>$cfg</div>";
 	}
 	return '';
diff --git a/ecrire/plugins/get_infos.php b/ecrire/plugins/get_infos.php
index 71e920c747..d53ee4fd0d 100644
--- a/ecrire/plugins/get_infos.php
+++ b/ecrire/plugins/get_infos.php
@@ -79,6 +79,8 @@ function plugins_get_infos_dist($plug, $force_reload=false, $dir_plugins = _DIR_
 					$ret['licence'] = spip_xml_aplatit($arbre['licence']);
 				if (isset($arbre['install']))
 					$ret['install'] = $arbre['install'];
+				if (isset($arbre['config']))
+					$ret['config'] = spip_xml_aplatit($arbre['config']);
 				if (isset($arbre['meta']))
 					$ret['meta'] = spip_xml_aplatit($arbre['meta']);
 				if (isset($arbre['fonctions']))
-- 
GitLab