public createCreateStructFromType ( eZ\Publish\SPI\Persistence\Content\Type $type ) : eZ\Publish\SPI\Persistence\Content\Type\CreateStruct | ||
$type | eZ\Publish\SPI\Persistence\Content\Type | |
return | eZ\Publish\SPI\Persistence\Content\Type\CreateStruct |
public function createCreateStructFromType(Type $type)
{
$createStruct = new CreateStruct();
$createStruct->name = $type->name;
$createStruct->status = $type->status;
$createStruct->description = $type->description;
$createStruct->identifier = $type->identifier;
$createStruct->created = $type->created;
$createStruct->modified = $type->modified;
$createStruct->creatorId = $type->creatorId;
$createStruct->modifierId = $type->modifierId;
$createStruct->remoteId = $type->remoteId;
$createStruct->urlAliasSchema = $type->urlAliasSchema;
$createStruct->nameSchema = $type->nameSchema;
$createStruct->isContainer = $type->isContainer;
$createStruct->initialLanguageId = $type->initialLanguageId;
$createStruct->groupIds = $type->groupIds;
$createStruct->fieldDefinitions = $type->fieldDefinitions;
$createStruct->defaultAlwaysAvailable = $type->defaultAlwaysAvailable;
$createStruct->sortField = $type->sortField;
$createStruct->sortOrder = $type->sortOrder;
return $createStruct;
}
/** * @param mixed $userId * @param mixed $contentTypeId * @param int $status One of Type::STATUS_DEFINED|Type::STATUS_DRAFT|Type::STATUS_MODIFIED * * @return Type */ public function copy($userId, $contentTypeId, $status) { $createStruct = $this->mapper->createCreateStructFromType($this->load($contentTypeId, $status)); $createStruct->modifierId = $userId; $createStruct->created = $createStruct->modified = time(); $createStruct->creatorId = $userId; $createStruct->remoteId = md5(uniqid(get_class($createStruct), true)); $createStruct->identifier = 'copy_of_' . $createStruct->identifier . '_' . $createStruct->remoteId; // Set FieldDefinition ids to null to trigger creating new id foreach ($createStruct->fieldDefinitions as $fieldDefinition) { $fieldDefinition->id = null; } return $this->internalCreate($createStruct); }