|
@@ 224-244 (lines=21) @@
|
| 221 |
|
* @param ContentCreateStruct $createStruct |
| 222 |
|
* @param array $fields |
| 223 |
|
*/ |
| 224 |
|
protected function setFields(ContentCreateStruct &$createStruct, array $fields) |
| 225 |
|
{ |
| 226 |
|
foreach ($fields as $field) { |
| 227 |
|
// each $field is one key value pair |
| 228 |
|
// eg.: $field = array($fieldIdentifier => $fieldValue) |
| 229 |
|
$fieldIdentifier = key($field); |
| 230 |
|
|
| 231 |
|
$fieldTypeIdentifier = $createStruct->contentType->fieldDefinitionsByIdentifier[$fieldIdentifier]->fieldTypeIdentifier; |
| 232 |
|
|
| 233 |
|
if (is_array($field[$fieldIdentifier])) { |
| 234 |
|
// Complex field needs special handling eg.: ezimage, ezbinaryfile |
| 235 |
|
$fieldValue = $this->handleComplexField($fieldTypeIdentifier, $field[$fieldIdentifier]); |
| 236 |
|
} else { |
| 237 |
|
// Primitive field eg.: ezstring, ezxml etc. |
| 238 |
|
$fieldValue = $this->handleSingleField($fieldTypeIdentifier, $fieldIdentifier, $field[$fieldIdentifier]); |
| 239 |
|
} |
| 240 |
|
|
| 241 |
|
$createStruct->setField($fieldIdentifier, $fieldValue, self::DEFAULT_LANGUAGE_CODE); |
| 242 |
|
} |
| 243 |
|
} |
| 244 |
|
|
| 245 |
|
/** |
| 246 |
|
* Helper function to set the fields of a ContentUpdateStruct based on the DSL attribute settings. |
| 247 |
|
* |
|
@@ 251-270 (lines=20) @@
|
| 248 |
|
* @param ContentUpdateStruct $updateStruct |
| 249 |
|
* @param array $fields |
| 250 |
|
*/ |
| 251 |
|
protected function setFieldsToUpdate(ContentUpdateStruct &$updateStruct, array $fields, ContentType $contentType) |
| 252 |
|
{ |
| 253 |
|
foreach ($fields as $field) { |
| 254 |
|
// each $field is one key value pair |
| 255 |
|
// eg.: $field = array($fieldIdentifier => $fieldValue) |
| 256 |
|
$fieldIdentifier = key($field); |
| 257 |
|
|
| 258 |
|
$fieldTypeIdentifier = $contentType->fieldDefinitionsByIdentifier[$fieldIdentifier]->fieldTypeIdentifier; |
| 259 |
|
|
| 260 |
|
if (is_array($field[$fieldIdentifier])) { |
| 261 |
|
// Complex field needs special handling eg.: ezimage, ezbinaryfile |
| 262 |
|
$fieldValue = $this->handleComplexField($fieldTypeIdentifier, $field[$fieldIdentifier]); |
| 263 |
|
} else { |
| 264 |
|
// Primitive field eg.: ezstring, ezxml etc. |
| 265 |
|
$fieldValue = $this->handleSingleField($fieldTypeIdentifier, $fieldIdentifier, $field[$fieldIdentifier]); |
| 266 |
|
} |
| 267 |
|
|
| 268 |
|
$updateStruct->setField($fieldIdentifier, $fieldValue, self::DEFAULT_LANGUAGE_CODE); |
| 269 |
|
} |
| 270 |
|
} |
| 271 |
|
|
| 272 |
|
/** |
| 273 |
|
* Create the field value for a primitive field |