]> git.mxchange.org Git - friendica.git/blobdiff - mod/events.php
Add attendance check to event reminder
[friendica.git] / mod / events.php
index a1ffcfc1c6d61ff17eb56400c9d068b4e191fad6..695dbb290fa7cab17129f676d9133d391059427b 100644 (file)
@@ -3,17 +3,18 @@
  * @file mod/events.php
  * @brief The events module
  */
+
 use Friendica\App;
 use Friendica\Content\Nav;
-use Friendica\Core\Config;
+use Friendica\Core\L10n;
 use Friendica\Core\System;
 use Friendica\Core\Worker;
 use Friendica\Database\DBM;
-use Friendica\Model\Profile;
 use Friendica\Model\Item;
+use Friendica\Model\Profile;
+use Friendica\Util\DateTimeFormat;
+use Friendica\Util\Temporal;
 
-require_once 'include/bbcode.php';
-require_once 'include/datetime.php';
 require_once 'include/event.php';
 require_once 'include/items.php';
 
@@ -74,14 +75,14 @@ function events_post(App $a) {
        }
 
        if ($adjust) {
-               $start = datetime_convert(date_default_timezone_get(), 'UTC', $start);
+               $start = DateTimeFormat::convert($start, 'UTC', date_default_timezone_get());
                if (! $nofinish) {
-                       $finish = datetime_convert(date_default_timezone_get(), 'UTC', $finish);
+                       $finish = DateTimeFormat::convert($finish, 'UTC', date_default_timezone_get());
                }
        } else {
-               $start = datetime_convert('UTC', 'UTC', $start);
+               $start = DateTimeFormat::utc($start);
                if (! $nofinish) {
-                       $finish = datetime_convert('UTC', 'UTC', $finish);
+                       $finish = DateTimeFormat::utc($finish);
                }
        }
 
