function initFilters(&$report, $request, &$feedback) { $filterFactory = new Docman_FilterFactory($this->groupId); $mdFactory = new Docman_MetadataFactory($this->groupId); $mdIter = $mdFactory->getMetadataForGroup(true); $mdIter->rewind(); while ($mdIter->valid()) { $md = $mdIter->current(); $filter = $filterFactory->createFilterOnMatch($md, $request, $report->getAdvancedSearch()); $this->_validateFilterAndCreate($report, $filter, $feedback); $mdIter->next(); } // Special case for a fake metadata: generic text search $filter = $filterFactory->getGlobalSearchFilter($request); $this->_validateFilterAndCreate($report, $filter, $feedback); $filter = $filterFactory->getItemTypeSearchFilter($request, $report->getAdvancedSearch()); $this->_validateFilterAndCreate($report, $filter, $feedback); }