Changeset 82545 in spip-zone


Ignore:
Timestamp:
May 17, 2014, 11:52:24 AM (5 years ago)
Author:
marcimat@…
Message:

Ajouter la requête dans les résultats de requete justement. Afficher '+ de 1000 résultats' si c'est le cas. Corriger le calcul de pagination suite au changement précédent. Cependant il reste un soucis avec : la pagination n'amène pas au dernier résultat…

Location:
_plugins_/indexer/trunk
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • _plugins_/indexer/trunk/content/sphinx.html

    r82537 r82545  
    3838                <h2>Documents trouvés</h2>
    3939                <small>
    40                 [(#VALEUR{meta/total_found}) ]résultats \([(#VALEUR{meta/time}|mult{1000})] ms\)
     40                [(#VALEUR{meta/total}|=={1000}|?{'+ de '}) ][(#VALEUR{meta/total}) ]résultats \([(#VALEUR{meta/time}|mult{1000})] ms\)
    4141                </small>
    4242
  • _plugins_/indexer/trunk/inc/sphinxql_to_array.php

    r82471 r82545  
    88
    99   // hacks pour la pagination
    10    // attention ce preg_replace est vraiment tres fragileÉÉÉ ˆ revoir TODO.
     10   // attention ce preg_replace est vraiment tres fragile revoir TODO.
    1111   if ($debut = intval($debut)) {
    1212       $u = preg_replace('/ FACET /', " LIMIT $debut,20 FACET ", $u, 1);
     
    1717        $all = $sphinx->allfetsel($u);
    1818
    19         // pagination : rajouter $debut elements videsÉ
    20         if ($debut) $all['docs'] = array_pad($all['docs'], -$debut - count($all['docs']), 0);
     19        // pagination : rajouter $debut elements vides
     20        if ($debut) $all['query']['docs'] = array_pad($all['query']['docs'], -$debut - count($all['query']['docs']), 0);
    2121
    22         $total = $all['meta']['total'];
    23         if ($total > count($all['docs']))
    24                 $all['docs'] = array_pad($all['docs'], $total - count($all['docs']), 0);
     22        $total = $all['query']['meta']['total'];
     23        var_dump($total);
     24        if ($total > count($all['query']['docs']))
     25                $all['query']['docs'] = array_pad($all['query']['docs'], $total - count($all['query']['docs']), 0);
    2526
    2627        return $all;
  • _plugins_/indexer/trunk/lib/Sphinx/SphinxQL.php

    r82537 r82545  
    5252                        'docs'   => [],
    5353                        'facets' => [],
    54                         'meta'   => []
     54                        'meta'   => [],
     55                        'query'  => $query
    5556                ];
    5657
     
    7374                }
    7475
    75                 return [$liste];
     76                return ['query' => $liste];
    7677        }
    7778
Note: See TracChangeset for help on using the changeset viewer.