Browse Source

Merge pull request #36487 from nextcloud/bugfix/noid/fix-query-builder-usage-in-dav-account-deletion

Do not reuse query builder objects in DAV account deletion
tags/v26.0.0beta2
Joas Schilling 1 year ago
parent
commit
fc4e87a2df
No account linked to committer's email address
2 changed files with 5 additions and 2 deletions
  1. 2
    2
      apps/dav/lib/CalDAV/CalDavBackend.php
  2. 3
    0
      apps/dav/lib/CardDAV/CardDavBackend.php

+ 2
- 2
apps/dav/lib/CalDAV/CalDavBackend.php View File

@@ -897,7 +897,7 @@ class CalDavBackend extends AbstractBackend implements SyncSupport, Subscription
->executeStatement();

$qbDeleteCalendarChanges = $this->db->getQueryBuilder();
$qbDeleteCalendarObjects->delete('calendarchanges')
$qbDeleteCalendarChanges->delete('calendarchanges')
->where($qbDeleteCalendarChanges->expr()->eq('calendarid', $qbDeleteCalendarChanges->createNamedParameter($calendarId)))
->andWhere($qbDeleteCalendarChanges->expr()->eq('calendartype', $qbDeleteCalendarChanges->createNamedParameter(self::CALENDAR_TYPE_CALENDAR)))
->executeStatement();
@@ -905,7 +905,7 @@ class CalDavBackend extends AbstractBackend implements SyncSupport, Subscription
$this->calendarSharingBackend->deleteAllShares($calendarId);

$qbDeleteCalendar = $this->db->getQueryBuilder();
$qbDeleteCalendarObjects->delete('calendars')
$qbDeleteCalendar->delete('calendars')
->where($qbDeleteCalendar->expr()->eq('id', $qbDeleteCalendar->createNamedParameter($calendarId)))
->executeStatement();


+ 3
- 0
apps/dav/lib/CardDAV/CardDavBackend.php View File

@@ -452,11 +452,13 @@ class CardDavBackend implements BackendInterface, SyncSupport {
->setParameter('addressbookid', $addressBookId, IQueryBuilder::PARAM_INT)
->executeStatement();

$query = $this->db->getQueryBuilder();
$query->delete('addressbookchanges')
->where($query->expr()->eq('addressbookid', $query->createParameter('addressbookid')))
->setParameter('addressbookid', $addressBookId, IQueryBuilder::PARAM_INT)
->executeStatement();

$query = $this->db->getQueryBuilder();
$query->delete('addressbooks')
->where($query->expr()->eq('id', $query->createParameter('id')))
->setParameter('id', $addressBookId, IQueryBuilder::PARAM_INT)
@@ -464,6 +466,7 @@ class CardDavBackend implements BackendInterface, SyncSupport {

$this->sharingBackend->deleteAllShares($addressBookId);

$query = $this->db->getQueryBuilder();
$query->delete($this->dbCardsPropertiesTable)
->where($query->expr()->eq('addressbookid', $query->createNamedParameter($addressBookId, IQueryBuilder::PARAM_INT)))
->executeStatement();

Loading…
Cancel
Save