summaryrefslogtreecommitdiffstats
path: root/apps/dav/lib/CalDAV/CalDavBackend.php
diff options
context:
space:
mode:
Diffstat (limited to 'apps/dav/lib/CalDAV/CalDavBackend.php')
-rw-r--r--apps/dav/lib/CalDAV/CalDavBackend.php17
1 files changed, 17 insertions, 0 deletions
diff --git a/apps/dav/lib/CalDAV/CalDavBackend.php b/apps/dav/lib/CalDAV/CalDavBackend.php
index 187ba4ecdcf..88ee778e82c 100644
--- a/apps/dav/lib/CalDAV/CalDavBackend.php
+++ b/apps/dav/lib/CalDAV/CalDavBackend.php
@@ -2522,6 +2522,23 @@ class CalDavBackend extends AbstractBackend implements SyncSupport, Subscription
}
/**
+ * Move a calendar from one user to another
+ *
+ * @param string $uriName
+ * @param string $uriOrigin
+ * @param string $uriDestination
+ */
+ public function moveCalendar($uriName, $uriOrigin, $uriDestination)
+ {
+ $query = $this->db->getQueryBuilder();
+ $query->update('calendars')
+ ->set('principaluri', $query->createNamedParameter($uriDestination))
+ ->where($query->expr()->eq('principaluri', $query->createNamedParameter($uriOrigin)))
+ ->andWhere($query->expr()->eq('uri', $query->createNamedParameter($uriName)))
+ ->execute();
+ }
+
+ /**
* read VCalendar data into a VCalendar object
*
* @param string $objectData