/** * @param array $config * * @return array * * @deprecated since 1.9. Use 'exclude' attribute for a field instead of 'excluded_fields' for an entity */ protected function applyExcludedFieldsConfig(array $config) { $excludedFields = ConfigUtil::getArrayValue($config, 'excluded_fields'); unset($config['excluded_fields']); foreach ($excludedFields as $field) { $fieldConfig = ConfigUtil::getFieldConfig($config, $field); if (!ConfigUtil::isExclude($fieldConfig)) { $fieldConfig[ConfigUtil::EXCLUDE] = true; $config[ConfigUtil::FIELDS][$field] = $fieldConfig; } } return $config; }
/** * @param array $row * @param array $config */ protected function normalizeRow(array &$row, array $config) { foreach ($config[ConfigUtil::FIELDS] as $field => $fieldConfig) { if (null !== $fieldConfig) { if (isset($fieldConfig[ConfigUtil::PROPERTY_PATH]) && !ConfigUtil::isExclude($fieldConfig) && (!array_key_exists($field, $row) || null !== $row[$field])) { $propertyPath = $fieldConfig[ConfigUtil::PROPERTY_PATH]; $renaming = isset($fieldConfig[ConfigUtil::FIELDS]) && is_array($fieldConfig[ConfigUtil::FIELDS]) && array_key_exists($propertyPath, $fieldConfig[ConfigUtil::FIELDS]); $this->applyPropertyPath($row, $field, $propertyPath, $renaming); } if (!empty($fieldConfig[ConfigUtil::FIELDS]) && !empty($row[$field]) && is_array($row[$field])) { if (array_key_exists(0, $row[$field])) { $this->normalizeRows($row[$field], $fieldConfig); } else { $this->normalizeRow($row[$field], $fieldConfig); } } } } }