eZ\Publish\Core\Repository\ContentTypeService::updateContentTypeGroup PHP Method

updateContentTypeGroup() public method

Update a Content Type Group object.
public updateContentTypeGroup ( eZ\Publish\API\Repository\Values\ContentType\ContentTypeGroup $contentTypeGroup, eZ\Publish\API\Repository\Values\ContentType\ContentTypeGroupUpdateStruct $contentTypeGroupUpdateStruct )
$contentTypeGroup eZ\Publish\API\Repository\Values\ContentType\ContentTypeGroup the content type group to be updated
$contentTypeGroupUpdateStruct eZ\Publish\API\Repository\Values\ContentType\ContentTypeGroupUpdateStruct
    public function updateContentTypeGroup(APIContentTypeGroup $contentTypeGroup, ContentTypeGroupUpdateStruct $contentTypeGroupUpdateStruct)
    {
        if ($this->repository->hasAccess('class', 'update') !== true) {
            throw new UnauthorizedException('ContentType', 'update');
        }
        $loadedContentTypeGroup = $this->loadContentTypeGroup($contentTypeGroup->id);
        if ($contentTypeGroupUpdateStruct->identifier !== null && $contentTypeGroupUpdateStruct->identifier !== $loadedContentTypeGroup->identifier) {
            try {
                $this->loadContentTypeGroupByIdentifier($contentTypeGroupUpdateStruct->identifier);
                throw new InvalidArgumentException('$contentTypeGroupUpdateStruct->identifier', 'given identifier already exists');
            } catch (APINotFoundException $e) {
                // Do nothing
            }
        }
        if ($contentTypeGroupUpdateStruct->modificationDate !== null) {
            $modifiedTimestamp = $contentTypeGroupUpdateStruct->modificationDate->getTimestamp();
        } else {
            $modifiedTimestamp = time();
        }
        $spiGroupUpdateStruct = new SPIContentTypeGroupUpdateStruct(array('id' => $loadedContentTypeGroup->id, 'identifier' => $contentTypeGroupUpdateStruct->identifier === null ? $loadedContentTypeGroup->identifier : $contentTypeGroupUpdateStruct->identifier, 'modified' => $modifiedTimestamp, 'modifierId' => $contentTypeGroupUpdateStruct->modifierId === null ? $this->repository->getCurrentUserReference()->getUserId() : $contentTypeGroupUpdateStruct->modifierId));
        $this->repository->beginTransaction();
        try {
            $this->contentTypeHandler->updateGroup($spiGroupUpdateStruct);
            $this->repository->commit();
        } catch (Exception $e) {
            $this->repository->rollback();
            throw $e;
        }
    }