summaryrefslogtreecommitdiffstats
path: root/apps
diff options
context:
space:
mode:
authorArthur Schiwon <blizzz@arthur-schiwon.de>2019-04-29 16:15:07 +0200
committerArthur Schiwon <blizzz@arthur-schiwon.de>2019-04-29 16:46:56 +0200
commit3c78116cf8b6b23c74f3270162471f10eb4f939e (patch)
treeeced789178ec0543d39758056e3f90a3a1d9c3ac /apps
parent009c2dfbd53833882e1c279c96979406be7d8281 (diff)
downloadnextcloud-server-3c78116cf8b6b23c74f3270162471f10eb4f939e.tar.gz
nextcloud-server-3c78116cf8b6b23c74f3270162471f10eb4f939e.zip
do not create folder just to delete it afterwards
Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>
Diffstat (limited to 'apps')
-rw-r--r--apps/dav/lib/CardDAV/PhotoCache.php22
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
+ }
}
}