Skip to content
Extraits de code Groupes Projets
Valider d336d7a7 rédigé par cam.lafit's avatar cam.lafit
Parcourir les fichiers

Tenir compte aussi des Plugins mis dans le r\303\251pertoire Auto pour...

Tenir compte aussi des Plugins mis dans le r\303\251pertoire Auto pour retrouver les infos associ\303\251es.
Et mieux propager l'\303\251ventuel message d'erreur pour qu'il apparaisse \303\240 la place du formulaire.
parent b5a05c21
Aucune branche associée trouvée
Aucune étiquette associée trouvée
Aucune requête de fusion associée trouvée
...@@ -27,15 +27,16 @@ function balise_CONFIGURER_METAS_dist($p) { ...@@ -27,15 +27,16 @@ function balise_CONFIGURER_METAS_dist($p) {
// A l'execution on dispose du nom du squelette, on verifie qu'il existe. // A l'execution on dispose du nom du squelette, on verifie qu'il existe.
// Pour le calcul du contexte, c'est comme la balise #FORMULAIRE_. // Pour le calcul du contexte, c'est comme la balise #FORMULAIRE_.
// y compris le controle au retour pour faire apparaitre le message d'erreur.
function balise_CONFIGURER_METAS_dyn($form) { function balise_CONFIGURER_METAS_dyn($form) {
include_spip("balise/formulaire_"); include_spip('balise/formulaire_');
if (!existe_formulaire($form)) return ''; if (!existe_formulaire($form)) return '';
$args = func_get_args(); $args = func_get_args();
return array('formulaires/' . $form, $contexte = balise_FORMULAIRE__contexte('configurer_metas', $args);
3600, if (!is_array($contexte)) return $contexte;
balise_FORMULAIRE__contexte("configurer_metas", $args)); return array('formulaires/' . $form, 3600, $contexte);
} }
?> ?>
...@@ -64,7 +64,12 @@ function formulaires_configurer_metas_recense($form, $opt='') ...@@ -64,7 +64,12 @@ function formulaires_configurer_metas_recense($form, $opt='')
else return array(); else return array();
} }
define('_EXTRAIRE_PLUGIN', '@(?:' . _DIR_PLUGINS . '|' . _DIR_EXTENSIONS .')/?([^/]+)/@'); // Repertoires potentiels des plugins, ce serait bien d'avoir a ailleurs
// ca n'est pas lie a cette balise
// Attention a l'ordre:
// si l'un des 3 est un sous-rep d'un autre, le mettre avant.
define('_EXTRAIRE_PLUGIN', '@(' . _DIR_PLUGINS_AUTO . '|' . _DIR_PLUGINS . '|' . _DIR_EXTENSIONS .')/?([^/]+)/@');
// Recuperer la version compilee de plugin.xml et normaliser // Recuperer la version compilee de plugin.xml et normaliser
// Si ce n'est pas un plugin, dire qu'il faut prendre la table std des meta. // Si ce n'est pas un plugin, dire qu'il faut prendre la table std des meta.
...@@ -72,13 +77,13 @@ function formulaires_configurer_metas_infos($form){ ...@@ -72,13 +77,13 @@ function formulaires_configurer_metas_infos($form){
$path = find_in_path($form.'.' . _EXTENSION_SQUELETTES, 'formulaires/'); $path = find_in_path($form.'.' . _EXTENSION_SQUELETTES, 'formulaires/');
if (!$path) return ''; // cas traite en amont normalement. if (!$path) return ''; // cas traite en amont normalement.
if (!preg_match(_EXTRAIRE_PLUGIN, $path, $plugin)) if (!preg_match(_EXTRAIRE_PLUGIN, $path, $m))
return array('path' => $path, 'meta' => 'meta'); return array('path' => $path, 'meta' => 'meta');
$plugin = $plugin[1]; $plugin = $m[2];
$get_infos = charger_fonction('get_infos','plugins'); $get_infos = charger_fonction('get_infos','plugins');
$infos = $get_infos($plugin); $infos = $get_infos($plugin, false, $m[1]);
if (!is_array($infos) OR !isset($infos['prefix'])) if (!is_array($infos)) return _T('erreur_plugin_nom_manquant');
return _T('erreur_plugin_nom_manquant'); if (isset($infos['erreur'])) return $infos['erreur'][0];
$prefix = $infos['prefix']; $prefix = $infos['prefix'];
$infos['path'] = $path; $infos['path'] = $path;
if (!isset($infos['meta'])) $infos['meta'] = ($prefix . '_metas'); if (!isset($infos['meta'])) $infos['meta'] = ($prefix . '_metas');
......
0% Chargement en cours ou .
You are about to add 0 people to the discussion. Proceed with caution.
Veuillez vous inscrire ou vous pour commenter