Skip to content
Extraits de code Groupes Projets
Valider 6c679851 rédigé par cerdic's avatar cerdic
Parcourir les fichiers

Le retour de la fonction objet_trouver_parents() inclue la description...

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
parent 23b73be4
Aucune branche associée trouvée
Aucune étiquette associée trouvée
Aucune requête de fusion associée trouvée
......@@ -1263,10 +1263,10 @@ function objet_test_si_publie($objet, $id_objet, $serveur = '') {
/**
* Cherche le contenu parent d'un contenu précis
*
* Permet également de gérer un parent trouvé dans une table de lien, comme :
* Cherche les contenus parent d'un contenu précis.
* Cette version permet de gérer un/des parents trouvés dans une table de lien
*
* comme :
* ```
* $tables['spip_auteurs']['parent'] = array(
* 'type' => 'organisation',
......@@ -1278,6 +1278,11 @@ function objet_test_si_publie($objet, $id_objet, $serveur = '') {
* );
* ```
*
* La fonction retourne un tableau de parents, chacun de la forme
* ['objet' => '...', 'id_objet' => X, 'table' => '...', 'champ' => '...']
* Si la table utilisée pour trouver le parent est une table de liens (finissant par _liens),
* le tableau contient en plus en entrée 'lien' qui contient les informations complètes du lien (rang, role...)
*
* @api
* @param string $objet
* Type de l'objet dont on cherche les parent
......@@ -1361,10 +1366,11 @@ function objet_trouver_parents($objet, $id_objet, $parent_direct_seulement = fal
}
// On lance la requête de récupération du parent
$is_table_lien = (strpos($table, '_liens') !== false and substr($table, -6) === '_liens');
if (
!$condition_objet_invalide
and $where
and ($lignes = sql_allfetsel($select, $table, $where))
and ($lignes = sql_allfetsel( $is_table_lien ? '*' : $select, $table, $where))
) {
foreach ($lignes as $ligne) {
// Si le type est fixe
......@@ -1385,6 +1391,9 @@ function objet_trouver_parents($objet, $id_objet, $parent_direct_seulement = fal
'table' => $table,
);
}
if ($is_table_lien) {
$parent['lien'] = $ligne;
}
$parents[] = $parent;
}
}
......
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