Exponential 5.x Kernel 7.5.40 Exponential New Stack (Symfony-based) Kernel — PHP Class Reference

Core/Persistence/Legacy/Content/Type/Handler.php
Go to the documentation of this file.
1 <?php
2
7 namespace eZ\Publish\Core\Persistence\Legacy\Content\Type;
8
9 use eZ\Publish\SPI\Persistence\Content\Type;
10 use eZ\Publish\SPI\Persistence\Content\Type\Handler as BaseContentTypeHandler;
11 use eZ\Publish\SPI\Persistence\Content\Type\CreateStruct;
12 use eZ\Publish\SPI\Persistence\Content\Type\UpdateStruct;
13 use eZ\Publish\SPI\Persistence\Content\Type\FieldDefinition;
14 use eZ\Publish\SPI\Persistence\Content\Type\Group;
15 use eZ\Publish\SPI\Persistence\Content\Type\Group\CreateStruct as GroupCreateStruct;
16 use eZ\Publish\SPI\Persistence\Content\Type\Group\UpdateStruct as GroupUpdateStruct;
17 use eZ\Publish\Core\Persistence\Legacy\Content\StorageFieldDefinition;
18 use eZ\Publish\Core\Persistence\Legacy\Content\Type\Update\Handler as UpdateHandler;
19 use eZ\Publish\Core\Persistence\Legacy\Exception;
20 use eZ\Publish\Core\Base\Exceptions\NotFoundException;
21 use eZ\Publish\Core\Base\Exceptions\BadStateException;
22 use eZ\Publish\Core\Base\Exceptions\InvalidArgumentException;
23
24 class Handler implements BaseContentTypeHandler
25 {
27 protected $contentTypeGateway;
28
34 protected $mapper;
35
41 protected $updateHandler;
42
50 public function __construct(
51 Gateway $contentTypeGateway,
52 Mapper $mapper,
53 UpdateHandler $updateHandler
54 ) {
55 $this->contentTypeGateway = $contentTypeGateway;
56 $this->mapper = $mapper;
57 $this->updateHandler = $updateHandler;
58 }
59
65 public function createGroup(GroupCreateStruct $createStruct)
66 {
67 $group = $this->mapper->createGroupFromCreateStruct(
68 $createStruct
69 );
70
71 $group->id = $this->contentTypeGateway->insertGroup(
72 $group
73 );
74
75 return $group;
76 }
77
83 public function updateGroup(GroupUpdateStruct $struct)
84 {
85 $this->contentTypeGateway->updateGroup(
86 $struct
87 );
88
89 return $this->loadGroup($struct->id);
90 }
91
98 public function deleteGroup($groupId)
99 {
100 if ($this->contentTypeGateway->countTypesInGroup($groupId) !== 0) {
101 throw new Exception\GroupNotEmpty($groupId);
102 }
103 $this->contentTypeGateway->deleteGroup($groupId);
104 }
105
113 public function loadGroup($groupId)
114 {
115 $groups = $this->mapper->extractGroupsFromRows(
116 $this->contentTypeGateway->loadGroupData([$groupId])
117 );
118
119 if (count($groups) !== 1) {
120 throw new Exception\TypeGroupNotFound($groupId);
121 }
122
123 return $groups[0];
124 }
125
129 public function loadGroups(array $groupIds)
130 {
131 $groups = $this->mapper->extractGroupsFromRows(
132 $this->contentTypeGateway->loadGroupData($groupIds)
133 );
134
135 $listByGroupIds = [];
136 foreach ($groups as $group) {
137 $listByGroupIds[$group->id] = $group;
138 }
139
140 return $listByGroupIds;
141 }
142
150 public function loadGroupByIdentifier($identifier)
151 {
152 $groups = $this->mapper->extractGroupsFromRows(
153 $this->contentTypeGateway->loadGroupDataByIdentifier($identifier)
154 );
155
156 if (count($groups) !== 1) {
157 throw new Exception\TypeGroupNotFound($identifier);
158 }
159
160 return $groups[0];
161 }
162
166 public function loadAllGroups()
167 {
168 return $this->mapper->extractGroupsFromRows(
169 $this->contentTypeGateway->loadAllGroupsData()
170 );
171 }
172
179 public function loadContentTypes($groupId, $status = 0)
180 {
181 return $this->mapper->extractTypesFromRows(
182 $this->contentTypeGateway->loadTypesDataForGroup($groupId, $status)
183 );
184 }
185
186 public function loadContentTypeList(array $contentTypeIds): array
187 {
188 return $this->mapper->extractTypesFromRows(
189 $this->contentTypeGateway->loadTypesListData($contentTypeIds),
190 true
191 );
192 }
193
204 public function load($contentTypeId, $status = Type::STATUS_DEFINED)
205 {
206 return $this->loadFromRows(
207 $this->contentTypeGateway->loadTypeData($contentTypeId, $status),
208 $contentTypeId,
209 $status
210 );
211 }
212
224 public function loadByIdentifier($identifier)
225 {
226 $rows = $this->contentTypeGateway->loadTypeDataByIdentifier($identifier, Type::STATUS_DEFINED);
227
228 return $this->loadFromRows($rows, $identifier, Type::STATUS_DEFINED);
229 }
230
242 public function loadByRemoteId($remoteId)
243 {
244 return $this->loadFromRows(
245 $this->contentTypeGateway->loadTypeDataByRemoteId($remoteId, Type::STATUS_DEFINED),
246 $remoteId,
247 Type::STATUS_DEFINED
248 );
249 }
250
260 protected function loadFromRows(array $rows, $typeIdentifier, $status)
261 {
262 $types = $this->mapper->extractTypesFromRows($rows);
263 if (count($types) !== 1) {
264 throw new Exception\TypeNotFound($typeIdentifier, $status);
265 }
266
267 return $types[0];
268 }
269
275 public function create(CreateStruct $createStruct)
276 {
277 return $this->internalCreate($createStruct);
278 }
279
290 protected function internalCreate(CreateStruct $createStruct, $contentTypeId = null)
291 {
292 foreach ($createStruct->fieldDefinitions as $fieldDef) {
293 if (!is_int($fieldDef->position)) {
294 throw new InvalidArgumentException(
295 'position',
296 "'" . var_export($fieldDef->position, true) .
297 "' is wrong value in class FieldDefinition, an integer is required."
298 );
299 }
300 }
301
302 $createStruct = clone $createStruct;
303 $contentType = $this->mapper->createTypeFromCreateStruct(
304 $createStruct
305 );
306
307 $contentType->id = $this->contentTypeGateway->insertType(
308 $contentType,
309 $contentTypeId
310 );
311
312 foreach ($contentType->groupIds as $groupId) {
313 $this->contentTypeGateway->insertGroupAssignment(
314 $groupId,
315 $contentType->id,
316 $contentType->status
317 );
318 }
319
320 foreach ($contentType->fieldDefinitions as $fieldDef) {
321 $storageFieldDef = new StorageFieldDefinition();
322 $this->mapper->toStorageFieldDefinition($fieldDef, $storageFieldDef);
323 $fieldDef->id = $this->contentTypeGateway->insertFieldDefinition(
324 $contentType->id,
325 $contentType->status,
326 $fieldDef,
327 $storageFieldDef
328 );
329 }
330
331 return $contentType;
332 }
333
341 public function update($typeId, $status, UpdateStruct $updateStruct)
342 {
343 $contentType = $this->mapper->createTypeFromUpdateStruct(
344 $updateStruct
345 );
346 $this->contentTypeGateway->updateType($typeId, $status, $contentType);
347
348 return $this->load($typeId, $status);
349 }
350
359 public function delete($contentTypeId, $status)
360 {
361 if (Type::STATUS_DEFINED === $status && $this->contentTypeGateway->countInstancesOfType($contentTypeId)) {
362 throw new BadStateException(
363 '$contentTypeId',
364 "ContentType with given id still has content instances and therefore can't be deleted"
365 );
366 }
367
368 $this->contentTypeGateway->delete($contentTypeId, $status);
369
370 // @todo FIXME: Return true only if deletion happened
371 return true;
372 }
373
386 public function createDraft($modifierId, $contentTypeId)
387 {
388 $createStruct = $this->mapper->createCreateStructFromType(
389 $this->load($contentTypeId, Type::STATUS_DEFINED)
390 );
391 $createStruct->status = Type::STATUS_DRAFT;
392 $createStruct->modifierId = $modifierId;
393 $createStruct->modified = time();
394
395 return $this->internalCreate($createStruct, $contentTypeId);
396 }
397
405 public function copy($userId, $contentTypeId, $status)
406 {
407 $createStruct = $this->mapper->createCreateStructFromType(
408 $this->load($contentTypeId, $status)
409 );
410 $createStruct->modifierId = $userId;
411 $createStruct->created = $createStruct->modified = time();
412 $createStruct->creatorId = $userId;
413 $createStruct->remoteId = md5(uniqid(get_class($createStruct), true));
414
415 // extract actual identifier name, without "copy_of_" and number
416 $originalIdentifier = preg_replace('/^copy_of_(.+)_\d+$/', '$1', $createStruct->identifier);
417
418 // set temporary identifier
419 $createStruct->identifier = $createStruct->remoteId;
420
421 // Set FieldDefinition ids to null to trigger creating new id
422 foreach ($createStruct->fieldDefinitions as $fieldDefinition) {
423 $fieldDefinition->id = null;
424 }
425
426 $contentTypeCopy = $this->internalCreate($createStruct);
427 $updateStruct = $this->mapper->createUpdateStructFromType($contentTypeCopy);
428 $updateStruct->identifier = 'copy_of_' . $originalIdentifier . '_' . $contentTypeCopy->id;
429
430 return $this->update($contentTypeCopy->id, $contentTypeCopy->status, $updateStruct);
431 }
432
446 public function unlink($groupId, $contentTypeId, $status)
447 {
448 $groupCount = $this->contentTypeGateway->countGroupsForType($contentTypeId, $status);
449 if ($groupCount < 2) {
450 throw new Exception\RemoveLastGroupFromType($contentTypeId, $status);
451 }
452
453 $this->contentTypeGateway->deleteGroupAssignment($groupId, $contentTypeId, $status);
454 // @todo FIXME: What is to be returned?
455 return true;
456 }
457
469 public function link($groupId, $contentTypeId, $status)
470 {
471 $this->contentTypeGateway->insertGroupAssignment($groupId, $contentTypeId, $status);
472 // @todo FIXME: What is to be returned?
473 return true;
474 }
475
486 public function getFieldDefinition($id, $status)
487 {
488 $rows = $this->contentTypeGateway->loadFieldDefinition($id, $status);
489
490 if (count($rows) === 0) {
491 throw new NotFoundException(
492 'FieldDefinition',
493 [
494 'id' => $id,
495 'status' => $status,
496 ]
497 );
498 }
499
500 $multilingualData = $this->mapper->extractMultilingualData($rows);
501
502 return $this->mapper->extractFieldFromRow(reset($rows), $multilingualData);
503 }
504
512 public function getContentCount($contentTypeId)
513 {
514 return $this->contentTypeGateway->countInstancesOfType($contentTypeId);
515 }
516
528 public function addFieldDefinition($contentTypeId, $status, FieldDefinition $fieldDefinition)
529 {
530 $storageFieldDef = new StorageFieldDefinition();
531 $this->mapper->toStorageFieldDefinition($fieldDefinition, $storageFieldDef);
532 $fieldDefinition->id = $this->contentTypeGateway->insertFieldDefinition(
533 $contentTypeId,
534 $status,
535 $fieldDefinition,
536 $storageFieldDef
537 );
538 }
539
552 public function removeFieldDefinition($contentTypeId, $status, $fieldDefinitionId)
553 {
554 $this->contentTypeGateway->deleteFieldDefinition($contentTypeId, $status, $fieldDefinitionId);
555 // @todo FIXME: Return true only if deletion happened
556 return true;
557 }
558
570 public function updateFieldDefinition($contentTypeId, $status, FieldDefinition $fieldDefinition)
571 {
572 $storageFieldDef = new StorageFieldDefinition();
573 $this->mapper->toStorageFieldDefinition($fieldDefinition, $storageFieldDef);
574 $this->contentTypeGateway->updateFieldDefinition($contentTypeId, $status, $fieldDefinition, $storageFieldDef);
575 }
576
589 public function publish($contentTypeId)
590 {
591 $toType = $this->load($contentTypeId, Type::STATUS_DRAFT);
592
593 try {
594 $fromType = $this->load($contentTypeId, Type::STATUS_DEFINED);
595 $this->updateHandler->updateContentObjects($fromType, $toType);
596 $this->updateHandler->deleteOldType($fromType);
597 } catch (Exception\TypeNotFound $e) {
598 // If no old type is found, no updates are necessary to it
599 }
600
601 $this->updateHandler->publishNewType($toType, Type::STATUS_DEFINED);
602 }
603
607 public function getSearchableFieldMap()
608 {
609 $fieldMap = [];
610 $rows = $this->contentTypeGateway->getSearchableFieldMapData();
611
612 foreach ($rows as $row) {
613 $fieldMap[$row['content_type_identifier']][$row['field_definition_identifier']] = [
614 'field_type_identifier' => $row['field_type_identifier'],
615 'field_definition_id' => $row['field_definition_id'],
616 ];
617 }
618
619 return $fieldMap;
620 }
621
628 public function removeContentTypeTranslation(int $contentTypeId, string $languageCode): Type
629 {
630 $type = $this->load($contentTypeId, Type::STATUS_DRAFT);
631
632 unset($type->name[$languageCode]);
633 unset($type->description[$languageCode]);
634
635 foreach ($type->fieldDefinitions as $fieldDefinition) {
636 $this->contentTypeGateway->removeFieldDefinitionTranslation(
637 $fieldDefinition->id,
638 $languageCode,
639 Type::STATUS_DRAFT
640 );
641
642 //Refresh FieldDefinition object after removing translation data.
643 $fieldDefinition = $this->getFieldDefinition(
644 $fieldDefinition->id,
645 Type::STATUS_DRAFT
646 );
647 unset($fieldDefinition->name[$languageCode]);
648 unset($fieldDefinition->description[$languageCode]);
649 $storageFieldDefinition = new StorageFieldDefinition();
650 $this->mapper->toStorageFieldDefinition($fieldDefinition, $storageFieldDefinition);
651 $this->contentTypeGateway->updateFieldDefinition(
652 $contentTypeId,
653 Type::STATUS_DRAFT,
654 $fieldDefinition,
655 $storageFieldDefinition
656 );
657 }
658
659 $updateStruct = $this->mapper->createUpdateStructFromType($type);
660
661 return $this->update($type->id, Type::STATUS_DRAFT, $updateStruct);
662 }
663
664 public function deleteByUserAndStatus(int $userId, int $status): void
665 {
666 $this->contentTypeGateway->removeByUserAndVersion($userId, $status);
667 }
668 }
eZ\Publish\Core\Base\Exceptions\BadStateException
BadState Exception implementation.
Definition: Core/Base/Exceptions/BadStateException.php:20
eZ\Publish\Core\Base\Exceptions\InvalidArgumentException
Invalid Argument Type Exception implementation.
Definition: Core/Base/Exceptions/InvalidArgumentException.php:20
eZ\Publish\Core\Base\Exceptions\NotFoundException
Not Found Exception implementation.
Definition: Core/Base/Exceptions/NotFoundException.php:21
eZ\Publish\Core\Persistence\Legacy\Content\StorageFieldDefinition
Definition: StorageFieldDefinition.php:12
eZ\Publish\Core\Persistence\Legacy\Content\Type\Gateway
Base class for content type gateways.
Definition: Persistence/Legacy/Content/Type/Gateway.php:19
eZ\Publish\Core\Persistence\Legacy\Content\Type\Handler
Definition: Core/Persistence/Legacy/Content/Type/Handler.php:25
eZ\Publish\Core\Persistence\Legacy\Content\Type\Handler\__construct
__construct(Gateway $contentTypeGateway, Mapper $mapper, UpdateHandler $updateHandler)
Creates a new content type handler.
Definition: Core/Persistence/Legacy/Content/Type/Handler.php:50
eZ\Publish\Core\Persistence\Legacy\Content\Type\Handler\link
link($groupId, $contentTypeId, $status)
Link a content type group with a content type.
Definition: Core/Persistence/Legacy/Content/Type/Handler.php:469
eZ\Publish\Core\Persistence\Legacy\Content\Type\Handler\$updateHandler
$updateHandler
Definition: Core/Persistence/Legacy/Content/Type/Handler.php:41
eZ\Publish\Core\Persistence\Legacy\Content\Type\Handler\getSearchableFieldMap
getSearchableFieldMap()
Definition: Core/Persistence/Legacy/Content/Type/Handler.php:607
eZ\Publish\Core\Persistence\Legacy\Content\Type\Handler\load
load($contentTypeId, $status=Type::STATUS_DEFINED)
Loads a content type by id and status.
Definition: Core/Persistence/Legacy/Content/Type/Handler.php:204
eZ\Publish\Core\Persistence\Legacy\Content\Type\Handler\getContentCount
getContentCount($contentTypeId)
Counts the number of Content instances of the ContentType identified by given $contentTypeId.
Definition: Core/Persistence/Legacy/Content/Type/Handler.php:512
eZ\Publish\Core\Persistence\Legacy\Content\Type\Handler\$contentTypeGateway
$contentTypeGateway
Definition: Core/Persistence/Legacy/Content/Type/Handler.php:27
eZ\Publish\Core\Persistence\Legacy\Content\Type\Handler\deleteByUserAndStatus
deleteByUserAndStatus(int $userId, int $status)
Definition: Core/Persistence/Legacy/Content/Type/Handler.php:664
eZ\Publish\Core\Persistence\Legacy\Content\Type\Handler\removeFieldDefinition
removeFieldDefinition($contentTypeId, $status, $fieldDefinitionId)
Removes a field definition from an existing Type.
Definition: Core/Persistence/Legacy/Content/Type/Handler.php:552
eZ\Publish\Core\Persistence\Legacy\Content\Type\Handler\publish
publish($contentTypeId)
Update content objects.
Definition: Core/Persistence/Legacy/Content/Type/Handler.php:589
eZ\Publish\Core\Persistence\Legacy\Content\Type\Handler\updateGroup
updateGroup(GroupUpdateStruct $struct)
Definition: Core/Persistence/Legacy/Content/Type/Handler.php:83
eZ\Publish\Core\Persistence\Legacy\Content\Type\Handler\loadAllGroups
loadAllGroups()
Definition: Core/Persistence/Legacy/Content/Type/Handler.php:166
eZ\Publish\Core\Persistence\Legacy\Content\Type\Handler\internalCreate
internalCreate(CreateStruct $createStruct, $contentTypeId=null)
Internal method for creating ContentType.
Definition: Core/Persistence/Legacy/Content/Type/Handler.php:290
eZ\Publish\Core\Persistence\Legacy\Content\Type\Handler\addFieldDefinition
addFieldDefinition($contentTypeId, $status, FieldDefinition $fieldDefinition)
Adds a new field definition to an existing Type.
Definition: Core/Persistence/Legacy/Content/Type/Handler.php:528
eZ\Publish\Core\Persistence\Legacy\Content\Type\Handler\loadGroupByIdentifier
loadGroupByIdentifier($identifier)
Definition: Core/Persistence/Legacy/Content/Type/Handler.php:150
eZ\Publish\Core\Persistence\Legacy\Content\Type\Handler\removeContentTypeTranslation
removeContentTypeTranslation(int $contentTypeId, string $languageCode)
Definition: Core/Persistence/Legacy/Content/Type/Handler.php:628
eZ\Publish\Core\Persistence\Legacy\Content\Type\Handler\loadGroups
loadGroups(array $groupIds)
{Return list of unique Content Type Groups, with group id as key.Missing items (NotFound) will be mis...
Definition: Core/Persistence/Legacy/Content/Type/Handler.php:129
eZ\Publish\Core\Persistence\Legacy\Content\Type\Handler\unlink
unlink($groupId, $contentTypeId, $status)
Unlink a content type group from a content type.
Definition: Core/Persistence/Legacy/Content/Type/Handler.php:446
eZ\Publish\Core\Persistence\Legacy\Content\Type\Handler\update
update($typeId, $status, UpdateStruct $updateStruct)
Definition: Core/Persistence/Legacy/Content/Type/Handler.php:341
eZ\Publish\Core\Persistence\Legacy\Content\Type\Handler\createDraft
createDraft($modifierId, $contentTypeId)
Creates a draft of existing defined content type.
Definition: Core/Persistence/Legacy/Content/Type/Handler.php:386
eZ\Publish\Core\Persistence\Legacy\Content\Type\Handler\getFieldDefinition
getFieldDefinition($id, $status)
Returns field definition for the given field definition id.
Definition: Core/Persistence/Legacy/Content/Type/Handler.php:486
eZ\Publish\Core\Persistence\Legacy\Content\Type\Handler\updateFieldDefinition
updateFieldDefinition($contentTypeId, $status, FieldDefinition $fieldDefinition)
This method updates the given $fieldDefinition on a Type.
Definition: Core/Persistence/Legacy/Content/Type/Handler.php:570
eZ\Publish\Core\Persistence\Legacy\Content\Type\Handler\loadContentTypes
loadContentTypes($groupId, $status=0)
Definition: Core/Persistence/Legacy/Content/Type/Handler.php:179
eZ\Publish\Core\Persistence\Legacy\Content\Type\Handler\loadByIdentifier
loadByIdentifier($identifier)
Loads a (defined) content type by identifier.
Definition: Core/Persistence/Legacy/Content/Type/Handler.php:224
eZ\Publish\Core\Persistence\Legacy\Content\Type\Handler\$mapper
$mapper
Definition: Core/Persistence/Legacy/Content/Type/Handler.php:34
eZ\Publish\Core\Persistence\Legacy\Content\Type\Handler\loadFromRows
loadFromRows(array $rows, $typeIdentifier, $status)
Loads a single Type from $rows.
Definition: Core/Persistence/Legacy/Content/Type/Handler.php:260
eZ\Publish\Core\Persistence\Legacy\Content\Type\Handler\loadGroup
loadGroup($groupId)
Definition: Core/Persistence/Legacy/Content/Type/Handler.php:113
eZ\Publish\Core\Persistence\Legacy\Content\Type\Handler\createGroup
createGroup(GroupCreateStruct $createStruct)
Definition: Core/Persistence/Legacy/Content/Type/Handler.php:65
eZ\Publish\Core\Persistence\Legacy\Content\Type\Handler\deleteGroup
deleteGroup($groupId)
Definition: Core/Persistence/Legacy/Content/Type/Handler.php:98
eZ\Publish\Core\Persistence\Legacy\Content\Type\Handler\loadContentTypeList
loadContentTypeList(array $contentTypeIds)
Return list of unique Content Types, with type id as key.
Definition: Core/Persistence/Legacy/Content/Type/Handler.php:186
eZ\Publish\Core\Persistence\Legacy\Content\Type\Handler\copy
copy($userId, $contentTypeId, $status)
Definition: Core/Persistence/Legacy/Content/Type/Handler.php:405
eZ\Publish\Core\Persistence\Legacy\Content\Type\Handler\create
create(CreateStruct $createStruct)
Definition: Core/Persistence/Legacy/Content/Type/Handler.php:275
eZ\Publish\Core\Persistence\Legacy\Content\Type\Handler\loadByRemoteId
loadByRemoteId($remoteId)
Loads a (defined) content type by remote id.
Definition: Core/Persistence/Legacy/Content/Type/Handler.php:242
eZ\Publish\Core\Persistence\Legacy\Content\Type\Mapper
Mapper for Content Type Handler.
Definition: Publish/Core/Persistence/Legacy/Content/Type/Mapper.php:26
eZ\Publish\Core\Persistence\Legacy\Exception\GroupNotEmpty
Exception thrown if a Content\Type\Group is to be deleted which is not empty.
Definition: GroupNotEmpty.php:16
eZ\Publish\Core\Persistence\Legacy\Exception\RemoveLastGroupFromType
Exception thrown when a Type is to be unlinked from its last Group.
Definition: RemoveLastGroupFromType.php:15
eZ\Publish\Core\Persistence\Legacy\Exception\TypeGroupNotFound
Exception thrown when a Type to be loaded is not found.
Definition: TypeGroupNotFound.php:15
eZ\Publish\Core\Persistence\Legacy\Exception\TypeNotFound
Exception thrown when a Type to be loaded is not found.
Definition: TypeNotFound.php:15
eZ\Publish\SPI\Persistence\Content\Type\CreateStruct
Definition: SPI/Persistence/Content/Type/CreateStruct.php:13
eZ\Publish\SPI\Persistence\Content\Type\FieldDefinition
Definition: SPI/Persistence/Content/Type/FieldDefinition.php:18
eZ\Publish\SPI\Persistence\Content\Type\Group\CreateStruct
Definition: SPI/Persistence/Content/Type/Group/CreateStruct.php:12
eZ\Publish\SPI\Persistence\Content\Type\Group\UpdateStruct
Definition: Content/Type/Group/UpdateStruct.php:12
eZ\Publish\SPI\Persistence\Content\Type\UpdateStruct
Definition: Content/Type/UpdateStruct.php:12
eZ\Publish\SPI\Persistence\Content\Type
SPI Persistence Content\Type value object.
Definition: SPI/Persistence/Content/Type.php:15
eZ\Publish\SPI\Persistence\Content\Type\STATUS_DEFINED
const STATUS_DEFINED
Definition: SPI/Persistence/Content/Type.php:17
eZ\Publish\SPI\Persistence\Content\Type\$identifier
$identifier
Definition: SPI/Persistence/Content/Type.php:68
eZ\Publish\SPI\Persistence\Content\Type\$remoteId
$remoteId
Definition: SPI/Persistence/Content/Type.php:103
eZ\Publish\SPI\Persistence\Content\Type\$id
$id
Definition: SPI/Persistence/Content/Type.php:30
eZ\Publish\SPI\Persistence\Content\Type\$modifierId
$modifierId
Definition: SPI/Persistence/Content/Type.php:96
eZ\Publish\SPI\Persistence\Content\Type\$groupIds
$groupIds
Definition: SPI/Persistence/Content/Type.php:165
eZ\Publish\SPI\Persistence\Content\Type\$status
$status
Definition: SPI/Persistence/Content/Type.php:37
eZ\Publish\SPI\Persistence\Content\Type\STATUS_DRAFT
const STATUS_DRAFT
Definition: SPI/Persistence/Content/Type.php:20
eZ\Publish\SPI\Persistence\Content\Type\Handler
Definition: SPI/Persistence/Content/Type/Handler.php:14
eZ\Publish\Core\Persistence\Legacy\Content\Type\Update\Handler
Definition: DeferredLegacy.php:7
eZ\Publish\Core\Persistence\Legacy\Exception
Definition: GroupNotEmpty.php:7
eZ\Publish\SPI\Persistence\Content\Type\Group
Definition: SPI/Persistence/Content/Type/Group/CreateStruct.php:7
eZ\Publish\SPI\Persistence\Content\Type
Definition: SPI/Persistence/Content/Type/CreateStruct.php:7
Copyright © 1998 – 2026 7x. All rights reserved. Licensed under the GNU GPLv2+.