Esempio n. 1
0
 protected function _buildQueryWhere(KDatabaseQueryInterface $query)
 {
     $state = $this->getState();
     if ($state->extman_extension_id) {
         $query->where('tbl.extman_extension_id = :extension_id')->bind(array('extension_id' => $state->extman_extension_id));
     }
     if ($state->dependent_id) {
         $query->where('tbl.dependent_id = :dependent_id')->bind(array('dependent_id' => $state->dependent_id));
     }
 }
 protected function _buildQueryWhere(KDatabaseQueryInterface $query)
 {
     $state = $this->getState();
     if ($state->stale) {
         $query->where('(status = 1 AND NOW() > DATE_ADD(modified_on, INTERVAL 5 MINUTE))');
     }
     if (is_numeric($state->status) || !empty($state->status)) {
         $query->where('tbl.status IN :status')->bind(array('status' => (array) $state->status));
     }
     if (is_numeric($state->queue) || !empty($state->queue)) {
         $query->where('tbl.queue IN :queue')->bind(array('queue' => (array) $state->queue));
     }
 }
Esempio n. 3
0
    protected function _buildQuerySearchKeyword(KDatabaseQueryInterface $query)
    {
        $state  = $this->getState();
        $search = $state->search;

        if (!empty($search)) 
        {
            switch ($state->search_by) 
            {
                case 'exact':
                    $query->where('(tbl.title LIKE :search OR tbl.description LIKE :search)')
                        ->bind(array('search' => '%'.$search.'%'));

                    break;
                case 'any':
                    $query->where('(tbl.title RLIKE :search OR tbl.description RLIKE :search)')
                        ->bind(array('search' => implode('|', explode(' ', $search))));

                    break;
                case 'all':
                    $i = 0;
                    foreach (explode(' ', $search) as $keyword) {
                        $query->where("(tbl.title LIKE :search$i OR tbl.description LIKE :search$i)")
                            ->bind(array("search$i" => '%'.$keyword.'%'));
                        $i++;
                    }

                    break;
            }
        }
    }
Esempio n. 4
0
 protected function _buildQueryJoins(KDatabaseQueryInterface $query)
 {
     $query->join(array('viewlevel' => 'viewlevels'), 'tbl.access = viewlevel.id');
     parent::_buildQueryJoins($query);
 }
Esempio n. 5
0
 protected function _buildQueryOrder(KDatabaseQueryInterface $query)
 {
     $sort = $this->getState()->sort;
     $direction = strtoupper($this->getState()->direction);
     if ($sort) {
         $column = $this->getTable()->mapColumns($sort);
         if (array_key_exists($column, $this->getTable()->getColumns())) {
             $query->order($column, $direction);
         }
     }
 }