Exemple #1
0
 public function filterLate($c, $filters)
 {
     $filters_key = array_keys($filters);
     foreach ($filters_key as $key) {
         $value = $filters[$key];
         if ($value == '' || $value == null) {
             continue;
         }
         if ($key == 'CODE3') {
             $c->addJoin(CirHistoryPeer::MEMBER_ID, MemberPeer::ID);
             $column = MemberPeer::gettableMap()->getColumn('CODE3');
         } elseif ($key == 'CODE') {
             $c->addJoin(CirHistoryPeer::MEMBER_ID, MemberPeer::ID);
             $column = MemberPeer::gettableMap()->getColumn('CODE');
         } elseif ($key == 'NAME') {
             $c->addJoin(CirHistoryPeer::MEMBER_ID, MemberPeer::ID);
             $column = MemberPeer::gettableMap()->getColumn('NAME');
         } elseif ($key == 'TITLE') {
             $c->addJoin(ColItemPeer::CATALOG_ID, CatalogPeer::ID);
             $c->addJoin(CirHistoryPeer::COL_ITEM_ID, ColItemPeer::ID);
             $column = CatalogPeer::gettableMap()->getColumn('TITLE');
         } elseif ($key == 'department_id') {
             $c->addJoin(ColItemPeer::COL_LOCATION_ID, ColLocationPeer::ID);
             $c->addJoin(CirHistoryPeer::COL_ITEM_ID, ColItemPeer::ID);
             $column = ColLocationPeer::gettableMap()->getColumn('DEPARTMENT_ID');
         } else {
             $column = CirHistoryPeer::getTableMap()->getColumn($key);
         }
         $name = $column->getFullyQualifiedName();
         $creoleType = $column->getCreoleType();
         if ($creoleType == CreoleTypes::TIME) {
             $from = $value['from'];
             $to = $value['to'];
             if ($from != '' && $from != null) {
                 $c->add($name, $from, Criteria::GREATER_EQUAL);
             }
             if ($to != '' && $to != null) {
                 $c->addAnd($name, $to, Criteria::LESS_EQUAL);
             }
         } else {
             if ($creoleType == CreoleTypes::INTEGER) {
                 $c->add($name, $value, Criteria::EQUAL);
             } else {
                 if ($creoleType == CreoleTypes::VARCHAR) {
                     $c->add($name, "%{$value}%", Criteria::LIKE);
                 }
             }
         }
     }
 }