本文整理汇总了PHP中OC_Calendar_Object::moveAlarmsDB方法的典型用法代码示例。如果您正苦于以下问题:PHP OC_Calendar_Object::moveAlarmsDB方法的具体用法?PHP OC_Calendar_Object::moveAlarmsDB怎么用?PHP OC_Calendar_Object::moveAlarmsDB使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类OC_Calendar_Object
的用法示例。
在下文中一共展示了OC_Calendar_Object::moveAlarmsDB方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: DateInterval
$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);
if ($allday && $dtstart->hasTime()) {
$dtstart['VALUE'] = $dtend['VALUE'] = 'date';
$dtend->setDateTime($dtend->getDateTime()->modify('+1 day'));
}
if (!$allday && !$dtstart->hasTime()) {
$dtstart['VALUE'] = $dtend['VALUE'] = 'date-time';
}
$dtstart->setDateTime($dtstart->getDateTime()->add($delta));
$dtend->setDateTime($dtend->getDateTime()->add($delta));
unset($vevent->DURATION);
$now = new DateTime('now');
$now->setTimeZone(new \DateTimeZone('UTC'));
$vevent->__get('LAST-MODIFIED')->setDateTime($now);
$vevent->DTSTAMP = $now;
try {
OC_Calendar_Object::edit($id, $vcalendar->serialize());
OC_Calendar_Object::moveAlarmsDB($id, $delta);
} catch (Exception $e) {
OCP\JSON::error(array('message' => $e->getMessage()));
exit;
}
$lastmodified = $vevent->__get('LAST-MODIFIED')->getDateTime();
OCP\JSON::success(array('lastmodified' => (int) $lastmodified->format('U')));