[TikiWiki-commits] [Git][tikiwiki/tiki][27.x] [BP][FIX] Calendar: fix undefined session-key warnings and null-description deprecations
"MAGENE Sem Joel \(@Jomagene\) via TikiWiki-cvs" <[email protected]>
| Newsgroups | gmane.comp.cms.tiki.cvs |
|---|---|
| Message-ID | <6a1a950bdd326_38197a30706f1@gitlab-sidekiq-low-urgency-cpu-bound-v2-985c55b68-lq2ns.mail> |
MAGENE Sem Joel pushed to branch 27.x at Tiki Wiki CMS Groupware / Tiki
Commits:
ed2c5472 by MAGENE Sem Joel at 2026-05-30T07:36:27+00:00
[BP][FIX] Calendar: fix undefined session-key warnings and null-description deprecations
---
* [BP][FIX] Calendar: fix undefined session-key warnings and null-description deprecations
---
* [BP][FIX] Calendar: fix undefined session-key warnings and null-description deprecations
---
* [FIX] Calendar: fix undefined session-key warnings and null-description deprecations
---
* [FIX] Calendar: fix undefined session-key warnings and null-description deprecations
See merge request tikiwiki/tiki!10406
(cherry picked from commit c45c8afba920f505dbad3c688514929cc5776db1)
See merge request tikiwiki/tiki!10410
(cherry picked from commit f5e520ee39398f0c67c32bb37fa3482b988f49f9)
See merge request tikiwiki/tiki!10411
(cherry picked from commit 06a458d18214661d43ee6037cfefcdbf3f6106f5)
See merge request tikiwiki/tiki!10412
- - - - -
3 changed files:
- lib/calendar/calendarlib.php
- lib/wiki-plugins/wikiplugin_calendar.php
- modules/mod-func-calendar_new.php
Changes:
=====================================
lib/calendar/calendarlib.php
=====================================
@@ -685,6 +685,9 @@ class CalendarLib extends TikiLib
$res = $result->fetchRow();
if ($res) {
+ if ($res['description'] === null) {
+ $res['description'] = '';
+ }
$query
= "select `username`, `role`, `partstat` from `tiki_calendar_roles` where `calitemId`=? order by `role`";
$rezult = $this->query($query, [(int)$calitemId]);
@@ -870,6 +873,10 @@ class CalendarLib extends TikiLib
}
$data['user'] = $user;
+ // Enforce calendar-item invariant: description is always a string.
+ if (! array_key_exists('description', $data) || $data['description'] === null) {
+ $data['description'] = '';
+ }
$realcolumns = ['calitemId', 'calendarId', 'start', 'end', 'locationId', 'categoryId', 'nlId', 'priority', 'uri', 'uid',
'status', 'url', 'lang', 'name', 'description', 'user', 'created', 'lastmodif', 'allday', 'recurrenceId', 'changed', 'recurrenceStart'];
=====================================
lib/wiki-plugins/wikiplugin_calendar.php
=====================================
@@ -116,6 +116,11 @@ function wikiplugin_calendar($data, $params)
'view_calendar'
);
+ if (empty($rawcals['data'])) {
+ Feedback::error(tra("You do not have permission to view the calendar"));
+ return;
+ }
+
$focusdate = date("Y-m-d");
switch ($params['viewmode']) {
case 'week':
@@ -172,14 +177,15 @@ function wikiplugin_calendar($data, $params)
}
$checkedCalIds = [];
- if (is_array($_SESSION['PluginCalendarViewGroups'])) {
+ $pluginCalendarViewGroups = $_SESSION['PluginCalendarViewGroups'] ?? null;
+ if (is_array($pluginCalendarViewGroups)) {
foreach ($calendars as $calendarId => $calendar) {
- if (in_array($calendarId, $_SESSION['PluginCalendarViewGroups'])) {
+ if (in_array($calendarId, $pluginCalendarViewGroups)) {
$checkedCalIds[] = $calendarId;
}
}
- $displayedcals = $_SESSION['PluginCalendarViewGroups'];
- $pluginCalendarIds = implode(',', $_SESSION['PluginCalendarViewGroups']);
+ $displayedcals = $pluginCalendarViewGroups;
+ $pluginCalendarIds = implode(',', $pluginCalendarViewGroups);
} else {
$displayedcals = $params['calIds'];
$checkedCalIds = $params['calIds'];
=====================================
modules/mod-func-calendar_new.php
=====================================
@@ -198,14 +198,15 @@ function module_calendar_new($mod_reference, $module_params)
}
$checkedCalIds = [];
- if (is_array($_SESSION['ModuleCalendarViewGroups'])) {
+ $moduleCalendarViewGroups = $_SESSION['ModuleCalendarViewGroups'] ?? null;
+ if (is_array($moduleCalendarViewGroups)) {
foreach ($calendars as $calendarId => $calendar) {
- if (in_array($calendarId, $_SESSION['ModuleCalendarViewGroups'])) {
+ if (in_array($calendarId, $moduleCalendarViewGroups)) {
$checkedCalIds[] = $calendarId;
}
}
- $displayedcals = $_SESSION['ModuleCalendarViewGroups'];
- $moduleCalendarIds = implode(',', $_SESSION['ModuleCalendarViewGroups']);
+ $displayedcals = $moduleCalendarViewGroups;
+ $moduleCalendarIds = implode(',', $moduleCalendarViewGroups);
} else {
$displayedcals = $calIds;
$checkedCalIds = $calIds;
View it on GitLab: https://gitlab.com/tikiwiki/tiki/-/commit/ed2c5472d4d1adceaf0dc69dabcd788349c2784e
--
View it on GitLab: https://gitlab.com/tikiwiki/tiki/-/commit/ed2c5472d4d1adceaf0dc69dabcd788349c2784e
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