Changeset 82459 in spip-zone


Ignore:
Timestamp:
May 16, 2014, 3:46:16 PM (5 years ago)
Author:
rastapopoulos@…
Message:

Déplacer la machinerie de l'API en tableau dans une méthode à part.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • _plugins_/indexer/trunk/lib/Sphinx/SphinxQLQuery.php

    r82458 r82459  
    8383        public function __construct($query_description=array()) {
    8484                if (!empty($query_description)){
     85                        $this->array2query($query_description);
     86                }
     87        }
     88       
     89    public function select($select) {
     90        $this->select[] = $select;
     91        return $this;
     92    }
     93
     94    public function from($from) {
     95        $this->from[] = $from;
     96        return $this;
     97    }
     98
     99
     100    public function where($where) {
     101        $this->where[] = $where;
     102        return $this;
     103    }
     104
     105    public function orderby($orderby) {
     106        $this->orderby[] = $orderby;
     107        return $this;
     108    }
     109
     110    public function groupby($groupby) {
     111        $this->groupby[] = $groupby;
     112        return $this;
     113    }
     114
     115    public function limit($limit) {
     116        $this->limit = $limit;
     117        return $this;
     118    }
     119
     120    public function facet($facet) {
     121        $this->facet[] = $facet;
     122        return $this;
     123    }
     124
     125    function quote($value, $type='') {
     126                return
     127                        (is_numeric($value)) ? strval($value) :
     128                                (!is_array($value) ? ("'" . addslashes($value) . "'") :
     129                                        join(",", array_map(array($this, 'quote'), $value))
     130                                );
     131        }
     132       
     133        public function array2query($query_description){
     134                if (is_array($query_description)){
    85135                        // Index (mandatory)
    86                         if ($query_description['index']){
     136                        if (isset($query_description['index'])){
    87137                                if (!is_array($query_description['index'])){
    88138                                        $query_description['index'] = array($query_description['index']);
     
    223273        }
    224274       
    225     public function select($select) {
    226         $this->select[] = $select;
    227         return $this;
    228     }
    229 
    230     public function from($from) {
    231         $this->from[] = $from;
    232         return $this;
    233     }
    234 
    235 
    236     public function where($where) {
    237         $this->where[] = $where;
    238         return $this;
    239     }
    240 
    241     public function orderby($orderby) {
    242         $this->orderby[] = $orderby;
    243         return $this;
    244     }
    245 
    246     public function groupby($groupby) {
    247         $this->groupby[] = $groupby;
    248         return $this;
    249     }
    250 
    251     public function limit($limit) {
    252         $this->limit = $limit;
    253         return $this;
    254     }
    255 
    256     public function facet($facet) {
    257         $this->facet[] = $facet;
    258         return $this;
    259     }
    260 
    261     function quote($value, $type='') {
    262                 return
    263                         (is_numeric($value)) ? strval($value) :
    264                                 (!is_array($value) ? ("'" . addslashes($value) . "'") :
    265                                         join(",", array_map(array($this, 'quote'), $value))
    266                                 );
    267         }
    268 
    269275    public function get() {
    270276        $query = [];
Note: See TracChangeset for help on using the changeset viewer.