/** * Maps a ValueObject from eZ content repository to a data usable as underlying form data (e.g. create/update struct). * * @param ValueObject|\eZ\Publish\API\Repository\Values\Content\Content $contentDraft * @param array $params * * @return ContentUpdateData */ public function mapToFormData(ValueObject $contentDraft, array $params = []) { $optionsResolver = new OptionsResolver(); $this->configureOptions($optionsResolver); $params = $optionsResolver->resolve($params); $data = new ContentUpdateData(['contentDraft' => $contentDraft, 'contentType' => $params['contentType']]); $fields = $contentDraft->getFieldsByLanguage($params['languageCode']); foreach ($params['contentType']->fieldDefinitions as $fieldDef) { $field = $fields[$fieldDef->identifier]; $data->addFieldData(new FieldData(['fieldDefinition' => $fieldDef, 'field' => $field, 'value' => $field->value])); } return $data; }
/** * Maps a ValueObject from eZ content repository to a data usable as underlying form data (e.g. create/update struct). * * @param ValueObject|\eZ\Publish\API\Repository\Values\ContentType\ContentTypeDraft $contentTypeDraft * @param array $params * * @return ContentTypeData */ public function mapToFormData(ValueObject $contentTypeDraft, array $params = []) { $contentTypeData = new ContentTypeData(['contentTypeDraft' => $contentTypeDraft]); if (!$contentTypeData->isNew()) { $contentTypeData->identifier = $contentTypeDraft->identifier; } $contentTypeData->remoteId = $contentTypeDraft->remoteId; $contentTypeData->urlAliasSchema = $contentTypeDraft->urlAliasSchema; $contentTypeData->nameSchema = $contentTypeDraft->nameSchema; $contentTypeData->isContainer = $contentTypeDraft->isContainer; $contentTypeData->mainLanguageCode = $contentTypeDraft->mainLanguageCode; $contentTypeData->defaultSortField = $contentTypeDraft->defaultSortField; $contentTypeData->defaultSortOrder = $contentTypeDraft->defaultSortOrder; $contentTypeData->defaultAlwaysAvailable = $contentTypeDraft->defaultAlwaysAvailable; $contentTypeData->names = $contentTypeDraft->getNames(); $contentTypeData->descriptions = $contentTypeDraft->getDescriptions(); foreach ($contentTypeDraft->fieldDefinitions as $fieldDef) { $contentTypeData->addFieldDefinitionData(new FieldDefinitionData(['fieldDefinition' => $fieldDef, 'contentTypeData' => $contentTypeData, 'identifier' => $fieldDef->identifier, 'names' => $fieldDef->getNames(), 'descriptions' => $fieldDef->getDescriptions(), 'fieldGroup' => $fieldDef->fieldGroup, 'position' => $fieldDef->position, 'isTranslatable' => $fieldDef->isTranslatable, 'isRequired' => $fieldDef->isRequired, 'isInfoCollector' => $fieldDef->isInfoCollector, 'validatorConfiguration' => $fieldDef->getValidatorConfiguration(), 'fieldSettings' => $fieldDef->getFieldSettings(), 'defaultValue' => $fieldDef->defaultValue, 'isSearchable' => $fieldDef->isSearchable])); } return $contentTypeData; }
/** * Wrapper for deprecated $criterion property * * @param string $property * @return bool */ public function __isset($property) { if ($property === 'criterion') { return true; } return parent::__isset($property); }
/** * Constructor. * * @param array $properties */ public function __construct(array $properties = array()) { $this->attributes = array(); parent::__construct($properties); }
/** * Get ContentType by Content/ContentInfo * * @param \eZ\Publish\API\Repository\Values\Content\Content|\eZ\Publish\API\Repository\Values\Content\ContentInfo $content * @return \eZ\Publish\API\Repository\Values\ContentType\ContentType|null */ private function getContentType(ValueObject $content) { if ($content instanceof Content) { return $this->repository->getContentTypeService()->loadContentType($content->getVersionInfo()->getContentInfo()->contentTypeId); } else { if ($content instanceof ContentInfo) { return $this->repository->getContentTypeService()->loadContentType($content->contentTypeId); } } }
/** * Magic isset for signaling existence of convenience properties. * * @param string $property * * @return bool */ public function __isset($property) { if ($property === 'keyword') { return true; } return parent::__isset($property); }
/** * Returns the fieldTypeIdentifier for the field value to validate. * * @param FieldDefinitionData|ValueObject $value ValueObject holding the field value to validate, e.g. FieldDefinitionData. * * @return string */ protected function getFieldTypeIdentifier(ValueObject $value) { return $value->getFieldTypeIdentifier(); }