diff --git a/src/Model/Event.php b/src/Model/Event.php
index 8745a787f6..6f1b29a6c3 100644
--- a/src/Model/Event.php
+++ b/src/Model/Event.php
@@ -496,12 +496,45 @@ class Event
return array_values($dates2);
}
+ /**
+ * Returns the owner array of a given nickname
+ * Additionally, it can check if the owner array is selectable
+ *
+ * @param string $nickname
+ * @param bool $check
+ *
+ * @return array the owner array
+ * @throws NotFoundException The given nickname does not exist
+ * @throws UnauthorizedException The access for the given nickname is restricted
+ */
+ public static function getOwnerForNickname(string $nickname, bool $check = true): array
+ {
+ $owner = User::getOwnerDataByNick($nickname);
+ if (empty($owner)) {
+ throw new NotFoundException(DI::l10n()->t('User not found.'));
+ }
+
+ if ($check) {
+ $contact_id = DI::userSession()->getRemoteContactID($owner['uid']);
+
+ $remote_contact = $contact_id && DBA::exists('contact', ['id' => $contact_id, 'uid' => $owner['uid']]);
+
+ $is_owner = DI::userSession()->getLocalUserId() == $owner['uid'];
+
+ if ($owner['hidewall'] && !$is_owner && !$remote_contact) {
+ throw new UnauthorizedException(DI::l10n()->t('Access to this profile has been restricted.'));
+ }
+ }
+
+ return $owner;
+ }
+
/**
* Get an event by its event ID.
*
- * @param int $owner_uid The User ID of the owner of the event
- * @param int $event_id The ID of the event in the event table
- * @param string $nickname a possible nickname to search for instead of the own uid
+ * @param int $owner_uid The User ID of the owner of the event
+ * @param int $event_id The ID of the event in the event table
+ * @param string|null $nickname a possible nickname to search for instead of the owner uid
* @return array Query result
* @throws \Exception
*/
@@ -538,39 +571,6 @@ class Event
}
}
- /**
- * Returns the owner array of a given nickname
- * Additionally, it can check if the owner array is selectable
- *
- * @param string $nickname
- * @param bool $check
- *
- * @return array the owner array
- * @throws NotFoundException The given nickname does not exist
- * @throws UnauthorizedException The access for the given nickname is restricted
- */
- public static function getOwnerForNickname(string $nickname, bool $check = true): array
- {
- $owner = User::getOwnerDataByNick($nickname);
- if (empty($owner)) {
- throw new NotFoundException(DI::l10n()->t('User not found.'));
- }
-
- if ($check) {
- $contact_id = DI::userSession()->getRemoteContactID($owner['uid']);
-
- $remote_contact = $contact_id && DBA::exists('contact', ['id' => $contact_id, 'uid' => $owner['uid']]);
-
- $is_owner = DI::userSession()->getLocalUserId() == $owner['uid'];
-
- if ($owner['hidewall'] && !$is_owner && !$remote_contact) {
- throw new UnauthorizedException(DI::l10n()->t('Access to this profile has been restricted.'));
- }
- }
-
- return $owner;
- }
-
/**
* Get all events in a specific time frame.
*
@@ -587,7 +587,7 @@ class Event
public static function getListByDate(int $owner_uid, string $start = null, string $finish = null, bool $ignore = false, string $nickname = null): array
{
if (!empty($nickname)) {
- $owner = static::getOwnerForNickname($nickname, true);
+ $owner = static::getOwnerForNickname($nickname);
$owner_uid = $owner['uid'];
// get the permissions
@@ -608,15 +608,6 @@ class Event
$y = intval(DateTimeFormat::localNow('Y'));
$m = intval(DateTimeFormat::localNow('m'));
- // Put some limit on dates. The PHP date functions don't seem to do so well before 1900.
- if ($y < 1901) {
- $y = 1900;
- }
-
- if ($y > 2099) {
- $y = 2100;
- }
-
if (empty($start)) {
$start = sprintf('%d-%d-%d %d:%d:%d', $y, $m, 1, 0, 0, 0);
} else {
@@ -671,7 +662,7 @@ class Event
$fmt = DI::l10n()->t('l, F j');
$item = Post::selectFirst(['plink', 'author-name', 'author-network', 'author-id', 'author-avatar', 'author-link', 'private', 'uri-id'], ['id' => $event['itemid']]);
- if (!DBA::isResult($item)) {
+ if (empty($item)) {
// Using default values when no item had been found
$item = ['plink' => '', 'author-name' => '', 'author-avatar' => '', 'author-link' => '', 'private' => Item::PUBLIC, 'uri-id' => ($event['uri-id'] ?? 0)];
}
@@ -695,9 +686,9 @@ class Event
$copy = null;
$drop = null;
if (DI::userSession()->getLocalUserId() && DI::userSession()->getLocalUserId() == $event['uid'] && $event['type'] == 'event') {
- $edit = !$event['cid'] ? [DI::baseUrl() . '/calendar/event/edit/' . $event['id'], DI::l10n()->t('Edit event') , '', ''] : null;
- $copy = !$event['cid'] ? [DI::baseUrl() . '/calendar/event/copy/' . $event['id'] , DI::l10n()->t('Duplicate event'), '', ''] : null;
- $drop = [DI::baseUrl() . '/calendar/api/delete/' . $event['id'] , DI::l10n()->t('Delete event') , '', ''];
+ $edit = !$event['cid'] ? ['calendar/event/edit/' . $event['id'], DI::l10n()->t('Edit event') , '', ''] : null;
+ $copy = !$event['cid'] ? ['calendar/event/copy/' . $event['id'] , DI::l10n()->t('Duplicate event'), '', ''] : null;
+ $drop = ['calendar/api/delete/' . $event['id'] , DI::l10n()->t('Delete event') , '', ''];
}
$title = BBCode::convertForUriId($event['uri-id'], Strings::escapeHtml($event['summary']));
diff --git a/src/Module/Calendar/Event/API.php b/src/Module/Calendar/Event/API.php
index b11da27e3c..907a8ef02e 100644
--- a/src/Module/Calendar/Event/API.php
+++ b/src/Module/Calendar/Event/API.php
@@ -184,7 +184,6 @@ class API extends BaseModule
if (strcmp($finish, $start) < 0 && !$noFinish) {
if ($isPreview) {
System::httpExit($this->t('Event can not end before it has started.'));
- return;
} else {
$this->sysMessages->addNotice($this->t('Event can not end before it has started.'));
$this->baseUrl->redirect($redirectOnError);
@@ -194,7 +193,6 @@ class API extends BaseModule
if (empty($summary) || ($start === DBA::NULL_DATETIME)) {
if ($isPreview) {
System::httpExit($this->t('Event title and start time are required.'));
- return;
} else {
$this->sysMessages->addNotice($this->t('Event title and start time are required.'));
$this->baseUrl->redirect($redirectOnError);
@@ -252,7 +250,6 @@ class API extends BaseModule
if (intval($request['preview'])) {
System::httpExit(Event::getHTML($datarray));
- return;
}
$eventId = Event::store($datarray);
@@ -269,7 +266,7 @@ class API extends BaseModule
}
if (!$cid && $uriId) {
- Worker::add(Worker::PRIORITY_HIGH, "Notifier", Delivery::POST, $uriId, $uid);
+ Worker::add(Worker::PRIORITY_HIGH, 'Notifier', Delivery::POST, $uriId, $uid);
}
$this->baseUrl->redirect('calendar');
diff --git a/src/Module/Calendar/Event/Form.php b/src/Module/Calendar/Event/Form.php
index b458f95d78..9650e4b5c9 100644
--- a/src/Module/Calendar/Event/Form.php
+++ b/src/Module/Calendar/Event/Form.php
@@ -113,8 +113,8 @@ class Form extends BaseModule
$this->page['htmlhead'] .= Renderer::replaceMacros($htpl, [
'$calendar_api' => $this->baseUrl . '/calendar/api/get',
'$event_api' => $this->baseUrl . '/calendar/event/show',
- '$modparams' => 2,
- '$i18n' => $i18n,
+ '$modparams' => 2,
+ '$i18n' => $i18n,
]);
$share_checked = '';
@@ -152,18 +152,18 @@ class Form extends BaseModule
$n_checked = (!empty($orig_event['nofinish']) ? ' checked="checked" ' : '');
- $t_orig = $orig_event['summary'] ?? '';
- $d_orig = $orig_event['desc'] ?? '';
+ $t_orig = $orig_event['summary'] ?? '';
+ $d_orig = $orig_event['desc'] ?? '';
$l_orig = $orig_event['location'] ?? '';
- $eid = $orig_event['id'] ?? 0;
- $cid = $orig_event['cid'] ?? 0;
- $uri = $orig_event['uri'] ?? '';
+ $eid = $orig_event['id'] ?? 0;
+ $cid = $orig_event['cid'] ?? 0;
+ $uri = $orig_event['uri'] ?? '';
if ($cid || $mode === 'edit') {
$share_disabled = 'disabled="disabled"';
}
- $sdt = $orig_event['start'] ?? 'now';
+ $sdt = $orig_event['start'] ?? 'now';
$fdt = $orig_event['finish'] ?? 'now';
$syear = DateTimeFormat::local($sdt, 'Y');
@@ -198,15 +198,15 @@ class Form extends BaseModule
$tpl = Renderer::getMarkupTemplate('calendar/event_form.tpl');
return Renderer::replaceMacros($tpl, [
- '$post' => $this->baseUrl . '/calendar/api/create',
+ '$post' => 'calendar/api/create',
'$eid' => $eid,
'$cid' => $cid,
'$uri' => $uri,
- '$title' => $this->t('Event details'),
- '$desc' => $this->t('Starting date and Title are required.'),
- '$s_text' => $this->t('Event Starts:') . ' *',
- '$s_dsel' => Temporal::getDateTimeField(
+ '$title' => $this->t('Event details'),
+ '$desc' => $this->t('Starting date and Title are required.'),
+ '$s_text' => $this->t('Event Starts:') . ' *',
+ '$s_dsel' => Temporal::getDateTimeField(
new \DateTime(),
\DateTime::createFromFormat('Y', intval($syear) + 5),
\DateTime::createFromFormat('Y-m-d H:i', "$syear-$smonth-$sday $shour:$sminute"),
@@ -218,10 +218,10 @@ class Form extends BaseModule
'',
true
),
- '$n_text' => $this->t('Finish date/time is not known or not relevant'),
- '$n_checked' => $n_checked,
- '$f_text' => $this->t('Event Finishes:'),
- '$f_dsel' => Temporal::getDateTimeField(
+ '$n_text' => $this->t('Finish date/time is not known or not relevant'),
+ '$n_checked' => $n_checked,
+ '$f_text' => $this->t('Event Finishes:'),
+ '$f_dsel' => Temporal::getDateTimeField(
new \DateTime(),
\DateTime::createFromFormat('Y', intval($fyear) + 5),
\DateTime::createFromFormat('Y-m-d H:i', "$fyear-$fmonth-$fday $fhour:$fminute"),
@@ -231,6 +231,7 @@ class Form extends BaseModule
true,
'start_text'
),
+
'$d_text' => $this->t('Description:'),
'$d_orig' => $d_orig,
'$l_text' => $this->t('Location:'),
@@ -251,3 +252,4 @@ class Form extends BaseModule
]);
}
}
+
diff --git a/src/Module/Calendar/Event/Show.php b/src/Module/Calendar/Event/Show.php
index 2c606cf300..c70a680fdc 100644
--- a/src/Module/Calendar/Event/Show.php
+++ b/src/Module/Calendar/Event/Show.php
@@ -68,8 +68,7 @@ class Show extends BaseModule
$event_item = [];
foreach ($tplEvent['item'] as $k => $v) {
- $k = str_replace('-', '_', $k);
- $event_item[$k] = $v;
+ $event_item[str_replace('-', '_', $k)] = $v;
}
$tplEvent['item'] = $event_item;
diff --git a/src/Module/Calendar/Show.php b/src/Module/Calendar/Show.php
index 99a38fadfb..039bb2692c 100644
--- a/src/Module/Calendar/Show.php
+++ b/src/Module/Calendar/Show.php
@@ -75,10 +75,10 @@ class Show extends BaseModule
$htpl = Renderer::getMarkupTemplate('calendar/calendar_head.tpl');
$this->page['htmlhead'] .= Renderer::replaceMacros($htpl, [
- '$calendar_api' => $this->baseUrl . '/calendar/api/get' . (!empty($this->parameters['nickname']) ? '/' . $this->parameters['nickname'] : ''),
- '$event_api' => $this->baseUrl . '/calendar/event/show' . (!empty($this->parameters['nickname']) ? '/' . $this->parameters['nickname'] : ''),
- '$modparams' => 2,
- '$i18n' => $i18n,
+ '$calendar_api' => 'calendar/api/get' . (!empty($this->parameters['nickname']) ? '/' . $this->parameters['nickname'] : ''),
+ '$event_api' => 'calendar/event/show' . (!empty($this->parameters['nickname']) ? '/' . $this->parameters['nickname'] : ''),
+ '$modparams' => 2,
+ '$i18n' => $i18n,
]);
$tabs = '';
@@ -119,7 +119,7 @@ class Show extends BaseModule
'$tabs' => $tabs,
'$title' => $this->t('Events'),
'$view' => $this->t('View'),
- '$new_event' => [$this->baseUrl . '/calendar/event/new', $this->t('Create New Event'), '', ''],
+ '$new_event' => ['calendar/event/new', $this->t('Create New Event'), '', ''],
'$today' => $this->t('today'),
'$month' => $this->t('month'),
diff --git a/view/templates/calendar/calendar_head.tpl b/view/templates/calendar/calendar_head.tpl
index 082de6c30a..50fb3fe4dd 100644
--- a/view/templates/calendar/calendar_head.tpl
+++ b/view/templates/calendar/calendar_head.tpl
@@ -1,7 +1,7 @@