[spip] 5 commits

Cerdic <[email protected]>
Newsgroups gmane.comp.web.spip.cvs
Message-ID <rxMLUIfSgs4lX8wCinRyGFMPg83gJIusOJEWKJazRn4@localhost.localdomain>
spip/spip | 5 commits
-
Par Cerdic, le 24 mars 2021 à 11h20min : 

objet_trouver_parents() passe au pluriel et est agnostique : puisqu'on a potentiellement plusieurs liens de parentés (car plusieurs méthodes de parentés et certaines méthodes pouvant remonter plusieurs liens), la fonction ne choisit pas et retourne l'ensemble des parents symétriquement aux enfants.
Une option de la fonction permet de se limiter aux parentées directes, ce qui ne veut pas dire pour autant qu'on a qu'un seul parent car on peut avoir sur une table un id_parent1 et id_parent2 qui pointent vers 2 parents.

(C'est juste une feature de confort, car de toute façon le retour de la fonction objet_trouver_parents() permet de filtrer les parents directs et les parents trouvés par une table de lien)
Le pipeline est renommé en conséquence.

(La compatibilité fonctionnelle avec l'API au singulier du plugin https://git.spip.net/spip-contrib-extensions/declarerparent pourra être assurée par ce dernier qui aura juste à retenir le premier parent de la liste retourné par la fonction du core pour produire le même résultat qu'auparavant et eviter de casser les consommateurs qui ne supportent pas de multiples parents)


*Modifié*
    ecrire/base/objets.php
    ecrire/inc/filtres.php
    ecrire/paquet.xml

Détails : https://git.spip.net/spip/spip/commit/23b73be405761a52eb6b5fee21ca19ab1253a9ca

==============================
Par Cerdic, le 16 avril 2021 à 10h50min : 

Le retour de la fonction objet_trouver_parents() inclue la description complète du lien quand le parent est trouvé via une table de xxxx_liens


*Modifié*
    ecrire/base/objets.php

Détails : https://git.spip.net/spip/spip/commit/6c6798511f57e270501699e66654b94e43819679

==============================
Par Cerdic, le 16 avril 2021 à 10h58min : 

La fonction objet_trouver_enfants() retourne un tableau dans le même format que la fonction objet_trouver_parents(), a savoir une liste d'enfants de la forme
```
['objet' => '...', 'id_objet' => X, 'table' => '...', 'champ' => '...']
```
Si la relation a été trouvée par une table de liens (table finissant par '_liens'), une entrée 'lien' supplémentaire reprend la description complète du lien, ce qui inclue les éventuels champs rang, role...

On a ainsi une parfaite symétrie entre les 2 fonctions objet_trouver_enfants() et objet_trouver_parents().

On ajoute une fonction helper objet_trouver_enfants_par_type() qui retourne une liste réduite et simplifiée de la forme
```
[ 'objet1' => [ids...], 'objet2' => [ids...] ]
```

Par symetrie on propose aussi une fonction objet_trouver_parents_par_type()


*Modifié*
    ecrire/base/objets.php

Détails : https://git.spip.net/spip/spip/commit/e3da3bd64c2700ca4942827b436770b1e48a09d5

==============================
Par Cerdic, le 16 avril 2021 à 13h20min : 

Renommer toutes les fonctions parents/enfants pour eviter tout risque de collision avec le plugin historique declarer_parent qui pourra donc coexister et assurer une transition douce du code. Les pipelines sont aussi renommes


*Modifié*
    ecrire/base/objets.php
    ecrire/inc/filtres.php
    ecrire/paquet.xml

Détails : https://git.spip.net/spip/spip/commit/6321ffd6f39b6938d92ca3779d6f7d0c75919173

==============================
Par Cerdic, le 16 avril 2021 à 13h24min : 

Declaration generique directe, plus simple a etendre par un plugin


*Modifié*
    ecrire/base/objets.php

Détails : https://git.spip.net/spip/spip/commit/a8026da42a1a668f9585815582db8062b17069d3
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.