Example #1
0
 /**
  * {@inheritdoc}
  */
 public function updateCalendarObject($calendarId, $objectUri, $calendarData)
 {
     $where = Where::create('calendarid = $*', [$calendarId])->andWhere('uri = $*', [$objectUri]);
     $calendarobjects = $this->manager->findWhere('public', 'calendarobject', $where);
     if ($calendarobjects->count() == 0) {
         return;
     }
     $object = $calendarobjects->get(0);
     $vCal = Reader::read($calendarData);
     $this->extractAppleGeo($vCal);
     if ($object->extracted_data['name'] != $vCal->VEVENT->SUMMARY) {
         $object->slug = $this->generateSlug($vCal->VEVENT->SUMMARY, 'calendarobject');
         $this->updateURL($vCal, $object->slug);
     }
     $calendarData = $vCal->serialize();
     $object->lastmodified = time();
     $object->calendardata = $calendarData;
     $object->etag = md5($calendarData);
     $object->extracted_data = Event::extractData($vCal);
     $object->size = strlen($calendarData);
     $this->manager->updateOne('public', 'calendarobject', $object, ['lastmodified', 'etag', 'calendardata', 'extracted_data', 'size', 'slug']);
     $this->addChange($calendarId, $objectUri, 2);
 }