calendar: revert back to UTC strings for dates due to better legibility. Strip timezone info from UTC string and always treat values as UTC.

This commit is contained in:
Mario Vavti 2019-07-11 11:12:27 +02:00
parent da7912b879
commit 407b02bde8
3 changed files with 30 additions and 30 deletions

View File

@ -278,11 +278,11 @@ class Cdav extends Controller {
$allday = $_REQUEST['allday']; $allday = $_REQUEST['allday'];
$title = $_REQUEST['title']; $title = $_REQUEST['title'];
$start = datetime_convert($tz, 'UTC', $_REQUEST['dtstart']); $start = datetime_convert('UTC', 'UTC', $_REQUEST['dtstart']);
$dtstart = new \DateTime($start); $dtstart = new \DateTime($start);
if($_REQUEST['dtend']) { if($_REQUEST['dtend']) {
$end = datetime_convert($tz, 'UTC', $_REQUEST['dtend']); $end = datetime_convert('UTC', 'UTC', $_REQUEST['dtend']);
$dtend = new \DateTime($end); $dtend = new \DateTime($end);
} }
$description = $_REQUEST['description']; $description = $_REQUEST['description'];
@ -369,10 +369,10 @@ class Cdav extends Controller {
$uri = $_REQUEST['uri']; $uri = $_REQUEST['uri'];
$title = $_REQUEST['title']; $title = $_REQUEST['title'];
$start = datetime_convert($tz, 'UTC', $_REQUEST['dtstart']); $start = datetime_convert('UTC', 'UTC', $_REQUEST['dtstart']);
$dtstart = new \DateTime($start); $dtstart = new \DateTime($start);
if($_REQUEST['dtend']) { if($_REQUEST['dtend']) {
$end = datetime_convert($tz, 'UTC', $_REQUEST['dtend']); $end = datetime_convert('UTC', 'UTC', $_REQUEST['dtend']);
$dtend = new \DateTime($end); $dtend = new \DateTime($end);
} }
$description = $_REQUEST['description']; $description = $_REQUEST['description'];
@ -442,10 +442,10 @@ class Cdav extends Controller {
$allday = $_REQUEST['allday']; $allday = $_REQUEST['allday'];
$uri = $_REQUEST['uri']; $uri = $_REQUEST['uri'];
$start = datetime_convert($tz, 'UTC', $_REQUEST['dtstart']); $start = datetime_convert('UTC', 'UTC', $_REQUEST['dtstart']);
$dtstart = new \DateTime($start); $dtstart = new \DateTime($start);
if($_REQUEST['dtend']) { if($_REQUEST['dtend']) {
$end = datetime_convert($tz, 'UTC', $_REQUEST['dtend']); $end = datetime_convert('UTC', 'UTC', $_REQUEST['dtend']);
$dtend = new \DateTime($end); $dtend = new \DateTime($end);
} }

View File

@ -21,7 +21,7 @@ class Channel_calendar extends \Zotlabs\Web\Controller {
$event_hash = ((x($_POST,'event_hash')) ? $_POST['event_hash'] : ''); $event_hash = ((x($_POST,'event_hash')) ? $_POST['event_hash'] : '');
$xchan = ((x($_POST,'xchan')) ? dbesc($_POST['xchan']) : ''); $xchan = ((x($_POST,'xchan')) ? dbesc($_POST['xchan']) : '');
$uid = local_channel(); $uid = local_channel();
// only allow editing your own events. // only allow editing your own events.
if(($xchan) && ($xchan !== get_observer_hash())) if(($xchan) && ($xchan !== get_observer_hash()))
@ -34,8 +34,8 @@ class Channel_calendar extends \Zotlabs\Web\Controller {
$adjust = intval($_POST['adjust']); $adjust = intval($_POST['adjust']);
$start = (($adjust) ? datetime_convert($tz, 'UTC', escape_tags($_REQUEST['dtstart'])) : datetime_convert('UTC', 'UTC', escape_tags($_REQUEST['dtstart']))); $start = datetime_convert('UTC', 'UTC', escape_tags($_REQUEST['dtstart']));
$finish = (($adjust) ? datetime_convert($tz, 'UTC', escape_tags($_REQUEST['dtend'])) : datetime_convert('UTC', 'UTC', escape_tags($_REQUEST['dtend']))); $finish = datetime_convert('UTC', 'UTC', escape_tags($_REQUEST['dtend']));
$summary = escape_tags(trim($_POST['summary'])); $summary = escape_tags(trim($_POST['summary']));
$desc = escape_tags(trim($_POST['desc'])); $desc = escape_tags(trim($_POST['desc']));

View File

@ -58,7 +58,7 @@ $(document).ready(function() {
dayNamesShort: aStr['dayNamesShort'], dayNamesShort: aStr['dayNamesShort'],
allDayText: aStr['allday'], allDayText: aStr['allday'],
snapDuration: '00:15:00', snapDuration: '00:05:00',
dateClick: function(info) { dateClick: function(info) {
if(new_event.id) { if(new_event.id) {
@ -77,7 +77,7 @@ $(document).ready(function() {
} }
var dtend = new Date(info.date.toISOString()); var dtend = new Date(info.date.toUTCString());
if(allday) { if(allday) {
dtend.setDate(dtend.getDate() + 1); dtend.setDate(dtend.getDate() + 1);
} }
@ -93,14 +93,14 @@ $(document).ready(function() {
$('#id_description').attr('disabled', false); $('#id_description').attr('disabled', false);
$('#id_location').attr('disabled', false); $('#id_location').attr('disabled', false);
$('#calendar_select').val($("#calendar_select option:first").val()).attr('disabled', false); $('#calendar_select').val($("#calendar_select option:first").val()).attr('disabled', false);
$('#id_dtstart').val(info.date.toISOString()); $('#id_dtstart').val(info.date.toUTCString().slice(0, -4));
$('#id_dtend').val(dtend ? dtend.toISOString() : ''); $('#id_dtend').val(dtend ? dtend.toUTCString().slice(0, -4) : '');
$('#id_description').val(''); $('#id_description').val('');
$('#id_location').val(''); $('#id_location').val('');
$('#event_submit').val('create_event').html('{{$create}}'); $('#event_submit').val('create_event').html('{{$create}}');
$('#event_delete').hide(); $('#event_delete').hide();
new_event = { id: new_event_id, title: 'New event', start: $('#id_dtstart').val(), end: $('#id_dtend').val(), allDay: info.allDay, editable: true, color: '#bbb' }; new_event = { id: new_event_id, title: 'New event', start: info.date.toUTCString(), end: dtend ? dtend.toUTCString() : '', allDay: info.allDay, editable: true, color: '#bbb' };
calendar.addEvent(new_event); calendar.addEvent(new_event);
}, },
@ -164,8 +164,8 @@ $(document).ready(function() {
$('#id_timezone_select').val(event.extendedProps.timezone); $('#id_timezone_select').val(event.extendedProps.timezone);
$('#id_location').val(event.extendedProps.location); $('#id_location').val(event.extendedProps.location);
$('#id_categories').tagsinput('add', event.extendedProps.categories); $('#id_categories').tagsinput('add', event.extendedProps.categories);
$('#id_dtstart').val(dtstart.toISOString()); $('#id_dtstart').val(dtstart.toUTCString().slice(0, -4));
$('#id_dtend').val(dtend.toISOString()); $('#id_dtend').val(dtend.toUTCString().slice(0, -4));
$('#id_description').val(event.extendedProps.description); $('#id_description').val(event.extendedProps.description);
$('#id_location').val(event.extendedProps.location); $('#id_location').val(event.extendedProps.location);
$('#event_submit').val('update_event').html('{{$update}}'); $('#event_submit').val('update_event').html('{{$update}}');
@ -217,8 +217,8 @@ $(document).ready(function() {
var dtend = new Date(info.event._instance.range.end); var dtend = new Date(info.event._instance.range.end);
$('#id_title').val(event.title); $('#id_title').val(event.title);
$('#id_dtstart').val(dtstart.toISOString()); $('#id_dtstart').val(dtstart.toUTCString().slice(0, -4));
$('#id_dtend').val(dtend.toISOString()); $('#id_dtend').val(dtend.toUTCString().slice(0, -4));
event_id = event.extendedProps.item ? event.extendedProps.item.id : 0; event_id = event.extendedProps.item ? event.extendedProps.item.id : 0;
event_xchan = event.extendedProps.item ? event.extendedProps.item.event_xchan : ''; event_xchan = event.extendedProps.item ? event.extendedProps.item.event_xchan : '';
@ -232,8 +232,8 @@ $(document).ready(function() {
'preview': 0, 'preview': 0,
'summary': event.title, 'summary': event.title,
'timezone_select': event.extendedProps.timezone, 'timezone_select': event.extendedProps.timezone,
'dtstart': dtstart.toISOString(), 'dtstart': dtstart.toUTCString().slice(0, -4),
'dtend': dtend.toISOString(), 'dtend': dtend.toUTCString().slice(0, -4),
'adjust': event.allDay ? 0 : 1, 'adjust': event.allDay ? 0 : 1,
'categories': event.extendedProps.categories, 'categories': event.extendedProps.categories,
'desc': event.extendedProps.description, 'desc': event.extendedProps.description,
@ -249,8 +249,8 @@ $(document).ready(function() {
'id[]': event.extendedProps.calendar_id, 'id[]': event.extendedProps.calendar_id,
'uri': event.extendedProps.uri, 'uri': event.extendedProps.uri,
'timezone_select': event.extendedProps.timezone, 'timezone_select': event.extendedProps.timezone,
'dtstart': dtstart ? dtstart.toISOString() : '', 'dtstart': dtstart ? dtstart.toUTCString().slice(0, -4) : '',
'dtend': dtend ? dtend.toISOString() : '', 'dtend': dtend ? dtend.toUTCString().slice(0, -4) : '',
'allday': event.allDay ? 1 : 0 'allday': event.allDay ? 1 : 0
}) })
.fail(function() { .fail(function() {
@ -266,8 +266,8 @@ $(document).ready(function() {
var dtend = new Date(info.event._instance.range.end); var dtend = new Date(info.event._instance.range.end);
$('#id_title').val(event.title); $('#id_title').val(event.title);
$('#id_dtstart').val(dtstart.toISOString()); $('#id_dtstart').val(dtstart.toUTCString().slice(0, -4));
$('#id_dtend').val(dtend.toISOString()); $('#id_dtend').val(dtend.toUTCString().slice(0, -4));
event_id = event.extendedProps.item ? event.extendedProps.item.id : 0; event_id = event.extendedProps.item ? event.extendedProps.item.id : 0;
event_xchan = event.extendedProps.item ? event.extendedProps.item.event_xchan : ''; event_xchan = event.extendedProps.item ? event.extendedProps.item.event_xchan : '';
@ -281,8 +281,8 @@ $(document).ready(function() {
'preview': 0, 'preview': 0,
'summary': event.title, 'summary': event.title,
'timezone_select': event.extendedProps.timezone, 'timezone_select': event.extendedProps.timezone,
'dtstart': dtstart.toISOString(), 'dtstart': dtstart.toUTCString().slice(0, -4),
'dtend': dtend.toISOString(), 'dtend': dtend.toUTCString().slice(0, -4),
'adjust': event.allDay ? 0 : 1, 'adjust': event.allDay ? 0 : 1,
'categories': event.extendedProps.categories, 'categories': event.extendedProps.categories,
'desc': event.extendedProps.description, 'desc': event.extendedProps.description,
@ -298,8 +298,8 @@ $(document).ready(function() {
'id[]': event.extendedProps.calendar_id, 'id[]': event.extendedProps.calendar_id,
'uri': event.extendedProps.uri, 'uri': event.extendedProps.uri,
'timezone_select': event.extendedProps.timezone, 'timezone_select': event.extendedProps.timezone,
'dtstart': dtstart ? dtstart.toISOString() : '', 'dtstart': dtstart ? dtstart.toUTCString().slice(0, -4) : '',
'dtend': dtend ? dtend.toISOString() : '', 'dtend': dtend ? dtend.toUTCString().slice(0, -4) : '',
'allday': event.allDay ? 1 : 0 'allday': event.allDay ? 1 : 0
}) })
.fail(function() { .fail(function() {
@ -367,8 +367,8 @@ $(document).ready(function() {
$('#calendar_select').val('channel_calendar').attr('disabled', true); $('#calendar_select').val('channel_calendar').attr('disabled', true);
$('#id_title').val(resource.summary); $('#id_title').val(resource.summary);
$('#id_dtstart').val(new Date(resource.dtstart).toISOString()); $('#id_dtstart').val(new Date(resource.dtstart).toUTCString().slice(0, -4));
$('#id_dtend').val(new Date(resource.dtend).toISOString()); $('#id_dtend').val(new Date(resource.dtend).toUTCString().slice(0, -4));
$('#id_categories').tagsinput('add', '{{$categories}}'), $('#id_categories').tagsinput('add', '{{$categories}}'),
$('#id_description').val(resource.description); $('#id_description').val(resource.description);
$('#id_location').val(resource.location); $('#id_location').val(resource.location);