示例#1
0
 /**
  * @param int $accountId
  * @return FilterCollection
  */
 function &SelectFilters($accountId, $useCache = false)
 {
     $filters = null;
     $_sql = $this->_commandCreator->SelectFilters($accountId);
     $_cacher =& CObjectCache::CreateInstance();
     if ($useCache && $_cacher->Has('sql=' . $_sql)) {
         $filters =& $_cacher->Get('sql=' . $_sql);
     } else {
         if ($this->_dbConnection->Execute($_sql, true)) {
             $filters = new FilterCollection();
             while (false !== ($row = $this->_dbConnection->GetNextRecord())) {
                 $filter = new Filter();
                 $filter->Id = $row->id_filter;
                 $filter->IdAcct = $accountId;
                 $filter->Field = $row->field;
                 $filter->Condition = $row->condition;
                 $filter->Filter = $row->filter;
                 $filter->Action = $row->action;
                 $filter->IdFolder = $row->id_folder;
                 $filter->Applied = $row->applied;
                 $filters->Add($filter);
                 unset($filter);
             }
             if ($useCache) {
                 $_cacher->Set('sql=' . $_sql, $filters);
             }
         }
     }
     return $filters;
 }