Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
941 commits
Select commit Hold shift + click to select a range
75f5cf7
Fixed issue in Test Case: Trying to access array offset; multi lang w…
alex40724 Jan 30, 2026
a0e93db
Merge branch 'release_11' of https://github.com/ILIAS-eLearning/ILIAS…
alex40724 Jan 30, 2026
2daf7b5
content style: updated readme for export, including non-local styles …
alex40724 Jan 30, 2026
47512b6
content style: updated readme for export, including non-local styles …
alex40724 Jan 30, 2026
f9b661b
47029: Failed test: HTML-Export eines mehrsprachigen Lernmoduls
alex40724 Jan 30, 2026
adf6414
46723: Failed test: Inhaltsseite importieren - Content-Style wird nic…
alex40724 Jan 30, 2026
59b8fa7
Forum: Fix export of content styloe
mjansenDatabay Feb 2, 2026
0a73a8b
ContentPage: Fix export of content style
mjansenDatabay Feb 2, 2026
71364bb
Merge pull request #10711 from fneumann/fix11-mantis46419
BettyFromHH Feb 2, 2026
86bb3d6
Fixed Mantis #41988: Lizenz vs. Copyright and #44613: Suggesting bett…
matthiaskunkel Feb 2, 2026
621f56b
46451: Language LOM Copyright: Unterreiter „Lizenzen“ existiert nicht
matthiaskunkel Feb 2, 2026
52fe531
Fixed Mantis #46175: Typo in Meldung zu Notizen
matthiaskunkel Feb 2, 2026
825bd20
[FIX] 0047086: Failed test: Change Webfolders Instructions through th…
chfsx Feb 3, 2026
02e72e0
[FIX] updated sabre/dav
chfsx Feb 3, 2026
c2f90bb
[FIX] 0046092: Failed test: Datei importieren
chfsx Feb 3, 2026
341d406
[FIX] 0046533: Failed test: Uhrzeit bei Downloads im Info-Tab
chfsx Feb 3, 2026
61bf82e
[FIX] #46534 UI: support `Modal\Lightbox` inside various parent conta…
chfsx Feb 3, 2026
dfde164
LDAP/User: Fix "UDF" issue caused by "User"-related refactorings
mjansenDatabay Feb 3, 2026
a80ccc2
Merge remote-tracking branch 'origin/release_11' into release_11
mjansenDatabay Feb 3, 2026
f386f1c
[FIX] compatibility between ilObject and Metadata-call
chfsx Feb 3, 2026
716f4f3
[FIX] 0046317: Failed test: Dateien und/oder Ordnerebenen löschen
chfsx Feb 3, 2026
a1beb02
[FIX] 0046302: Failed test: Liste nach Spaltentiteln sortieren
chfsx Feb 3, 2026
5cecf69
Fix check for empty string before attempting to decode json
Akumatic Feb 3, 2026
a83ff71
COPage: Init export configs bevore export (#11038)
chlulei Feb 3, 2026
51b46b4
Improvement to tone of entry
Chris-Squirrel Feb 3, 2026
483dc0c
Fixed Mantis #47104: Ambiguous title in editor administration
matthiaskunkel Feb 3, 2026
66c174f
[FIX] 0046438: Failed test: Eintrag löschen
chfsx Feb 3, 2026
17c684a
[FIX] 0046439: Failed test: Eintrag verschieben
chfsx Feb 3, 2026
51bc9d7
[FIX] 0047053: Failed test: "Read only" für Administrationsknoten "Ha…
chfsx Feb 3, 2026
a82a470
[FIX] 0047111: Failed test: "Read only" für Administrationsknoten "An…
chfsx Feb 3, 2026
06c480e
[FIX] 0046344: Failed test: Link-Eintrag hinzufügen
chfsx Feb 3, 2026
2f13a0b
[FIX] 0043115: Footer Items: isVisible & isAvailable is ignored
chfsx Feb 3, 2026
9e4d18a
46959: Failed test: Versuch, zeitlich begrenzt aktivierte Seite aufzu…
alex40724 Feb 3, 2026
a3443b3
47079: Failed Test T88503 Creating a Private Note - 'Origin' link to …
alex40724 Feb 3, 2026
46d7c71
45371: Glossar nicht anlegbar
alex40724 Feb 4, 2026
0610572
Chat: Fix permission checks
mjansenDatabay Feb 4, 2026
cf83087
Merge remote-tracking branch 'origin/release_11' into release_11
mjansenDatabay Feb 4, 2026
2009701
46841: Failed test: Verknüpfungen zu einzelnen Begriffen aus anderen …
alex40724 Feb 4, 2026
82da86b
Skill: require only read permission to access skill management gui
chlulei Feb 4, 2026
1905fe1
46876: Text formatted as list is changed to continuous text when inse…
alex40724 Feb 4, 2026
778ad53
45842: Repository: feature has errors
alex40724 Feb 4, 2026
1edf1d9
repo: fixed tree construction
alex40724 Feb 4, 2026
50db0b6
46715: Interaktives Bild: Hervorhebungen/Hotspot-Konturen scheinen du…
alex40724 Feb 4, 2026
45f4d04
47051: Error When Trying to Open Learning Module
alex40724 Feb 4, 2026
e5cf3e2
[Fix] 0047068 Auth: Argument for apache_auth_username_config_type doe…
fhelfer Feb 5, 2026
9d71f21
[FIX] 0046437: Failed test: Gruppe löschen (2)
chfsx Feb 5, 2026
0dcd14c
[Improvement] Auth: RegistrationCode Tab Read Access Restriction Forms
fhelfer Feb 5, 2026
9629c7f
copage: improve visibility of editing shapes;handle sizes
alex40724 Feb 5, 2026
06959f5
Merge pull request #10995 from fhelfer/didactic-templates/mantis/47020
smeyer-ilias Feb 5, 2026
f7cd6c3
Merge pull request #10894 from mjansenDatabay/hotfix/10/46748
smeyer-ilias Feb 5, 2026
30c84f1
46667: Interactive image file cannot be changed
alex40724 Feb 5, 2026
ac65339
46667: Interactive image file cannot be changed
alex40724 Feb 5, 2026
7275133
Search: fix sub id handling in object search (46825, 46371)
schmitz-ilias Feb 5, 2026
a621786
Membership: remove checks for visible permission from administration …
schmitz-ilias Feb 5, 2026
6d89dfc
MetaData: remove checks for visible permissions in administration (47…
schmitz-ilias Feb 5, 2026
499094d
MetaData: remove checks for visible permissions in administration, pa…
schmitz-ilias Feb 5, 2026
14ccc46
[Improvement] Auth: Tab Apache Access Restriction Form
fhelfer Feb 5, 2026
83724c1
Merge pull request #10898 from kergomard/10/references/fix_46848
smeyer-ilias Feb 5, 2026
828db98
0047073: Failed test: Update the didactic template to several languages
smeyer-ilias Feb 5, 2026
aee5241
DidacticTemplate: fix edit-import, overwrite of existing didactic tem…
chlulei Feb 5, 2026
b380c2a
DidacticTemplate: fix incorrect icon displaying
chlulei Feb 5, 2026
7f4c4f6
SystemCheck: avoid visible checks in recovery folder (47050)
schmitz-ilias Feb 5, 2026
eb891e0
Fix Mantis #47160: session_timeout.html not found (#11070)
QualitusHartwig Feb 5, 2026
80ae12c
[Improvement] Auth: Tab OpenID Connect Access Restriction Form (#11059)
fhelfer Feb 5, 2026
8074e8c
[Improvement] Auth: Tab SOAP Access Restriction Form (#11062)
fhelfer Feb 5, 2026
e387086
42985: Failed Test: Taxonomy nodes are not always (directly) displayed
alex40724 Feb 5, 2026
0298a39
42489: Awareness Tool: User actions do not expand when clicking on a …
alex40724 Feb 6, 2026
7269bbb
47135: ILIAS crashes when ilMobMigration is incomplete
alex40724 Feb 6, 2026
c691b86
Staff: fix links to profile (46744)
schmitz-ilias Feb 6, 2026
7114cdd
46716: WebP wird im Medienobjekt / Page Editor als nicht unterstützte…
alex40724 Feb 4, 2026
0b67060
46970: UIComponent/CoPage/Accordion/LearningModule: ./assets/js/owl.c…
alex40724 Feb 7, 2026
4f5c45b
47163: CoPage: JS error ilias is not defined on views with page edito…
alex40724 Feb 7, 2026
b08657e
Fixed Mantis #46989: Missverständlicher Text bei Übung / Rückmeldung …
matthiaskunkel Feb 7, 2026
c922a81
41086: Section cannot link to portfolio pages/internal link
alex40724 Feb 7, 2026
b0bb873
33072: Medienpool : Verfügbarkeit / Vorbedingungen ohne Anzeige von O…
alex40724 Feb 7, 2026
3f36bf2
45922: Breadcrumb Truncation in Learning Module Presentation View
alex40724 Feb 7, 2026
24449c3
46654: Repository-Plugin: Icon not found
alex40724 Feb 7, 2026
85c89f8
36581: Adding a new headline in local user admin tab
alex40724 Feb 7, 2026
ddf2270
36581: Adding a new headline in local user admin tab
alex40724 Feb 7, 2026
5756948
44419: P Element um Button Text bearbeiten
alex40724 Feb 8, 2026
3984a4f
43245: Woops when resizing an image in the media pool / ILIAS Page Ed…
alex40724 Feb 8, 2026
4433139
47012: Error message when entering a title longer than 200 characters
alex40724 Feb 8, 2026
c45fcde
fixed conflict marker
alex40724 Feb 8, 2026
4b358c6
045649: Column Layout:
alex40724 Feb 8, 2026
19eb5a0
045649: Column Layout:
alex40724 Feb 8, 2026
411c33d
Test: Forbid Saving Order on Results Exists
kergomard Feb 9, 2026
1c8e542
Object: Fix Plugins Title Of Create Form
kergomard Feb 9, 2026
4e80b4d
InfoScreen: Fix Link to Public Profile
kergomard Feb 9, 2026
b774b55
Object: Use `mb_*` functions when manipulating object title
mjansenDatabay Feb 4, 2026
4eb9f29
Object: Do Not Set DidacticTemplate if Missing
kergomard Feb 9, 2026
d6591c7
Test: Remove Unlinked addtime Columns
kergomard Feb 9, 2026
ab8212a
Allows answertext of cloze question to only be a string instead of al…
matheuszych Dec 11, 2025
6f67608
Orphaned variable removed
Chris-Squirrel Feb 9, 2026
cd91781
[Fix] 0047164 Init: Double lang_key because regex is wrong
fhelfer Feb 9, 2026
9de8381
[FIX] provide column which shows startfile of learning-module (#11090)
mbecker-databay Feb 9, 2026
43ce57e
Contact: Use different form action if user has no "write" permission
mjansenDatabay Feb 9, 2026
dae9991
Merge remote-tracking branch 'origin/release_11' into release_11
mjansenDatabay Feb 9, 2026
2bdb3ab
Fixes error on question point correction page
matheuszych Jan 5, 2026
232d163
Fixes issue when creating a formula question with units
matheuszych Jan 5, 2026
d680e27
[Improvement] Auth: LDAP Tab Read Access Restriction Forms&Table (#11…
fhelfer Feb 9, 2026
f8f9a9b
[Improvement] Auth: Tab Auth Access Restriction Form&Tables&SubTabs (…
fhelfer Feb 9, 2026
2ef4ef5
User: Allow Show User Actions on View
kergomard Feb 9, 2026
0094500
[Revert] Stlye: Access Restriction in Authentiation Style
fhelfer Feb 9, 2026
8beea3d
Fixes insert action link building incorrect url due to proxy http pro…
matheuszych Jan 9, 2026
cac4594
Course/Group: fix label and activation of first settings subtab (4544…
schmitz-ilias Feb 9, 2026
f274bc8
SystemFolder: Fix missing "ref_id" when redirecting in `_goto` (#11095)
fneumann Feb 9, 2026
a630e9c
ECS: Fix for undefined property if message doesn't contain a description
Akumatic Feb 9, 2026
4bcb474
ILIASObject: Show All Repository Objects in Create
kergomard Feb 9, 2026
332fde3
Removes display none when auto save message fades out
matheuszych Feb 6, 2026
7ca4578
44509: Hover colour of AccordIHead (Vert. Akkordeonelement Kopf) not …
alex40724 Feb 9, 2026
4116c46
0046275: Failed test: Kurslink kopieren
smeyer-ilias Feb 9, 2026
b891875
User: Fix Fetching User on Missing DataSet
kergomard Feb 9, 2026
fb43374
Object: Skip Tiles with Missing Images
kergomard Feb 9, 2026
84c2fb8
Revert "User: Fix Fetching User on Missing DataSet"
kergomard Feb 9, 2026
cdc516b
44312: (+) Button im Seiteneditor wird nicht informativ vorgelesen
alex40724 Feb 9, 2026
dc9f231
User: Fix Fetching User on Missing DataSet
kergomard Feb 9, 2026
52a989e
User: Assign Empty Array to SystemInformation
kergomard Feb 9, 2026
3fb3378
Test: Abandon Support to Export HTML in Essay-Qst
kergomard Feb 9, 2026
e93ca9d
Excel: Remove Specialcasing For Essay Question
kergomard Feb 9, 2026
985b4f6
Mail: Improve README by adding more details to delivery rules
mjansenDatabay Feb 10, 2026
80f11dd
Merge remote-tracking branch 'origin/release_11' into release_11
mjansenDatabay Feb 10, 2026
a558d05
[FIX] #47191 2: Fix mail only send to first rcp & draft validation no…
mBeym Feb 10, 2026
0543c38
Mail: Improve recipient handling
mjansenDatabay Feb 10, 2026
5d47a63
Object: Fix Variable Name
kergomard Feb 10, 2026
ff38dd0
42645: Ausgeschnittenes Kapitel einfügen wirft Fehler
alex40724 Feb 10, 2026
72b7e7b
ECS: add fallback to id lookup & fix missing function call
Akumatic Feb 10, 2026
74bc23a
42075: DataFragments: PageObjects are not deleted
alex40724 Feb 10, 2026
4753b45
fixed Mantis #46828: Failed test: Creating and Installing from a Cust…
fneumann Feb 10, 2026
75aa056
Excel: Completely Remove Strip Tags
kergomard Feb 10, 2026
4a6e6f4
AccessControl: disable public access flag of export files for role ex…
chlulei Feb 10, 2026
771531d
fixed Mantis #46821: Failed test: Overview of Installed Languages
fneumann Feb 10, 2026
7d1e57c
[FIX] #4951 UI: update `Input\Container\Form\FormInput` HTML context.…
fhelfer Feb 10, 2026
908743b
44822: Failed test: Hotspot/Imagemap-Frage erstellen/bearbeiten
alex40724 Feb 10, 2026
186f9ca
[FIX] #46596 UI: add `Field\Tag::withoutStripTags()` to disable `stri…
lscharmer Feb 10, 2026
c425425
[FIX] #46528 UI: reveal `MainControls\Slate` content properly. (#10960)
matheuszych Feb 10, 2026
b834523
Orphaned language variables removed
Chris-Squirrel Feb 10, 2026
975a884
35938: Show more-Button im Dialog Rückmeldung und Bewertung bei mehre…
alex40724 Feb 10, 2026
253bd9c
45413: Opening LM throws Error
alex40724 Feb 10, 2026
9dda02e
45413: Opening LM throws Error
alex40724 Feb 11, 2026
24b5a02
45413: Opening LM throws Error
alex40724 Feb 11, 2026
f7121f9
Saml: Fix path to README of `Http` component
mjansenDatabay Feb 11, 2026
ad477a9
Mail: Use non broken tag input options
lscharmer Feb 2, 2026
f49dd44
45544: No questions after import on same ILIAS installation
alex40724 Feb 11, 2026
2a629fa
SAML: Add activation check in authentication process
mjansenDatabay Feb 11, 2026
52725cc
OIDC: Add activation check in authentication process
mjansenDatabay Feb 11, 2026
a0d7c9a
Typo Benachrichtigungs-Einstellungen → Benachrichtigungseinstellungen
matthiaskunkel Feb 11, 2026
ce4b72a
fix no role bug 0047137 (#11108)
alitvinleifos Feb 11, 2026
8d6ff34
44522: Die gewählte Option springt auf die erste Stelle
alex40724 Feb 11, 2026
277f5e4
43942: Failed test: Read only für Administration
alex40724 Feb 11, 2026
fc66cf1
45296: Missing lang var #exc_received_peer_feedback#
alex40724 Feb 11, 2026
a242484
44236: Exercise - Download Selected Submissions
alex40724 Feb 11, 2026
f9de4c4
33630: Duplicate 'variable_ID' in wsp#:#search_no_match#:#Your search…
alex40724 Feb 11, 2026
8e7c155
44687: Metadaten doppelt im Aktionenmenü im Kontextmenü
alex40724 Feb 11, 2026
60a545f
tax: fixed taxonomy creation in categories
alex40724 Feb 12, 2026
08ad373
User: Fix Duplicate Entries in Search
kergomard Feb 12, 2026
4952027
Poll: fix links written to navigation history (46936)
schmitz-ilias Feb 12, 2026
f59ca56
ilSessionStatistics prepared statement & Generator (#10972)
mBeym Feb 12, 2026
24a88a3
Merge pull request #11069 from leifos-gmbh/11_mantis_ilias_47072
smeyer-ilias Feb 12, 2026
0d110f7
Object/User: Fix Lookup of Name of Owner
kergomard Feb 12, 2026
e96ee84
[Feature] Authentication: Add missing types / Simplify code / Privati…
mjansenDatabay Feb 12, 2026
1362d73
Merge pull request #11068 from leifos-gmbh/11_mantis_ilias_47075
smeyer-ilias Feb 12, 2026
0eb420b
Merge remote-tracking branch 'origin/release_11' into release_11
mjansenDatabay Feb 12, 2026
241f68e
Session: add default return values to _lookupAppointment if an appoin…
chlulei Feb 12, 2026
8527f27
45037: Description texts under the fields Upload File and External UR…
alex40724 Feb 12, 2026
e1c8a02
RPC: switched to log4j-bom
smeyer-ilias Feb 12, 2026
80d9a32
Merge branch 'release_11' of github.com:ILIAS-eLearning/ILIAS into re…
smeyer-ilias Feb 12, 2026
72c1ad1
Merge pull request #10901 from leifos-gmbh/11_mantis_ilias_46776
smeyer-ilias Feb 12, 2026
18632c6
Tracking: fix details action in lp progress block (46962)
schmitz-ilias Feb 12, 2026
e0fec40
Tracking: fix last commit
schmitz-ilias Feb 12, 2026
eeb97ea
Fix Mantis #45285: imsmanifest.xml not found (#11051)
QualitusHartwig Feb 12, 2026
c479e06
[FIX] #46465 UI: remove duplicate `Input\Container\Form\Standard` but…
fhelfer Feb 12, 2026
30987b1
42980: Edit text bold: Editor creates new paragraph for each letter y…
alex40724 Feb 12, 2026
ec2324d
46217: Remaining steps in migrations keep increasing; solution rid
alex40724 Feb 12, 2026
dec575a
46217: Remaining steps in migrations keep increasing; ilExerciseSubmi…
alex40724 Feb 12, 2026
9ae9f0a
46217: Remaining steps in migrations keep increasing; ilExercisePeerF…
alex40724 Feb 12, 2026
d771b95
45814: Typo im Page Editor bei Datentabelle
alex40724 Feb 12, 2026
782c6ea
45140: Individual Style is replaced on import
alex40724 Feb 12, 2026
3b9807f
43857: Internal links are created as goto links
alex40724 Feb 12, 2026
9437dcc
42782: >-symbol in assigned learning module page doesn't get displaye…
alex40724 Feb 12, 2026
a23616c
42765: Page Layouts: Modules vs. Object Types
alex40724 Feb 12, 2026
f430a47
42782: >-symbol in assigned learning module page doesn't get displaye…
alex40724 Feb 12, 2026
37b7d08
43677: Internal Server Error - Drag and (Drop)
alex40724 Feb 12, 2026
2c40c7e
42710: Failed test: Datei-Ressource öffnen, herunterladen, Revisionen…
alex40724 Feb 12, 2026
c5c4cd1
42563: Download ZIP-Structure
alex40724 Feb 12, 2026
18a83f6
fix import position (#11086)
kevenClausenKPG Feb 13, 2026
6e13051
[LSO]Fix Edit Permission in Admin Settings #47123 (#11087)
kevenClausenKPG Feb 13, 2026
5b2ae14
Fix #40998: correct map instance used when multiple OpenLayers maps a…
dkippKPG Feb 13, 2026
b5b12a8
[FIX] #47093 Certificate: Fix empty filter fields applied to sql quer…
mBeym Feb 13, 2026
533ebac
[FIX] General Shibboleth Code Update
chfsx Feb 9, 2026
fca6e9f
[FIX] ShibbolethLogin
chfsx Feb 10, 2026
de49287
[FIX] 0046040: Wrong lang var used for Table of administrative notifi…
chfsx Feb 13, 2026
fe2bf7a
[FIX] 0046375: Blog Goto-Links do not forward after login
chfsx Feb 13, 2026
7fcf087
[FIX] 0045055: Cannot overwrite a feedback file by uploading a new ve…
chfsx Feb 13, 2026
935245e
[FIX] 0046533: Failed test: Uhrzeit bei Downloads im Info-Tab
chfsx Feb 13, 2026
6aa2d42
[FIX] 0047249: File Admin: "Im Browser anzeigen" → InvalidArgumentExc…
chfsx Feb 13, 2026
fcac2e5
[FIX] 0044926: Wrong lang var used for permission Show Content by fil…
chfsx Feb 13, 2026
9c8bc91
fixed 47257: First page inserted at wrong position
alex40724 Feb 13, 2026
af40eba
43375: Useability: Hard to find a way to edit a title of chapter or p…
alex40724 Feb 15, 2026
4122854
43375: Useability: Hard to find a way to edit a title of chapter or p…
alex40724 Feb 15, 2026
071a865
lm: added missing modal titles
alex40724 Feb 15, 2026
ac3c2e1
45859: Link to Blog Post in blog post notification is wrong
alex40724 Feb 15, 2026
321ebbd
45859: Link to Blog Post in blog post notification is wrong
alex40724 Feb 15, 2026
3cb4992
45117: .svg images not visible in Abstract
alex40724 Feb 15, 2026
3c4c373
fixed content.css
alex40724 Feb 16, 2026
0a0921f
45550: Offline/Online in tab Settings ignored
alex40724 Feb 16, 2026
c809eaf
fix: Validate url param
abrahammordev Feb 16, 2026
4c04046
Merge pull request #11123 from surlabs/ilias11_survey_check_url
abrahammordev Feb 16, 2026
e1268b9
possibel fix for 47182: Failed test: Testergebnisse drucken
alex40724 Feb 16, 2026
a1288bb
45924: Mitwirkende nicht aufrufbar
alex40724 Feb 16, 2026
9c0f37a
Grammar error correction
Chris-Squirrel Feb 16, 2026
29fe9ff
Changes _getStatusInfo to also return other statuses to update LP acc…
aaronbidzan Dec 8, 2025
ea1d453
[FIX] #45264 UI: pass `MainControls\SystemInfo` more-button in JavaSc…
chfsx Feb 16, 2026
61ddd1b
fix: Survey update lenguage variable
abrahammordev Feb 16, 2026
325ea28
Merge pull request #11127 from surlabs/ilias11_fix_survey_language_va…
abrahammordev Feb 16, 2026
4571239
37204: deleting a participant not working properly
alex40724 Feb 16, 2026
62d4d2f
43239: Button not displayed correctly in the Team Wiki overview
alex40724 Feb 16, 2026
60f8537
fix xAPI sending statements
Uwe-Kohnle Feb 16, 2026
d3b9bb0
[FIX] #45422: render `Filter\Standard` glyphs as `<span>`. (#11019)
fhelfer Feb 17, 2026
9bd379e
[FIX] #46870 UI: preserve role attributes of `MainControls\MainBar` c…
fhelfer Feb 17, 2026
27d1756
[Fix] Certificate: Add type restrictions for templates
mjansenDatabay Feb 17, 2026
624ecb4
Merge remote-tracking branch 'origin/release_11' into release_11
mjansenDatabay Feb 17, 2026
6332a28
[Fix] Certificate: Add type restrictions for templates
mjansenDatabay Feb 17, 2026
18a88b2
Removed outdated lang vars and gender mainstreamed existing lang vars…
matthiaskunkel Feb 17, 2026
22f3c2d
45550: Offline/Online in tab Settings ignored
alex40724 Feb 17, 2026
6f25644
fix: Update survey access code variable
abrahammordev Feb 18, 2026
2e2fae6
Merge pull request #11142 from surlabs/ilias11_fix_survey_language_va…
abrahammordev Feb 18, 2026
d069a2c
Weblinks: fix setting subtabs on manage screen (47217)
schmitz-ilias Feb 18, 2026
a6065b2
Course/Group: disallow sorting by actions in members table (46639)
schmitz-ilias Feb 18, 2026
e624480
update missing changes (#11149)
iszmais Feb 18, 2026
fd3d8bc
[FIX] 0046230: Migration of HTML objects blocked, apparently due to size
chfsx Feb 19, 2026
60b05c4
[FIX] different order in ZIP testresults
chfsx Feb 19, 2026
f8d2c00
LegalDocuments: Always provide a footer
lscharmer Feb 19, 2026
acc5688
[Fix] SCORM: Fix specific text template placeholders (#11151)
mjansenDatabay Feb 19, 2026
15ffed4
Search: fix user search in main menu (45948)
schmitz-ilias Feb 19, 2026
b47cfb4
[FIX] Cron: Call `entry_point(...)` when running CLI-based cron scrip…
mjansenDatabay Feb 19, 2026
4a91dc9
[FIX] Cron: Fix accessing config forms of plugins (#11158)
mjansenDatabay Feb 20, 2026
9875de0
Cherrypicked PR11152 to fix Mantis #41730
matheuszych Feb 19, 2026
83568de
[FIX] #46870 UI: set `role` attribute of `MainControls\SystemInfo`. (…
fhelfer Feb 20, 2026
0fdd1dc
COPage: fix export of plugin data (#10751)
alex40724 Feb 20, 2026
cb12ed7
Merge pull request #10213 from catenglaender/10/UI/tooltip/fix_tabs_b…
BettyFromHH Feb 19, 2026
3a6baea
Recompile delos.css for release_11 after PR 10213 cherry-pick
Feb 19, 2026
6fdbc6f
Fix subtitle upload containing files without matched media object (#1…
alex40724 Feb 20, 2026
aa97983
fix: access to ILIAS learning module inside a course across LTI (#11125)
alex40724 Feb 20, 2026
3a49b4d
[Fix] Repository: Prevent duplicate non-deletable ref_ids (#11147)
alex40724 Feb 20, 2026
04c8c51
Search: make user search cache more robust to invalid db values (47304)
schmitz-ilias Feb 20, 2026
11b7dc0
Calendar: fix selection block links (46668)
schmitz-ilias Feb 20, 2026
d61e97c
46577: Failed test: Delete news
alex40724 Feb 22, 2026
58f064f
MediaPool: remove duplicate metadata action when editing content snip…
alex40724 Feb 22, 2026
80abf59
Skill: fixed confusing gui
chlulei Feb 23, 2026
b994573
Merge branch 'release_11' of https://github.com/ILIAS-eLearning/ILIAS…
iszmais Feb 23, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
7 changes: 7 additions & 0 deletions .github/workflows/legacy-ui.yml
Original file line number Diff line number Diff line change
Expand Up @@ -39,6 +39,13 @@ jobs:
tools: composer:v2
coverage: none

- uses: actions/setup-node@v6
with:
node-version: 24

- name: "Install npm version 11"
run: sudo npm install -g npm@11

- name: Install Node dependencies
run: npm clean-install --omit-dev --ignore-scripts

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -99,7 +99,7 @@ abstract protected function buildPermissionMap(): array;
*/
protected function isValidContextAndAction(
int $a_context_type,
string $a_context_id,
int $a_context_id,
int $a_action_id,
?int $a_action_sub_id = null
): bool {
Expand Down Expand Up @@ -149,7 +149,7 @@ protected function getValidContextIds(int $a_context_type): array
*/
public function hasPermission(
int $a_context_type,
string $a_context_id,
int $a_context_id,
int $a_action_id,
?int $a_action_sub_id = null
): bool {
Expand All @@ -163,7 +163,7 @@ public function hasPermission(
/**
* Check permissions
*/
public function hasPermissions(int $a_context_type, string $a_context_id, array $a_action_ids): array
public function hasPermissions(int $a_context_type, int $a_context_id, array $a_action_ids): array
{
$res = [];

Expand All @@ -186,12 +186,12 @@ public function hasPermissions(int $a_context_type, string $a_context_id, array
*/
protected function checkPermission(
int $a_context_type,
string $a_context_id,
int $a_context_id,
int $a_action_id,
?int $a_action_sub_id = null
): bool {
return ($this->checkRBAC() &&
$this->checkPlugins($a_context_type, (string) $a_context_id, $a_action_id, $a_action_sub_id));
$this->checkPlugins($a_context_type, $a_context_id, $a_action_id, $a_action_sub_id));
}

/**
Expand All @@ -216,7 +216,7 @@ abstract protected function getActivePlugins(): Generator;
*/
protected function checkPlugins(
int $a_context_type,
string $a_context_id,
int $a_context_id,
int $a_action_id,
?int $a_action_sub_id = null
): bool {
Expand All @@ -238,24 +238,4 @@ protected function checkPlugins(

return $valid;
}

/**
* @return array of object type strings
*/
public function getAllowedObjectTypes(): array
{
$accepted_types = ['cat','crs','sess','grp','iass','exc','file'];

$obj_def = new ilObjectDefinition();
$adv_md_types = $obj_def->getAdvancedMetaDataTypes();

$valid_accepted_types = [];
foreach ($adv_md_types as $value) {
if (in_array($value['obj_type'], $accepted_types) || in_array($value['sub_type'], $accepted_types)) {
array_push($valid_accepted_types, $value['obj_type']);
}
}

return $valid_accepted_types;
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -117,8 +117,7 @@ public function executeCommand(): void
$eo = ilExportOptions::newInstance(ilExportOptions::allocateExportId());
$eo->addOption(ilExportOptions::KEY_ROOT, 0, $this->object->getId(), $this->obj_ref_id);

$exp = new ilExportGUI($this, new ilObjRole($this->object->getId()));
$exp->addFormat('xml');
$exp = new ilExportGUI($this, new ilObjRole($this->object->getId()), false);
$this->ctrl->forwardCommand($exp);
break;

Expand Down
25 changes: 17 additions & 8 deletions components/ILIAS/AccessControl/classes/class.ilPermissionGUI.php
Original file line number Diff line number Diff line change
Expand Up @@ -914,17 +914,26 @@ public function owner(): void
{
$this->__initSubTabs('owner');

$form = new ilPropertyFormGUI();
$form->setFormAction($this->ctrl->getFormAction($this, "owner"));
$form->setTitle($this->lng->txt("info_owner_of_object"));
$this->tpl->setOnScreenMessage('info', $this->lng->txt('chown_warning'));

$login = new ilTextInputGUI($this->lng->txt("login"), "owner");
$login->setDataSource($this->ctrl->getLinkTargetByClass([get_class($this),
'ilRepositorySearchGUI'
], 'doUserAutoComplete', '', true));
$form = new ilPropertyFormGUI();
$form->setFormAction($this->ctrl->getFormAction($this, 'owner'));
$form->setTitle($this->lng->txt('info_owner_of_object'));

$login = new ilTextInputGUI($this->lng->txt('login'), 'owner');
$login->setDataSource(
$this->ctrl->getLinkTargetByClass(
[
$this::class,
ilRepositorySearchGUI::class
],
'doUserAutoComplete',
'',
true
)
);
$login->setRequired(true);
$login->setSize(50);
$login->setInfo($this->lng->txt("chown_warning"));
$login->setValue(ilObjUser::_lookupLogin($this->gui_obj->getObject()->getOwner()));
$form->addItem($login);
$form->addCommandButton("changeOwner", $this->lng->txt("change_owner"));
Expand Down
7 changes: 5 additions & 2 deletions components/ILIAS/AccessControl/src/Log/Table.php
Original file line number Diff line number Diff line change
Expand Up @@ -172,7 +172,7 @@ public function getTotalRowCount(
mixed $filter_data,
mixed $additional_parameters
): ?int {
return $this->rbac_log->getLogItemsCount($this->getRefId(), $filter_data);
return $this->rbac_log->getLogItemsCount($this->getRefId(), $filter_data ?? []);
}

private function getRefId(): int
Expand Down Expand Up @@ -216,7 +216,10 @@ private function applyFilterValuesTrafos(array $filter_values): array
private function buildChangeColumn(int $action, array $data): string
{
if ($action === \ilRbacLog::CHANGE_OWNER) {
$user_name = \ilObjUser::_lookupFullname($data[0] ?? 0);

$user_name = isset($data[0]) && is_numeric($data[0])
? \ilObjUser::_lookupFullname((int) $data[0])
: '';
return "{$this->lng->txt('rbac_log_changed_owner')}: {$user_name}";
}

Expand Down
4 changes: 0 additions & 4 deletions components/ILIAS/Accordion/Accordion.php
Original file line number Diff line number Diff line change
Expand Up @@ -34,9 +34,5 @@ public function init(
): void {
$contribute[Component\Resource\PublicAsset::class] = fn() =>
new Component\Resource\ComponentJS($this, "accordion.js");
/* This library was missing after discussing dependencies for ILIAS 10
$contribute[Component\Resource\PublicAsset::class] = static fn() =>
new Component\Resource\NodeModule("owl.carousel/dist/owl.carousel.js");
*/
}
}
11 changes: 2 additions & 9 deletions components/ILIAS/Accordion/classes/class.ilAccordionGUI.php
Original file line number Diff line number Diff line change
Expand Up @@ -44,9 +44,6 @@ class ilAccordionGUI
protected string $containerclass = "";
protected string $id = "";
protected bool $head_class_set = false;
public static string $owl_path = "./node_modules/owl.carousel/dist";
public static string $owl_js_path = "/owl.carousel.js";
public static string $owl_css_path = "/assets/owl.carousel.css";
protected ilGlobalTemplateInterface $main_tpl;
protected string $active_headerclass = "";
protected string $behaviour = self::FIRST_OPEN;
Expand Down Expand Up @@ -228,8 +225,6 @@ public static function addJavaScript(?ilGlobalTemplate $main_tpl = null): void
$tpl = $DIC["tpl"];
}

ilYuiUtil::initConnection($tpl);

foreach (self::getLocalJavascriptFiles() as $f) {
$tpl->addJavaScript($f, true, 3);
}
Expand Down Expand Up @@ -258,16 +253,14 @@ public static function getLocalJavascriptFiles(): array
);
}
return array(
"assets/js/accordion.js",
"assets/js" . self::$owl_js_path
"assets/js/accordion.js"
);
}

public static function getLocalCssFiles(): array
{
return array(
"./components/ILIAS/Accordion/css/accordion.css",
self::$owl_path . self::$owl_css_path
"./components/ILIAS/Accordion/css/accordion.css"
);
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -100,4 +100,19 @@ public function getActions(): array
"removeFromSystem" => array("name" => "removeFromSystem", "lng" => "btn_remove_system")
);
}

protected function checkPermissionBool(string $perm, string $cmd = "", string $type = "", ?int $ref_id = null): bool
{
/*
* Since nodes in the administration do not have visible permissions anymore,
* those object permission checks have to be overwritten.
*/
$operations = explode(',', $perm);
$operations = array_diff($operations, ["visible"]);
$perm = implode(',', $operations);
if ($perm === '') {
return true;
}
return parent::checkPermissionBool($perm, $cmd, $type, $ref_id);
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -47,6 +47,8 @@ public function viewObject(): void
public static function _goto(): void
{
global $DIC;

$DIC->ctrl()->setParameterByClass(self::class, 'ref_id', SYSTEM_FOLDER_ID);
$DIC->ctrl()->redirectByClass([ilAdministrationGUI::class, self::class]);
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -17,11 +17,13 @@
*********************************************************************/

use ILIAS\User\Profile\PublicProfileGUI;
use ILIAS\Data\URI;

/**
* System support contacts
*
* @author Alex Killing <alex.killing@gmx.de>
* @ilCtrl_Calls ilSystemSupportContactsGUI: ILIAS\User\Profile\PublicProfileGUI
*/
class ilSystemSupportContactsGUI implements ilCtrlBaseClassInterface
{
Expand Down Expand Up @@ -61,9 +63,20 @@ public function __construct()
*/
public function executeCommand()
{
$cmd = $this->ctrl->getCmd("showContacts");
if (in_array($cmd, array("showContacts"))) {
$this->$cmd();
$next_class = $this->ctrl->getNextClass($this);

switch ($next_class) {
case strtolower(PublicProfileGUI::class):
$gui = new PublicProfileGUI();
$this->ctrl->setReturn($this, 'showContacts');
$this->ctrl->forwardCommand($gui);
break;

default:
$cmd = $this->ctrl->getCmd("showContacts");
if (in_array($cmd, array("showContacts"))) {
$this->$cmd();
}
}
}

Expand Down Expand Up @@ -95,18 +108,13 @@ public function showContacts()
$this->tpl->printToStdout();
}


/**
* Get footer link
*
* @return string footer link
*/
public static function getFooterLink()
public static function getFooterLink(): null|URI|string
{
global $DIC;

$ilCtrl = $DIC->ctrl();
$ilUser = $DIC->user();
$uri = $DIC->http()->request()->getUri();

$users = ilSystemSupportContacts::getValidSupportContactIds();
if (count($users) > 0) {
Expand All @@ -116,11 +124,12 @@ public static function getFooterLink()
ilSystemSupportContacts::getMailsToAddress()
);
} else {
return $ilCtrl->getLinkTargetByClass("ilsystemsupportcontactsgui", "", "", false, false);
$path = $ilCtrl->getLinkTargetByClass("ilsystemsupportcontactsgui", "", "", false, false);
return new URI($uri->getScheme() . '://' . $uri->getHost() . '/' . $path);
}
}

return "";
return null;
}

/**
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -98,6 +98,7 @@ public function __construct()
$this->ctrl = $DIC->ctrl();
$this->global_screen = $DIC->globalScreen();

$this->lng->loadLanguageModule('administration');
$this->lng->loadLanguageModule('benchmark');

$context = $this->global_screen->tool()->context();
Expand Down
14 changes: 10 additions & 4 deletions components/ILIAS/AdministrativeNotification/classes/Table.php
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,7 @@
use ILIAS\UI\URLBuilderToken;

/**
*
* @author Fabian Schmid <fabian@sr.solutions>
*/
class Table
{
Expand All @@ -45,11 +45,12 @@ class Table
private ilLanguage $lng;
private URLBuilder $url_builder;
private URLBuilderToken $id_token;
private bool $write_access;

protected array $components = [];

public function __construct(
private ilADNNotificationGUI $calling_gui,
private ilADNNotificationGUI $calling_gui
) {
global $DIC;
$this->ui_factory = $DIC['ui.factory'];
Expand All @@ -58,15 +59,16 @@ public function __construct(
$this->lng = $DIC['lng'];

$this->url_builder = $this->initURIBuilder();
$this->write_access = (new ilObjAdministrativeNotificationAccess())->hasUserPermissionTo('write');
$columns = $this->initColumns();
$actions = $this->initActions();
$data_retrieval = new DataRetrieval(
(new ilObjAdministrativeNotificationAccess())->hasUserPermissionTo('write')
$this->write_access
);

$this->components[] = $this->ui_factory->table()->data(
$data_retrieval,
$this->lng->txt('notifications'),
$this->lng->txt('msg_table_title'),
$columns,
)->withActions($actions)->withRequest(
$DIC->http()->request()
Expand Down Expand Up @@ -105,6 +107,10 @@ protected function initColumns(): array

protected function initActions(): array
{
if ($this->write_access === false) {
return [];
}

return [
self::ACTION_EDIT => $this->ui_factory->table()->action()->single(
$this->lng->txt("btn_edit"),
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -142,14 +142,23 @@ public function isVisibleForUser(ilObjUser $ilObjUser): bool
return ($this->isVisibleToUserBasedOnLanguage($ilObjUser) && $this->isVisibleRoleUserRoles($ilObjUser));
}


protected function isVisibleToUserBasedOnLanguage(ilObjUser $ilObjUser): bool
protected function isVisibleToUserBasedOnLanguage(ilObjUser $user): bool
{
if (!$this->hasLanguageLimitation()) {
return true;
}

return in_array($ilObjUser->getLanguage(), $this->getLimitedToLanguages(), true);
// Special case for anonymous user
if ($user->isAnonymous()) {
// current language
global $DIC;
$current_language = $DIC->http()->request()->getQueryParams()['lang']
?? $DIC->language()->getDefaultLanguage();
} else {
$current_language = $user->getLanguage();
}

return in_array($current_language, $this->getLimitedToLanguages(), true);
}


Expand Down
Loading