Browse Source

Simplifier index_boucle() et renommer index_boucle_parente() en index_boucle_mere().

master
cedric@yterium.com 2 years ago
parent
commit
83c0ed84c4
  1. 10
      ecrire/public/balises.php
  2. 39
      ecrire/public/references.php

10
ecrire/public/balises.php

@ -508,7 +508,7 @@ function balise_RECHERCHE_dist($p) {
* Pile complétée par le code à générer
**/
function balise_COMPTEUR_BOUCLE_dist($p) {
$b = index_boucle_parente($p);
$b = index_boucle_mere($p);
if ($b === '') {
$msg = array('zbug_champ_hors_boucle', array('champ' => zbug_presenter_champ($p)));
erreur_squelette($msg, $p);
@ -536,7 +536,7 @@ function balise_COMPTEUR_BOUCLE_dist($p) {
* Pile complétée par le code à générer
**/
function balise_TOTAL_BOUCLE_dist($p) {
$b = index_boucle_parente($p);
$b = index_boucle_mere($p);
if ($b === '') {
$msg = array('zbug_champ_hors_boucle', array('champ' => zbug_presenter_champ($p)));
erreur_squelette($msg, $p);
@ -1092,7 +1092,7 @@ define('CODE_PAGINATION',
* Pile complétée par le code à générer
*/
function balise_PAGINATION_dist($p, $liste = 'true') {
$b = index_boucle_parente($p);
$b = index_boucle_mere($p);
// s'il n'y a pas de nom de boucle, on ne peut pas paginer
if ($b === '') {
@ -1202,7 +1202,7 @@ function balise_ANCRE_PAGINATION_dist($p) {
* Pile complétée par le code à générer
**/
function balise_GRAND_TOTAL_dist($p) {
$b = index_boucle_parente($p);
$b = index_boucle_mere($p);
if ($b === '') {
$msg = array('zbug_champ_hors_boucle', array('champ' => zbug_presenter_champ($p)));
erreur_squelette($msg, $p);
@ -2640,7 +2640,7 @@ function balise_HTML5_dist($p) {
* Pile complétée par le code à générer
*/
function balise_TRI_dist($p, $liste = 'true') {
$b = index_boucle_parente($p);
$b = index_boucle_mere($p);
// s'il n'y a pas de nom de boucle, on ne peut pas trier
if ($b === '') {
$msg = array('zbug_champ_hors_boucle', array('champ' => zbug_presenter_champ($p)));

39
ecrire/public/references.php

@ -26,7 +26,7 @@ if (!defined('_ECRIRE_INC_VERSION')) {
* où une référence explicite est demandée
*
* - `#MABALISE` : l'index est celui de la première boucle englobante
* - `#_autreboucle:MABALISE` : l'index est celui de la boucle _autreboucle si elle est bien englobante
* - `#_autreboucle:MABALISE` : l'index est celui de la boucle _autreboucle
*
* @example
* Dans une balise dynamique ou calculée :
@ -41,33 +41,27 @@ if (!defined('_ECRIRE_INC_VERSION')) {
* - '' si une référence explicite incorrecte est envoyée
*/
function index_boucle($p) {
$idb = $p->id_boucle;
$explicite = $p->nom_boucle;
if (strlen($explicite)) {
// Recherche d'un champ dans un étage supérieur
while (($idb !== $explicite) && ($idb !== '')) {
$idb = $p->boucles[$idb]->id_parent;
if (strlen($p->nom_boucle)) {
// retourne l’index explicite demandé s’il existe
if (!empty($p->boucles[$p->nom_boucle])) {
return $p->nom_boucle;
}
}
return $idb;
return '';
}
return $p->id_boucle;
}
/**
* Retrouver l'index de la boucle parente d'une balise (sauf explicitée)
*
* Retrouve la boucle parente d’une balise, sauf si son nom est explicité
* Retrouve la boucle mère d’une balise, sauf si son nom est explicité
*
* - `#MABALISE` : l'index sera celui de la boucle parente
* - `#_autreboucle:MABALISE` : l'index est celui de la boucle _autreboucle si elle est bien englobante
*
* - `#_autreboucle:MABALISE` : l'index est celui de la boucle _autreboucle, si elle existe
*
* @example
* Dans une balise dynamique ou calculée :
* ```
* $idb = index_boucle_parente($p);
* $idb = index_boucle_mere($p);
* ```
*
* @param Champ $p AST au niveau de la balise
@ -76,11 +70,14 @@ function index_boucle($p) {
* - Identifiant de la boucle parente possédant ce champ, ou '' si pas de parent.
* - '' si une référence explicite incorrecte est envoyée
*/
function index_boucle_parente($p) {
function index_boucle_mere($p) {
if (strlen($p->nom_boucle)) {
// retourne l’index explicite demandé s’il existe
return index_boucle($p);
}
if (!empty($p->boucles[$p->nom_boucle])) {
return $p->nom_boucle;
}
return '';
}
if (!empty($p->descr['id_mere'])) {
return $p->descr['id_mere'];
}

Loading…
Cancel
Save