diff --git a/database.sql b/database.sql
index 3e7e65e726..e91c8b2f69 100644
--- a/database.sql
+++ b/database.sql
@@ -1,6 +1,6 @@
-- ------------------------------------------
-- Friendica 2021.12-dev (Siberian Iris)
--- DB_UPDATE_VERSION 1435
+-- DB_UPDATE_VERSION 1436
-- ------------------------------------------
@@ -565,7 +565,6 @@ CREATE TABLE IF NOT EXISTS `event` (
`location` text COMMENT 'event location',
`type` varchar(20) NOT NULL DEFAULT '' COMMENT 'event or birthday',
`nofinish` boolean NOT NULL DEFAULT '0' COMMENT 'if event does have no end this is 1',
- `adjust` boolean NOT NULL DEFAULT '1' COMMENT 'adjust to timezone of the recipient (0 or 1)',
`ignore` boolean NOT NULL DEFAULT '0' COMMENT '0 or 1',
`allow_cid` mediumtext COMMENT 'Access Control - list of allowed contact.id \'<19><78>\'',
`allow_gid` mediumtext COMMENT 'Access Control - list of allowed groups',
@@ -1699,7 +1698,6 @@ CREATE VIEW `post-user-view` AS SELECT
`event`.`location` AS `event-location`,
`event`.`type` AS `event-type`,
`event`.`nofinish` AS `event-nofinish`,
- `event`.`adjust` AS `event-adjust`,
`event`.`ignore` AS `event-ignore`,
`diaspora-interaction`.`interaction` AS `signed_text`,
`parent-item-uri`.`guid` AS `parent-guid`,
@@ -1860,7 +1858,6 @@ CREATE VIEW `post-thread-user-view` AS SELECT
`event`.`location` AS `event-location`,
`event`.`type` AS `event-type`,
`event`.`nofinish` AS `event-nofinish`,
- `event`.`adjust` AS `event-adjust`,
`event`.`ignore` AS `event-ignore`,
`diaspora-interaction`.`interaction` AS `signed_text`,
`parent-item-uri`.`guid` AS `parent-guid`,
diff --git a/doc/API-Entities.md b/doc/API-Entities.md
index e369cb4ffd..6a851014e9 100644
--- a/doc/API-Entities.md
+++ b/doc/API-Entities.md
@@ -439,12 +439,6 @@ Ex: Wed May 23 06:01:13 +0000 2007
Optional. Location. |
-
-adjust |
-Boolean |
-??? |
-
-
ignore |
Boolean |
diff --git a/doc/database/db_event.md b/doc/database/db_event.md
index 5550d1a1a0..ff89b6ba2a 100644
--- a/doc/database/db_event.md
+++ b/doc/database/db_event.md
@@ -23,7 +23,6 @@ Fields
| location | event location | text | YES | | NULL | |
| type | event or birthday | varchar(20) | NO | | | |
| nofinish | if event does have no end this is 1 | boolean | NO | | 0 | |
-| adjust | adjust to timezone of the recipient (0 or 1) | boolean | NO | | 1 | |
| ignore | 0 or 1 | boolean | NO | | 0 | |
| allow_cid | Access Control - list of allowed contact.id '<19><78>' | mediumtext | YES | | NULL | |
| allow_gid | Access Control - list of allowed groups | mediumtext | YES | | NULL | |
diff --git a/doc/events.md b/doc/events.md
index be0040d298..58a3b33269 100644
--- a/doc/events.md
+++ b/doc/events.md
@@ -36,11 +36,6 @@ The finishing date/time has to be after the beginning date/time of the event.
But you don't have to specify it.
If the event is open-ended or the finishing date/time does not matter, just select the box below the two first fields.
-* **Adjust for viewer timezone**: If you check this box, the beginning and finishing times will automatically converted to the local time according to the timezone setting
-
-This might prevent early birthday wishes, or the panic that you have forgotten the birthday from your buddy at the other side of the world.
-And similar events.
-
* **Title**: a title for the event
* **Description**: a longer description for the event
* **Location**: the location the event will took place
diff --git a/mod/cal.php b/mod/cal.php
index ac12d69b91..75fe87e746 100644
--- a/mod/cal.php
+++ b/mod/cal.php
@@ -185,16 +185,11 @@ function cal_content(App $a)
$start = DateTimeFormat::utc($start);
$finish = DateTimeFormat::utc($finish);
- $adjust_start = DateTimeFormat::local($start);
- $adjust_finish = DateTimeFormat::local($finish);
-
// put the event parametes in an array so we can better transmit them
$event_params = [
'event_id' => intval($_GET['id'] ?? 0),
'start' => $start,
'finish' => $finish,
- 'adjust_start' => $adjust_start,
- 'adjust_finish' => $adjust_finish,
'ignore' => $ignored,
];
@@ -210,7 +205,7 @@ function cal_content(App $a)
if (DBA::isResult($r)) {
$r = Event::sortByDate($r);
foreach ($r as $rr) {
- $j = $rr['adjust'] ? DateTimeFormat::local($rr['start'], 'j') : DateTimeFormat::utc($rr['start'], 'j');
+ $j = DateTimeFormat::local($rr['start'], 'j');
if (empty($links[$j])) {
$links[$j] = DI::baseUrl() . '/' . DI::args()->getCommand() . '#link-' . $j;
}
@@ -229,11 +224,7 @@ function cal_content(App $a)
if (!empty($_GET['id'])) {
$tpl = Renderer::getMarkupTemplate("event.tpl");
} else {
-// if (DI::config()->get('experimentals','new_calendar')==1){
$tpl = Renderer::getMarkupTemplate("events_js.tpl");
-// } else {
-// $tpl = Renderer::getMarkupTemplate("events.tpl");
-// }
}
// Get rid of dashes in key names, Smarty3 can't handle them
diff --git a/mod/events.php b/mod/events.php
index 75c87df44e..6ce322a4df 100644
--- a/mod/events.php
+++ b/mod/events.php
@@ -80,7 +80,6 @@ function events_post(App $a)
$start_text = Strings::escapeHtml($_REQUEST['start_text'] ?? '');
$finish_text = Strings::escapeHtml($_REQUEST['finish_text'] ?? '');
- $adjust = intval($_POST['adjust'] ?? 0);
$nofinish = intval($_POST['nofinish'] ?? 0);
$share = intval($_POST['share'] ?? 0);
@@ -99,16 +98,9 @@ function events_post(App $a)
$finish = $finish_text;
}
- if ($adjust) {
- $start = DateTimeFormat::convert($start, 'UTC', $a->getTimeZone());
- if (!$nofinish) {
- $finish = DateTimeFormat::convert($finish, 'UTC', $a->getTimeZone());
- }
- } else {
- $start = DateTimeFormat::utc($start);
- if (!$nofinish) {
- $finish = DateTimeFormat::utc($finish);
- }
+ $start = DateTimeFormat::convert($start, 'UTC', $a->getTimeZone());
+ if (!$nofinish) {
+ $finish = DateTimeFormat::convert($finish, 'UTC', $a->getTimeZone());
}
// Don't allow the event to finish before it begins.
@@ -127,7 +119,6 @@ function events_post(App $a)
'location' => $location,
'start' => $start_text,
'finish' => $finish_text,
- 'adjust' => $adjust,
'nofinish' => $nofinish,
];
@@ -196,7 +187,6 @@ function events_post(App $a)
$datarray['desc'] = $desc;
$datarray['location'] = $location;
$datarray['type'] = $type;
- $datarray['adjust'] = $adjust;
$datarray['nofinish'] = $nofinish;
$datarray['uid'] = $uid;
$datarray['cid'] = $cid;
@@ -343,16 +333,12 @@ function events_content(App $a)
$start = DateTimeFormat::utc($start);
$finish = DateTimeFormat::utc($finish);
- $adjust_start = DateTimeFormat::local($start);
- $adjust_finish = DateTimeFormat::local($finish);
// put the event parametes in an array so we can better transmit them
$event_params = [
'event_id' => intval($_GET['id'] ?? 0),
'start' => $start,
'finish' => $finish,
- 'adjust_start' => $adjust_start,
- 'adjust_finish' => $adjust_finish,
'ignore' => $ignored,
];
@@ -368,7 +354,7 @@ function events_content(App $a)
if (DBA::isResult($r)) {
$r = Event::sortByDate($r);
foreach ($r as $rr) {
- $j = $rr['adjust'] ? DateTimeFormat::local($rr['start'], 'j') : DateTimeFormat::utc($rr['start'], 'j');
+ $j = DateTimeFormat::local($rr['start'], 'j');
if (empty($links[$j])) {
$links[$j] = DI::baseUrl() . '/' . DI::args()->getCommand() . '#link-' . $j;
}
@@ -457,7 +443,6 @@ function events_content(App $a)
// In case of an error the browser is redirected back here, with these parameters filled in with the previous values
if (!empty($_REQUEST['nofinish'])) {$orig_event['nofinish'] = $_REQUEST['nofinish'];}
- if (!empty($_REQUEST['adjust'])) {$orig_event['adjust'] = $_REQUEST['adjust'];}
if (!empty($_REQUEST['summary'])) {$orig_event['summary'] = $_REQUEST['summary'];}
if (!empty($_REQUEST['desc'])) {$orig_event['desc'] = $_REQUEST['desc'];}
if (!empty($_REQUEST['location'])) {$orig_event['location'] = $_REQUEST['location'];}
@@ -465,7 +450,6 @@ function events_content(App $a)
if (!empty($_REQUEST['finish'])) {$orig_event['finish'] = $_REQUEST['finish'];}
$n_checked = (!empty($orig_event['nofinish']) ? ' checked="checked" ' : '');
- $a_checked = (!empty($orig_event['adjust']) ? ' checked="checked" ' : '');
$t_orig = $orig_event['summary'] ?? '';
$d_orig = $orig_event['desc'] ?? '';
@@ -481,24 +465,19 @@ function events_content(App $a)
$sdt = $orig_event['start'] ?? 'now';
$fdt = $orig_event['finish'] ?? 'now';
- $tz = $a->getTimeZone();
- if (isset($orig_event['adjust'])) {
- $tz = ($orig_event['adjust'] ? $a->getTimeZone() : 'UTC');
- }
+ $syear = DateTimeFormat::local($sdt, 'Y');
+ $smonth = DateTimeFormat::local($sdt, 'm');
+ $sday = DateTimeFormat::local($sdt, 'd');
- $syear = DateTimeFormat::convert($sdt, $tz, 'UTC', 'Y');
- $smonth = DateTimeFormat::convert($sdt, $tz, 'UTC', 'm');
- $sday = DateTimeFormat::convert($sdt, $tz, 'UTC', 'd');
+ $shour = !empty($orig_event) ? DateTimeFormat::local($sdt, 'H') : '00';
+ $sminute = !empty($orig_event) ? DateTimeFormat::local($sdt, 'i') : '00';
- $shour = !empty($orig_event) ? DateTimeFormat::convert($sdt, $tz, 'UTC', 'H') : '00';
- $sminute = !empty($orig_event) ? DateTimeFormat::convert($sdt, $tz, 'UTC', 'i') : '00';
+ $fyear = DateTimeFormat::local($fdt, 'Y');
+ $fmonth = DateTimeFormat::local($fdt, 'm');
+ $fday = DateTimeFormat::local($fdt, 'd');
- $fyear = DateTimeFormat::convert($fdt, $tz, 'UTC', 'Y');
- $fmonth = DateTimeFormat::convert($fdt, $tz, 'UTC', 'm');
- $fday = DateTimeFormat::convert($fdt, $tz, 'UTC', 'd');
-
- $fhour = !empty($orig_event) ? DateTimeFormat::convert($fdt, $tz, 'UTC', 'H') : '00';
- $fminute = !empty($orig_event) ? DateTimeFormat::convert($fdt, $tz, 'UTC', 'i') : '00';
+ $fhour = !empty($orig_event) ? DateTimeFormat::local($fdt, 'H') : '00';
+ $fminute = !empty($orig_event) ? DateTimeFormat::local($fdt, 'i') : '00';
if (!$cid && in_array($mode, ['new', 'copy'])) {
$acl = ACL::getFullSelectorHTML(DI::page(), $a->getLoggedInUserId(), false, ACL::getDefaultUserPermissions($orig_event));
@@ -549,8 +528,6 @@ function events_content(App $a)
true,
'start_text'
),
- '$a_text' => DI::l10n()->t('Adjust for viewer timezone'),
- '$a_checked' => $a_checked,
'$d_text' => DI::l10n()->t('Description:'),
'$d_orig' => $d_orig,
'$l_text' => DI::l10n()->t('Location:'),
@@ -562,7 +539,6 @@ function events_content(App $a)
'$share' => ['share', DI::l10n()->t('Share this event'), $share_checked, '', $share_disabled],
'$sh_checked' => $share_checked,
'$nofinish' => ['nofinish', DI::l10n()->t('Finish date/time is not known or not relevant'), $n_checked],
- '$adjust' => ['adjust', DI::l10n()->t('Adjust for viewer timezone'), $a_checked],
'$preview' => DI::l10n()->t('Preview'),
'$acl' => $acl,
'$submit' => DI::l10n()->t('Submit'),
diff --git a/mod/ping.php b/mod/ping.php
index 2036b8ec41..216c883c64 100644
--- a/mod/ping.php
+++ b/mod/ping.php
@@ -214,7 +214,7 @@ function ping_init(App $a)
$ev = DI::cache()->get($cachekey);
if (is_null($ev)) {
$ev = q(
- "SELECT type, start, adjust FROM `event`
+ "SELECT type, start FROM `event`
WHERE `event`.`uid` = %d AND `start` < '%s' AND `finish` > '%s' and `ignore` = 0
ORDER BY `start` ASC ",
intval(local_user()),
@@ -230,7 +230,7 @@ function ping_init(App $a)
$all_events = count($ev);
if ($all_events) {
- $str_now = DateTimeFormat::timezoneNow($a->getTimeZone(), 'Y-m-d');
+ $str_now = DateTimeFormat::localNow('Y-m-d');
foreach ($ev as $x) {
$bd = false;
if ($x['type'] === 'birthday') {
@@ -239,7 +239,7 @@ function ping_init(App $a)
} else {
$events ++;
}
- if (DateTimeFormat::convert($x['start'], ((intval($x['adjust'])) ? $a->getTimeZone() : 'UTC'), 'UTC', 'Y-m-d') === $str_now) {
+ if (DateTimeFormat::local($x['start'], 'Y-m-d') === $str_now) {
$all_events_today ++;
if ($bd) {
$birthdays_today ++;
diff --git a/src/Content/Text/BBCode.php b/src/Content/Text/BBCode.php
index ae7ace2347..87db9fb063 100644
--- a/src/Content/Text/BBCode.php
+++ b/src/Content/Text/BBCode.php
@@ -1857,7 +1857,6 @@ class BBCode
$text = preg_replace("/\[event\-start\](.*?)\[\/event\-start\]/ism", $sub, $text);
$text = preg_replace("/\[event\-finish\](.*?)\[\/event\-finish\]/ism", '', $text);
$text = preg_replace("/\[event\-location\](.*?)\[\/event\-location\]/ism", '', $text);
- $text = preg_replace("/\[event\-adjust\](.*?)\[\/event\-adjust\]/ism", '', $text);
$text = preg_replace("/\[event\-id\](.*?)\[\/event\-id\]/ism", '', $text);
}
diff --git a/src/Model/Event.php b/src/Model/Event.php
index 331a77e3f1..ef2b55b68c 100644
--- a/src/Model/Event.php
+++ b/src/Model/Event.php
@@ -51,16 +51,10 @@ class Event
$bd_format = DI::l10n()->t('l F d, Y \@ g:i A'); // Friday January 18, 2011 @ 8 AM.
- $event_start = DI::l10n()->getDay(
- !empty($event['adjust']) ?
- DateTimeFormat::local($event['start'], $bd_format) : DateTimeFormat::utc($event['start'], $bd_format)
- );
+ $event_start = DI::l10n()->getDay(DateTimeFormat::local($event['start'], $bd_format));
if (!empty($event['finish'])) {
- $event_end = DI::l10n()->getDay(
- !empty($event['adjust']) ?
- DateTimeFormat::local($event['finish'], $bd_format) : DateTimeFormat::utc($event['finish'], $bd_format)
- );
+ $event_end = DI::l10n()->getDay(DateTimeFormat::local($event['finish'], $bd_format));
} else {
$event_end = '';
}
@@ -94,13 +88,13 @@ class Event
$o .= '' . BBCode::convertForUriId($uriid, Strings::escapeHtml($event['summary']), $simple) . '
' . "\r\n";
$o .= '' . DI::l10n()->t('Starts:') . ' ' . $event_start
. '
' . "\r\n";
if (!$event['nofinish']) {
$o .= '' . DI::l10n()->t('Finishes:') . ' ' . $event_end
. '
' . "\r\n";
}
@@ -157,10 +151,6 @@ class Event
$o .= '[event-location]' . $event['location'] . '[/event-location]';
}
- if ($event['adjust']) {
- $o .= '[event-adjust]' . $event['adjust'] . '[/event-adjust]';
- }
-
return $o;
}
@@ -200,11 +190,6 @@ class Event
$ev['location'] = $match[1];
}
- $match = [];
- if (preg_match("/\[event\-adjust\](.*?)\[\/event\-adjust\]/is", $text, $match)) {
- $ev['adjust'] = $match[1];
- }
-
$ev['nofinish'] = !empty($ev['start']) && empty($ev['finish']) ? 1 : 0;
return $ev;
@@ -218,8 +203,8 @@ class Event
private static function compareDatesCallback($event_a, $event_b)
{
- $date_a = (($event_a['adjust']) ? DateTimeFormat::local($event_a['start']) : $event_a['start']);
- $date_b = (($event_b['adjust']) ? DateTimeFormat::local($event_b['start']) : $event_b['start']);
+ $date_a = DateTimeFormat::local($event_a['start']);
+ $date_b = DateTimeFormat::local($event_b['start']);
if ($date_a === $date_b) {
return strcasecmp($event_a['desc'], $event_b['desc']);
@@ -274,7 +259,6 @@ class Event
$event['allow_gid'] = $arr['allow_gid'] ?? '';
$event['deny_cid'] = $arr['deny_cid'] ?? '';
$event['deny_gid'] = $arr['deny_gid'] ?? '';
- $event['adjust'] = intval($arr['adjust'] ?? 0);
$event['nofinish'] = intval($arr['nofinish'] ?? (!empty($event['start']) && empty($event['finish'])));
$event['created'] = DateTimeFormat::utc(($arr['created'] ?? '') ?: 'now');
@@ -305,7 +289,6 @@ class Event
'desc' => $event['desc'],
'location' => $event['location'],
'type' => $event['type'],
- 'adjust' => $event['adjust'],
'nofinish' => $event['nofinish'],
];
@@ -547,8 +530,6 @@ class Event
* int 'ignore' =>
* string 'start' => Start time of the timeframe.
* string 'finish' => Finish time of the timeframe.
- * string 'adjust_start' =>
- * string 'adjust_finish' =>
*
* @param string $sql_extra Additional sql conditions (e.g. permission request).
*
@@ -568,11 +549,11 @@ class Event
$events = DBA::toArray(DBA::p("SELECT `event`.*, `post-user`.`id` AS `itemid` FROM `event`
LEFT JOIN `post-user` ON `post-user`.`event-id` = `event`.`id` AND `post-user`.`uid` = `event`.`uid`
WHERE `event`.`uid` = ? AND `event`.`ignore` = ?
- AND ((NOT `adjust` AND (`finish` >= ? OR (`nofinish` AND `start` >= ?)) AND `start` <= ?)
- OR (`adjust` AND (`finish` >= ? OR (`nofinish` AND `start` >= ?)) AND `start` <= ?))" . $sql_extra,
- $owner_uid, $event_params["ignore"],
- $event_params["start"], $event_params["start"], $event_params["finish"],
- $event_params["adjust_start"], $event_params["adjust_start"], $event_params["adjust_finish"]));
+ AND (`finish` >= ? OR (`nofinish` AND `start` >= ?)) AND `start` <= ?
+ " . $sql_extra,
+ $owner_uid, $event_params['ignore'],
+ $event_params['start'], $event_params['start'], $event_params['finish']
+ ));
if (DBA::isResult($events)) {
$return = self::removeDuplicates($events);
@@ -604,15 +585,15 @@ class Event
$event = array_merge($event, $item);
- $start = $event['adjust'] ? DateTimeFormat::local($event['start'], 'c') : DateTimeFormat::utc($event['start'], 'c');
- $j = $event['adjust'] ? DateTimeFormat::local($event['start'], 'j') : DateTimeFormat::utc($event['start'], 'j');
- $day = $event['adjust'] ? DateTimeFormat::local($event['start'], $fmt) : DateTimeFormat::utc($event['start'], $fmt);
+ $start = DateTimeFormat::local($event['start'], 'c');
+ $j = DateTimeFormat::local($event['start'], 'j');
+ $day = DateTimeFormat::local($event['start'], $fmt);
$day = DI::l10n()->getDay($day);
if ($event['nofinish']) {
$end = null;
} else {
- $end = $event['adjust'] ? DateTimeFormat::local($event['finish'], 'c') : DateTimeFormat::utc($event['finish'], 'c');
+ $end = DateTimeFormat::local($event['finish'], 'c');
}
$is_first = ($day !== $last_date);
@@ -720,23 +701,14 @@ class Event
// but test your solution against http://icalvalid.cloudapp.net/
// also long lines SHOULD be split at 75 characters length
foreach ($events as $event) {
- if ($event['adjust'] == 1) {
- $UTC = 'Z';
- } else {
- $UTC = '';
- }
$o .= 'BEGIN:VEVENT' . PHP_EOL;
if ($event['start']) {
- $tmp = strtotime($event['start']);
- $dtformat = "%Y%m%dT%H%M%S" . $UTC;
- $o .= 'DTSTART:' . strftime($dtformat, $tmp) . PHP_EOL;
+ $o .= 'DTSTART:' . DateTimeFormat::utc($event['start'], 'Ymd\THis\Z') . PHP_EOL;
}
if (!$event['nofinish']) {
- $tmp = strtotime($event['finish']);
- $dtformat = "%Y%m%dT%H%M%S" . $UTC;
- $o .= 'DTEND:' . strftime($dtformat, $tmp) . PHP_EOL;
+ $o .= 'DTEND:' . DateTimeFormat::utc($event['finish'], 'Ymd\THis\Z') . PHP_EOL;
}
if ($event['summary']) {
@@ -793,7 +765,7 @@ class Event
return $return;
}
- $fields = ['start', 'finish', 'adjust', 'summary', 'desc', 'location', 'nofinish'];
+ $fields = ['start', 'finish', 'summary', 'desc', 'location', 'nofinish'];
$conditions = ['uid' => $uid, 'cid' => 0];
@@ -883,48 +855,22 @@ class Event
$tformat = DI::l10n()->t('g:i A'); // 8:01 AM.
// Convert the time to different formats.
- $dtstart_dt = DI::l10n()->getDay(
- $item['event-adjust'] ?
- DateTimeFormat::local($item['event-start'], $dformat)
- : DateTimeFormat::utc($item['event-start'], $dformat)
- );
- $dtstart_title = DateTimeFormat::utc($item['event-start'], $item['event-adjust'] ? DateTimeFormat::ATOM : 'Y-m-d\TH:i:s');
+ $dtstart_dt = DI::l10n()->getDay(DateTimeFormat::local($item['event-start'], $dformat));
+ $dtstart_title = DateTimeFormat::utc($item['event-start'], DateTimeFormat::ATOM);
// Format: Jan till Dec.
- $month_short = DI::l10n()->getDayShort(
- $item['event-adjust'] ?
- DateTimeFormat::local($item['event-start'], 'M')
- : DateTimeFormat::utc($item['event-start'], 'M')
- );
+ $month_short = DI::l10n()->getDayShort(DateTimeFormat::local($item['event-start'], 'M'));
// Format: 1 till 31.
- $date_short = $item['event-adjust'] ?
- DateTimeFormat::local($item['event-start'], 'j')
- : DateTimeFormat::utc($item['event-start'], 'j');
- $start_time = $item['event-adjust'] ?
- DateTimeFormat::local($item['event-start'], $tformat)
- : DateTimeFormat::utc($item['event-start'], $tformat);
- $start_short = DI::l10n()->getDayShort(
- $item['event-adjust'] ?
- DateTimeFormat::local($item['event-start'], $dformat_short)
- : DateTimeFormat::utc($item['event-start'], $dformat_short)
- );
+ $date_short = DateTimeFormat::local($item['event-start'], 'j');
+ $start_time = DateTimeFormat::local($item['event-start'], $tformat);
+ $start_short = DI::l10n()->getDayShort(DateTimeFormat::local($item['event-start'], $dformat_short));
// If the option 'nofinisch' isn't set, we need to format the finish date/time.
if (!$item['event-nofinish']) {
$finish = true;
- $dtend_dt = DI::l10n()->getDay(
- $item['event-adjust'] ?
- DateTimeFormat::local($item['event-finish'], $dformat)
- : DateTimeFormat::utc($item['event-finish'], $dformat)
- );
- $dtend_title = DateTimeFormat::utc($item['event-finish'], $item['event-adjust'] ? DateTimeFormat::ATOM : 'Y-m-d\TH:i:s');
- $end_short = DI::l10n()->getDayShort(
- $item['event-adjust'] ?
- DateTimeFormat::local($item['event-finish'], $dformat_short)
- : DateTimeFormat::utc($item['event-finish'], $dformat_short)
- );
- $end_time = $item['event-adjust'] ?
- DateTimeFormat::local($item['event-finish'], $tformat)
- : DateTimeFormat::utc($item['event-finish'], $tformat);
+ $dtend_dt = DI::l10n()->getDay(DateTimeFormat::local($item['event-finish'], $dformat));
+ $dtend_title = DateTimeFormat::utc($item['event-finish'], DateTimeFormat::ATOM);
+ $end_short = DI::l10n()->getDayShort(DateTimeFormat::utc($item['event-finish'], $dformat_short));
+ $end_time = DateTimeFormat::local($item['event-finish'], $tformat);
// Check if start and finish time is at the same day.
if (substr($dtstart_title, 0, 10) === substr($dtend_title, 0, 10)) {
$same_date = true;
@@ -1063,7 +1009,6 @@ class Event
'summary' => DI::l10n()->t('%s\'s birthday', $contact['name']),
'desc' => DI::l10n()->t('Happy Birthday %s', ' [url=' . $contact['url'] . ']' . $contact['name'] . '[/url]'),
'type' => 'birthday',
- 'adjust' => 0
];
self::store($values);
diff --git a/src/Model/Item.php b/src/Model/Item.php
index fbbd2eb673..db1d088883 100644
--- a/src/Model/Item.php
+++ b/src/Model/Item.php
@@ -88,7 +88,7 @@ class Item
'writable', 'self', 'cid', 'alias',
'event-created', 'event-edited', 'event-start', 'event-finish',
'event-summary', 'event-desc', 'event-location', 'event-type',
- 'event-nofinish', 'event-adjust', 'event-ignore', 'event-id',
+ 'event-nofinish', 'event-ignore', 'event-id',
'delivery_queue_count', 'delivery_queue_done', 'delivery_queue_failed'
];
@@ -103,7 +103,7 @@ class Item
'thr-parent-id', 'parent-uri-id', 'postopts', 'pubmail',
'event-created', 'event-edited', 'event-start', 'event-finish',
'event-summary', 'event-desc', 'event-location', 'event-type',
- 'event-nofinish', 'event-adjust', 'event-ignore', 'event-id'];
+ 'event-nofinish', 'event-ignore', 'event-id'];
// All fields in the item table
const ITEM_FIELDLIST = ['id', 'uid', 'parent', 'uri', 'parent-uri', 'thr-parent',
diff --git a/src/Model/Profile.php b/src/Model/Profile.php
index 4e984baa6f..361f1a7e4b 100644
--- a/src/Model/Profile.php
+++ b/src/Model/Profile.php
@@ -555,7 +555,7 @@ class Profile
$rr['link'] = Contact::magicLinkById($rr['cid']);
$rr['title'] = $rr['name'];
- $rr['date'] = DI::l10n()->getDay(DateTimeFormat::convert($rr['start'], $a->getTimeZone(), 'UTC', $rr['adjust'] ? $bd_format : $bd_short)) . (($today) ? ' ' . DI::l10n()->t('[today]') : '');
+ $rr['date'] = DI::l10n()->getDay(DateTimeFormat::local($rr['start'], $bd_short)) . (($today) ? ' ' . DI::l10n()->t('[today]') : '');
$rr['startime'] = null;
$rr['today'] = $today;
}
@@ -614,8 +614,8 @@ class Profile
$total++;
}
- $strt = DateTimeFormat::convert($rr['start'], $rr['adjust'] ? $a->getTimeZone() : 'UTC', 'UTC', 'Y-m-d');
- if ($strt === DateTimeFormat::timezoneNow($a->getTimeZone(), 'Y-m-d')) {
+ $strt = DateTimeFormat::local($rr['start'], 'Y-m-d');
+ if ($strt === DateTimeFormat::localNow('Y-m-d')) {
$istoday = true;
}
@@ -630,17 +630,17 @@ class Profile
$description = DI::l10n()->t('[No description]');
}
- $strt = DateTimeFormat::convert($rr['start'], $rr['adjust'] ? $a->getTimeZone() : 'UTC');
+ $strt = DateTimeFormat::local($rr['start']);
- if (substr($strt, 0, 10) < DateTimeFormat::timezoneNow($a->getTimeZone(), 'Y-m-d')) {
+ if (substr($strt, 0, 10) < DateTimeFormat::localNow('Y-m-d')) {
continue;
}
- $today = ((substr($strt, 0, 10) === DateTimeFormat::timezoneNow($a->getTimeZone(), 'Y-m-d')) ? true : false);
+ $today = substr($strt, 0, 10) === DateTimeFormat::localNow('Y-m-d');
$rr['title'] = $title;
$rr['description'] = $description;
- $rr['date'] = DI::l10n()->getDay(DateTimeFormat::convert($rr['start'], $rr['adjust'] ? $a->getTimeZone() : 'UTC', 'UTC', $bd_format)) . (($today) ? ' ' . DI::l10n()->t('[today]') : '');
+ $rr['date'] = DI::l10n()->getDay(DateTimeFormat::local($rr['start'], $bd_format)) . (($today) ? ' ' . DI::l10n()->t('[today]') : '');
$rr['startime'] = $strt;
$rr['today'] = $today;
diff --git a/src/Module/Api/Friendica/Events/Index.php b/src/Module/Api/Friendica/Events/Index.php
index febbdea48e..7103d1dff4 100644
--- a/src/Module/Api/Friendica/Events/Index.php
+++ b/src/Module/Api/Friendica/Events/Index.php
@@ -61,7 +61,7 @@ class Index extends BaseApi
'type' => $event['type'],
'nofinish' => $event['nofinish'],
'place' => $event['location'],
- 'adjust' => $event['adjust'],
+ 'adjust' => 1,
'ignore' => $event['ignore'],
'allow_cid' => $event['allow_cid'],
'allow_gid' => $event['allow_gid'],
diff --git a/src/Protocol/ActivityPub/Processor.php b/src/Protocol/ActivityPub/Processor.php
index 47ea6a1bde..51a7ede2f2 100644
--- a/src/Protocol/ActivityPub/Processor.php
+++ b/src/Protocol/ActivityPub/Processor.php
@@ -408,7 +408,6 @@ class Processor
$event['finish'] = $activity['end-time'];
$event['nofinish'] = empty($event['finish']);
$event['location'] = $activity['location'];
- $event['adjust'] = $activity['adjust'] ?? true;
$event['cid'] = $item['contact-id'];
$event['uid'] = $item['uid'];
$event['uri'] = $item['uri'];
diff --git a/src/Protocol/ActivityPub/Receiver.php b/src/Protocol/ActivityPub/Receiver.php
index f094833060..431b6739ff 100644
--- a/src/Protocol/ActivityPub/Receiver.php
+++ b/src/Protocol/ActivityPub/Receiver.php
@@ -1389,7 +1389,6 @@ class Receiver
$object_data = self::getSource($object, $object_data);
$object_data['start-time'] = JsonLD::fetchElement($object, 'as:startTime', '@value');
$object_data['end-time'] = JsonLD::fetchElement($object, 'as:endTime', '@value');
- $object_data['adjust'] = JsonLD::fetchElement($object, 'dfrn:adjust', '@value');
$object_data['location'] = $location;
$object_data['latitude'] = JsonLD::fetchElement($object, 'as:location', 'as:latitude', '@type', 'as:Place');
$object_data['latitude'] = JsonLD::fetchElement($object_data, 'latitude', '@value');
diff --git a/src/Protocol/ActivityPub/Transmitter.php b/src/Protocol/ActivityPub/Transmitter.php
index 375036d1c7..5c9142a5d3 100644
--- a/src/Protocol/ActivityPub/Transmitter.php
+++ b/src/Protocol/ActivityPub/Transmitter.php
@@ -1476,10 +1476,10 @@ class Transmitter
$event = [];
$event['name'] = $item['event-summary'];
$event['content'] = BBCode::convertForUriId($item['uri-id'], $item['event-desc'], BBCode::ACTIVITYPUB);
- $event['startTime'] = DateTimeFormat::utc($item['event-start'] . '+00:00', DateTimeFormat::ATOM);
+ $event['startTime'] = DateTimeFormat::utc($item['event-start'], 'c');
if (!$item['event-nofinish']) {
- $event['endTime'] = DateTimeFormat::utc($item['event-finish'] . '+00:00', DateTimeFormat::ATOM);
+ $event['endTime'] = DateTimeFormat::utc($item['event-finish'], 'c');
}
if (!empty($item['event-location'])) {
@@ -1487,7 +1487,8 @@ class Transmitter
$event['location'] = self::createLocation($item);
}
- $event['dfrn:adjust'] = (bool)$item['event-adjust'];
+ // 2021.12: Backward compatibility value, all the events now "adjust" to the viewer timezone
+ $event['dfrn:adjust'] = true;
return $event;
}
diff --git a/src/Protocol/Diaspora.php b/src/Protocol/Diaspora.php
index ff1b1cb6a5..84f0c6de82 100644
--- a/src/Protocol/Diaspora.php
+++ b/src/Protocol/Diaspora.php
@@ -3314,15 +3314,12 @@ class Diaspora
$eventdata["all_day"] = "false";
$eventdata['timezone'] = 'UTC';
- if (!$event['adjust'] && $owner['timezone']) {
- $eventdata['timezone'] = $owner['timezone'];
- }
if ($event['start']) {
- $eventdata['start'] = DateTimeFormat::convert($event['start'], "UTC", $eventdata['timezone'], $mask);
+ $eventdata['start'] = DateTimeFormat::utc($event['start'], $mask);
}
if ($event['finish'] && !$event['nofinish']) {
- $eventdata['end'] = DateTimeFormat::convert($event['finish'], "UTC", $eventdata['timezone'], $mask);
+ $eventdata['end'] = DateTimeFormat::utc($event['finish'], $mask);
}
if ($event['summary']) {
$eventdata['summary'] = html_entity_decode(BBCode::toMarkdown($event['summary']));
diff --git a/static/dbstructure.config.php b/static/dbstructure.config.php
index ef97c54f60..8ea4ea1d06 100644
--- a/static/dbstructure.config.php
+++ b/static/dbstructure.config.php
@@ -55,7 +55,7 @@
use Friendica\Database\DBA;
if (!defined('DB_UPDATE_VERSION')) {
- define('DB_UPDATE_VERSION', 1435);
+ define('DB_UPDATE_VERSION', 1436);
}
return [
@@ -629,7 +629,6 @@ return [
"location" => ["type" => "text", "comment" => "event location"],
"type" => ["type" => "varchar(20)", "not null" => "1", "default" => "", "comment" => "event or birthday"],
"nofinish" => ["type" => "boolean", "not null" => "1", "default" => "0", "comment" => "if event does have no end this is 1"],
- "adjust" => ["type" => "boolean", "not null" => "1", "default" => "1", "comment" => "adjust to timezone of the recipient (0 or 1)"],
"ignore" => ["type" => "boolean", "not null" => "1", "default" => "0", "comment" => "0 or 1"],
"allow_cid" => ["type" => "mediumtext", "comment" => "Access Control - list of allowed contact.id '<19><78>'"],
"allow_gid" => ["type" => "mediumtext", "comment" => "Access Control - list of allowed groups"],
diff --git a/static/dbview.config.php b/static/dbview.config.php
index 5b3e8b5826..63215968b6 100644
--- a/static/dbview.config.php
+++ b/static/dbview.config.php
@@ -186,7 +186,6 @@
"event-location" => ["event", "location"],
"event-type" => ["event", "type"],
"event-nofinish" => ["event", "nofinish"],
- "event-adjust" => ["event", "adjust"],
"event-ignore" => ["event", "ignore"],
"signed_text" => ["diaspora-interaction", "interaction"],
"parent-guid" => ["parent-item-uri", "guid"],
@@ -345,7 +344,6 @@
"event-location" => ["event", "location"],
"event-type" => ["event", "type"],
"event-nofinish" => ["event", "nofinish"],
- "event-adjust" => ["event", "adjust"],
"event-ignore" => ["event", "ignore"],
"signed_text" => ["diaspora-interaction", "interaction"],
"parent-guid" => ["parent-item-uri", "guid"],
diff --git a/view/templates/event_form.tpl b/view/templates/event_form.tpl
index b22c3c64f4..894d50fbbf 100644
--- a/view/templates/event_form.tpl
+++ b/view/templates/event_form.tpl
@@ -18,8 +18,6 @@
{{include file="field_checkbox.tpl" field=$nofinish}}
-{{include file="field_checkbox.tpl" field=$adjust}}
-
{{include file="field_input.tpl" field=$summary}}
diff --git a/view/theme/duepuntozero/style.css b/view/theme/duepuntozero/style.css
index ee99f47904..f5b526c481 100644
--- a/view/theme/duepuntozero/style.css
+++ b/view/theme/duepuntozero/style.css
@@ -2351,12 +2351,6 @@ aside input[type='text'] {
font-weight: bold;
}
-#birthday-adjust {
- float: left;
- font-size: 75%;
- margin-left: 10px;
-}
-
#birthday-title-end {
clear: both;
}
@@ -2664,14 +2658,14 @@ aside input[type='text'] {
margin-bottom: 5px;
}
-#event-nofinish-checkbox, #event-nofinish-text, #event-adjust-checkbox, #event-adjust-text {
+#event-nofinish-checkbox, #event-nofinish-text {
float: left;
}
#event-datetime-break {
margin-bottom: 10px;
}
-#event-nofinish-break, #event-adjust-break {
+#event-nofinish-break {
clear: both;
}
diff --git a/view/theme/frio/templates/event_form.tpl b/view/theme/frio/templates/event_form.tpl
index 537f5243ca..cbefa04bc6 100644
--- a/view/theme/frio/templates/event_form.tpl
+++ b/view/theme/frio/templates/event_form.tpl
@@ -49,9 +49,6 @@
{{* checkbox if the the event doesn't have a finish time *}}
{{include file="field_checkbox.tpl" field=$nofinish}}
-
- {{* checkbox for adjusting the event time to the timezone of the user *}}
- {{include file="field_checkbox.tpl" field=$adjust}}
{{* checkbox to enable event sharing and the permissions tab *}}
diff --git a/view/theme/quattro/templates/event_form.tpl b/view/theme/quattro/templates/event_form.tpl
index 8054ba8762..9ad1c8a39a 100644
--- a/view/theme/quattro/templates/event_form.tpl
+++ b/view/theme/quattro/templates/event_form.tpl
@@ -15,8 +15,6 @@
{{$f_dsel nofilter}}
{{include file="field_checkbox.tpl" field=$nofinish}}
-
- {{include file="field_checkbox.tpl" field=$adjust}}
{{include file="field_input.tpl" field=$summary}}
{{include file="field_textarea.tpl" field=array('desc', $d_text, $d_orig, "")}}
diff --git a/view/theme/smoothly/style.css b/view/theme/smoothly/style.css
index 2ea3bd6208..7698b0d3d3 100644
--- a/view/theme/smoothly/style.css
+++ b/view/theme/smoothly/style.css
@@ -3682,8 +3682,6 @@ margin-left: 0px;
#event-nofinish-checkbox,
#event-nofinish-text,
-#event-adjust-checkbox,
-#event-adjust-text,
#event-share-checkbox {
float: left;
}
@@ -3693,7 +3691,6 @@ margin-left: 0px;
}
#event-nofinish-break,
-#event-adjust-break,
#event-share-break {
clear: both;
}
diff --git a/view/theme/vier/templates/event_form.tpl b/view/theme/vier/templates/event_form.tpl
index a5604d9292..1581fb6a85 100644
--- a/view/theme/vier/templates/event_form.tpl
+++ b/view/theme/vier/templates/event_form.tpl
@@ -19,8 +19,6 @@
{{include file="field_checkbox.tpl" field=$nofinish}}
-{{include file="field_checkbox.tpl" field=$adjust}}
-
{{include file="field_input.tpl" field=$summary}}