Skip to content
Extraits de code Groupes Projets
Valider 82bbb104 rédigé par marcimat's avatar marcimat
Parcourir les fichiers

Ticket #4842 : Renommage de source_champ en index_champ, déclaration dans la...

Ticket #4842 : Renommage de source_champ en index_champ, déclaration dans la classe Boucle et phpdoc.
Éventuellement s'il y a un autre besoin identique ailleurs on pourra faire une fonction `index_champ($p)` un peu comme `index_boucle($p)`.
parent f3ee10ba
Aucune branche associée trouvée
Aucune étiquette associée trouvée
Aucune requête de fusion associée trouvée
......@@ -555,6 +555,16 @@ class Boucle {
*/
public $debug = [];
/**
* Index de la boucle dont le champ présent dans cette boucle est originaire,
* notamment si le champ a été trouve dans une boucle parente
*
* Tableau nom du champ => index de boucle
*
* @var array $index_champ
*/
public $index_champ = [];
// obsoletes, conserves provisoirement pour compatibilite
public $tout = false;
public $plat = false;
......
......@@ -156,7 +156,7 @@ function index_pile(
$boucles[$idb]->select[] = $t;
}
// renseigner la boucle source de ce champ pour les traitements
$boucles[$idb_origine]->source_champ[$nom_champ_origine] = $idb;
$boucles[$idb_origine]->index_champ[$nom_champ_origine] = $idb;
$champ = '$Pile[$SP' . ($i ? "-$i" : "") . '][\'' . $c . '\']';
if (!$joker) {
return index_compose($conditionnel, $champ);
......@@ -733,8 +733,8 @@ function champs_traitements($p) {
// Recuperer le type de boucle (articles, DATA) et la table SQL sur laquelle elle porte
$idb = index_boucle($p);
// si le champ a ete trouve dans une boucle parente sa source est renseignee ici
if (!empty($p->boucles[$idb]->source_champ[$p->nom_champ])) {
$idb = $p->boucles[$idb]->source_champ[$p->nom_champ];
if (!empty($p->boucles[$idb]->index_champ[$p->nom_champ])) {
$idb = $p->boucles[$idb]->index_champ[$p->nom_champ];
}
// mais on peut aussi etre hors boucle. Se mefier.
......
0% Chargement en cours ou .
You are about to add 0 people to the discussion. Proceed with caution.
Terminez d'abord l'édition de ce message.
Veuillez vous inscrire ou vous pour commenter