protected function resolveNonRelationNonDerivedAttributeClauseAndStructure() { if ($this->filter->getValueElementType() == 'MixedDateTypesForReport') { $this->resolveDateAttributeClauseAndStructure(); } elseif ($this->filter->getValueElementType() == 'MixedNumberTypes') { $this->resolveNumericAttributeClauseAndStructure(); } elseif ($this->filter->getValueElementType() == 'BooleanForWizardStaticDropDown') { $this->resolveBooleanAttributeClauseAndStructure(); } else { $this->resolveTextAttributeClauseAndStructure(); } }
/** * @param string $moduleClassName * @param string $modelClassName * @param string $reportType * @param array $filterData * @return array */ protected static function sanitizeFilterData($moduleClassName, $modelClassName, $reportType, $filterData) { assert('is_string($moduleClassName)'); assert('is_string($modelClassName)'); assert('is_string($reportType)'); assert('is_array($filterData)'); $filterForSanitizing = new FilterForReportForm($moduleClassName, $moduleClassName::getPrimaryModelName(), $reportType); $filterForSanitizing->setAttributes($filterData); $valueElementType = null; $valueElementType = $filterForSanitizing->getValueElementType(); if ($valueElementType == 'MixedDateTypesForReport') { if (isset($filterData['value']) && $filterData['value'] !== null) { $filterData['value'] = DateTimeUtil::resolveValueForDateDBFormatted($filterData['value']); } if (isset($filterData['secondValue']) && $filterData['secondValue'] !== null) { $filterData['secondValue'] = DateTimeUtil::resolveValueForDateDBFormatted($filterData['secondValue']); } } return $filterData; }