Changeset 81456 in spip-zone


Ignore:
Timestamp:
Mar 18, 2014, 5:46:18 PM (5 years ago)
Author:
severo@…
Message:

tickets - plus de référence aux tickets dans le critère

File:
1 edited

Legend:

Unmodified
Added
Removed
  • _plugins_/tickets/trunk/tickets_fonctions.php

    r81455 r81456  
    319319/*
    320320 * ATTENTION, c'est un peu en cours de dev, il faudrait :
    321  * - virer la référence aux tickets
    322321 * - revoir peut être la jonction avec spip_mots
    323322 * - ne pas écrire directement 'spip_mots'/'spip_mots_liens' si le préfixe est différent ?
     
    343342        // {MOTS}
    344343        $prepare_mots_pargroupe = charger_fonction(\'prepare_mots_pargroupe\', \'inc\');
    345         $mots_where = $prepare_mots_pargroupe('.$mots.');
     344        $mots_where = $prepare_mots_pargroupe('.$mots.', "'.$boucle->id_table.'");
    346345        ';
    347346
     
    352351        $boucle->where[] = "\n\t\t".'$mots_where';
    353352}
    354 function inc_prepare_mots_pargroupe_dist($mots) {
     353function inc_prepare_mots_pargroupe_dist($mots, $table='articles') {
    355354
    356355        // Si le tableau $mots est vide, on ignore le critère
     
    360359        }
    361360
     361        // Quel est l'objet ?
     362        $_table = table_objet($table);
     363        $objet_delatable=objet_type($_table);
     364        $_id_table = id_table_objet($table);
     365       
    362366        /* On calcule la liste des groupes
    363367         *
     
    388392         * GROUP BY ml.id_objet,ml.objet,m.id_groupe
    389393         */
    390         $doublets = '('.sql_get_select('id_objet,id_groupe','spip_mots_liens JOIN spip_mots USING (id_mot)','objet=\'ticket\' AND '.sql_in('id_mot',$mots),'id_objet,objet,id_groupe').') AS d';
     394        $doublets = '('.sql_get_select('id_objet,id_groupe','spip_mots_liens JOIN spip_mots USING (id_mot)','objet='.sql_quote($objet_delatable).' AND '.sql_in('id_mot',$mots),'id_objet,objet,id_groupe').') AS d';
    391395
    392396        /* Enfin, la boucle complete
     
    416420         *
    417421         */
    418         return sql_in('id_ticket', $where);
     422        return sql_in($_table.'.'.$_id_table, $where);
    419423
    420424}
Note: See TracChangeset for help on using the changeset viewer.