예제 #1
0
파일: Dt.php 프로젝트: tokushima/rhaco3
 private function filter_find($class, $order)
 {
     $object_list = array();
     $paginator = new \org\rhaco\Paginator(20, $this->in_vars('page', 1));
     $paginator->cp(array('order' => $order));
     if ($this->is_vars('search_clear')) {
         $object_list = $class::find_all($paginator, Q::select_order($order, $this->in_vars('porder')));
         $this->rm_vars();
     } else {
         if ($this->is_vars('search')) {
             $q = new \org\rhaco\store\db\Q();
             foreach ($this->ar_vars() as $k => $v) {
                 if ($v !== '' && strpos($k, 'search_') === 0) {
                     list(, $type, $key) = explode('_', $k, 3);
                     switch ($type) {
                         case 'timestamp':
                         case 'date':
                             list($fromto, $key) = explode('_', $key);
                             $q->add($fromto == 'to' ? Q::lte($key, $v) : Q::gte($key, $v));
                             break;
                         default:
                             $q->add(Q::contains($key, $v));
                     }
                     $paginator->vars($k, $v);
                 }
                 $paginator->vars('search', true);
             }
             $object_list = $class::find_all($q, $paginator, Q::select_order($order, $this->in_vars('porder')));
             $this->rm_vars('q');
         } else {
             $object_list = $class::find_all(Q::match($this->in_vars('q')), $paginator, Q::select_order($order, $this->in_vars('porder')));
             $paginator->vars('q', $this->in_vars('q'));
         }
     }
     return array($object_list, $paginator);
 }
예제 #2
0
파일: Dao.php 프로젝트: tokushima/rhaco3
 /**
  * @module org.rhaco.store.queue.Queue
  * 終了したものを削除する
  * @param string $type
  * @param timestamp $fin
  */
 public function clean($type, $fin, \org\rhaco\Paginator $paginator)
 {
     foreach (\org\rhaco\store\queue\module\Dao\QueueDao::find(Q::eq('type', $type), Q::neq('fin', null), Q::lte('fin', $fin), Q::order('id'), $paginator) as $obj) {
         $obj->delete();
     }
     \org\rhaco\store\queue\module\Dao\QueueDao::commit();
 }