Changeset 104950 in spip-zone


Ignore:
Timestamp:
Jun 23, 2017, 3:25:52 PM (2 years ago)
Author:
marcimat@…
Message:

Permettre d’utiliser dans une boucle plusieurs fois le critère {mots}.
Note : Cela crée assez logiquement un AND de plus à chaque utilisation.

Location:
_plugins_/critere_mots/trunk
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • _plugins_/critere_mots/trunk/critere_mots_fonctions.php

    r104946 r104950  
    66
    77define ('_CRITERE_MOTS_OPTIMISE',1);// pour pouvoir revenir aux anciennes requetes si besoin
     8
    89// Critere {mots} : "l'article est lie a tous les mots demandes"
    910// {mots?} ne s'applique que si au moins un mot est demande
     
    2627        $tri = false;
    2728
     29        // pouvoir utiliser plusieurs fois le critère dans une même boucle.
     30        $hash = substr(uniqid(), -4);
     31
    2832        if (isset($crit->param[0][2]) and ($crit->param[0][2]->texte == "tri" or $crit->param[0][2]->texte=="!tri")){
    2933                        $tri = true;
     
    4448        // {MOTS}
    4549        $prepare_mots = charger_fonction(\'prepare_mots\', \'inc\');
    46         $mots_where = $prepare_mots('.$quoi.', "'.$boucle->id_table.'", "'.$crit->cond.'", '.$score.', "' . $boucle->sql_serveur . '","'.$id_ou_titre.'");
     50        $mots_where_' . $hash . ' = $prepare_mots('.$quoi.', "'.$boucle->id_table.'", "'.$crit->cond.'", '.$score.', "' . $boucle->sql_serveur . '","'.$id_ou_titre.'");
    4751        ';
    4852
     
    5256        }
    5357
    54         $boucle->where[] = "\n\t\t".'$mots_where';
     58        $boucle->where[] = "\n\t\t".'$mots_where_' . $hash;
    5559        if ($tri == true) {
    5660
  • _plugins_/critere_mots/trunk/paquet.xml

    r103720 r104950  
    22        prefix="critere_mots"
    33        categorie="navigation"
    4         version="4.0.3"
     4        version="4.1.0"
    55        etat="stable"
    66        compatibilite="[3.0.0;3.1.*]"
    77        logo="img_pack/stock_filter-data-by-criteria-24.png"
    88        documentation="https://contrib.spip.net/Critere-mots"
    9 >       
     9>
    1010
    11         <nom>Crit&#232;re mots</nom>
    12         <!-- S&#233;lectionner des objets ayant des mots cl&#233;s en communs -->
     11        <nom>Critère mots</nom>
     12        <!-- Sélectionner des objets ayant des mots clés en communs -->
    1313
    1414        <auteur>Fil</auteur>
Note: See TracChangeset for help on using the changeset viewer.