@@ -99,18 +100,18 @@ function events_post(App $a) {
        $onerror_url = System::baseUrl() . "/events/" . $action . "?summary=$summary&description=$desc&location=$location&start=$start_text&finish=$finish_text&adjust=$adjust&nofinish=$nofinish";
 
        if (strcmp($finish, $start) < 0 && !$nofinish) {
-               notice(t('Event can not end before it has started.') . EOL);
+               notice(L10n::t('Event can not end before it has started.') . EOL);
                if (intval($_REQUEST['preview'])) {
-                       echo t('Event can not end before it has started.');
+                       echo L10n::t('Event can not end before it has started.');
                        killme();
                }
                goaway($onerror_url);
        }
 
        if ((! $summary) || ($start === NULL_DATE)) {
-               notice(t('Event title and start time are required.') . EOL);
+               notice(L10n::t('Event title and start time are required.') . EOL);
                if (intval($_REQUEST['preview'])) {
-                       echo t('Event title and start time are required.');
+                       echo L10n::t('Event title and start time are required.');
                        killme();
                }
                goaway($onerror_url);
@@ -191,7 +192,7 @@ function events_post(App $a) {
 function events_content(App $a) {
 
        if (! local_user()) {
-               notice(t('Permission denied.') . EOL);
+               notice(L10n::t('Permission denied.') . EOL);
                return;
        }
 
@@ -274,8 +275,8 @@ function events_content(App $a) {
        // The view mode part is similiar to /mod/cal.php
        if ($mode == 'view') {
 
-               $thisyear  = datetime_convert('UTC', date_default_timezone_get(), 'now', 'Y');
-               $thismonth = datetime_convert('UTC', date_default_timezone_get(), 'now', 'm');
+               $thisyear  = DateTimeFormat::localNow('Y');
+               $thismonth = DateTimeFormat::localNow('m');
                if (! $y) {
                        $y = intval($thisyear);
                }
@@ -308,7 +309,7 @@ function events_content(App $a) {
                        $prevyear --;
                }
 
-               $dim    = get_dim($y, $m);
+               $dim    = Temporal::getDaysInMonth($y, $m);
                $start  = sprintf('%d-%d-%d %d:%d:%d', $y, $m, 1, 0, 0, 0);
                $finish = sprintf('%d-%d-%d %d:%d:%d', $y, $m, $dim, 23, 59, 59);
 
@@ -321,11 +322,11 @@ function events_content(App $a) {
                        }
                }
 
-               $start  = datetime_convert('UTC', 'UTC', $start);
-               $finish = datetime_convert('UTC', 'UTC', $finish);
+               $start  = DateTimeFormat::utc($start);
+               $finish = DateTimeFormat::utc($finish);
 
-               $adjust_start  = datetime_convert('UTC', date_default_timezone_get(), $start);
-               $adjust_finish = datetime_convert('UTC', date_default_timezone_get(), $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 = [
@@ -349,7 +350,7 @@ function events_content(App $a) {
                if (DBM::is_result($r)) {
                        $r = sort_by_date($r);
                        foreach ($r as $rr) {
-                               $j = (($rr['adjust']) ? datetime_convert('UTC', date_default_timezone_get(), $rr['start'], 'j') : datetime_convert('UTC', 'UTC', $rr['start'], 'j'));
+                               $j = $rr['adjust'] ? DateTimeFormat::local($rr['start'], 'j') : DateTimeFormat::utc($rr['start'], 'j');
                                if (! x($links,$j)) {
                                        $links[$j] = System::baseUrl() . '/' . $a->cmd . '#link-' . $j;
                                }
@@ -388,20 +389,20 @@ function events_content(App $a) {
                $o = replace_macros($tpl, [
                        '$baseurl'   => System::baseUrl(),
                        '$tabs'      => $tabs,
-                       '$title'     => t('Events'),
-                       '$view'      => t('View'),
-                       '$new_event' => [System::baseUrl() . '/events/new', t('Create New Event'), '', ''],
-                       '$previous'  => [System::baseUrl() . '/events/$prevyear/$prevmonth', t('Previous'), '', ''],
-                       '$next'      => [System::baseUrl() . '/events/$nextyear/$nextmonth', t('Next'), '', ''],
-                       '$calendar'  => cal($y, $m, $links, ' eventcal'),
+                       '$title'     => L10n::t('Events'),
+                       '$view'      => L10n::t('View'),
+                       '$new_event' => [System::baseUrl() . '/events/new', L10n::t('Create New Event'), '', ''],
+                       '$previous'  => [System::baseUrl() . '/events/$prevyear/$prevmonth', L10n::t('Previous'), '', ''],
+                       '$next'      => [System::baseUrl() . '/events/$nextyear/$nextmonth', L10n::t('Next'), '', ''],
+                       '$calendar'  => Temporal::getCalendarTable($y, $m, $links, ' eventcal'),
 
                        '$events'    => $events,
 
-                       '$today' => t('today'),
-                       '$month' => t('month'),
-                       '$week'  => t('week'),
-                       '$day'   => t('day'),
-                       '$list'  => t('list'),
+                       '$today' => L10n::t('today'),
+                       '$month' => L10n::t('month'),
+                       '$week'  => L10n::t('week'),
+                       '$day'   => L10n::t('day'),
+                       '$list'  => L10n::t('list'),
                ]);
 
                if (x($_GET, 'id')) {
@@ -463,19 +464,19 @@ function events_content(App $a) {
                        $tz = (($orig_event['adjust']) ? date_default_timezone_get() : 'UTC');
                }
 
-               $syear  = datetime_convert('UTC', $tz, $sdt, 'Y');
-               $smonth = datetime_convert('UTC', $tz, $sdt, 'm');
-               $sday   = datetime_convert('UTC', $tz, $sdt, 'd');
+               $syear  = DateTimeFormat::convert($sdt, $tz, 'UTC', 'Y');
+               $smonth = DateTimeFormat::convert($sdt, $tz, 'UTC', 'm');
+               $sday   = DateTimeFormat::convert($sdt, $tz, 'UTC', 'd');
 
-               $shour   = ((x($orig_event)) ? datetime_convert('UTC', $tz, $sdt, 'H') : 0);
-               $sminute = ((x($orig_event)) ? datetime_convert('UTC', $tz, $sdt, 'i') : 0);
+               $shour   = ((x($orig_event)) ? DateTimeFormat::convert($sdt, $tz, 'UTC', 'H') : '00');
+               $sminute = ((x($orig_event)) ? DateTimeFormat::convert($sdt, $tz, 'UTC', 'i') : '00');
 
-               $fyear  = datetime_convert('UTC', $tz, $fdt, 'Y');
-               $fmonth = datetime_convert('UTC', $tz, $fdt, 'm');
-               $fday   = datetime_convert('UTC', $tz, $fdt, 'd');
+               $fyear  = DateTimeFormat::convert($fdt, $tz, 'UTC', 'Y');
+               $fmonth = DateTimeFormat::convert($fdt, $tz, 'UTC', 'm');
+               $fday   = DateTimeFormat::convert($fdt, $tz, 'UTC', 'd');
 
-               $fhour   = ((x($orig_event)) ? datetime_convert('UTC', $tz, $fdt, 'H') : 0);
-               $fminute = ((x($orig_event)) ? datetime_convert('UTC', $tz, $fdt, 'i') : 0);
+               $fhour   = ((x($orig_event)) ? DateTimeFormat::convert($fdt, $tz, 'UTC', 'H') : '00');
+               $fminute = ((x($orig_event)) ? DateTimeFormat::convert($fdt, $tz, 'UTC', 'i') : '00');
 
                require_once 'include/acl_selectors.php' ;
 
@@ -505,34 +506,34 @@ function events_content(App $a) {
                        '$deny_cid'  => json_encode($perms['deny_cid']),
                        '$deny_gid'  => json_encode($perms['deny_gid']),
 
-                       '$title' => t('Event details'),
-                       '$desc' => t('Starting date and Title are required.'),
-                       '$s_text' => t('Event Starts:') . ' <span class="required" title="' . t('Required') . '">*</span>',
-                       '$s_dsel' => datetimesel(new DateTime(), DateTime::createFromFormat('Y', $syear+5), DateTime::createFromFormat('Y-m-d H:i', "$syear-$smonth-$sday $shour:$sminute"), t('Event Starts:'), 'start_text', true, true, '', '', true),
-                       '$n_text' => t('Finish date/time is not known or not relevant'),
+                       '$title' => L10n::t('Event details'),
+                       '$desc' => L10n::t('Starting date and Title are required.'),
+                       '$s_text' => L10n::t('Event Starts:') . ' <span class="required" title="' . L10n::t('Required') . '">*</span>',
+                       '$s_dsel' => Temporal::getDateTimeField(new DateTime(), DateTime::createFromFormat('Y', $syear+5), DateTime::createFromFormat('Y-m-d H:i', "$syear-$smonth-$sday $shour:$sminute"), L10n::t('Event Starts:'), 'start_text', true, true, '', '', true),
+                       '$n_text' => L10n::t('Finish date/time is not known or not relevant'),
                        '$n_checked' => $n_checked,
-                       '$f_text' => t('Event Finishes:'),
-                       '$f_dsel' => datetimesel(new DateTime(), DateTime::createFromFormat('Y', $fyear+5), DateTime::createFromFormat('Y-m-d H:i', "$fyear-$fmonth-$fday $fhour:$fminute"), t('Event Finishes:'), 'finish_text', true, true, 'start_text'),
-                       '$a_text' => t('Adjust for viewer timezone'),
+                       '$f_text' => L10n::t('Event Finishes:'),
+                       '$f_dsel' => Temporal::getDateTimeField(new DateTime(), DateTime::createFromFormat('Y', $fyear+5), DateTime::createFromFormat('Y-m-d H:i', "$fyear-$fmonth-$fday $fhour:$fminute"), L10n::t('Event Finishes:'), 'finish_text', true, true, 'start_text'),
+                       '$a_text' => L10n::t('Adjust for viewer timezone'),
                        '$a_checked' => $a_checked,
-                       '$d_text' => t('Description:'),
+                       '$d_text' => L10n::t('Description:'),
                        '$d_orig' => $d_orig,
-                       '$l_text' => t('Location:'),
+                       '$l_text' => L10n::t('Location:'),
                        '$l_orig' => $l_orig,
-                       '$t_text' => t('Title:') . ' <span class="required" title="' . t('Required') . '">*</span>',
+                       '$t_text' => L10n::t('Title:') . ' <span class="required" title="' . L10n::t('Required') . '">*</span>',
                        '$t_orig' => $t_orig,
-                       '$summary' => ['summary', t('Title:'), $t_orig, '', '*'],
-                       '$sh_text' => t('Share this event'),
-                       '$share' => ['share', t('Share this event'), $sh_checked, '', $sh_disabled],
+                       '$summary' => ['summary', L10n::t('Title:'), $t_orig, '', '*'],
+                       '$sh_text' => L10n::t('Share this event'),
+                       '$share' => ['share', L10n::t('Share this event'), $sh_checked, '', $sh_disabled],
                        '$sh_checked' => $sh_checked,
-                       '$nofinish' => ['nofinish', t('Finish date/time is not known or not relevant'), $n_checked],
-                       '$adjust' => ['adjust', t('Adjust for viewer timezone'), $a_checked],
-                       '$preview' => t('Preview'),
+                       '$nofinish' => ['nofinish', L10n::t('Finish date/time is not known or not relevant'), $n_checked],
+                       '$adjust' => ['adjust', L10n::t('Adjust for viewer timezone'), $a_checked],
+                       '$preview' => L10n::t('Preview'),
                        '$acl' => $acl,
-                       '$submit' => t('Submit'),
-                       '$basic' => t('Basic'),
-                       '$advanced' => t('Advanced'),
-                       '$permissions' => t('Permissions'),
+                       '$submit' => L10n::t('Submit'),
+                       '$basic' => L10n::t('Basic'),
+                       '$advanced' => L10n::t('Advanced'),
+                       '$permissions' => L10n::t('Permissions'),
 
                ]);
 
@@ -548,13 +549,13 @@ function events_content(App $a) {
 
                // Delete only real events (no birthdays)
                if (DBM::is_result($ev) && $ev[0]['type'] == 'event') {
-                       $del = Item::delete($ev[0]['itemid']);
+                       $del = Item::deleteById($ev[0]['itemid']);
                }
 
                if ($del == 0) {
-                       notice(t('Failed to remove event' ) . EOL);
+                       notice(L10n::t('Failed to remove event') . EOL);
                } else {
-                       info(t('Event removed') . EOL);
+                       info(L10n::t('Event removed') . EOL);
                }
 
                goaway(System::baseUrl() . '/events');