Changeset 82782 in spip-zone


Ignore:
Timestamp:
May 28, 2014, 5:38:43 PM (5 years ago)
Author:
rastapopoulos@…
Message:

Cette variable du tableau n'existe pas si la requête ne retourne rien. Il faut donc tester son existance avant sinon WARNING PHP.

Location:
_plugins_/indexer/trunk
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • _plugins_/indexer/trunk/iterateur/sphinx.php

    r82769 r82782  
    221221                ) {
    222222                        $q2 = $msg = array();
    223                         foreach($result['query']['meta']['keywords'] as $w) {
    224                                 if($w['docs'] == 0) {
    225                                         $msg[] = "<del>".htmlspecialchars($w['keyword'])."</del>";
    226                                 } else {
    227                                         $msg[] = htmlspecialchars($w['keyword']);
    228                                         $q2[] = $w['keyword'];
     223                        if (isset($result['query']['meta']['keywords'])){
     224                                foreach($result['query']['meta']['keywords'] as $w) {
     225                                        if($w['docs'] == 0) {
     226                                                $msg[] = "<del>".htmlspecialchars($w['keyword'])."</del>";
     227                                        } else {
     228                                                $msg[] = htmlspecialchars($w['keyword']);
     229                                                $q2[] = $w['keyword'];
     230                                        }
    229231                                }
    230232                        }
  • _plugins_/indexer/trunk/lib/Sphinx/SphinxQL/QueryApi.php

    r82769 r82782  
    326326         *         array(
    327327         *             'type' => 'distance',
    328          *             'center' => array(
     328         *             'point1' => array(
    329329         *                 'lat' => 44.837862,
    330330         *                 'lon' => -0.580086,
    331331         *             ),
    332          *             'fields' => array(
     332         *             'point2' => array(
    333333         *                 'lat' => 'properties.geo.lat',
    334334         *                 'lon' => 'properties.geo.lon',
     
    463463                return true;
    464464        }
     465       
     466        /**
     467         * Add a distance filter
     468         *
     469         * @param array $filter
     470         *              Description of the filter
     471         *              - point1 : associative array of lat and lon
     472         *              - point2 : associative array of lat and lon
     473         *              - distance : distance in meters to compare to
     474         *              - comparison : operator, default to "<="
     475         * @return bool
     476         *              Return true if the filter has been added
     477         */
     478        public function setApiFilterDistance($filter) {
     479                static $as_count = 0;
     480
     481                // Multi value JSON
     482                if (
     483                        !isset($filter['point1']['lat'])
     484                        or !isset($filter['point1']['lon'])
     485                        or !isset($filter['point2']['lat'])
     486                        or !isset($filter['point2']['lon'])
     487                        or !isset($filter['distance'])
     488                ){
     489                        return false;
     490                }
     491               
     492                // Force type
     493                $distance = intval($filter['distance']);
     494               
     495                // Default comparison : =
     496                if (!isset($filter['comparison'])){
     497                        $filter['comparison'] = '<=';
     498                }
     499               
     500                //$this->select('geodist(' .
     501               
     502                return true;
     503        }
    465504}
Note: See TracChangeset for help on using the changeset viewer.