include_spip('formulaires/selecteur/generique_fonctions');
/**
- * A partir de SPIP 3.1
- * - ul.editer-groupe deviennent des div.editer-groupe
- * - li.editer devient div.editer
+ * Retourne une balise `div` si on est en SPIP >= 3.1, sinon le texte en parametre.
+ *
+ * @example `[(#VAL{ul}|saisie_balise_structure_formulaire)]`
+ * @see balise_DIV_dist() pour une écriture plus courte.
+ * @note Préférer `[(#DIV|sinon{ul})]` dans les squelettes, plus lisible.
+ *
* @param $tag
* ul ou li
* @return string
}
return $tag;
}
-// variante plus simple a ecrire dans les squelettes
-// [(#DIV|sinon{ul})]
-if (!function_exists('balise_DIV_dist')
+
+if (
+ !function_exists('balise_DIV_dist')
and $version = explode('.', $GLOBALS['spip_version_branche'])
- and ($version[0]>3 or ($version[0]==3 and $version[1] > 0))) {
+ and ($version[0]>3 or ($version[0]==3 and $version[1] > 0))
+) {
+
+ /**
+ * Compile la balise `DIV` qui retourne simplement le texte `div`
+ *
+ * Sert à la compatibilité entre SPIP 3.0 et SPIP 3.1+
+ *
+ * Variante d'écriture, plus courte, que le filtre `saisie_balise_structure_formulaire`
+ *
+ * À partir de SPIP 3.1
+ * - ul.editer-groupe deviennent des div.editer-groupe
+ * - li.editer devient div.editer
+ *
+ * @see saisie_balise_structure_formulaire()
+ * @example
+ * `[(#DIV|sinon{ul})]`
+ *
+ * @param Pile $p
+ * @return Pile
+ */
function balise_DIV_dist($p) {
$p->code = "'div'";
$p->interdire_scripts = false;
* - toto[truc] => toto_truc
*
* @param string $nom
- * return string
+ * @return string
**/
function saisie_nom2classe($nom) {
return str_replace(array('/', '[', ']', '[', ']'), array('_', '_', '', '_', ''), $nom);
*
* - toto => toto,
* - toto/truc => toto[truc],
+ * - toto/truc/ => toto[truc][],
* - toto[truc] => toto[truc]
*
+ * @see saisie_name2nom() pour l'inverse.
* @param string $nom
- * return string
+ * @return string
**/
function saisie_nom2name($nom) {
if (false === strpos($nom, '/')) {
return $premier . '[' . $nom . ']';
}
+/**
+ * Passer un `name` en un format de nom compris de saisies
+ *
+ * - toto => toto,
+ * - toto[truc] => toto/truc,
+ * - toto[truc][] => toto/truc/
+ * - toto/truc => toto/truc
+ *
+ * @see saisie_nom2name() pour l'inverse.
+ * @param string $name
+ * @return string
+ **/
+function saisie_name2nom($name) {
+ if (false === strpos($name, '[')) {
+ return $name;
+ }
+ $name = explode('[', str_replace(']', '', $name));
+ return implode('/', $name);
+}
+
/**
* Compile la balise `#GLOBALS{xxx}` qui retourne la valeur d'une vilaine variable globale de même nom si elle existe
*
return $objets_edit;
}
+
+/**
+ * Afficher la chaine de langue traduite.
+ *
+ * @param string $chaine
+ * @return string
+ */
+function saisies_label($chaine) {
+ $chaine = trim($chaine);
+ if (preg_match("/:>$/", $chaine)) {
+ $chaine = preg_replace("/^<:/", "", $chaine);
+ $chaine = preg_replace("/^<;:/", "", $chaine);
+ $chaine = preg_replace("/:>$/", "", $chaine);
+ return _T($chaine);
+ }
+
+ return $chaine;
+}
\ No newline at end of file