public function addVersionLabel($versionPath, $label, $moveLabel)
{
$versionPath = $this->encodeAndValidatePathForDavex($versionPath);
$action = 'add';
if ($moveLabel) {
$action = 'set';
}
$body = '<D:label xmlns:D="DAV:"><D:' . $action . '><D:label-name>' . $label . '</D:label-name></D:' . $action . '></D:label>';
$request = $this->getRequest(Request::LABEL, $versionPath);
$request->setBody($body);
try {
$request->execute();
// errors are checked in request
} catch (HTTPErrorException $e) {
if ($e->getCode() == 409) {
throw new LabelExistsVersionException($e->getMessage());
} else {
throw new RepositoryException($e->getMessage());
}
}
return;
}