コード例 #1
0
 /**
  * Updates a location.
  *
  * @param string $locationPath
  *
  * @return \eZ\Publish\Core\REST\Server\Values\RestLocation
  */
 public function updateLocation($locationPath, Request $request)
 {
     $locationUpdate = $this->inputDispatcher->parse(new Message(array('Content-Type' => $request->headers->get('Content-Type')), $request->getContent()));
     $location = $this->locationService->loadLocation($this->extractLocationIdFromPath($locationPath));
     // First handle hiding/unhiding so that updating location afterwards
     // will return updated location with hidden/visible status correctly updated
     // Exact check for true/false is needed as null signals that no hiding/unhiding
     // is to be performed
     if ($locationUpdate->hidden === true) {
         $this->locationService->hideLocation($location);
     } elseif ($locationUpdate->hidden === false) {
         $this->locationService->unhideLocation($location);
     }
     return new Values\RestLocation($location = $this->locationService->updateLocation($location, $locationUpdate->locationUpdateStruct), $this->locationService->getLocationChildCount($location));
 }
コード例 #2
0
 /**
  * Updates $location in the content repository
  *
  * @throws \eZ\Publish\API\Repository\Exceptions\UnauthorizedException If the current user user is not allowed to update this location
  * @throws \eZ\Publish\API\Repository\Exceptions\InvalidArgumentException   if if set the remoteId exists already
  *
  * @param \eZ\Publish\API\Repository\Values\Content\Location $location
  * @param \eZ\Publish\API\Repository\Values\Content\LocationUpdateStruct $locationUpdateStruct
  *
  * @return \eZ\Publish\API\Repository\Values\Content\Location the updated Location
  */
 public function updateLocation(Location $location, LocationUpdateStruct $locationUpdateStruct)
 {
     $returnValue = $this->service->updateLocation($location, $locationUpdateStruct);
     $this->signalDispatcher->emit(new UpdateLocationSignal(array('contentId' => $location->contentId, 'locationId' => $location->id)));
     return $returnValue;
 }