Changeset 86430 in spip-zone for _plugins_/fulltext


Ignore:
Timestamp:
Dec 3, 2014, 4:43:13 PM (5 years ago)
Author:
kent1@…
Message:

Et celle dans le sens inverste articles sur évènements pas exemple :

Ce cas pourrait exister par exemple si on activait une jointure de recherche sur les évènements (du plugin agenda) avec la table spip_articles.
Il suffirait d'ajouter la ligne suivante dans le pipeline "declarer_tables_objets_sql" dans le fichier base/agenda_evenements :
$tablesspip_evenements?rechercher_jointures?article? = array('titre' => 8, 'texte' => 5);

File:
1 edited

Legend:

Unmodified
Added
Removed
  • _plugins_/fulltext/trunk/inc/recherche_to_array.php

    r86428 r86430  
    194194                                                $from .= $join;
    195195                                        }
    196                                         // cas simple : $cle_arrivee dans la table
     196                                        /**
     197                                         * cas simple : $cle_arrivee dans la table
     198                                         *
     199                                         * Ce cas pourrait exister par exemple si on activait une jointure de recherche sur les évènements (du plugin agenda) avec la table spip_articles.
     200                                         * Il suffirait d'ajouter la ligne suivante dans le pipeline "declarer_tables_objets_sql" dans le fichier base/agenda_evenements :
     201                                         * $tables['spip_evenements']['rechercher_jointures']['article'] = array('titre' => 8, 'texte' => 5);
     202                                         */
    197203                                        elseif (isset($desc_depart['field'][$cle_arrivee])){
    198                                                 //$s = sql_select("$cle_depart, $cle_arrivee", $desc_depart['table_sql'], sql_in($cle_arrivee, array_keys($ids_trouves)), '','','','',$serveur);
     204                                                $join = "
     205                                                        LEFT JOIN (
     206                                                        SELECT lien$i.$cle_depart,$subscore AS score
     207                                                        FROM ".$desc_depart['table_sql']." as lien$i
     208                                                        JOIN ".$desc_arrivee['table_sql']." as obj$i ON obj$i.$_id_join=lien$i.$_id_join
     209                                                        WHERE $subscore > 0
     210                                                        ORDER BY score DESC LIMIT 100
     211                                                        ) AS o$i ON o$i.$cle_depart=t.$cle_depart";
     212                                                $score[] = "IF(SUM(o".$i.".score) IS NULL,0,SUM(o".$i.".score))";
     213                                                $from .= $join;
    199214                                        }
    200215                                        // sinon cherchons une table de liaison
Note: See TracChangeset for help on using the changeset viewer.