/** * @covers FilterHelper */ public function testCompareFilters() { $filterHelper = new FilterHelper(); import('lib.pkp.classes.filter.FilterGroup'); $someGroup = new FilterGroup(); $someGroup->setInputType('primitive::string'); $someGroup->setOutputType('primitive::string'); import('lib.pkp.classes.filter.PersistableFilter'); $filterA = new PersistableFilter($someGroup); $filterBSettings = array('some-key' => 'some-value'); $filterBSubfilters = array(); self::assertFalse($filterHelper->compareFilters($filterA, $filterBSettings, $filterBSubfilters)); import('lib.pkp.classes.filter.FilterSetting'); $filterA->addSetting(new FilterSetting('some-key', null, null)); self::assertFalse($filterHelper->compareFilters($filterA, $filterBSettings, $filterBSubfilters)); $filterA->setData('some-key', 'some-value'); self::assertTrue($filterHelper->compareFilters($filterA, $filterBSettings, $filterBSubfilters)); $filterA = new CompositeFilter($someGroup); $filterBSettings = array(); $filterBSubfilter = new CompositeFilter($someGroup); $filterBSubfilter->setSeq(1); $filterBSubfilters = array($filterBSubfilter); self::assertFalse($filterHelper->compareFilters($filterA, $filterBSettings, $filterBSubfilters)); $filterASubfilter = new OtherCompositeFilter($someGroup); $filterA->addFilter($filterASubfilter); self::assertFalse($filterHelper->compareFilters($filterA, $filterBSettings, $filterBSubfilters)); $filterA = new CompositeFilter($someGroup); $filterASubfilter = new CompositeFilter($someGroup); $filterA->addFilter($filterASubfilter); self::assertTrue($filterHelper->compareFilters($filterA, $filterBSettings, $filterBSubfilters)); $filterBSubfilter->addSetting(new FilterSetting('some-key', null, null)); $filterASubfilter->addSetting(new FilterSetting('some-key', null, null)); $filterBSubfilter->setData('some-key', 'some-value'); self::assertFalse($filterHelper->compareFilters($filterA, $filterBSettings, $filterBSubfilters)); $filterASubfilter->setData('some-key', 'some-value'); self::assertTrue($filterHelper->compareFilters($filterA, $filterBSettings, $filterBSubfilters)); }
/** * Constructor */ function __construct(&$filterGroup, $displayName = null) { parent::__construct($filterGroup, $displayName); }
public final function AddCompositeFieldFilter($filterLinkType, $fieldNames, $fieldFilters) { $compositeFilter = new CompositeFilter($filterLinkType); for ($i = 0; $i < count($fieldNames); $i++) { $compositeFilter->AddFilter($this->GetFieldByName($fieldNames[$i]), $fieldFilters[$i]); } $this->compositeFieldFilters[] = $compositeFilter; }
/** * Constructor */ function GenericSequencerFilter($displayName = null, $transformation = null) { parent::CompositeFilter($displayName, $transformation); }
/** * @param CompositeFilter $filter * @return void */ public function VisitCompositeFilter($filter) { $this->resultCondition = ''; foreach ($filter->GetInnerFilters() as $filterInfo) { AddStr($this->resultCondition, '(' . $this->CreateCondition($filterInfo['filter'], $filterInfo['field']) . ')', ' ' . $filter->GetFilterLinkType() . ' '); } }
/** * Constructor */ function GenericSequencerFilter(&$filterGroup, $displayName = null) { parent::CompositeFilter($filterGroup, $displayName); }
/** * Constructor */ function GenericMultiplexerFilter($displayName = null, $transformation = null) { parent::CompositeFilter($displayName, $transformation); }
/** * Constructor * @param $filterGroup FilterGroup * @param $displayName string */ function GenericMultiplexerFilter(&$filterGroup, $displayName = null) { parent::CompositeFilter($filterGroup, $displayName); }