* See the COPYING-README file. */ OCP\JSON::checkLoggedIn(); $id = $_POST['id']; $access = OC_Calendar_App::getaccess($id, OC_Calendar_App::EVENT); if ($access != 'owner' && $access != 'rw') { OCP\JSON::error(array('message' => 'permission denied')); exit; } $vcalendar = OC_Calendar_App::getVCalendar($id, false, false); $vevent = $vcalendar->VEVENT; $allday = $_POST['allDay']; $delta = new DateInterval('P0D'); $delta->d = $_POST['dayDelta']; $delta->i = $_POST['minuteDelta']; OC_Calendar_App::isNotModified($vevent, $_POST['lastmodified']); $dtstart = $vevent->DTSTART; $dtend = OC_Calendar_Object::getDTEndFromVEvent($vevent); $start_type = $dtstart->getDateType(); $end_type = $dtend->getDateType(); if ($allday && $start_type != Sabre_VObject_Property_DateTime::DATE) { $start_type = $end_type = Sabre_VObject_Property_DateTime::DATE; $dtend->setDateTime($dtend->getDateTime()->modify('+1 day'), $end_type); } if (!$allday && $start_type == Sabre_VObject_Property_DateTime::DATE) { $start_type = $end_type = Sabre_VObject_Property_DateTime::LOCALTZ; } $dtstart->setDateTime($dtstart->getDateTime()->add($delta), $start_type); $dtend->setDateTime($dtend->getDateTime()->add($delta), $end_type); unset($vevent->DURATION); $vevent->setDateTime('LAST-MODIFIED', 'now', Sabre_VObject_Property_DateTime::UTC);
*/ OCP\JSON::checkLoggedIn(); OCP\JSON::checkAppEnabled('calendar'); $id = $_POST['id']; if (!array_key_exists('calendar', $_POST)) { $cal = OC_Calendar_Object::getCalendarid($id); $_POST['calendar'] = $cal; } else { $cal = $_POST['calendar']; } $access = OC_Calendar_App::getaccess($id, OC_Calendar_App::EVENT); if ($access != 'owner' && $access != 'rw') { OCP\JSON::error(array('message' => 'permission denied')); exit; } $errarr = OC_Calendar_Object::validateRequest($_POST); if ($errarr) { //show validate errors OCP\JSON::error($errarr); exit; } else { $data = OC_Calendar_App::getEventObject($id, false, false); $vcalendar = OC_VObject::parse($data['calendardata']); OC_Calendar_App::isNotModified($vcalendar->VEVENT, $_POST['lastmodified']); OC_Calendar_Object::updateVCalendarFromRequest($_POST, $vcalendar); OC_Calendar_Object::edit($id, $vcalendar->serialize()); if ($data['calendarid'] != $cal) { OC_Calendar_Object::moveToCalendar($id, $cal); } OCP\JSON::success(); }