diff options
author | John Molakvoæ <skjnldsv@users.noreply.github.com> | 2019-04-30 09:25:45 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2019-04-30 09:25:45 +0200 |
commit | e727e01701b685595a8026d3bab86e0f50f457f0 (patch) | |
tree | 2eacae1334b653031689882a126bbbe3b7c70014 /apps | |
parent | 4fd2cbeb94faea75d9d14be3939a7d6bce2d88cf (diff) | |
parent | 3c78116cf8b6b23c74f3270162471f10eb4f939e (diff) | |
download | nextcloud-server-e727e01701b685595a8026d3bab86e0f50f457f0.tar.gz nextcloud-server-e727e01701b685595a8026d3bab86e0f50f457f0.zip |
Merge pull request #15290 from nextcloud/fix/8635/mdkir-handling+no-create-to-delete
take return of mkdir into consideration; photocache to not create a folder for deletion
Diffstat (limited to 'apps')
-rw-r--r-- | apps/dav/lib/CardDAV/PhotoCache.php | 22 |
1 files changed, 15 insertions, 7 deletions
diff --git a/apps/dav/lib/CardDAV/PhotoCache.php b/apps/dav/lib/CardDAV/PhotoCache.php index eed11f1e939..8632fd45f22 100644 --- a/apps/dav/lib/CardDAV/PhotoCache.php +++ b/apps/dav/lib/CardDAV/PhotoCache.php @@ -167,16 +167,19 @@ class PhotoCache { } /** - * @param int $addressBookId - * @param string $cardUri - * @return ISimpleFolder + * @throws NotFoundException + * @throws NotPermittedException */ - private function getFolder($addressBookId, $cardUri) { + private function getFolder(int $addressBookId, string $cardUri, bool $createIfNotExists = true): ISimpleFolder { $hash = md5($addressBookId . ' ' . $cardUri); try { return $this->appData->getFolder($hash); } catch (NotFoundException $e) { - return $this->appData->newFolder($hash); + if($createIfNotExists) { + return $this->appData->newFolder($hash); + } else { + throw $e; + } } } @@ -271,9 +274,14 @@ class PhotoCache { /** * @param int $addressBookId * @param string $cardUri + * @throws NotPermittedException */ public function delete($addressBookId, $cardUri) { - $folder = $this->getFolder($addressBookId, $cardUri); - $folder->delete(); + try { + $folder = $this->getFolder($addressBookId, $cardUri, false); + $folder->delete(); + } catch (NotFoundException $e) { + // that's OK, nothing to do + } } } |