public function updateVersion($contentId, $versionNumber, Request $request)
    {
        $contentUpdateStruct = $this->inputDispatcher->parse(
            new Message(
                array(
                    'Content-Type' => $request->headers->get('Content-Type'),
                    'Url' => $this->router->generate(
                        'ezpublish_rest_updateVersion',
                        array(
                            'contentId' => $contentId,
                            'versionNumber' => $versionNumber,
                        )
                    ),
                ),
                $request->getContent()
            )
        );

        $versionInfo = $this->repository->getContentService()->loadVersionInfo(
            $this->repository->getContentService()->loadContentInfo($contentId),
            $versionNumber
        );

        if (!$versionInfo->isDraft()) {
            throw new ForbiddenException('Only version in status DRAFT can be updated');
        }

        try {
            $this->repository->getContentService()->updateContent($versionInfo, $contentUpdateStruct);
        } catch (ContentValidationException $e) {
            throw new BadRequestException($e->getMessage());
        } catch (ContentFieldValidationException $e) {
            throw new RESTContentFieldValidationException($e);
        }

        $languages = null;
        if ($request->query->has('languages')) {
            $languages = explode(',', $request->query->get('languages'));
        }

        // Reload the content to handle languages GET parameter
        $content = $this->repository->getContentService()->loadContent(
            $contentId,
            $languages,
            $versionInfo->versionNo
        );
        $contentType = $this->repository->getContentTypeService()->loadContentType(
            $content->getVersionInfo()->getContentInfo()->contentTypeId
        );

        return new Values\Version(
            $content,
            $contentType,
            $this->repository->getContentService()->loadRelations($content->getVersionInfo()),
            $request->getPathInfo()
        );
    }
public function updateVersion($contentId, $versionNumber, Request $request)
    {
        $contentUpdateStruct = $this->inputDispatcher->parse(
            new Message(
                array(
                    'Content-Type' => $request->headers->get('Content-Type'),
                    'Url' => $this->router->generate(
                        'ezpublish_rest_updateVersion',
                        array(
                            'contentId' => $contentId,
                            'versionNumber' => $versionNumber,
                        )
                    ),
                ),
                $request->getContent()
            )
        );

        $versionInfo = $this->repository->getContentService()->loadVersionInfo(
            $this->repository->getContentService()->loadContentInfo($contentId),
            $versionNumber
        );

        if (!$versionInfo->isDraft()) {
            throw new ForbiddenException('Only version in status DRAFT can be updated');
        }

        try {
            $this->repository->getContentService()->updateContent($versionInfo, $contentUpdateStruct);
        } catch (ContentValidationException $e) {
            throw new BadRequestException($e->getMessage());
        } catch (ContentFieldValidationException $e) {
            throw new RESTContentFieldValidationException($e);
        }

        $languages = null;
        if ($request->query->has('languages')) {
            $languages = explode(',', $request->query->get('languages'));
        }

        // Reload the content to handle languages GET parameter
        $content = $this->repository->getContentService()->loadContent(
            $contentId,
            $languages,
            $versionInfo->versionNo
        );
        $contentType = $this->repository->getContentTypeService()->loadContentType(
            $content->getVersionInfo()->getContentInfo()->contentTypeId
        );

        return new Values\Version(
            $content,
            $contentType,
            $this->repository->getContentService()->loadRelations($content->getVersionInfo()),
            $request->getPathInfo()
        );
    }
public function updateVersion ( $ contentId , $ versionNumber , Request $ request ) { $ contentUpdateStruct = $ this -> inputDispatcher -> parse ( new Message ( array ( 'Content-Type' => $ request -> headers -> get ( 'Content-Type' ) , 'Url' => $ this -> router -> generate ( 'ezpublish_rest_updateVersion' , array ( 'contentId' => $ contentId , 'versionNumber' => $ versionNumber , ) ) , ) , $ request -> getContent ( ) ) ) ; $ versionInfo = $ this -> repository -> getContentService ( ) -> loadVersionInfo ( $ this -> repository -> getContentService ( ) -> loadContentInfo ( $ contentId ) , $ versionNumber ) ; if ( ! $ versionInfo -> isDraft ( ) ) { throw new ForbiddenException ( 'Only version in status DRAFT can be updated' ) ; } try { $ this -> repository -> getContentService ( ) -> updateContent ( $ versionInfo , $ contentUpdateStruct ) ; } catch ( ContentValidationException $ e ) { throw new BadRequestException ( $ e -> getMessage ( ) ) ; } catch ( ContentFieldValidationException $ e ) { throw new RESTContentFieldValidationException ( $ e ) ; } $ languages = null ; if ( $ request -> query -> has ( 'languages' ) ) { $ languages = explode ( ',' , $ request -> query -> get ( 'languages' ) ) ; } // Reload the content to handle languages GET parameter $ content = $ this -> repository -> getContentService ( ) -> loadContent ( $ contentId , $ languages , $ versionInfo -> versionNo ) ; $ contentType = $ this -> repository -> getContentTypeService ( ) -> loadContentType ( $ content -> getVersionInfo ( ) -> getContentInfo ( ) -> contentTypeId ) ; return new Values \ Version ( $ content , $ contentType , $ this -> repository -> getContentService ( ) -> loadRelations ( $ content -> getVersionInfo ( ) ) , $ request -> getPathInfo ( ) ) ; }
A specific draft is updated.

@param mixed $contentId
@param mixed $versionNumber

@throws \eZ\Publish\Core\REST\Server\Exceptions\ForbiddenException
@throws \eZ\Publish\Core\REST\Server\Exceptions\BadRequestException

@return \eZ\Publish\Core\REST\Server\Values\Version
A specific draft is updated .