Recherche des types d'objet enfants
En reprenant le code de type_objet_info_enfants()
et de objet_trouver_enfants()
pour y rajouter le cas de la table de liens, j'ai quand même un doute avec le code actuel de type_objet_info_enfants()
avec ou sans table de liens.
On a le code suivant:
foreach ($parent_methodes as $_parent_methode) {
// Si la méthode qu'on teste n'exclut pas le parent demandé
if (!isset($_parent_methode['exclus']) or !in_array($objet, $_parent_methode['exclus'])) {
// Si le type du parent est fixe et directement l'objet demandé
if (isset($_parent_methode['type']) and isset($_parent_methode['champ']) and $_parent_methode['type'] == $objet) {
$enfants[$objet][$objet_enfant] = $_parent_methode;
}
// Si le type est variable, alors l'objet demandé peut forcément être parent
elseif (isset($_parent_methode['champ_type']) and isset($_parent_methode['champ'])) {
$enfants[$objet][$objet_enfant] = $_parent_methode;
}
}
}
Vu l'affectation qui est faite on considère qu'il y a toujours qu'une seule méthode pour renvoyer les enfants. Mais est-ce vraiment la cas ?
Si on a deux options parent distinguées par une condition (index condition) cela veut dire qu'il faut absolument un exclus pour dire que l'une ou l'autre ne peut pas servir pour la détection des enfants ? Je suis étonné.
Sinon, il faudrait juste remplacer les affectations par:
$enfants[$objet][$objet_enfant][] = $_parent_methode;
et modifier en conséquence objet_trouver_enfants()
.
Mais je fais peut-être une erreur de raisonnement.