]> git.mxchange.org Git - friendica.git/commitdiff
Remove event.adjust field
authorHypolite Petovan <hypolite@mrpetovan.com>
Sun, 3 Oct 2021 17:21:17 +0000 (13:21 -0400)
committerHypolite Petovan <hypolite@mrpetovan.com>
Sun, 3 Oct 2021 17:42:32 +0000 (13:42 -0400)
- It was confusing and introduced complexity that wasn't worth the unclear gain

24 files changed:
database.sql
doc/API-Entities.md
doc/database/db_event.md
doc/events.md
mod/cal.php
mod/events.php
mod/ping.php
src/Content/Text/BBCode.php
src/Model/Event.php
src/Model/Item.php
src/Model/Profile.php
src/Module/Api/Friendica/Events/Index.php
src/Protocol/ActivityPub/Processor.php
src/Protocol/ActivityPub/Receiver.php
src/Protocol/ActivityPub/Transmitter.php
src/Protocol/Diaspora.php
static/dbstructure.config.php
static/dbview.config.php
view/templates/event_form.tpl
view/theme/duepuntozero/style.css
view/theme/frio/templates/event_form.tpl
view/theme/quattro/templates/event_form.tpl
view/theme/smoothly/style.css
view/theme/vier/templates/event_form.tpl

