[SPIP][PLUGINS] v3.0-->v3.2
[lhc/web/www.git] / www / ecrire / balise / configurer_metas.php
index 7ea1438..47fb379 100644 (file)
@@ -3,40 +3,90 @@
 /***************************************************************************\
  *  SPIP, Systeme de publication pour l'internet                           *
  *                                                                         *
- *  Copyright (c) 2001-2016                                                *
+ *  Copyright (c) 2001-2017                                                *
  *  Arnaud Martin, Antoine Pitrou, Philippe Riviere, Emmanuel Saint-James  *
  *                                                                         *
  *  Ce programme est un logiciel libre distribue sous licence GNU/GPL.     *
  *  Pour plus de details voir le fichier COPYING.txt ou l'aide en ligne.   *
 \***************************************************************************/
 
-if (!defined('_ECRIRE_INC_VERSION')) return;
 
-// Une balise qui prend en argument un squelette suppose contenir un FORM
-// et gere ses saises automatiquement dans une table SQL a 2 colonnes
-// nom / valeur
+/**
+ * Ce fichier gère la balise dynamique `#CONFIGURER_METAS`
+ *
+ * @package SPIP\Core\Compilateur\Balises
+ **/
+if (!defined('_ECRIRE_INC_VERSION')) {
+       return;
+}
 
-// Comme l'emplacement du squelette est calcule (par l'argument de la balise)
-// on ne peut rien dire sur l'existence du squelette lors de la compil
-// On pourrait toutefois traiter le cas de l'argument qui est une constante.
 
+/**
+ * Compile la balise dynamique `#CONFIGURER_METAS` appelant un formulaire
+ * de configuration
+ *
+ * L'usage `#CONFIGURER_METAS{nom}` suppose qu'il existe un formulaire
+ * nommé `nom.html` et une table SQL `spip_nom` ayant deux colonnes
+ * `nom` et `valeur` où sont stockées les configurations (comme la table `spip_meta`).
+ * L'enregistrement des saisies du formulaire sera alors automatique.
+ *
+ * Cette fonction est dépréciée. Pour obtenir ce résultat, il faut
+ * utiliser `#FORMULAIRE_CONFIGURER_NOM` qui appelle le formulaire `nom.html`
+ * et dans ce formulaire indiquer un champ hidden spécifiant la table d'enregistrement
+ * tel que :
+ *
+ *     Chaque saisie à la racine de la table spip_nom :
+ *     <input type="hidden" name="_meta_casier" value="/nom" />
+ *
+ *     Toutes les saisies dans la clé 'config' de spip_nom :
+ *     <input type="hidden" name="_meta_casier" value="/nom/config" />
+ *
+ *     Chaque saisie à la racine de la table spip_meta :
+ *     <input type="hidden" name="_meta_casier" value="" />
+ *
+ *     Toutes les saisies dans la clé 'config' de spip_meta :
+ *     <input type="hidden" name="_meta_casier" value="config" />
+ *
+ * @note
+ *   Comme l'emplacement du squelette est calcule (par l'argument de la balise)
+ *   on ne peut rien dire sur l'existence du squelette lors de la compil.
+ *   On pourrait toutefois traiter le cas de l'argument qui est une constante.
+ *
+ * @balise
+ * @deprecated Utiliser `#FORMULAIRE_CONFIGURER_XX`
+ * @param Champ $p
+ *     Pile au niveau de la balise
+ * @return Champ
+ *     Pile complétée du code compilé
+ **/
 function balise_CONFIGURER_METAS_dist($p) {
-
        return calculer_balise_dynamique($p, $p->nom_champ, array());
 }
 
-// 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_.
-// y compris le controle au retour pour faire apparaitre le message d'erreur.
-
+/**
+ * Exécution de la balise dynamique `#CONFIGURER_METAS`
+ *
+ * À l'exécution on dispose du nom du squelette, on verifie qu'il existe.
+ * Pour le calcul du contexte, c'est comme la balise `#FORMULAIRE_`
+ * y compris le contrôle au retour pour faire apparaître le message d'erreur.
+ *
+ * @see balise_CONFIGURER_METAS_dist()
+ * @param string $form
+ *     Nom du formulaire
+ * @return array
+ *     Liste : Chemin du squelette, durée du cache, contexte
+ **/
 function balise_CONFIGURER_METAS_dyn($form) {
 
        include_spip('balise/formulaire_');
-       if (!existe_formulaire($form)) return '';
+       if (!existe_formulaire($form)) {
+               return '';
+       }
        $args = func_get_args();
        $contexte = balise_FORMULAIRE__contexte('configurer_metas', $args);
-       if (!is_array($contexte)) return $contexte;
+       if (!is_array($contexte)) {
+               return $contexte;
+       }
+
        return array('formulaires/' . $form, 3600, $contexte);
 }
-
-?>