// Par exemple si pour une recherche sur un article, j'ai déclaré qu'il faut aussi chercher dans les patates liées, alors SPIP va chercher dans l'ordre : inc_rechercher_joints_article_patate[_dist]($table, $table_lie, $ids_trouves, $serveur) inc_rechercher_joints_objet_patate[_dist]($table, $table_lie, $ids_trouves, $serveur) inc_rechercher_joints_article_objet_lie[_dist]($table, $table_lie, $ids_trouves, $serveur) // Dans cette fonction on doit renvoyer un tableau avec la clé de chaque table et le résultat d'un SELECT trouvant les objets ayant un lien avec les $ids_trouves // Exemple : Polyhiérarchie a une table standard spip_rubriques_liens MAIS utilise un champ "id_parent" plutôt qu'un champ "id_rubrique", et donc SPIP ne sait pas faire la jointure tout seul. On utilise donc : function inc_rechercher_joints_objet_rubrique_dist($table, $table_liee, $ids_trouves, $serveur){ $cle_depart = id_table_objet($table); $s = sql_select( "id_objet as $cle_depart, id_parent as id_rubrique", 'spip_rubriques_liens', array("objet='$table'", sql_in('id_parent', $ids_trouves)), '','','','',$serveur ); return array($cle_depart, 'id_rubrique', $s); }