示例#1
0
 public function applyFilter($filter_field, $value)
 {
     if ($filter_field['comparison'] == 'special') {
         if ($filter_field['input_type'] == 'boolean') {
             if (!is_null($value) && $value != $filter_field['default']) {
                 $rates_coll = Billrun_Factory::db()->ratesCollection();
                 $unrated_rate = $rates_coll->query("key", "UNRATED")->cursor()->setReadPreference(Billrun_Factory::config()->getConfigValue('read_only_db_pref'))->current()->createRef($rates_coll);
                 $month_ago = new MongoDate(strtotime("1 month ago"));
                 return array('$or' => array(array('arate' => $unrated_rate), array('sid' => false), array('$and' => array(array('arate' => array('$exists' => true, '$nin' => array(false, $unrated_rate))), array('sid' => array('$exists' => true, '$ne' => false)), array('urt' => array('$lt' => $month_ago)), array('aprice' => array('$exists' => false))))));
             }
         }
     } else {
         return parent::applyFilter($filter_field, $value);
     }
 }
示例#2
0
 public function applyFilter($filter_field, $value)
 {
     if ($filter_field['input_type'] == 'date' && is_array($filter_field['db_key'])) {
         if (is_string($value)) {
             $value = new MongoDate((new Zend_Date($value, null, new Zend_Locale('he_IL')))->getTimestamp());
             return array('$and' => array(array($filter_field['db_key'][0] => array($filter_field['comparison'][0] => $value), $filter_field['db_key'][1] => array($filter_field['comparison'][1] => $value))));
         }
     } else {
         return parent::applyFilter($filter_field, $value);
     }
 }