[TikiWiki-commits] [Git][tikiwiki/tiki][30.x] [BP][FIX][REF] Calendar: restore event modals and fix filter form reload
"MAGENE Sem Joel \(@Jomagene\) via TikiWiki-cvs" <[email protected]>
| Newsgroups | gmane.comp.cms.tiki.cvs |
|---|---|
| Message-ID | <69c2d6684ae88_3b160d52887130@gitlab-sidekiq-low-urgency-cpu-bound-v2-75c94c99-s6jtp.mail> |
MAGENE Sem Joel pushed to branch 30.x at Tiki Wiki CMS Groupware / Tiki
Commits:
f1579fbf by MAGENE Sem Joel at 2026-03-24T18:14:10+00:00
[BP][FIX][REF] Calendar: restore event modals and fix filter form reload
---
* [FIX][REF] Calendar: restore event modals and fix filter form reload
---
* [FIX][REF] Calendar: restore event modals and fix filter form reload
See merge request tikiwiki/tiki!9783
(cherry picked from commit 27c2535db1ba2a8d25eafb76d9c14372408dde6f)
See merge request tikiwiki/tiki!9838
- - - - -
6 changed files:
- lib/calendar/calendarlib.php
- lib/wiki-plugins/wikiplugin_calendar.php
- modules/mod-func-calendar_new.php
- src/js/jquery-tiki/tiki-calendar.js
- templates/checkboxes_calendar_form.tpl
- tiki-calendar.php
Changes:
=====================================
lib/calendar/calendarlib.php
=====================================
@@ -177,6 +177,7 @@ class CalendarLib extends TikiLib
$canEditAnything = $canEditAnything || $calendar['perms']->add_events;
}
return [
+ 'timeFormat' => $prefs['display_12hr_clock'] === 'y',
'firstDayofWeek' => 0,//$firstDayofWeek,
'display_timezone' => $prefs['display_timezone'],
'language' => $prefs['language'],
=====================================
lib/wiki-plugins/wikiplugin_calendar.php
=====================================
@@ -130,10 +130,17 @@ function wikiplugin_calendar($data, $params)
$initialView = 'dayGridMonth';
}
- // Keep only calendars set as parameters
- $rawCalsData = array_filter($rawcals['data'], fn($current) => in_array($current['calendarId'], $params['calIds']));
- $calendarInitialParams = $calendarlib->generalParamsOfCalendar($rawCalsData);
+ $calendarInitialParams = $calendarlib->generalParamsOfCalendar($rawcals['data']);
$calendarInitialParams['initialView'] = $initialView;
+
+ if (! empty($params['calIds'])) {
+ $calendarInitialParams['calendars'] = array_intersect_key(
+ $calendarInitialParams['calendars'],
+ array_flip($params['calIds'])
+ );
+ }
+
+ $smarty->assign('eventCalendarParams', $calendarInitialParams);
$calendars = $calendarInitialParams['calendars'];
// set up list of groups
if (isset($_REQUEST["calIds"]) and is_array($_REQUEST["calIds"]) and count($_REQUEST["calIds"])) {
=====================================
modules/mod-func-calendar_new.php
=====================================
@@ -163,15 +163,18 @@ function module_calendar_new($mod_reference, $module_params)
}
$moduleCalendarFocusdate = date("Y-m-d");
- $rawcals['data'] = array_filter($rawcals['data'], fn($current) => in_array($current['calendarId'], $calIds));
-
$calendarInitialParams = $calendarlib->generalParamsOfCalendar($rawcals['data']);
$calendarInitialParams['initialView'] = $initialView;
+
+ if (! empty($calIds)) {
+ $calendarInitialParams['calendars'] = array_intersect_key(
+ $calendarInitialParams['calendars'],
+ array_flip($calIds)
+ );
+ }
+
+ $smarty->assign('eventCalendarParams', $calendarInitialParams);
$calendars = $calendarInitialParams['calendars'];
- $smarty->assign(
- 'eventCalendarParams',
- $calendarInitialParams
- );
// set up list of groups
if (isset($_REQUEST["calIds"]) and is_array($_REQUEST["calIds"]) and count($_REQUEST["calIds"])) {
=====================================
src/js/jquery-tiki/tiki-calendar.js
=====================================
@@ -18,7 +18,7 @@ $.fn.setupEventCalendar = function (
$(calendarEl).tikiModal(tr("Loading..."));
const openNewEventModal = (startStr, endStr = null) => {
if (isOpeningModal) return;
- const countCals = $("#filtercal ul li").length;
+ const countCals = $(".filtercal ul li").length;
if (countCals >= 1 || targetId != "calendar") {
isOpeningModal = true;
$(calendarEl).tikiModal(" "); // Use the container for the loading overlay
=====================================
templates/checkboxes_calendar_form.tpl
=====================================
@@ -1,6 +1,6 @@
{button _class="{$class}" _style="{$style}" href="#" _onclick="toggle('{$filterCal}');return false;" _text='{tr}Calendars{/tr}' _icon_name='eye' _type='info'}
<div class="d-inline-block">
- <form class="card" id="{$filterCal}" class="filtercal" method="get" action="{$returnURL}" name="f" style="display:none;">
+ <form class="card filtercal" id="{$filterCal}" method="get" action="{$returnURL}" name="f" style="display:none;">
<div class="card-header caltitle py-1 px-2">
<strong>{tr}Calendars{/tr}</strong>
<button type="button" class="btn-close float-end" onclick="toggle('{$filterCal}')" aria-hidden="true"></button>
=====================================
tiki-calendar.php
=====================================
@@ -88,29 +88,16 @@ if (empty($rawcals['data'])) {
Feedback::errorAndDie(tra("You do not have permission to view the calendar"), \Laminas\Http\Response::STATUS_CODE_401);
}
-$minHourOfDay = 12;
-$maxHourOfDay = 12;
-$startOfDayMinute = 0;
-$endOfDayMinute = 0;
-$calendars = [];
-$canEditAnything = false;
-
-foreach ($rawcals['data'] as $calendar) {
- $calendar['perms'] = Perms::get([ 'type' => 'calendar', 'object' => $calendar['calendarId']]);
-
- $calendars[$calendar['calendarId']] = $calendar;
-
- // for week and day views
- $startOfDayUnix = (int)($calendar['startday'] ?? $prefs['calendar_startday'] ?? 0);
- $startOfDayMinute = intdiv($startOfDayUnix % 3600, 60);
- $minHourOfDay = intdiv($startOfDayUnix, 3600);
-
- $endOfDayUnix = (int)($calendar['endday'] ?? 0);
- $endOfDayMinute = intdiv($endOfDayUnix % 3600, 60);
- $maxHourOfDay = intdiv($endOfDayUnix, 3600);
-
- $canEditAnything = $canEditAnything || $calendar['perms']->add_events;
-}
+$calendarInitialParams = $calendarlib->generalParamsOfCalendar($rawcals['data']);
+$calendarInitialParams['initialView'] = $_REQUEST['viewmode'] ?? 'dayGridMonth';
+$smarty->assign('eventCalendarParams', $calendarInitialParams);
+
+$calendars = $calendarInitialParams['calendars'];
+$canEditAnything = $calendarInitialParams['canEditAnything'];
+$minHourOfDay = (int)explode(':', $calendarInitialParams['minHourOfDay'])[0];
+$maxHourOfDay = (int)explode(':', $calendarInitialParams['maxHourOfDay'])[0];
+$startOfDayMinute = (int)explode(':', $calendarInitialParams['minHourOfDay'])[1];
+$endOfDayMinute = (int)explode(':', $calendarInitialParams['maxHourOfDay'])[1];
$rawsubs = $calendarlib->get_subscriptions($user);
foreach ($rawsubs['data'] as $sub) {
View it on GitLab: https://gitlab.com/tikiwiki/tiki/-/commit/f1579fbf8fd90bf2e061e8364020dba7dd46a1c7
--
View it on GitLab: https://gitlab.com/tikiwiki/tiki/-/commit/f1579fbf8fd90bf2e061e8364020dba7dd46a1c7
You're receiving this email because of your account on gitlab.com. Manage all notifications: https://gitlab.com/-/profile/notifications | Help: https://gitlab.com/help
_______________________________________________
TikiWiki-cvs mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/tikiwiki-cvs