improve timezone detection for caldav and remove smart birthday feature. Force adjust birthdays until we agree on how to deal with this.
This commit is contained in:
parent
e834c7fe3e
commit
39613aa2d9
@ -1144,16 +1144,24 @@ class Cdav extends Controller {
|
|||||||
$dtend = (string)$vevent->DTEND;
|
$dtend = (string)$vevent->DTEND;
|
||||||
$description = (string)$vevent->DESCRIPTION;
|
$description = (string)$vevent->DESCRIPTION;
|
||||||
$location = (string)$vevent->LOCATION;
|
$location = (string)$vevent->LOCATION;
|
||||||
$timezone = (string)$vevent->DTSTART['TZID'];
|
$timezone_str = (string)$vevent->DTSTART['TZID'];
|
||||||
$rw = ((cdav_perms($id[0],$calendars,true)) ? true : false);
|
$rw = ((cdav_perms($id[0],$calendars,true)) ? true : false);
|
||||||
$editable = $rw ? true : false;
|
$editable = $rw ? true : false;
|
||||||
$recurrent = ((isset($vevent->{'RECURRENCE-ID'})) ? true : false);
|
$recurrent = ((isset($vevent->{'RECURRENCE-ID'})) ? true : false);
|
||||||
|
|
||||||
if($recurrent) {
|
if($recurrent) {
|
||||||
$editable = false;
|
$editable = false;
|
||||||
$timezone = $recurrent_timezone;
|
$timezone_str = $recurrent_timezone;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Try to get an usable olson format timezone
|
||||||
|
$timezone_obj = \Sabre\VObject\TimeZoneUtil::getTimeZone($timezone_str, $vcalendar);
|
||||||
|
$timezone = $timezone_obj->getName();
|
||||||
|
|
||||||
|
// If we got nothing fallback to UTC
|
||||||
|
if(! $timezone)
|
||||||
|
$timezone = 'UTC';
|
||||||
|
|
||||||
$allDay = (((string)$vevent->DTSTART['VALUE'] == 'DATE') ? true : false);
|
$allDay = (((string)$vevent->DTSTART['VALUE'] == 'DATE') ? true : false);
|
||||||
|
|
||||||
$events[] = [
|
$events[] = [
|
||||||
|
@ -345,8 +345,9 @@ class Channel_calendar extends \Zotlabs\Web\Controller {
|
|||||||
if(! $tz)
|
if(! $tz)
|
||||||
$tz = 'UTC';
|
$tz = 'UTC';
|
||||||
|
|
||||||
if($rr['etype'] === 'birthday')
|
if($rr['etype'] === 'birthday') {
|
||||||
$rr['adjust'] = intval(feature_enabled(local_channel(), 'smart_birthdays'));
|
$rr['adjust'] = 1; //intval(feature_enabled(local_channel(), 'smart_birthdays'));
|
||||||
|
}
|
||||||
|
|
||||||
$start = (($rr['adjust']) ? datetime_convert($tz, date_default_timezone_get(), $rr['dtstart'], 'c') : datetime_convert('UTC', 'UTC', $rr['dtstart'], 'c'));
|
$start = (($rr['adjust']) ? datetime_convert($tz, date_default_timezone_get(), $rr['dtstart'], 'c') : datetime_convert('UTC', 'UTC', $rr['dtstart'], 'c'));
|
||||||
if ($rr['nofinish']){
|
if ($rr['nofinish']){
|
||||||
@ -356,7 +357,6 @@ class Channel_calendar extends \Zotlabs\Web\Controller {
|
|||||||
|
|
||||||
// give a fake end to birthdays so they get crammed into a
|
// give a fake end to birthdays so they get crammed into a
|
||||||
// single day on the calendar
|
// single day on the calendar
|
||||||
|
|
||||||
if($rr['etype'] === 'birthday')
|
if($rr['etype'] === 'birthday')
|
||||||
$end = null;
|
$end = null;
|
||||||
}
|
}
|
||||||
@ -374,13 +374,13 @@ class Channel_calendar extends \Zotlabs\Web\Controller {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
$allDay = false;
|
//$allDay = false;
|
||||||
|
|
||||||
// allDay event rules
|
// allDay event rules
|
||||||
if(!strpos($start, 'T') && !strpos($end, 'T'))
|
//if(!strpos($start, 'T') && !strpos($end, 'T'))
|
||||||
$allDay = true;
|
// $allDay = true;
|
||||||
if(strpos($start, 'T00:00:00') && strpos($end, 'T00:00:00'))
|
//if(strpos($start, 'T00:00:00') && strpos($end, 'T00:00:00'))
|
||||||
$allDay = true;
|
// $allDay = true;
|
||||||
|
|
||||||
$edit = ((local_channel() && $rr['author_xchan'] == get_observer_hash()) ? array(z_root().'/events/'.$rr['event_hash'].'?expandform=1',t('Edit event'),'','') : false);
|
$edit = ((local_channel() && $rr['author_xchan'] == get_observer_hash()) ? array(z_root().'/events/'.$rr['event_hash'].'?expandform=1',t('Edit event'),'','') : false);
|
||||||
|
|
||||||
@ -395,7 +395,7 @@ class Channel_calendar extends \Zotlabs\Web\Controller {
|
|||||||
'start'=> $start,
|
'start'=> $start,
|
||||||
'end' => $end,
|
'end' => $end,
|
||||||
'drop' => $drop,
|
'drop' => $drop,
|
||||||
'allDay' => $allDay,
|
'allDay' => (($rr['adjust']) ? 0 : 1),
|
||||||
'title' => htmlentities($rr['summary'], ENT_COMPAT, 'UTF-8', false),
|
'title' => htmlentities($rr['summary'], ENT_COMPAT, 'UTF-8', false),
|
||||||
'editable' => $edit ? true : false,
|
'editable' => $edit ? true : false,
|
||||||
'item' => $rr,
|
'item' => $rr,
|
||||||
|
@ -83,11 +83,11 @@ function format_event_obj($jobject) {
|
|||||||
'$title' => zidify_links(smilies(bbcode($object['title']))),
|
'$title' => zidify_links(smilies(bbcode($object['title']))),
|
||||||
'$dtstart_label' => t('Starts:'),
|
'$dtstart_label' => t('Starts:'),
|
||||||
'$dtstart_title' => datetime_convert($tz, date_default_timezone_get(), $object['dtstart'], (($object['adjust']) ? ATOM_TIME : 'Y-m-d\TH:i:s' )),
|
'$dtstart_title' => datetime_convert($tz, date_default_timezone_get(), $object['dtstart'], (($object['adjust']) ? ATOM_TIME : 'Y-m-d\TH:i:s' )),
|
||||||
'$dtstart_dt' => (($object['adjust']) ? day_translate(datetime_convert($tz, date_default_timezone_get(), $object['dtstart'] , $bd_format )) : day_translate(datetime_convert('UTC', date_default_timezone_get(), $object['dtstart'] , $bd_format))),
|
'$dtstart_dt' => (($object['adjust']) ? day_translate(datetime_convert($tz, date_default_timezone_get(), $object['dtstart'] , $bd_format )) : day_translate(datetime_convert('UTC', 'UTC', $object['dtstart'] , $bd_format))),
|
||||||
'$finish' => (($object['nofinish']) ? false : true),
|
'$finish' => (($object['nofinish']) ? false : true),
|
||||||
'$dtend_label' => t('Finishes:'),
|
'$dtend_label' => t('Finishes:'),
|
||||||
'$dtend_title' => datetime_convert($tz, date_default_timezone_get(), $object['dtend'], (($object['adjust']) ? ATOM_TIME : 'Y-m-d\TH:i:s' )),
|
'$dtend_title' => datetime_convert($tz, date_default_timezone_get(), $object['dtend'], (($object['adjust']) ? ATOM_TIME : 'Y-m-d\TH:i:s' )),
|
||||||
'$dtend_dt' => (($object['adjust']) ? day_translate(datetime_convert($tz, date_default_timezone_get(), $object['dtend'] , $bd_format )) : day_translate(datetime_convert('UTC', date_default_timezone_get(), $object['dtend'] , $bd_format )))
|
'$dtend_dt' => (($object['adjust']) ? day_translate(datetime_convert($tz, date_default_timezone_get(), $object['dtend'] , $bd_format )) : day_translate(datetime_convert('UTC', 'UTC', $object['dtend'] , $bd_format )))
|
||||||
));
|
));
|
||||||
|
|
||||||
$event['content'] = replace_macros(get_markup_template('event_item_content.tpl'),array(
|
$event['content'] = replace_macros(get_markup_template('event_item_content.tpl'),array(
|
||||||
|
@ -96,14 +96,15 @@ function get_features($filtered = true, $level = (-1)) {
|
|||||||
false,
|
false,
|
||||||
get_config('feature_lock','event_tz_select'),
|
get_config('feature_lock','event_tz_select'),
|
||||||
],
|
],
|
||||||
|
/*
|
||||||
[
|
[
|
||||||
'smart_birthdays',
|
'smart_birthdays',
|
||||||
t('Smart Birthdays'),
|
t('Smart Birthdays'),
|
||||||
t('Make birthday events timezone aware in case your friends are scattered across the planet.'),
|
t('Make birthday events timezone aware in case your friends are scattered across the planet.'),
|
||||||
true,
|
false,
|
||||||
get_config('feature_lock','smart_birthdays'),
|
get_config('feature_lock','smart_birthdays'),
|
||||||
]
|
]
|
||||||
|
*/
|
||||||
|
|
||||||
],
|
],
|
||||||
|
|
||||||
|
@ -207,7 +207,7 @@ $(document).ready(function() {
|
|||||||
'timezone_select': event.extendedProps.timezone,
|
'timezone_select': event.extendedProps.timezone,
|
||||||
'dtstart': dtstart.toUTCString(),
|
'dtstart': dtstart.toUTCString(),
|
||||||
'dtend': dtend.toUTCString(),
|
'dtend': dtend.toUTCString(),
|
||||||
'adjust': event.extendedProps.item.adjust,
|
'adjust': event.allDay ? 0 : 1,
|
||||||
'categories': event.extendedProps.categories,
|
'categories': event.extendedProps.categories,
|
||||||
'desc': event.extendedProps.description,
|
'desc': event.extendedProps.description,
|
||||||
'location': event.extendedProps.location,
|
'location': event.extendedProps.location,
|
||||||
@ -256,7 +256,7 @@ $(document).ready(function() {
|
|||||||
'timezone_select': event.extendedProps.timezone,
|
'timezone_select': event.extendedProps.timezone,
|
||||||
'dtstart': dtstart.toUTCString(),
|
'dtstart': dtstart.toUTCString(),
|
||||||
'dtend': dtend.toUTCString(),
|
'dtend': dtend.toUTCString(),
|
||||||
'adjust': event.extendedProps.item.adjust,
|
'adjust': event.allDay ? 0 : 1,
|
||||||
'categories': event.extendedProps.categories,
|
'categories': event.extendedProps.categories,
|
||||||
'desc': event.extendedProps.description,
|
'desc': event.extendedProps.description,
|
||||||
'location': event.extendedProps.location,
|
'location': event.extendedProps.location,
|
||||||
|
Reference in New Issue
Block a user