public function getSanitizedDynamicSearchAttributes()
 {
     $dynamicSearchAttributes = SearchUtil::getDynamicSearchAttributesFromGetArray(get_class($this->model));
     if ($dynamicSearchAttributes == null) {
         return array();
     }
     return SearchUtil::sanitizeDynamicSearchAttributesByDesignerTypeForSavingModel($this->model, $dynamicSearchAttributes);
 }
 public function getSanitizedDynamicSearchAttributes()
 {
     $searchArray = SearchUtil::getDynamicSearchAttributesFromGetArray(get_class($this->model));
     if (!empty($searchArray)) {
         return SearchUtil::sanitizeDynamicSearchAttributesByDesignerTypeForSavingModel($this->model, $searchArray);
     } elseif ($this->model->dynamicClauses != null) {
         return $this->model->dynamicClauses;
     } else {
         return array();
     }
 }
Пример #3
0
 public function testGetDynamicSearchAttributesFromGetArray()
 {
     //Test without any dynamic search
     $_GET['testing'] = array('a' => null);
     $newArray = SearchUtil::getDynamicSearchAttributesFromGetArray('testing');
     $this->assertNull($newArray);
     //Test with dynamic search
     $_GET['testing'] = array('a' => null, 'dynamicClauses' => array(array('b' => 'c')), 'dynamicStructure' => '1 and 2');
     $newArray = SearchUtil::getDynamicSearchAttributesFromGetArray('testing');
     $compareData = array(array('b' => 'c'));
     $this->assertEquals($compareData, $newArray);
     //Test with dynamic search and an undefined sub-array
     $_GET['testing'] = array('a' => null, 'dynamicClauses' => array(array('b' => 'c'), 'undefined', array('d' => 'simpleDimple')), 'dynamicStructure' => '1 and 2');
     $newArray = SearchUtil::getDynamicSearchAttributesFromGetArray('testing');
     $compareData = array(0 => array('b' => 'c'), 2 => array('d' => 'simpleDimple'));
     $this->assertEquals($compareData, $newArray);
     //Test with an empty value being converted to null, also tests nested empty values
     $_GET['testing'] = array('a' => null, 'dynamicClauses' => array(array('b' => 'c'), 'undefined', array('d' => ''), array('e' => array('f' => array('g' => ''))), array('e' => array('f' => ''))), 'dynamicStructure' => '1 and 2');
     $newArray = SearchUtil::getDynamicSearchAttributesFromGetArray('testing');
     $compareData = array(0 => array('b' => 'c'), 2 => array('d' => null), array('e' => array('f' => array('g' => null))), array('e' => array('f' => null)));
     $this->assertEquals($compareData, $newArray);
     $this->assertTrue($newArray[2]['d'] === null);
     $this->assertTrue($newArray[3]['e']['f']['g'] === null);
     $this->assertTrue($newArray[4]['e']['f'] === null);
 }