Example #1
0
 /**
  * delete all objects from cache
  */
 public function clear()
 {
     $sql = 'DELETE FROM `' . $this->getTableName() . '` ';
     $sql .= 'WHERE `calendarid` = ?';
     $params = [$this->calendar->getId()];
     $this->execute($sql, $params);
 }
 /**
  * Patch a calendar from request
  * @param \OCA\Calendar\ICalendar $newCalendar
  * @param \OCA\Calendar\ICalendar $oldCalendar
  * @return \OCA\Calendar\ICalendar
  */
 public function patch(ICalendar $newCalendar, ICalendar $oldCalendar)
 {
     $newCalendar->setId($oldCalendar->getId());
     $newCalendar->setPrivateUri($oldCalendar->getPrivateUri());
     $this->resetReadOnlyProperties($newCalendar, $oldCalendar);
     if ($newCalendar->doesContainNullValues()) {
         $newCalendar = $oldCalendar->overwriteWith($newCalendar);
     }
     /** @var \OCA\Calendar\ICalendar $newCalendar */
     return parent::update($newCalendar);
 }
 /**
  * Update a calendar
  * @param \OCA\Calendar\ICalendar $newCalendar
  * @return \OCA\Calendar\ICalendar
  * @throws \OCA\Calendar\BusinessLayer\Exception
  * if backend does not exist
  * @throws \OCA\Calendar\BusinessLayer\Exception
  * if backend is disabled
  * @throws \OCA\Calendar\BusinessLayer\Exception
  * if backend does not implement updating a calendar
  */
 public function update(ICalendar $newCalendar)
 {
     $id = $newCalendar->getId();
     $backendId = $newCalendar->getBackend()->getId();
     $privateUri = $newCalendar->getPrivateUri();
     $userId = $newCalendar->getUserId();
     $oldCalendar = $this->find($id, $userId);
     $this->checkForIllegalChanges($newCalendar, $oldCalendar);
     $this->checkIsValid($newCalendar);
     $api = $newCalendar->getBackend()->getCalendarAPI();
     if ($api instanceof BackendUtils\ICalendarAPIUpdate) {
         try {
             $newCalendar = $api->update($newCalendar);
         } catch (BackendUtils\Exception $ex) {
             \OC::$server->getLogger()->debug($ex->getMessage());
             throw Exception::fromException($ex);
         }
     } else {
         if (!$this->areMinorChanges($newCalendar)) {
             throw new Exception('Backend doesn\'t support updating calendars!');
         }
     }
     $this->updater->propagate($backendId, $privateUri, $userId, $newCalendar);
     return $newCalendar;
 }