index 3e7e65e7263230b531738b5997848ce520be891f..e91c8b2f6934421e46c875f7cd5ce4c31749d86c 100644 (file)
@@ -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`,
index e369cb4ffdaad218a922ec8258175fcb7fae2353..6a851014e97fe2507fb60c3937401429ac4486bd 100644 (file)
@@ -439,12 +439,6 @@ Ex: Wed May 23 06:01:13 +0000 2007
 <td>Optional. Location.</td>
 </tr>
 
-<tr>
-<td><code>adjust</code></td>
-<td>Boolean</td>
-<td>???</td>
-</tr>
-
 <tr>
 <td><code>ignore</code></td>
 <td>Boolean</td>
index 5550d1a1a050f6bdbca8472b36de2c4aea01dd22..ff89b6ba2afc26a7dc498f8732a37e08c9929624 100644 (file)
@@ -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                |                |
index be0040d298c6dc9d17abe5d558a91a9d1dc82b5f..58a3b33269a70e8b5a1059f897ab6065d6f59abd 100644 (file)
@@ -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
index ac12d69b914c8e122bc50d1ba3eb2b750983ffab..75fe87e7463f3568062f5f9faeb80d875eeeadca 100644 (file)
@@ -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
index 75c87df44eab1883ff08f577a8dfa52546315511..6ce322a4df4894ee767e5310c4ad460072986b74 100644 (file)
@@ -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::convert($sdt, $tz, 'UTC', 'Y');
-               $smonth = DateTimeFormat::convert($sdt, $tz, 'UTC', 'm');
-               $sday   = DateTimeFormat::convert($sdt, $tz, 'UTC', 'd');
+               $syear  = DateTimeFormat::local($sdt, 'Y');
+               $smonth = DateTimeFormat::local($sdt, 'm');
+               $sday   = DateTimeFormat::local($sdt, 'd');
 
-               $shour   = !empty($orig_event) ? DateTimeFormat::convert($sdt, $tz, 'UTC', 'H') : '00';
-               $sminute = !empty($orig_event) ? DateTimeFormat::convert($sdt, $tz, 'UTC', 'i') : '00';
+               $shour   = !empty($orig_event) ? DateTimeFormat::local($sdt, 'H') : '00';
+               $sminute = !empty($orig_event) ? DateTimeFormat::local($sdt, 'i') : '00';
 
-               $fyear  = DateTimeFormat::convert($fdt, $tz, 'UTC', 'Y');
-               $fmonth = DateTimeFormat::convert($fdt, $tz, 'UTC', 'm');
-               $fday   = DateTimeFormat::convert($fdt, $tz, 'UTC', 'd');
+               $fyear  = DateTimeFormat::local($fdt, 'Y');
+               $fmonth = DateTimeFormat::local($fdt, 'm');
+               $fday   = DateTimeFormat::local($fdt, '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'),
index 2036b8ec4160009e4e4f3c56867f79da77c6b356..216c883c64e7f9f9d826bfac9bee5d6a39d49fd3 100644 (file)
@@ -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 ++;
index ae7ace23470ff974da7de7e35d1aa3f356143b44..87db9fb063d8e776d53fcaad1d63dc36a7b64de3 100644 (file)
@@ -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);
                                }
 
index 331a77e3f1e8a1bd3d1f76aceda3bd94043f4568..ef2b55b68cdc2ae29d4868f21a2d7bbb544cee02 100644 (file)
@@ -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 .= '<div class="summary event-summary">' . BBCode::convertForUriId($uriid, Strings::escapeHtml($event['summary']), $simple) . '</div>' . "\r\n";
 
                $o .= '<div class="event-start"><span class="event-label">' . DI::l10n()->t('Starts:') . '</span>&nbsp;<span class="dtstart" title="'
-                       . DateTimeFormat::utc($event['start'], (!empty($event['adjust']) ? DateTimeFormat::ATOM : 'Y-m-d\TH:i:s'))
+                       . DateTimeFormat::local($event['start'], DateTimeFormat::ATOM)
                        . '" >' . $event_start
                        . '</span></div>' . "\r\n";
 
                if (!$event['nofinish']) {
                        $o .= '<div class="event-end" ><span class="event-label">' . DI::l10n()->t('Finishes:') . '</span>&nbsp;<span class="dtend" title="'
-                               . DateTimeFormat::utc($event['finish'], (!empty($event['adjust']) ? DateTimeFormat::ATOM : 'Y-m-d\TH:i:s'))
+                               . DateTimeFormat::local($event['finish'], DateTimeFormat::ATOM)
                                . '" >' . $event_end
                                . '</span></div>' . "\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);
index fbbd2eb673731b7bfe75e0c98caf35bd397bd79b..db1d088883b060fd32cff4ea6cb12fe5524e677d 100644 (file)
@@ -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',
index 4e984baa6f9ab52f3bbc917706c120a3dbd0230c..361f1a7e4b20305fbb73180a010e4dfb352a1577 100644 (file)
@@ -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;
 
index febbdea48e1b1e07d054eec2d00cef3097bd7f12..7103d1dff4d5d48db5993f95cfcbe164d8ceb374 100644 (file)
@@ -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'],
index 47ea6a1bde5db78b8626a3852012010de092ec3b..51a7ede2f2bbf7b12acbc9c98e32fa407a915a47 100644 (file)
@@ -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'];
index f094833060255c7acb9fe85d7df1f00eb52b82d5..431b6739ff0382d917e9cdde5d38c453f0ff3d58 100644 (file)
@@ -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');
index 375036d1c7bd7f0ae71f8405b44782558e97b86e..5c9142a5d392ae695766858da05f3fcb04c5fcec 100644 (file)
@@ -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;
        }
index ff1b1cb6a593273595355bc37a0d2c3cdb1a4328..84f0c6de8218b31d66bf874efbf822dbea60a44e 100644 (file)
@@ -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']));
index ef97c54f606141c3897160faeb8242266ddec022..8ea4ea1d0605b78de4a7686f557a9312cd81b1ab 100644 (file)
@@ -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"],
index 5b3e8b5826b9e6aadfd5ec3077d6328f5f332068..63215968b66e1eecd0681171d93616a9b9f77289 100644 (file)
                        "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"],
                        "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"],
index b22c3c64f402a3814230d2dfe95210e4b1e0c0d4..894d50fbbf783ce6aac0ad512ca210b2772b9334 100644 (file)
@@ -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}}
 
 
index ee99f47904b56fa9d1e37195bed5a84e7a414aec..f5b526c4812a6870bc27479fbbae525f16819b7c 100644 (file)
@@ -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;
 }
 
index 537f5243ca49778882e3362a1e4f0c89c0808760..cbefa04bc60a5ad11994be873a2b3444173658bd 100644 (file)
@@ -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}}
                        </div>
 
                        {{* checkbox to enable event sharing and the permissions tab *}}
index 8054ba876291c77a09d2f574e91c2afb5f0b1671..9ad1c8a39a3a5977ebc9d3efe7930b8fb57207cc 100644 (file)
@@ -15,8 +15,6 @@
        {{$f_dsel nofilter}}
 
        {{include file="field_checkbox.tpl" field=$nofinish}}
-
-       {{include file="field_checkbox.tpl" field=$adjust}}
        <hr>
        {{include file="field_input.tpl" field=$summary}}
        {{include file="field_textarea.tpl" field=array('desc', $d_text, $d_orig, "")}}
index 2ea3bd6208305e3fa61168cc3e879f5a2f54708b..7698b0d3d35e489c0ca0553833856ce61c1b7c06 100644 (file)
@@ -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;
 }
index a5604d9292f264ad299d8cde4a39ef3ec38180a0..1581fb6a8519811022e0e213915eef2eaad1f7d9 100644 (file)
@@ -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}}