Skip to content

Commit 47154a9

Browse files
c-knofsroenchenfhelferHufschmidtmjansenDatabay
authored
Release 9.13 (#52)
* #44548 - Fix tracking issue preventing lp update Fix an issue that can prevent learning progress being recorded when unloading scormplayer. Mantis: https://mantis.ilias.de/view.php?id=44548 * Fix copyright issue * Bugfix 043739: Group Links in Dashboard Error * [ilias][fix] ilCalendarCategories should only cache instances that it indents to load again * Tracking: Fix access to undefined array index on export * add dc to learn statistic * Tracking/ChangeEvent: Fix tracking read events might terminate PHP script silently * Membership: Fix accessing undefined array keys See: https://mantis.ilias.de/view.php?id=45050 * [Metadata] performance issue with unnecessary query on il_meta_rights https://mantis.ilias.de/view.php?id=45131 * Fix getTypeByTest for multiple initial tests Wrong test type was returned if test was qualifying and multiple initial tests were used. Added a check tor type for multiple qualifying tests, too adjusted copyright notice * Skill: move db calls from root to leaf of skill service tree * ECS: add null handler for ilRemoteObjectBaseListGUI._lookupOrganization * fixed style editing of bullet lists * Update composer.lock and package-lock.json after release v9.10 * Fix name of database property in course member update * copage: reinstantiate positioning context on grid cell level we had in ilias 8 * Skill: move db calls from root to leaf of skill service tree Part 2 * Skill: copyright fix * [FIX] #37528 UI: add `File\Dropzone` cancelation of uploads. (ILIAS-eLearning#9557) * Fixes https://mantis.ilias.de/view.php?id=37528 * Adds `il.UI.Input.file.cancelFileUpload()` to cancel active file uploads * Enables the `File\Dropzone` cancel button during uploads * [FIX] some media not streamed properly in egde/chrome * Revert "[FIX] some media not streamed properly in egde/chrome" This reverts commit 2706826. * Prevent reset of submitted passes inside tst_active if extra time is added * Fixes error when trying to apply old nr of tries in personal test settings * Test: Add Check for Read-Access to Autosave * Test: Fix Rights Check on Autosave See: https://mantis.ilias.de/view.php?id=45200 * Test: Fix Export of Reset Processing Time See: https://mantis.ilias.de/view.php?id=45198 * ECS: Add missing int cast * TermsOfService: Fix disableing the ToS when canceling the "reset ToS" process * lm: fix print view, if glossary terms are missing * [Docs] Added privacy.md to LTI Privacy text provided by @selyesa has been added. * ECS: Fix Manis #45260 PR ILIAS-eLearning#6637 removed line setting CURLOPT_VERBOSE and added a condition for it. During picking, only the condition got copied. * Fix typo in LTI token response This prevented a sending of learning results by some external tools * LegalDocuments: Show message instead of error when deleting nothing * LegalDocuments: Use default lang if user has no language set * 44074: PageEditor: Setting ActiveTo (when using a Block/PCSection element) to a date/time after January 2038 results in PHP error * 44734: HTML export of portfolios with blogs AND submission of portfolios with blogs in an exercise results in an error * 45277: Cancel Adding Pool: Call to undefined method ilObjCourse::purgeQuestions() * Repository/Session: Fix object type/ref_id for sessions in `ilNavigationHistory` (ILIAS-eLearning#9682) See: https://mantis.ilias.de/view.php?id=45254 * ECS: Fix creation of participant settings * ECS: Database migration to fix broken participant import types * 45294: Accordion with Collum Layout and Sections blocks next Accordion Panel to open * Tracking: disallow sorting by ref id in statistics table (45185) * SurveyQuestionPool: Adds counter as prefix to titles of excell spreadcheets to avoid duplicated names (ILIAS-eLearning#9658) * 45276: Misleading feedback message when submitting an Exercise file upload without a file * help: fixed tooltip retriever * CoPage: Initialize `string`-typed properties (ILIAS-eLearning#9615) See: https://mantis.ilias.de/view.php?id=45146 * Fix undefined array key obj_link * Exercise: Make migrations more robust if no step is left (ILIAS-eLearning#9413) * CoPage Bugfix #0044902: Fix undefined call to child_nodes() CoPage (ILIAS-eLearning#9401) * Fix undefined call to child_nodes() CoPage * Fix DomDocument attribute calls * Membership: Fix logging * OpenIDConnect: Support SCIM-like `roles` specification See: https://mantis.ilias.de/view.php?id=45330 * Course/Group: change user already assigned message to info (20218) * 44878: Failed test: Recht Anzeigen * DataCollection: Enable group to read uploaded images (ILIAS-eLearning#9692) * catch broken/old/outdated goto links for datacollection (ILIAS-eLearning#9704) * fix typo in dc (ILIAS-eLearning#9713) * 0045247: Häufig auftretende Exceptions: Undefined array key "readPermissions" (ILIAS-eLearning#9721) * 42276 - SCORM HTTP context https://mantis.ilias.de/view.php?id=42276 * Strict types error fixed _getMaxScoreForUser returns float value or null https://mantis.ilias.de/view.php?id=43296 * Type error fixed https://support.iliasnet.de/view.php?id=9387 Type error fixed, returning string only * Type error fixed https://support.iliasnet.de/view.php?id=9387 Type error fixed, returning string only * 0043656: SCORM-Player is flooding the logs Intercept json_decode returning null, causing log messages. https://mantis.ilias.de/view.php?id=43656 * 0042271: Scorm-Module lassen sich nicht kopieren Type error, function expects Parameter 1 to be string. https://mantis.ilias.de/view.php?id=42271 * 0043035: trash throws error: removing scorm modules * logfiles removed * Scorm: Possible fix for learning progress issues (43088) * Delete info.php * check if array key exists * Update example of Strict-Transport-Security header flag max_age to one year as required in https://developer.mozilla.org/en-US/docs/Web/HTTP/Reference/Headers/Strict-Transport-Security#preload Thanks to @davidtokar * [FIX] cannot delete files after delivery using xsendfile * Fix learning progress adapter for inidivual assessment to be listed in badge requirement selection. * Fix copyright in ilIndividualAssessmentLP * IASS: 44489, declare property * IRSS/Flavour/Engine: Don't use `Imagick` method if not "running" (ILIAS-eLearning#9718) Thanks a lot! * [FIX] 0044157: Search Results - impossible to access/open entries like file objects * PRG: update validity on recalculation * PRG: get certificate-relevant assignments from DB * PRG: userRows with certificate marker * Fixes issue with malformed points in manual participant scoring * Allows a admin to finish a test of user with multiple attempts * Added missing lang var for LTI * Fixes single choice answers throwing an exception when adding comma values for points * 45383: Interactive Images: Popovers overlapped by following content * Adds missing column label in test attempts for participant table * Test: Fix Wrong `Null`-Values on Import See: https://mantis.ilias.de/view.php?id=45341 and https://mantis.ilias.de/view.php?id=45342 * [FIX] WOPI Translations * Fixes undefined key when copying certain tests with multiple choice questions with feedback * Test: Fix Wrong Filter in Manual Scoring See: https://mantis.ilias.de/view.php?id=45262 * UI Tag Input: 45126 remove encoding as it is... (ILIAS-eLearning#9595) ...already encoded through the Tag Input code. Else the code is encoded incorrectly. Also strip tags to prevent e.g. JavaScript injections. https://mantis.ilias.de/view.php?id=45126 * [FIX] 0045189: š turns to y when creating a new user with Shibboleth * 43540: Probleme beim interaktiven Bild * UI/RadioInput: 45176, add default constraint for required (ILIAS-eLearning#9652) * fixed 45392: Interactive images present clickable areas per default * T&A 44826: In einer Frage im Test/Pool wird Latex nicht markiert angezeigt (ILIAS-eLearning#9744) * fix(44826): include scss rules for displaying latex in the editor * style: remove double new lines * User: Fix strpos() on Null See: https://mantis.ilias.de/view.php?id=45320 * User: Fix Truncated Variable Reference See: https://mantis.ilias.de/view.php?id=45339 * 45195: Manually Content Arrangement in simple view for seesions isnt possible * fix(45192): check if last finished pass exists to avoid blocking unfinished attempts * refactor: switch condition order to improve check performance * Test: Fix Wrongly Updating Last-Finished-Pass See: https://mantis.ilias.de/view.php?id=45192 * Removes message box with time limit message when user is out of proccessing time * UI/Radio: 45401, value must be null or option (instead of empty string) * Test: Do not SetquestionSetType if Missing See: https://mantis.ilias.de/view.php?id=45031 * Test: Fix Setting Images In MS-Question-Feedback * Test: Fix Feedback-Icons in SC-Questions See: https://mantis.ilias.de/view.php?id=43916 * fix various bug in copy, calculation and details in dc (ILIAS-eLearning#9775) * Object: Fix Long Descr not Reset on Empty Read See: https://mantis.ilias.de/view.php?id=45302 * doc: moved dependency management to top * Chatroom: Fix path in dependency section * Test: Allow Saving Settings With Results See: https://mantis.ilias.de/view.php?id=45286 * Calendar: aria label with time for appointment buttons (37083) * EmployeeTalk: info message for non-admins in administration (44011) * refactor exceptions (ILIAS-eLearning#9784) * LSO: 37065, search backwards _and also forwards_ to possible next item * Modules/File Mantis #0045376 Fix open in external editor action wsp * Add missing permission checks in ilObjSessionGUI Signed-off-by: Releasemanager <[email protected]> * 44469: Glossary: Missing/insufficient RBAC checks for commands in ilObjGlossaryGUI Signed-off-by: Releasemanager <[email protected]> * fixed creation Signed-off-by: Releasemanager <[email protected]> * 44435: Exercise: Unauthorized access to certificate settings form Signed-off-by: Releasemanager <[email protected]> * WebLink: Add check for `updateLink` command Signed-off-by: Releasemanager <[email protected]> * 45164: Media Pool: DoS through infinite loop in ilMediaPoolPresentationGUI:executeCommand() Signed-off-by: Releasemanager <[email protected]> * sync language files * Release 9.11 * fix various bugs inside the dc export/import (ILIAS-eLearning#9800) * Test: Increase Field Size for Start and End-Time See: https://mantis.ilias.de/view.php?id=45286 * Test: Avoid Setting Timezone Twice See: https://mantis.ilias.de/view.php?id=45286 * [FIX] 0045441: File Delivery not working with mp4 (Chrome) * Update composer.lock and package-lock.json after release v9.11 * Registration: Accept permanent link target for "New Account" mail See: https://mantis.ilias.de/view.php?id=45414 * Mail: Don't request permanent link target from request when sending "New Account" mail See: https://mantis.ilias.de/view.php?id=45414 * [FIX] delivering seekable streams * Course/Group: handle auto fill on change of maximum members, clean up (42297) * Test: Fix Manual Sorcing by Question See: https://mantis.ilias.de/view.php?id=45204 * limit dc excel import filetype (ILIAS-eLearning#9815) * Test: Fix FullScreen Presentation in Feedback See: https://mantis.ilias.de/view.php?id=45322 * fix plugin installation (ILIAS-eLearning#9818) * Release 9.12 * LSO: 45467, add custom icon upload field to settings. https://mantis.ilias.de/view.php?id=45467 * Scorm: Change sequence of parameters when transforming datetime (ILIAS-eLearning#9794) See: https://mantis.ilias.de/view.php?id=44862 Co-authored-by: Marvin Beym <[email protected]> * Possible type error fixed: ilSCORMOrganizations::setDefaultOrganization() https://mantis.ilias.de/view.php?id=45306 * Added missing hyphens in German lang vars for xAPI/cmi5 and a small correction in English * refactor dc text input field (ILIAS-eLearning#9833) * UI: Remove novalidate from Forms This is a backport of: ILIAS-eLearning#8395 * refactor dc notifications (ILIAS-eLearning#9846) * LSO: 45466, adjust function to copy extro and intro content page objects. https://mantis.ilias.de/view.php?id=45466 * [FIX] video delivery not working for safari in some cases * [FIX] missing variable in some cases * MetaData: remove required from cp selection in harvester config (45465) * Update of Japanese language support, thanks to Shiro Tamoto from Nagaoka University of Technology * fix typo in dc deletion (ILIAS-eLearning#9852) * Fixed Mantis #40385: Misleading Label "Teilnehmer einladen" / "Invite Participants" for English lang file * remove actions from the favorites slate (ILIAS-eLearning#9855) * learning module: fixed array access on copy * Fallback to first page and reset offset and range if out of bounds after filter * TA, 45249: add position of question to results * Fixes issue when creating a schedule and leaving the deadline empty when x hours before time slot begins is selected * Fixes issues where messagebox is not displayed, when adding already added participants to booking pool * Changes language variable in repository action menu from common#:#edit_content to book#:#book_booking_objects * Fixes filtering of participants with no bookings in booking pool * Adds small adjustments after review * Fixes issues when trying to access additional booking information in specific cases * [FIX] code tweaks in file and WOPI * Update composer.lock and package-lock.json after release v9.11 * OrgUnits/SOAP: Fix missing class files when executing SOAP services See: https://mantis.ilias.de/view.php?id=45526 * Init: Remove super global variable usage See: https://mantis.ilias.de/view.php?id=45414 * OrgUnits/SOAP: Pull from local DI after initialization See: https://mantis.ilias.de/view.php?id=45527 * Forum: Fix obsolete item group header in thread list See: https://mantis.ilias.de/view.php?id=45532 * Revert PR https://mantis.ilias.de/view.php?id=44862 (ILIAS-eLearning#9910) * Possible type error fixed (https://mantis.ilias.de/view.php?id=45306) * Revert "Scorm: Change sequence of parameters when transforming datetime (ILIAS-eLearning#9794)" This reverts commit 1111a6e. * Mantis #45149 - Fix Scorm1.2 favicons again for Ilias9 (ILIAS-eLearning#9830) * Mantis #45149 - fix Scorm1.2 favicons in Ilias9 https://mantis.ilias.de/view.php?id=45149 * Update tpl.sahs_pres_frameset_js.html * Update tpl.sahs_pres_frameset_js_debug.html * Update tpl.sahs_pres_frameset_js_debug_one_page.html * Update tpl.sahs_pres_frameset_js_one_page.html * refactor dc table edit form (ILIAS-eLearning#9915) * [FIX] APCu cache misses and performance optimization * [FIX] lock cache test * Tracking: Fix access to undefined array key in CSV export of matrix table See: https://mantis.ilias.de/view.php?id=44249 * [FIX] 0045542: tile images and avatar images are not shown with src/FileDelivery 'delivery_method' => 'xaccel' * Fixes issue when trying to get newsfeed url * Test: Fix type check against redirection URL See: https://mantis.ilias.de/view.php?id=45562 * Test: Fix RedirectionMode is Int * Fix approve_contact command handling in ilObjUserGUI for contact requests * Test: Fix Correction of ErrorText-Word-Groups See: https://mantis.ilias.de/view.php?id=45153 * Adds missing getId call when retrieving original question ID * Fix manual scoring by participant form submit if finalized solutions exists. See https://mantis.ilias.de/view.php?id=45516 * Fixes ilSeparateQuestionListSettingMigration ignoring steps option * Fixes wrong message being displayed in test launcher button when user used up all possible test passes * Fixes show answers button in test statistics * Changes redirect from info screen to test screen when trying to execute non executable test * T&A 45270: Fixes syncing a matching question back to the original question pool question which removes the associated images of both questions (ILIAS-eLearning#9734) * Fixes syncing a matching question back to the original question pool question which removes the associated images of both questions * Corrects slight mistake * Adds further changes after review * Saml: Remove obsolete code in logout process The code has been moved to `ilSamlAppEventListener`. * Test: Fix Rendering of Quotes in Longmenu-Question See: https://mantis.ilias.de/view.php?id=45139 * Test: Fix Filter in AddQueston on Missing Source See: https://mantis.ilias.de/view.php?id=42424 * Test: Rebuild Missing Thumbnails See: https://mantis.ilias.de/view.php?id=41022 * Fixes undefined array key in question pool duplicate texonomies key * Mail/RoleRecipients: Always generate unique role recipient strings See: https://mantis.ilias.de/view.php?id=45319 * fix selection field presentation and copy field on copy (ILIAS-eLearning#9954) * prevent deletion of required file uploads * Mail: Allow placeholders within salutation placeholder This change makes it possible to use `{{FIRST_NAME}}`, `{{LAST_NAME}}` and `{{LOGIN}}` within the `{{MAIL_SALUTATION}}` placeholder. See: https://mantis.ilias.de/view.php?id=45607 * Fix Mantis #40403: Wrong Scorm Version on Container Import (ILIAS-eLearning#9961) * [FIX] #45446 UI: submission of multiple `Field\File` inputs in one form. * Fixes https://mantis.ilias.de/view.php?id=45446 * Add example to showcase the behaviour of multiple `Field\File` inputs in one form. * Test: Fixe Unexpected Substitution of Results in FormulaQuestion See: https://mantis.ilias.de/view.php?id=31393 * Test: Add Remaining Time to Submission Review See: https://mantis.ilias.de/view.php?id=45355 and https://mantis.ilias.de/view.php?id=45199 * Scorm: Change sequence of parameters when transforming datetime (ILIAS-eLearning#9967) * Possible type error fixed (https://mantis.ilias.de/view.php?id=45306) * Revert "Scorm: Change sequence of parameters when transforming datetime (ILIAS-eLearning#9794)" This reverts commit 1111a6e. * Scorm: Change sequence of parameters when transforming datetime * fix translation of memebership manage confirmation (ILIAS-eLearning#9971) * Test: Fix Leak of Scoring Information See: https://mantis.ilias.de/view.php?id=45428 * Session/Membership: add mail button label in session membership view (41320) * User: Fix access check to See Role Assignements See: https://mantis.ilias.de/view.php?id=45314 Access to roleassignments-tab still checked read_users when using position permissions. Changed to match then checkWriteRights- functon in this class. * User: Adjust Error message on Missing Access * User: Hide Filer in Users Roles Set the filter value to 0 for users that don't have edit access. * User: Remove Checkbox-Column When No Edit Access * User: Fixes After Review * User: Remove Roles Tab & Better Redirect * Search: do not automatically add new adv md fields to adv search (45596) * copage: make code more rubost against missing arrary keys * Test: Avoid Crash on Leftover Text Solution See: https://mantis.ilias.de/view.php?id=45581 * Fixed Mantis #45151: Counterfactual Success Message When Moving Objects Via Clipboard * [FIX] #45613 UI: submission of `Field\File` inputs. (ILIAS-eLearning#9979) * Fixes https://mantis.ilias.de/view.php?id=45613 * Test: Fix Ghost Attempt on Overview See: https://mantis.ilias.de/view.php?id=45625 * Test: More Fixes For Manually Closed Tests See: https://mantis.ilias.de/view.php?id=45625 * RTE: update Tinymce NPM dependency Update to latest commit with the following merges: ILIAS-eLearning/tinymce-dist#5 ILIAS-eLearning/tinymce-dist#6 * NPM: Bump linkifyjs from 2.1.9 to 4.3.2, add linkify-jquery 4.3.2 * Mail: Make parser more robust * Mail: Add render for Placeholder in MAIL_SALUTATION (ILIAS-eLearning#9978) Co-authored-by: Michael Jansen <[email protected]> * Bump form-data from 4.0.0 to 4.0.4 (ILIAS-eLearning#9849) Bumps [form-data](https://github.com/form-data/form-data) from 4.0.0 to 4.0.4. - [Release notes](https://github.com/form-data/form-data/releases) - [Changelog](https://github.com/form-data/form-data/blob/master/CHANGELOG.md) - [Commits](form-data/form-data@v4.0.0...v4.0.4) --- updated-dependencies: - dependency-name: form-data dependency-version: 4.0.4 dependency-type: indirect ... Signed-off-by: dependabot[bot] <[email protected]> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * Forum/TinyMCE: Don't allow aligning/justifying text when answering See: https://mantis.ilias.de/view.php?id=45638 * Fix Mantis #45640: ($iWeight) must be of type float (ILIAS-eLearning#9994) * SystemCheck/Repository/Tree: Fix PHP 8.x issues (ILIAS-eLearning#9178) See: https://mantis.ilias.de/view.php?id=44533 * MediaCast/CustomSkins: Make JS code extraction more robust (ILIAS-eLearning#9300) See: https://mantis.ilias.de/view.php?id=43066 * droped explicit max size setting * [FIX] 44658: Modules/Survey: Fix cron job 'Remind users to participate' (ILIAS-eLearning#9699) Thanks for the PR! * 0045418: Wiederaufnahme der Dateiendung .vtt in die Positivliste der Datei-Services * [FIX] 0045488: File goto link redirects authenticated users without access to login (Login Loop) * [FIX] issues with mp4 in safari * container/item groups: fixed ids * CoPage/MediaObject: Fix editing map areas (ILIAS-eLearning#9902) See: https://mantis.ilias.de/view.php?id=45531 Thanks for the PR! * present values of multi combination selections correctly * ResourceStorage: Use more specific name for "View Mode" query parameter See: https://mantis.ilias.de/view.php?id=45364 * File/Workspace/WOPI: Fix return URL for workspace files See: https://mantis.ilias.de/view.php?id=45630 * Add missing initialisation for shib_logout.php as with shib_login.php Seems like this broke with 9d54dbd * PermanentLink: Fix perm. link handling if HTTP base path is `/ilias/` See: https://mantis.ilias.de/view.php?id=44470 # Conflicts: # src/StaticURL/Handler/HandlerService.php * 45608: Wrong timestamp after updating language (ILIAS-eLearning#10023) * Refactor language update and error handling logic Updated `last_update` to use quoted timestamp for consistency. Improved readability in error message handling and database manipulation queries within language services. * Ensure consistent usage of UTC timezone in date handling within language services. * Use UTC timezone for last_update field in language setup queries. * #45642 err log sensitive data * #45628 UICore: return fallback command if csrf validation fails. Signed-off-by: Releasemanager <[email protected]> * sync language files * Release 9.13 --------- Signed-off-by: Releasemanager <[email protected]> Signed-off-by: dependabot[bot] <[email protected]> Co-authored-by: sroenchen <[email protected]> Co-authored-by: Fabian Helfer <[email protected]> Co-authored-by: Thomas Hufschmidt <[email protected]> Co-authored-by: mjansen <[email protected]> Co-authored-by: iszmais <[email protected]> Co-authored-by: fneumann <[email protected]> Co-authored-by: ingoj <[email protected]> Co-authored-by: Christoph Ludolf <[email protected]> Co-authored-by: Akumatic <[email protected]> Co-authored-by: Tim Schmitz <[email protected]> Co-authored-by: Alex Killing <[email protected]> Co-authored-by: Releasemanager <[email protected]> Co-authored-by: Christoph Ludolf <[email protected]> Co-authored-by: Thibeau Fuhrer <[email protected]> Co-authored-by: Fabian Schmid <[email protected]> Co-authored-by: Thomas Joußen <[email protected]> Co-authored-by: Matheus Zych <[email protected]> Co-authored-by: Stephan Kergomard <[email protected]> Co-authored-by: Lukas Scharmer <[email protected]> Co-authored-by: Daniel Cazalla (ZallaxDev) <[email protected]> Co-authored-by: Tim Schmitz <[email protected]> Co-authored-by: Fabian Helfer <[email protected]> Co-authored-by: Stefan Meyer <[email protected]> Co-authored-by: lscharmer <[email protected]> Co-authored-by: iszmais <[email protected]> Co-authored-by: qualitus-dahme <[email protected]> Co-authored-by: Fabian Wolf <[email protected]> Co-authored-by: Nils Haagen <[email protected]> Co-authored-by: Matthias Kunkel <[email protected]> Co-authored-by: Matheus Zych <[email protected]> Co-authored-by: Luka Stocker <[email protected]> Co-authored-by: Lukas Eichenauer <[email protected]> Co-authored-by: Lukas Eichenauer <[email protected]> Co-authored-by: abidzan <[email protected]> Co-authored-by: fsesterh <[email protected]> Co-authored-by: Marvin Beym <[email protected]> Co-authored-by: Luka Stocker <[email protected]> Co-authored-by: Sagun Karki <[email protected]> Co-authored-by: QualitusHartwig <[email protected]> Co-authored-by: kergomard <[email protected]> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Robin Baumgartner <[email protected]>
1 parent cf3484e commit 47154a9

File tree

188 files changed

+2584
-2123
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

188 files changed

+2584
-2123
lines changed

Modules/BookingManager/BookingProcess/class.ProcessUtilGUI.php

Lines changed: 14 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,20 +1,23 @@
11
<?php
22

3-
declare(strict_types=1);
4-
53
/**
64
* This file is part of ILIAS, a powerful learning management system
75
* published by ILIAS open source e-Learning e.V.
6+
*
87
* ILIAS is licensed with the GPL-3.0,
98
* see https://www.gnu.org/licenses/gpl-3.0.en.html
109
* You should have received a copy of said license along with the
1110
* source code, too.
11+
*
1212
* If this is not the case or you just want to try ILIAS, you'll find
1313
* us at:
1414
* https://www.ilias.de
1515
* https://github.com/ILIAS-eLearning
16+
*
1617
*********************************************************************/
1718

19+
declare(strict_types=1);
20+
1821
namespace ILIAS\BookingManager\BookingProcess;
1922

2023
use ILIAS\BookingManager\InternalDomainService;
@@ -166,14 +169,17 @@ public function displayPostInfo(
166169

167170
$rsv_ids = $request->getReservationIdsFromString();
168171

169-
$tmp = array();
170-
if (count($rsv_ids) === 0 && $request->getReservationId() !== "") {
171-
[$obj_id, $user_id, $from, $to] = explode("_", $request->getReservationId());
172+
$tmp = [];
173+
if ($rsv_ids === [] && $request->getReservationId() !== '') {
174+
$reservationIdParts = explode('_', $request->getReservationId());
175+
176+
$user_id = (int) ($reservationIdParts[1] ?? 0);
177+
$from = (int) ($reservationIdParts[2] ?? 0);
178+
172179
if ($from > time()) {
173-
$tmp[$from . "-" . $to + 1] = $tmp[$from . "-" . $to + 1] ?? 0;
174-
$tmp[$from . "-" . $to + 1]++;
180+
$to = (int) ($reservationIdParts[3] ?? 0);
181+
$tmp["$from-" . ($to + 1)] = 1;
175182
}
176-
$user_id = (int) $user_id;
177183
$rsv_ids = [0];
178184
}
179185

Modules/BookingManager/Participants/class.ilBookingParticipant.php

Lines changed: 15 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -182,26 +182,28 @@ public static function getList(
182182
$user_name = ilObjUser::_lookupName($row['user_id']);
183183
$name = $user_name['lastname'] . ", " . $user_name['firstname'];
184184
$index = $a_booking_pool . "_" . $row['user_id'];
185-
$actions = array();
186185

186+
$title = (string) ($row['title'] ?? '');
187+
$object_id = (int) ($row['object_id'] ?? -1);
187188
if (!isset($res[$index])) {
188-
$res[$index] = array(
189-
"object_title" => array(),
190-
"name" => $name
191-
);
192-
193-
if ($status != ilBookingReservation::STATUS_CANCELLED && $row['title'] !== "") {
194-
$res[$index]['object_title'] = array($row['title']);
189+
$res[$index] = ['object_title' => [], 'obj_count' => 0, 'object_ids' => [], 'name' => $name];
190+
191+
if (
192+
$status !== ilBookingReservation::STATUS_CANCELLED
193+
&& $title !== ''
194+
&& $object_id !== -1
195+
) {
196+
$res[$index]['object_title'] = [$title];
195197
$res[$index]['obj_count'] = 1;
196-
$res[$index]['object_ids'][] = $row['object_id'];
198+
$res[$index]['object_ids'][] = $object_id;
197199
}
198-
} elseif ($row['title'] !== "" && (!in_array($row['title'], $res[$index]['object_title'], true) && $status != ilBookingReservation::STATUS_CANCELLED)) {
199-
$res[$index]['object_title'][] = $row['title'];
200+
} elseif ($title !== '' && (!in_array($title, $res[$index]['object_title'], true) && $status !== ilBookingReservation::STATUS_CANCELLED)) {
201+
$res[$index]['object_title'][] = $title;
200202
if (!isset($res[$index]['obj_count'])) {
201203
$res[$index]['obj_count'] = 0;
202204
}
203205
$res[$index]['obj_count'] += 1;
204-
$res[$index]['object_ids'][] = $row['object_id'];
206+
$res[$index]['object_ids'][] = $object_id;
205207
}
206208
$res[$index]['user_id'] = $row['user_id'];
207209
}
@@ -211,6 +213,7 @@ public static function getList(
211213
$res[$index]['object_ids'][] = $row['object_id'];
212214
}
213215
}
216+
214217
return $res;
215218
}
216219

Modules/BookingManager/Participants/class.ilBookingParticipantGUI.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -153,7 +153,7 @@ public function addParticipantObject(
153153
if ($participant_obj->getIsNew()) {
154154
$this->tpl->setOnScreenMessage('success', $this->lng->txt("book_participant_assigned"), true);
155155
} else {
156-
$this->tpl->setOnScreenMessage('failure', $this->lng->txt("book_participant_already_assigned"));
156+
$this->tpl->setOnScreenMessage('failure', $this->lng->txt("book_participant_already_assigned"), true);
157157
}
158158
} else {
159159
$this->tpl->setOnScreenMessage('failure', "dummy error message, change me");

Modules/BookingManager/Participants/class.ilBookingParticipantsTableGUI.php

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -127,12 +127,12 @@ public function getItems(array $filter): void
127127
{
128128
$filter_object = (int) ($filter["object"] ?? 0);
129129
if ($filter_object > 0) {
130-
$data = ilBookingParticipant::getList($this->pool_id, $filter, $filter["object"]);
131-
} elseif ($filter_object == -1) {
132-
$data = ilBookingParticipant::getList($this->pool_id, $filter);
133-
$data = array_filter($data, static function ($item) {
134-
return ($item["obj_count"] ?? 0) == 0;
135-
});
130+
$data = ilBookingParticipant::getList($this->pool_id, $filter, $filter_object);
131+
} elseif ($filter_object === -1) {
132+
$data = array_filter(
133+
ilBookingParticipant::getList($this->pool_id, $filter),
134+
static fn(array $item): bool => ($item["obj_count"] ?? 0) === 0
135+
);
136136
} else {
137137
$data = ilBookingParticipant::getList($this->pool_id, $filter);
138138
}

Modules/BookingManager/Schedule/class.ilBookingScheduleGUI.php

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -184,6 +184,7 @@ public function initForm(
184184
$deadline->setMinValue(1);
185185
$deadline->setSize(3);
186186
$deadline->setMaxLength(3);
187+
$deadline->setRequired(true);
187188
$deadline_time->addSubItem($deadline);
188189

189190
$deadline_start = new ilRadioOption($lng->txt("book_deadline_slot_start"), "slot_start");

Modules/BookingManager/classes/class.ilObjBookingPoolAccess.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,7 @@ public static function _getCommands(): array
3636
{
3737
$commands = array();
3838
$commands[] = array("permission" => "read", "cmd" => "render", "lang_var" => "show", "default" => true);
39-
$commands[] = array("permission" => "write", "cmd" => "render", "lang_var" => "edit_content");
39+
$commands[] = array("permission" => "write", "cmd" => "render", "lang_var" => "book_booking_objects");
4040
$commands[] = array("permission" => "write", "cmd" => "edit", "lang_var" => "settings");
4141

4242
return $commands;

Modules/BookingManager/classes/class.ilObjBookingPoolListGUI.php

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -50,6 +50,7 @@ public function init(): void
5050

5151
// general commands array
5252
$this->commands = ilObjBookingPoolAccess::_getCommands();
53+
$this->lng->loadLanguageModule('book');
5354
}
5455

5556
public function getCommandLink(string $cmd): string

Modules/Course/classes/class.ilObjCourseGUI.php

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -834,7 +834,6 @@ public function updateObject(): void
834834
$this->object->enableSubscriptionMembershipLimitation((bool) $form->getInput('subscription_membership_limitation'));
835835
$this->object->setSubscriptionMaxMembers((int) $form->getInput('subscription_max'));
836836
$this->object->setSubscriptionMinMembers((int) $form->getInput('subscription_min'));
837-
$old_autofill = $this->object->hasWaitingListAutoFill();
838837
switch ((int) $form->getInput('waiting_list')) {
839838
case 2:
840839
$this->object->enableWaitingList(true);
@@ -908,9 +907,6 @@ public function updateObject(): void
908907
}
909908
}
910909

911-
if (!$old_autofill && $this->object->hasWaitingListAutoFill()) {
912-
$this->object->handleAutoFill();
913-
}
914910
$this->object->update();
915911

916912
ilObjectServiceSettingsGUI::updateServiceSettingsForm(

Modules/DataCollection/classes/Content/class.ilDclRecordEditGUI.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -650,7 +650,7 @@ public function save(): void
650650
$dispatchEvent = "create";
651651
$ref_id = $this->http->wrapper()->query()->retrieve('ref_id', $this->refinery->kindlyTo()->int());
652652
$objDataCollection = new ilObjDataCollection($ref_id);
653-
$objDataCollection->sendNotification("new_record", $this->table_id, $record_obj->getId());
653+
$objDataCollection->sendRecordNotification(ilDataCollectionMailNotification::TYPE_RECORD_CREATE, $record_obj);
654654
} else {
655655
$dispatchEventData['prev_record'] = $unchanged_obj;
656656
}

Modules/DataCollection/classes/Content/class.ilDclRecordListGUI.php

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -228,6 +228,7 @@ public function initImportForm(): ilPropertyFormGUI
228228
$form->addItem($item);
229229

230230
$file = new ilFileInputGUI($this->lng->txt("import_file"), "import_file");
231+
$file->setSuffixes(['xlsx']);
231232
$file->setRequired(true);
232233
$form->addItem($file);
233234

@@ -543,7 +544,7 @@ protected function createSwitchers(): void
543544
);
544545

545546
$switcher->addViewSwitcherToToolbar(
546-
$this->table_obj->getVisibleTableViews($this->parent_obj->getRefId()),
547+
$this->table_obj->getVisibleTableViews(),
547548
$this->getTableId(),
548549
self::class,
549550
self::CMD_SHOW

0 commit comments

Comments
 (0)