Skip to content

Commit cf3484e

Browse files
katringrosssroenchenfhelferHufschmidtmjansenDatabay
authored
Release 9.11 (#45)
* #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) --------- Signed-off-by: Releasemanager <[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]>
1 parent 0b2924a commit cf3484e

File tree

187 files changed

+2632
-1712
lines changed

Some content is hidden

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

187 files changed

+2632
-1712
lines changed

Modules/Blog/classes/class.ilObjBlogGUI.php

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1558,11 +1558,13 @@ public function renderList(
15581558
}
15591559

15601560
// permanent link
1561-
if ($a_cmd !== "preview" && $a_cmd !== "previewEmbedded") {
1561+
if ($this->node_id !== null &&
1562+
$a_cmd !== "preview" &&
1563+
$a_cmd !== "previewEmbedded") {
15621564
if ($this->id_type === self::WORKSPACE_NODE_ID) {
1563-
$goto = $this->gui->permanentLink(0, $this->node_id)->getPermanentLink((int) $item["id"]);
1565+
$goto = $this->gui->permanentLink(0, (int) $this->node_id)->getPermanentLink((int) $item["id"]);
15641566
} else {
1565-
$goto = $this->gui->permanentLink($this->node_id)->getPermanentLink((int) $item["id"]);
1567+
$goto = $this->gui->permanentLink((int) $this->node_id)->getPermanentLink((int) $item["id"]);
15661568
}
15671569
$wtpl->setCurrentBlock("permalink");
15681570
$wtpl->setVariable("URL_PERMALINK", $goto);

Modules/Chatroom/README.md

Lines changed: 30 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,9 @@ interpreted as described in [RFC 2119](https://www.ietf.org/rfc/rfc2119.txt).
88
<!-- TOC -->
99

1010
- [Requirement](#requirement)
11+
- [Dependency Management](#dependency-management)
12+
- [Development](#development)
13+
- [Production](#production)
1114
- [ILIAS configuration](#ilias-configuration)
1215
- [Chat Server Settings](#chat-server-settings)
1316
- [IP Address / FQDN](#ip-address--fqdn)
@@ -30,9 +33,6 @@ interpreted as described in [RFC 2119](https://www.ietf.org/rfc/rfc2119.txt).
3033
- [Proxy Configuration](#proxy-configuration)
3134
- [Proxy configuration via nginx](#proxy-configuration-via-nginx)
3235
- [Proxy configuration via apache2](#proxy-configuration-via-apache2)
33-
- [Dependency Management](#dependency-management)
34-
- [Development](#development)
35-
- [Production](#production)
3636

3737
<!-- /TOC -->
3838

@@ -53,6 +53,33 @@ Both files MUST be passed to start the Chat Server (see [Server Configuration](#
5353

5454
**Note:** On all changes to the settings, the chat server MUST be restarted!
5555

56+
## Dependency Management
57+
58+
As of ILIAS 9 the node module dependencies for the ILIAS chat server are no longer included in the code repository and MUST be installed/managed locally.
59+
60+
The node module dependencies should be managed by [npm](https://www.npmjs.com/):
61+
62+
```bash
63+
cd [ILIAS_ROOT_DIRECTORY]/Modules/Chatroom/chat
64+
```
65+
66+
### Development
67+
68+
Dependencies can be installed by the following command:
69+
70+
```bash
71+
npm clean-install --ignore-scripts
72+
```
73+
74+
### Production
75+
76+
Dependencies can be installed by the following command:
77+
78+
```bash
79+
npm clean-install --omit=dev --ignore-scripts
80+
```
81+
In case you run the ILIAS chat server in a different directory, make sure you install/manage dependencies before copying the entire chat directory (`ILIAS / Modules / Chatroom / chat`) (see [Server Configuration](#server-configuration)).
82+
5683
## ILIAS Configuration
5784

5885
### Chat Server Settings
@@ -459,24 +486,3 @@ In the ILIAS configuration the proxy configurations are adjusted in the ***Chat
459486
Example:
460487

461488
https://onscreenchat.domain.de
462-
463-
464-
### Dependency Management
465-
466-
The node module dependencies should be managed by [npm](https://www.npmjs.com/).
467-
468-
#### Development
469-
470-
Dependencies can be installed by the following command:
471-
472-
```bash
473-
npm clean-install --ignore-scripts
474-
```
475-
476-
#### Production
477-
478-
Dependencies can be installed by the following command:
479-
480-
```bash
481-
npm clean-install --omit=dev --ignore-scripts
482-
```

Modules/Course/classes/Objectives/class.ilLOTestAssignments.php

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,5 @@
11
<?php
22

3-
declare(strict_types=0);
43
/**
54
* This file is part of ILIAS, a powerful learning management system
65
* published by ILIAS open source e-Learning e.V.
@@ -17,6 +16,8 @@
1716
*
1817
*********************************************************************/
1918

19+
declare(strict_types=0);
20+
2021
/**
2122
* Settings for LO courses
2223
* @author Stefan Meyer <[email protected]>
@@ -176,7 +177,7 @@ public function getTypeByTest(int $a_test_ref_id): int
176177
}
177178
} elseif ($this->getSettings()->worksWithInitialTest()) {
178179
foreach ($this->assignments as $assignment) {
179-
if ($assignment->getTestRefId() == $a_test_ref_id) {
180+
if ($assignment->getTestRefId() == $a_test_ref_id && $assignment->getAssignmentType() == ilLOSettings::TYPE_TEST_INITIAL) {
180181
return ilLOSettings::TYPE_TEST_INITIAL;
181182
}
182183
}
@@ -187,7 +188,7 @@ public function getTypeByTest(int $a_test_ref_id): int
187188
}
188189
} else {
189190
foreach ($this->assignments as $assignment) {
190-
if ($assignment->getTestRefId() == $a_test_ref_id) {
191+
if ($assignment->getTestRefId() == $a_test_ref_id && $assignment->getAssignmentType() == ilLOSettings::TYPE_TEST_QUALIFIED) {
191192
return ilLOSettings::TYPE_TEST_QUALIFIED;
192193
}
193194
}

Modules/Course/classes/class.ilCourseMembershipGUI.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -204,7 +204,7 @@ public function assignMembers(array $a_usr_ids, string $a_type): bool
204204
$this->tpl->setOnScreenMessage('success', $this->lng->txt("crs_users_added"), true);
205205
$this->ctrl->redirect($this, 'participants');
206206
}
207-
$this->tpl->setOnScreenMessage('failure', $this->lng->txt("crs_users_already_assigned"), true);
207+
$this->tpl->setOnScreenMessage('info', $this->lng->txt("crs_users_already_assigned"), true);
208208
return false;
209209
}
210210

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

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -190,6 +190,7 @@ public function export(string $format = self::EXPORT_EXCEL, string $filepath = n
190190
return false;
191191
}
192192

193+
$this->main_tpl->setOnScreenMessage($this->main_tpl::MESSAGE_TYPE_SUCCESS, $this->lng->txt('exp_file_created'), true);
193194
if ($send) {
194195
$adapter->sendToClient($filename);
195196
} else {

Modules/DataCollection/classes/DetailedView/class.ilDclDetailedViewGUI.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -168,7 +168,7 @@ public function renderRecord(bool $editComments = false): void
168168
$pageObj = new ilDclDetailedViewDefinitionGUI($this->tableview_id);
169169
$pageObj->setOutputMode($pageObj::PRESENTATION);
170170

171-
$html = $pageObj->getHTML();
171+
$html = $pageObj->showPage();
172172
$rctpl->addCss("./Services/COPage/css/content.css");
173173
$rctpl->fillCssFiles();
174174
$table = ilDclCache::getTableCache($this->record_obj->getTableId());

Modules/DataCollection/classes/Fields/Formula/FormulaParser/Result/MathResultResolver.php

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -156,9 +156,7 @@ protected function parseMath(array $tokens): array
156156
}
157157
// If one element is left on stack, we are done. Otherwise calculate
158158
if ($stack->count() === 1) {
159-
$result = $stack->pop();
160-
161-
$value = (ctype_digit((string) $result)) ? $result : number_format($result, 2, '.', "'");
159+
$value = (int) round((float) $stack->pop());
162160
return [$value, $last_operator ?? null];
163161
}
164162

Modules/DataCollection/classes/Fields/Mob/class.ilDclMobRecordFieldModel.php

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -72,6 +72,7 @@ public function parseValue($value)
7272
}
7373

7474
ilFileUtils::rename($move_file, $target_file_path);
75+
chmod($target_file_path, 0640);
7576
ilFileUtils::renameExecutables($mob_dir);
7677

7778
$format = ilObjMediaObject::getMimeType($target_file_path);

Modules/DataCollection/classes/Fields/Text/class.ilDclTextRecordRepresentation.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -63,7 +63,7 @@ public function getHTML(bool $link = true, array $options = []): string
6363
$tableview_id = $this->http->wrapper()->query()->retrieve('tableview_id', $this->refinery->kindlyTo()->int());
6464
foreach ($views as $v) {
6565
if ($v->getId() === $tableview_id) {
66-
$view = $tableview_id;
66+
$view = $v;
6767
break;
6868
}
6969
}

Modules/DataCollection/classes/Table/class.ilDclTable.php

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -359,9 +359,6 @@ public function getField(string $field_id): ?ilDclBaseFieldModel
359359
return $field;
360360
}
361361

362-
/**
363-
* @return int[]
364-
*/
365362
public function getFieldIds(): array
366363
{
367364
$field_ids = [];

0 commit comments

Comments
 (0)