diff --git a/ecrire/plugins/afficher_plugin.php b/ecrire/plugins/afficher_plugin.php index 573583763b10c9aff78eb0d832d616914bcd5d4b..a2831fcbb0cdb583b8f9ca6d6bf3fd3137faf79c 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 71e920c7479f5783ebda1621a7f70d39e74cb388..d53ee4fd0de9b37675fc000906a26ffbe5f7286a 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']))