/**
  * @see Filter::setTransformationType()
  * @see GenericFilter::setTransformationType()
  */
 function setTransformationType($inputType, $outputType)
 {
     // Intercept setTransformationType() to check that we
     // only get xml input, the output type is arbitrary.
     if (!substr($inputType, 0, 5) == 'xml::') {
         fatalError('XSL filters need XML as input.');
     }
     parent::setTransformationType($inputType, $outputType);
 }
 /**
  * @see DataObject::hasData()
  */
 function hasData($key, $locale = null)
 {
     // Internal settings will only be checked locally.
     if (in_array($key, $this->getInternalSettings())) {
         return parent::hasData($key);
     }
     // Now try local settings.
     if (parent::hasData($key, $locale)) {
         return true;
     }
     // If nothing is found we try sub-filter settings.
     $compositeSettingName = $this->_getCompositeSettingName($key);
     if (is_null($compositeSettingName)) {
         return false;
     }
     list($filter, $settingName) = $this->_resolveCompositeSettingName($compositeSettingName);
     return $filter->hasData($settingName, $locale);
 }
Example #3
0
 public function testReportGenericFilter() {
   $item = new Element(10, 'toto', '', '');
   $filter = new GenericFilter('id','=','10');
   $this->assertEquals(true, $filter->filter($item));
   $filter = new GenericFilter('id','==','10');
   $this->assertEquals(true, $filter->filter($item));
   $filter = new GenericFilter('id','===','10');
   $this->assertEquals(false, $filter->filter($item));
   $filter = new GenericFilter('id','===',10);
   $this->assertEquals(true, $filter->filter($item));
   $filter = new GenericFilter('id','!=','10');
   $this->assertEquals(false, $filter->filter($item));
   $filter = new GenericFilter('id','=',0);
   $this->assertEquals(false, $filter->filter($item));
   $filter = new GenericFilter('id','!=',0);
   $this->assertEquals(true, $filter->filter($item));
   $filter = new GenericFilter('id','>',5);
   $this->assertEquals(true, $filter->filter($item));
   $filter = new GenericFilter('id','>=',10);
   $this->assertEquals(true, $filter->filter($item));
   $filter = new GenericFilter('id','<',11);
   $this->assertEquals(true, $filter->filter($item));
   $filter = new GenericFilter('id','<=',10);
   $this->assertEquals(true, $filter->filter($item));
   $filter = new GenericFilter('name','=','toto');
   $this->assertEquals(true, $filter->filter($item));
   $filter = new GenericFilter('name','=','titi');
   $this->assertEquals(false, $filter->filter($item));
   $filter = new GenericFilter('name','!=','toto');
   $this->assertEquals(false, $filter->filter($item));
   $filter = new GenericFilter('name','!=','titi');
   $this->assertEquals(true, $filter->filter($item));
   $filter = new GenericFilter('name','>','titi');
   $this->assertEquals(true, $filter->filter($item));
   $filter = new GenericFilter('name','<','titi');
   $this->assertEquals(false, $filter->filter($item));
   $filter = new GenericFilter('name','>=','toto');
   $this->assertEquals(true, $filter->filter($item));
   $filter = new GenericFilter('name','<=','toto');
   $this->assertEquals(true, $filter->filter($item));
 }