From a3acec96745f90443de84d8503334b3a204436fb Mon Sep 17 00:00:00 2001 From: zotlabs Date: Tue, 24 Mar 2020 18:26:20 -0700 Subject: issue 1454 - some photo item ActivityStreams links not returning json-ld; requires related fixes in addons/pubcrawl --- include/photos.php | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) (limited to 'include') diff --git a/include/photos.php b/include/photos.php index ee662f707..631660d7a 100644 --- a/include/photos.php +++ b/include/photos.php @@ -388,7 +388,7 @@ function photo_upload($channel, $observer, $args) { 'title' => $title, 'created' => $p['created'], 'edited' => $p['edited'], - 'id' => z_root() . '/photos/' . $channel['channel_address'] . '/image/' . $photo_hash, + 'id' => z_root() . '/item/' . $photo_hash, 'link' => $link, 'body' => $summary ); @@ -438,13 +438,13 @@ function photo_upload($channel, $observer, $args) { } } else { - $uuid = item_message_id(); - $mid = z_root() . '/item/' . $uuid; + // $uuid = item_message_id(); + $mid = z_root() . '/item/' . $photo_hash; $arr = [ 'aid' => $account_id, 'uid' => $channel_id, - 'uuid' => $uuid, + 'uuid' => $photo_hash, 'mid' => $mid, 'parent_mid' => $mid, 'item_hidden' => $item_hidden, -- cgit v1.2.3 From ffe429be65e8d6198579d3dd987053387799ca78 Mon Sep 17 00:00:00 2001 From: Mario Date: Wed, 1 Apr 2020 07:44:07 +0000 Subject: transition connections to zot6 if their site has been updated --- include/connections.php | 64 +++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 64 insertions(+) (limited to 'include') diff --git a/include/connections.php b/include/connections.php index 51df18b70..c7ec163c8 100644 --- a/include/connections.php +++ b/include/connections.php @@ -772,3 +772,67 @@ function vcard_query(&$r) { } } } + +function z6trans_connections() { + + $r = q("SELECT DISTINCT abook.abook_xchan, hubloc.hubloc_addr, hubloc.hubloc_url, hubloc.hubloc_guid, site.site_project, site.site_version FROM abook + LEFT JOIN hubloc ON abook_xchan = hubloc_hash + LEFT JOIN site ON hubloc_url = site_url + WHERE abook.abook_self = 0 AND hubloc.hubloc_network = 'zot' + AND hubloc.hubloc_deleted = 0 AND site.site_dead = 0" + ); + + foreach($r as $rr) { + if(stripos($rr['site_project'], 'hubzilla') !== false && version_compare($rr['site_version'], '4.7.4', '>=')) { + + $zot_xchan = $rr['abook_xchan']; + $guid = $rr['hubloc_guid']; + $hub_url = $rr['hubloc_url']; + $addr = $rr['hubloc_addr']; + + $x = q("SELECT hubloc_hash FROM hubloc + WHERE hubloc_guid = '%s' AND hubloc_url = '%s' AND hubloc_network = 'zot6' AND hubloc_deleted = 0", + dbesc($guid), + dbesc($hub_url) + ); + + if(!$x) { + logger("z6trans_connections: zot6 hubloc for $addr not found"); + discover_by_webbie($addr,'zot6'); + continue; + } + + $zot6_xchan = $x[0]['hubloc_hash']; + + logger("z6trans_connections: transition $zot_xchan to $zot6_xchan"); + + q("START TRANSACTION"); + + $q1 = q("UPDATE abook set abook_xchan = '%s' WHERE abook_xchan = '%s'", + dbesc($zot6_xchan), + dbesc($zot_xchan) + ); + + $q2 = q("UPDATE abconfig set xchan = '%s' WHERE xchan = '%s'", + dbesc($zot6_xchan), + dbesc($zot_xchan) + ); + + $q3 = q("UPDATE pgrp_member set xchan = '%s' WHERE xchan = '%s'", + dbesc($zot6_xchan), + dbesc($zot_xchan) + ); + + if($q1 && $q2 && $q3) { + q("COMMIT"); + logger("z6trans_connections: completed"); + continue; + } + + logger("z6trans_connections: failed - performing rollback"); + q("ROLLBACK"); + + } + } + +} -- cgit v1.2.3 From 38be2386dd63a4a18c07e445b9859a5836ed5b46 Mon Sep 17 00:00:00 2001 From: Mario Date: Wed, 1 Apr 2020 09:26:27 +0000 Subject: cheat with guid_sig to reflect transition to zot6 and re-enable transition of connections --- include/zot.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'include') diff --git a/include/zot.php b/include/zot.php index 5cf357d40..8b9cb0767 100644 --- a/include/zot.php +++ b/include/zot.php @@ -4355,7 +4355,7 @@ function zotinfo($arr) { $r = q("select channel.*, xchan.* from channel left join xchan on channel_portable_id = xchan_hash where channel_guid = '%s' and channel_guid_sig = '%s' limit 1", dbesc($zguid), - dbesc($zguid_sig) + dbesc('sha256.' . $zguid_sig) ); } elseif(strlen($zaddr)) { -- cgit v1.2.3 From ac52bebb88306273a481b7114fe190917da49b91 Mon Sep 17 00:00:00 2001 From: Mario Date: Thu, 2 Apr 2020 12:33:57 +0000 Subject: ATOM_TIME format is not compatible with the DB --- include/event.php | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'include') diff --git a/include/event.php b/include/event.php index 64e63074c..b92d2c8a9 100644 --- a/include/event.php +++ b/include/event.php @@ -259,9 +259,9 @@ function format_event_bbcode($ev, $utc = false) { } if ($utc && $ev['event-timezone'] !== 'UTC') { - $ev['dtstart'] = datetime_convert($ev['timezone'],'UTC',$ev['dtstart'],ATOM_TIME); + $ev['dtstart'] = datetime_convert($ev['timezone'],'UTC',$ev['dtstart']); if ($ev['dtend'] && ! $ev['nofinish']) { - $ev['dtend'] = datetime_convert($ev['timezone'],'UTC',$ev['dtend'],ATOM_TIME); + $ev['dtend'] = datetime_convert($ev['timezone'],'UTC',$ev['dtend']); } $ev['timezone'] = 'UTC'; } -- cgit v1.2.3 From 6cfaa5cba32eb1e7f2b4a0ba6bb281ebd610a54b Mon Sep 17 00:00:00 2001 From: Mario Date: Fri, 3 Apr 2020 18:34:15 +0000 Subject: set timezone iconfig a little earlier in the process so that it will be included in the object --- include/event.php | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) (limited to 'include') diff --git a/include/event.php b/include/event.php index b92d2c8a9..0cc7170d1 100644 --- a/include/event.php +++ b/include/event.php @@ -1251,6 +1251,8 @@ function event_store_item($arr, $event) { else $item_arr['plink'] = z_root() . '/display/' . gen_link_id($item_arr['mid']); + set_iconfig($item_arr, 'event', 'timezone', $arr['timezone'], true); + $x = q("select * from xchan where xchan_hash = '%s' limit 1", dbesc($arr['event_xchan']) ); @@ -1286,7 +1288,7 @@ function event_store_item($arr, $event) { // activities refer to the item message_id as the parent. set_iconfig($item_arr, 'system','event_id',$event['event_hash'],true); - set_iconfig($item_arr, 'event','timezone',$arr['timezone'],true); + //set_iconfig($item_arr, 'event','timezone',$arr['timezone'],true); $res = item_store($item_arr); -- cgit v1.2.3 From cec2e92fe381a5e4bb67426290303639dd260358 Mon Sep 17 00:00:00 2001 From: Mario Date: Fri, 3 Apr 2020 19:50:50 +0000 Subject: more timezone changes --- include/event.php | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) (limited to 'include') diff --git a/include/event.php b/include/event.php index 0cc7170d1..f455a0dbf 100644 --- a/include/event.php +++ b/include/event.php @@ -40,7 +40,7 @@ function format_event_html($ev) { $o .= '
' . t('Starts:') . ' ' - . (($ev['adjust']) ? day_translate(datetime_convert($tz, date_default_timezone_get(), + . (($ev['adjust']) ? day_translate(datetime_convert('UTC', date_default_timezone_get(), $ev['dtstart'] , $bd_format )) : day_translate(datetime_convert('UTC', 'UTC', $ev['dtstart'] , $bd_format))) @@ -50,7 +50,7 @@ function format_event_html($ev) { $o .= '
' . t('Finishes:') . ' ' - . (($ev['adjust']) ? day_translate(datetime_convert($tz, date_default_timezone_get(), + . (($ev['adjust']) ? day_translate(datetime_convert('UTC', date_default_timezone_get(), $ev['dtend'] , $bd_format )) : day_translate(datetime_convert('UTC', 'UTC', $ev['dtend'] , $bd_format ))) @@ -98,11 +98,11 @@ function format_event_obj($jobject) { '$title' => zidify_links(smilies(bbcode($object['title']))), '$dtstart_label' => t('Start:'), '$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', 'UTC', $object['dtstart'] , $bd_format))), + '$dtstart_dt' => (($object['adjust']) ? day_translate(datetime_convert('UTC', date_default_timezone_get(), $object['dtstart'] , $bd_format )) : day_translate(datetime_convert('UTC', 'UTC', $object['dtstart'] , $bd_format))), '$finish' => (($object['nofinish']) ? false : true), '$dtend_label' => t('End:'), '$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', 'UTC', $object['dtend'] , $bd_format ))), + '$dtend_dt' => (($object['adjust']) ? day_translate(datetime_convert('UTC', date_default_timezone_get(), $object['dtend'] , $bd_format )) : day_translate(datetime_convert('UTC', 'UTC', $object['dtend'] , $bd_format ))), '$allday' => $allday, '$oneday' => $oneday )); @@ -1097,6 +1097,8 @@ function event_store_item($arr, $event) { ); if($r) { + set_iconfig($r[0], 'event', 'timezone', $arr['timezone'], true); + $object = json_encode(array( 'type' => ACTIVITY_OBJ_EVENT, 'id' => z_root() . '/event/' . $r[0]['resource_id'], @@ -1167,7 +1169,7 @@ function event_store_item($arr, $event) { } $item_id = $r[0]['id']; - set_iconfig($item_id, 'event', 'timezone', $arr['timezone'], true); + //set_iconfig($item_id, 'event', 'timezone', $arr['timezone'], true); /** * @hooks event_updated -- cgit v1.2.3 From ec9418b2626f343614b3307902551ea68307002c Mon Sep 17 00:00:00 2001 From: Mario Date: Fri, 3 Apr 2020 22:01:02 +0200 Subject: Revert "set timezone iconfig a little earlier in the process so that it will be included in the object" This reverts commit 6cfaa5cba32eb1e7f2b4a0ba6bb281ebd610a54b --- include/event.php | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) (limited to 'include') diff --git a/include/event.php b/include/event.php index f455a0dbf..fbc46100f 100644 --- a/include/event.php +++ b/include/event.php @@ -1253,8 +1253,6 @@ function event_store_item($arr, $event) { else $item_arr['plink'] = z_root() . '/display/' . gen_link_id($item_arr['mid']); - set_iconfig($item_arr, 'event', 'timezone', $arr['timezone'], true); - $x = q("select * from xchan where xchan_hash = '%s' limit 1", dbesc($arr['event_xchan']) ); @@ -1290,7 +1288,7 @@ function event_store_item($arr, $event) { // activities refer to the item message_id as the parent. set_iconfig($item_arr, 'system','event_id',$event['event_hash'],true); - //set_iconfig($item_arr, 'event','timezone',$arr['timezone'],true); + set_iconfig($item_arr, 'event','timezone',$arr['timezone'],true); $res = item_store($item_arr); -- cgit v1.2.3 From cade25a112d3884034090135db421dab805a93d6 Mon Sep 17 00:00:00 2001 From: Mario Date: Fri, 3 Apr 2020 22:01:44 +0200 Subject: Revert "more timezone changes" This reverts commit cec2e92fe381a5e4bb67426290303639dd260358 --- include/event.php | 12 +++++------- 1 file changed, 5 insertions(+), 7 deletions(-) (limited to 'include') diff --git a/include/event.php b/include/event.php index fbc46100f..b92d2c8a9 100644 --- a/include/event.php +++ b/include/event.php @@ -40,7 +40,7 @@ function format_event_html($ev) { $o .= '
' . t('Starts:') . ' ' - . (($ev['adjust']) ? day_translate(datetime_convert('UTC', date_default_timezone_get(), + . (($ev['adjust']) ? day_translate(datetime_convert($tz, date_default_timezone_get(), $ev['dtstart'] , $bd_format )) : day_translate(datetime_convert('UTC', 'UTC', $ev['dtstart'] , $bd_format))) @@ -50,7 +50,7 @@ function format_event_html($ev) { $o .= '
' . t('Finishes:') . ' ' - . (($ev['adjust']) ? day_translate(datetime_convert('UTC', date_default_timezone_get(), + . (($ev['adjust']) ? day_translate(datetime_convert($tz, date_default_timezone_get(), $ev['dtend'] , $bd_format )) : day_translate(datetime_convert('UTC', 'UTC', $ev['dtend'] , $bd_format ))) @@ -98,11 +98,11 @@ function format_event_obj($jobject) { '$title' => zidify_links(smilies(bbcode($object['title']))), '$dtstart_label' => t('Start:'), '$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('UTC', date_default_timezone_get(), $object['dtstart'] , $bd_format )) : day_translate(datetime_convert('UTC', 'UTC', $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), '$dtend_label' => t('End:'), '$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('UTC', date_default_timezone_get(), $object['dtend'] , $bd_format )) : day_translate(datetime_convert('UTC', 'UTC', $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 ))), '$allday' => $allday, '$oneday' => $oneday )); @@ -1097,8 +1097,6 @@ function event_store_item($arr, $event) { ); if($r) { - set_iconfig($r[0], 'event', 'timezone', $arr['timezone'], true); - $object = json_encode(array( 'type' => ACTIVITY_OBJ_EVENT, 'id' => z_root() . '/event/' . $r[0]['resource_id'], @@ -1169,7 +1167,7 @@ function event_store_item($arr, $event) { } $item_id = $r[0]['id']; - //set_iconfig($item_id, 'event', 'timezone', $arr['timezone'], true); + set_iconfig($item_id, 'event', 'timezone', $arr['timezone'], true); /** * @hooks event_updated -- cgit v1.2.3 From 44b935f8756ea751371065f1edc4f6fab339ab3d Mon Sep 17 00:00:00 2001 From: Mario Date: Sat, 4 Apr 2020 15:41:58 +0000 Subject: another attempt to get events right --- include/event.php | 43 ++++++++++++++++++++++++------------------- 1 file changed, 24 insertions(+), 19 deletions(-) (limited to 'include') diff --git a/include/event.php b/include/event.php index b92d2c8a9..d39da227c 100644 --- a/include/event.php +++ b/include/event.php @@ -40,7 +40,7 @@ function format_event_html($ev) { $o .= '
' . t('Starts:') . ' ' - . (($ev['adjust']) ? day_translate(datetime_convert($tz, date_default_timezone_get(), + . (($ev['adjust']) ? day_translate(datetime_convert('UTC', date_default_timezone_get(), $ev['dtstart'] , $bd_format )) : day_translate(datetime_convert('UTC', 'UTC', $ev['dtstart'] , $bd_format))) @@ -50,7 +50,7 @@ function format_event_html($ev) { $o .= '
' . t('Finishes:') . ' ' - . (($ev['adjust']) ? day_translate(datetime_convert($tz, date_default_timezone_get(), + . (($ev['adjust']) ? day_translate(datetime_convert('UTC', date_default_timezone_get(), $ev['dtend'] , $bd_format )) : day_translate(datetime_convert('UTC', 'UTC', $ev['dtend'] , $bd_format ))) @@ -97,12 +97,12 @@ function format_event_obj($jobject) { $event['header'] = replace_macros(get_markup_template('event_item_header.tpl'),array( '$title' => zidify_links(smilies(bbcode($object['title']))), '$dtstart_label' => t('Start:'), - '$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', 'UTC', $object['dtstart'] , $bd_format))), + '$dtstart_title' => datetime_convert('UTC', date_default_timezone_get(), $object['dtstart'], (($object['adjust']) ? ATOM_TIME : 'Y-m-d\TH:i:s' )), + '$dtstart_dt' => (($object['adjust']) ? day_translate(datetime_convert('UTC', date_default_timezone_get(), $object['dtstart'] , $bd_format )) : day_translate(datetime_convert('UTC', 'UTC', $object['dtstart'] , $bd_format))), '$finish' => (($object['nofinish']) ? false : true), '$dtend_label' => t('End:'), - '$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', 'UTC', $object['dtend'] , $bd_format ))), + '$dtend_title' => datetime_convert('UTC', date_default_timezone_get(), $object['dtend'], (($object['adjust']) ? ATOM_TIME : 'Y-m-d\TH:i:s' )), + '$dtend_dt' => (($object['adjust']) ? day_translate(datetime_convert('UTC', date_default_timezone_get(), $object['dtend'] , $bd_format )) : day_translate(datetime_convert('UTC', 'UTC', $object['dtend'] , $bd_format ))), '$allday' => $allday, '$oneday' => $oneday )); @@ -257,7 +257,7 @@ function format_event_bbcode($ev, $utc = false) { if($ev['event_vdata']) { $o .= '[event]' . $ev['event_vdata'] . '[/event]'; } - +/* if ($utc && $ev['event-timezone'] !== 'UTC') { $ev['dtstart'] = datetime_convert($ev['timezone'],'UTC',$ev['dtstart']); if ($ev['dtend'] && ! $ev['nofinish']) { @@ -265,7 +265,7 @@ function format_event_bbcode($ev, $utc = false) { } $ev['timezone'] = 'UTC'; } - +*/ if($ev['summary']) $o .= '[event-summary]' . $ev['summary'] . '[/event-summary]'; @@ -284,8 +284,8 @@ function format_event_bbcode($ev, $utc = false) { if($ev['event_hash']) $o .= '[event-id]' . $ev['event_hash'] . '[/event-id]'; - if($ev['timezone']) - $o .= '[event-timezone]' . $ev['timezone'] . '[/event-timezone]'; +// if($ev['timezone']) +// $o .= '[event-timezone]' . $ev['timezone'] . '[/event-timezone]'; if($ev['adjust']) $o .= '[event-adjust]' . $ev['adjust'] . '[/event-adjust]'; @@ -1091,12 +1091,17 @@ function event_store_item($arr, $event) { $item_arr['comment_policy'] = 'none'; } - $r = q("SELECT * FROM item left join xchan on author_xchan = xchan_hash WHERE resource_id = '%s' AND resource_type = 'event' and uid = %d LIMIT 1", + $r = q("SELECT * FROM item WHERE resource_id = '%s' AND resource_type = 'event' and uid = %d LIMIT 1", dbesc($event['event_hash']), intval($arr['uid']) ); if($r) { + + set_iconfig($r[0]['id'], 'event', 'timezone', $arr['timezone'], true); + xchan_query($r); + $r = fetch_post_tags($r,true); + $object = json_encode(array( 'type' => ACTIVITY_OBJ_EVENT, 'id' => z_root() . '/event/' . $r[0]['resource_id'], @@ -1111,13 +1116,13 @@ function event_store_item($arr, $event) { 'content' => format_event_bbcode($arr), 'attachment' => Activity::encode_attachment($r[0]), 'author' => array( - 'name' => $r[0]['xchan_name'], - 'address' => $r[0]['xchan_addr'], - 'guid' => $r[0]['xchan_guid'], - 'guid_sig' => $r[0]['xchan_guid_sig'], + 'name' => $r[0]['author']['xchan_name'], + 'address' => $r[0]['author']['xchan_addr'], + 'guid' => $r[0]['author']['xchan_guid'], + 'guid_sig' => $r[0]['author']['xchan_guid_sig'], 'link' => array( - array('rel' => 'alternate', 'type' => 'text/html', 'href' => $r[0]['xchan_url']), - array('rel' => 'photo', 'type' => $r[0]['xchan_photo_mimetype'], 'href' => $r[0]['xchan_photo_m']) + array('rel' => 'alternate', 'type' => 'text/html', 'href' => $r[0]['author']['xchan_url']), + array('rel' => 'photo', 'type' => $r[0]['author']['xchan_photo_mimetype'], 'href' => $r[0]['author']['xchan_photo_m']) ), ), )); @@ -1167,7 +1172,6 @@ function event_store_item($arr, $event) { } $item_id = $r[0]['id']; - set_iconfig($item_id, 'event', 'timezone', $arr['timezone'], true); /** * @hooks event_updated @@ -1251,6 +1255,8 @@ function event_store_item($arr, $event) { else $item_arr['plink'] = z_root() . '/display/' . gen_link_id($item_arr['mid']); + set_iconfig($item_arr, 'event','timezone',$arr['timezone'],true); + $x = q("select * from xchan where xchan_hash = '%s' limit 1", dbesc($arr['event_xchan']) ); @@ -1286,7 +1292,6 @@ function event_store_item($arr, $event) { // activities refer to the item message_id as the parent. set_iconfig($item_arr, 'system','event_id',$event['event_hash'],true); - set_iconfig($item_arr, 'event','timezone',$arr['timezone'],true); $res = item_store($item_arr); -- cgit v1.2.3 From 805f8bf98377d17593dfe884eac5c69079b83eed Mon Sep 17 00:00:00 2001 From: Mario Date: Sun, 5 Apr 2020 07:59:41 +0000 Subject: show event timezone if it differs from the channel default timezone --- include/event.php | 15 +++++++++++++-- 1 file changed, 13 insertions(+), 2 deletions(-) (limited to 'include') diff --git a/include/event.php b/include/event.php index d39da227c..c8f9d2561 100644 --- a/include/event.php +++ b/include/event.php @@ -76,7 +76,17 @@ function format_event_obj($jobject) { //ensure compatibility with older items - this check can be removed at a later point if(array_key_exists('description', $object)) { - $tz = (($object['timezone']) ? $object['timezone'] : 'UTC'); + $event_tz = ''; + if(is_array($object['asld']) && isset($object['asld']['attachment'])) { + foreach($object['asld']['attachment'] as $attachment) { + if($attachment['type'] === 'PropertyValue' && $attachment['name'] == 'zot.event.timezone' ) { + $event_tz = $attachment['value']; + break; + } + } + + } + $allday = (($object['adjust']) ? false : true); $dtstart = new DateTime($object['dtstart']); @@ -104,7 +114,8 @@ function format_event_obj($jobject) { '$dtend_title' => datetime_convert('UTC', date_default_timezone_get(), $object['dtend'], (($object['adjust']) ? ATOM_TIME : 'Y-m-d\TH:i:s' )), '$dtend_dt' => (($object['adjust']) ? day_translate(datetime_convert('UTC', date_default_timezone_get(), $object['dtend'] , $bd_format )) : day_translate(datetime_convert('UTC', 'UTC', $object['dtend'] , $bd_format ))), '$allday' => $allday, - '$oneday' => $oneday + '$oneday' => $oneday, + '$event_tz' => ['label' => t('Timezone'), 'value' => (($event_tz === date_default_timezone_get()) ? '' : $event_tz)] )); $event['content'] = replace_macros(get_markup_template('event_item_content.tpl'),array( -- cgit v1.2.3 From 84183d9f7ef669779841cfccd65aae8000012e6d Mon Sep 17 00:00:00 2001 From: Mario Date: Sun, 5 Apr 2020 09:11:12 +0000 Subject: show event timezone only if adjust ist set and the offset of the event timezone is different from the channel default timezone offset --- include/event.php | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) (limited to 'include') diff --git a/include/event.php b/include/event.php index c8f9d2561..69ca64e0f 100644 --- a/include/event.php +++ b/include/event.php @@ -77,14 +77,22 @@ function format_event_obj($jobject) { if(array_key_exists('description', $object)) { $event_tz = ''; - if(is_array($object['asld']) && isset($object['asld']['attachment'])) { + if($object['adjust'] && is_array($object['asld']) && is_array($object['asld']['attachment'])) { foreach($object['asld']['attachment'] as $attachment) { if($attachment['type'] === 'PropertyValue' && $attachment['name'] == 'zot.event.timezone' ) { - $event_tz = $attachment['value']; + // check if the offset of the timezones is different and only set event_tz if offset is not the same + $local_tz = new DateTimeZone(date_default_timezone_get()); + $local_dt = new DateTime('now', $local_tz); + + $ev_tz = new DateTimeZone($attachment['value']); + $ev_dt = new DateTime('now', $ev_tz); + + if($local_dt->getOffset() !== $ev_dt->getOffset()) + $event_tz = $attachment['value']; + break; } } - } $allday = (($object['adjust']) ? false : true); -- cgit v1.2.3 From cb2996a40cf86d727bfda2df86bdcc8d643b46da Mon Sep 17 00:00:00 2001 From: Mario Date: Sun, 5 Apr 2020 15:00:08 +0000 Subject: another import fix and do not allow importing channels < version 4.7.4 for zot6 compatibility reasons --- include/import.php | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'include') diff --git a/include/import.php b/include/import.php index bfe71963f..910cb8be7 100644 --- a/include/import.php +++ b/include/import.php @@ -1,6 +1,7 @@