Beispiel #1
0
 public function applyFilter($model, $value)
 {
     if (!is_array($value)) {
         return $model->filterEqual($this->name, "{$value}");
     } elseif (!empty($value['from']) || !empty($value['to'])) {
         if (!empty($value['from'])) {
             $model->filterGtEqual($this->name . '+0', $value['from']);
         }
         if (!empty($value['to'])) {
             $model->filterLtEqual($this->name . '+0', $value['to']);
         }
         return $model;
     }
     return parent::applyFilter($model, $value);
 }
Beispiel #2
0
 public function applyFilter($model, $value)
 {
     if (!is_array($value)) {
         return parent::applyFilter($model, $value);
     }
     if (!empty($value['from']) || !empty($value['to'])) {
         if (!empty($value['from'])) {
             $from = intval($value['from']);
             $model->filterDateOlder($this->name, $from, $this->getOption('range'));
         }
         if (!empty($value['to'])) {
             $to = intval($value['to']);
             $model->filterDateYounger($this->name, $to, $this->getOption('range'));
         }
         return $model;
     }
     return parent::applyFilter($model, $value);
 }
Beispiel #3
0
 public function applyFilter($model, $value)
 {
     if (!is_array($value) || !empty($value['date'])) {
         if (!empty($value['date'])) {
             $value = sprintf('%s %02d:%02d', $value['date'], $value['hours'], $value['mins']);
         }
         $date_start = date('Y-m-d', strtotime($value));
         $date_final = date('Y-m-d', strtotime($value) + 60 * 60 * 24);
         return $model->filterBetween($this->name, $date_start, $date_final);
     } elseif (!empty($value['from']) || !empty($value['to'])) {
         if (!empty($value['from'])) {
             $model->filterGtEqual($this->name, date('Y-m-d', strtotime($value['from'])));
         }
         if (!empty($value['to'])) {
             $model->filterLtEqual($this->name, date('Y-m-d', strtotime($value['to']) + 60 * 60 * 24));
         }
         return $model;
     }
     return parent::applyFilter($model, $value);
 }
Beispiel #4
0
 public function applyFilter($model, $values)
 {
     if (!is_array($values)) {
         return parent::applyFilter($model, $values);
     }
     $filter = $this->parseValue($values);
     if (!$filter) {
         return parent::applyFilter($model, $values);
     }
     $filter = str_replace('0', '_', $filter) . '%';
     return $model->filterLike($this->name, $filter);
 }