Пример #1
0
 public function find(IFileFilter $filter)
 {
     $this->currentFilter = $filter;
     $filterType = $filter->getFilterType();
     $filterValue = $filter->getFilterValue();
     $pairs = $filter->getPairs();
     if (is_array($pairs)) {
         $this->as_pairs = true;
         $this->pairs = $pairs;
     }
     switch ($filterType) {
         case FileFilter::FILTER_FIND_ALL:
             return $this->findAll();
         case FileFilter::FILTER_FIND_BY_NAME:
             return $this->findByName($filterValue);
         case FileFilter::FILTER_FIND_CONTENT_TYPE:
             return $this->findByContentType($filterValue);
         case FileFilter::FILTER_FIND_IMAGES:
             return $this->findImages();
         case FileFilter::FILTER_FIND_NOT_IMAGES:
             return $this->findNotImages();
         case FileFilter::FILTER_FIND_NAMESPACE:
             return $this->findByNamespace($filterValue);
         case FileFilter::FILTER_GET_ID:
             return $this->getById($filterValue);
         case FileFilter::FILTER_GET_NAME:
             return $this->getByName($filterValue);
         case FileFilter::FILTER_GET_NAMESPACE:
             return $this->getByNamespace($filterValue);
         case FileFilter::FILTER_CUSTOM_WHERE:
             return $this->findByCustomWhere($filterValue);
         case FileFilter::FILTER_ORDER_DESC:
             return $this->findByOrderDESC();
         default:
             throw new DatabaseStorageException('Unsupported filter type: ' . $filterType);
     }
 }