eZ\Publish\Core\REST\Server\Controller\Location::updateLocation PHP Method

updateLocation() public method

Updates a location.
public updateLocation ( string $locationPath, Request $request ) : RestLocation
$locationPath string
$request Symfony\Component\HttpFoundation\Request
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));
    }