Compare commits

...

6923 Commits

Author SHA1 Message Date
Mihail Geshoski ffb6475f6a Moodle release 5.0.1 2025-06-06 12:32:05 +08:00
Mihail Geshoski a237da2cd7 NOBUG: Add upgrade notes 2025-06-06 12:32:05 +08:00
Sara Arjona 5f0de664bd weekly release 5.0+ 2025-06-05 16:43:29 +02:00
Sara Arjona c32e894dc2 NOBUG: Add upgrade notes 2025-06-05 16:43:28 +02:00
Michael Hawkins a98bb76076 MDL-83762 core_files: Bind resolve IPs and ports to cURL calls 2025-06-05 12:09:36 +07:00
Michael Hawkins 6d240f17ae Merge branch 'MDL-85571-500' of https://github.com/HuongNV13/moodle into MOODLE_500_STABLE 2025-06-05 12:34:37 +08:00
Mihail Geshoski 5f265a8be5 Merge branch 'MDL-85645-500' of https://github.com/lameze/moodle into MOODLE_500_STABLE 2025-06-05 12:31:56 +08:00
Mihail Geshoski 39fb6431d0 Merge branch 'MDL-85556_500_STABLE' of https://github.com/marxjohnson/moodle into MOODLE_500_STABLE 2025-06-05 12:25:44 +08:00
Vincent Schneider 94d5d89e4b MDL-84518 course: improved course visibility state handling 2025-06-05 11:22:11 +07:00
Michael Hawkins 7db7444d53 Merge branch 'MDL-80380-500' of https://github.com/HuongNV13/moodle into MOODLE_500_STABLE 2025-06-05 12:19:35 +08:00
Jun Pataleta 9d8cf5fb22 Merge branch 'MDL-85450-500' of https://github.com/rjnl/moodle into MOODLE_500_STABLE 2025-06-05 12:15:48 +08:00
Huong Nguyen d0a00b74d8 MDL-80380 core_auth: Add upgrade note 2025-06-05 11:12:27 +07:00
Huong Nguyen 1db743ea9a MDL-80380 admin: Support Microsoft XOAUTH2 for outgoing email 2025-06-05 11:12:22 +07:00
Mihail Geshoski 971f1fc25f Merge branch 'MDL-69765-500' of https://github.com/lucaboesch/moodle into MOODLE_500_STABLE 2025-06-05 12:10:56 +08:00
Jun Pataleta 571990b7de Merge branch 'MDL-84941-500' of https://github.com/paulholden/moodle into MOODLE_500_STABLE 2025-06-05 12:08:39 +08:00
Mihail Geshoski 45ed9e9127 Merge branch 'MDL-85072-500' of https://github.com/olivabigyo/moodle into MOODLE_500_STABLE 2025-06-05 11:00:24 +07:00
Mihail Geshoski 1fbd0fd3ee Merge branch 'MDL-83654-500-5' of https://github.com/junpataleta/moodle into MOODLE_500_STABLE 2025-06-05 11:00:24 +07:00
Mihail Geshoski 22f52b9b4a Merge branch 'MDL-85369_500' of https://github.com/agaranin/moodle into MOODLE_500_STABLE 2025-06-05 11:00:24 +07:00
Martin Gauk db8f7fc95a MDL-85488 mathjax: refactor loader to enhance configuration and loading 2025-06-05 11:00:24 +07:00
Mark Johnson 7ac6e421ab MDL-85323 core: Don't cache the login page 2025-06-05 11:00:12 +07:00
meirzamoodle 07a58bdb33 MDL-85375 libraries: Escaping a query parameter on pg_insert_id() 2025-06-05 01:34:18 +00:00
Vincent Schneider dfec066e2e MDL-84706 bigbluebuttonbn: improved authorization and mitigate CSRF risks 2025-06-05 01:34:18 +00:00
Huong Nguyen 847a39b6d5 MDL-79993 course: Fix PHPUnit failure 2025-06-05 01:34:18 +00:00
raortegar 4a2d2b54b2 MDL-79993 course: Improve user access to recent courses service 2025-06-05 01:34:18 +00:00
Vincent Schneider 7979e44436 MDL-84497 badges: fix missing action sesskey checks. 2025-06-05 01:34:18 +00:00
andelacruz e0e626f684 MDL-85645 mod_quiz: Behat to display questionbank name of quiz question. 2025-06-05 09:28:58 +08:00
Jun Pataleta 98a80ac3ca MDL-85239 mod_quiz: Use visually-hidden instead of deprecated sr-only 2025-06-05 09:26:07 +08:00
Jun Pataleta 0f8951ce28 Merge branch 'MDL-85239-500' of https://github.com/NashTechOpenUniversity/moodle into MOODLE_500_STABLE 2025-06-05 09:22:50 +08:00
Jun Pataleta f26f018876 Merge branch 'MDL-84804-500' of https://github.com/paulholden/moodle into MOODLE_500_STABLE 2025-06-05 08:12:39 +08:00
Sara Arjona 637f6dc508 Merge branch 'MDL-82069-500' of https://github.com/aanabit/moodle into MOODLE_500_STABLE 2025-06-04 15:37:00 +02:00
Paul Holden 9bed548080 MDL-84804 output: amend page title when navigating dynamic tabs.
Prepend the current tab name to the page title, to ensure we can
easily identify the current page/tab and that it is both unique
and accessible.
2025-06-04 14:07:38 +01:00
Paul Holden 410747af21 MDL-84804 javascript: new module for manipulating the page title. 2025-06-04 14:07:21 +01:00
cescobedo e20e2c044b Merge branch 'MDL-85273-500' of https://github.com/paulholden/moodle into MOODLE_500_STABLE 2025-06-04 12:59:13 +02:00
Jun Pataleta 03b1a727b6 Merge branch 'MDL-85041-500' of https://github.com/junpataleta/moodle into MOODLE_500_STABLE 2025-06-04 17:48:18 +08:00
Jun Pataleta a92df9e0ee MDL-85041 core: Make methods calling announceChanges async as well 2025-06-04 17:33:18 +08:00
meirzamoodle 25f8dd9d63 MDL-85041 core: Improve autocomplete/tag a11y for assistive tech
- Updated autocomplete behavior to announce dynamic changes
via ARIA live regions
- Fixed focus management for keyboard and screen reader navigation
- Added proper role/aria tags for interactive tag components
2025-06-04 17:33:17 +08:00
Huong Nguyen 72c71a1f89 MDL-85571 mod_assign: Improve PHPUnit tests 2025-06-04 12:50:33 +07:00
raortegar a52d4ed032 MDL-85571 mod_assign: Add visibility check to due digest notification 2025-06-04 12:50:33 +07:00
Jun Pataleta c947a7c303 Merge branch 'MDL-85507-500-enfix' of https://github.com/mudrd8mz/moodle into MOODLE_500_STABLE 2025-06-04 11:58:12 +08:00
Huong Nguyen 41c19a5e02 Merge branch 'MDL-84732-m500' of https://github.com/sammarshallou/moodle into MOODLE_500_STABLE 2025-06-04 10:53:19 +07:00
Mihail Geshoski 301ae93c4a Merge branch 'MDL-84432-500' of https://github.com/HuongNV13/moodle into MOODLE_500_STABLE 2025-06-04 10:47:05 +08:00
Huong Nguyen d207b50abf MDL-84432 core: Use discovery endpoint for Microsoft OAuth2 service
- Instead of creating the endpoints manually, use the OpenId
configuration endpoint to auto-configure endpoints
- Updates user field mappings so they map the new OpenId userinfo fields
2025-06-04 08:36:50 +07:00
Amaia Anabitarte c1552bc519 Merge branch 'MDL-85471-500' of https://github.com/junpataleta/moodle into MOODLE_500_STABLE 2025-06-03 16:18:59 +02:00
cescobedo b2f4f7ab62 Merge branch 'MDL-85398-500' of https://github.com/paulholden/moodle into MOODLE_500_STABLE 2025-06-03 15:51:32 +02:00
Amaia Anabitarte 50d9f8f70e Merge branch 'MDL-85327-500' of https://github.com/paulholden/moodle into MOODLE_500_STABLE 2025-06-03 13:37:38 +02:00
cescobedo 9bc8fe3bc1 Merge branch 'MDL-85326-500' of https://github.com/paulholden/moodle into MOODLE_500_STABLE 2025-06-03 13:10:46 +02:00
Jun Pataleta a716da64af Merge branch 'MDL-85467-500' of https://github.com/yusufwib01/moodle into MOODLE_500_STABLE 2025-06-03 17:28:35 +08:00
Paul Holden 290104c964 MDL-85326 theme_boost: hide footer popover icon on small screens.
Fixes regression from add6f71d which forced `.btn-icon` display.

Co-authored-by: Mikel Martín <mikel@moodle.com>
2025-06-03 09:18:06 +01:00
Rajneel Totaram a0c88aec39 MDL-85450 block_calendar_upcoming: Fix heading level 2025-06-03 09:39:18 +12:00
Mark Johnson dfd0dc28e8 MDL-85556 backup: Only update question refs in restored course
The previous query updated all question references matching the original
question bank entry, regardless of whether they were part of the restore
or not. When we are dealing with duplicated questions, this means we
could accidentally change question references in the backed-up course as
well as the restored one.

This change filters the references to ensure they exist in a context
within the restored course, before updating them.
2025-06-02 15:53:37 +01:00
Amaia Anabitarte 30b08ee83a Merge branch 'MDL-85412-500' of https://github.com/aanabit/moodle into MOODLE_500_STABLE 2025-06-02 13:24:17 +02:00
yusufwib01 e5da273f9a MDL-85467 core: Replace orphaned label with span for accessibility
This commit replaces orphaned labels with spans for improved
accessibility. It also updates the XPATH partial named selector
for select_menu fields to target span elements.
2025-06-02 13:45:03 +07:00
hieuvu c248e82b52 MDL-85239 mod_quiz: Add caption for Attempt tables. 2025-06-02 13:38:24 +07:00
Luca Bösch 6d2b25f10f MDL-69765 qtype_essay: Create temporary draft file area only one time. 2025-05-31 12:58:52 +02:00
Jun Pataleta 8d57b56b5a MDL-83654 qtype_match: Only add the question text to the first field
In order to avoid repetition of the question text as the user navigates
to each answer field in a matching question (e.g. by tabbing).
2025-05-31 09:25:22 +08:00
Jun Pataleta edcff12191 MDL-83654 qtype_match: Add presentation role to table-related elements
The question and answer are displayed on a layout table and
does not really help with accessibility. We need to set a
presentation role for the table-related elements.
2025-05-31 09:25:22 +08:00
Jun Pataleta 1229c2b1ef MDL-83654 qtype_match: Provide better information to answer fields
* In order to provide better context for screen reader users about the
answer fields in matching questions, the question text and the
corresponding item to be matched are included to the answer fields via
the aria-describedby attribute.
2025-05-31 09:25:22 +08:00
Amaia Anabitarte 7edec4866f MDL-85412 course: adding and removing elements feedback message 2025-05-30 16:42:43 +02:00
Sara Arjona 5c22b04af4 Merge branch 'MDL-85315-500' of https://github.com/lucaboesch/moodle into MOODLE_500_STABLE 2025-05-30 12:33:05 +02:00
Luca Bösch 01866455af MDL-85315 themes: align modal closing button. 2025-05-30 11:32:01 +02:00
Michael Hawkins 1260cb24b8 weekly release 5.0+ 2025-05-30 16:28:46 +08:00
Michael Hawkins 77e0f0a889 NOBUG: Add upgrade notes 2025-05-30 16:28:46 +08:00
Michael Hawkins 9330731d93 Merge branch 'install_500_STABLE' of https://git.in.moodle.com/amosbot/moodle-install into MOODLE_500_STABLE 2025-05-30 16:28:24 +08:00
Artem Garanin 8fa9939614 MDL-85369 question: fix tag collection ID in legacy‑filter upgrade.
Use the actual tag collection for the 'question' tag area instead of
the default collection.
2025-05-29 14:08:42 -04:00
Michael Hawkins 89d34beece Merge branch 'MDL-84824-500' of https://github.com/stevandoMoodle/moodle into MOODLE_500_STABLE 2025-05-29 12:27:08 +08:00
Michael Hawkins 325f273ca9 Merge branch 'MDL-83448-500' of https://github.com/stevandoMoodle/moodle into MOODLE_500_STABLE 2025-05-29 12:18:32 +08:00
Michael Hawkins c471fa4986 Merge branch 'MDL-84996-500' of https://github.com/paulholden/moodle into MOODLE_500_STABLE 2025-05-29 12:09:55 +08:00
Michael Hawkins b4e3dca13f Merge branch 'MDL-85513-500' of https://github.com/paulholden/moodle into MOODLE_500_STABLE 2025-05-29 12:04:15 +08:00
Michael Hawkins 7310e7d908 Merge branch 'MDL-85552-500' of https://github.com/yusufwib01/moodle into MOODLE_500_STABLE 2025-05-29 11:59:47 +08:00
Michael Hawkins e14e0428db Merge branch 'MDL-85437-500' of https://github.com/meirzamoodle/moodle into MOODLE_500_STABLE 2025-05-29 11:52:29 +08:00
Stevani Andolo 7f756ae983 MDL-84824 core_message: Fixed popup accessibility issue 2025-05-29 11:51:25 +08:00
Huong Nguyen 0e24a0400d Merge branch 'MDL-83044-500' of https://github.com/catalyst/moodle into MOODLE_500_STABLE 2025-05-29 10:27:10 +07:00
Huong Nguyen 1ad351d4a2 Merge branch 'MDL-85177-500' of https://github.com/lucaboesch/moodle into MOODLE_500_STABLE 2025-05-29 09:53:47 +07:00
Huong Nguyen 6c045bfefc Merge branch 'MDL-85525-500' of https://github.com/andelacruz/moodle into MOODLE_500_STABLE 2025-05-29 09:51:44 +07:00
Huong Nguyen 47c8a3ad7e Merge branch 'MDL-85400-500' of https://github.com/lameze/moodle into MOODLE_500_STABLE 2025-05-29 08:59:42 +07:00
Huong Nguyen aae09ebb6b Merge branch 'MDL-85389-500' of https://github.com/andelacruz/moodle into MOODLE_500_STABLE 2025-05-29 08:52:32 +07:00
AMOS bot 5feec7a0b0 Automatically generated installer lang files 2025-05-29 00:08:00 +00:00
andelacruz 28cf9407dd MDL-85525 mod_quiz: Behat test for quiz attempt page block display 2025-05-28 16:51:27 +08:00
andelacruz 06fd97cae1 MDL-85389 mod_lesson: Behat for filtering lesson reports/essays by group 2025-05-28 15:17:41 +08:00
sam marshall 82eecc9475 MDL-85400 PHPunit: Hard to test code that uses encryption
This change stops the encryption code setting created key files to
read-only during PHPunit runs, which means they will be safely
deleted when the system resets after a test.
2025-05-28 12:55:46 +08:00
meirzamoodle 499715e17e MDL-85437 AI: Move focus to the AI drawer 2025-05-28 11:31:06 +07:00
Mark Johnson 643eaa3418 MDL-85556 questions: Fix repeated_restore unit test
This unit test is meant to test restoring duplicated questions that
exist in a shared question bank. However, due to improvements in the
restore process from the introduction of mod_qbank, having the questions
in a bank that is not in the restored course means the questions don't
get restored at all, and we can't test that the process is working.

This changes the test to use a bank in the target course instead.
2025-05-27 10:46:44 +01:00
Jun Pataleta 181c55ad1c Merge branch 'MDL-84806-500' of https://github.com/davewoloszyn/moodle into MOODLE_500_STABLE 2025-05-27 15:37:08 +08:00
Huong Nguyen cb7d72d31d Merge branch 'MDL-85169-500' of https://github.com/paulholden/moodle into MOODLE_500_STABLE 2025-05-27 09:16:03 +07:00
Alexander Van der Bellen 114ff5fa92 MDL-83044 core_block: Add return value check on form submission 2025-05-26 23:03:27 +08:00
ferran dda97bdbfc Merge branch 'MDL-84304-500' of https://github.com/laurentdavid/moodle into MOODLE_500_STABLE 2025-05-26 13:50:05 +02:00
Sara Arjona e5d7e554ab Merge branch 'MDL-85404-500' of https://github.com/ferranrecio/moodle into MOODLE_500_STABLE 2025-05-26 11:27:45 +02:00
cescobedo 35588bca41 Merge branch 'MDL-85435-500' of https://github.com/aanabit/moodle into MOODLE_500_STABLE 2025-05-26 10:01:08 +02:00
David Mudrák e4247c79a6 MDL-85507 lang: Use fixed strings in tests, too 2025-05-25 08:54:02 +02:00
Helen Foster 00b809dbc5 MDL-85507 lang: Import fixed English strings (en_fix) 2025-05-25 08:53:09 +02:00
sam marshall d21fcdee19 MDL-84732 Accessibility: Focus issue after closing nested modal 2025-05-23 15:47:12 +01:00
Luca Bösch a8b08ea6fc MDL-85177 quiz: style the question version pulldown nicely. 2025-05-23 06:43:18 +02:00
Huong Nguyen a52fbcced6 weekly release 5.0+ 2025-05-23 11:03:46 +07:00
Huong Nguyen c957b909aa Merge branch 'install_500_STABLE' of https://git.in.moodle.com/amosbot/moodle-install into MOODLE_500_STABLE 2025-05-23 11:03:39 +07:00
David Woloszyn 86990aaab5 MDL-84806 tiny_aiplacement: Remove unused div and css 2025-05-23 12:36:46 +10:00
David Woloszyn 3cebd0e59a MDL-84806 tiny_aiplacement: Announce action results for accessibility
The generatetext.js and associated templates have been adjusted to
match more closely with the generate image files. The generate image
way of displaying content was better suited to aria.
2025-05-23 12:36:46 +10:00
yusufwib01 077fbd22cf MDL-85552 core: Make group selector label use normal font weight 2025-05-22 16:28:56 +07:00
Stevani Andolo 56a250792c MDL-83448 core_hub: Fixed registration check 2025-05-22 13:44:57 +08:00
Huong Nguyen ace36dc3df Merge branch 'MDL-84899-500' of https://github.com/laurentdavid/moodle into MOODLE_500_STABLE 2025-05-22 11:00:21 +07:00
Huong Nguyen e8b3c7174a Merge branch 'MDL-84793-m500' of https://github.com/sammarshallou/moodle into MOODLE_500_STABLE 2025-05-22 10:48:19 +07:00
Huong Nguyen 1edb106e9b Merge branch 'MDL-84918-500' of https://github.com/HuongNV13/moodle into MOODLE_500_STABLE 2025-05-22 10:34:23 +07:00
David Woloszyn abae164f41 MDL-84918 core: Add zend.exception_ignore_args environment check 2025-05-22 10:09:44 +07:00
Huong Nguyen c7912e21ba MDL-84918 core: Add initial environment requirements for Moodle 5.1 2025-05-22 10:08:46 +07:00
Huong Nguyen 7df8f6e430 Merge branch 'MDL-74900-500' of https://github.com/raortegar/moodle into MOODLE_500_STABLE 2025-05-22 09:37:14 +07:00
Huong Nguyen 475ef128ae Merge branch 'MDL-85193-500' of https://github.com/junpataleta/moodle into MOODLE_500_STABLE 2025-05-22 09:23:14 +07:00
Amaia Anabitarte 586ae425e6 MDL-85435 course: Render HTML in activity overview name mustache 2025-05-21 17:37:11 +02:00
Katalin Lukacs Toth 8f6e56173e MDL-85072 qtype_ordering: Fix XML export
Option fields should not be left empty.
2025-05-21 10:52:45 +02:00
Huong Nguyen a23635adc0 Merge branch 'MDL-84274-500' of https://github.com/davewoloszyn/moodle into MOODLE_500_STABLE 2025-05-21 13:35:45 +07:00
raortegar bfdcf4b490 MDL-74900 core_course: Exception in module deletion if missing instance 2025-05-21 08:27:23 +02:00
Huong Nguyen 2e7c195aee Merge branch 'MDL-85311-500' of https://github.com/rjnl/moodle into MOODLE_500_STABLE 2025-05-21 10:23:04 +07:00
Huong Nguyen d7f7653a8e Merge branch 'MDL-84296-500' of https://github.com/davewoloszyn/moodle into MOODLE_500_STABLE 2025-05-21 10:00:08 +07:00
Huong Nguyen 00652388c5 Merge branch 'MDL-85374-500' of https://github.com/andrewnicols/moodle into MOODLE_500_STABLE 2025-05-21 09:55:54 +07:00
AMOS bot 3c83131e34 Automatically generated installer lang files 2025-05-21 00:07:57 +00:00
Andrew Nicols dff4bc87f5 MDL-85374 report_competency: Create custom step for setting autocomplete
The autocompletes used in the competency report have been bastardised to
redirect on selection. Unfortunately this also applies when when making
null-op changes like deleting the initial "Please select a value"
option.

The autocomplete code removes all current options before creating an
option, and because of this redirect the browser is redirecting before
the new value can be entered, but we retain a reference to the field as
`$this->field`, which is now stale.
2025-05-20 12:42:11 +08:00
Amaia Anabitarte 4a1395205f Merge branch 'MDL-85397-500' of https://github.com/tasiobg/moodle into MOODLE_500_STABLE 2025-05-19 12:43:35 +02:00
Amaia Anabitarte e534517f7f Merge branch 'MDL-85264-500' of https://github.com/paulholden/moodle into MOODLE_500_STABLE 2025-05-19 12:38:25 +02:00
Laurent David f17a871f1d MDL-84304 core_courseformat: Remove COMPLETION_COMPLETE_FAIL test
* Because we removed this status in mod_scorm, we cannot test it
anymore against any module as no module has custom_rules that leads
to COMPLETION_COMPLETE_FAIL
2025-05-19 11:56:40 +02:00
Laurent David ef5c806a70 MDL-84304 mod_scorm: Remove completion failed from behat test
* Now that we removed the COMPLETION_COMPLETE_FAIL status for scorm
behat tests needs to be updated
2025-05-19 11:56:40 +02:00
Magnus Samuelsson 4de4029044 MDL-84304 mod_scorm: Remove the COMPLETION_COMPLETE_FAIL status 2025-05-19 11:56:40 +02:00
Amaia Anabitarte 2a2e18461f MDL-82069 core_completion: Improve errors for multiple grading items 2025-05-19 09:32:59 +02:00
Jun Pataleta 44d1a98e70 MDL-85471 theme_boost: Dismiss tooltips on escape 2025-05-16 14:23:37 +08:00
Mihail Geshoski 328810e933 weekly release 5.0+ 2025-05-16 12:58:25 +08:00
Mihail Geshoski b6b043b147 Merge branch 'install_500_STABLE' of https://git.in.moodle.com/amosbot/moodle-install into MOODLE_500_STABLE 2025-05-16 12:57:31 +08:00
Paul Holden 1babb4f4c2 MDL-85513 output: centre chevron icons within collapsible section. 2025-05-15 23:20:09 +01:00
sam marshall b5bb67d1f1 MDL-84793 Behat: Allow CLI scripts to run on Behat instance 2025-05-15 08:50:30 +01:00
Stevani Andolo 89358f92fb MDL-84296 core_hub: Added detailed AI usage data to registration page 2025-05-15 16:52:26 +10:00
Huong Nguyen 17f6225bc4 Merge branch 'MDL-83350-500' of https://github.com/meirzamoodle/moodle into MOODLE_500_STABLE 2025-05-15 12:02:14 +07:00
Huong Nguyen 77d63230a1 Merge branch 'MDL-84073-500' of https://github.com/sh-csg/moodle into MOODLE_500_STABLE 2025-05-15 11:57:21 +07:00
Huong Nguyen 43b4e56f8b Merge branch 'MDL-83943-500' of https://github.com/meirzamoodle/moodle into MOODLE_500_STABLE 2025-05-15 11:45:27 +07:00
Huong Nguyen 40add60152 Merge branch 'MDL-85279-500' of https://github.com/andelacruz/moodle into MOODLE_500_STABLE 2025-05-15 11:42:23 +07:00
Huong Nguyen 64e07e7afb Merge branch 'MDL-84009-500' of https://github.com/raortegar/moodle into MOODLE_500_STABLE 2025-05-14 21:51:53 +07:00
Huong Nguyen 1c67b54aa2 Merge branch 'MDL-84751-500' of https://github.com/davewoloszyn/moodle into MOODLE_500_STABLE 2025-05-14 21:41:44 +07:00
Amaia Anabitarte 2099b2cafb Merge branch 'MDL-85167-500' of https://github.com/roland04/moodle into MOODLE_500_STABLE 2025-05-14 21:41:44 +07:00
Amaia Anabitarte ef4af9dd82 Merge branch 'MDL-85205-500' of https://github.com/roland04/moodle into MOODLE_500_STABLE 2025-05-14 21:41:44 +07:00
Amaia Anabitarte 1c8d59349e Merge branch 'MDL-85360-500' of https://github.com/sarjona/moodle into MOODLE_500_STABLE 2025-05-14 21:41:43 +07:00
Sara Arjona ed999bea4b Merge branch 'MDL-85449-500' of https://github.com/paulholden/moodle into MOODLE_500_STABLE 2025-05-14 21:41:43 +07:00
Sara Arjona 1066601f0b Merge branch 'MDL-81436-500' of https://github.com/rjnl/moodle into MOODLE_500_STABLE 2025-05-14 21:41:43 +07:00
Sara Arjona b721f37d91 Merge branch 'MDL-81842-500' of https://github.com/laurentdavid/moodle into MOODLE_500_STABLE 2025-05-14 21:41:43 +07:00
Huong Nguyen b06bcdc209 Merge branch 'MDL-84128-500' of https://github.com/meirzamoodle/moodle into MOODLE_500_STABLE 2025-05-14 21:41:43 +07:00
Huong Nguyen 8e1c86a9a3 Merge branch 'MDL-85294-500' of https://github.com/lucaboesch/moodle into MOODLE_500_STABLE 2025-05-14 21:41:43 +07:00
Huong Nguyen b479e86c08 Merge branch 'MDL-85224_500' of https://github.com/PhilippImhof/moodle into MOODLE_500_STABLE 2025-05-14 21:41:43 +07:00
Huong Nguyen e927264c5a Merge branch 'MDL-85363-500' of https://github.com/lucaboesch/moodle into MOODLE_500_STABLE 2025-05-14 21:41:43 +07:00
Huong Nguyen 6effd2064a Merge branch 'MDL-84964-500' of https://github.com/Jayce0808/moodle into MOODLE_500_STABLE 2025-05-14 21:41:43 +07:00
ferran b969f89b01 Merge branch 'MDL-85364-500' of https://github.com/sarjona/moodle into MOODLE_500_STABLE 2025-05-14 21:41:43 +07:00
ferran 674a4c2a5f Merge branch 'mdl-84520_500' of https://github.com/james-cnz/moodle into MOODLE_500_STABLE 2025-05-14 21:41:43 +07:00
Sara Arjona 549e311fee Merge branch 'MDL-85248-500' of https://github.com/albertgasset/moodle into MOODLE_500_STABLE 2025-05-14 21:41:43 +07:00
Tasio c312a9871c MDL-85397 theme: update reports to use container queries
With container queries, responsive design is no longer limited to the full browser width. For example, we can now display
the report in a compact side panel, and it will automatically adapt its styling to suit smaller spaces.
2025-05-14 15:50:03 +02:00
raortegar 0f244e11a0 MDL-84009 factor_webauthn: Add additional security keys 2025-05-14 11:18:07 +02:00
raortegar 7d794f8a3e MDL-84009 tool_mfa: Additional factor instances support 2025-05-14 11:18:07 +02:00
Paul Holden f8db554520 MDL-84996 enrol_manual: ensure externally supplied users are valid. 2025-05-14 09:55:48 +01:00
ferran 38b9eb2653 MDL-85404 format_social: allow subsections in social activities 2025-05-14 09:58:59 +02:00
andelacruz 94233d6242 MDL-85279 mod_assign: Renamed behat test to a more specific name 2025-05-14 15:11:42 +08:00
andelacruz e8580cf851 MDL-85279 mod_page: Fix behat to match the expected behaviour 2025-05-14 15:07:14 +08:00
Rajneel Totaram b407011b18 MDL-81436 theme: Fix scope of showmore button selector
Co-authored-by: Mikel Martín <mikel@moodle.com>
2025-05-13 17:33:18 +12:00
David Woloszyn 67d2b86614 MDL-84751 aiprovider_ollama: Fix settings help spacing 2025-05-13 13:52:50 +10:00
David Woloszyn 52e9b4cdbe MDL-84751 aiprovider_openai: Fix settings help spacing 2025-05-13 13:52:50 +10:00
meirzamoodle 7725baa9db MDL-83350 files: Avoid cacheing user and file repo files
Set the lifetime to zero for files referenced in
the local/internal repository (private files and file system),
because they should not be cached.

Add `no-store` to the cache-control to ensure resources are
never cached, always fetching the latest version.
2025-05-13 09:37:40 +07:00
Jun Pataleta 3f534cad09 Merge branch 'MDL-84817-500' of https://github.com/davewoloszyn/moodle into MOODLE_500_STABLE 2025-05-12 12:44:37 +08:00
Laurent David be1e8f8887 MDL-81842 formlibs: Change display in sticky footer
* Make sure that form elements that are inserted in the
sticky footer are not wrapped
2025-05-12 06:23:50 +02:00
Paul Holden edd0e76bd1 MDL-85449 block_myoverview: preserve documentation language params.
Fixes the link to Moodle docs from zero state.
2025-05-11 19:27:36 +01:00
AMOS bot f84f671994 Automatically generated installer lang files 2025-05-10 00:08:00 +00:00
Philipp Imhof 237f9bd7c0 MDL-85224 quiz: consider submitted state when filtering
In function quiz_report_grade_method_sql(), also consider the new state 'submitted' when filtering for FIRSTATTEMPT or LASTATTEMPT.
2025-05-09 17:59:33 +02:00
Mikel Martín 3f832fda4d MDL-85205 theme_boost: Fix incorrect uses of 'btn-link' class
Because btn-link relies on $link-hover-decoration variable, some incorrect
btn-link usages need to be fixed.
2025-05-09 13:57:53 +02:00
Mikel Martín fad9778f8b MDL-85205 theme_boost: Add link hover underline 2025-05-09 13:57:53 +02:00
Paul Holden 406980d1b1 MDL-85398 blocks: constrain width of block controls dropdown menu. 2025-05-09 12:52:45 +01:00
Mikel Martín 7b472fae76 MDL-85167 theme_boost: Fix tertiary navigation key listeners 2025-05-09 13:47:41 +02:00
Laurent David c6253c34bb MDL-84899 mod_forum: Fix summary report form change checker
* The forum summary report was not removing the right form
from the list of forms to check for changes.
2025-05-09 08:43:43 +02:00
Laurent David ee9cc3b397 MDL-84899 core_form: Fix unWatchForm in FormChangeChecker
* The unWatchForm as it stood was not removing the form from the list.
2025-05-09 08:43:43 +02:00
Luca Bösch bbcc5462af MDL-85363 quiz: style the question number inplace editable nicely. 2025-05-09 08:13:07 +02:00
Luca Bösch 5ab4641119 MDL-85294 qbank: Align header, buttons and switch in "Edit categories". 2025-05-09 08:13:01 +02:00
meirzamoodle efacf36423 MDL-83943 core_tag: Fix the broken user tag pagination 2025-05-09 12:49:48 +07:00
meirzamoodle ffa4c0ea3f MDL-84128 core: Flip the image according to its orientation in PHP GD 2025-05-09 11:17:28 +07:00
Huong Nguyen 6999197243 weekly release 5.0+ 2025-05-09 09:50:13 +07:00
Huong Nguyen 4345819a25 Merge branch 'install_500_STABLE' of https://git.in.moodle.com/amosbot/moodle-install into MOODLE_500_STABLE 2025-05-09 09:50:05 +07:00
Stefan Hanauska 1540e90991 MDL-84073 blocks: Load invisible blocks 2025-05-08 14:36:54 +02:00
David Woloszyn 758a35058f MDL-84817 core_message: Fix display issues in drawer at 400% 2025-05-08 17:07:28 +10:00
Huong Nguyen 2654ce0457 Merge branch 'MDL-85341-500' of https://github.com/snake/moodle into MOODLE_500_STABLE 2025-05-08 10:52:31 +07:00
Huong Nguyen 4220abfd22 Merge branch 'MDL-85280-500' of https://github.com/abias/moodle into MOODLE_500_STABLE 2025-05-08 10:38:27 +07:00
danghieu1407 62c3325c06 MDL-84708 question: Fixing layout answer box issue causing images 2025-05-08 09:48:04 +07:00
Huong Nguyen cc63c27931 Merge branch 'MDL-84677-500' of https://github.com/lucaboesch/moodle into MOODLE_500_STABLE 2025-05-08 09:28:13 +07:00
Huong Nguyen b47fc4a266 Merge branch 'MDL-84597-500' of https://github.com/paulholden/moodle into MOODLE_500_STABLE 2025-05-08 09:05:05 +07:00
Huong Nguyen dad46b2976 Merge branch 'MDL-85220-500' of https://github.com/rjnl/moodle into MOODLE_500_STABLE 2025-05-08 08:59:02 +07:00
Huong Nguyen e14280bf94 Merge branch 'MDL-84654-500' of https://github.com/andelacruz/moodle into MOODLE_500_STABLE 2025-05-08 08:44:13 +07:00
Amaia Anabitarte 685da75cd9 Merge branch 'MDL-85361-500' of https://github.com/sarjona/moodle into MOODLE_500_STABLE 2025-05-07 14:01:51 +02:00
Mikel Martín a6ce0dc708 MDL-83422 tiny_media: Fix modal footer layout 2025-05-07 13:51:26 +02:00
Jun Pataleta 0c8e1b6256 MDL-85193 course: Fix restore of backups with missing activity plugins
Show debugging instead of throwing an error when fetching an activity
icon from a missing activity plugin.
2025-05-07 18:10:25 +08:00
AMOS bot 5c89e91dad Automatically generated installer lang files 2025-05-07 00:07:53 +00:00
Angelia Dela Cruz 5b1761963c MDL-84654 mod_assign: Assignment additional files can be hidden 2025-05-06 12:41:47 +08:00
Huong Nguyen ebc9254a33 Merge branch 'MDL-85310-500' of https://github.com/andelacruz/moodle into MOODLE_500_STABLE 2025-05-06 10:31:59 +07:00
Sara Arjona f9dc580bb9 MDL-85364 block_social_activities: Move activities in mod pages too 2025-05-05 09:16:35 +02:00
Sara Arjona e1b0d8b770 MDL-85360 theme_boost: Fix active item indicator spacing
The fix in MDL-85017 covered the More menu; however, the secondary
navigation within the Single activity course format was not updated.
2025-05-05 08:38:02 +02:00
Sara Arjona 687857ea58 MDL-85361 block_social_activity: Fix inline editing text field 2025-05-04 19:37:40 +02:00
Paul Holden c3056486bf MDL-85264 javascript: reject promise when hiding saveCancel modal. 2025-05-02 17:30:09 +01:00
Paul Holden 5ee54fe953 MDL-85169 forms: focus grouped fields element based on parent data.
This fixes the previous attempt at focusing the first field within
grouped elements (aec60788) which inadvertently introduced duplicate
IDs.
2025-05-02 13:47:14 +01:00
Luca Bösch 1c0a30495c MDL-84677 backup: Filter course shortnames in copy progress viewer. 2025-05-02 08:51:34 +02:00
Huong Nguyen 69b36a36b4 weekly release 5.0+ 2025-05-02 09:16:13 +07:00
Huong Nguyen 4fb1ca66b4 Merge branch 'install_500_STABLE' of https://git.in.moodle.com/amosbot/moodle-install into MOODLE_500_STABLE 2025-05-02 09:16:07 +07:00
Jake Dallimore 9c31818311 MDL-85341 core: remove unnecessary sesskey from module controlmenu items
This impacts those items using basemodurl:
- edit item
- move item
neither of which need sesskey at this stage as changes aren't being made
yet.
2025-05-02 09:55:37 +08:00
Paul Holden 286e5f0a7d MDL-85273 output: fix custom menu dropdowns within "More" sub-menu.
Since move to BS5 data-* attributes in 0c586b41 trying to open custom
menu dropdowns that had been moved to the "More" sub-menu was broken.

It appears that Bootstrap now handles open/close for us automatically
(so we were effectively closing the menu immediately after Bootstrap
opened it).
2025-05-01 22:04:11 +01:00
Paul Holden aab3c0722f MDL-85327 admin: observe show/hide settings on category page.
Co-authored-by: Carlos Castillo <carlos.castillo@moodle.com>
2025-05-01 10:55:22 +01:00
Huong Nguyen 536391d442 Merge branch 'MDL-85178-500' of https://github.com/lucaboesch/moodle into MOODLE_500_STABLE 2025-05-01 11:02:47 +07:00
Huong Nguyen a6a6e54862 Merge branch 'MDL-85107-500' of https://github.com/ferranrecio/moodle into MOODLE_500_STABLE 2025-05-01 09:50:51 +07:00
Rajneel Totaram 9026613016 MDL-85311 mod_forum: Fix broken unread posts styles 2025-05-01 13:05:04 +12:00
AMOS bot 60fd449bc6 Automatically generated installer lang files 2025-05-01 00:07:59 +00:00
Angelia Dela Cruz 8982f5ee9e MDL-85310 qtype: Renamed duplicate scenario names to fix warning 2025-04-30 13:32:43 +08:00
Huong Nguyen 1b9dfd94c1 Merge branch 'MDL-85222-500' of https://github.com/tasiobg/moodle into MOODLE_500_STABLE 2025-04-30 10:05:39 +07:00
Huong Nguyen 684a9fc34b Merge branch 'MDL-85208-500' of https://github.com/paulholden/moodle into MOODLE_500_STABLE 2025-04-30 10:03:48 +07:00
Sara Arjona d26bcd0069 Merge branch 'MDL-84805-500' of https://github.com/aanabit/moodle into MOODLE_500_STABLE 2025-04-29 15:31:51 +02:00
Amaia Anabitarte f083271328 MDL-84805 badges: Titles must be unique 2025-04-29 11:14:31 +02:00
Rajneel Totaram e64903b7b2 MDL-85220 block_recentlyaccesseditems: Fix heading level 2025-04-29 10:11:23 +12:00
Paul Holden 6f14d54be9 MDL-84941 course: fix activity button label on end of section.
Where the button is rendered after all section content, we should
fix the ARIA label attribute to refer to the current section rather
than non-existing subsequent activity.
2025-04-28 11:22:56 +01:00
Sara Arjona 2a131a18c3 Merge branch 'MDL-84192-500' of https://github.com/paulholden/moodle into MOODLE_500_STABLE 2025-04-28 11:25:05 +02:00
Paul Holden 2e90ab1ee8 MDL-84983 core: account for invalid locales in intl extension.
Recent PHP versions are now stricter on the `$locale` value passed
to `IntlDateFormatter` class and will throw exceptions for invalid
values (some of which may be present in our language packs).

See: https://github.com/php/php-src/issues/12912
2025-04-28 10:56:21 +07:00
Huong Nguyen 89285b7efc Merge branch 'MDL-84539-500' of https://github.com/andrewgos/moodle into MOODLE_500_STABLE 2025-04-28 08:59:27 +07:00
Paul Holden daa6fe8af1 MDL-84597 blog: confirm blogs enabled prior to settings nav access. 2025-04-25 12:22:08 +01:00
Luca Bösch 6ad24df3d0 MDL-85178 quiz: style the question number inplace editable nicely. 2025-04-25 08:39:11 +02:00
Alexander Bias 9b7ac2d4d1 MDL-85280 communication: Adapt communication button style 2025-04-25 08:15:41 +02:00
Andrew Nicols 15ab527174 MDL-84421 tool_uploadcourse: Stop MUC caching enrol instances
We should not normally cache instances of a class. This can lead to poor
design to work around the limitations of PHP Serialization, and could
theoretically cause issues with PHP versions changing within a Moodle
version.
2025-04-25 09:10:09 +07:00
Huong Nguyen 5511a18ae5 weekly release 5.0+ 2025-04-24 22:05:39 +07:00
Huong Nguyen 9bd83512e6 NOBUG: Add upgrade notes 2025-04-24 22:05:38 +07:00
Huong Nguyen 32fa48c8c9 Merge branch 'install_500_STABLE' of https://git.in.moodle.com/amosbot/moodle-install into MOODLE_500_STABLE 2025-04-24 22:05:23 +07:00
Paul Holden 34bdcdaa00 MDL-84192 course: update course information page language string.
The previous version used an incorrectly deprecated summary string.
2025-04-24 11:53:36 +01:00
Paul Holden 20fb7a4f1a MDL-84480 files: correct text formatting params when filtering files. 2025-04-24 07:31:17 +02:00
Nathan Nguyen ec4bfaf137 MDL-84233 core_user: fix unit test 2025-04-24 07:31:17 +02:00
Lars Bonczek 742b58fb04 MDL-83563 form: Fix hideIf and disabledIf dependent on multiselects 2025-04-24 07:31:17 +02:00
Huong Nguyen a440099d46 Merge branch 'MDL-84442-metadata-task-logs-MOODLE_500_STABLE' of https://github.com/bwalkerl/moodle into MOODLE_500_STABLE 2025-04-24 07:31:17 +02:00
Huong Nguyen 13f476b154 Merge branch 'MDL-85202-500' of https://github.com/paulholden/moodle into MOODLE_500_STABLE 2025-04-24 07:31:16 +02:00
David Woloszyn 09b72f375e MDL-84274 tool_policy: Policy acceptance pages use secure layout 2025-04-24 12:00:03 +10:00
David Woloszyn 65a3bf07c4 MDL-84274 tool_mfa: Prevent tool_policy pages from redirecting 2025-04-24 12:00:03 +10:00
Paul Holden 03ee9f3c1d MDL-85264 output: fix form change checker when switching tabs.
During the Bootstrap 5.0 upgrade the event handling within dynamic
tabs appears to have changed such that the "click" event happens
too late for the form change checker module to determine whether
there were any "dirty" forms on the tab being switched from.

This is related to, although not specifically caused by, changes
made in 0c586b41.
2025-04-23 18:03:32 +01:00
Jayce a4f96dce4d MDL-84964 mod_glossary: min width only apply for large device 2025-04-23 10:01:53 +09:30
AMOS bot 62def094c8 Automatically generated installer lang files 2025-04-23 00:07:57 +00:00
Sara Arjona 01ae63ca47 Merge branch 'MDL-82658-500' of https://github.com/paulholden/moodle into MOODLE_500_STABLE 2025-04-22 16:46:29 +02:00
David Woloszyn 05f009fc14 MDL-84807 AI: Remove records on provider uninstall 2025-04-22 16:43:59 +02:00
Albert Gasset 997122cde0 MDL-85248 qtype_ddimageortext: Revert MDL-66584
This reverts commit d792c4916a.
2025-04-22 16:41:22 +02:00
Paul Holden 92a20551cf MDL-82658 mod_forum: calculate maxbytes correctly in reply handler. 2025-04-22 08:43:06 +01:00
Huong Nguyen 7582e6a677 Merge branch 'MDL-85182-500' of https://github.com/lucaboesch/moodle into MOODLE_500_STABLE 2025-04-22 10:09:07 +07:00
Brendan Heywood f3ab1afd05 MDL-84070 core: Fix race conditions setting user preferences 2025-04-22 08:39:17 +07:00
Benjamin Walker 9e34a5f4c0 MDL-84442 core_task: Add finalise log param to task failers 2025-04-22 09:26:56 +10:00
Andrew Gosali d4e9ca5712 MDL-84539 report_participation: use capability viewanonymousevents 2025-04-21 09:56:43 +07:00
Huong Nguyen c5d88c2426 Merge branch 'mdl-83262_500' of https://github.com/james-cnz/moodle into MOODLE_500_STABLE 2025-04-21 09:12:36 +07:00
AMOS bot 1eab163f65 Automatically generated installer lang files 2025-04-20 00:08:19 +00:00
AMOS bot edc2b3d49c Automatically generated installer lang files 2025-04-19 00:07:57 +00:00
AMOS bot 408adbe49a Automatically generated installer lang files 2025-04-18 00:08:00 +00:00
Luca Bösch 97752da2a8 MDL-85182 block_myoverview: Fix choice active item indicator spacing 2025-04-17 17:09:09 +02:00
Sara Arjona ba42149eb1 weekly release 5.0+ 2025-04-17 14:29:57 +02:00
Sara Arjona ac88fe5b13 NOBUG: Add upgrade notes 2025-04-17 14:29:57 +02:00
Tasio 6d522be2cf MDL-85222 themes: Remove grey zebra-striping background on reports
Only removing the grey background in small sceens when
the table is displayed as an accordion

Co-authored-by: Mikel Martín Corrales <mikel@moodle.com>
2025-04-17 14:16:16 +02:00
Paul Holden 6f28ea370d MDL-84298 mod_assign: target only first label for grade popout button. 2025-04-17 10:52:39 +07:00
Huong Nguyen 4a37e4438a Merge branch 'MDL-84625-M500_close-recordset-in-core_analytics-model-add_prediction_ids' of https://github.com/ziegenberg/moodle into MOODLE_500_STABLE 2025-04-17 10:27:50 +07:00
Huong Nguyen 40b6c3233c Merge branch '83713-javascript-error-xml-grades-import-500' of https://github.com/DSI-Universite-Rennes2/moodle into MOODLE_500_STABLE 2025-04-17 10:11:57 +07:00
Dagoberto Robayo 2a48472266 MDL-84232 mod_quiz: Avoid recover grades in quiz view page
- If Recover grades default is not enabled, quiz grades should not be recover.
2025-04-17 08:39:15 +07:00
James C 49eccd6af2 MDL-83262 course: Refresh all-sections toggler on section delete 2025-04-17 12:49:52 +12:00
Paul Holden 8968b682be MDL-85208 core: switch to ARIA attribute to label table headings.
Since ad14d58d visually hidden text within tables was displayed as
block elements, which introduced artificial line breaks in headings
for column names and sorting icons.

Co-authored-by: Mikel Martín <mikel@moodle.com>
2025-04-16 21:25:05 +01:00
Julien Boulen 388d53c3fe MDL-83713 form: Fix javascript selector on file picker
Co-authored-by: Meirza <meirza.arson@moodle.com>
2025-04-16 16:46:38 +02:00
Paul Holden a5588f890e MDL-84820 moodlenet: correct activity modal icon size/alignment. 2025-04-16 15:24:59 +02:00
Amaia Anabitarte c06bf3b038 MDL-85170 mod_choice: Remove the unnecessary ul closing tag 2025-04-16 15:12:14 +02:00
Sara Arjona 5a3e26b0f2 Merge branch 'MDL-82132-500' of https://github.com/paulholden/moodle into MOODLE_500_STABLE 2025-04-16 14:55:05 +02:00
Leon Stringer 2b05496629 MDL-83195 mod_assign: Individual grade release
Fix pushing individual grades into the gradebook (as opposed to the
batch release of grades) when "Allow partial release of grades while
marking anonymously" is enabled.

This change reworks MDL-73626's fix for the same issue for releasing
multiple grades in a batch operation.
2025-04-16 09:39:37 +07:00
Paul Holden e2f4f23f34 MDL-82132 user: less restrictive returning first/lastname details.
The `viewfullnames` capability check was overeager in restricting
the inclusion of user first and lastname properties in the returned
structure. Especially given that the same data was almost always
present in the fullname property of the same structure.
2025-04-15 16:05:39 +01:00
Paul Holden 5a28a54627 MDL-82132 user: re-factor code for generating dummy user fullname. 2025-04-15 16:05:28 +01:00
Sara Arjona 1e3f359acf Merge branch 'MDL-84149-500' of https://github.com/paulholden/moodle into MOODLE_500_STABLE 2025-04-15 16:44:58 +02:00
Paul Holden 14bf5bd303 MDL-84140 course: more resilient check for activity footer component. 2025-04-15 16:31:14 +02:00
Paul Holden 803b561f80 MDL-83990 course: ensure course start/end dates set in external call. 2025-04-15 16:18:40 +02:00
Paul Holden 2bafdb41ab MDL-83537 check: confirm presence of instance action link. 2025-04-15 16:09:22 +02:00
Jun Pataleta 18a588063e Merge branch 'MDL-83979-url-always-proxy' of https://github.com/brendanheywood/moodle into MOODLE_500_STABLE 2025-04-15 20:38:56 +08:00
Sara Arjona d5c3f2325d Merge branch 'MDL-55034-500' of https://github.com/paulholden/moodle into MOODLE_500_STABLE 2025-04-15 13:36:44 +02:00
Huong Nguyen afc530a43f Merge branch 'MDL-85207-500' of https://github.com/sarjona/moodle into MOODLE_500_STABLE 2025-04-15 18:30:34 +07:00
Paul Holden 1ba74349e7 MDL-78381 course: observe default "showactivitydates" in external call. 2025-04-15 11:36:49 +02:00
Paul Holden 0d9d1ff504 MDL-80337 availability: more robust checking for plugin class presence.
Co-authored-by: Dustin Brisebois <dustin.brisebois@lambdasolutions.net>
2025-04-15 11:30:30 +02:00
Sara Arjona fae86af494 MDL-85207 glossary: Add missing step for autolink behat test 2025-04-15 10:34:37 +02:00
Paul Holden e1c750b49d MDL-84149 gradereport_grader: better support for collapse preferences.
The privacy provider is now resilient against missing courses, and also
supports retrieving preferences from multiple courses for the user.
2025-04-15 07:32:15 +01:00
Huong Nguyen 11a31a6b2c Merge branch 'MDL-85179-500' of https://github.com/lucaboesch/moodle into MOODLE_500_STABLE 2025-04-15 08:31:55 +02:00
Huong Nguyen 68cdd9d50c Merge branch 'MDL-85195-500' of https://github.com/lucaboesch/moodle into MOODLE_500_STABLE 2025-04-15 08:31:55 +02:00
Sara Arjona e5b9a12966 Merge branch 'MDL-62230' of https://github.com/paulholden/moodle into MOODLE_500_STABLE 2025-04-15 08:31:55 +02:00
Sara Arjona 033447ee87 Merge branch 'MDL-81454-main' of https://github.com/daniil-berg/moodle into MOODLE_500_STABLE 2025-04-15 08:31:55 +02:00
Sara Arjona 7195df2ca1 Merge branch 'MDL-83550-main' of https://github.com/andrewgos/moodle into MOODLE_500_STABLE 2025-04-15 08:31:55 +02:00
Sara Arjona 17f0b61b1d Merge branch 'MDL-78886-main' of https://github.com/mwehr/moodle into MOODLE_500_STABLE 2025-04-15 08:31:55 +02:00
Sara Arjona bf943db69e Merge branch 'MDL-66584-master' of https://github.com/danghieu1407/moodle into MOODLE_500_STABLE 2025-04-15 08:31:55 +02:00
Sara Arjona 3b62816190 Merge branch 'MDL-84833-main' of https://github.com/ferranrecio/moodle into MOODLE_500_STABLE 2025-04-15 08:31:55 +02:00
Sara Arjona c9defe656a Merge branch 'MDL-79464-main' of https://github.com/mihailges/moodle into MOODLE_500_STABLE 2025-04-15 08:31:55 +02:00
Sara Arjona cc73f24d4f Merge branch 'MDL-84937' of https://github.com/jfederico/moodle into MOODLE_500_STABLE 2025-04-15 08:31:55 +02:00
Wehr Mario f098bcde4f MDL-78886 assignfeedback_editpdf: Fix broken next page button in PDFView
Credits go to Cédric Gerbault cdgerbault@gmail.com for providing the fix.
2025-04-15 08:31:53 +02:00
ferran 80af23cdd3 MDL-84833 course: completion feedback messages 2025-04-15 08:31:53 +02:00
jfederico 26f7f7ef21 MDL-84937 mdl_bigbluebuttonbn: Hide Settings for RecordingsOnly 2025-04-15 08:31:52 +02:00
Paul Holden 6a462b63f1 MDL-55034 blog: update external blog deletion to not leak sesskey. 2025-04-14 17:32:29 +01:00
Paul Holden ad48d8ee81 MDL-85202 core: update list of stale files for 5.0 release. 2025-04-14 17:07:59 +01:00
ferran 377e0b4e46 MDL-85107 calendar: fix humandate year display 2025-04-14 12:46:01 +02:00
Luca Bösch 561842d7fe MDL-85195 block_myoverview: colour the button as in Bootstrap 4. 2025-04-14 11:54:00 +02:00
Luca Bösch f02a3572e2 MDL-85179 mod_data: colour the buttons upon creation as in Bootstrap 4. 2025-04-14 11:36:09 +02:00
Daniel Ziegenberg f721c97a19 MDL-84625 analytics: close recordset when it's not needed anymore
Signed-off-by: Daniel Ziegenberg <daniel@ziegenberg.at>
2025-04-14 10:05:36 +02:00
Jun Pataleta 6f6b960cf8 MDL-85187 upgrade: Add the 5.0.0 separation line to all upgrade scripts 2025-04-14 09:32:14 +07:00
James C 4e6310fbe8 MDL-84520 course: CM anchor scrolls to specified CM 2025-04-14 12:19:07 +12:00
Jun Pataleta 78e8601783 Moodle release 5.0 2025-04-13 09:54:15 +08:00
Jun Pataleta f933606dec NOBUG: Add upgrade notes 2025-04-13 09:54:13 +08:00
Huong Nguyen 095a863674 Moodle release 5.0rc3 2025-04-11 22:03:06 +07:00
Huong Nguyen 7ac32003f7 NOBUG: Add upgrade notes 2025-04-11 22:03:06 +07:00
Jun Pataleta ccecfaa89f Merge branch 'MDL-83994-fix' of https://github.com/sarjona/moodle 2025-04-11 19:23:18 +08:00
Huong Nguyen 2fd810c898 MDL-72704 message: Fix fetching for user has already contacted 2025-04-11 17:45:43 +08:00
Sara Arjona 1f4313b4a9 MDL-83994 course: Improve PHPUnit tests for delete_section 2025-04-11 11:33:45 +02:00
Jun Pataleta 0a25c4cb8f Merge branch 'MDL-85155-main' of https://github.com/HuongNV13/moodle 2025-04-11 13:59:00 +08:00
Huong Nguyen 38b22124bf MDL-85155 filter_mathmaxloader: Fix local hosted instance loading 2025-04-11 12:06:08 +07:00
Sara Arjona 06b9666ed7 Merge branch 'MDL-85139-main-2' of https://github.com/junpataleta/moodle 2025-04-11 07:05:08 +02:00
Paul Holden bd6ec0ac84 MDL-84865 cohort: improve system report validation of parameters. 2025-04-11 12:46:16 +08:00
Jun Pataleta bb65effe41 MDL-72704 message: Additional optimisation tweaks
* Return early if the `userids` params is empty or if the filtered
user IDs end up being empty.
2025-04-11 12:17:52 +08:00
Stevani Andolo a8179842b4 MDL-72704 message: Fix fetching of conversation member info 2025-04-11 12:17:52 +08:00
raortegar ff9bbd6d9e MDL-85104 lib: Add additional check to local URLs params. 2025-04-11 10:21:40 +07:00
Jun Pataleta 5e3047aa40 Merge branch 'MDL-85115-main' of https://github.com/HuongNV13/moodle 2025-04-11 11:12:05 +08:00
James C 765f2ded25 MDL-83994 course: Respect course_can_delete_section() in AJAX 2025-04-11 12:54:47 +10:00
Paul Holden 630fbf6230 MDL-84473 repository_equella: safer unserializing of file references. 2025-04-11 09:51:08 +07:00
Jun Pataleta f31a3f2529 Merge branch 'MDL-85087-main' of https://github.com/andrewgos/moodle 2025-04-11 10:42:32 +08:00
Jun Pataleta 9a93a6162c Merge branch 'MDL-85062-main-1' of https://github.com/mihailges/moodle 2025-04-11 10:38:25 +08:00
Paul Holden 27b839b5c6 MDL-84475 repository_dropbox: safer unserializing of file references. 2025-04-11 09:33:03 +07:00
Jun Pataleta da7e110b77 MDL-85139 forms: Revert the addition of element IDs in group containers
This reverts the changes to core/element-group by MDL-61823 as it is
causing duplicate ID issues.
2025-04-11 10:09:49 +08:00
Huong Nguyen e741e0ba9c Merge branch 'MDL-85147-main' of https://github.com/junpataleta/moodle 2025-04-11 08:34:54 +07:00
Huong Nguyen 50c2179f08 MDL-85115 core_grades: Sort the grade instances 2025-04-11 08:30:47 +07:00
Sara Arjona 8d87ac12fa Merge branch 'MDL-85077-main' of https://github.com/roland04/moodle 2025-04-10 16:12:44 +02:00
Jun Pataleta cc9e257e7a Merge branch 'MDL-85100' of https://github.com/paulholden/moodle 2025-04-10 21:17:03 +08:00
Jun Pataleta a51fd61a8d Merge branch 'MDL-85135-main' of https://github.com/mihailges/moodle 2025-04-10 17:54:48 +08:00
Sara Arjona 5538eab025 Merge branch 'MDL-84782-main' of https://github.com/lucaboesch/moodle 2025-04-10 11:27:43 +02:00
Andrew Gosali ad13d6e9a4 MDL-85087 core_grades: make the grade penalty icon to be a tooltip 2025-04-10 16:03:53 +07:00
Mikel Martín ad14d58dc5 MDL-85077 theme_boost: Fix responsive tables after BS5 upgrade
- Replace class 'no-overflow' with 'table-responsive' for responsive tables.
- Fix dropdown positioning inside responsive tables.
- Fix visually-hidden elements inside tables generating incorrect page scrolling.
2025-04-10 10:28:23 +02:00
Alec Gullon 7f708eaff9 MDL-79464 mod_assign: Limit user navigation if grading fails validation 2025-04-10 16:27:24 +08:00
Andrew Gosali 5c703f7b49 MDL-84447 mod_assign: show anonymous name when selecting user on blind submissions 2025-04-10 13:33:11 +07:00
Michael Hawkins 8692935efa MDL-85152 filter_tex: Update deny list and slash handling 2025-04-10 14:20:27 +08:00
Paul Holden 91e6ad43ed MDL-84478 tool_brickfield: verify sesskey prior to course analysis. 2025-04-10 13:06:12 +08:00
Paul Holden 0bd97209ac MDL-84499 block_rss_client: user access checks for viewing feed. 2025-04-10 12:31:55 +08:00
Paul Holden 052007b732 MDL-65356 mod_data: update entry editing/deletion to not leak sesskey. 2025-04-10 10:07:11 +07:00
Paul Holden 64a4311266 MDL-84750 course: require user be able to view course participants. 2025-04-10 09:25:30 +08:00
Mihail Geshoski 03f2e24060 MDL-85135 mod_assign: Improve behat tests 2025-04-10 09:18:27 +08:00
Sara Arjona c91faff141 Merge branch 'MDL-85144' of https://github.com/ssj365/moodle 2025-04-09 16:50:54 +02:00
Sara Arjona 232e0ccbb4 Merge branch 'MDL-85143' of https://github.com/paulholden/moodle 2025-04-09 13:04:37 +02:00
David Woloszyn bad803358c MDL-84351 tool_mfa: Fix guidance page file access
File uploaded to the guidance page were not accessible due to
null values being provided to $course and $cm params for the
tool_mfa_pluginfile.
2025-04-09 16:49:41 +07:00
raortegar b52ff75980 MDL-84351 tool_mfa: Fix access to guide page when MFA login 2025-04-09 16:49:41 +07:00
David Woloszyn a13d8e4ff1 MDL-84351 tool_mfa: Check URL against allowed components for redirect 2025-04-09 16:49:41 +07:00
David Woloszyn 57d26f552e MDL-84351 url: Add method for getting slashargument 2025-04-09 16:49:40 +07:00
Jun Pataleta a8c9e1c280 MDL-85147 versions: Main version bump 2025-04-09 17:47:38 +08:00
Jun Pataleta 91d2fa1ecb MDL-85147 versions: Bump all versions and requires near release 2025-04-09 17:46:57 +08:00
Paul Holden dbd723f81c MDL-84479 tool_usertours: verify sesskey prior to tour duplication. 2025-04-09 09:14:17 +00:00
Michael Hawkins efb5563419 MDL-85015 tool_mfa: Include extra param in email factor cancel check 2025-04-09 09:14:17 +00:00
David Woloszyn b096513901 MDL-84784 tool_mfa: Remove enrol/index.php from no redirect 2025-04-09 09:14:17 +00:00
Jun Pataleta 1d48b63dcd Merge branch 'MDL-84576' of https://github.com/timhunt/moodle 2025-04-09 17:09:06 +08:00
Huong Nguyen 200d8db9fa Merge branch 'MDL-84303' of https://github.com/timhunt/moodle 2025-04-09 15:35:11 +07:00
Huong Nguyen fb6589b00c Merge branch 'MDL-85092-main' of https://github.com/snake/moodle 2025-04-09 15:03:00 +07:00
Nathan Nguyen bdffbe47e1 MDL-85135 mod_assign: recalculate grade after an override is deleted 2025-04-09 15:27:14 +08:00
Daniil Fajnberg b41bf2f579 MDL-81454 core: Remove incorrect @property-read annotation 2025-04-09 08:59:59 +02:00
Jun Pataleta d37b41ddd6 Merge branch 'MDL-85127-main' of https://github.com/roland04/moodle 2025-04-09 11:09:43 +08:00
Shamiso.Jaravaza 133a6b2b82 MDL-85144 mod_bigbluebuttonbn: Fix rule sort order 2025-04-08 19:05:04 -06:00
Jake Dallimore d30ffdbb5a MDL-85092 themes: exclude navbar when printing pages
Bootstrap 5 removed _print.scss which included print-specific styles,
including one for hiding the nav. This just re-introduces a single
style override for the navbar. Any other print-specific styles removed
in BS5 are left as removed.
2025-04-09 09:00:30 +08:00
Paul Holden 0ff8f7b2e0 MDL-85143 output: correct size/proportions of emoticon images.
They were stretched horizontally since 28846e71, correct that here.
2025-04-08 18:06:27 +01:00
Sara Arjona e3b05240c1 Moodle release 5.0rc2 2025-04-08 17:06:38 +02:00
Sara Arjona 6c326dd2de NOBUG: Add upgrade notes 2025-04-08 17:06:38 +02:00
Sara Arjona f48f4f970f Merge branch 'install_main' of https://git.in.moodle.com/amosbot/moodle-install 2025-04-08 17:06:31 +02:00
Mihail Geshoski dc82696abf MDL-85062 mod_assign: Format penalized grades in attempts history
Formats the output of the penalised grades shown in the
'Previous attempts' for advanced grading methods for consistency
with other sections/areas where this information is displayed.
2025-04-08 17:43:33 +08:00
Mihail Geshoski 14bbc68d59 MDL-85062 mod_assign: Show penalty indicator with advanced grading
Ensures the penalty indicator is displayed in the 'Feedback' and
'Previous Attempts' sections for penalized grades when using advanced
grading methods.
2025-04-08 17:43:33 +08:00
Tim Hunt a9cd7d36b1 MDL-84576 questions: non-editing teachers need use questions capability
This makes it esay to grant access to shared question banks.

The advice becomes "give the user non-editing teacher role".
2025-04-08 10:06:39 +01:00
Tim Hunt e76afc9907 MDL-84303 qbanks: fix permission checks accessing shared banks 2025-04-08 10:06:39 +01:00
Tim Hunt 019e480c35 MDL-84303 qbank: fix recently viewed question tracking
This revealed some Unit tests with incorrect setup (trying to view
a qestion bank in course context) so I fixed those.
2025-04-08 10:06:39 +01:00
Huong Nguyen 547fe76923 Merge branch 'MDL-85123' of https://github.com/marinaglancy/moodle 2025-04-08 10:47:50 +07:00
Huong Nguyen 967525cc32 Merge branch 'MDL-85116-main' of https://github.com/junpataleta/moodle 2025-04-08 10:25:52 +07:00
Jun Pataleta 62fc8d741a Merge branch 'MDL-84058-main' of https://github.com/meirzamoodle/moodle 2025-04-08 10:07:09 +08:00
AMOS bot 5ef946d8b4 Automatically generated installer lang files 2025-04-08 00:07:53 +00:00
meirzamoodle 16111a3359 MDL-84058 cli: Add a backup check for course module names
Co-authored-by: Jun Pataleta <jun@moodle.com>
2025-04-08 06:27:49 +07:00
Tim Hunt f67105855c MDL-84303 quiz/qbanks: tidy up Behat test
Remove irrelevant details, and line up tables.
2025-04-07 14:57:48 +01:00
Mikel Martín 1e461c8342 MDL-85127 theme_boost: Fix BS4compat initialisation 2025-04-07 14:21:36 +02:00
Marina Glancy 214ce8b8f5 MDL-85123 core: reset caches after mocking plugins 2025-04-07 10:10:05 +01:00
Jun Pataleta 1d258a2148 Merge branch 'MDL-85012-main' of https://github.com/mihailges/moodle 2025-04-07 12:06:13 +08:00
Jun Pataleta c312dd82e4 MDL-85116 factor_sms: Set default weight and duration properly 2025-04-07 11:15:24 +08:00
Huong Nguyen b344c2c5b2 Merge branch 'MDL-84970-main' of https://github.com/andrewnicols/moodle 2025-04-07 10:01:49 +07:00
Huong Nguyen b868cdb854 Merge branch 'MDL-85106-main' of https://github.com/davewoloszyn/moodle 2025-04-07 09:35:55 +07:00
Paul Holden 958e767134 MDL-85100 question: override visually-hidden grouped element labels.
Since f9abc562 switched the class from `sr-only`, the affected labels
used on the question editing form remained invisible.
2025-04-04 17:27:45 +01:00
Mihail Geshoski 60e96c9cb0 MDL-85012 core_grades: Remove unused string 2025-04-04 23:29:55 +08:00
Huong Nguyen 1e89ba2335 Moodle release 5.0rc1 2025-04-04 22:21:55 +07:00
Huong Nguyen 8bcbf6e216 NOBUG: Add upgrade notes 2025-04-04 22:21:55 +07:00
Mihail Geshoski 62c0bd9072 MDL-85012 mod_assign: Modify behat tests to align with existing policies 2025-04-04 17:58:24 +08:00
Jun Pataleta 4fe64bf293 Merge branch 'MDL-84816-main' of https://github.com/meirzamoodle/moodle 2025-04-04 12:37:11 +08:00
meirzamoodle 4e5b621a7e MDL-84816 message: Make sure the 'see all' link stays visible 2025-04-04 11:25:52 +07:00
Huong Nguyen 2f9f87bdb5 Merge branch 'MDL-84997-main' of https://github.com/davewoloszyn/moodle 2025-04-04 11:14:56 +07:00
Huong Nguyen 5819d8b205 Merge branch 'MDL-85058_main' of https://github.com/catalyst/moodle 2025-04-04 10:34:35 +07:00
David Woloszyn 378e168d46 MDL-85106 AI: Fix AI usage reporting of explain text tokens 2025-04-04 14:30:33 +11:00
Jun Pataleta 245d335ce2 Merge branch 'MDL-84907-main' of https://github.com/HuongNV13/moodle 2025-04-04 11:29:00 +08:00
Huong Nguyen ac92443315 Merge branch 'MDL-84900_main' of https://github.com/marxjohnson/moodle 2025-04-04 10:20:03 +07:00
Shamim Rezaie 3acb662de0 Merge branch 'MDL-84836' of https://github.com/paulholden/moodle 2025-04-04 13:58:21 +11:00
Jun Pataleta 351b2b7206 Merge branch 'MDL-84914-main-enfix' of https://github.com/mudrd8mz/moodle 2025-04-04 09:47:15 +08:00
Huong Nguyen 4166957500 Merge branch 'MDL-85070-main' of https://github.com/srobotta/moodle 2025-04-04 08:35:17 +07:00
Shamim Rezaie 6ecba2ebfa Merge branch 'MDL-85009-main' of https://github.com/mihailges/moodle 2025-04-04 09:17:39 +11:00
Shamim Rezaie 390d6b16db Merge branch 'MDL-61823' of https://github.com/paulholden/moodle 2025-04-04 09:07:23 +11:00
Paul Holden 9ebb932bf3 Merge branch 'MDL-84951-main' of https://github.com/laurentdavid/moodle into main 2025-04-03 15:59:18 +01:00
Paul Holden 6717477354 MDL-61823 question: exclude file element from grouped elements hack.
This removes the duplicated label, that was being matched by the
previously wide selector to make grouped element labels visible.
2025-04-03 15:31:40 +01:00
Paul Holden aec6078818 MDL-61823 forms: ensure grouped elements have ID attribute.
This is used by the forms implementation for faux-label elements
so that when they are clicked on, the first input element of the
corresponding group is focused.
2025-04-03 15:28:16 +01:00
Paul Holden dae0288b56 MDL-84836 tool_mfa: replace deprecated Bootstrap styles.
Co-authored-by: David Woloszyn <david.woloszyn@moodle.com>
2025-04-03 12:45:01 +01:00
Mikel Martín afc113f33c MDL-84951 theme_boost: Fix deprecated Bootstrap class usages 2025-04-03 10:46:27 +02:00
Jun Pataleta 10f764cba6 Merge branch 'MDL-75971-main' of https://github.com/lameze/moodle 2025-04-03 14:36:39 +08:00
Simey Lameze 68ee911165 MDL-75971 behat: add email handling capabilities to Behat 2025-04-03 13:37:16 +08:00
Jun Pataleta ee892fa600 Merge branch 'MDL-84823-main' of https://github.com/meirzamoodle/moodle 2025-04-03 12:14:31 +08:00
Huong Nguyen 92f1931b5c Merge branch 'MDL-85023_main' of https://github.com/PhilippImhof/moodle 2025-04-03 11:07:31 +07:00
meirzamoodle f87f6cf122 MDL-84823 message: String deprecation 2025-04-03 10:59:05 +07:00
meirzamoodle e9034326c7 MDL-84823 message: Fix ARIA attributes in popovers and messaging drawers
> ARIA Expanded
A disclosure is a widget that allows content to be
collapsed (hidden) or expanded (visible). It has two elements:
1. Disclosure button, and
2. Section of content whose visibility is controlled by the button.

ARIA Expanded must be applied to the disclosure button element
or the element with role="button" rather than the content.

> ARIA label
Move the icon title and aria-label as they are not
interactive elements to the toggle element.
The title attribute is helpful for the tooltip,
and the aria-label benefits the screen reader.
2025-04-03 10:59:05 +07:00
Shamim Rezaie 8cbad482be Merge branch 'MDL-61730' of https://github.com/paulholden/moodle 2025-04-03 06:53:07 +11:00
Shamim Rezaie 8380612027 Merge branch 'MDL-85000-main' of https://github.com/HuongNV13/moodle 2025-04-03 06:12:34 +11:00
Jun Pataleta 6c447680b8 Merge branch 'MDL-84819-main' of https://github.com/HuongNV13/moodle 2025-04-03 00:01:53 +08:00
Jun Pataleta 44dc3849a8 Merge branch 'MDL-83692-main' of https://github.com/raortegar/moodle 2025-04-02 23:28:42 +08:00
Shamim Rezaie 13edf7fbf6 Merge branch 'MDL-72050-main' of https://github.com/sh-csg/moodle 2025-04-03 00:37:28 +11:00
Shamim Rezaie a30eacbfb6 Merge branch 'MDL-84961' of https://github.com/odeialba/moodle 2025-04-02 20:53:56 +11:00
Odei Alba 9d42423870 MDL-84961 core: Avoid loading the hidden table under the chart
Remove the table from under the chart when it is disabled, instead of just hiding it.
2025-04-02 11:26:48 +02:00
Shamim Rezaie bc82d03688 Merge branch 'MDL-80629-main' of https://github.com/andrewnicols/moodle 2025-04-02 20:01:23 +11:00
Jun Pataleta 288bc09ef4 Merge branch 'mdl-84979_main' of https://github.com/james-cnz/moodle 2025-04-02 16:21:33 +08:00
Andrew Nicols e5908b0bec MDL-84970 editor_tiny: Use the langpack name for Moodle language 2025-04-02 16:05:12 +08:00
Paul Holden 884a06f6eb Merge branch 'MDL-80813' of https://github.com/marinaglancy/moodle into main 2025-04-02 09:03:21 +01:00
Paul Holden 9784e5b467 MDL-61730 gradeimport_xml: set type on form iprestriction field. 2025-04-02 08:50:31 +01:00
Huong Nguyen 2d0137ea54 Merge branch 'MDL-85046-main' of https://github.com/mihailges/moodle 2025-04-02 14:27:31 +07:00
Huong Nguyen 0c014c7095 Merge branch 'MDL-84980-main' of https://github.com/sarjona/moodle 2025-04-02 14:24:59 +07:00
Stephan Robotta e13a5b3f9d MDL-85070 qbank: Dialogue question move into category with comma 2025-04-02 08:50:58 +02:00
Huong Nguyen 264a007051 Merge branch 'MDL-84756-main' of https://github.com/roland04/moodle 2025-04-02 13:23:37 +07:00
Huong Nguyen 2c65c010d8 Merge branch 'MDL-85025-main' of https://github.com/roland04/moodle 2025-04-02 13:20:34 +07:00
Huong Nguyen 820169703c Merge branch 'MDL-85078-main' of https://github.com/roland04/moodle 2025-04-02 13:15:11 +07:00
Huong Nguyen aed9880517 MDL-84819 aiprovider_openai: Enable multiple types support for model 2025-04-02 10:20:18 +07:00
David Woloszyn cbd9d34d37 MDL-84819 aiprovider_openai: Fix default model for generate_image 2025-04-02 10:13:45 +07:00
Jun Pataleta 5861780ac3 Merge branch 'MDL-84884' of https://github.com/paulholden/moodle 2025-04-02 10:04:26 +08:00
Nathan Nguyen 7749e79212 MDL-85012 mod_assign: reuse show_penalty_indicator 2025-04-02 11:30:58 +11:00
Nathan Nguyen e159a37e2a MDL-85012 mod_assign: fix multiple attempt issue 2025-04-02 10:05:21 +11:00
Nathan Nguyen f45773a3b2 MDL-85012 core_grades: remove penalty on overridden grade 2025-04-02 10:05:17 +11:00
David Mudrák 5e88e47f58 MDL-84914 lang: Use fixed strings in tests, too 2025-04-01 21:47:43 +02:00
raortegar 4ff4c6a3d7 MDL-83692 factor_sms: MFA update default values when fields are unset 2025-04-01 20:56:53 +02:00
raortegar 463668d4d9 MDL-83692 factor_sms: MFA set default values when gateway list is empty 2025-04-01 20:17:01 +02:00
David Woloszyn dd1b8c3b8e MDL-83692 factor_sms: add notification for SMS gateway restriction 2025-04-01 20:17:01 +02:00
Luca Bösch c436e45d50 MDL-84782 quiz: Align buttons horizontally to the container start. 2025-04-01 17:58:10 +02:00
Sara Arjona 06cd71edd0 Merge branch 'MDL-85027-main' of https://github.com/HuongNV13/moodle 2025-04-01 17:14:54 +02:00
Sara Arjona 5cbaacc6f1 Merge branch 'MDL-84131-main' of https://github.com/laurentdavid/moodle 2025-04-01 17:09:20 +02:00
Sara Arjona b2b5e32058 Moodle release 5.0beta 2025-04-01 16:35:07 +02:00
Sara Arjona bfe86e8fe6 NOBUG: Add upgrade notes 2025-04-01 16:35:07 +02:00
Mark Johnson a8342dd5f5 MDL-84900 questions: Limit list of shared question banks
The "Switch question bank" modal was attempting to load every question
bank in the system the user has access to. For a highly privileged user,
this could mean loading the coursemodinfo cache for every course in the
system, resulting in memory exhaustion.

This change updates the API for getting shared question banks so it can
be searched by name and limited to a number of results. There is a new
external service that uses this functionality, and a Javascript data
provider for calling the service. The autocomplete in the "Switch
question bank" modal will now use this data provider for the "Other
question bank" autocomplete, rather than loading all banks up front.
2025-04-01 13:31:41 +01:00
Mark Johnson d3584833ea MDL-84900 questions: Allow get_formatted_bank to force filter context 2025-04-01 13:30:33 +01:00
Sara Arjona 2889ba2612 Merge branch 'MDL-80091-integration-main' of https://github.com/mihailges/moodle 2025-04-01 11:33:48 +02:00
Mihail Geshoski 390d53755a MDL-80091 mod_assign: Fix failing behat test 2025-04-01 17:10:14 +08:00
Mikel Martín bc756ce437 MDL-85078 mod_forum: Fix tertiary navigation styles layout 2025-04-01 08:52:19 +02:00
Nathan Nguyen f6a31eb0ae MDL-85058 core_grades: fix double format_float 2025-04-01 16:16:47 +11:00
Huong Nguyen c91ad45065 Merge branch 'MDL-84419-main' of https://github.com/clransom/moodle 2025-04-01 11:06:52 +07:00
Huong Nguyen c909d086c0 Merge branch 'MDL-75292-main' of https://github.com/mihailges/moodle 2025-04-01 10:54:15 +07:00
Huong Nguyen 4f8b732a31 Merge branch 'MDL-83856-main' of https://github.com/andrewgos/moodle 2025-04-01 10:47:36 +07:00
Huong Nguyen e09fcd1c76 Merge branch 'MDL-80091-main' of https://github.com/andrewgos/moodle 2025-04-01 10:40:11 +07:00
Huong Nguyen 3fb006f843 MDL-80944 mod_quiz: Revert parameters removal 2025-04-01 10:18:03 +07:00
Huong Nguyen e8edb68bbc Merge branch 'MDL-80944_final-removal-of-quiz_delete_override-and-quiz_delete_all_overrides' of https://github.com/ziegenberg/moodle 2025-04-01 10:15:41 +07:00
Huong Nguyen 2972780c2e Merge branch 'MDL-84917-main' of https://github.com/roland04/moodle 2025-04-01 10:07:48 +07:00
Huong Nguyen 800dfa0548 MDL-83479 backup: Format upgrade notes 2025-04-01 09:53:44 +07:00
Huong Nguyen 4a31bf5628 Merge branch 'mdl-83479-restore-hooks' of https://github.com/jaypha/moodle 2025-04-01 09:51:51 +07:00
Helen Foster f36233b296 MDL-84914 lang: Import fixed English strings (en_fix) 2025-03-31 20:38:29 +02:00
Paul Holden e8ec054113 Merge branch 'MDL-84673_properly-deprecate-print_graded_users_selector' of https://github.com/ziegenberg/moodle into main 2025-03-31 18:06:17 +01:00
Paul Holden 0a51669668 MDL-81437 files: fix SQL LIKE comparison, improve test coding style. 2025-03-31 17:58:24 +01:00
Paul Holden ff9ea3fe6d Merge branch 'MDL-81437_allow-webp-file-extension-by-default' of https://github.com/ziegenberg/moodle into main 2025-03-31 17:46:09 +01:00
Daniel Ziegenberg dd6500eb42 MDL-84673 core_grades: Deprecate print_graded_users_selector()
Signed-off-by: Daniel Ziegenberg <daniel@ziegenberg.at>
2025-03-31 18:00:33 +02:00
Mihail Geshoski f805aeafd2 MDL-85046 theme_boost: Fix the spacing in the select_menu component
Adds padding on the .dropdown-item element to fix the lack of spacing
between the 'active' indicator and the item in the select_menu component.
Also converts some of the hard-coded padding to use existing spacer
definitions.
2025-03-31 23:50:00 +08:00
Daniel Ziegenberg 13743de30b MDL-81437 core_files: Adding webp to the standard included MIME types
Co-authored-by: Luca Bösch <luca.boesch@bfh.ch>
2025-03-31 17:21:22 +02:00
Daniel Ziegenberg 38ca98b632 MDL-81437 core_files: Add ad-hoc task to upgrade mimetypes on update
Signed-off-by: Daniel Ziegenberg <daniel@ziegenberg.at>
2025-03-31 17:21:19 +02:00
Mihail Geshoski b829a6ddd3 MDL-75292 mod_assign: Modify the 'Graded' filter query
Modifies the query used to filter graded students by removing the
condition that requires a submission to be marked as submitted. This
change allows the query to return students who have not submitted
their work but have still been graded, a scenario supported in the
assignment module.
2025-03-31 22:45:23 +08:00
Kacper Rokicki 65c7be536f MDL-75292 assign: Add "Graded" filter to assignment submission table 2025-03-31 22:45:23 +08:00
Mikel Martín b326fe4f78 MDL-84917 tool_usertours: Fix button icon colours 2025-03-31 13:36:46 +02:00
Laurent David f02c60f567 MDL-84131 core_analytics: Remove indicator for chat and suvey
* When chat and survey are actually not installed, remove them
from the course_dropout target indicator.
2025-03-31 13:35:46 +02:00
Jun Pataleta 429b72400a Merge branch 'MDL-85029-main' of https://github.com/meirzamoodle/moodle 2025-03-31 14:19:28 +08:00
Andrew Nicols ff0992e2bd MDL-80629 env: Moodle 4.4.x and 4.5.x do not support PHP 8.4 2025-03-31 11:03:18 +08:00
Andrew Nicols 37a40e68b2 Merge branch 'MDL-76801-main' of https://github.com/andrewgos/moodle 2025-03-31 09:27:47 +08:00
Shamim Rezaie ef7a6fbbb3 Merge branch 'MDL-68806_main' of https://github.com/marxjohnson/moodle 2025-03-29 23:22:33 +11:00
Philipp Imhof 183d79b041 MDL-85023 quiz: allow WebRTC with SEB on Mac 2025-03-28 17:51:21 +01:00
Sara Arjona b00c328d2d on-demand release 5.0dev+ 2025-03-28 12:49:17 +01:00
Sara Arjona 7c0745a539 NOBUG: Add upgrade notes 2025-03-28 12:49:17 +01:00
Sara Arjona 28b0ca8d9b Merge branch 'install_main' of https://git.in.moodle.com/amosbot/moodle-install 2025-03-28 12:49:08 +01:00
Mark Johnson 580a0d6827 MDL-68806 quiz: Separate global and per-quiz default settings 2025-03-28 09:35:00 +00:00
Mark Johnson 8d5d4f5314 MDL-68806 quiz: Backwards compatibility for mod_quiz_get_user_attempts 2025-03-28 09:34:59 +00:00
Mark Johnson 2841c53c7c MDL-68806 backup: Fix faulty question attempt step restore test
Previously, the test was passing by fluke because all question attempt
steps had the same timecreated date. However, the $originaliterator only
contained the first step of the question, not all 3 attempts that were
being backed up and restored. This means we were comparing the
timecreated of the first backed-up step with the timecreated on the
third restored step. As of MDL-68806, the first step's timecreated is
question_attempt_step::TIMECREATED_ON_FIRST_RENDER, which shows up this
error.

This change gets the question_usage_by_activity object back from the
attempt object which contains all the attempt steps, rather than using
the one created in the test, which doesn't.
2025-03-28 09:34:59 +00:00
Mark Johnson 9dee9c9917 MDL-68806 question: Set first attempt step timecreated
Previously, the timecreated for the first step of any question attempt
was set to the current time when the quiz attempt was created. With quiz
attempts being pre-created, this means the question attempts looking
like they were started before the quiz attempt. It also limits the
ability to analyse when a student actually started each question.

This change adds a new class constant,
question_attempt_step::TIMECREATED_ON_FIRST_RENDER. Passing this to the
question_attempt_step constructor will cause the timecreated to be set
to the time when the question attempt is first rendered, rather than
when the step is created.
2025-03-28 09:34:59 +00:00
Mark Johnson 50486f5d05 MDL-68806 quiz: Update questions in pre-created attempts when started
In case questions used in pre-created attempts were edited after
pre-creation, we check when the attempt is started and create
new question attempts if needed. There is still an opportunity to
improve performance further by finding a way to do this efficiently
when a new question version is created.
2025-03-28 09:34:59 +00:00
Mark Johnson 2e2e3adbbd MDL-68806 quiz: Display new attempt states on the attempts report 2025-03-28 09:34:59 +00:00
Mark Johnson 0b3b0fcce0 MDL-68806 quiz: Add task to pre-create quiz attempts. 2025-03-28 09:34:58 +00:00
Mark Johnson 0ffcd115c6 MDL-68806 quiz: Add new "Not started" and "Submitted" states 2025-03-28 09:34:10 +00:00
Paul Holden b582b05c39 MDL-85048 core: define mapping for new America/Coyhaique zone.
Follows same process as other timezone additions in d5ec3594.
2025-03-28 08:58:19 +00:00
Huong Nguyen 1ae3c73bbb Merge branch 'MDL-85048-main' of https://github.com/lameze/moodle 2025-03-28 15:00:13 +07:00
Simey Lameze 4c2ddeb839 MDL-85048 phpunit: add america/coyhaique timezone 2025-03-28 14:54:50 +08:00
Huong Nguyen 3730b5cb75 Merge branch 'MDL-84998_main' of https://github.com/catalyst/moodle 2025-03-28 13:43:49 +07:00
Huong Nguyen fe8e9bf033 Merge branch 'MDL-85017-main' of https://github.com/roland04/moodle 2025-03-28 13:43:49 +07:00
Huong Nguyen bdee94a986 Merge branch 'MDL-85019-main' of https://github.com/roland04/moodle 2025-03-28 13:43:49 +07:00
Huong Nguyen 857a16edb9 Merge branch 'MDL-85021-main' of https://github.com/roland04/moodle 2025-03-28 13:43:49 +07:00
Huong Nguyen 0fd77a586c Merge branch 'MDL-84952-main' of https://github.com/roland04/moodle 2025-03-28 13:43:49 +07:00
Huong Nguyen d2dd2b3437 Merge branch 'MDL-83828-main' of https://github.com/micaherne/moodle 2025-03-28 13:43:48 +07:00
David Woloszyn 6afca93f7b MDL-84997 core_message: Hide message pill when count is zero 2025-03-28 15:52:16 +11:00
AMOS bot d91bbad9c8 Automatically generated installer lang files 2025-03-28 00:08:48 +00:00
Marina Glancy add52d70b8 MDL-80813 qbank_customfields: fix settings permissions 2025-03-27 13:14:57 +00:00
Marina Glancy c90351ca3b MDL-80813 tool_unsuprules: fix settings permissions 2025-03-27 13:14:23 +00:00
Marina Glancy 892bce3593 MDL-80813 grade_penalty: fix permissions and CSS styles 2025-03-27 13:13:57 +00:00
Marina Glancy 4d51deb905 MDL-80813 core_admin: fix caps checks in admin tree, add all categories
Unconditionally create all categories in the admin tree since they can be referred to in the plugins for pages
that require different capabilities
2025-03-27 12:33:39 +00:00
Mikel Martín 54e2fffe96 MDL-85025 mod_forum: Fix ratings layout after BS5 upgrade 2025-03-27 10:23:00 +01:00
Andrew Nicols 2c1bfc89f9 MDL-77293 core: Whitespace fixup 2025-03-27 16:23:29 +08:00
Andrew Nicols d56a6cba44 Merge branch 'MDL-77293-main' of https://github.com/matthewhilton/moodle 2025-03-27 16:12:58 +08:00
meirzamoodle 7ce35942aa MDL-85029 AI: Remove deprecated style 2025-03-27 11:11:03 +07:00
Jun Pataleta db11ca6a1d Merge branch 'MDL-85028-main' of https://github.com/andrewnicols/moodle 2025-03-27 12:03:34 +08:00
Mihail Geshoski afa0b42d7d MDL-85009 gradereport_grader: Fix dropdown menu cut-off in user columns 2025-03-27 11:57:04 +08:00
Andrew Nicols 48adc55cfc MDL-85028 core: Check correct var name for router config 2025-03-27 11:44:49 +08:00
Huong Nguyen b2d17c7a1d MDL-85027 aiprovider_ollama: Remove trailing slash of endpoint 2025-03-27 09:56:09 +07:00
Jun Pataleta e8146c0831 Merge branch 'MDL-82565-main' of https://github.com/andrewnicols/moodle 2025-03-27 10:45:20 +08:00
Huong Nguyen 79e3d6d050 MDL-85027 AI: Revert lang string changes from MDL-83216
This revert commit 2f10fde
for core_ai language strings file.
2025-03-27 09:31:12 +07:00
Sara Arjona f56e2be0e8 Merge branch 'MDL-84986-main' of https://github.com/roland04/moodle 2025-03-26 18:05:14 +01:00
Mikel Martín 788cf22867 MDL-85021 mod_feedback: Fix 'Edit questions' UI after BS5 upgrade 2025-03-26 16:25:20 +01:00
Mikel Martín cd49ab1760 MDL-84952 theme_boost: Fix spacing for collapse/expand buttons 2025-03-26 15:39:21 +01:00
Andrew Nicols f23259c49c MDL-82565 core_course: Migrate tag management to route 2025-03-26 21:20:59 +08:00
Andrew Nicols 968183714d MDL-82565 core: Improve routed Error handling
In previous versions of Moodle we recommended use of the fallback
resource with /error/index.php.

This is incompatible with the routing system because they use the same
mechanism for responding to any unknown request.

To better handle this we need to move the current error handler page to
a routed page, and to provide a shim for the old location.

At the same time we need to improve the Slim Error handling middleware
to respond with our 404 handler for all 404s, except for those on API
routes where we always respond with JSON.
2025-03-26 21:20:59 +08:00
Andrew Nicols 0d73bbcf1e MDL-82565 core: Update router util 2025-03-26 21:20:59 +08:00
Andrew Nicols 9137558cd5 MDL-82565 core: Add support for routing of front-end pages
This is the beginning of the end for non-routed pages in Moodle and the
start of SEO-friendly page URLs.

A 'shim' is provided for backwards compatibility.
2025-03-26 21:20:58 +08:00
Mikel Martín 630d4869c6 MDL-84756 mod_glossary: Fix keywords layout after BS5 upgrade 2025-03-26 13:53:54 +01:00
Mikel Martín ca9e1f1562 MDL-85019 theme_boost: Fix .badge-none text colour 2025-03-26 13:15:27 +01:00
Mikel Martín 2d87ccab2a MDL-85017 theme_boost: Fix More menu active item indicator spacing 2025-03-26 11:23:32 +01:00
Michael Aherne 1dba8d5f2b MDL-83828 oauth: Make phpdoc return types match actual return type. 2025-03-26 09:29:56 +00:00
Jun Pataleta c116c89fa6 Merge branch 'MDL-84301_main' of https://github.com/praxisdigital/moodle 2025-03-26 14:05:02 +08:00
Nathan Nguyen d17f110f5c MDL-84998 mod_assign: fix division by zero error 2025-03-26 16:49:36 +11:00
Huong Nguyen c37d9fa6be Merge branch 'MDL-82555-main' of https://github.com/lucaboesch/moodle 2025-03-26 11:02:18 +07:00
Huong Nguyen 59d7d3ebf9 Merge branch 'MDL-85001' of https://github.com/paulholden/moodle 2025-03-26 10:53:23 +07:00
Jake Dallimore 1c0dc3514d Merge branch 'MDL-84438-regress-task' of https://github.com/brendanheywood/moodle 2025-03-26 11:37:48 +08:00
Huong Nguyen d37c1c1a8c Merge branch 'MDL-84731-main' of https://github.com/sammarshallou/moodle 2025-03-26 10:35:10 +07:00
Jake Dallimore 3d8a0fd6bb Merge branch 'MDL-85007' of https://github.com/paulholden/moodle 2025-03-26 11:31:27 +08:00
Huong Nguyen 58658a2fb3 Merge branch 'MDL-83272_main' of https://github.com/marxjohnson/moodle 2025-03-26 10:27:07 +07:00
Huong Nguyen fbf2fd660b Merge branch 'MDL-84623_close-recordset-in-tool_dataprivacy-expired_contexts_manager-clear_old_records' of https://github.com/ziegenberg/moodle 2025-03-26 10:23:28 +07:00
Huong Nguyen 38ba136415 MDL-85000 media_videojs: Enable Ogv.JS Tech for all browsers 2025-03-26 09:30:35 +07:00
Huong Nguyen aac280e0ea weekly release 5.0dev+ 2025-03-26 08:55:49 +07:00
Huong Nguyen 6f5b6776ee NOBUG: Add upgrade notes 2025-03-26 08:55:49 +07:00
Huong Nguyen 376390e17f NOBUG: Fixed file access permissions 2025-03-26 08:55:39 +07:00
Huong Nguyen c15d73b5ac Merge branch 'install_main' of https://git.in.moodle.com/amosbot/moodle-install 2025-03-26 08:55:38 +07:00
Huong Nguyen a1aff5a9c8 MDL-83006 AI: Provider Plugin - Ollama - Version bump 2025-03-26 08:42:39 +07:00
Paul Holden ecc406ddd1 Merge branch 'MDL-83518-fix' of https://github.com/sarjona/moodle into main 2025-03-25 16:27:27 +00:00
Paul Holden 2d39ad1468 MDL-85007 core: ensure events are dispatched against the same table.
This ensures that we always dispatch the dynamic table updated event
against the same table we just updated. Previously it was possible
for another table to receive the event, where both tables were
effectively the same instance of one another (e.g. custom reports).
2025-03-25 15:54:21 +00:00
Sara Arjona fe3ce8d23e MDL-83518 mod_assign: Add missing lang strings for SMS 2025-03-25 14:36:50 +01:00
Paul Holden e325076335 MDL-85001 reportbuilder: ensure report uniqueness in filters loader.
Where the same report exists multiple times on the page, ensure we
are still able to uniquely identify each via ID. Update the filters
module to ensure the filters form for each report is initialised.
2025-03-25 11:16:08 +00:00
danghieu1407 d792c4916a MDL-66584 qtype_ddimageortext: Move JSON data to data-attribute 2025-03-25 16:48:52 +07:00
Paul Holden 8555023544 MDL-83006 aiprovider_ollama: add to standard plugin list. 2025-03-25 08:56:30 +00:00
Paul Holden 69ce3d3141 MDL-83518 message_sms: add to standard plugins list. 2025-03-25 08:53:45 +00:00
Sara Arjona cb53d2971b Merge branch 'MDL-83518-main' of https://github.com/safatshahin/moodle 2025-03-25 07:52:57 +01:00
Safat 41982dfdb0 MDL-83518 mod_assign: Fix rebase error 2025-03-25 17:38:55 +11:00
James C 0a6414f91f MDL-84979 course: Correct course format update parameters 2025-03-25 19:17:35 +13:00
Matthew Hilton b348120780 MDL-77293 libraries: fix array query parameter handling 2025-03-25 14:56:41 +10:00
Huong Nguyen 2e87ad9946 Merge branch 'MDL-80815_simplify-redis-acquire_lock-method' of https://github.com/ziegenberg/moodle 2025-03-25 11:12:16 +07:00
Andrew Nicols 582d76c0f7 Merge branch 'MDL-83518-main' of https://github.com/safatshahin/moodle 2025-03-25 11:15:50 +08:00
Huong Nguyen 8854d64bb6 Merge branch 'MDL-84991-main' of https://github.com/junpataleta/moodle 2025-03-25 10:08:53 +07:00
Safat dd32bbf0f4 MDL-83518 core_message: Add sms specific property 2025-03-25 14:04:33 +11:00
Safat f66d719527 MDL-83518 core: Add nosmsever config to restrict sending SMS 2025-03-25 14:04:33 +11:00
Safat 28ff6aa13c MDL-83518 mod_assign: Add support for SMS notifications 2025-03-25 14:04:31 +11:00
Andrew Nicols 771895192b Merge branch 'MDL-84893-main' of https://github.com/davewoloszyn/moodle 2025-03-25 10:59:06 +08:00
Andrew Nicols 3e5ae3db77 Merge branch 'MDL-84112-main-fix_bigbluebutton_defaultcompletion_performance' of https://github.com/praxisdigital/moodle 2025-03-25 10:54:29 +08:00
Safat 581871e52c MDL-83518 core_message: Add processor restriction support 2025-03-25 13:50:27 +11:00
Safat 4aa8b1909b MDL-83518 message_sms: Add SMS message processor 2025-03-25 13:50:27 +11:00
Andrew Nicols 16cf28682a Merge branch 'MDL-84335_main' of https://github.com/PhilippImhof/moodle 2025-03-25 10:49:12 +08:00
Andrew Nicols 56453a8556 Merge branch 'MDL-83469-main' of https://github.com/ferranrecio/moodle 2025-03-25 10:46:57 +08:00
Andrew Nicols 3758c1d4b5 Merge branch 'MDL-75196-main' of https://github.com/sh-csg/moodle 2025-03-25 10:42:42 +08:00
Andrew Nicols c8e4bbe938 Merge branch 'MDL-84555-main' of https://github.com/ferranrecio/moodle 2025-03-25 10:41:50 +08:00
Andrew Nicols 4970452df9 Merge branch 'MDL-76668-main' of https://github.com/cameron1729/moodle 2025-03-25 10:36:06 +08:00
Luca Bösch 64f7cf32e5 MDL-82555 block_section_links: Add section title only setting. 2025-03-24 21:24:57 +01:00
Sara Arjona 0fe8287c33 Merge branch 'MDL-83006-main' of https://github.com/HuongNV13/moodle 2025-03-24 19:58:18 +01:00
Jun Pataleta 8ec5fefde7 MDL-84991 editor_tiny: Improve lang string generation instructions 2025-03-25 00:55:00 +08:00
Jun Pataleta b51e4405eb MDL-84991 editor_tiny: Revert lang string changes from MDL-84167
This reverts commit 0331bd777d
for editor_tiny's language strings file.
2025-03-25 00:55:00 +08:00
Sara Arjona 93d52b2c48 Merge branch 'MDL-84985' of https://github.com/paulholden/moodle 2025-03-24 17:44:15 +01:00
Philipp Imhof 01f059ddcc MDL-84335 question: check for null before accessing property
in function check_hint_file_access
2025-03-24 17:43:31 +01:00
Sara Arjona 197d658d57 Merge branch 'MDL-84940-main' of https://github.com/ferranrecio/moodle 2025-03-24 17:26:29 +01:00
Mikel Martín fcc8d569b1 MDL-84986 mod_assign: Fix submission table classes 2025-03-24 17:01:56 +01:00
Mikel Martín 6721120251 MDL-84986 theme_boost: Update .generaltable styles after BS5 upgrade 2025-03-24 17:01:14 +01:00
ferran b213a2f1f1 MDL-84555 report_outline: adding activity_icons to the report 2025-03-24 16:49:53 +01:00
ferran ec9915b278 MDL-84555 core_course: add activity_icons to completion bulk editors 2025-03-24 16:49:53 +01:00
ferran e445b12ac9 MDL-84555 block_recentlyaccesseditems: use activity_icons output 2025-03-24 16:49:53 +01:00
ferran ae22dea084 MDL-84555 backup: add activity_icons to the restore summary 2025-03-24 16:49:53 +01:00
ferran 7eab909866 MDL-84555 core_courseformat: adding icon colors to activities page 2025-03-24 16:49:53 +01:00
ferran 9b5018b4a3 MDL-84555 core_course: new activity_icon output class 2025-03-24 16:49:53 +01:00
Huong Nguyen b430020685 MDL-83006 AI: Provider Plugin - Ollama
Support AI Course placement - Explain action
2025-03-24 22:18:39 +07:00
Huong Nguyen 5fe9bf8bbd MDL-83006 AI: Provider Plugin - Ollama
Make Ollama compatible with new features:
 - AI Provider instance
 - AI Model settings
 - Behat tests
2025-03-24 22:18:39 +07:00
Matt Porritt 90227e4707 MDL-83006 AI: Provider Plugin - Ollama
Ollama is an open-source project that serves as a powerful
and user-friendly platform for running LLMs on your local machine.
It acts as a bridge between the complexities of LLM technology
and the desire for an accessible and customizable AI experience.

This plugin interfaces with the upstream AI service and will
make available AI Actions to the subsystem.
2025-03-24 22:18:21 +07:00
Sara Arjona 52e4933d84 MDL-84980 pix: Replace insert_page_break icon
To provide a visually clearer and more user-friendly quiz experience,
the 'add new page' icon has been standardized to 'fa-plus'.
2025-03-24 12:52:12 +01:00
Sara Arjona 6deeadf10b Merge branch 'MDL-74149-behat' of https://github.com/HuongNV13/moodle 2025-03-24 11:33:27 +01:00
Jun Pataleta 95c6083f57 Merge branch 'MDL-84753-main' of https://github.com/roland04/moodle 2025-03-24 17:48:16 +08:00
Huong Nguyen c43808efff MDL-74149 Usertours: Fix Behat failure 2025-03-24 16:34:30 +07:00
Paul Holden 337e69545d MDL-84985 reportbuilder: export report action attributes correctly.
When included as part of external response data, extra validation
was performed on the returned structure.
2025-03-24 08:31:52 +00:00
Huong Nguyen fb4c613e69 Merge branch 'MDL-83160-main' of https://github.com/mickhawkins/moodle 2025-03-24 14:54:13 +07:00
Huong Nguyen ef0d08b8da MDL-78428 tiny_media: Fix JSDoc 2025-03-24 14:17:35 +07:00
Huong Nguyen cda7e8e8be MDL-78428 tiny_media: Code cleanup
- Fix typo
 - Behat improvement
2025-03-24 14:01:51 +07:00
Huong Nguyen 0c0c87ad8a Merge branch 'MDL-78428-main' of https://github.com/stevandoMoodle/moodle 2025-03-24 13:54:00 +07:00
Huong Nguyen 8a9f940700 Merge branch 'MDL-84227_main' of https://github.com/marxjohnson/moodle 2025-03-24 13:50:21 +07:00
Huong Nguyen 1adcf03199 Merge branch 'MDL-84812_main' of https://github.com/marxjohnson/moodle 2025-03-24 11:34:36 +07:00
Huong Nguyen 4fddb46c04 MDL-74149 Usertours: Re-build Javascript code 2025-03-24 11:21:15 +07:00
Huong Nguyen 206d93dd46 Merge branch 'MDL-84956_main' of https://github.com/marxjohnson/moodle 2025-03-24 11:17:42 +07:00
Huong Nguyen 3ef5e31cad MDL-74149 Usertours: Exclude categories improvement 2025-03-24 11:07:28 +07:00
Huong Nguyen 2ebf1af7b5 Merge branch 'MDL-74149-master' of https://github.com/vietlx426/moodle-1 2025-03-24 11:03:57 +07:00
Jun Pataleta 523574807b Merge branch 'MDL-84733' of https://github.com/timhunt/moodle 2025-03-24 11:45:28 +08:00
AMOS bot 964db81c1d Automatically generated installer lang files 2025-03-22 00:07:59 +00:00
Huong Nguyen 89d76fdc25 weekly release 5.0dev+ 2025-03-21 22:02:32 +07:00
Huong Nguyen 26a116feae NOBUG: Add upgrade notes 2025-03-21 22:02:31 +07:00
Huong Nguyen 1dc8e19410 NOBUG: Fixed file access permissions 2025-03-21 22:02:17 +07:00
Huong Nguyen 4b12296175 Merge branch 'install_main' of https://git.in.moodle.com/amosbot/moodle-install 2025-03-21 22:02:16 +07:00
Tim Hunt 3494adf5c9 MDL-84733 assig: fix HTML special characters in emails 2025-03-21 14:57:29 +00:00
Tim Hunt aa2fb1e3d2 MDL-84733 assign: use a template to render message bodies
The overall structure of these messages, which adds the course
and assignment name to whatever comes from the particular
message language string, was hard-coded in the assignment code.

By changing this to use a template, now themes can override this.
2025-03-21 14:57:29 +00:00
Tim Hunt b9bd43ad78 MDL-84733 assignment: more information for message lang strings 2025-03-21 14:57:29 +00:00
Tim Hunt 5b1a302374 MDL-84733 assign: add tests of existing message behaviour
This is to prove the changes in the next two commits don't change
the behaviour.

Note, I tidied up the whitespace in some HTML lang strings.
2025-03-21 14:57:29 +00:00
Frederik Milling Pytlick 2e8bd84403 MDL-80815 cachestore_redis: Simplified acquire_lock method
Simplified the acquire_lock method in the redis cache store, so that it
sets the key with an expiry in one go. Before, it would set it, then
update it afterwards with an expiry.

This also makes test_lock_timeouts() more robust.

Co-authored-by: Daniel Ziegenberg <daniel@ziegenberg.at>
Signed-off-by: Daniel Ziegenberg <daniel@ziegenberg.at>
2025-03-21 15:18:35 +01:00
Mark Johnson 3300ed2803 MDL-84956 theme: Fix regression in the size of question icons 2025-03-21 13:11:14 +00:00
Mark Johnson 39923878e6 MDL-83272 qbank_managecategories: Fix exclusion of current category
The "currentcat" parameter contains the categoryid, but is being
compared to a string like "contextid,categoryid" so was not being
matched correctly to exclude the current category from the list of
options.
2025-03-21 10:40:59 +00:00
vietlx426 1aca8a1f00 MDL-74149 Usertours: Filters to exclude categories and courses 2025-03-21 15:57:53 +07:00
Glenn Poder 0a28d61a06 MDL-76668 navigation: Fix navigation for results in single activity 2025-03-21 13:51:10 +08:00
Jun Pataleta c1411d4a2c Merge branch 'MDL-84860-main' of https://github.com/andrewnicols/moodle 2025-03-21 12:31:43 +08:00
Andrew Nicols 4c158a1564 MDL-84860 GitHub: Bump workflow max PHP to 8.4 2025-03-21 12:19:21 +08:00
Huong Nguyen 2f7a37a7aa Merge branch 'MDL-84446-main' of https://github.com/andrewnicols/moodle 2025-03-21 11:17:18 +07:00
Huong Nguyen 90b9ce71d0 Merge branch 'MDL-84828-main' of https://github.com/andrewnicols/moodle 2025-03-21 10:46:42 +07:00
Jun Pataleta 28e6f6e335 Merge branch 'MDL-84846' of https://github.com/timhunt/moodle 2025-03-21 10:55:29 +08:00
Huong Nguyen 1c9d79e2ff Merge branch 'MDL-84867-main' of https://github.com/roland04/moodle 2025-03-21 09:05:25 +07:00
Huong Nguyen b497ad9682 Merge branch 'MDL-83697_main' of https://github.com/PhilippImhof/moodle 2025-03-21 08:36:22 +07:00
Huong Nguyen 777463c8d7 Merge branch 'MDL-84775-main' of https://github.com/lucaboesch/moodle 2025-03-21 08:14:49 +07:00
Andrew Nicols 3e5795fd8a Merge branch 'MDL-84936' of https://github.com/marinaglancy/moodle 2025-03-21 08:34:30 +08:00
Andrew Nicols e587896573 MDL-78090 core_question: Update deprecated method sigs per new deprecation rules 2025-03-21 08:31:28 +08:00
Andrew Nicols 08ad641c7d Merge branch 'MDL-78090_core_question-final-deprecations' of https://github.com/ziegenberg/moodle 2025-03-21 08:19:36 +08:00
Andrew Nicols 2c121ab509 Merge branch 'MDL-84674_trim-old-deprecations' of https://github.com/ziegenberg/moodle 2025-03-21 08:15:12 +08:00
AMOS bot 7db2e6c8b6 Automatically generated installer lang files 2025-03-21 00:07:57 +00:00
Andrew Nicols 620df481d3 Merge branch 'MDL-84803-main' of https://github.com/aanabit/moodle 2025-03-21 07:55:40 +08:00
Andrew Nicols a61a4d0355 Merge branch 'MDL-84591_main' of https://github.com/marxjohnson/moodle 2025-03-21 07:53:40 +08:00
Andrew Nicols f59168543d Merge branch 'MDL-84302' of https://github.com/timhunt/moodle 2025-03-21 07:51:57 +08:00
Paul Holden 78d4afcd44 Merge branch 'MDL-84894-main' of https://github.com/roland04/moodle into main 2025-03-20 17:28:54 +00:00
ferran 9428131e56 MDL-83469 core_courseformat: alternative new_module actions
The previous create_module actions uses section number instead of
section id. This produces several bugs when sections are moved around
the course in edit mode. This issue implements a new_module action with
all related mutations and webservices. The new one uses section id
instead of section number.
2025-03-20 18:23:00 +01:00
Paul Holden 655d5149a4 Merge branch 'MDL-84955' of https://github.com/lostrogit/moodle into main 2025-03-20 17:22:15 +00:00
Paul Holden 7abacc344e Merge branch 'MDL-84772-main' of https://github.com/roland04/moodle into main 2025-03-20 17:16:28 +00:00
Mikel Martín 992949915d MDL-84894 core_question: Fix question input elements layout
After Bootstrap 5 upgrade in MDL-75669 some inline input elements inside questions
(qtype_gapselect, qtype_match and qtype_multianswer) are not correctly displayed.
That happened because new "form-select" class adds "display: block" instead of
"display: inline-block" as before in Bootstrap 4.
This commit fixes the "select" inputs in the question types adding "d-inline-block"
class.
2025-03-20 17:41:32 +01:00
Carlos Castillo b90456e62e MDL-84955 reportbuilder: Fix return type of deprecated functions 2025-03-20 17:38:59 +01:00
Paul Holden bb411f2ac7 Merge branch 'MDL-84877-main' of https://github.com/andrewnicols/moodle into main 2025-03-20 15:25:24 +00:00
Paul Holden 8f2087f2e6 Merge branch 'MDL-81655' of https://github.com/larsbonczek/moodle into main 2025-03-20 15:15:44 +00:00
Amaia Anabitarte 07152521c8 MDL-84803 mod_feedback: Make titles unique 2025-03-20 16:06:40 +01:00
Paul Holden 657273b823 Merge branch 'MDL-84538_fix-duplicated-language-strings' of https://github.com/ziegenberg/moodle into main 2025-03-20 14:44:58 +00:00
Mark Johnson a30b18a8b0 MDL-84812 quiz: Fix javascript error in random question modal
Clicking "Switch bank" in the random question modal resulted in a
Javascript error, because the initial modal was being returned from the
event listener for the button, not from the promise that tried to
.then() it.

This moves destruction of the initial modal to after the new modal is
created.
2025-03-20 14:33:13 +00:00
ferran 608a25df01 MDL-84940 block_section_links: omit subsections 2025-03-20 12:59:09 +01:00
Sara Arjona b45e93c6d4 Merge branch 'MDL-80984-main-fix' of https://github.com/junpataleta/moodle 2025-03-20 11:14:17 +01:00
Jun Pataleta 4817736a85 MDL-80984 core: Bump versions so upgrade steps are not skipped 2025-03-20 17:55:46 +08:00
Huong Nguyen e5b139637f Merge branch 'MDL-83535-main' of https://github.com/TobiGa/moodle 2025-03-20 16:15:36 +07:00
Jun Pataleta 37f88a9764 Merge branch 'MDL-84387-main' of https://github.com/junpataleta/moodle 2025-03-20 16:15:36 +07:00
Mikel Martín d84f9c5194 MDL-84867 theme_boost: Fix deprecated .badge-pill class usages 2025-03-20 10:02:41 +01:00
Mikel Martín 0f3e4df5aa MDL-84867 tool_behat: Improve SCSS deprecation failure information
- Improve SCSS deprecated-styles @mixin to receive a paramenter of the
  deprecated selector.
- Update all the current deprecated styles that are using deprecated-styles @mixin
  to include the deprecated selector as parameter.
- Improve the 'look_for_deprecated_styles' behat function.
2025-03-20 10:02:41 +01:00
Mikel Martín 887753e821 MDL-84772 core_question: Fix qbank filters layout
Fix question bank filters layout after Bootstrap 5 upgrade.
2025-03-20 09:27:31 +01:00
Mikel Martín ce0261dc43 MDL-84772 core_datafilter: Fix datafilter layout after BS5 upgrade
- Fix layout with BS5 classes.
- Replace deprecated Bootstrap classes.
2025-03-20 09:27:31 +01:00
Jun Pataleta b94d00d2fc MDL-84387 message: Update expected notification message 2025-03-20 13:35:13 +08:00
Stevani Andolo cc2cc8847c MDL-78428 tiny_media: Added repository in thumbnail insert 2025-03-20 13:19:43 +08:00
Stevani Andolo 1ef345e4cd MDL-78428 tiny_media: Code cleanup
Co-authored-by: Huong Nguyen <huong@moodle.com>
2025-03-20 13:19:03 +08:00
Jun Pataleta 0da8ae66b2 MDL-84387 assignsubmission_file: Call correct recursion method 2025-03-20 12:43:02 +08:00
Jun Pataleta a2d457bffe Merge branch 'MDL-84167-main' of https://github.com/meirzamoodle/moodle 2025-03-20 10:59:48 +08:00
meirzamoodle 0331bd777d MDL-84167 editor_tiny: Upgrade tiny to 7.7.1 2025-03-20 09:22:12 +07:00
Andrew Nicols ea91233c79 MDL-84828 tool_behat: Correct exit codes to always be int 2025-03-20 09:03:25 +08:00
Andrew Nicols 204f238237 MDL-84828 behat: Update Moodle BehatExtension
Behat 3.19.0 introduced a new mandatory Interface.
2025-03-20 09:03:25 +08:00
Andrew Nicols a3c604745f MDL-84828 core: Bump Behat to latest version 2025-03-20 09:03:25 +08:00
Daniel Ziegenberg 30c18117b0 MDL-84538 language: Remove duplicated lang string entries
Signed-off-by: Daniel Ziegenberg <daniel@ziegenberg.at>
2025-03-20 00:15:22 +01:00
Jun Pataleta 2822054bbd Merge branch 'MDL-84154_upgrade-HTML-Purifier-to-latest-4-18-0' of https://github.com/ziegenberg/moodle 2025-03-20 07:09:59 +08:00
toanlamt 4898bee134 MDL-84387 mod_assign: Improve submission confirmation with file list
This add the ability for assingment submission plugins to summarise
what was submitted, and then that summary is included in the
message to students confirming to them that their submission
was received.

Then, this new API is implemented in the file and online text plugins.

Co-authored-by: Tim Hunt <T.J.Hunt@open.ac.uk>
2025-03-19 20:08:02 +00:00
Conn Warwicker 2d6df85dea MDL-84302 mod_quiz: Improvements with invalid questions.
- Improve visuals of invalid questions by highlighting and
labelling.
- Removes links to actions which will not work for invalid
questions
- Doesn't allow a preview/attempt of a quiz if it has invalid
questions. This is an improvement over it throwing an exception.
- Don't allow the adding of questions to a quiz if they have
an invalid type.
2025-03-19 18:42:50 +00:00
Paul Holden 08a02cce55 MDL-80984 gradepenalty: define type language strings, add to standard. 2025-03-19 23:57:40 +08:00
Andrew Nicols acbc01a1c1 MDL-80984 gradepenalty_duedate: Version bump 2025-03-19 23:57:36 +08:00
Andrew Nicols 44f0fcfe60 MDL-80984 core_grade: Lint fix 2025-03-19 23:57:29 +08:00
Sara Arjona c5d47d1051 Merge branch 'MDL-84683' of https://github.com/jfederico/moodle 2025-03-19 16:19:26 +01:00
Andrew Nicols a7aedd91ff MDL-80984 core: Coding style updates 2025-03-19 23:01:00 +08:00
Nathan Nguyen cd239dd1c3 MDL-80984 mod_assign: penalty implementation 2025-03-19 23:00:52 +08:00
Nathan Nguyen cfc6db3866 MDL-80984 gradepenalty_duedate: late submission penalties 2025-03-19 23:00:51 +08:00
Nathan Nguyen 224b6eb39a MDL-80984 gradepenalty: add penalty feature 2025-03-19 23:00:51 +08:00
Mikel Martín e1e6134f67 MDL-84753 mod_data: Remove deprecated styles from presets 2025-03-19 15:17:06 +01:00
Mikel Martín d4aa0c0a2b MDL-84753 mod_data: Replace Bootstrap deprecated classes 2025-03-19 15:17:06 +01:00
jfederico 3d4f56df80 MDL-84683 mdl_bigbluebuttonbn: Hide Settings for RecordingsOnly 2025-03-19 14:07:57 +00:00
Mikel Martín 73d5ae8aaa MDL-84753 mod_data: Fix fields sorting layout after BS5 2025-03-19 14:53:41 +01:00
Marina Glancy b41fa6ceb5 MDL-84936 core_courseformat: fix arguments of deprecated functions 2025-03-19 12:37:18 +00:00
Tobias Garske e886388c11 MDL-83535 theme_boost: Prevent sticky-footer from linewrapping 2025-03-19 10:06:11 +00:00
Jun Pataleta e4c7a5cb64 Merge branch 'MDL-84853-main' of https://github.com/andrewnicols/moodle 2025-03-19 16:49:08 +08:00
Jun Pataleta 8a9c088b41 Merge branch 'MDL-84852-main' of https://github.com/andrewnicols/moodle 2025-03-19 16:44:42 +08:00
Huong Nguyen 75c48d66ff Merge branch 'MDL-84892' of https://github.com/paulholden/moodle 2025-03-19 14:32:16 +07:00
Sara Arjona f3b76ad2dc Merge branch 'MDL-83840-main' of https://github.com/clransom/moodle 2025-03-19 08:07:00 +01:00
Andrew Nicols 5d5dda2966 MDL-79329 smsgateway_modica: Coding style fixes 2025-03-19 15:02:03 +08:00
Andrew Nicols 169cdde55b Merge branch 'MDL-79329-main' of https://github.com/safatshahin/moodle 2025-03-19 14:49:49 +08:00
Safat 9011f8a9db MDL-79329 smsgateway_modica: Add Modica SMS gateway to core 2025-03-19 16:33:43 +11:00
Jun Pataleta 6b2c4bb8c7 Merge branch 'MDL-84905-main' of https://github.com/HuongNV13/moodle 2025-03-19 13:18:06 +08:00
Andrew Nicols 0f2a9becf9 MDL-83399 core: Coding style fixes 2025-03-19 12:02:41 +08:00
Andrew Nicols 6ae45d119a Merge branch '83399-admin-loginas' of https://github.com/jaypha/moodle 2025-03-19 11:54:08 +08:00
Huong Nguyen 341a42df72 Merge branch 'MDL-84247' of https://github.com/timhunt/moodle 2025-03-19 10:13:21 +07:00
Huong Nguyen b4b5ead01a Merge branch 'MDL-83766' of https://github.com/ssj365/moodle 2025-03-19 10:05:32 +07:00
Andrew Nicols 87a2f4fc01 NOBUG: Version bump for report_insights 2025-03-19 11:03:14 +08:00
Huong Nguyen d118c67bb7 Merge branch 'MDL-84431-main' of https://github.com/andrewgos/moodle 2025-03-19 09:55:05 +07:00
David Woloszyn d643a6387e MDL-84893 core_message: Fix message drawer overlap and truncation 2025-03-19 13:53:45 +11:00
Huong Nguyen 286e797a4c Merge branch 'MDL-84897-main' of https://github.com/ferranrecio/moodle 2025-03-19 09:52:01 +07:00
Huong Nguyen 3bbc1af5bc Merge branch 'MDL-83499-main' of https://github.com/laurentdavid/moodle 2025-03-19 09:46:01 +07:00
Huong Nguyen d3eef51ef7 MDL-84907 backup: Fix invalid CTRL characters regex 2025-03-19 09:22:36 +07:00
Huong Nguyen 88da54e37b MDL-84905 Behat: Fix I set the following administration settings failure 2025-03-19 09:15:30 +07:00
Luca Bösch 332dffe7a9 MDL-84775 quiz: "Add question" button normal size. 2025-03-18 16:40:24 +01:00
Paul Holden 743bfcbc28 MDL-84884 editor_tiny: define plugin use capabilities in module context. 2025-03-18 14:33:20 +00:00
Tim Hunt 1f185ff5d4 MDL-84846 core lock: report un-released locks better
We now report un-released locks in Behat tests, and when developer
debug is on, as well as in PHPunit.

The exception now has a full stack track, to help locate the problem.
2025-03-18 13:50:35 +00:00
Katie Ransom 8c355f1f1c MDL-83840 course: add warning when hiding category 2025-03-18 13:42:59 +00:00
Sara Arjona c64e967ce6 on-demand release 5.0dev+ 2025-03-18 14:18:09 +01:00
Sara Arjona cf76747167 NOBUG: Add upgrade notes 2025-03-18 14:18:09 +01:00
Sara Arjona 63528d3678 NOBUG: Fixed SVG browser compatibility 2025-03-18 14:17:55 +01:00
Anders Rasmussen e743ac6d28 MDL-84112 bigbluebuttonbn: Added user output only if bbactivity is set 2025-03-18 11:31:49 +01:00
Paul Holden ba8b93a1b8 MDL-84892 admin: general style improvements to the environment table.
Co-authored-by: Mikel Martín <mikel@moodle.com>
2025-03-18 09:38:02 +00:00
Daniel Ziegenberg 15579eb07f MDL-84674 core: Remove long-deprecated methods
Signed-off-by: Daniel Ziegenberg <daniel@ziegenberg.at>
2025-03-18 10:36:53 +01:00
Andrew Gosali 78187606c6 MDL-83856 gradingform_guide: fix remark format to always be FORMAT_HTML 2025-03-18 16:30:45 +07:00
Andrew Gosali 35ec08d6cf MDL-80091 assign grade: select the first user when changing filter
(if the previously selected user is no longer in the filtered list)
2025-03-18 15:19:06 +07:00
Stevani Andolo 4608e30cb9 MDL-78428 tiny_media: Resorted the lang strings 2025-03-18 13:23:04 +08:00
Stevani Andolo 568b1417cc MDL-78428 tiny_media: Added upgradenotes 2025-03-18 13:23:04 +08:00
Stevani Andolo 0ec686cd3f MDL-78428 tiny_media: Fixed failed behat test 2025-03-18 13:23:04 +08:00
Stevani Andolo cc4bab9deb MDL-78428 tiny_media: Methods deprecation 2025-03-18 13:23:04 +08:00
Stevani Andolo db71019e06 MDL-78428 tiny_media: Image code refactor
In this commit we also deprecated a lang string of "browserepositoriesimage,tiny_media"
2025-03-18 13:23:04 +08:00
Stevani Andolo 73e81651ba MDL-78428 tiny_media: Handled save-update media 2025-03-18 13:23:04 +08:00
Stevani Andolo 62104e46e1 MDL-78428 tiny_media: Update previewed embed's thumbnail 2025-03-18 13:23:04 +08:00
Stevani Andolo 818f886c4e MDL-78428 tiny_media: Implemented delete embed thumbnail preview 2025-03-18 13:23:04 +08:00
Stevani Andolo d7c122f90a MDL-78428 tiny_media: Implemented embed thumbnail preview 2025-03-18 13:23:04 +08:00
Stevani Andolo 160dd3289d MDL-78428 tiny_media: Implemented add embed thumbnail 2025-03-18 13:23:04 +08:00
Stevani Andolo 600d947efa MDL-78428 tiny_media: Embed subtitles and captions 2025-03-18 13:23:04 +08:00
Stevani Andolo 9853729199 MDL-78428 tiny_media: Implemented a delete embed preview 2025-03-18 13:23:04 +08:00
Stevani Andolo cc3c4c08d0 MDL-78428 tiny_media: Implemented a new embed preview 2025-03-18 13:23:03 +08:00
Stevani Andolo 75b6985900 MDL-78428 tiny_media: Handled drag-drop upload 2025-03-18 13:23:03 +08:00
Stevani Andolo 4ebfd5e671 MDL-78428 tiny_media: Handled repository upload 2025-03-18 13:23:03 +08:00
Stevani Andolo 6e7cb51c12 MDL-78428 tiny_media: Handled external media URL 2025-03-18 13:23:03 +08:00
Stevani Andolo 0cc6315420 MDL-78428 tiny_media: Implemented a new embed insert
Co-authored-by: David Woloszyn <david.woloszyn@moodle.com>
2025-03-18 13:23:03 +08:00
Stevani Andolo d9d3b3e8b1 MDL-78428 tiny_media: Deprecated unused langs and templates 2025-03-18 13:23:03 +08:00
Jun Pataleta 56183c786e Merge branch 'MDL-81714_main' of https://github.com/marxjohnson/moodle 2025-03-18 12:57:55 +08:00
Jun Pataleta db591309d3 Merge branch 'MDL-84844-main' of https://github.com/PhMemmel/moodle 2025-03-18 12:43:55 +08:00
Huong Nguyen 1b07e67010 Merge branch 'MDL-84305-main' of https://github.com/timhunt/moodle 2025-03-18 11:16:23 +07:00
Jun Pataleta 4af8f12476 Merge branch 'MDL-84569' of https://github.com/paulholden/moodle 2025-03-18 11:06:45 +08:00
Huong Nguyen 30d689691c Merge branch 'MDL-76565_remove-strings-deprecated-in-moodle-versions-before-4-4' of https://github.com/ziegenberg/moodle 2025-03-18 08:53:15 +07:00
Jason Den Dulk 3d7c9a043a MDL-83399 core: Add ability for admins to login as other admins.
Add helper class to contain logic.
Add unit tests to test logic.
2025-03-18 12:48:25 +11:00
Huong Nguyen 1b584c5bae Merge branch 'MDL-77621_final-deprecation-of-lib-cronlib-php' of https://github.com/ziegenberg/moodle 2025-03-18 08:47:29 +07:00
Huong Nguyen adf4a4b14a Merge branch 'MDL-76561_phase-2-of-deprecation-of-functions-in-lib-deprecatedlib-php' of https://github.com/ziegenberg/moodle 2025-03-18 08:37:50 +07:00
Andrew Nicols 1c3e04d9b9 Merge branch 'MDL-84222-main' of https://github.com/HuongNV13/moodle 2025-03-18 08:03:26 +08:00
Andrew Nicols 23a85715fc Merge branch 'MDL-84541-main' of https://github.com/laurentdavid/moodle 2025-03-18 07:17:22 +08:00
Sara Arjona 1acaa35bf4 MDL-84353 tiny_premium: Rename useaccessibilitychecker capability to usea11ychecker
AMOS BEGIN
 MOV [premium:useaccessibilitychecker,tiny_premium],[premium:usea11ychecker,tiny_premium]
AMOS END
2025-03-18 06:28:57 +08:00
Tim Hunt caba341975 MDL-84247 question: move duplicate preview code into a method
This is useful code, as can be seen by the fact it is in two places.
So, moving it to a method.
2025-03-17 17:42:44 +00:00
Tim Hunt ece18d3d22 MDL-84247 questions: rename is_valid_question -> is_qtype_usable
and move it next to is_qtype_installed. This makes the API of the
question_bank class more consistent
2025-03-17 17:12:50 +00:00
Conn Warwicker 77777a0726 MDL-84247 core_question: Improvements to handling invalid questions.
- Highlight the row and adds a badge to indicate that a question
is invalid, to make it much clearer.
- Remove the bulk action checkbox
- Fixes usage count and comments links for missingtype questions.
- Add new behat tests and fix up some existing ones to work
with new logic.
2025-03-17 16:37:27 +00:00
Mark Johnson 5e73a7c064 MDL-84227 quiz: Improve responsiveness of question page 2025-03-17 15:20:13 +00:00
Sara Arjona 4de397afc3 Merge branch 'MDL-84353-main' of https://github.com/albertgasset/moodle 2025-03-17 15:46:28 +01:00
Laurent David 0cb4955a25 MDL-84541 core_course: Do not check change when pressing reset
* When the course reset form is submitted, we acknowledge that form
has been changed so we don't need to watch it anymore
2025-03-17 15:30:09 +01:00
ferran c72f27fdef MDL-84897 course: fix process monitor in Bootstrap 5 2025-03-17 13:10:32 +01:00
Sara Arjona 73cb67cd78 Merge branch 'MDL-81660-main' of https://github.com/andrewnicols/moodle 2025-03-17 11:56:44 +01:00
Huong Nguyen cef44fa573 Merge branch 'MDL-83591-main' of https://github.com/andrewgos/moodle 2025-03-17 16:00:15 +07:00
Albert Gasset 2ba96bf799 MDL-84353 tiny_premium: Enable external function for the mobile app 2025-03-17 09:33:10 +01:00
Albert Gasset 11b78da682 MDL-84353 tiny_premium: Add missing capability for a11ychecker plugin 2025-03-17 09:33:10 +01:00
Albert Gasset 72f00e28b0 MDL-84353 editor_tiny: Add new external function to get configuration 2025-03-17 09:33:10 +01:00
Huong Nguyen 3036771d7a Merge branch 'MDL-84738-main' of https://github.com/roland04/moodle 2025-03-17 15:02:54 +07:00
Huong Nguyen fd33ee7db9 Merge branch 'MDL-84246' of https://github.com/cwarwicker/moodle 2025-03-17 14:57:30 +07:00
Andrew Gosali f846c47ecf MDL-83550 gradingform_rubric: fix submit no grade when remark disabled 2025-03-17 14:49:35 +07:00
Huong Nguyen ad4281f406 Merge branch 'MDL-79086_final-removal-of-share_activity' of https://github.com/ziegenberg/moodle 2025-03-17 14:45:38 +07:00
Daniel Ziegenberg 7f9d2546f6 MDL-80944 mod_quiz: Final deprecation of quiz functions
Signed-off-by: Daniel Ziegenberg <daniel@ziegenberg.at>
2025-03-17 08:27:37 +01:00
Andrew Gosali fff9d0b1fb MDL-83591 grade: fix issue when item is already deleted
The deleted grade is causing the error while using its id that was previously saved in the session variable
2025-03-17 10:22:49 +07:00
Daniel Ziegenberg c03ec92852 MDL-84154 libraries: Upgrade HTML Purifier to 4.18.0
The library comes with an advertised PHP 8.4 compatibility.

Signed-off-by: Daniel Ziegenberg <daniel@ziegenberg.at>
2025-03-16 21:42:28 +01:00
Paul Holden fe8dbab58f MDL-84892 theme_boost: re-use native alerts on environment page table. 2025-03-16 19:48:17 +00:00
Daniel Ziegenberg eee1ea8269 MDL-77621 core: Final deprecation of lib/cronlib.php
Signed-off-by: Daniel Ziegenberg <daniel@ziegenberg.at>
2025-03-16 19:54:49 +01:00
Daniel Ziegenberg f1cb0a6b0f MDL-84623 privacy: close recordset when it's not needed anymore
Signed-off-by: Daniel Ziegenberg <daniel@ziegenberg.at>
2025-03-16 19:53:28 +01:00
Daniel Ziegenberg af878dc381 MDL-76565 core: Final removal of deprecated strings
Signed-off-by: Daniel Ziegenberg <daniel@ziegenberg.at>
2025-03-16 19:52:41 +01:00
Daniel Ziegenberg a7f02563c7 MDL-76561 core: final deprecation of functions before Moodle 4.4
Signed-off-by: Daniel Ziegenberg <daniel@ziegenberg.at>
2025-03-16 19:52:11 +01:00
Daniel Ziegenberg fb711f3a4a fixup! MDL-78090 qbank: final deprecations 2025-03-16 19:28:00 +01:00
Daniel Ziegenberg dc63a6c9e9 MDL-78090 qbank: final deprecations
Signed-off-by: Daniel Ziegenberg <daniel@ziegenberg.at>
2025-03-16 19:27:58 +01:00
Daniel Ziegenberg 1d97e47040 MDL-78090 core_question: final deprecations
Signed-off-by: Daniel Ziegenberg <daniel@ziegenberg.at>
2025-03-16 19:27:56 +01:00
Daniel Ziegenberg c732fe8f79 MDL-79086 core: Final removal of share_activity
Signed-off-by: Daniel Ziegenberg <daniel@ziegenberg.at>
2025-03-16 19:23:06 +01:00
Jun Pataleta 8f89677192 on-demand release 5.0dev+ 2025-03-15 20:22:04 +08:00
Jun Pataleta 78a93522c1 NOBUG: Add upgrade notes 2025-03-15 20:22:03 +08:00
Andrew Nicols 41917db65e MDL-84879 core: Remove stacktrace args from exceptions 2025-03-15 14:32:25 +08:00
Mark Johnson 0f60de575e MDL-81714 output/grades: Add upgrade notes 2025-03-14 16:01:05 +00:00
Mark Johnson 69afa8a3ac MDL-81714 grades: Display "Run now" button for admins in task indicator 2025-03-14 16:01:05 +00:00
Mark Johnson 10de329397 MDL-81714 grades: Add regrading progress indicator to grade reports 2025-03-14 16:01:05 +00:00
Mark Johnson f96965b930 MDL-81714 tool_recyclebin: Remove unnecessary task runs in tests
I assume that it was necessary at some point to run the ad-hoc tasks in
these tests, however the only task now being run is
regrade_final_grades, which causes the tests to fail due as they produce
output.

Whether the regrade is performed or not has no impact on the result of
the test, so removing the ad-hoc task run seems appropriate.
2025-03-14 16:01:05 +00:00
Mark Johnson b746bcd186 MDL-81714 grades: Make large regrades asynchronous
Currently, large courses can take a long time to perform a full regrade.
This is currently handled with a progress bar to prevent frontend
timeouts while the regrade takes place. However, because it can take so
long a teacher may not want to wait with the page open for several
minutes, particularly if they are performing several operations that
trigger a regrade.

This adds a new async flag to grade_regrade_final_grades which is true
by default. Instead of performing the regrade immediately, this queues
an instance of \core\task\regrade_final_grades for the course, which
will be executed in the background.

It is advisable to always leave the async flag set true, except in the
following scenarios:
- Automated tests.
- The regrade_final_grades task which actually wants to do the
calculations immediately.
- When you have performed a check to determine that the regrade process
is unlikely to take a long time, for example there are only a small
number of grade items.
2025-03-14 16:01:04 +00:00
Ilya Tregubov a2374ee968 MDL-81945 gradereport_singleview: Fix hidden grade handling.
Seems to become broken after IR refactoring.
2025-03-14 15:24:15 +00:00
Ilya Tregubov 36b9145916 MDL-81945 gradereport_user: Don't reveal visibility by color.
Seems like dimmed_text class was added without proper check so
user can guess if item is hidden.
2025-03-14 15:24:15 +00:00
Ilya Tregubov 7bd645ba2a MDL-81945 gradereport_user: Behat tests for user report. 2025-03-14 15:24:15 +00:00
Ilya Tregubov bc87df421d MDL-81945 gradereport_singleview: Behat tests for singleview report. 2025-03-14 15:24:15 +00:00
Ilya Tregubov 498c8fd364 MDL-81945 gradereport_grader: Behat tests for grader report 2025-03-14 15:24:15 +00:00
Ilya Tregubov 8989381286 MDL-81945 core_grades: create Behat step for grades action menu. 2025-03-14 15:24:15 +00:00
Ilya Tregubov 7471a1afa9 MDL-81945 gradereport_singleview: Fix hidden grades handling.
If a user is lacking moodle/grade:viewhidden he should not be able
to view or modify grades.
2025-03-14 15:24:15 +00:00
Sara Arjona e283b59012 on-demand release 5.0dev+ 2025-03-14 16:15:39 +01:00
Sara Arjona 20bead3ebd NOBUG: Add upgrade notes 2025-03-14 16:15:38 +01:00
Huong Nguyen f3acee8cc0 Merge branch 'MDL-81664-fix' of https://github.com/sarjona/moodle 2025-03-14 21:58:38 +07:00
Sara Arjona 97bfc58ff0 MDL-81664 lib: Fix wrong library repository 2025-03-14 15:53:30 +01:00
Shamiso.Jaravaza f7e93c4653 MDL-83766 mod_bigbluebuttonbn: Add subplugin sort
* Change sort from default alphabetical to order in manage extension list order
2025-03-14 08:08:36 -06:00
Sara Arjona 1a7d71a0ef Merge branch 'MDL-83541-behat' of https://github.com/HuongNV13/moodle 2025-03-14 11:07:54 +01:00
Huong Nguyen 970fe33c17 MDL-83541 qtype_ddimageortext: Fix Behat failure 2025-03-14 16:02:35 +07:00
Sara Arjona d5148da03e Merge branch 'MDL-83541-behat' of https://github.com/HuongNV13/moodle 2025-03-14 09:21:00 +01:00
Huong Nguyen a2be4986d4 MDL-83541 qtype_numerical: Fix incorrect test hints 2025-03-14 14:33:27 +07:00
Andrew Nicols 53ba66f180 MDL-84877 core_message: Notification preferences should use a Toast 2025-03-14 14:33:36 +08:00
Huong Nguyen d84b9f6fed Merge branch 'MDL-83541-main' of https://github.com/HuongNV13/moodle 2025-03-14 11:59:17 +07:00
Huong Nguyen ec7146084a MDL-83541 qtypes: Remove incorrect test file 2025-03-14 10:10:41 +07:00
Mark Johnson f4ab295f45 MDL-83541 qtypes: Define excluded hash fields and test hints 2025-03-14 10:10:22 +07:00
Mark Johnson c6f329808c MDL-83541 question/quiz: restoring questions with identical stamps
Historically it was possible, through a series of question restores,
moves and edits, to end up with multiple questions in the same
category with the same stamp, but differences in other question
or answer fields. This, combined with changes in versions, led
to errors when restoring or duplicating quizzes using these questions.

While recent changes have made it impossible to create this situation
in current Moodle versions, as any edits will create a new question
version with a new stamp, this situation may exist on long-standing
Moodle sites which have been upgraded since pre-4.0.

This change performs a much wider-ranging comparison of restored
existing questions, generating a hash of all the data for a question in
a backup file, and a corresponding hash for each question in the target
category, to decide if a restored question matches a question already in
the database.
2025-03-14 10:10:18 +07:00
Mark Johnson df381865b4 MDL-83541 qtype_calculated: Add missing field to backups 2025-03-14 10:10:13 +07:00
Mark Johnson 67f32d48e4 MDL-83541 qtype_ddimageortext: Fix test hint text
Ensure that hint text is unique to workaround MDL-84261 for
backup/restore testing.
2025-03-14 10:10:08 +07:00
Jun Pataleta 3777d9c898 Merge branch 'MDL-60910-master' of https://github.com/danghieu1407/moodle 2025-03-14 10:03:56 +08:00
Andrew Nicols 471b14c866 MDL-81660 core: Applied PHP CSS Parser patches
One of the patches has been merged, but the other is still outstanding.
2025-03-14 06:09:40 +08:00
Paul Holden 61c19d044a Merge branch 'MDL-84142' of https://github.com/marinaglancy/moodle into main 2025-03-13 16:30:37 +00:00
Tim Hunt 0a34c6aa10 MDL-84305 qbank upgrade: fix category hierarchies before upgrade
We know that, due to old bugs in places like backup and restore,
you can get question categories with a different contextid from
their parents. This was breaking the upgrade, so this is code
to auto-fix them before the upgrade continues.

Co-authored-by: Stephan Robotta <stephan.robotta@bfh.ch>
2025-03-13 16:04:51 +00:00
Sara Arjona db93e6943b Merge branch 'MDL-83634-main' of https://github.com/junpataleta/moodle 2025-03-13 16:28:12 +01:00
Sara Arjona 1116d54c96 Merge branch 'MDL-84449_deprecate-imagecopybicubic' of https://github.com/ziegenberg/moodle 2025-03-13 16:19:31 +01:00
Daniel Ziegenberg 2be326e162 MDL-84449 core: deprecate imagecopybicubic
The GD lib is a strict requirement, so use imagecopyresampled() instead.

Signed-off-by: Daniel Ziegenberg <daniel@ziegenberg.at>
2025-05-06 06:44:08 +02:00
Marina Glancy 0f75ab1d0e MDL-84142 enrol_paypal: use new template for the self enrolment widget 2025-03-13 13:06:49 +00:00
Marina Glancy 129ab8007e MDL-84142 enrol_fee: use new template for the self enrolment widget 2025-03-13 13:06:44 +00:00
Marina Glancy 58a1667f92 MDL-84142 enrol_guest: use new template for the self enrolment widget 2025-03-13 13:06:39 +00:00
Marina Glancy 7c196005c7 MDL-84142 enrol_self: use new template for the self enrolment widget 2025-03-13 13:06:35 +00:00
Marina Glancy 9e4aa9e324 MDL-84142 core_enrol: new template for self enrolment widgets 2025-03-13 13:06:29 +00:00
Michael Hawkins fb5e0d56cd MDL-83160 core: Update security.txt expiry 2025-03-13 20:33:52 +08:00
Sara Arjona a4f0254cf2 Merge branch 'MDL-84849' of https://github.com/paulholden/moodle 2025-03-13 13:23:37 +01:00
Sara Arjona faf604543c Merge branch 'MDL-84624_close-recordset-in-core-task-h5p_clean_orphaned_records_task-execute' of https://github.com/ziegenberg/moodle 2025-03-13 13:20:23 +01:00
Sara Arjona 815198488c Merge branch 'MDL-84552-main' of https://github.com/laurentdavid/moodle 2025-03-13 13:17:46 +01:00
Sara Arjona 32ad42449f Merge branch '83136-fix-unknowncategory-message-main' of https://github.com/DSI-Universite-Rennes2/moodle 2025-03-13 12:38:35 +01:00
Sara Arjona 54f628288c Merge branch 'MDL-77646-main' of https://github.com/lucaboesch/moodle 2025-03-13 12:33:40 +01:00
Laurent David 9f331d86de MDL-84552 core_adminpresets: Remove chat and survey entries
* Remove chat and survey entries in existing presets
2025-03-13 11:14:21 +01:00
Jun Pataleta 4c7b1f6992 Merge branch 'MDL-84543-main' of https://github.com/andrewnicols/moodle 2025-03-13 17:01:39 +08:00
Andrew Nicols d581c45a0f MDL-84853 core: Modify scssphp for PHP 8.4
The upstream changes to scssphp to support include a breaking version
change. As an interim measure this change addresses the nullable param
deprecations introduced by PHP 8.4.
2025-03-13 16:06:09 +08:00
Stefan Hanauska 282b802b02 MDL-75196 mod_data: Improve backup link processing 2025-03-13 08:22:38 +01:00
Stefan Hanauska cf13d59989 MDL-72050 question: Delete import draftfiles immediately 2025-03-13 08:17:10 +01:00
Stefan Hanauska 66c8a02f21 MDL-72050 filelib: Add function for deleting draftarea 2025-03-13 08:17:10 +01:00
Philipp Memmel 0272f33552 MDL-84844 core_course: Add index to course_sections for mod_subsection 2025-03-13 07:09:04 +01:00
Andrew Nicols 49b39efc9e MDL-84852 core: Modify mustache.php for PHP 8.4
Mustache.php has been largely abandoned. No version compatibly with PHP
8.4 is currently available.

As an interim measure this change addresses the nullable param
deprecations introduced by PHP 8.4.
2025-03-13 14:07:41 +08:00
Jun Pataleta c685d98fb6 Merge branch 'MDL-80386' of https://github.com/timhunt/moodle 2025-03-13 12:35:59 +08:00
Jun Pataleta 1a622c6742 Merge branch 'MDL-65233-main-no-midnight' of https://github.com/sim642/moodle 2025-03-13 12:21:28 +08:00
Andrew Nicols e60e923b83 MDL-81660 core: Bump php-css-parser to 8.7.0 2025-03-13 09:53:02 +08:00
Paul Holden 9c7574a6ec MDL-84849 course: fix category management drag/drop of courses.
Required classes were refactored in BS5 changes in ba30b66e.
2025-03-12 17:34:06 +00:00
Sara Arjona 48455be56a Merge branch 'MDL-78926_final-deprecation-of-core_course-output-activity_information-output-class' of https://github.com/ziegenberg/moodle 2025-03-12 17:48:28 +01:00
Sara Arjona 74fb6ec9d6 Merge branch 'MDL-83552' of https://github.com/dravek/moodle 2025-03-12 17:41:33 +01:00
Conn Warwicker 01d4095926 MDL-80386 core_question: Add "show all" button to filters.
This adds the "Show All" button to the question bank filters
to allow users to select all questions easily.

It also adds new behat tests to test the functionality.
2025-03-12 15:43:08 +00:00
Paul Holden 8d17d42b9c Merge branch 'MDL-84790-main' of https://github.com/roland04/moodle into main 2025-03-12 13:54:35 +00:00
Paul Holden 3468e4fc38 MDL-84143 enrol: upgrade note for new course enrolment renderer. 2025-03-12 11:57:34 +00:00
Paul Holden 170b27d99d Merge branch 'MDL-84143' of https://github.com/marinaglancy/moodle into main 2025-03-12 11:47:27 +00:00
Paul Holden 5a4a03cba6 Merge branch 'MDL-84649-main' of https://github.com/roland04/moodle into main 2025-03-12 11:37:05 +00:00
Sara Arjona 33710ad84b Merge branch 'MDL-78635' of https://github.com/paulholden/moodle 2025-03-12 12:27:50 +01:00
Sara Arjona 4226e94eea Merge branch 'MDL-79124' of https://github.com/paulholden/moodle 2025-03-12 12:23:00 +01:00
Conn Warwicker fc3192026d MDL-84246 core_question: Fix transfer task for invalid questions. 2025-03-12 10:52:03 +00:00
Ilya Tregubov 647db3f6e4 MDL-84143 enrol: Use mustache templates on enrolment options page 2025-03-12 10:38:51 +00:00
Huong Nguyen 38ae4260ea Merge branch 'MDL-84175_upgrade-WebAuthn-to-2-2-0' of https://github.com/ziegenberg/moodle 2025-03-12 17:19:28 +07:00
Daniel Ziegenberg fb3121a49c MDL-84175 libraries: Upgrade WebAuthn to 2.2.0
Signed-off-by: Daniel Ziegenberg <daniel@ziegenberg.at>
2025-05-06 06:34:57 +02:00
Huong Nguyen dadc62f937 Merge branch 'MDL-84657_deprecate-calendar_add_month' of https://github.com/ziegenberg/moodle 2025-03-12 17:01:15 +07:00
Huong Nguyen 849138cf21 Merge branch 'MDL-79434_final-deprecation-of-calendar-functions' of https://github.com/ziegenberg/moodle 2025-03-12 16:49:41 +07:00
Daniel Ziegenberg 47b1b9eca3 MDL-79434 core_calendar: Initial deprecation of calendar_sub_month
Signed-off-by: Daniel Ziegenberg <daniel@ziegenberg.at>
2025-03-12 10:42:09 +01:00
Daniel Ziegenberg 1749f92461 MDL-79434 core_calendar: Final removal of calendar functions
Signed-off-by: Daniel Ziegenberg <daniel@ziegenberg.at>
2025-03-12 10:40:17 +01:00
Huong Nguyen 35622df64c Merge branch 'MDL-84640-main' of https://github.com/andelacruz/moodle 2025-03-12 16:32:00 +07:00
Huong Nguyen 523a2499ef Merge branch 'MDL-84742-main' of https://github.com/sarjona/moodle 2025-03-12 16:09:51 +07:00
Huong Nguyen dfabf5cfd6 Merge branch 'MDL-78605_final-deprecation-of-token_table-col_token' of https://github.com/ziegenberg/moodle 2025-03-12 15:46:08 +07:00
Angelia Dela Cruz 8abc980bcf MDL-84640 analytics: Behat for obtaining prediction models insights 2025-03-12 16:11:32 +08:00
Paul Holden 5f4565b271 MDL-79124 user: final removal of deprecated user preference methods. 2025-03-12 08:07:39 +00:00
Sara Arjona cfb3aa7ab8 Merge branch 'MDL-78780' of https://github.com/paulholden/moodle 2025-03-12 09:00:48 +01:00
Sara Arjona 1fa10951cf Merge branch 'MDL-81185' of https://github.com/paulholden/moodle 2025-03-12 08:54:28 +01:00
Sara Arjona 8192909868 Merge branch 'MDL-78869' of https://github.com/paulholden/moodle 2025-03-12 08:49:34 +01:00
Sara Arjona 49d118abd9 Merge branch 'MDL-78706' of https://github.com/paulholden/moodle 2025-03-12 08:34:44 +01:00
Sara Arjona 27f3bb0269 Merge branch 'MDL-80491' of https://github.com/paulholden/moodle 2025-03-12 08:30:32 +01:00
Sara Arjona a70d511f29 Merge branch 'MDL-83901-main-v02' of https://github.com/ferranrecio/moodle 2025-03-12 08:09:16 +01:00
Sara Arjona dd0321926c Merge branch 'MDL-81664-main' of https://github.com/andrewnicols/moodle 2025-03-12 07:48:04 +01:00
Andrew Nicols fdd8891091 MDL-84543 core: Basepath guess should work on root domains 2025-03-12 13:03:05 +08:00
Andrew Nicols d478ce6683 MDL-81664 core: Upgrade phpoffice/phpspreadsheet 2025-03-12 12:22:03 +08:00
Jun Pataleta aa7e06c0b8 MDL-83634 tool_brickfield: Test the image alt text check's severity 2025-03-12 12:02:57 +08:00
Jun Pataleta 33a8062efd MDL-83634 tool_brickfield: Increase the alt text limit to 750 characters
This is consistent with the alt-text length limit of 750 characters in
Moodle's editor.
2025-03-12 12:02:57 +08:00
Jun Pataleta 206b3c3bba MDL-83634 tool_brickfield: Downgrade image alt text check's severity
Given that
* There is no formally defined limit for alt text length,
* Current versions of screen readers can read alt texts longer than
125 characters,
* Accessibility checkers like axe DevTools, WAVE, etc., do not raise
errors or warnings about long image alt texts.

This patch:
- Downgrades the default severity for the `img_alt_is_too_long`
check from `BA_TEST_SEVERE` to `BA_TEST_SUGGESTION`.
- Updates the `checkdesc:imgaltistoolong` lang string to be more of a
reminder/suggestion rather than an error.
2025-03-12 12:02:56 +08:00
Huong Nguyen 8163ba8d1c Merge branch 'MDL-84578' of https://github.com/cwarwicker/moodle 2025-03-12 10:39:19 +07:00
Huong Nguyen 91d2bf3b97 Merge branch 'main_MDL-84651' of https://github.com/mattporritt/moodle 2025-03-12 08:41:52 +07:00
Matt Porritt 6f127840c2 MDL-84651 AI: Extend AI model support in placement webservice
Support finish reasons from AI services that are PARAM_ALPHAEXT.
This allows supporting of more models.
2025-03-12 11:39:36 +11:00
Sara Arjona 7f55c4c469 Merge branch 'MDL-84801-main' of https://github.com/HuongNV13/moodle 2025-03-11 17:26:05 +01:00
ferran 6787c7ff64 MDL-83901 mod_workshop: add course overview integration 2025-03-11 17:08:34 +01:00
Mikel Martín 1da9f35196 MDL-84738 theme_boost: Replace Bootstrap deprecated helper classes 2025-03-11 16:28:07 +01:00
Mikel Martín faaa8a243f MDL-84738 mod_assign: Fix main action buttons layout
After Bootstrap 5 upgrade in MDL-75669 the main action buttons displayed
after the activity header were not displayed horizontally. Fix the layout
for BS5.
2025-03-11 16:26:32 +01:00
Andrew Nicols 038eca190f Merge branch 'MDL-84728_main' of https://github.com/marxjohnson/moodle 2025-03-11 22:43:51 +08:00
Andrew Nicols b85b7a61ad Merge branch 'MDL-84789' of https://github.com/paulholden/moodle 2025-03-11 22:32:15 +08:00
Andrew Nicols 7d131fe4aa MDL-83440 core: Correct upgrade notes 2025-03-11 22:30:35 +08:00
Mark Johnson 443bb137f7 MDL-84728 question: Map set references to original categories on restore
The restore process assumes all categories in the backup need restoring,
then sorts out which ones to keep later.

This caused issues with restoring set references that used categories
from a shared question bank, since the reference was updated to point to
a copy of the original category, which then got removed as it wasn't
needed.

This change checks whether we should keep the set reference pointing at
the original category, which it will unless:
- We are restoring to a different site (so the original category will
not exist)
- The context the original category belonged to no longer exists.
- The original category itself no longer exists
- The original category belonged to the same context as the original set
reference (in which case we are restoring a whole module, including a
copy of the category)
- We do not have permission to access questions in the original context.
If any of these are true, we should be keeping the restored copy of the
category, and the filter condition should point to it instead.
2025-03-11 14:28:25 +00:00
Andrew Nicols 6ed1e26ea4 Merge branch 'MDL-83440' of https://github.com/timhunt/moodle 2025-03-11 22:26:38 +08:00
Mikel Martín add6f71d06 MDL-84790 theme_boost: Fix btn-icon styles
Fix btn-icon styles following changes in MDL-84692
2025-03-11 15:13:43 +01:00
Sara Arjona b1276473f2 MDL-84742 enrol: Remove empty file enrol/self/bulkchangeforms.php 2025-03-11 14:55:05 +01:00
Derek Henderson 06f256fd60 MDL-77646 lib: Use iframe instead of object to display pdf. 2025-03-11 13:52:45 +01:00
Sara Arjona 2f82f5fe8c on-demand release 5.0dev+ 2025-03-11 13:11:38 +01:00
Sara Arjona e359b2444b NOBUG: Add upgrade notes 2025-03-11 13:11:38 +01:00
Sara Arjona cdb7d7475d Merge branch 'install_main' of https://git.in.moodle.com/amosbot/moodle-install 2025-03-11 13:11:29 +01:00
Paul Holden 2270da3f7e MDL-84789 tag: Behat scenario for sorting of users in tags report. 2025-03-11 11:25:30 +00:00
Mark Johnson c9828a8105 MDL-84591 questions: Save question in use when a course is deleted
question_category_delete_safe checks if questions in the category to be
deleted are in use, and if so, saves them to a new qbank instance to
avoid breaking existing quizzes.

However, if the whole course is being deleted, the qbank is created in
the current course as question_category_delete_safe does not know is is
about to be deleted, and the questions are lost when the deletion
occurs.

This change passes down a flag to question_category_delete_safe so it
knows it was called as part of a whole course deletion, and moves saved
questions to the site course instead of the current course.
2025-03-11 11:00:40 +00:00
Jun Pataleta 83d90775a6 Merge branch 'MDL-84766' of https://github.com/paulholden/moodle 2025-03-11 12:01:30 +08:00
Jun Pataleta 43baa7b182 Merge branch 'MDL-84765' of https://github.com/paulholden/moodle 2025-03-11 11:32:15 +08:00
Jun Pataleta c64a5720b8 Merge branch 'MDL-84416-main' of https://github.com/sarjona/moodle 2025-03-11 11:06:28 +08:00
Jun Pataleta 9e21e25f6f Merge branch 'MDL-84769-main' of https://github.com/sarjona/moodle 2025-03-11 11:04:58 +08:00
Jun Pataleta 6dc94767d2 Merge branch 'MDL-84272' of https://github.com/timhunt/moodle 2025-03-11 11:02:25 +08:00
Jun Pataleta ffdb7689c2 Merge branch 'MDL-83884-master' of https://github.com/ntdat1904/datnguyen_moodle 2025-03-11 10:30:56 +08:00
Huong Nguyen 1a87a816ae MDL-84801 Behat: Fix Expand all fieldsets and advanced elements failure 2025-03-11 09:11:02 +07:00
AMOS bot cff036bb7f Automatically generated installer lang files 2025-03-11 00:07:59 +00:00
Paul Holden f73c90fe8b MDL-84569 payment: consistent payment modal primary button alignment. 2025-03-10 16:38:04 +00:00
Sara Arjona 8e1248930f Merge branch 'MDL-84537' of https://github.com/paulholden/moodle 2025-03-10 16:59:11 +01:00
Paul Holden 0d71bbbd96 Merge branch 'MDL-84524-main' of https://github.com/roland04/moodle into main 2025-03-10 15:30:50 +00:00
Paul Holden b2c459dbdd Merge branch 'MDL-84139' of https://github.com/marinaglancy/moodle into main 2025-03-10 14:50:57 +00:00
Paul Holden b445a4ee1e MDL-84789 reportbuilder: consistent user name sort by aliased field.
More work built upon e76d99f2, we need to perform the alias processing
earlier to ensure that it works for system reports where user sorting
isn't the default.
2025-03-10 13:31:33 +00:00
Mark Johnson b94b1ed5ff MDL-81714 output: Update stored progress bar APIs
Expand the methods available in the stored_progress_bar output component
and stored_progress_task_trait to allow a progress bar to be created in
a "pending" state before the associated task is executed.
2025-03-10 12:41:29 +00:00
Mark Johnson 91e69cee7f MDL-81714 progress: Add new \core\progress\stored class
This progress class updates a stored_progress_bar in a similar way to
how \core\progress\display updates a regular progress_bar, but it does
not produce any output unless the progress bar does.
2025-03-10 12:41:28 +00:00
Daniel Ziegenberg bf7abf4171 MDL-84657 core_calendar: Initial deprecation of calendar_add_month
Signed-off-by: Daniel Ziegenberg <daniel@ziegenberg.at>
2025-03-10 11:52:05 +01:00
Sara Arjona 3623cda234 Merge branch 'MDL-84313-main' of https://github.com/dpalou/moodle 2025-03-10 11:35:37 +01:00
Paul Holden 34cbd649e2 Merge branch 'MDL-84620_close-recordset-in-tool_brickfield-manager-check_scheduled_areas' of https://github.com/ziegenberg/moodle into main 2025-03-10 10:29:37 +00:00
Daniel Ziegenberg bdf91420da MDL-84620 accessibility: close recordset when it's not needed anymore
Signed-off-by: Daniel Ziegenberg <daniel@ziegenberg.at>
2025-05-06 06:40:24 +02:00
Sara Arjona def051bab0 Merge branch 'MDL-84743-main' of https://github.com/roland04/moodle 2025-03-10 11:20:52 +01:00
Sara Arjona d8855e67a2 Merge branch 'MDL-84256-main' of https://github.com/laurentdavid/moodle 2025-03-10 11:16:37 +01:00
Sara Arjona 4d07aaadf4 Merge branch 'MDL-84398' of https://github.com/pedrojordao/moodle 2025-03-10 11:12:05 +01:00
Sara Arjona 0155708345 Merge branch 'MDL-84159' of https://github.com/paulholden/moodle 2025-03-10 11:07:26 +01:00
Sara Arjona 50864aba80 Merge branch 'MDL-84401' of https://github.com/paulholden/moodle 2025-03-10 10:58:10 +01:00
Paul Holden 89738625b4 MDL-84537 reportbuilder: define optional 'separator' aggregation value.
For the group concatenation types, allow callers to define the text to
display between aggregated items. Use this to change the separator for
formatted tag names to be a space character.
2025-03-10 09:55:32 +00:00
Sara Arjona ff23924e80 Merge branch 'MDL-84156_upgrade-Simplepie-to-1-8-1' of https://github.com/ziegenberg/moodle 2025-03-10 09:45:56 +01:00
Daniel Ziegenberg 2572e113ea MDL-84156 Libraries: code cleanup of moodle_simplepie
- use "self::" for local static member reference
- small whitespace clean ups

Signed-off-by: Daniel Ziegenberg <daniel@ziegenberg.at>
2025-05-06 06:35:44 +02:00
Daniel Ziegenberg d708bddfcb MDL-84156 Libraries: Upgrade SimpePie to 1.8.1
- removed sources in the `library/` directory of the SimplePie lib as
  those were for PSR-0 namespaces and we use PSR-4
- removed the PSR-4 autoloader provided by SimmpePie as we use our own
  class loading mechanism
- updated the instructions in readme_moodle.txt
- fixed constants now being namespaced under \SimplePie\SimplePie

Signed-off-by: Daniel Ziegenberg <daniel@ziegenberg.at>
2025-05-06 06:35:38 +02:00
ferran 488244d12d MDL-84469 core_course: add fallback activity overview 2025-03-10 09:25:24 +01:00
David Carrillo c03f47abfd MDL-83552 reportbuilder: Add custom fields to Report builder 2025-03-10 08:21:10 +01:00
Paul Holden 8f9a5f131e MDL-83552 customfield: create external exporter for field data. 2025-03-10 08:20:09 +01:00
Sara Arjona 328b325fbc MDL-84416 backup: Add backup_import_badges setting
While MDL-43938 introduced badge importing, two tasks were left incomplete.

1) Creating the backup_import_badges setting for default import behaviour.
2) Preventing the inclusion of badges during activity duplication.

This commit implements them.
2025-03-10 08:16:36 +01:00
AMOS bot cd592967db Automatically generated installer lang files 2025-03-10 00:07:47 +00:00
Paul Holden 79d329d325 MDL-78869 core: final removal of deprecated openssl encryption support. 2025-03-09 20:25:00 +00:00
Paul Holden bfabec2b65 MDL-84537 reportbuilder: pass options to aggregation type constructor.
Amendments to the column class allow reports/entities to specify these
options for column instances, which are then passed to the aggregation
type when it is applied.
2025-03-09 20:18:54 +00:00
Andrew Nicols c8d1b8e0c0 Merge branch 'MDL-84177_upgrade-JMESPath-to-2-8-0' of https://github.com/ziegenberg/moodle 2025-03-09 22:37:49 +08:00
Daniel Ziegenberg 232c8f48fa MDL-84177 libraries: Upgrade JMESPath to 2.8.0
The library comes with an advertised PHP 8.4 compatibility.

Signed-off-by: Daniel Ziegenberg <daniel@ziegenberg.at>
2025-05-06 06:39:50 +02:00
Andrew Nicols 232a1be14d Merge branch 'MDL-84176_upgrade-aws-sdk-to-3-342-2' of https://github.com/ziegenberg/moodle 2025-03-09 22:37:43 +08:00
Daniel Ziegenberg 03121f33c6 MDL-84176 libraries: Upgrade AWS SDK for PHP to 3.342.2
The library raises the minimum required PHP version to 8.0 and comes
with an advertised PHP 8.4 compatibility.

Signed-off-by: Daniel Ziegenberg <daniel@ziegenberg.at>
2025-03-08 21:17:03 +01:00
Andrew Nicols c6a267109c Merge branch 'MDL-83798-main' of https://github.com/srobotta/moodle 2025-03-08 21:13:19 +08:00
Andrew Nicols ffbc57361b Merge branch 'MDL-84164_upgrade-PHP-JWT-to-6-11-0' of https://github.com/ziegenberg/moodle 2025-03-08 21:11:19 +08:00
Daniel Ziegenberg 415ff35be6 MDL-84164 libaries: Upgrade PHP-JWT to 6.11.0
The library raises the minimum required PHP version to 8.0 and comes
with an advertised PHP 8.4 compatibility.

Signed-off-by: Daniel Ziegenberg <daniel@ziegenberg.at>
2025-05-06 06:36:19 +02:00
Andrew Nicols b395f437a3 Merge branch 'MDL-84169_upgrade-FPDI-to-2-6-3' of https://github.com/ziegenberg/moodle 2025-03-08 21:08:44 +08:00
Daniel Ziegenberg 8793ceda5a MDL-84169 libraries: Upgrade FPDI to 2.6.3
The library raises the minimum required PHP version to 7.1 and comes with PHP 8.4 compatibility.

Signed-off-by: Daniel Ziegenberg <daniel@ziegenberg.at>
2025-05-06 06:39:22 +02:00
Andrew Nicols 741a457791 Merge branch 'MDL-82937-main' of https://github.com/andrewgos/moodle 2025-03-08 20:57:45 +08:00
Andrew Nicols fad3caa1a6 Merge branch 'MDL-83230-main' of https://github.com/andrewgos/moodle 2025-03-08 20:57:03 +08:00
Andrew Nicols 972fa5b23e Merge branch 'MDL-77668-main' of https://github.com/kevpercy/moodle 2025-03-08 20:55:26 +08:00
Andrew Nicols cd060fb6df Merge branch 'MDL-75745-main' of https://github.com/andrewgos/moodle 2025-03-08 20:53:25 +08:00
Andrew Nicols e183df6de2 Merge branch 'MDL-84529' of https://github.com/cwarwicker/moodle 2025-03-08 20:52:04 +08:00
Jun Pataleta 8cb5d000a1 on-demand release 5.0dev+ 2025-03-08 11:45:27 +08:00
Jun Pataleta fb5abbafb6 NOBUG: Add upgrade notes 2025-03-08 11:45:27 +08:00
Jun Pataleta b4981ff67e NOBUG: Fixed file access permissions 2025-03-08 11:45:16 +08:00
Sara Arjona 46dd5f4a7c MDL-84769 calendar: Fix random PHPHUnit failures 2025-03-07 13:05:11 +01:00
Sara Arjona 37798a0f2e Merge branch 'MDL-84652-main-fix' of https://github.com/junpataleta/moodle 2025-03-07 11:45:19 +01:00
Laurent David 4feea9437f MDL-84256 core_course: Fix course icon in course index page
* In RTL language the icon should follow the course name intead
of being upfront
2025-03-07 11:19:30 +01:00
Sara Arjona 41d5b80b6a Merge branch 'MDL-84705-main' of https://github.com/roland04/moodle 2025-03-07 10:43:11 +01:00
Jun Pataleta 2fdd4220f2 MDL-84652 core: Properly uninstall mnetservice_enrol 2025-03-07 17:35:09 +08:00
Andrew Gosali ebe7a17655 MDL-83230 forum: removal of subject prefix "Re:" in forum discussions
- When replying in the forum
- When replying to the email
- When clicking the link in the email to reply
2025-03-07 17:33:04 +08:00
Andrew Gosali d912b2a083 MDL-75745 mod_book: import chapters to parse anchor links 2025-03-07 17:29:15 +08:00
Huong Nguyen d23870bc75 Merge branch 'MDL-84602-fix' of https://github.com/sarjona/moodle 2025-03-07 15:35:45 +07:00
Andrew Gosali 844b0c0dbd MDL-76801 mod_assign: grader ux fixes on "requires grading"
- refresh list when the user is graded hence no longer in the list
- hide the CTA buttons when no user is selected
2025-03-07 15:53:46 +08:00
Mikel Martín 16e60b9937 MDL-84649 tiny_media: Fix delete image icon positioning
After Bootstrap 5 upgrade in MDL-75669 the image delete icon was
incorrectly positioned.
Fix the related template.
2025-03-07 08:37:55 +01:00
Mikel Martín 98a13669c3 MDL-84524 theme_boost: Fix backup/restore styles after BS5 upgrade 2025-03-07 08:30:29 +01:00
Sara Arjona ffa16a1eb3 MDL-84602 assign: Fix behat failures 2025-03-07 08:05:56 +01:00
Jun Pataleta 80ddc793fb Merge branch 'MDL-80995' of https://github.com/paulholden/moodle 2025-03-07 12:25:09 +08:00
Jun Pataleta e8c07e0599 Merge branch 'MDL-83216-main' of https://github.com/meirzamoodle/moodle 2025-03-07 12:15:29 +08:00
meirzamoodle 2f10fde01e MDL-83216 AI: Provider instances ordering 2025-03-07 11:10:11 +07:00
Huong Nguyen 31e26bae5e Merge branch 'MDL-84107-main' of https://github.com/HuongNV13/moodle 2025-03-07 11:00:08 +07:00
Andrew Nicols faeb72afa0 Merge branch 'MDL-84342-main' of https://github.com/meirzamoodle/moodle 2025-03-07 11:50:41 +08:00
Andrew Nicols fd5cb87d8c Merge branch 'MDL-81328' of https://github.com/Chocolate-lightning/moodle 2025-03-07 11:48:50 +08:00
meirzamoodle 1503d5fe81 MDL-84342 core_sms: Implement simple SMS notification shortening 2025-03-07 10:47:15 +07:00
Andrew Nicols 773220ddbe Merge branch 'MDL-84617-main' of https://github.com/sarjona/moodle 2025-03-07 11:43:10 +08:00
Jun Pataleta 820b16f97d Merge branch 'MDL-84652-main' of https://github.com/davewoloszyn/moodle 2025-03-07 10:54:11 +08:00
Daniel Ziegenberg 19f0c27ac0 MDL-84652 core: Add privacy provider for mnet
This privacy provider was erroneously added to auth_mnet where it should
not have been in the first place.

Original issue: MDL-84307

Signed-off-by: Daniel Ziegenberg <daniel@ziegenberg.at>
2025-03-07 10:51:07 +08:00
Daniel Ziegenberg c3af0680e2 MDL-84652 core_auth: Remove auth_mnet dependencies
- Remove auth_mnet from the standard plugins
- PHP Unit:
  - Remove auth_mnet as a sample from unit testing in login tests
    and component tests replacing it with auth_ldap.
  - Conditionally skip tests for block mnet_hosts when auth_mnet is
    not installed.

Original issue: MDL-84307

Signed-off-by: Daniel Ziegenberg <daniel@ziegenberg.at>
2025-03-07 10:50:47 +08:00
Daniel Ziegenberg db16fae43a MDL-84652 auth_mnet: Remove auth_mnet from Moodle 5.0
Original issue: MDL-84307

Signed-off-by: Daniel Ziegenberg <daniel@ziegenberg.at>
2025-03-07 10:50:29 +08:00
Daniel Ziegenberg 60f7db3a93 MDL-84652 core: Remove block_mnet_hosts dependencies
- Remove block_mnet_hosts from the standard plugins
- Remove block_mnet_hosts from default admin presets
- Replace block_mnet_hosts in behat tests of core features

Original issue: MDL-84309

Signed-off-by: Daniel Ziegenberg <daniel@ziegenberg.at>
2025-03-07 10:49:58 +08:00
Daniel Ziegenberg 660f12dc7c MDL-84652 block_mnet_hosts: Remove block_mnet_hosts from Moodle 5.0
Original issue: MDL-84309

Signed-off-by: Daniel Ziegenberg <daniel@ziegenberg.at>
2025-03-07 10:49:39 +08:00
Daniel Ziegenberg 731cfd8529 MDL-84652 core: Remove enrol_mnet dependencies
- Remove block_mnet_hosts from the standard plugins

Original issue: MDL-84310

Signed-off-by: Daniel Ziegenberg <daniel@ziegenberg.at>
2025-03-07 10:48:13 +08:00
Daniel Ziegenberg 085d32414a MDL-84652 enrol_mnet: Remove enrol_mnet from Moodle 5.0
Original issue: MDL-84310

Signed-off-by: Daniel Ziegenberg <daniel@ziegenberg.at>
2025-03-07 10:47:47 +08:00
Daniel Ziegenberg f2208c1f6c MDL-84652 core_portfolio: Remove portfolio_mahara dependencies
- Remove portfolio_mahara from the standard plugins

Original issue: MDL-84308

Signed-off-by: Daniel Ziegenberg <daniel@ziegenberg.at>
2025-03-07 10:47:00 +08:00
Daniel Ziegenberg c92646961d MDL-84652 portfolio_mahara: Remove portfolio_mahara from Moodle 5.0
Original issue: MDL-84308

Signed-off-by: Daniel Ziegenberg <daniel@ziegenberg.at>
2025-03-07 10:46:27 +08:00
Daniel Ziegenberg e7011ad3f9 MDL-84652 core: Deprecate plugintype mnetservice
Original issue: MDL-84311
2025-03-07 10:46:08 +08:00
Daniel Ziegenberg 3dc9d02b51 MDL-84652 mnetservice_enrol: Remove mnetservice_enrol dependencies
Original issue: MDL-84311

Signed-off-by: Daniel Ziegenberg <daniel@ziegenberg.at>
2025-03-07 10:45:24 +08:00
Daniel Ziegenberg f4eb61f8e2 MDL-84652 mnetservice_enrol: Remove mnetservice_enrol from Moodle 5.0
Original issue: MDL-84311

Signed-off-by: Daniel Ziegenberg <daniel@ziegenberg.at>
2025-03-07 10:44:05 +08:00
Jun Pataleta db637903fc Merge branch 'MDL-78304_final-deprecation-for-mnet' of https://github.com/ziegenberg/moodle 2025-03-07 10:08:20 +08:00
Jun Pataleta 2c0c6a3f6f Merge branch 'MDL-84551' of https://github.com/jonof/moodle 2025-03-07 10:04:51 +08:00
Jun Pataleta 3273363698 Merge branch 'MDL-75486-main' of https://github.com/stevandoMoodle/moodle 2025-03-07 09:57:48 +08:00
Andrew Nicols 0360fb62d9 MDL-83334 core: Remove remaining references to E_STRICT in docs 2025-03-07 09:35:29 +08:00
Andrew Nicols ce74bfca99 Merge branch 'MDL-83334_remove-all-references-to-E_STRICT' of https://github.com/ziegenberg/moodle 2025-03-07 09:35:26 +08:00
Huong Nguyen a561c7611a Merge branch 'MDL-84737-main' of https://github.com/junpataleta/moodle 2025-03-07 08:32:14 +07:00
Andrew Nicols 2d8fc486da Merge branch 'MDL-81623' of https://github.com/paulholden/moodle 2025-03-07 09:25:01 +08:00
Stevani Andolo 70b5993e2a MDL-75486 filter_mathmaxloader: Upgraded MathJax cdn to version 3.2.2 2025-03-07 09:23:48 +08:00
Andrew Nicols 4cfa8f9884 Merge branch 'MDL-84602-main' of https://github.com/ferranrecio/moodle 2025-03-07 09:19:45 +08:00
Andrew Nicols 71d8a1f515 Merge branch 'MDL-84729-main' of https://github.com/HuongNV13/moodle 2025-03-07 09:10:33 +08:00
Andrew Nicols 0b4e05f524 Merge branch 'MDL-84532-main' of https://github.com/mihailges/moodle 2025-03-07 09:07:47 +08:00
Andrew Nicols f289bb4625 Merge branch 'MDL-83886-master' of https://github.com/ngtrdai/moodle 2025-03-07 09:06:16 +08:00
Andrew Nicols bfc826809a Merge branch 'MDL-83881_main' of https://github.com/marxjohnson/moodle 2025-03-07 09:05:13 +08:00
Andrew Nicols e7dd68201b Merge branch 'MDL-80173' of https://github.com/paulholden/moodle 2025-03-07 09:03:55 +08:00
Andrew Nicols 0f4cf18554 Merge branch 'MDL-82936' of https://github.com/paulholden/moodle 2025-03-07 09:01:41 +08:00
Paul Holden 1dc4b0586b MDL-84766 ai: use first enabled provider as default in instance form. 2025-03-06 19:53:26 +00:00
Paul Holden 75942da331 MDL-84765 aiprovider_azureai: ensure tests refer to correct provider. 2025-03-06 18:21:02 +00:00
Sara Arjona b7da6077eb Merge branch 'MDL-84155_upgrade-PHPMailer-to-6-9-3' of https://github.com/ziegenberg/moodle 2025-03-06 17:28:01 +01:00
Mikel Martín cace3ebb38 MDL-84743 theme_boost: Fix form checkboxes spacing
After Bootstrap upgrade in MDL-75669 the checkbox and advanced checkbox
form elements were not correctly displayed, because there was no space
between the input and the label. Fixed it using BS5 syntax.
2025-03-06 16:07:46 +01:00
ferran c85ae796cd MDL-84602 course: allowing chained setters to overview items 2025-03-06 15:46:35 +01:00
ferran 0f4cb86948 MDL-84602 course: adding alert count to overview 2025-03-06 15:46:35 +01:00
Paul Holden e44c23c982 MDL-82936 reportbuilder: implement report actions for existing reports.
Applied to the admin user listing page, and the report/schedule pages
to align the "New X" buttons.
2025-03-06 14:22:53 +00:00
Paul Holden c439e2d3c1 MDL-82936 reportbuilder: new APIs for enhancing report rendering.
We're introducing two new sets of APIs for both custom and system
reports:

* Report actions allow for the definition of an action to belong
  to the report and be rendered alongside the filters button;
* Report info container allows for the definition of content to
  render between the aforementioned action buttons and the table
  content itself
2025-03-06 14:22:53 +00:00
Sara Arjona 6068a51009 Merge branch 'MDL-84740-main' of https://github.com/roland04/moodle 2025-03-06 15:03:04 +01:00
Sara Arjona 25a0af5c20 Merge branch 'MDL-84720' of https://github.com/paulholden/moodle 2025-03-06 15:02:01 +01:00
Sara Arjona 9dfa2dfdc1 Merge branch 'MDL-84380-main' of https://github.com/laurentdavid/moodle 2025-03-06 15:00:49 +01:00
Sara Arjona e3a2547b58 Merge branch 'MDL-83720' of https://github.com/paulholden/moodle 2025-03-06 14:55:49 +01:00
Sara Arjona 7e20422545 Merge branch 'MDL-83265' of https://github.com/paulholden/moodle 2025-03-06 14:49:09 +01:00
Sara Arjona fee78a7dc3 Merge branch 'MDL-84744-main' of https://github.com/HuongNV13/moodle 2025-03-06 14:45:24 +01:00
Mark Johnson 086f6ba6db MDL-83881 qbank_viewcreator: Creator and modifier name filters
Add additional question filters for the "Created by" name and "Modified
by" name.

These filters will operate on all name fields that are selected for
these columns, as the exact text displayed is determined by the
fullname() function and not he query.
2025-03-06 11:42:30 +00:00
Mark Johnson d5397fee96 MDL-83881 question: Switch user ids in updated questions
Add switching of "modifiedby" and "createdby" usernames for user ids in
the "updated questions" behat creatable entity.
2025-03-06 11:42:30 +00:00
Conn Warwicker c7790d4ba7 MDL-84578 qbank_managecategories: Add category validation.
- This adds JS validation to the category autocomplete.
- This adds new behat steps to check this validation.
- This adds a new behat test to test this in managecategories.
2025-03-06 11:06:01 +00:00
Dai Nguyen Trong 9ce207c934 MDL-83886 badges: Move bakerlib.php to classes/png_metadata_handler 2025-03-06 17:23:44 +07:00
Huong Nguyen f1e1d84284 MDL-84744 enrol: Fix undefined function course_get_url 2025-03-06 17:04:59 +07:00
Dat Nguyen c47a972892 MDL-83884 badges: Move form files from badges to badges/classes/form 2025-03-06 16:47:24 +07:00
Huong Nguyen 7c1d949a90 MDL-84107 core_analytics: Version bump 2025-03-06 16:29:30 +07:00
Huong Nguyen 110a0afbaa MDL-84107 core_adminpresets: Remove Analytics setting 2025-03-06 16:29:30 +07:00
Huong Nguyen 1e604efa65 MDL-84107 core_analytics: Switch Behat to use Python backend 2025-03-06 16:29:30 +07:00
Huong Nguyen 5dc4290eba MDL-84107 core_analytics: Switch PHPUnit to use Python backend 2025-03-06 16:29:30 +07:00
Jun Pataleta 00bf9b20c4 MDL-84170 tiny_html: Regenerate for latest updates
The versions of the following dependencies have been updated as of
integration:
- codemirror/search: 6.5.9 => 6.5.10
- codemirror/view: 6.36.2 => 6.36.4
2025-03-06 17:22:55 +08:00
Jun Pataleta 7a81ae883e Merge branch 'MDL-84170-main' of https://github.com/meirzamoodle/moodle 2025-03-06 17:22:17 +08:00
Jun Pataleta 2ab060c006 Merge branch 'MDL-84354-main' of https://github.com/stevandoMoodle/moodle 2025-03-06 15:42:22 +08:00
Jun Pataleta 35801224df Merge branch 'MDL-84179-main' of https://github.com/meirzamoodle/moodle 2025-03-06 15:11:57 +08:00
Jun Pataleta 8ea054dc8f Merge branch 'MDL-84157-main' of https://github.com/meirzamoodle/moodle 2025-03-06 13:23:45 +08:00
David Woloszyn 2aeef38c7b MDL-84107 core_analytics: Skip tests if mlbackend_python not configured 2025-03-06 11:48:41 +07:00
David Woloszyn 42c2b70505 MDL-84107 mlbackend_php: Remove mlbackend_php
Replaced by mlbackend_python as the new default. New installs
will have analytics disabled to give admins a chance to
configure mlbackend_python before enabling analytics again.
2025-03-06 11:48:32 +07:00
Andrew Nicols 2455005096 Merge branch 'MDL-84558' of https://github.com/timhunt/moodle 2025-03-06 11:56:36 +08:00
Jun Pataleta 0c226198f0 Merge branch 'MDL-84162-main' of https://github.com/meirzamoodle/moodle 2025-03-06 11:53:59 +08:00
Andrew Nicols 399d04d09e Merge branch 'MDL-84723-main' of https://github.com/lameze/moodle 2025-03-06 11:50:12 +08:00
Andrew Nicols 8d5f85017a Merge branch 'MDL-84036-main' of https://github.com/aanabit/moodle 2025-03-06 11:47:47 +08:00
Simey Lameze 8fffdf5aa8 MDL-84723 behat: final improvements and fixes to the test
This commit does few things:
- Remove unnecessary grade field to assign generator.
- Remove unnecessary comment lines.
- Update the warning message assertion to use the no-break space unicode character.
2025-03-06 11:23:33 +08:00
Jun Pataleta a183cd73dc Merge branch 'MDL-84161-main' of https://github.com/meirzamoodle/moodle 2025-03-06 11:22:36 +08:00
Jun Pataleta d057b12be1 MDL-84163 componentlibrary: Update fontawesomeicons.json 2025-03-06 10:53:17 +08:00
Jun Pataleta b56de54faa Merge branch 'MDL-84163-main' of https://github.com/meirzamoodle/moodle 2025-03-06 10:49:39 +08:00
Jun Pataleta 24c33f569a Merge branch 'MDL-84165-main' of https://github.com/stevandoMoodle/moodle 2025-03-06 10:01:21 +08:00
Andrew Nicols 6a8840348a Merge branch 'MDL-84171' of https://github.com/paulholden/moodle 2025-03-06 09:21:44 +08:00
Andrew Nicols 48b252e04c Merge branch 'MDL-84295-main' of https://github.com/laurentdavid/moodle 2025-03-06 09:19:06 +08:00
Andrew Nicols f46591d196 Merge branch 'MDL-75442-main' of https://github.com/StudiUM/moodle 2025-03-06 09:10:51 +08:00
Andrew Nicols 035a92fa2c Merge branch 'MDL-84135' of https://github.com/paulholden/moodle 2025-03-06 09:09:06 +08:00
Sara Arjona 295ea4398a Merge branch 'MDL-84457' of https://github.com/paulholden/moodle 2025-03-05 16:40:47 +01:00
Sara Arjona 5354e2af6c Merge branch 'MDL-82399' of https://github.com/paulholden/moodle 2025-03-05 16:35:10 +01:00
Mikel Martín 841b2e2ca2 MDL-84705 AI: Fix image model form buttons
-After Bootstrap 5 upgrade in MDL-75669 the AI image model form buttons
were not working correctly. Fix the related syntax to BS5.
- Fix some deprecated 'form-group' usages
2025-03-05 14:48:18 +01:00
Andrew Nicols fd9b38d054 Merge branch 'MDL-79162' of https://github.com/paulholden/moodle 2025-03-05 21:15:42 +08:00
Andrew Nicols 8a2f61011a Merge branch 'MDL-84474_upgrade-libphonenumber-to-8-13-54' of https://github.com/ziegenberg/moodle 2025-03-05 21:09:36 +08:00
sam marshall e1c9edcfab MDL-84731 Calendar: Course select should honour courselistshortnames 2025-03-05 13:04:22 +00:00
Andrew Nicols 8caa60eb5f Merge branch 'MDL-81669_upgrade-phpxmlrpc' of https://github.com/ziegenberg/moodle 2025-03-05 21:03:48 +08:00
Andrew Nicols 6f118c31e0 Merge branch 'MDL-83026-main' of https://github.com/albertgasset/moodle 2025-03-05 21:00:11 +08:00
Andrew Nicols e8b91a6450 Merge branch 'MDL-78449-main' of https://github.com/dpalou/moodle 2025-03-05 20:58:28 +08:00
Andrew Nicols 07db45d74d Merge branch 'MDL-84618-main' of https://github.com/roland04/moodle 2025-03-05 20:57:39 +08:00
Jun Pataleta 947aafe7ce Merge branch 'MDL-84384' of https://github.com/paulholden/moodle 2025-03-05 20:43:30 +08:00
Mikel Martín a4aeacaca1 MDL-84740 theme_boost: Fix deprecated styles 2025-03-05 11:12:01 +01:00
Laurent David ee44c0c384 MDL-84295 core_theme: Fix margin for activity description list
* Make sure lists in activity descriptions are displayed
identically on course page and activity pages
2025-03-05 10:15:46 +01:00
Angelia Dela Cruz f862c5a06c MDL-84723 gradingform: Behat for maximum grade mismatch in marking guide 2025-03-05 17:12:21 +08:00
Mikel Martín bba4b46a3b MDL-84618 theme_boost: Fix buttons .btn hover styles 2025-03-05 09:54:10 +01:00
Dani Palou 3df726539b MDL-78449 choice: Support groups in get_choice_results WS 2025-03-05 09:34:16 +01:00
Sara Arjona 4c49799d04 Merge branch 'MDL-84002' of https://github.com/paulholden/moodle 2025-03-05 08:58:13 +01:00
Stephan Robotta c25db8ea78 MDL-83798 core_communication: include provider in exception messages 2025-03-05 08:54:44 +01:00
Sara Arjona 01a5feb9b5 Merge branch 'MDL-83888-main-v02' of https://github.com/ferranrecio/moodle 2025-03-05 08:31:28 +01:00
Sara Arjona 17c6b8509a Merge branch 'MDL-84265-main' of https://github.com/andrewnicols/moodle 2025-03-05 08:22:36 +01:00
Andrew Nicols b3796d2e60 Merge branch 'MDL-84172' of https://github.com/paulholden/moodle 2025-03-05 15:00:09 +08:00
Andrew Nicols 0865f0e996 Merge branch 'MDL-84017' of https://github.com/paulholden/moodle 2025-03-05 14:55:33 +08:00
Andrew Nicols 42b4c25499 Merge branch 'MDL-82170' of https://github.com/paulholden/moodle 2025-03-05 14:36:25 +08:00
Andrew Nicols a4b3cf493d Merge branch 'MDL-75875-main' of https://github.com/laurentdavid/moodle 2025-03-05 14:25:26 +08:00
Andrew Nicols 5c765b7d78 MDL-83344 core: Update thirdpartylibs for cfpropertylist 2025-03-05 14:24:39 +08:00
Andrew Nicols d76130ec4b Merge branch 'MDL-83344-main' of https://github.com/andrewgos/moodle 2025-03-05 14:22:04 +08:00
Andrew Nicols f3da0f5eb5 Merge branch 'MDL-84126-main' of https://github.com/davewoloszyn/moodle 2025-03-05 14:03:12 +08:00
Andrew Nicols f9340b96f5 Merge branch 'MDL-84631-main' of https://github.com/roland04/moodle 2025-03-05 14:01:53 +08:00
Andrew Nicols d36b08315d Merge branch 'MDL-84692-main' of https://github.com/roland04/moodle 2025-03-05 13:58:18 +08:00
Andrew Nicols 9e261994a4 Merge branch 'MDL-81155-main' of https://github.com/laurentdavid/moodle 2025-03-05 13:56:36 +08:00
Andrew Nicols d74f4d6ddc Merge branch 'MDL-80116-main' of https://github.com/ferranrecio/moodle 2025-03-05 13:53:06 +08:00
Huong Nguyen f861ab8535 Merge branch 'MDL-84694-main' of https://github.com/sarjona/moodle 2025-03-05 11:04:55 +07:00
Huong Nguyen b5fee651ff Merge branch 'MDL-84697-main' of https://github.com/sarjona/moodle 2025-03-05 10:54:50 +07:00
Huong Nguyen face303673 Merge branch 'MDL-84425-main' of https://github.com/andelacruz/moodle 2025-03-05 10:50:50 +07:00
Huong Nguyen 17904f8baf Merge branch 'MDL-83282-main' of https://github.com/andrewnicols/moodle 2025-03-05 10:44:06 +07:00
Andrew Nicols 63fbef8bf4 MDL-83282 core_form: Hint the field type for editor format selector
This was previously only working because Atto was actively setting the
value when it should never has done so.
2025-03-05 11:35:25 +08:00
Andrew Nicols 1aeaf278c1 MDL-83282 core: Remove most reference to Atto
Some references can remain, and others should remain until we drop
support for YUI, or Atto is no longer supported in the plugins database.

Note: Some reference to Atto will remain until such a time as it is no
longer possible to support the editor via the plugins database.
2025-03-05 11:35:25 +08:00
Andrew Nicols e49af69a1d MDL-83282 editor_atto: Remove Atto editor
This minor patch removes the Atto editor, and all of its subplugins from
Moodle core.
2025-03-05 11:35:17 +08:00
Jun Pataleta e0c28c7160 MDL-84737 qbank_managecategories: Disable max-line-length style rule 2025-03-05 11:28:41 +08:00
Angelia Dela Cruz 574b0961ff MDL-84425 theme_boost: Behat for course section selector unavailable 2025-03-05 11:16:14 +08:00
Jun Pataleta 5d34eeb6d5 Merge branch 'MDL-78778-main' of https://github.com/safatshahin/moodle 2025-03-05 10:27:46 +08:00
Andrew Nicols 61534718fe MDL-84265 core: Remove sqlite support 2025-03-05 10:27:10 +08:00
Andrew Nicols 09b3b76f39 MDL-83282 core: Disable text editors on uninstall 2025-03-05 10:07:39 +08:00
Safat 001c5361d3 MDL-78778 auth_cas: Uninstall cas & remove dependencies 2025-03-05 12:53:58 +11:00
Safat e6547f873a MDL-78778 auth_cas: Remove cas authentication from core 2025-03-05 12:33:23 +11:00
Stevani Andolo 3bd9251535 MDL-84165 media_videojs: Upgrade VideoJS to 8.21.1 2025-03-05 08:29:42 +08:00
Stevani Andolo c1b5c8b4e3 MDL-84354 libraries: Upgrade TCPDF to version 6.8.2 2025-03-05 08:28:40 +08:00
Daniel Ziegenberg 9c83209535 MDL-78926 wiki: Final deprecation of mod_wiki_renderer\wiki_info()
Signed-off-by: Daniel Ziegenberg <daniel@ziegenberg.at>
2025-03-04 20:38:59 +01:00
Daniel Ziegenberg be4b3e3d03 MDL-78926 core: Final deprecation of activity_information
Signed-off-by: Daniel Ziegenberg <daniel@ziegenberg.at>
2025-03-04 20:38:57 +01:00
Daniel Ziegenberg e405cf89a9 MDL-78926 course: Final deprecation of render_activity_information
Signed-off-by: Daniel Ziegenberg <daniel@ziegenberg.at>
2025-03-04 20:38:55 +01:00
Daniel Ziegenberg 3070ef8161 MDL-78926 course: Removed core_course\output\activity_information
Signed-off-by: Daniel Ziegenberg <daniel@ziegenberg.at>
2025-03-04 20:38:53 +01:00
Daniel Ziegenberg c23d5edb0f MDL-83334 core: Remove deprecated constant E_STRICT
One of the error levels PHP previously emitted was E_STRICT, on code
that was not strictly correct to ensure interoperability and forward
compatibility. PHP 7.0 converted the majority of existing E_STRICT
warnings to E_NOTICE, and since PHP 8.0, all E_STRICT notices have
changed to E_NOTICE.

Because all of the E_STRICT notices are upgraded to E_NOTICE since PHP
8.0, PHP 8.4 deprecates the E_STRICT constant.

The E_STRICT constant is deprecated in PHP 8.4. Using the constant
anywhere in PHP code now emits a deprecation notice in PHP 8.4 and
later.

The E_STRICT constant will be removed in PHP 9.0.

PHP core and core extensions since PHP 8.0 and later do not emit
E_STRICT notices at all. It is safe to assume that any PHP applications
that run on PHP 8.0 and later will never encounter E_STRICT notices, and
error reporting and handling can be safely updated to ignore E_STRICT
notices.

See: https://php.watch/versions/8.4/E_STRICT-deprecated

Signed-off-by: Daniel Ziegenberg <daniel@ziegenberg.at>
2025-03-04 20:38:04 +01:00
Daniel Ziegenberg 86a91a65fe MDL-78605 core_webservice: Final removal of token_table::col_token
Signed-off-by: Daniel Ziegenberg <daniel@ziegenberg.at>
2025-03-04 20:37:33 +01:00
Daniel Ziegenberg 5807d864a6 MDL-78304 core_mnet: Remove deprecated mnet_peer::get_public_key
Signed-off-by: Daniel Ziegenberg <daniel@ziegenberg.at>
2025-03-04 20:37:02 +01:00
Daniel Ziegenberg 13b9df4959 MDL-84624 h5p: close recordset when it's not needed anymore
Signed-off-by: Daniel Ziegenberg <daniel@ziegenberg.at>
2025-03-04 19:35:23 +01:00
Daniel Ziegenberg ae6278b3ea MDL-81669 libraries: Upgrade phpxmlrpc to 4.11.1
I also removed the version specific parts of readme_moodle.txt as those
infos are already available in the thirdpartylibs.xml. Also the
mentioned local changes are no longer relevant, so they can go too.

Signed-off-by: Daniel Ziegenberg <daniel@ziegenberg.at>
2025-03-04 19:25:41 +01:00
Daniel Ziegenberg e4a1a628aa MDL-84474 libraries: Upgrade libphonenumber-for-php-lite to 8.13.55
The library raises the minimum required PHP version to 8.1 and comes
with an advertised PHP 8.4 compatibility.

Signed-off-by: Daniel Ziegenberg <daniel@ziegenberg.at>
2025-03-04 19:25:08 +01:00
Daniel Ziegenberg e70ae96def MDL-84155 libraries: Upgrade PHPMailer to 6.9.3
The library comes with an advertised PHP 8.4 compatibility.

Signed-off-by: Daniel Ziegenberg <daniel@ziegenberg.at>
2025-03-04 19:22:24 +01:00
Laurent David 37a79ede75 MDL-84380 core_question: Fix question bank layout in course
* Following BS5 migration, we had a couple of leftover classes like
media or float-right that needed to be fixed
2025-03-04 16:54:10 +01:00
Sara Arjona 5670447ece on-demand release 5.0dev+ 2025-03-04 16:14:27 +01:00
Sara Arjona 4c2d8b0205 NOBUG: Add upgrade notes 2025-03-04 16:14:27 +01:00
Sara Arjona fed3832f3b Merge branch 'install_main' of https://git.in.moodle.com/amosbot/moodle-install 2025-03-04 16:14:19 +01:00
Paul Holden 0d487fd8de MDL-62230 mod_feedback: define exporter format for name/presentation. 2025-03-04 14:12:56 +00:00
ferran fb507a2855 MDL-83888 mod_assign: redirect index.php to course overview 2025-03-04 15:05:18 +01:00
ferran 4c08c5fb9a MDL-83888 mod_assign: add course overview integration 2025-03-04 15:05:18 +01:00
ferran d6a8068cd1 MDL-83888 course: grade activity overview item
The course activity overview tablew now shows the grade items for the
activity if the user has grading.
2025-03-04 12:29:16 +01:00
ferran 44dbc5fa54 MDL-80116 core_courseformat: section move final deprecation 2025-03-04 12:06:32 +01:00
Huong Nguyen a35335a9c4 MDL-84729 core: Use core\clock for Tasks
This will help to solve the random failure on "test_adhoc_task_get_first_starting_time"
2025-03-04 16:27:32 +07:00
Mikel Martín 11657fe082 MDL-84692 theme_boost: Update .btn-icon class
- Update and improve styles for .btn-icon helper class for consistency.
- Added new $btn-icon-border-radius SCSS variable to cuztomize the btn-icon
border radius.
- Fix and simplify current .btn-icon usages
2025-03-04 10:23:00 +01:00
Laurent David 91ea7e05e4 MDL-83499 core_courseformat: Fix section duplication
* When we duplicate a section with multiple subsections it
should increment the sectionum accordingly.
2025-03-04 09:07:09 +01:00
Jun Pataleta 1bcec24cb1 MDL-84643 theme_classic: Rebuild CSS 2025-03-04 15:57:55 +08:00
Jun Pataleta 38b8a9e59b Merge branch 'MDL-84643-main' of https://github.com/roland04/moodle 2025-03-04 15:55:15 +08:00
Mikel Martín 0a2b2620c1 MDL-84643 theme_boost: Fix form inputs colour contrast
After the Bootstrap 5 upgrade the contrast of the form inputs was
not enough. This commit adds the same colour contrast as before.

Also fixed some inconsistencies in classic theme variables.
2025-03-04 08:09:54 +01:00
meirzamoodle 6cdbfa8b11 MDL-84179 tool_messageinbound: Upgrade Roundcube to version 1.6.10 2025-03-04 13:11:32 +07:00
meirzamoodle d57d630aa6 MDL-84170 lib: Upgrade beautify to 1.15.3 2025-03-04 13:10:42 +07:00
meirzamoodle 6ca5ff4d79 MDL-84163 theme: Adjust Moodle files after the Font Awesome upgrade 2025-03-04 13:09:04 +07:00
meirzamoodle 8a6f0b6da4 MDL-84163 theme: Update FontAwesome to 6.7.2 2025-03-04 13:09:04 +07:00
meirzamoodle 10ee4503cf MDL-84162 libraries: Upgrade GeoIP2 and Maxmind DB Reader
- GeoIP2 PHP API 3.1.0
- MaxMind DB Reader API 1.12.0
2025-03-04 13:08:17 +07:00
meirzamoodle 3017cc729d MDL-84157 lib: Upgrade jQuery UI to 1.14.1 2025-03-04 13:07:32 +07:00
meirzamoodle 76ce6ea9a5 MDL-84161 lib: Upgrade OpenSpout to 4.28.5 2025-03-04 13:06:38 +07:00
Jun Pataleta c6bfb92f03 MDL-84643 theme_boost: Rebuild CSS 2025-03-04 12:45:35 +08:00
Jun Pataleta daf1a37e6c Merge branch 'MDL-84643-main' of https://github.com/roland04/moodle 2025-03-04 12:29:59 +08:00
Jun Pataleta f5f96912e1 Merge branch 'MDL-81015-main' of https://github.com/safatshahin/moodle 2025-03-04 12:24:45 +08:00
Jun Pataleta 7c86fa258a Merge branch 'MDL-84267' of https://github.com/paulholden/moodle 2025-03-04 12:18:13 +08:00
Huong Nguyen 8d1b3aa7bd Merge branch 'MDL-84356' of https://github.com/paulholden/moodle 2025-03-04 11:11:47 +07:00
David Woloszyn a0084a5274 MDL-84126 tiny_h5p: Capability check added 2025-03-04 15:03:28 +11:00
David Woloszyn fd29be217c MDL-84126 tiny_recordrtc: Capability check added 2025-03-04 15:03:28 +11:00
David Woloszyn a39cf222c8 MDL-84126 tiny_noautolink: Capability check added 2025-03-04 15:02:55 +11:00
David Woloszyn c56c80e562 MDL-84126 tiny_media: Capability check added 2025-03-04 15:02:55 +11:00
David Woloszyn 2e26f038e6 MDL-84126 tiny_link: Capability check added 2025-03-04 15:02:55 +11:00
David Woloszyn b5d8bdcbe2 MDL-84126 tiny_html: Capability check added 2025-03-04 15:02:55 +11:00
David Woloszyn b79f5b894a MDL-84126 tiny_equation: Capability check added 2025-03-04 15:02:55 +11:00
David Woloszyn ec03d02879 MDL-84126 tiny_autosave: Capability check added 2025-03-04 15:02:55 +11:00
David Woloszyn 6373da43ed MDL-84126 tiny_accessibilitychecker: Capability check added 2025-03-04 15:02:55 +11:00
David Woloszyn f6f0f0c5b0 MDL-84126 tiny_premium: Premium plugins check capability 2025-03-04 15:02:55 +11:00
David Woloszyn 97373483e6 MDL-84126 editor_tiny: Add capability check for plugins 2025-03-04 15:01:05 +11:00
Huong Nguyen 17f1abcd91 Merge branch 'MDL-84595-main' of https://github.com/andrewnicols/moodle 2025-03-04 10:39:50 +07:00
Huong Nguyen 206b2a886a Merge branch 'MDL-77107' of https://github.com/paulholden/moodle 2025-03-04 10:08:41 +07:00
Paul Holden 19a9c8b70f MDL-84720 reportbuilder: note change of column sort field behaviour. 2025-03-03 16:10:25 +00:00
ferran f92afcee5c MDL-83888 core: add renderer_helper for DI 2025-03-03 13:15:13 +01:00
ferran 9b2f727a3e MDL-83888 core: notice badge renderer method 2025-03-03 13:15:13 +01:00
Huong Nguyen c6c340b577 MDL-84222 lib: PHPMailer - Renew the expired token
This patch includes:
 - Get a new token if it is not available.
 - Renew the token if it is expired using the refresh token.
2025-03-03 14:20:51 +07:00
Huong Nguyen 21e84790a2 Merge branch 'MDL-84577-main' of https://github.com/sarjona/moodle 2025-03-03 09:56:39 +07:00
AMOS bot 5dbd48a356 Automatically generated installer lang files 2025-03-02 00:08:19 +00:00
Sara Arjona be2d56339f MDL-84697 calendar: Move untranslatable strings from langconfig 2025-02-28 16:35:55 +01:00
Sara Arjona 451b600fd7 MDL-84694 theme: Replace legacy BS4 references in activities overview 2025-02-28 15:58:53 +01:00
Paul Holden 4171656e4d Merge branch 'MDL-84644-main' of https://github.com/roland04/moodle into main 2025-02-28 11:37:17 +00:00
Paul Holden 05505d6d1e Merge branch 'MDL-84647-main' of https://github.com/roland04/moodle into main 2025-02-28 11:31:45 +00:00
Paul Holden 03f40c1b16 Merge branch 'MDL-84661-main' of https://github.com/roland04/moodle into main 2025-02-28 11:28:04 +00:00
Sara Arjona 50d5d878b5 MDL-84617 core_calendar: Final removal of core_calendar_renderer:event 2025-02-28 10:21:55 +01:00
Amaia Anabitarte 866d2247d4 MDL-84617 core_calendar: Final removal of deprecated functions
The following methods have been removed (they were deprecated
long time ago):
- prepare_for_view()
- calendar_add_event_metadata()

The following methods have been deprecated (they are not used
anymore):
- calendar_get_courselink()
- calendar_events_by_day have been

Co-author: Amaia Anabitarte <amaia@moodle.com>
2025-02-28 10:20:36 +01:00
Sara Arjona 5a8f7cb596 MDL-84577 badges: Improve badge creation form
To improve usability, the UX team proposed the following changes:

- Remove most tooltips
- Add information directly to the page
- Simplify several text strings
2025-02-28 07:38:42 +01:00
Andrew Nicols 98b28fe13d MDL-81664 core: Import composer/pcre into core 2025-02-28 08:52:25 +08:00
Pedro Jordao c6dd02d764 MDL-84398 libraries: Configure locale property for ChartJs
ChartJs has a property called locale that makes possible to format scale
numbers according to a language. This way we ensure that decimal places
will be displayed correctly in the chart labels and tooltips.
2025-02-27 21:30:58 -03:00
Paul Holden b7711421c8 MDL-81623 admin: sensitive toggle when prompting for upgrade key. 2025-02-27 21:13:57 +00:00
Paul Holden 955c498a78 MDL-84384 ai: improved usage report provider/action filtering.
Move provider column callback to the entity that defines it, and
ensure Behat scenarios are populated with valid data.
2025-02-27 19:56:05 +00:00
Sara Arjona 688478cfa4 weekly release 5.0dev 2025-02-27 16:54:40 +01:00
Sara Arjona 1c3a9c2f05 NOBUG: Add upgrade notes 2025-02-27 16:54:40 +01:00
Sara Arjona d62012b8f1 NOBUG: Fixed SVG browser compatibility 2025-02-27 16:54:33 +01:00
Mikel Martín 25c46a7510 MDL-84661 theme_boost: Fix nav styles in small screens
Fix nav tabs styles for small screens after Bootstrap 5 upgrade.
2025-02-27 15:55:10 +01:00
Conn Warwicker a6e30bbc04 MDL-84529 core: Remove max validation on datetime filter.
This removes the "max" attribute from the input field of the
datetime filter. This can then be added back in by specific
filters if they inherit the core one and add their own
getContext() method.
2025-02-27 13:42:23 +00:00
Huong Nguyen df0407029f Merge branch 'MDL-83873-main' of https://github.com/sarjona/moodle 2025-02-27 11:19:59 +07:00
Huong Nguyen 24b0a7b2e3 Merge branch 'MDL-84450-main' of https://github.com/roland04/moodle 2025-02-27 11:18:38 +07:00
Huong Nguyen ba03cfbb1a Merge branch 'MDL-84346-main' of https://github.com/roland04/moodle 2025-02-27 11:16:32 +07:00
Huong Nguyen ad8a310929 Merge branch 'MDL-84327-main' of https://github.com/raortegar/moodle 2025-02-27 11:10:01 +07:00
Huong Nguyen 6cb751bcd2 Merge branch 'MDL-81996' of https://github.com/paulholden/moodle 2025-02-27 10:39:31 +07:00
Huong Nguyen 17d67c00bc Merge branch 'MDL-80351' of https://github.com/pedrojordao/moodle 2025-02-27 10:13:13 +07:00
Huong Nguyen dec75083e0 Merge branch 'MDL-84527' of https://github.com/paulholden/moodle 2025-02-27 09:32:44 +07:00
Huong Nguyen 455c7414f6 Merge branch 'MDL-84639' of https://github.com/paulholden/moodle 2025-02-27 09:24:54 +07:00
Jun Pataleta 0ad0c882f2 Merge branch 'MDL-80519-main' of https://github.com/roland04/moodle 2025-02-27 10:22:48 +08:00
Simey Lameze b20eac7c99 MDL-84424 behat: add template_competencies generator and improve test 2025-02-27 07:46:22 +08:00
Angelia Dela Cruz 6dc2c065b2 MDL-84424 tool_lp: admin can create learning plans from template 2025-02-27 07:46:22 +08:00
Paul Holden fea9abc471 Merge branch 'MDL-84613-main' of https://github.com/roland04/moodle into main 2025-02-26 14:44:04 +00:00
Paul Holden faefc0a59e Merge branch 'MDL-84637-main' of https://github.com/roland04/moodle into main 2025-02-26 14:39:43 +00:00
Mikel Martín 6904ae8a73 MDL-84647 theme_boost: Fix coloured table rows
After the Bootstrap 5 upgrade, table rows with defined text colour
(using "text-muted" helper class) were not affecting the inner cells.
Add a custom rule in tables.scss to avoid that behaviour.
2025-02-26 14:59:57 +01:00
Sara Arjona 6125a7893c Merge branch 'MDL-83764-main' of https://github.com/laurentdavid/moodle 2025-02-26 14:53:26 +01:00
Mikel Martín 1d452ce4ca MDL-84450 theme_boost: Add backward compatibility for BS4 data-attr
New `theme_boost/bs4-compat` JS module added to silectly convert old BS4
data-attributes syntax to the new in BS5.
For example: data-toggle="dropdown" > data-bs-toggle="dropdown"

Co-authored-by: ferranrecio <ferran@moodle.com>
2025-02-26 14:08:49 +01:00
Sara Arjona 48fc4b1ee8 Merge branch 'MDL-84381-main' of https://github.com/roland04/moodle 2025-02-26 13:08:35 +01:00
Sara Arjona d2dc037b0b Merge branch 'MDL-82825_remove-php-enum-library' of https://github.com/ziegenberg/moodle 2025-02-26 13:01:38 +01:00
Amaia Anabitarte 72937feda2 MDL-83873 core_calendar: Deprecating lib functions 2025-02-26 12:31:42 +01:00
Amaia Anabitarte e6813f315e MDL-83873 core_calendar: New human date format 2025-02-26 12:31:42 +01:00
Frederik Milling Pytlick 9caa656e32 MDL-84301 core: Added peak memory usage to cron 2025-02-26 09:38:17 +01:00
Jun Pataleta 05a669b3da Merge branch 'MDL-84593-main' of https://github.com/dmitriim/moodle 2025-02-26 16:26:19 +08:00
Mikel Martín 1bb67525f6 MDL-84644 reportbuilder: Fix editor table styles after BS5 upgrade
- Fix table top border in reportbuilder editor
- Fix incorrect bold styles in some elements of editor table headings
2025-02-26 09:13:13 +01:00
Sara Arjona 0b7b10796a Merge branch 'MDL-84011' of https://github.com/paulholden/moodle 2025-02-26 08:52:41 +01:00
Sara Arjona efe1f1537a Merge branch 'MDL-84584-main' of https://github.com/sh-csg/moodle 2025-02-26 08:04:02 +01:00
Mikel Martín d28678b426 MDL-84637 reportbuilder: Fix help buttons in editor
After the Bootstrap 5 upgrade the help buttons on the editor page
were not working anymore. This commit fixes the JS related error.
2025-02-26 08:02:49 +01:00
Jun Pataleta ce73ff3d84 MDL-83970 core: Bump upgrade code version properly 2025-02-26 14:57:51 +08:00
Jun Pataleta 6885f03931 Merge branch 'MDL-83970-main' of https://github.com/meirzamoodle/moodle 2025-02-26 14:38:52 +08:00
Shamim Rezaie b50f4f03e4 Merge branch 'MDL-82942-main' of https://github.com/davewoloszyn/moodle 2025-02-26 17:28:00 +11:00
Jun Pataleta 465144b15a Merge branch 'MDL-84554-main' of https://github.com/jleyva/moodle 2025-02-26 14:25:38 +08:00
Sara Arjona 2f79a4367d Merge branch 'MDL-84607-main' of https://github.com/lameze/moodle 2025-02-26 07:04:09 +01:00
David Woloszyn aa3ccbda4e MDL-82942 aiplacement_courseassist: Improve response formatting 2025-02-26 16:03:55 +11:00
David Woloszyn 4bcadda1b6 MDL-82942 aiplacement_courseassist: Integrate Explain action into UI
Part of this change required refactoring of several course assist files.
The updates now accommodates for multiple course assist actions.
2025-02-26 12:26:58 +11:00
David Woloszyn b5be13d2d6 MDL-82942 aiplacement_courseassist: Add explain action 2025-02-26 11:52:39 +11:00
Jun Pataleta f5f227f737 Merge branch 'MDL-83674-main' of https://github.com/sammarshallou/moodle 2025-02-26 07:19:35 +08:00
Jun Pataleta 34c0ed5d12 Merge branch 'MDL-84628-main' of https://github.com/roland04/moodle 2025-02-26 07:16:10 +08:00
Jun Pataleta 5461afb6f4 Merge branch 'MDL-84324-main' of https://github.com/roland04/moodle 2025-02-26 07:13:31 +08:00
Jun Pataleta c5948d002e Merge branch 'MDL-84125-main' of https://github.com/davewoloszyn/moodle 2025-02-26 07:09:20 +08:00
Paul Holden 81ce30d0c1 Merge branch 'MDL-84379-main' of https://github.com/laurentdavid/moodle into main 2025-02-25 17:11:35 +00:00
Paul Holden 7e52d971a9 Merge branch 'MDL-84378-main' of https://github.com/laurentdavid/moodle into main 2025-02-25 17:02:48 +00:00
Paul Holden 7513e55194 Merge branch 'MDL-84407-main' of https://github.com/laurentdavid/moodle into main 2025-02-25 16:57:08 +00:00
Mikel Martín 932ac1198f MDL-84643 theme_boost: Fix form inputs colour contrast
After the Bootstrap 5 upgrade the contrast of the form inputs was
not enough. This commit adds the same colour contrast as before.
2025-02-25 15:50:59 +01:00
Marina Glancy c24a444fd4 MDL-84139 enrol_fee: display the instance name on enrolment page 2025-02-25 14:10:26 +00:00
Mikel Martín 89dd407bcf MDL-84381 tool_componentlibrary: Remove Bootstrap 4 documentation
After Bootstrap 5 upgrade in MDL-75669, Bootstrap 4 docs included are not
applicable anymore.
2025-02-25 15:06:26 +01:00
Mikel Martín 55ea685517 MDL-84631 course: Fix activity completion badges after BS5 upgrade
After Bootstrap 5 upgrade completion badges (success, danger) in the
activity pages were incorrectly displayed. This commit is fixing the
helper classes needed.
2025-02-25 14:31:10 +01:00
Mikel Martín ac146ac14e MDL-84324 core: Fix Bootstrap dropdown key listeners
Bootstrap EventHandler is managing the keydown event at document
level in the capture phase. That is conflicting with dropdown elements
with form autocomplete inputs inside, because when suggestions panel is
open, pressing the "Esc" key will close the whole dropdown.
This commit fixes that behaviour by realocating the Bootsrap dropdown
event listener to the body instead of the document.
2025-02-25 13:31:41 +01:00
Mikel Martín f9d5238ccb MDL-80519 theme_boost: Fix deprecated BS4 SCSS usages 2025-02-25 13:13:58 +01:00
Mikel Martín d85a71ffc7 MDL-80519 theme_boost: Add backward compatibility for BS4 SCSS
This commit will add a bs4-compat SCSS file with some of the helper classes
that are dropped in BS5. That will help third-party plugins to do the migration.

- Add backward compatibility for .media
- Add backward compatibility for badges
- Add backward compatibility for forms
- Add backward compatibility for cards
- Add backward compatibility for .no-gutters
- Add backward compatibility for spacing
- Add backward compatibility for margins and paddings
- Add backward compatibility for float directions
- Add backward compatibility for border directions
- Add backward compatibility for text directions
- Add backward compatibility for .close
- Add backward compatibility for font utilities
- Add backward compatibility for rounded sizes
- Add backward compatibility for sr-only
- Add backward compatibility for custom controls
- Add backward compatibility for .btn-block
2025-02-25 13:13:58 +01:00
Sara Arjona 741c072b58 Merge branch 'MDL-83892-main-v02' of https://github.com/ferranrecio/moodle 2025-02-25 12:18:38 +01:00
Paul Holden 33e6c7eb10 Merge branch 'MDL-83108-main' of https://github.com/albertgasset/moodle into main 2025-02-25 11:04:43 +00:00
Paul Holden 18d2b2e679 Merge branch 'MDL-78711_final-removal-of-edit_default_completion' of https://github.com/ziegenberg/moodle into main 2025-02-25 10:59:41 +00:00
Paul Holden 2f13b8c341 Merge branch 'MDL-84178_uprade-symfony-deprecation-contracts-to-3-5-1' of https://github.com/ziegenberg/moodle into main 2025-02-25 10:56:49 +00:00
Paul Holden 0524210983 Merge branch 'MDL-84526-main' of https://github.com/roland04/moodle into main 2025-02-25 10:48:22 +00:00
Huong Nguyen a18f38b0a6 Merge branch 'MDL-83404-main' of https://github.com/andrewnicols/moodle 2025-02-25 16:17:20 +07:00
Paul Holden 025cb9c66a MDL-84639 reportbuilder: replace deprecated trait test mocking.
"getObjectForTrait() is deprecated and will be removed in PHPUnit 12
without replacement."

See: https://github.com/sebastianbergmann/phpunit/issues/5244
2025-02-25 08:48:19 +00:00
ferran fd905bcacc MDL-83892 course: fix section name in single activity format
The course activities overview shows the section name under each
activity. However, this information should not be present when the
course format does not support sections.
2025-02-25 09:41:44 +01:00
ferran a26db489d0 MDL-83892 mod_feedback: add course overview integration
Adds the necessary code to present the feedback information in the
course overview page. Due to this integration, the message user gets
when a feedback is already submitted has been unified and it is now the
same on both activity UI and the overview report.
2025-02-25 09:41:44 +01:00
meirzamoodle a5b90c1969 MDL-83970 core_ai: Updated get_name() to return the provider's name
The changes also affect the AI usage report. The provider column will show
the provider plugin name instead of the plugin class in the database.

Co-authored-by: Stevani Andolo <stevani.andolo@moodle.com>
2025-02-25 13:56:31 +07:00
Huong Nguyen bae7fb6318 Merge branch 'MDL-84051-main' of https://github.com/meirzamoodle/moodle 2025-02-25 11:00:29 +07:00
Huong Nguyen 9bd78e48d2 MDL-83401 core: Upgrade laravel/serializable to 2.0.3 2025-02-25 09:39:45 +07:00
Huong Nguyen e04fc99655 Merge branch 'MDL-83401-main' of https://github.com/andrewnicols/moodle 2025-02-25 09:35:29 +07:00
meirzamoodle b6d04b4882 MDL-84051 core: Call parent function to clear session data in the table 2025-02-25 08:50:35 +07:00
Van Binh Dang dafaf6aceb MDL-75442 quiz: Highlight error message when manually grading 2025-02-24 14:32:36 -05:00
ferran ff05e78de3 MDL-83892 core_course: log course overview events 2025-02-24 15:29:15 +01:00
ferran ecb96b5089 MDL-83892 core_course: overview page redirection method 2025-02-24 15:29:15 +01:00
ferran c1e8684813 MDL-83892 core_course: activity record from cm_info
Adds a new get_instance_record in the cm_info object so core can get the
activity table record without using the $DB object every time. Also, the
method caches de result so getting more than once per execution is much
faster.
2025-02-24 15:29:15 +01:00
Huong Nguyen 569ef2eafc Merge branch 'MDL-78349-main' of https://github.com/HuongNV13/moodle 2025-02-24 21:04:45 +07:00
meirzamoodle d3139ac91b MDL-78349 tiny_recordrtc: Convert recorded audio to MP3 format 2025-02-24 20:51:44 +07:00
meirzamoodle c857e0c6ac MDL-78349 tiny_recordrtc: Add lamejs library 2025-02-24 20:51:28 +07:00
Mikel Martín eda3d16912 MDL-84628 report_log: Fix report filters layout after BS5 upgrade 2025-02-24 13:27:27 +01:00
Mikel Martín c69e005068 MDL-84346 courseformat: Replace css class for completion buttons 2025-02-24 12:49:25 +01:00
Mikel Martín 0e8dd50d91 MDL-84346 theme_boost: Add new '.btn-subtle-' helper class
- Add new .btn-subtle helper class that accept different colour themes
(.btn-subtle-success, .btn-subtle-warning, ...) and also .btn-subtle-body
for basic styling
- Remove specific styles in course.scss that are not needed anymore
- Adjust some styles in course.scss that were affected by this change
2025-02-24 12:49:17 +01:00
Mihail Geshoski 8387b02821 MDL-84532 qtype_ordering: Update query to use $DB->sql_compare_text()
The change introduced in MDL-46739, which modified the 'value' column in
the 'user_preferences' database table from CHAR to TEXT, caused the
upgrade query to fail due to the '=' comparison operator being used on
this column in the WHERE clause. This fix updates the query to use
$DB->sql_compare_text() instead.
2025-02-24 17:47:27 +08:00
Mihail Geshoski 8f7626c27d MDL-84532 qtype_ordering: Fix failing query in mssql on upgrade
The SELECT statement can only include columns that are part of the
GROUP BY clause. To resolve this issue, instead of including all columns
('*'), only the 'id' column is now included in the SELECT statement,
while still preserving the existing GROUP BY statement. This column is
the only one needed to identify the relevant qtype_ordering_options
record that requires updating in the next step.
2025-02-24 17:21:36 +08:00
Sara Arjona b363438b6e Merge branch 'MDL-84412' of https://github.com/jfederico/moodle 2025-02-24 08:20:28 +01:00
Laurent David 6da65220da MDL-84407 admin: Fix plugin stats badge display
* Fix plugin overview display regarding stats for
all plugins/additional plugins.
2025-02-24 06:58:04 +01:00
Laurent David d0483c0e6c MDL-84379 theme_boost: Fix course management page layout 2025-02-24 06:57:32 +01:00
Laurent David 69cac2249b MDL-84378 mod_quiz: Fix Switch bank button
* Fix alignment issue for Switch bank button in quiz
2025-02-24 06:56:46 +01:00
Laurent David 83f3427b54 MDL-84378 mod_assign: Fix right alignment for action button
* Fix the alignment for quick grading action button
2025-02-24 06:56:46 +01:00
Laurent David ffdee5e9db MDL-81155 report_log: Final deprecation for $grouplist
* The grouplist has been introduced in MDL-41465 and is not
 used anymore since the patch in MDL-80565.
2025-02-24 06:50:18 +01:00
Laurent David 1f7d376ac4 MDL-83764 core_courseformat: Deprecate externservercourse.php feature
* Add deprecation message and testing
2025-02-24 06:49:43 +01:00
Laurent David 0803d255d5 MDL-75875 core: Remove Single Button primary parameter
* Final deprecation for the use of a boolean as 'primary' parameter
(4th parameter of the constructor), used before to specify a button
was a primary button. This has been replaced by a wider range of
choices.
2025-02-24 06:49:18 +01:00
Huong Nguyen ffc3c4116b Merge branch 'MDL-84213' of https://github.com/paulholden/moodle 2025-02-24 10:09:15 +07:00
jfederico eaad45c2b0 MDL-84412 mdl_bigbluebuttonbn: Change the BigBlueButtonBN activity icon 2025-02-21 14:19:13 +00:00
sam marshall c325d903d5 MDL-83674 Files: pluginfile.php debugging if user not allowed course 2025-02-21 14:13:21 +00:00
Mikel Martín 778804382b MDL-84526 theme_boost: Fix forum table after BS5 upgrade
Bootstrap 5 upgrade in MDL-75669 generated a regression in Forum table
where form switches in "Subscribe" column were not correcly displayed.
This commit fixes that UI problem.
Because the fix is affecting "toggle all" checkboxes, an small fix was
also needed there.
2025-02-21 14:55:06 +01:00
Mikel Martín de8e8806da MDL-84324 core: Add jQuery compatibility for BS5
You don’t need jQuery in Bootstrap 5, but it’s still possible to use our components with jQuery.
If Bootstrap detects jQuery in the window object, it’ll add all of our components in jQuery’s plugin system.
This allows you to do the following:
$('#myTooltip').tooltip('show')
2025-02-21 14:48:02 +01:00
Mikel Martín d6e71f9b61 MDL-84613 theme_boost: Fix visually hidden focusable content 2025-02-21 13:13:26 +01:00
Albert Gasset c1752b5101 MDL-83108 tiny_h5p: Remove redundant aria-label attributes 2025-02-21 11:01:57 +01:00
Albert Gasset 22f97671d5 MDL-83108 tiny_h5p: New option to enable auto-play in the app 2025-02-21 11:01:57 +01:00
Daniel Ziegenberg b2e791a56b MDL-82825 libraries: Remove php-enum library
It was a dependency of zipstream, but is no longer required as this
functionality has been replaced by native PHP functionality.

Signed-off-by: Daniel Ziegenberg <daniel@ziegenberg.at>
2025-02-21 10:11:47 +01:00
Julien Boulen 944f992c69 MDL-83136 course: Add missing value on unknowncategory exception message 2025-02-21 09:25:18 +01:00
Andrew Gosali a68564bf39 MDL-84431 mod_forum: fix visual issue on forum reply button :focus 2025-02-21 17:05:04 +11:00
Huong Nguyen 7a318d5c85 weekly release 5.0dev 2025-02-21 10:14:58 +07:00
Huong Nguyen c442ec4556 NOBUG: Add upgrade notes 2025-02-21 10:14:58 +07:00
Simey Lameze fbcfe915bd MDL-84607 behat: use the correct ai generator entity 2025-02-21 07:46:00 +08:00
raortegar 5d3787409e MDL-84327 mod_quiz: Quiz notification excludes suspended users.
Only active users will receive "quiz opens soon" notifications.

Co-authored-by: Leon Stringer <leonstr@users.noreply.github.com>
2025-02-20 16:32:19 +01:00
raortegar ef1e72e76b MDL-84327 mod_assign: Suspended account error
Change list_participants() to exclude both suspended users and users
with auth='nologin' when show_only_active_users() is true.  This
prevents the failure of notification tasks when such users are enrolled
in the course.

Co-authored-by: Leon Stringer <leonstr@users.noreply.github.com>
2025-02-20 16:32:19 +01:00
raortegar 536c9d895a MDL-84327 mod_assign: Add availability conditions in assign notification
Only users meeting availability conditions (time, group, etc.) in an assignment,
will receive the messages for Assignments notifications
2025-02-20 16:32:19 +01:00
raortegar 1457407b45 MDL-84327 mod_quiz: Add availability conditions in quiz notification
Only users meeting availability conditions (time, group, etc.) in a quiz,
will receive the message for quiz opens soon notifications
2025-02-20 16:32:19 +01:00
Andrew Nicols 23c397b59f MDL-84595 tool_behat: Allow accessibility tests to run for a single Node 2025-02-20 22:26:14 +08:00
Daniel Ziegenberg 6b73154985 MDL-84178 libraries: Upgrade Symfony Deprecation contracts to 3.5.1
Signed-off-by: Daniel Ziegenberg <daniel@ziegenberg.at>
2025-02-20 11:01:06 +01:00
Dmitrii Metelkin a71811aac6 MDL-84593 events: remove course_module_instances_list_viewed event 2025-02-20 15:48:30 +11:00
Huong Nguyen 1ac88d0aca Merge branch 'MDL-80156_remove-SCSS-deprecated-in-4-4' of https://github.com/ziegenberg/moodle 2025-02-20 11:15:59 +07:00
Jun Pataleta 61edfc10a3 Merge branch 'MDL-84448-main' of https://github.com/lameze/moodle 2025-02-20 12:09:58 +08:00
Huong Nguyen 2997d49e4d Merge branch 'MDL-84453' of https://github.com/paulholden/moodle 2025-02-20 10:59:52 +07:00
Simey Lameze abf49b105d MDL-84448 behat: return null if theme has no config 2025-02-20 11:59:01 +08:00
Amanda Doughty 817f6c206e MDL-84448 lib: Fixed behat context check for grandchild themes 2025-02-20 11:55:50 +08:00
Jun Pataleta 69b7a835a2 Merge branch 'MDL-84592-main' of https://github.com/andrewnicols/moodle 2025-02-20 11:45:32 +08:00
Huong Nguyen 38b4635864 Merge branch 'MDL-84528' of https://github.com/paulholden/moodle 2025-02-20 10:16:32 +07:00
Jun Pataleta 37055708ce Merge branch 'MDL-84590-main' of https://github.com/andrewnicols/moodle 2025-02-20 10:49:53 +08:00
Huong Nguyen ccaaf73ec7 Merge branch 'MDL-78489-main' of https://github.com/aanabit/moodle 2025-02-20 09:49:14 +07:00
Huong Nguyen fdd77cc058 Merge branch 'MDL-75189_final-deprecation-of-functions-in_mod-data-lib.php' of https://github.com/ziegenberg/moodle 2025-02-20 09:44:27 +07:00
Andrew Nicols d538137c62 MDL-84592 tool_behat: Improve accessibility failure information 2025-02-20 10:26:00 +08:00
Andrew Nicols 2e1cdde8e4 MDL-84590 tool_behat: Axe tests must use all wcag rules
Rules are not additive. That is to say that the wcag22a tag does not
include wcag21a or wcag2a. They all need to be specified.
2025-02-20 09:58:44 +08:00
Shamim Rezaie 809849ef34 Merge branch 'MDL-82980-main' of https://github.com/HuongNV13/moodle 2025-02-20 12:15:33 +11:00
Paul Holden 75ef4f45c6 MDL-83265 course: user placeholders for request approval notification. 2025-02-19 18:44:04 +00:00
Huong Nguyen 4c9f4855dd MDL-82980 AI: Model settings 2025-02-19 21:47:54 +07:00
Sara Arjona f660214f25 Merge branch 'MDL-83872-main-v03' of https://github.com/ferranrecio/moodle 2025-02-19 12:43:19 +01:00
ferran fe377c9dca MDL-83872 course: adding overview tables to course overview
The course overview page can represent a table with the overview
integration implemented by the activity plugins. Each plugin
table is loaded as a fragment to optimize the course overview
loading time.
2025-02-19 12:23:23 +01:00
ferran d94f2acdae MDL-83872 course: adding activity overview base classes
The course overview page allows plugins to implementa an
activity overview integration. This commit adds all the
base classes for the integration, and also the "resources"
integration used by default in all plugins considered
resources like url, file, folder...
2025-02-19 12:23:23 +01:00
Stefan Hanauska 7b28511bd6 MDL-84584 badges: Don't delete all draft files 2025-02-19 12:15:49 +01:00
Sara Arjona 46619157f2 Merge branch 'MDL-83784' of https://github.com/cwarwicker/moodle 2025-02-19 11:58:21 +01:00
Sara Arjona d59d7dd1cf Merge branch 'MDL-84547-main' of https://github.com/micaherne/moodle 2025-02-19 11:55:30 +01:00
Huong Nguyen fd979ca30e Merge branch 'MDL-81759-main' of https://github.com/sarjona/moodle 2025-02-19 16:42:54 +07:00
Conn Warwicker 2499276c65 MDL-83784 mod_quiz: Fix quiz unusable if question category missing.
Random questions set to question categories which no longer exist
was throwing an error making it impossible to use or edit the quiz
to fix it. This will now allow the user to view the questions and
edit the quiz in order to fix the problem of the missing category.
2025-02-19 09:21:43 +00:00
Huong Nguyen 2643b82119 Merge branch 'MDL-80682-master' of https://github.com/NashTechOpenUniversity/moodle 2025-02-19 13:39:44 +07:00
Sara Arjona ad89f4c712 Merge branch 'MDL-84300-main' of https://github.com/andrewnicols/moodle 2025-02-19 07:12:27 +01:00
Sara Arjona 1cbf369879 Merge branch 'MDL-84476-main' of https://github.com/lucaboesch/moodle 2025-02-19 07:08:56 +01:00
ferran 6a230a0bca MDL-83872 core_courseformat: prepare completion button for reuse
The current completion button has specific templates only for the course
view page. However, from now on this component may be used in other
places and it needs a main template to be rendered in a standard way.
2025-02-18 18:00:24 +01:00
Tim Hunt 5d6fe4a279 MDL-84558 question bank: fix the PHPdocs for default_sort 2025-02-18 15:44:48 +00:00
Paul Holden b45d17ca30 MDL-80173 reportbuilder: remove various Oracle support/workarounds.
"True happiness is to rejoice in the
        <removal of Oracle compatibility>."

Reference: ba1f9cb2, 892b68d5, c63af985, 208adcf3, 9a244403, 3894fa94,
62d22c66, 628541b5, 429508a7.
2025-02-18 13:43:34 +00:00
Paul Holden 72421b1ed9 MDL-80173 reportbuilder: improve performance of date aggregation.
Due to Oracle re-factoring, we can improve the performance of date
aggregation by only executing the column supplied query once. We
can also improve the generated GROUP BY query to re-use the column
alias on supported DBs, rather than executing the aggregation again.
2025-02-18 13:43:34 +00:00
Paul Holden 5e5ee3397d MDL-84527 tag: add formatted tag name column to report entity. 2025-02-18 13:41:38 +00:00
Huong Nguyen 217cb34264 MDL-84341 qbank_history: Behat cleanup 2025-02-18 20:39:50 +07:00
Huong Nguyen d76660e695 Merge branch 'MDL-84341' of https://github.com/cwarwicker/moodle 2025-02-18 20:37:53 +07:00
Sara Arjona 33b6f90a99 Merge branch '84348-hide-h5p-preview-message-main' of https://github.com/DSI-Universite-Rennes2/moodle 2025-02-18 13:12:06 +01:00
Sara Arjona 8c7c48d756 Merge branch 'MDL-84208-main' of https://github.com/ferranrecio/moodle 2025-02-18 12:57:26 +01:00
Sara Arjona 4feb5e5b74 Merge branch 'MDL-75669-main' of https://github.com/roland04/moodle 2025-02-18 11:23:32 +01:00
Mikel Martín 30dd9da869 MDL-75669 theme_boost: Fix chrome behat failures after BS5 upgrade 2025-02-18 10:37:06 +01:00
Paul Holden ad010bce0f MDL-84172 libraries: upgrade to version 4.10.2 of axe-core. 2025-02-18 09:23:40 +00:00
Marina Glancy 9f9d043e1e MDL-83942 tag: allow to make default collection not searchable 2025-02-18 07:23:42 +01:00
Andrew Nicols 345a118942 MDL-84446 core: Check existence of pcntl_signal 2025-02-18 06:20:23 +08:00
Sara Arjona 8c9a72a749 Merge branch 'MDL-75669-main' of https://github.com/roland04/moodle 2025-02-17 16:50:26 +01:00
Michael Aherne 1a357e810a MDL-84547 questionbank: Rename import_form.php to enable autoloading. 2025-02-17 11:55:39 +00:00
Conn Warwicker 56cb9f0c54 MDL-84341 qbank_history: Fix version ordering
Previously the version ordering was done on timecreated which
wasn't always correct. This now uses the version number instead.

Also set the default sorting on the history page to be version.
2025-02-17 11:47:21 +00:00
Juan Leyva 450b95c425 MDL-84554 tool_mobile: Remove partitioned cookies support 2025-02-17 11:30:37 +01:00
DangHieu1407 013a3085b0 MDL-80682 core_question: Question version information should be clearer 2025-02-17 15:04:38 +07:00
Mikel Martín 607f921c6b MDL-75669 courseformat: Fix bulk action styles for BS5 2025-02-17 08:13:48 +01:00
Mikel Martín ba30b66e19 MDL-75669 theme_boost: Fix list-group usages for BS5
- The .list-group-item elements in BS5 require an outer .list-group container.
  Some uses in core were missing the outer group item and need fixing.
2025-02-17 08:13:48 +01:00
Mikel Martín 66c8eb19e1 MDL-75669 theme_boost: Fix dropdowns styles 2025-02-17 08:13:48 +01:00
Mikel Martín 8caa092250 MDL-75669 usertours: Fix tours modal styling 2025-02-17 08:13:48 +01:00
Mikel Martín 2d1e648e89 MDL-75669 theme_boost: Adjust SCSS variables to BS5 2025-02-17 08:13:48 +01:00
Mikel Martín ac18405516 MDL-75669 theme_boost: Remove unneeded RTL fixes SCSS file 2025-02-17 08:13:48 +01:00
Mikel Martín 413b9219bf MDL-75669 output: Fix subpanels for BS5
- Fix subpanels positioning using data-bs-popper static
- Fix subpanels and dialogs event listener to use Boostrap EventHandler.
  Doing that will avoid Bootstrap from stop propagating the event to the
  subpanels and dialogs listeners.
2025-02-17 08:13:48 +01:00
Mikel Martín 8a8c8ab275 MDL-75669 block_timeline: Fix sorting feature for BS5
- Because of the new BS5 syntax and changes in event listeners the sorting
  filter for block timeline was now working. This commit fixes the incorrect
  behaviour.
2025-02-17 08:13:48 +01:00
Amaia Anabitarte 3f1fca28fc MDL-75669 qbank: Using boostrap attributes instead of title
Bootstrap5 documents that, for tooltips and when title is used, Popper
will replace it automatically with data-bs-title when the element is rendered.
So using title makes no sense because Popper will replace it. We are using
data-bs-original-title instead.
2025-02-17 08:13:48 +01:00
Mikel Martín 709273df45 MDL-75669 theme_boost: Remove unneeded carousel SCSS modifications 2025-02-17 08:13:48 +01:00
Amaia Anabitarte e29e633e16 MDL-75669 course_backup: Fixing behat issue 2025-02-17 08:13:48 +01:00
Amaia Anabitarte e04dc9dea6 MDL-75669 message: Fixing preferences behat
This commit fixes "As an admin I can view and edit message preferences
for a user" behat
2025-02-17 08:13:48 +01:00
Amaia Anabitarte 5245fd57a0 MDL-75669 report_participation: Remove innecessary JS parameters
The parameter are usable in course participants page because user
could add bulk notes linked to users. But that script is not used
in report/participants, so we don't need those arguments on the call.
2025-02-17 08:13:47 +01:00
Mikel Martín 4746042423 MDL-75669 theme_boost: Fix formautocomplete inside dropdowns
Fix problem where having a dropdown with a form autocomplete inside and
pressing Escape key will close the hole dropdown instead only the autocomplete
suggestions.
2025-02-17 08:13:47 +01:00
Mikel Martín ad37483f47 MDL-75669 courseformat: Fix section collapse in Tree JS
After Bootstrap 5 upgrade, when expanding/collapsing sections in course index and
move content modal using the chevrons, the Bootstrap collapse event will occur
before the courseindex logic (In BS4 if was the opposite and the BS collapse event
was triggered after). This commit fixes that specific problem.
2025-02-17 08:13:46 +01:00
Mikel Martín 4a7e3b27a7 MDL-75669 form: Fix password unmask input
In BS5 the combination of both ".d-none" and ".d-inline" block together
is now prioritizing "d-none". Because of that the logic has been changed
to only use ".d-none" for toggling the display.
2025-02-17 08:13:13 +01:00
Mikel Martín d4ce8ecec8 MDL-75669 filepicker: Fix filepicker popovers 2025-02-17 08:13:13 +01:00
Mikel Martín bb10eaefab MDL-75669 mod_data: Fix inline form layout accessibility 2025-02-17 08:13:13 +01:00
Mikel Martín 0c586b41c1 MDL-75669 theme_boost: Fix BS5 related JS
- Migrate Boostrap components related JS from JQuery to vanilla JS.
- Migrate Boostrap components related Events from JQuery to vanilla JS.
2025-02-17 08:13:11 +01:00
Andrew Gosali be207667c9 MDL-83344 lib/plist: update to the latest version (2.0.5) 2025-02-17 14:54:46 +11:00
Jonathon Fowler c1021aec0d MDL-84551 tiny_aiplacement: fix generateimage quality selection 2025-02-17 11:29:55 +10:00
Daniel Ziegenberg d7ded40e49 MDL-78711 course: Final deprecation of edit_default_completion()
Signed-off-by: Daniel Ziegenberg <daniel@ziegenberg.at>
2025-02-15 11:56:02 +01:00
Mikel Martín f6e31a3d41 MDL-75669 theme_boost: Fix BS5 related behat steps and scenarios
- Fix some behat steps and scenarios that are failing because of
  Bootstrap 5 syntax changes.
- Add a new $behatsite SCSS variable when behat is runinng that
  disables Bootstrap transitions and effects.
2025-02-14 10:58:36 +01:00
Mikel Martín dd0f589e5e MDL-75669 theme_boost: Fix simplesearchform BS5 related styles 2025-02-14 10:58:36 +01:00
Mikel Martín 8f2b26dd26 MDL-75669 theme_boost: Fix double closing icon on BS5 buttons
- With BS5 now closing icon ("X") on modals, alerts, ... is being displayed twice.
  This commit Fixes that incorrect behaviour.
2025-02-14 10:58:36 +01:00
Mikel Martín 691e6c6042 MDL-75669 theme_boost: Refactor btn-block class removed in BS5 2025-02-14 10:58:36 +01:00
Mikel Martín 2a74ae6d9d MDL-75669 theme_boost: Refactor "media-breakpoint-down" mixin to BS5
- media-breakpoint-down() uses the breakpoint itself instead of the next breakpoint (e.g., media-breakpoint-down(lg)
instead of media-breakpoint-down(md) targets viewports smaller than lg).
2025-02-14 10:58:36 +01:00
Mikel Martín 3b8c9fd410 MDL-75669 theme_boost: Fix incorrect .row BS5 class usages
In BS5 all .row classes are intended to contain elements with any .col class
There were some cases where the .row class was being used only for display flex
purposes, so they where replaced.
2025-02-14 10:58:36 +01:00
Mikel Martín 9b5facb0d7 MDL-75669 theme_boost: Remove .navbar-light for BS5 2025-02-14 10:58:36 +01:00
Mikel Martín 04975cd2b2 MDL-75669 theme_boost: Refactor custom form elements to BS5
- .custom-check is now .form-check.
- .custom-check.custom-switch is now .form-check.form-switch.
- .custom-select is now .form-select.
- .custom-file and .form-file have been replaced by custom styles on top of .form-control.
- .custom-range is now .form-range.
- Dropped .input-group-append and .input-group-prepend. You can now just add buttons
  and .input-group-text as direct children of the input groups.
2025-02-14 10:58:36 +01:00
Albert Gasset 9e7ca660c2 MDL-83026 badges: Added full name of the course to badge exporters 2025-02-14 10:36:56 +01:00
Mikel Martín 5416483611 MDL-75669 theme_boost: Refactor BS5 data attributes
Data attributes for all Bootstrap5 JavaScript plugins are now namespaced
to help distinguish Bootstrap functionality from third parties and your own code.
For example, data-bs-toggle instead of data-toggle.
This commit refactor all old Bootstrap data-attributes to the new syntax.

Co-authored-by: Daniel Ziegenberg <daniel@ziegenberg.at>
2025-02-14 09:10:33 +01:00
Mikel Martín 2aa19cb088 MDL-75669 theme_boost: Refactor dropdowns positioning classes
- Replace .dropdown-menu-[left|right] with .dropdown-menu-[start|end].
2025-02-14 09:10:33 +01:00
Mikel Martín 59bc788992 MDL-75669 theme_boost: Upgrade Boostrap to v5.3
- Follow upgrade steps
- Fix some SCSS to avoid CSS compilation errors.
2025-02-14 09:10:32 +01:00
Mikel Martín 2c9e46e4f7 MDL-75669 theme_boost: Remove BS5 bridge 2025-02-14 09:10:32 +01:00
David Woloszyn c5fb5fcb5f MDL-84125 tiny_premium: Add premium accessibility checker plugin 2025-02-14 13:16:33 +11:00
Jun Pataleta 77a7d81290 weekly release 5.0dev 2025-02-14 09:53:24 +08:00
Jun Pataleta 7e3d9ef895 NOBUG: Add upgrade notes 2025-02-14 09:53:24 +08:00
Jun Pataleta 75b3fd36af Merge branch 'install_main' of https://git.in.moodle.com/amosbot/moodle-install 2025-02-14 09:53:10 +08:00
ferran 61ec2a5c68 MDL-84208 course: update default completion form template 2025-02-13 17:05:50 +01:00
ferran cfa13aa912 MDL-84208 core: optional heading level to select menu template
In manu ocasions, the select menu template is used for the tertiary
navigation. However, in many scenarios this tertiary navigation acts as
a heading level. With this patch the template data can specify the
desired heading level to guarantee accessibility.
2025-02-13 17:05:50 +01:00
Paul Holden e38045d10e MDL-84528 tag: define missing language string for related tags area. 2025-02-13 15:02:51 +00:00
Pedro Jordao 03ee5f8c2c MDL-80351 libraries: ChartJS axis options being ignored
When chartJs was updated to version 3.8.0, chart axis were now accessed
as a object property instead of an array element. This solution aims to
update the way we set the axis properties, aiming to display the labels
and other properties.
2025-02-13 02:22:22 -03:00
Huong Nguyen c8f0232170 Merge branch 'MDL-83579' of https://github.com/paulholden/moodle 2025-02-13 11:11:19 +07:00
Jun Pataleta abcc187d30 Merge branch 'MDL-84245' of https://github.com/ssj365/moodle 2025-02-13 11:57:16 +08:00
Jun Pataleta 3fad8da8ea Merge branch 'mdl-83306_main' of https://github.com/james-cnz/moodle 2025-02-13 11:54:52 +08:00
Huong Nguyen 6aa91b0962 Merge branch 'MDL-84147' of https://github.com/paulholden/moodle 2025-02-13 10:53:11 +07:00
Jun Pataleta d7194e7da4 Merge branch 'MDL-84102-main' of https://github.com/andelacruz/moodle 2025-02-13 11:48:51 +08:00
Jun Pataleta ec36a7b4be Merge branch 'MDL-83542-main' of https://github.com/laurentdavid/moodle 2025-02-13 11:47:38 +08:00
Huong Nguyen 444fd9a783 Merge branch 'MDL-83645' of https://github.com/paulholden/moodle 2025-02-13 10:42:29 +07:00
Huong Nguyen 6fb9590214 Merge branch 'MDL-69142' of https://github.com/paulholden/moodle 2025-02-13 10:33:19 +07:00
Huong Nguyen a3e4e4565e Merge branch 'MDL-79265-master' of https://github.com/NashTechOpenUniversity/moodle 2025-02-13 09:15:20 +07:00
Jason Den Dulk c4335a8e0e MDL-83479 backup: Added upgrade notes.
Also some small tweaks to address comments.
2025-02-13 12:39:11 +11:00
Jason Den Dulk 7eb9cd0e8b MDL-83479 backup: Add hooks to restore process.
- Place hooks inside backup/util/ui/classes/hooks, to be consistent with
other autoloaded classes.
2025-02-13 11:41:45 +11:00
Jason Den Dulk a5de02a54c MDL-83479 backup: Add hooks to restore process.
- A hook to enable plugins to add extra settings to the restore task.
  This would be placed inside restore_root_task::define_settings()
- A hook to enable plugins to add extra fields to the copy course form. This would be done inside the copy_form class.
- An adjustment to add the restore plan settings to the course restored event data.
  This would be done inside restore_plan::execute().
- A hook to enable extra work inside the asynchronous copy task. To be placed inside asynchronous_copy_task::execute().
2025-02-13 11:41:45 +11:00
Paul Holden 5d2e52383b MDL-84356 enrol: add course link placeholder to welcome message. 2025-02-12 23:18:05 +00:00
Simmo Saan 38c7985705 MDL-65233 course: remove usergetmidnight from reset time shift 2025-02-12 21:53:09 +02:00
Simmo Saan 485ca23ba5 MDL-65233 course: add reset time shift test with non-midnight hour 2025-02-12 21:53:09 +02:00
Andrew Gosali 943a1887bc MDL-82937 lesson: removal of mod/lesson/tabs.php and string deprecations 2025-02-12 14:53:55 +07:00
Angelia Dela Cruz 1fb001768b MDL-84102 message: Behat for setting default notification preferences 2025-02-12 13:20:13 +08:00
Huong Nguyen 08f58d3d57 Merge branch 'MDL-83452-addbodyclass' of https://github.com/leonstr/moodle 2025-02-12 11:29:41 +07:00
Paul Holden ab68313384 MDL-84171 libraries: upgrade to version 3.1.2 of ZipStream. 2025-02-11 09:55:13 +00:00
Huong Nguyen 3792898775 Merge branch 'MOODLE_main_MDL-82601' of https://github.com/danielneis/moodle 2025-02-11 11:46:17 +07:00
Huong Nguyen 0fb2cb50bb Merge branch 'MDL-82440-main' of https://github.com/praxisdigital/moodle 2025-02-11 11:39:02 +07:00
Huong Nguyen 1a4aac47fd Merge branch 'MDL-84414-main' of https://github.com/andelacruz/moodle 2025-02-11 11:17:15 +07:00
Huong Nguyen 7fa18ffcfc Merge branch 'MDL-70610-main' of https://github.com/kevpercy/moodle 2025-02-11 11:12:58 +07:00
Angelia Dela Cruz 9b6641b1f7 MDL-84414 gradingform_guide: Behat test to set marking guide as ready 2025-02-11 10:33:18 +08:00
Andrew Nicols 3f3d8394fe MDL-84300 core: Support nested templates in routed API 2025-02-11 09:32:50 +08:00
Andrew Nicols ec2d5ba0c2 MDL-84300 router: Path params should be aware of unlimited captures
Where a path contains an unlimited parameter, designated by `{name:.*}`
or `{name:.*?}` it may be empty and therefore cannot be required.
2025-02-11 09:32:45 +08:00
AMOS bot 7dbc2d7bd7 Automatically generated installer lang files 2025-02-11 00:09:28 +00:00
Amaia Anabitarte 9f86b4a46d MDL-78489 core_courseformat: Final deprecation of availability_info 2025-02-10 17:09:03 +01:00
Paul Holden 4558d0d161 MDL-77107 gradereport_grader: final removal of deprecated Behat helper. 2025-02-10 15:50:04 +00:00
Daniel Ziegenberg 0f8a82c72d MDL-80156 theme_boost: Remove SCSS deprecated in 4.4
Signed-off-by: Daniel Ziegenberg <daniel@ziegenberg.at>
2025-02-10 16:07:39 +01:00
Paul Holden 18310486ba MDL-69142 tool_cohortroles: fix table ordering by role name. 2025-02-10 12:33:58 +00:00
Brandon 3cfd1251fe MDL-81759 backup: Change import page layout 2025-02-10 09:54:19 +01:00
Sara Arjona b72d33176c Merge branch 'MDL-67462-main' of https://github.com/albertgasset/moodle 2025-02-10 09:38:35 +01:00
Shamiso.Jaravaza 71e5a109d9 MDL-84245 mod_bigbluebuttonbn: Add manual grades
* Added grade API functions to implement grades
* Created phpunit test to ensure grades are removed on reset
2025-02-09 20:03:49 -07:00
Paul Holden 52ac5b46a7 MDL-84002 mod_assign: consistently style attempt expand/collapse icon. 2025-02-09 20:40:03 +00:00
Paul Holden 2fe3e4c066 MDL-84401 libraries: upgrade to version 5.22.8 of ADOdb. 2025-02-09 20:24:08 +00:00
Luca Bösch 1513501bc5 MDL-84476 theme: btn.btn-icon round background. 2025-02-08 15:51:11 +01:00
ferran 802920fd4c MDL-83872 core: creating button and text_align properties
This issue creates a couple of enum to style buttons and text
alignments. Enums can be used by output classes to limit the
types of values accepted by using strict types.
2025-02-08 11:36:01 +01:00
Tim Hunt 132f1b8e2f MDL-83440 assign: let sub-plugins validate the assign settings form 2025-02-07 15:29:14 +00:00
Laurent David 26d7babbae MDL-83542 core_completion: Add hooks for cm completion
* Add hooks for events that lead to session_cache_reset
2025-02-07 11:52:39 +01:00
Laurent David e9ad127b79 MDL-83542 core: Add hooks for user switching
* Add hooks for events that lead to session_cache_reset
2025-02-07 11:52:39 +01:00
Laurent David 25a963a5d7 MDL-83542 core_course: Add hook for course content update
* Add hooks for course events that lead to session_cache_reset
2025-02-07 11:52:39 +01:00
Katie Ransom abd0c137fe MDL-84419 core_task: Scheduled task timing is wrong when DST begins
This was only an issue for tasks set to run in the hour when the clocks
change for daylight saving time. E.g. if a task is set to run at 1am
every day in the Europe/London timezone, then the day the clocks go
forward gets skipped because 1am doesn't exist on that day.
2025-02-07 09:25:14 +00:00
Albert Gasset 86016f1e11 MDL-67462 badges: Improve tests of external functions
Now units tests covering external functions `core_badges_get_badge`,
`core_badges_get_user_badges` and `core_badges_get_user_badge_by_hash`
check all badge fields,  including cases where the user has no
permission to view all details.
2025-02-07 09:02:25 +01:00
Albert Gasset 5f6ebef730 MDL-67462 badges: Fix badge alignments returned in external functions 2025-02-07 09:02:25 +01:00
Paul Holden e0c94ce2a0 MDL-84457 ai: add provider form rate limit field validation. 2025-02-06 22:48:04 +00:00
Paul Holden 3f6838b1b9 MDL-84453 ai: simpler API for retrieving single provider record. 2025-02-06 21:34:18 +00:00
Paul Holden 3eceaf5388 MDL-84017 ai: help icons to describe the usage report token columns. 2025-02-06 17:04:07 +00:00
Sara Arjona 139a0ad5f0 weekly release 5.0dev 2025-02-06 16:21:38 +01:00
Sara Arjona 039db6bff9 NOBUG: Add upgrade notes 2025-02-06 16:21:38 +01:00
Sara Arjona 2c17f6c061 Merge branch 'install_main' of https://git.in.moodle.com/amosbot/moodle-install 2025-02-06 16:21:29 +01:00
Andrew Nicols d16a2b0f1d MDL-83404 core: Bump Guzzle and related libraries
GuzzleHttp/Guzzle   to 7.9.2
GuzzleHttp/Promises to 2.0.4
GuzzleHttp/PSR7     to 2.7.0.
kevinrob/guzzle-cache-middleware to 6.0.0
2025-02-06 19:42:01 +08:00
Jun Pataleta 14928b8883 Merge branch 'MDL-83794-main' of https://github.com/andrewnicols/moodle 2025-02-06 17:09:48 +08:00
Hieu Nguyen Dang be4d569ad0 MDL-79265 question bank: fix which questions are listed with hidden
This fixes the bug where if the latest version of the question is hidden,
the question disappears, even if older versions exist that are still visible.
2025-02-06 14:48:33 +07:00
Andrew Nicols 7d26c0264d MDL-83794 editor_tiny: Fix typo in style name 2025-02-06 13:49:00 +08:00
Jun Pataleta 0c1856c15a Merge branch 'MDL-81829-fix-pretty-whoops' of https://github.com/brendanheywood/moodle 2025-02-06 12:20:09 +08:00
Huong Nguyen c66b1a467c Merge branch 'MDL-83757-main' of https://github.com/andrewnicols/moodle 2025-02-06 10:51:57 +07:00
Jun Pataleta e3c0f430fe Merge branch 'MDL-72080' of https://github.com/paulholden/moodle 2025-02-06 11:36:44 +08:00
Laurent David 1310e64699 MDL-84271 core_course: Validate module list in search
* We need to validate the list of modules in the course search

Co-authored-by: Lars Bonczek <bonczek@math.tu-berlin.de>
2025-02-06 11:20:52 +08:00
Paul Holden 20cd6ee4bc MDL-84003 mod_glossary: capability check restoring trusted entry text. 2025-02-06 10:51:30 +08:00
Paul Holden b5e5765301 MDL-84145 report_loglive: format event description as plain text. 2025-02-06 09:43:28 +07:00
Huong Nguyen f0db1489fd Merge branch 'MDL-84394' of https://github.com/paulholden/moodle 2025-02-06 09:26:09 +07:00
Huong Nguyen 3282338f31 Merge branch 'MDL-84343-main' of https://github.com/lameze/moodle 2025-02-06 08:53:10 +07:00
Huong Nguyen a1509e5c92 Merge branch 'MDL-83635-main' of https://github.com/junpataleta/moodle 2025-02-06 08:45:32 +07:00
Jun Pataleta 6b9e75f685 Merge branch 'MDL-84016' of https://github.com/paulholden/moodle 2025-02-06 09:36:07 +08:00
Jun Pataleta fb3f28a847 Merge branch 'MDL-74488' of https://github.com/paulholden/moodle 2025-02-06 09:33:58 +08:00
Paul Holden 8516492ef6 MDL-84159 libraries: upgrade to version 1.9.2 of loglevel. 2025-02-05 23:10:29 +00:00
Brendan Heywood 1f503304c5 MDL-81829 core: Fix early bootstrap bug with whoops 2025-02-06 09:31:22 +11:00
Brendan Heywood f016dc2302 MDL-84438 task: Ignore tasks which don't have valid classes 2025-02-06 09:25:38 +11:00
Paul Holden 476c0539ed MDL-81996 block_mentees: consistently ordered list of users. 2025-02-05 20:17:01 +00:00
Paul Holden db01833822 MDL-82170 user: replace increment operator on string type variable. 2025-02-05 20:08:34 +00:00
Paul Holden dd3af70440 MDL-74488 reportbuilder: method for retrieving report row counts. 2025-02-05 17:38:21 +00:00
Leon Stringer f8cab1509f MDL-79976 mod_feedback: Check group for response
Check the teacher's group membership if group mode is SEPARATEGROUPS
prior to showing or deleting responses.
2025-02-05 18:05:40 +01:00
Sara Arjona 35a82f9ecf Merge branch 'MDL-80848-main' of https://github.com/andrewgos/moodle 2025-02-05 18:05:40 +01:00
Jun Pataleta 5bb4758f77 Merge branch 'MDL-83753-main' of https://github.com/djarran/moodle 2025-02-05 18:05:40 +01:00
Jun Pataleta 1fbe085b1a Merge branch 'mdl-83695_main' of https://github.com/james-cnz/moodle 2025-02-05 18:05:40 +01:00
Sara Arjona d8dbb53c36 Merge branch 'MDL-67683-main' of https://github.com/junpataleta/moodle 2025-02-05 18:05:40 +01:00
Huong Nguyen fb211931cb Merge branch 'MDL-83909-main' of https://github.com/sarjona/moodle 2025-02-05 18:05:40 +01:00
Huong Nguyen d4220bd9c9 Merge branch 'MDL-79214-main' of https://github.com/aanabit/moodle 2025-02-05 18:05:39 +01:00
Huong Nguyen 433ee6ecbc Merge branch 'mdl-83690_main' of https://github.com/james-cnz/moodle 2025-02-05 18:05:39 +01:00
Huong Nguyen b8eb960fe5 Merge branch 'MDL-83650-main_fix_ods_cell' of https://github.com/Cl3mensM/moodle 2025-02-05 18:05:39 +01:00
Jun Pataleta d1b6d2eaf8 Merge branch 'MDL-83809-main' of https://github.com/sammarshallou/moodle 2025-02-05 18:05:39 +01:00
Andrew Nicols e17dd3bf62 MDL-83757 core: Force DI to use global DB instead of scoped 2025-02-05 20:35:25 +08:00
danghieu1407 6f956ce910 MDL-60910 ddimageortext: Create option for using transparent pictures 2025-02-05 14:11:23 +07:00
sam marshall f1f8163b27 MDL-83809 Accessibility: Focus issues in modals
This change fixes 2 issues:

1 The focus lock for modals (e.g. within Tiny editor) did not
  correctly loop round from the end of the modal to the start.

2 After clicking 'Browse repositories' button in a Tiny editor
  modal, and closing the file picker, focus did not return to
  the button as expected.
2025-02-04 12:50:53 +00:00
james-cnz d7054236c4 MDL-83695 backup: Add space before course Restores in progress heading 2025-02-05 00:19:13 +13:00
Simey Lameze 635522dc3c MDL-84343 phpunit: handle warnings on failing tests
Signed-off-by: Simey Lameze <simey@moodle.com>
2025-02-04 19:00:29 +08:00
Simey Lameze 1bd9705200 MDL-84343 core: bump workflow to use pgsql 14
Signed-off-by: Simey Lameze <simey@moodle.com>
2025-02-04 19:00:29 +08:00
Paul Holden 06fd28ba2b MDL-84239 badges: remove defunct code for disabling badge. 2025-02-04 15:18:22 +08:00
David Woloszyn fbae5e1ed5 MDL-84136 filter_tex: Improve sanitization of forbidden items 2025-02-04 11:34:14 +07:00
Mark Johnson c968ab77be MDL-84146 question: Improve handling of JS parameters 2025-02-04 02:34:28 +00:00
meirzamoodle 595db30261 MDL-84023 lib: Update requirejs to 2.3.7 2025-02-04 02:34:28 +00:00
Marina Glancy 4ca6597422 MDL-83941 tags: prevent users from browsing unsearchable collections 2025-02-04 02:34:28 +00:00
Mihail Geshoski 1ea3084c8f MDL-82896 qtype_ddimageortext: Clean drop zone label text
It is unnecessary to allow HTML to be added to the drop zone label text,
as this content is hidden and only accessible to screen readers.
Additionally, the content is currently not properly formatted, which
introduces a risk for potential XSS exploits. This change ensures that
only plain text (PARAM_TEXT) is allowed when adding content and that the
content is properly formatted before being output.
2025-02-04 02:34:28 +00:00
Huong Nguyen 83a027b132 Merge branch 'MDL-83822-main' of https://github.com/PhMemmel/moodle 2025-02-04 09:30:25 +07:00
Jun Pataleta 458b35a7bb Merge branch 'MDL-84337' of https://github.com/paulholden/moodle 2025-02-04 10:05:58 +08:00
Paul Holden b3fed61aee MDL-84337 ai: revert external set_action parameter renaming.
This preserves backwards compatibility pre 368114c7 and fixes the
placement table.
2025-02-03 10:46:57 +00:00
Huong Nguyen e6b368e16b Merge branch 'MDL-84388-main' of https://github.com/lameze/moodle 2025-02-03 15:08:42 +07:00
Jun Pataleta 0c584487d5 MDL-67683 theme_boost: Update selector for calendar block styles
With the change from `aside` to `section` for blocks within the main
content region, the selector for instances of the calendar block not in
the main content region also needs to be updated to use a more generic
selector that can cover when either the blocks container containing the
calendar block is an `aside` or a `section`.

The `data-blockregion` attribute is a good selector for this purpose.
2025-02-03 15:54:51 +08:00
Jun Pataleta 598d806333 MDL-67683 behat: Add accessibility test for the maintenance mode layout 2025-02-03 15:54:51 +08:00
Jun Pataleta 7b3ec91919 MDL-67683 behat: Add accessibility test for the secure layout
Also, add page title and heading to the secure test page to make
it accessible.
2025-02-03 15:54:51 +08:00
Jun Pataleta 4e2a7af970 MDL-67683 output: Make block regions unique
Unique labels for the block regions:
* `side-pre` blocks - "Blocks"
* `side-post` blocks - "Supplementary blocks"
* `content` blocks - "Main content blocks"

Blocks in the main content region (div role="main") should not also be
in an <aside> as it is a top-level landmark.
2025-02-03 15:54:50 +08:00
Jun Pataleta 8553573e84 MDL-67683 theme: Set page heading in a header landmark for secure layout 2025-02-03 15:54:50 +08:00
Jun Pataleta 706b99f298 MDL-67683 auth: Test login page accessibility with axe best-practice tag 2025-02-03 15:54:50 +08:00
Jun Pataleta cf3ee68ce6 MDL-67683 behat: Update xpath selector for #region-main 2025-02-03 15:54:50 +08:00
Jun Pataleta e671b1ff0b MDL-67683 blocks: Do not assign a complementary role for blocks
Blocks are contained in an <aside> which has a default ARIA role of
"complementary", a top-level landmark. So assigning a "complementary"
role for block instances is not needed. As blocks are already in a
<section> tag which has a default role of "region", there's no need
to override the ARIA role, unless specified by the block plugin.

Read more at:
https://www.w3.org/WAI/ARIA/apg/practices/landmark-regions/
2025-02-03 15:54:49 +08:00
Jun Pataleta 10736389fa MDL-67683 theme: Do not use section for block containers
The containers for the blocks in layout templates should not be using a
<section> tag (which has a default landmark role of "region") as the
blocks are already contained in an <aside> tag that has the default
"complementary" role which should be a top-level landmark.

Read more at:
https://www.w3.org/WAI/ARIA/apg/practices/landmark-regions/
2025-02-03 15:54:49 +08:00
Jun Pataleta 29f452307d MDL-67683 theme: Do not use section for #region-main
The #region-main container should not be a <section> tag (which has a
default landmark role of "region") as it contains the container with
the "main" role which should be a top-level landmark.

Read more at:
https://www.w3.org/WAI/ARIA/apg/practices/landmark-regions/
2025-02-03 15:54:49 +08:00
Jun Pataleta a9a7883bcc MDL-83635 tool_brickfield: Use core_text:strlen() for img alt check
Multibyte alt texts will cause this check to fail easily. We need to be
using `core_text::strlen()` when checking the image alt text's length.
2025-02-03 15:51:10 +08:00
Jun Pataleta 24b1c58505 Merge branch 'MDL-84336' of https://github.com/paulholden/moodle 2025-02-03 12:28:24 +08:00
Huong Nguyen 4cbf74c0eb Merge branch 'MDL-83871-main-v02' of https://github.com/ferranrecio/moodle 2025-02-03 09:37:25 +07:00
Huong Nguyen 56a7e2077c Merge branch 'MDL-81478-main' of https://github.com/meirzamoodle/moodle 2025-02-03 09:32:02 +07:00
Huong Nguyen 4292f1a886 Merge branch 'MDL-83794-main' of https://github.com/andrewnicols/moodle 2025-02-03 09:20:15 +07:00
AMOS bot abc432cd6e Automatically generated installer lang files 2025-02-01 00:07:55 +00:00
Sara Arjona 5075be8ecd Merge branch 'MDL-83562-main-v02' of https://github.com/ferranrecio/moodle 2025-02-01 00:20:37 +08:00
Sara Arjona 70bba6e9b2 Merge branch 'mdl-82679_main_wip' of https://github.com/james-cnz/moodle 2025-02-01 00:20:37 +08:00
Sara Arjona b2ff1cb848 Merge branch 'MDL-84321-main-enfix' of https://github.com/mudrd8mz/moodle 2025-02-01 00:20:37 +08:00
Jun Pataleta 8008466be8 Merge branch 'MDL-82542-master' of https://github.com/NashTechOpenUniversity/moodle 2025-02-01 00:20:36 +08:00
Sara Arjona a16934d66b MDL-83909 core_badges: Remove author name, email and url fields
The fields imageauthorname, imageauthoremail, and imageauthorurl have
been removed from badges due to confusion and their absence from the
official specification. These fields also do not appear in OBv3.0.

Additionally, the image_author_json.php file has been removed as it
is no longer needed.
2025-01-31 15:28:30 +01:00
ferran f6698b7567 MDL-83871 course: activity overview page
The old activities block will be fully replaced by a new course
activities overview page in the course secondary navigation. This
commit has the initial implementation of the page.
2025-01-31 15:21:48 +01:00
Paul Holden 750077f3cd MDL-84394 ai: ensure provider instance config correctly encoded. 2025-01-31 10:18:11 +00:00
Paul Holden acc654e8ce MDL-84213 reportbuilder: add course "do not force" field options.
Where course entity select elements theme, language and calendar are
defined we should prepend with "Do not force" in order to match the
interface when editing the same fields.

The select filter has been updated to ensure it supports empty values
when switched to simplified version (a0ef4bb8) as well as improving
validation to ensure only present options can be used for filtering.
2025-01-31 09:45:16 +00:00
Huong Nguyen 07881a5772 weekly release 5.0dev 2025-01-31 09:20:03 +07:00
Huong Nguyen fa201a1029 NOBUG: Add upgrade notes 2025-01-31 09:20:03 +07:00
Huong Nguyen 2043ca4638 NOBUG: Fixed file access permissions 2025-01-31 09:19:49 +07:00
Huong Nguyen d6839e7df4 Merge branch 'install_main' of https://git.in.moodle.com/amosbot/moodle-install 2025-01-31 09:19:45 +07:00
Simey Lameze e6205ecf67 MDL-84388 behat: use the correct ai provider generator
Signed-off-by: Simey Lameze <simey@moodle.com>
2025-01-31 07:04:45 +08:00
Paul Holden c78793beb3 MDL-82399 admin: allow selective purging of courses cache from UI.
Equivalent to the same functionality in the CLI tool in 5e05ad570f.
2025-01-30 13:56:57 +00:00
ferran fc35470f25 MDL-83562 core_courseformat: deprecate movehere actions 2025-01-30 13:21:24 +01:00
Sara Arjona 2f9030260a Merge branch 'MDL-83152' of https://github.com/paulholden/moodle 2025-01-30 12:28:51 +01:00
Paul Holden 678cfb7867 MDL-83152 mod_glossary: observe pending entries sort order.
Ascending/descending should be compared in a case-insensitive manner
because apparently we use both lower/upper cases for each.
2025-01-30 10:56:06 +00:00
James C 52e458d91a MDL-82679 course: Prevent collapsable sections conflicting 2025-01-30 22:38:20 +13:00
Huong Nguyen d6765a4a50 Merge branch 'MDL-79281_main' of https://github.com/cwarwicker/moodle 2025-01-30 11:13:07 +07:00
Huong Nguyen 6861325075 Merge branch 'MDL-84103-main' of https://github.com/andelacruz/moodle 2025-01-30 11:09:43 +07:00
Huong Nguyen b845804c37 Merge branch 'MDL-84095-main' of https://github.com/meirzamoodle/moodle 2025-01-30 10:50:44 +07:00
Huong Nguyen d18c709e33 Merge branch 'MDL-84275' of https://github.com/paulholden/moodle 2025-01-30 10:27:27 +07:00
Huong Nguyen 92c7d6f4f0 Merge branch 'MDL-84114-main' of https://github.com/lucaboesch/moodle 2025-01-30 10:02:37 +07:00
Jun Pataleta a280955399 Merge branch 'MDL-79843-main-fix' of /Users/jun/Work/moodles/integration_main/moodle 2025-01-30 10:57:59 +08:00
Jun Pataleta 131e1a55b8 MDL-79843 tests: Remove unnecessary whitespace 2025-01-30 10:55:39 +08:00
Huong Nguyen 1a101d2620 Merge branch 'MDL-84339' of https://github.com/paulholden/moodle 2025-01-30 09:40:19 +07:00
Huong Nguyen a3d72aa941 Merge branch 'MDL-83862_main' of https://github.com/marxjohnson/moodle 2025-01-30 09:35:02 +07:00
Huong Nguyen f09efc6289 Merge branch 'MDL-83297-maxgradesperpage' of https://github.com/dragos5436/moodle 2025-01-30 09:28:38 +07:00
Huong Nguyen 81db585a53 Merge branch 'MDL-84323-main' of https://github.com/sarjona/moodle 2025-01-30 09:19:58 +07:00
Huong Nguyen ae78c31cca Merge branch 'MDL-84049-main' of https://github.com/sarjona/moodle 2025-01-30 09:13:50 +07:00
Angelia Dela Cruz 230c42148f MDL-84103 imscc: Behat test for import IMS Cartridge to course 2025-01-30 09:36:21 +08:00
Andrew Nicols 7ca85dfd6e MDL-83794 editor_tiny: Add SVG support 2025-01-30 07:23:57 +08:00
Andrew Nicols f67b2e8c6b MDL-83794 editor_tiny: Add support for MathML 2025-01-30 07:23:32 +08:00
Clemens 081a7d0ff9 MDL-83650 odslib: Add variable to class MoodleODSCell 2025-01-30 00:23:21 +01:00
james-cnz bf06c4b934 MDL-83690 course: Fix course index label links 2025-01-30 11:19:59 +13:00
Sara Arjona ff0e03ff56 Merge branch 'MDL-84264-main' of https://github.com/pmaneggia/moodle 2025-01-29 16:52:52 +01:00
Sara Arjona 68156941ff Merge branch 'MDL-84243-main' of https://github.com/ferranrecio/moodle 2025-01-29 16:47:35 +01:00
Sara Arjona 39a5efeace Merge branch 'MDL-84226' of https://github.com/paulholden/moodle 2025-01-29 16:22:11 +01:00
Sara Arjona 4d9dbc25c1 Merge branch 'MDL-84242' of https://github.com/paulholden/moodle 2025-01-29 15:52:03 +01:00
Paul Holden 0c090789f9 MDL-84016 reportbuilder: column methods for setting help icons.
This change exposes the underlying table library API for setting
help icon for table headers, via column instance getter/setter.

Support added for rendering said icons in system reports.
2025-01-29 11:50:10 +00:00
Sara Arjona 9f5fbf1aca Merge branch 'MDL-84205' of https://github.com/paulholden/moodle 2025-01-29 11:16:39 +01:00
Sara Arjona b34815c4ab Merge branch 'MDL-84320-main' of https://github.com/raortegar/moodle 2025-01-29 08:57:18 +01:00
Sara Arjona c96c4a529f Merge branch 'MDL-84129' of https://github.com/paulholden/moodle 2025-01-29 08:49:59 +01:00
Paul Holden f04f81b59b MDL-84336 ai: don't assume providers implement every action type. 2025-01-29 07:49:03 +00:00
Sara Arjona eaf91d10ce Merge branch 'MDL-84214' of https://github.com/paulholden/moodle 2025-01-29 08:39:21 +01:00
Sara Arjona 172cdeb027 Merge branch 'MDL-84148' of https://github.com/paulholden/moodle 2025-01-29 08:30:11 +01:00
Sara Arjona 1d7bfbbf8c Merge branch 'MDL-79819' of https://github.com/jonof/moodle 2025-01-29 08:18:29 +01:00
Sara Arjona 1cbfd1b16e Merge branch 'MDL-84355-main' of https://github.com/andrewnicols/moodle 2025-01-29 08:09:43 +01:00
Sara Arjona 6b4f794a79 Merge branch '83617-fix-grader-report-url-main' of https://github.com/DSI-Universite-Rennes2/moodle 2025-01-29 08:00:41 +01:00
Sara Arjona 5908f8309f Merge branch 'MDL-83152' of https://github.com/paulholden/moodle 2025-01-29 07:49:20 +01:00
Sara Arjona e14629243e Merge branch 'MDL-79907-main' of https://github.com/andrewgos/moodle 2025-01-29 07:46:31 +01:00
Andrew Nicols 2d9c877f58 MDL-79843 core: Fully reset the component cache for some tests 2025-01-29 14:39:50 +08:00
Andrew Nicols 7706577f9f MDL-83401 core: Upgrade PHP-DI/Invoker to 2.3.6 2025-01-29 11:58:43 +08:00
Andrew Nicols ede7bcbd7a MDL-83401 core: Upgrade laravel/serializable to 1.3.5 2025-01-29 11:58:43 +08:00
Andrew Nicols 75dedf1d87 MDL-83401 core: Upgrade PHP-DI to 7.0.7 2025-01-29 11:56:03 +08:00
Andrew Nicols 20aa9d055a MDL-84355 phpunit: Exclude fixtures from testsuite search 2025-01-29 11:43:40 +08:00
Andrew Nicols ee24c55435 MDL-84355 phpunit: Correct test path for component configs 2025-01-29 11:29:03 +08:00
Sara Arjona 54ed733f98 Merge branch 'MDL-73700_remove-all-the-old-php-version-checks-from-core' of https://github.com/ziegenberg/moodle 2025-01-28 19:43:36 +01:00
Daniel Ziegenberg 50ac1b5d44 MDL-73700 lti: remove old PHP version check
As MDL-73016 set the minimum supported PHP version for Moodle 4.4 and up
to PHP 8.1 we can now safely remove this check. It was introduced with
MDL-73523 because of deprecated openssl_x509_free(), openssl_pkey_free()
and openssl_free_key() functions.

Signed-off-by: Daniel Ziegenberg <daniel@ziegenberg.at>
2025-01-28 18:58:08 +01:00
Daniel Ziegenberg 1b8b1505e5 MDL-73700 backup: remove old PHP version check
As MDL-73016 set the minimum supported PHP version for Moodle 4.4 and up
to PHP 8.1 we can now safely remove this check.

Signed-off-by: Daniel Ziegenberg <daniel@ziegenberg.at>
2025-01-28 18:58:07 +01:00
Daniel Ziegenberg 723cfca487 MDL-73700 environment: Remove the deprecated igbinary322_version check
As MDL-73016 set the minimum supported PHP version for Moodle 4.4 and up
to PHP 8.1 we can now remove the check PHP version 7.2 in combination
with the igbinary extension version.

Signed-off-by: Daniel Ziegenberg <daniel@ziegenberg.at>
2025-01-28 18:58:04 +01:00
Daniel Ziegenberg 161cf71a48 MDL-73700 backup: remove old PHP version check
As MDL-73016 set the minimum supported PHP version for Moodle 4.4 and up
to PHP 8.1 we can now safely switch to php_serialize as the serialize
handler.

Signed-off-by: Daniel Ziegenberg <daniel@ziegenberg.at>
2025-01-28 18:58:01 +01:00
Daniel Ziegenberg bcce1851f1 MDL-73700 mlbackend: remove old PHP version check
As MDL-73016 set the minimum supported PHP version for Moodle 4.4 and up
to PHP 8.1 we can now safely remove this check. As the lang string
`errorphp7required` is particular to mlbackend php plugin we are going
for direct deletion instead of regular deprecation.

Signed-off-by: Daniel Ziegenberg <daniel@ziegenberg.at>
2025-01-28 18:58:00 +01:00
Daniel Ziegenberg 5d99a0cbef MDL-73700 core: remove testing code for old PHP version
Because of PHP bug #70322 two different behaviours were tested (see
MDL-51863). Since those 10 year old PHP versions are way outdated there
is no reason to test for them any longer.

Signed-off-by: Daniel Ziegenberg <daniel@ziegenberg.at>
2025-01-28 18:57:58 +01:00
Daniel Ziegenberg 39fda04cdc MDL-73700 core: remove unused functions and strings from installer
While searching for no longer needed PHP 5.x & 7.0 checks, the
`phpversionhelp` lang string and, subsequently, the `memorylimithelp`
lang string and the `install_helpbutton()` and
`install_print_help_page()` functions were discovered. According to
comments on MDL-2787 and MDL-64482 they are no longer in use since
Moodle 1.x (approximately), neither reachable since some good versions
ago. With MDL-17458 (commit 3b09331066),
the function `print_compatibility_row()` was gone, and it seems like it
was the only place calling `install_helpbutton()`. And
`install_helpbutton()` was the only place where a link to the help mode
(e.g.  `install.php?help=$helpfield`) ever surfaced.  As both lang
strings and functions are particular to the installer and never could
have been used outside of it, we are going for direct deletion instead
of regular deprecation.

Signed-off-by: Daniel Ziegenberg <daniel@ziegenberg.at>
2025-01-28 18:57:57 +01:00
Daniel Ziegenberg 85304ca150 MDL-73700 fileconverter_googledrive: remove old PHP version workaround
As MDL-73016 set the minimum supported PHP version for Moodle 4.4 and up
to PHP 8.1 we can now safely write this as a one-liner.

Signed-off-by: Daniel Ziegenberg <daniel@ziegenberg.at>
2025-01-28 18:57:55 +01:00
Daniel Ziegenberg da3b7722ae MDL-73700 lib: remove old PHP version check
As MDL-73016 set the minimum supported PHP version for Moodle 4.4 and up
to PHP 8.1 we can now safely remove this check.

As it was decided that we will not upgrade this library from upstream
any more (see MDL-52465) we can probably safely remove this. This change
is one of a long series of earlier changes. See readme_moodle.txt.

Signed-off-by: Daniel Ziegenberg <daniel@ziegenberg.at>
2025-01-28 18:57:53 +01:00
Daniel Ziegenberg 224a7d2aac MDL-73700 core: remove old PHP version check
As MDL-73016 set the minimum supported PHP version for Moodle 4.4 and up
to PHP 8.1 we can now safely remove this check. It was introduced with
MDL-75945  because a new signature was introduced to ImagePolygon
functions from PHP 8.1 with the previous signature deprecated in 8.1.

Signed-off-by: Daniel Ziegenberg <daniel@ziegenberg.at>
2025-01-28 18:57:52 +01:00
Daniel Ziegenberg 4355a5ac0a MDL-73700 repository: remove old PHP version check
As MDL-73016 set the minimum supported PHP version for Moodle 4.4 and up
to PHP 8.1 we can now safely remove this check. It was introduced with
MDL-73523 because of deprecated openssl_x509_free(), openssl_pkey_free()
and openssl_free_key() functions.

Signed-off-by: Daniel Ziegenberg <daniel@ziegenberg.at>
2025-01-28 18:57:50 +01:00
Daniel Ziegenberg b59725693c MDL-73700 mnet: remove old PHP version check
As MDL-73016 set the minimum supported PHP version for Moodle 4.4 and up
to PHP 8.1 we can now safely remove this check. It was introduced with
MDL-73523 because of deprecated openssl_x509_free(), openssl_pkey_free()
and openssl_free_key() functions.

Signed-off-by: Daniel Ziegenberg <daniel@ziegenberg.at>
2025-01-28 18:23:20 +01:00
Daniel Ziegenberg 0371d3c7da MDL-73700 enrol_lti: remove old PHP version check
As MDL-73016 set the minimum supported PHP version for Moodle 4.4 and up
to PHP 8.1 we can now safely remove this check. It was introduced with
MDL-73523 because of deprecated openssl_x509_free(), openssl_pkey_free()
and openssl_free_key() functions.

Signed-off-by: Daniel Ziegenberg <daniel@ziegenberg.at>
2025-01-28 18:23:18 +01:00
Paul Holden 2fd885cd85 MDL-72080 javascript: explicit Content-Type in service responses.
This fixes various external methods that initialize page output
manually, e.g. `core_get_fragment`, which can mess with third party
proxies that modify data in transit because of the current default
response type header (text/html).

Co-authored-by: Mario Torres
2025-01-28 12:45:22 +00:00
Amaia Anabitarte 1ccec343f4 MDL-84036 core: Finally remove deprecated external functions 2025-01-28 12:11:27 +01:00
Julien Boulen f267881c15 MDL-84348 h5pactivity: Hide preview mode warning for guest users 2025-01-28 12:00:05 +01:00
Amaia Anabitarte 89850267ff MDL-79214 mod_folder: Final removal of htmllize_tree() 2025-01-28 11:33:27 +01:00
Huong Nguyen 474231d1a4 Merge branch 'MDL-83079-main' of https://github.com/HuongNV13/moodle 2025-01-28 17:04:08 +07:00
Frederik Milling Pytlick d8f1d2aa95 MDL-83079 core: Make signal handlers run during non CLI scripts 2025-01-28 16:45:59 +07:00
Huong Nguyen d8cbf21f59 Merge branch 'MDL-84333-main' of https://github.com/ferranrecio/moodle 2025-01-28 16:28:09 +07:00
Andrew Nicols 695d146f1f Merge branch 'MDL-79843-main-2-squashed' of https://github.com/snake/moodle 2025-01-28 14:47:10 +08:00
Jake Dallimore 26fcb89fd2 MDL-79843 core: test covering hook events for deprecated plugins
Verifies that listeners are excluded if they are from a deprecated
plugin type.
2025-01-28 14:42:20 +08:00
Jake Dallimore 44b16855e6 MDL-79843 core_access: test covering capabilities for deprecated plugins
Access APIs still support the deprecated plugin during deprecation.
2025-01-28 14:42:20 +08:00
Jake Dallimore 36ab70c64a MDL-79843 core_external: test covering services for deprecated plugins
This just asserts that web services provided by deprecated plugins can
still be used (similar to how their APIs can still be used during the
deprecation period).
2025-01-28 14:42:20 +08:00
Jake Dallimore 995c5489b7 MDL-79843 core_adminpresets: skip deprecated plugin types during apply
Presets are stored in the DB and may contain config for plugins which
have since been deprecated. This just makes sure these are skipped when
trying to apply the preset.
2025-01-28 14:42:19 +08:00
Jake Dallimore 17eb4af339 MDL-79843 core_task: changes to support deprecated plugin types
This ensures:
- existing adhoc tasks will run and be cleared from the queue
- new adhoc tasks cannot be scheduled
- scheduled tasks cannot be listed or fetched via scheduling
Given the nature of the task API, since all tasks are just objects,
a manually created task can still be run via its ::execute() method.
2025-01-28 14:42:19 +08:00
Jake Dallimore d6e5a34703 MDL-79843 core_event: test covering events for deprecated plugin types 2025-01-28 14:42:19 +08:00
Jake Dallimore d6f0443308 MDL-79843 core: prevent callback use for deprecated plugins 2025-01-28 14:42:19 +08:00
Jake Dallimore 2a0e5c9ec4 MDL-79843 core: install/upgrade/admin supporting plugintype deprecation
This change:
- reports deprecated plugins during upgrade (informational only)
- reports deprecated plugins via site admin, permitting uninstall
- adds env check to block site install/upgrade when phase 2 deprecated
(deleted) plugins are detected. They must be uninstalled to continue.
2025-01-28 14:42:19 +08:00
Jake Dallimore 9a3e8f265c MDL-79843 core: add plugin_manager tests for plugintype deprecation
This change also includes a small extension to testable_plugin_manager,
allowing it to load a fixture plugininfo class for mock plugintypes from
the respective mock type directory root instead of requiring the
plugininfo be located in lib/classes/plugininfo. This prevents debugging
calls during mock use in tests.
2025-01-28 14:42:19 +08:00
Jake Dallimore 6031b7cb60 MDL-79843 core: support deprecated plugin types in plugin_manager APIs
This change:
- Adds param to plugin_manager::get_plugins() to permit return of
plugininfo for deprecated/deleted plugins, defaulting to false for
b/c.
- ensures plugininfo represents the deprecation state, via:
-- base::is_deprecated() and
-- base::is_deleted()
- ensures plugin_manager supports deprecated/deleted plugins in the
following APIs:
-- plugin_manager::get_present_plugins()
-- plugin_manager::get_installed_plugins()
-- plugin_manager::get_plugin_info()
-- plugin_manager::get_plugintype_root()
-- plugin_manager::can_uninstall_plugin()
-- plugin_manager::get_uninstall_url()

The above changes facilitate listing/reporting on deprecated or deleted
plugins in install, upgrade or site admin views.
2025-01-28 14:42:19 +08:00
Jake Dallimore 16690e3c88 MDL-79843 core: add component tests covering plugintype deprecation
Note: these tests impact \core\component caches and must be run in a
separate process to prevent impact on other tests.
2025-01-28 14:42:19 +08:00
Jake Dallimore 3f544be4ab MDL-79843 core: add test fixtures supporting plugin deprecation tests
This change adds the following fake plugintype+plugins for testing
\core\component:
- mock plugintype 'fake'
- mock plugin 'fake_fullfeatured'
- mock subplugintype for the 'fake' plugintype, 'fullsubtype'
- mock subplugintype for the 'fake' plugintype, 'fulldeprecatedsubtype'
- mock subplugintype for the 'fake' plugintype, 'fulldeletedsubtype'
- various mock implementations for APIs like access, events,
web services, hooks, legacy callbacks and class callbacks.
2025-01-28 14:42:19 +08:00
Jake Dallimore a644d26c5e MDL-79843 core: support mocking of deprecated plugins and subplugins
This adds support to the existing, shallow fakeplugin mocks provided by:
- advanced_testcase::add_mocked_plugintype() and
- advanced_testcase::add_mocked_plugin()
and adds new methods for deep mocking fakeplugins:
- advanced_testcase::add_full_mocked_plugintype()
- advanced_testcase::deprecate_full_mocked_plugintype()
- advanced_testcase::delete_full_mock_plugintype()
Deep mocking is required to test \core\component itself.
2025-01-28 14:42:19 +08:00
Jake Dallimore 6b1a63189b MDL-79843 core: add plugintype deprecation support to core component
By default, for backward-compatibility, these plugin types and plugins
are not returned from existing APIs.
2025-01-28 14:42:19 +08:00
Jun Pataleta ddf51fac59 Merge branch 'MDL-81195-main' of https://github.com/martygilbert/moodle 2025-01-28 10:53:10 +08:00
Safat 31b8a4e1cb MDL-81015 core_sms: Add support for async SMS sending 2025-01-28 13:40:55 +11:00
AMOS bot 7f7e874ed4 Automatically generated installer lang files 2025-01-28 00:07:51 +00:00
David Mudrák 3f38b28079 MDL-84321 lang: Use the fixed strings in tests, too 2025-01-27 23:11:59 +01:00
Helen Foster cb4070a2b7 MDL-84321 lang: Import fixed English strings (en_fix) 2025-01-27 23:01:17 +01:00
Paul Holden 127a0f03cc MDL-84339 ai: move deprecated component lang strings to correct place. 2025-01-27 16:41:22 +00:00
ferran f6810e5427 MDL-84243 core_courseformat: fix course index completion icon 2025-01-27 17:20:20 +01:00
Mark Johnson bc57ced4f2 MDL-83862 question: Improve documentation of $qbank parameters 2025-01-27 11:24:54 +00:00
ferran daa3fff377 MDL-84333 core_courseformat: fix page selector init 2025-01-27 12:10:32 +01:00
Mark Johnson 5b0f5d4c0c MDL-83862 qbank_viewcreator: Add timemodified filter
This adds a new filter for the timemodified, displayed
in the "Modified by" column. It uses the new core
datetime filter for the UI.
2025-01-27 10:48:24 +00:00
Mark Johnson bf4107159c MDL-83862 core: Add validation support for datafilters
This allows filter fields to use client-side form validation attributes to check for valid values,
and adds a validation() method for filters to implement custom validation conditions.

In the event of a validation failure, the invalid filters will not be applied, and the URL will
not be updated to avoid user sharing a URL that will generate an error. Filter conditions should
still implement server-side validation and throw exceptions to avoid erroneous values being
manually inserted into the URL.
2025-01-27 10:48:24 +00:00
Mark Johnson 2d56d31054 MDL-83862 question: Add timemodified support to question generator.
Previously it was not possible to manually specify the modified time for
a question in the test generator. This extends to the mechanism allowing
the modifying user to be specified (rather than using the current user)
to also allow the timemodified to be specified.
2025-01-27 10:48:24 +00:00
Mark Johnson 8629645d34 MDL-83862 core: Add datetime datafilter
This adds a new datafilter Javascript class for a
datetime filter. This supports filtering by dates before,
after or between the selected value(s).

The fields for selecting datetimes in the filter use
<input type="datetime-local">, so this commit also adds
support for filling reading and writing those fields in
behat tests.
2025-01-27 10:48:23 +00:00
Sara Arjona da2d0571ab MDL-84323 core_badges: Remove endorsement from JSON
The endorsement has been removed from the JSON because, according to
the OBv2.0specification, it must not be included in either the badge
or the assertion.
Including it results in a format error, rendering the badge invalid.
2025-01-27 10:34:26 +01:00
Daniel Ziegenberg 484135927b MDL-75189 mod_data: Final deprecations after MDL-75059
Signed-off-by: Daniel Ziegenberg <daniel@ziegenberg.at>
2025-01-24 22:18:48 +01:00
Paul Holden 99c5d1a107 MDL-83720 tag: correct description formatting component/filearea. 2025-01-24 12:52:10 +00:00
raortegar 30d5527981 MDL-84320 editor_tiny: Update tiny version in thirdpartylbs.xml 2025-01-24 11:38:02 +01:00
Jun Pataleta 94ef115f5c Merge branch 'MDL-83989-main' of https://github.com/clransom/moodle 2025-01-24 15:52:25 +08:00
Sara Arjona 33135d96ca MDL-84049 badges: Remove default apiversion value
Remove the default value for the apiversion field in the
badge_external_backpack table.
2025-01-24 07:05:11 +01:00
Marty fca896d4df MDL-81195 core_course: allow for daylight savings
In timezones where daylight savings time is used, courses that start
on a Monday at 00:00 would display the week headings incorrectly
during the change forward.

When the time changes backwards, courses that have a start time of
Sunday at 23:00 also have a mislabeled week.

This attempts to use the DateTime() library, along with the user's
local timezone setting to display the correct day, rather than just
subtracting 86400.
2025-01-23 14:49:05 -05:00
Luca Bösch ce00976762 MDL-84114 quiz: style the question version pulldown nicely. 2025-01-23 18:39:30 +01:00
Sara Arjona bcf06a0484 weekly release 5.0dev 2025-01-23 17:34:50 +01:00
Sara Arjona 80e559acbf NOBUG: Add upgrade notes 2025-01-23 17:34:50 +01:00
Sara Arjona 2a91b07430 Merge branch 'install_main' of https://git.in.moodle.com/amosbot/moodle-install 2025-01-23 17:34:42 +01:00
Katie Ransom 4586f57df5 MDL-83989 file upload: Filemanager breaks if you drop file outside of it 2025-01-23 16:31:11 +00:00
Dani Palou 9ecfe28878 MDL-84313 pluginfile: Allow fetching by chunks in cross-site requests
Without these headers, the range headers are blocked so only the first chunk of the file can be retrieved.
2025-01-23 15:52:35 +01:00
Huong Nguyen bb72db2074 Merge branch 'MDL-82767-main-v03' of https://github.com/ferranrecio/moodle 2025-01-23 11:18:50 +07:00
Huong Nguyen 5fbd4b6555 Merge branch 'MDL-83869-main' of https://github.com/ferranrecio/moodle 2025-01-23 11:15:26 +07:00
Jun Pataleta 2beee5c41e Merge branch 'MDL-83848-main-v2' of https://github.com/lameze/moodle into MDL-83848-main-test 2025-01-23 12:13:41 +08:00
Huong Nguyen 8ad2dc02a1 Merge branch 'MDL-83751' of https://github.com/paulholden/moodle 2025-01-23 10:48:16 +07:00
Huong Nguyen 2cc07fc0e1 Merge branch 'MDL-76566' of https://github.com/paulholden/moodle 2025-01-23 10:44:03 +07:00
Huong Nguyen f0ac76efdb MDL-82977 AI: Version bump 2025-01-23 09:43:14 +07:00
Huong Nguyen 40fd9b8d22 Merge branch 'main_MDL-82977' of https://github.com/mattporritt/moodle 2025-01-23 09:36:50 +07:00
Simey Lameze 5af7da720b MDL-83848 core: unpin behat/gherkin dependency
This commit reverts 57dc5a7f17297c2a0dcffd47b3aecf5e1c228a713 "MDL-83470 composer: Require behat/gherkin 4.9.0 for now"
unpin behat/gherkin and fix Behat failures because of the update.
2025-01-23 10:31:30 +08:00
Huong Nguyen 9c69c2c15d Merge branch 'MDL-83763-main' of https://github.com/meirzamoodle/moodle 2025-01-23 09:24:02 +07:00
Huong Nguyen b079c7c7f2 Merge branch 'MDL-81685_matrix_homeserver_name_main' of https://github.com/mark-webster-catalyst/moodle 2025-01-23 09:16:47 +07:00
Huong Nguyen 39220c7ac1 Merge branch 'MDL-84101-main' of https://github.com/lameze/moodle 2025-01-23 09:08:27 +07:00
Huong Nguyen 318f00580c Merge branch 'MDL-84249-main' of https://github.com/lameze/moodle 2025-01-23 09:02:11 +07:00
Angelia Dela Cruz e9fc27e6f6 MDL-84101 message: Behat test for managing notification options 2025-01-23 07:32:10 +08:00
Jun Pataleta de6f1dfe4c Merge branch 'MDL-83035-main' of https://github.com/lameze/moodle 2025-01-22 21:55:43 +08:00
Tim Hunt 7400ed153d MDL-84272 virus scanning: add time to scan to draft_file_added event 2025-01-22 11:44:36 +00:00
ferran 53886acba6 MDL-83869 tool_componentlibrary: collapsable section page 2025-01-22 11:36:27 +01:00
ferran 46318e53d0 MDL-83869 output: new collapsable section component 2025-01-22 11:36:27 +01:00
ferran d91b897549 MDL-82767 mod_qbank: fix delete action url 2025-01-22 10:35:23 +01:00
ferran a438da66ca MDL-82767 core_courseformat: deprecate edits in mod.php and view.php
Most edit logic embed directly into course/view.php and course/mod.php
is now redirected to course/format/update.php. This commit add
deprecations messages to the old get params so it can be removed in
Moodle 6.0 for good.
2025-01-22 10:35:23 +01:00
ferran fec5bf61f4 MDL-82767 core_courseformat: replace old urls by update urls
Now there is course/format/update.php all course actions menus must
point to the new one instead of keep pointing at the course/view.php and
course/mod.php.
2025-01-22 10:35:23 +01:00
ferran 03c530cc9b MDL-82767 core_courseformat: new update.php to execute actions in course
Since Moodle 4.0, most course edit actions can be executed using the
core_courseformat_course_edit webservice using only four parameters
(courseid, ids, targetsectionid and targetcmid). However, some actions
logic is still replicated and embed in course/view.php and
course/mod.php files since the beginning of time. Now the
course/update.php offers a non-ajax way of executing the same actions
and replace the old replicated ways of doing the same.
2025-01-22 10:35:23 +01:00
Huong Nguyen 13f10c22c4 Merge branch 'MDL-83339-main' of https://github.com/laurentdavid/moodle 2025-01-22 15:22:55 +07:00
Huong Nguyen 80684906c0 Merge branch 'MDL-81070-main' of https://github.com/StudiUM/moodle 2025-01-22 15:18:37 +07:00
Huong Nguyen 02221d8328 Merge branch 'MDL-78365' of https://github.com/pedrojordao/moodle 2025-01-22 15:10:55 +07:00
Andrew Gosali b4598bf783 MDL-80848 mod_forum: to have id as the backup sorting condition
When the first sorting condition fails (falls on the same value), it should have another sorting as a backup.
2025-01-22 13:37:29 +07:00
Huong Nguyen 1414b38e0f Merge branch 'MDL-83850-master' of https://github.com/danghieu1407/moodle 2025-01-22 10:31:41 +07:00
Simey Lameze 750b7a57bc MDL-83035 behat: add missing attribute and final polishing
Signed-off-by: Simey Lameze <simey@moodle.com>
2025-01-22 10:06:53 +08:00
Matt Porritt 179b229a68 MDL-82977 AI: Provider instances
Update the OpenAI provider plugin to support provider instances.
2025-01-22 08:43:26 +11:00
Matt Porritt d3858cc992 MDL-82977 AI: Provider instances
Update the Azure AI provider plugin to support provider instances.
2025-01-22 08:43:25 +11:00
Matt Porritt 368114c7cd MDL-82977 AI: Provider instances
Create provider instances for AI povider plugins.
Each provider plugin can now have multiple instances,
allowing for different configurations and models using
the same base provider.
2025-01-22 08:43:13 +11:00
Paul Holden b8fbe89d98 MDL-84275 factor_totp: format site fullname for authenticator setup. 2025-01-21 21:32:54 +00:00
dragos5436 b054c7eaf5 MDL-83297 gradereport_grader: Make maxgradesperpage configurable
After deploying to our production environment, we noticed that for large gradebooks, having a max of 200,000 grades per
page was still too high and resulted in the gradebook page crashing or failing to load entirely. This commit will make
this value configurable (e.g. ->maxgradesperpage = 70000) rather than a constant so that other institutions can tune it.

Co-authored-by: Leon Stringer <leon.stringer@ucl.ac.uk>
2025-01-21 13:34:04 +00:00
Daniel Ziegenberg 08ca969323 MDL-83035 behat: deprecate admin presets behat steps
Signed-off-by: Daniel Ziegenberg <daniel@ziegenberg.at>
2025-01-21 13:39:42 +01:00
Mark Webster f6cb62dc2e MDL-81685 communication_matrix: Adds Matrix homeserver name setting
Allows setting a homeserver name for instances where
usernames do not follow the pattern @user:homeserverurl
2025-01-21 12:38:06 +00:00
Paul Holden a2e8872367 MDL-84267 mod_data: deprecate unused comment related capabilities.
They were replaced with core comment API in, and have been unused
since, both 43110739 & e998effa.
2025-01-21 10:49:50 +00:00
Huong Nguyen 2eb108ec40 MDL-84191 qbank_viewquestiontext: Fix Behat failures 2025-01-21 17:13:21 +07:00
Laurent David 95c780ac2f MDL-83339 course_format: Unify init params for course editor
* Replace all selectors based on ID (getElementById) by querySelector
* Replaces element-id by '#element-id' in the init method
2025-01-21 07:12:04 +01:00
meirzamoodle 86e0f4146f MDL-83763 core_my: Update docs path link on Dashboard and My Course 2025-01-21 11:29:49 +07:00
Huong Nguyen a93ce36da5 Merge branch 'MDL-82944-main' of https://github.com/davewoloszyn/moodle 2025-01-21 11:23:18 +07:00
Huong Nguyen 30e8f22849 Merge branch 'MDL-84191_main' of https://github.com/cwarwicker/moodle 2025-01-21 10:38:32 +07:00
Huong Nguyen a84d96b2d0 Merge branch 'MDL-83861_main' of https://github.com/marxjohnson/moodle 2025-01-21 10:25:30 +07:00
Huong Nguyen a1ff6ad4df Merge branch 'MDL-81790-main' of https://github.com/laurentdavid/moodle 2025-01-21 10:22:19 +07:00
Huong Nguyen f30bb90004 Merge branch 'MDL-84138-main' of https://github.com/lucaboesch/moodle 2025-01-21 09:56:46 +07:00
Huong Nguyen 9c20c82107 Merge branch 'MDL-84111-main' of https://github.com/lucaboesch/moodle 2025-01-21 09:32:16 +07:00
Huong Nguyen c66df4e882 Merge branch 'MDL-83877' of https://github.com/cwarwicker/moodle 2025-01-21 09:23:15 +07:00
Huong Nguyen 57c8b86eda Merge branch 'MDL-84193' of https://github.com/cwarwicker/moodle 2025-01-21 09:12:54 +07:00
Huong Nguyen 03df1d9659 Merge branch 'MDL-82722_main' of https://github.com/cwarwicker/moodle 2025-01-21 09:05:08 +07:00
Huong Nguyen 05fc43c562 Merge branch 'MDL-82237_main' of https://github.com/marxjohnson/moodle 2025-01-21 08:57:46 +07:00
Paola Maneggia cb1c36f8b1 MDL-84264 backup: encode and decode urls for the new course section page 2025-01-20 18:49:42 +01:00
Salem Saidi f2384c458f MDL-81070 course: Display contact names in the search result by admin 2025-01-20 12:01:34 -05:00
Sara Arjona 2f5047e68f Merge branch 'MDL-81043-main' of https://github.com/HuongNV13/moodle 2025-01-20 16:47:56 +01:00
Sara Arjona 2f3cffd815 Merge branch 'MDL-83468-main' of https://github.com/andrewnicols/moodle 2025-01-20 16:47:56 +01:00
Andrew Nicols eb2301a76b MDL-83468 cachestore_redis: Skip tests if Redis extension not available 2025-01-20 16:47:56 +01:00
Andrew Nicols 175cfd8f1e MDL-83468 tool_policy: Test tidyups 2025-01-20 16:47:56 +01:00
Andrew Nicols d4314266f1 MDL-83468 phpunit: Remove erroneously located test
This has been in two testsuites since 2014.
2025-01-20 16:47:56 +01:00
Andrew Nicols 41249b16f3 MDL-83468 phpunit: Test names are not optional 2025-01-20 16:47:56 +01:00
Andrew Nicols 3b1118cfd4 MDL-83468 phpunit: assertEqualsCanonicalizing now compares keys too
In previous versions of PHPUnit, the `assertEqualsCanonicalizing()`
method compared values only, ignoring the keys entirely. Since PHPUnit
10 the method now checks keys where they are non-numeric.

To solve this we call `array_values()`.
2025-01-20 16:47:56 +01:00
Andrew Nicols bdb5309dfb MDL-83468 phpunit: Replace uses of setMethods with onlyMethods
The PHPUnit MockBuilder `setMethods()` method has been deprecated in
favour of the more accurately defined `onlyMethods()` method.

This was previously addressed in MDL-71036 for Moodle 3.11, but these
cases have crept back in.
2025-01-20 16:47:56 +01:00
Andrew Nicols 9536ca738e MDL-83468 phpunit: Do not throw exception in mocked destructor
PHPUnit removed the ability to mock a destructor, but our lock system
throws an exception if a lock has not been explicitly released in its
destructor.

Normally thhis is fine because the lock is released, and if not then we
want to know about it.

However, where we are mocking the lock, we do not actually obtain the
lock, and we may expect the test to fail.

This change moves the release and notification to a separate, reusable
public method, which is called from the destructor. This allows it to be
mocked at the appropriate time.
2025-01-20 16:47:56 +01:00
Andrew Nicols 118b3ccf46 MDL-83468 phpunit: Skip tests instead of data providers
Empty data providers are invalid and do not represent the state of the
test. Rather than commenting them out we should instead skip them.
2025-01-20 16:47:55 +01:00
Andrew Nicols cb63d29ace MDL-83468 phpunit: Add back deprecated assertTag 2025-01-20 16:47:55 +01:00
Andrew Nicols bd01a91ae0 MDL-83468 phpunit: Add back getName to testcase
In some situations we use the name of the test so we must keep
`getName()` for backwards compatibility.
2025-01-20 16:47:55 +01:00
Andrew Nicols d6aabc8b2e MDL-83468 phpunit: Add back isInIsolation to testcase
This helper has been deprecated in PHPUnit, but we still need it in
Moodle.
2025-01-20 16:47:55 +01:00
Andrew Nicols bc75ef8bbc MDL-83468 phpunit: Fix various tests after phpunit 10 2025-01-20 16:47:55 +01:00
Andrew Nicols b95a8c6ecc MDL-83468 phpunit: Fix data provider param names 2025-01-20 16:47:55 +01:00
Andrew Nicols b8591dc935 MDL-83468 phpunit: Dependency bump 2025-01-20 16:47:55 +01:00
Conn Warwicker d67a106192 MDL-79281 core_question: Remove 'deleteall' param from edit page.
This removes the setting of the 'deleteall' param to every link
on the question edit page and inserts it into the url based
on if we actually want to delete all versions or not.
2025-01-20 14:22:20 +00:00
Mark Johnson ed51c39314 MDL-82237 mod_quiz: Include all filters in "See questions" link
The "See questions" link for random questions was still using the old
format the filter conditions, so was only applying the category filter
on the list of questions displayed. This means that if a tag filter (or
any other filter) was set on the random question set, it was not applied
when viewing the list of questions.

This change takes all the filter conditions applied in random question's
slot and passes them to the question bank in the "See questions" link.
2025-01-20 12:47:22 +00:00
danghieu1407 4d3c8595cf MDL-83850 report_progress: Add 'Completed' heading in the csv 2025-01-20 18:51:31 +07:00
Conn Warwicker 5107b5bcfc MDL-84193 qbank_bulkmove: Disable bulkmove on history page.
This removes the option to bulk move questions from the question
history page.
2025-01-20 10:07:41 +00:00
Julien Boulen 5aa26f647c MDL-83617 gradereport_grader: Fix URL encoding
When changing the number of grades per page, the redirect url was encoded twice.
2025-01-20 10:45:32 +01:00
Simey Lameze c1182446d9 MDL-84249 behat: remove unnecessary javascript tag
This commit also make the repeated scenario names unique.
2025-01-20 13:59:29 +08:00
Kevin Percy 8d3a5d997e MDL-70610 core: Fix typos (alot -> a lot, acces -> access, etc) 2025-01-20 12:01:30 +08:00
Jun Pataleta 7a48612bc2 Merge branch 'MDL-83750-main' of https://github.com/raortegar/moodle 2025-01-20 10:24:09 +08:00
Jun Pataleta 5feb937e87 Merge branch 'MDL-84202' of https://github.com/paulholden/moodle 2025-01-20 10:02:06 +08:00
Jun Pataleta 7941e283d2 Merge branch 'MDL-83814-main' of https://github.com/andrewnicols/moodle 2025-01-20 09:58:03 +08:00
Jonathon Fowler f6a5bd32bc MDL-79819 assignfeedback_editpdf: safely handle bad jpg->pdf conversion 2025-01-20 08:41:19 +10:00
Paul Holden 176adce393 MDL-84242 badges: consistent report capability checks to enable badge.
These now match the corresponding external service methods which are
subsequently called via AJAX (814753e5).
2025-01-17 15:07:55 +00:00
Paul Holden 90b2370f34 MDL-79162 badges: final removal of deprecated table renderer methods. 2025-01-17 14:42:00 +00:00
Paul Holden 7c97d8549c MDL-84214 mod_bigbluebuttonbn: fix default presentation file serving. 2025-01-17 12:26:57 +00:00
Paul Holden 77ecfb747d MDL-83152 mod_glossary: fix chronological sorting of pending entries. 2025-01-17 10:25:58 +00:00
Mark Johnson 9600744e44 MDL-83861 qbank: Add question idnumber filter 2025-01-17 10:23:10 +00:00
Conn Warwicker 91a196d961 MDL-83877 mod_quiz: Fix quiz question overflow CSS issues. 2025-01-17 10:00:38 +00:00
Jun Pataleta cd56cc1f5a Merge branch 'MDL-83341-main' of https://github.com/HuongNV13/moodle 2025-01-17 17:01:02 +08:00
Luca Bösch 47921f801f MDL-84138 mod_qbank: Add title to the page. 2025-01-17 09:48:17 +01:00
Huong Nguyen d9b97aaeaf MDL-81043 gradereport_grader: Improve gradereport_grader/collapse
- This will helps `nodesUpdate` handle asynchronous updates better
 - This also helps to fix Random Behat failure
2025-01-17 15:12:27 +07:00
Luca Bösch bad3de017c MDL-84111 qtype_ddimageortext: keep item type, file and text together. 2025-01-17 08:53:38 +01:00
Matt Porritt eabd31c5d3 MDL-82977 AI: Provider instances
Add a new admin setting that allows rendering of a template.
This means templated content can be rendered as part of
admin forms, giving more flexibility to forms and their actions.
2025-01-17 16:13:05 +11:00
Jun Pataleta 3000896f20 MDL-81780 tool_task: Minor ad-hoc tasks renderer refinements
* Ensure new strings are added alphabetically
* Fix rendering of delete button's aria-label
* Remove unused `deletetask` lang string
2025-01-17 11:53:58 +08:00
Jun Pataleta 0b8526e6d3 Merge branch 'MDL-81780-Adhoc-task-improvements' of https://github.com/waleedhassan5/moodle 2025-01-17 11:53:28 +08:00
AMOS bot ad36375460 Automatically generated installer lang files 2025-01-17 00:08:00 +00:00
Paul Holden 2bb8b013e7 MDL-83751 check: remove non-functional result class method. 2025-01-16 17:40:01 +00:00
Paul Holden ffcd39af1f MDL-83579 tiny_media: pass filepicker accepted types to dropzone. 2025-01-16 17:37:49 +00:00
Huong Nguyen a2653cc924 weekly release 5.0dev 2025-01-16 23:46:14 +07:00
Huong Nguyen 1b5e5d0870 NOBUG: Add upgrade notes 2025-01-16 23:46:14 +07:00
Huong Nguyen 6089e52765 Merge branch 'install_main' of https://git.in.moodle.com/amosbot/moodle-install 2025-01-16 23:45:55 +07:00
waleedhassan c0572a0423 MDL-81780 tool_task : Adhoc task improvements
Added fail delay column in the adhock task table on the admin page,
Added a new column for a delete action for the adhoc tasks on and
Wrote delete_adhoctask.php for delete functionality of adhoc tasks.
Wrote behat test for the delete functionality. Also there was a
logical error in the previous code where it was checking if the task
is due or not and it was just showing Never or ASAP instead of
actual time so fixed that as well.
2025-01-16 12:16:04 +00:00
Conn Warwicker 86d37cd476 MDL-84191 qbank_viewquestiontext: Add filter for question text.
This covers both question text and general feedback text.
2025-01-16 09:17:32 +00:00
Paul Holden a743f4cf83 MDL-84226 user: add report entity filter for user picture presence. 2025-01-16 08:11:49 +00:00
Jun Pataleta 4a2e2086a4 Merge branch 'MDL-80468-factorpage-m' of https://github.com/bwalkerl/moodle 2025-01-16 12:25:44 +08:00
David Woloszyn 1afbe03ec8 MDL-82944 message: Notify user about unsent messages 2025-01-16 13:46:21 +11:00
Jun Pataleta 3cd1c53182 Merge branch 'MDL-83826-main' of https://github.com/lameze/moodle 2025-01-16 10:21:58 +08:00
Conn Warwicker ea26351c78 MDL-82772 mod_quiz: Update context when random question is updated. 2025-01-15 13:15:52 +00:00
Jun Pataleta d0a31f104a Merge branch 'MDL-83172-main' of https://github.com/meirzamoodle/moodle 2025-01-15 17:02:12 +08:00
Laurent David b0c19ef4a8 MDL-81790 report_log: Log report page per activities
* When clicking on the More / Logs menu in an activity we
should stay on the activity page and not go on the course
report log
2025-01-15 09:41:08 +01:00
Sara Arjona e46858963c Merge branch 'MDL-83995' of https://github.com/paulholden/moodle 2025-01-15 08:26:51 +01:00
Angelia Dela Cruz 0745d3416b MDL-83826 core_admin: Behat coverage for plugins overview for admins 2025-01-15 14:02:28 +08:00
Huong Nguyen 7dbf73a4df Merge branch 'MDL-83673-main' of https://github.com/ferranrecio/moodle 2025-01-15 09:28:36 +07:00
Paul Holden d6168aa267 MDL-84205 mod_assign: allow automatic reopen method to admin defaults.
This option was added in b7e6a176 to the module form, but without the
ability for the admin to set as the default value.
2025-01-14 14:02:15 +00:00
Sara Arjona 7c9bfaa0f0 Merge branch 'MDL-84072' of https://github.com/paulholden/moodle 2025-01-14 14:43:47 +01:00
Sara Arjona 8d429bc55b Merge branch 'MDL-82866-main' of https://github.com/lameze/moodle 2025-01-14 14:22:20 +01:00
Simey Lameze fc5c0ad3e5 MDL-82866 behat: deprecate the old lp step and class 2025-01-14 19:20:00 +08:00
Sara Arjona 95b434cb4a Merge branch 'MDL-83630' of https://github.com/paulholden/moodle 2025-01-14 11:53:24 +01:00
Paul Holden bf73278f39 MDL-84202 customfield_number: add number instance to report testing. 2025-01-14 10:18:36 +00:00
Sara Arjona ca9e99cf07 Merge branch 'MDL-83183' of https://github.com/paulholden/moodle 2025-01-14 10:59:11 +01:00
meirzamoodle d0d481171b MDL-83172 environment: Fix undefined array key error 2025-01-14 16:12:00 +07:00
Sara Arjona 1627aa8e71 Merge branch 'MDL-83527-main-v02' of https://github.com/ferranrecio/moodle 2025-01-14 09:38:54 +01:00
Sara Arjona ec68d42f82 Merge branch 'MDL-83561-main' of https://github.com/laurentdavid/moodle 2025-01-14 08:42:42 +01:00
Sara Arjona 7f114bb370 Merge branch 'MDL-83214-main' of https://github.com/aanabit/moodle 2025-01-14 08:26:57 +01:00
Jun Pataleta 6ae2ce20c7 Merge branch 'MDL-84117' of https://github.com/cwarwicker/moodle 2025-01-14 14:30:50 +08:00
Jun Pataleta c76785cd9c Merge branch 'MDL-84124-main' of https://github.com/andrewnicols/moodle 2025-01-14 11:12:20 +08:00
Huong Nguyen 61911e21d1 Merge branch 'MDL-83969-main' of https://github.com/davewoloszyn/moodle 2025-01-14 09:10:01 +07:00
Huong Nguyen 8676e44d0e Merge branch 'MDL-83831-master' of https://github.com/NashTechOpenUniversity/moodle 2025-01-14 09:00:55 +07:00
AMOS bot 98cfbda088 Automatically generated installer lang files 2025-01-14 00:07:45 +00:00
Paul Holden d24b3b0049 MDL-84129 reportbuilder: improve handling of alternate name fields.
It's possible the first returned field contains a null value, while
subsequent fields may be non-null - in this case we should still
populate the fullname in column callback.
2025-01-13 16:03:23 +00:00
Pedro Jordao 121ac52570 MDL-78365 libraries: Truncate ChartJs labels to avoid display issues
If the chart label is too large, it is breaking the display, so we will
add ellipsis to the label and display the full text in the tooltip.
2025-01-13 11:26:13 -03:00
ferran 3474d4a241 MDL-83527 mod_qbank: migrate cm action menu to output class 2025-01-13 14:49:46 +01:00
ferran 3a8172a26a MDL-83527 core_courseformat: refactor course editor action menus
As part of the course format cleanup epic, all course editor action menu
output classes needs to be refactored to be more mantainable and
reusable. Also, it added notes for the final deprecation of many lines
of code in Moodle 6.0.
2025-01-13 14:49:46 +01:00
raortegar 84359a693c MDL-83750 core_form: Fix deprecated preg_replace in form 2025-01-13 14:14:49 +01:00
Daniel Neis Araujo 500b1e74bb MDL-82601 scorm: score not being stored when force complete is used 2025-01-13 09:56:07 -03:00
meirzamoodle c26cc0e005 MDL-83172 dml: Remove Oracle from LMS 2025-01-13 17:11:55 +07:00
Jun Pataleta 1873c97ceb Merge branch 'MDL-84141-main' of https://github.com/lucaboesch/moodle 2025-01-13 15:53:39 +08:00
Jun Pataleta 17e8daecbc Merge branch 'MDL-83832-master' of https://github.com/NashTechOpenUniversity/moodle 2025-01-13 15:50:39 +08:00
Jun Pataleta d76dc40565 Merge branch 'MDL-83968-main' of https://github.com/andrewnicols/moodle 2025-01-13 15:29:31 +08:00
Jun Pataleta 845313144c Merge branch 'MDL-83933-main' of https://github.com/sarjona/moodle 2025-01-13 15:25:13 +08:00
Andrew Nicols fd010644bc MDL-83968 core: Update uses of router test classes 2025-01-13 14:16:50 +08:00
Andrew Nicols 189bf3074f MDL-83968 core: Move router test classes to correct locations 2025-01-13 14:16:49 +08:00
AMOS bot 242c49137f Automatically generated installer lang files 2025-01-13 00:07:52 +00:00
Andrew Nicols eb68c4036a MDL-83814 core: Bump Node to latest LTS 2025-01-12 20:57:44 +08:00
Conn Warwicker 99f59d4883 MDL-84117 qbank_history: Fix missing javascript for bulk actions. 2025-01-10 16:10:11 +00:00
Benjamin Walker 7894138e3c MDL-80468 tool_mfa: Allow loading factor defined externalpages correctly 2025-01-10 21:14:44 +10:00
Simey Lameze b530641819 MDL-82866 behat: add required entities and fix failures
This commit also fix some typos and misaligned pipes around the
changed steps.

Signed-off-by: Simey Lameze <simey@moodle.com>
2025-01-10 15:07:37 +08:00
Andrew Nicols c145a65b61 MDL-84152 tests: Remove extraneous / in external file URL generation 2025-01-10 14:47:50 +08:00
Angelia Dela Cruz 5ccdd4399e MDL-82866 tool: Replaced tool_lp generators with standard generators 2025-01-10 14:30:00 +08:00
Paul Holden 9c0cb6aeea MDL-84148 tool_lp: clarify the primary save action of scales dialogue. 2025-01-09 18:26:43 +00:00
Paul Holden 8279f7ed6d MDL-84147 tool_lp: fix disturbingly large icon relocating competency. 2025-01-09 17:53:52 +00:00
Sara Arjona 28846e71c7 MDL-83933 theme: Update default icon width
While updating the custom icons for import/export, it was observed
that the default width for FontAwesome icons is 20px instead of
the previously assumed 16px.
This commit adjusts the default width accordingly and resolves several
styles where the width was incorrectly applied.
Additionally, the default icon color has been updated to ensure consistent
appearance across both SVG icons and FontAwesome icons.
2025-01-09 17:33:35 +01:00
Luca Bösch e5b1650013 MDL-84141 mod_qbank: filter name and qbank on recently viewed. 2025-01-09 17:23:48 +01:00
Sara Arjona 6ab62a98cd MDL-83933 pix: Switch import/export icons 2025-01-09 17:15:51 +01:00
Paul Holden efa8446ab3 MDL-83645 grade: fix text formatting in external grading form method. 2025-01-09 14:51:56 +00:00
Sara Arjona f4f166695c weekly release 5.0dev 2025-01-09 15:21:35 +01:00
Sara Arjona 36b966eaf2 NOBUG: Add upgrade notes 2025-01-09 15:21:35 +01:00
Sara Arjona 2830e3f0e7 Merge branch 'install_main' of https://git.in.moodle.com/amosbot/moodle-install 2025-01-09 15:21:25 +01:00
Paul Holden c3b800c1c3 MDL-84135 completion: correct entity table name to match schema. 2025-01-09 10:53:06 +00:00
Paul Holden 3947e72ea6 MDL-84135 reportbuilder: support deprecated entity table replacement.
This expands upon original work in d73a827a and allows for an entity
to define replacements for deprecated table names. The previous format
defining only the deprecated table names themselves is also supported.
2025-01-09 10:49:43 +00:00
meirzamoodle 31887ff87a MDL-84095 tiny_recordrtc: Shows error toast for failures 2025-01-09 15:14:26 +07:00
Jun Pataleta 204916e434 MDL-73909 core_message: Update external services declaration 2025-01-09 12:21:26 +08:00
Jun Pataleta 6e7e323520 Merge branch 'MDL-73909-main' of https://github.com/raortegar/moodle 2025-01-09 12:20:59 +08:00
Huong Nguyen 59b7514f6e Merge branch 'MDL-83737' of https://github.com/pedrojordao/moodle 2025-01-09 10:34:44 +07:00
Huong Nguyen 421f46969b Merge branch 'MDL-77185-diskfreespace' of https://github.com/leonstr/moodle 2025-01-09 10:12:52 +07:00
hieuvu a6e4638752 MDL-82542 qbank_managecategories: Add new user preferences
Keep the checkbox to show questions from subcategories as a user preference.
2025-01-09 09:21:19 +07:00
Jun Pataleta c3e4f4af89 Merge branch 'MDL-82769_main' of https://github.com/cwarwicker/moodle 2025-01-09 10:16:23 +08:00
Huong Nguyen 5253a59c5b Merge branch 'MDL-84080_main' of https://github.com/marxjohnson/moodle 2025-01-09 09:05:12 +07:00
AMOS bot 3b842ff31b Automatically generated installer lang files 2025-01-09 00:10:08 +00:00
Andrew Nicols 1f05f680cd MDL-84124 cache: Purge Redis cache between tests 2025-01-09 07:59:36 +08:00
Pedro Jordao a33ed897b1 MDL-83737 libraries: Upgrade ChartJS to version 4.4.7. 2025-01-08 13:33:17 -03:00
Paul Holden d4546f66a0 MDL-83995 mod_glossary: support export/import of entry trusted text. 2025-01-08 13:44:14 +00:00
Sara Arjona 208ea091f0 Merge branch 'MDL-83725-main' of https://github.com/ferranrecio/moodle 2025-01-08 13:46:36 +01:00
Sara Arjona 84ce028a9c Merge branch 'MDL-51119-fix' of https://github.com/sarjona/moodle 2025-01-08 13:40:50 +01:00
Sara Arjona e6099ce75b MDL-51119 glossary: Fix behat failures with classic 2025-01-08 13:33:36 +01:00
ferran 41acfca9a8 MDL-83725 theme: dynamic activity icons colors
Now themes can change the activity purpose colors using only the
$activity-icon-XXXX-bg scss variables. The filter is not computed using
a sass mixin intead of a custom filter.
2025-01-08 11:02:42 +01:00
Mark Johnson 5478e8b4ca MDL-84080 question: Prevent overly-long qbank names
When a question bank is created by the system, it's name may be created
by combining a course of category name with a language string. If the
course name is already near the limit for its database field, the
resulting question bank name may be too long for that field, and cause
an error.

This implements a function for generating question bank names which will
trim string parameters down until the resulting name is below the
allowed length. It also implements some validation to prevent
manually-created banks with names that are too long.
2025-01-08 09:53:50 +00:00
Huong Nguyen 499f5afe95 Merge branch 'MDL-83506-main' of https://github.com/andrewnicols/moodle 2025-01-08 15:39:36 +07:00
meirzamoodle 533feac594 MDL-81478 tiny_recordrtc: Add webm audio support as a fallback
Co-authored-by: Djarran Cotleanu <djarrancotleanu@catalyst-au.net>
2025-01-08 13:55:02 +07:00
Jun Pataleta ad42962a9e Merge branch 'MDL-84079-kill-all' of https://github.com/brendanheywood/moodle 2025-01-08 14:36:39 +08:00
Khoa Nguyen 1af6c93336 MDL-83831 core_question: Reset columns on history page causes confusion 2025-01-08 13:32:54 +07:00
sarjona f33f4222b6 Merge branch 'MDL-83917' of https://github.com/pedrojordao/moodle 2025-01-08 07:16:22 +01:00
Huong Nguyen 6103715544 Merge branch 'MDL-84042-main' of https://github.com/HuongNV13/moodle 2025-01-08 09:44:52 +07:00
Huong Nguyen 252418ae23 Merge branch 'MDL-84008-main' of https://github.com/lucaboesch/moodle 2025-01-08 09:40:56 +07:00
Huong Nguyen 173e502dd4 Merge branch 'MDL-79122_main' of https://github.com/cwarwicker/moodle 2025-01-08 09:25:44 +07:00
Huong Nguyen 27e2c0bd81 MDL-84042 mod_assign: Notification helper tests cleanup 2025-01-08 09:18:41 +07:00
David Woloszyn 7324de2320 MDL-84042 mod_assign: Fixed notification helper submission check
mod_assign_generator now accepts a status when creating a submission.
2025-01-08 09:08:58 +07:00
Pedro Jordao e1688e7094 MDL-83917 core_completion: Create function count_modules_completed
The function returns the number of modules completed by a user and
executes a COUNT aggregate function to avoid running many queries
to obtain this information, aiming to optimize performance.

Co-authored-by: Carlos Castillo <carlos.castillo@moodle.com>
2025-01-07 22:16:46 -03:00
AMOS bot 704a21fc31 Automatically generated installer lang files 2025-01-08 00:07:49 +00:00
sarjona dc896db0c1 Merge branch 'MDL-51119-main' of https://github.com/lucaboesch/moodle 2025-01-07 18:05:42 +01:00
sarjona d597dd02ae Merge branch 'MDL-83746-main' of https://github.com/srobotta/moodle 2025-01-07 14:50:00 +01:00
Luca Bösch 9e791db25a MDL-51119 glossary: Allow multilang concepts. 2025-01-07 14:45:12 +01:00
sarjona 7a544b4631 Merge branch 'MDL-83335-main' of https://github.com/andrewnicols/moodle 2025-01-07 14:26:45 +01:00
sarjona c30a2d9f34 Merge branch 'MDL-82788-main' of https://github.com/meirzamoodle/moodle 2025-01-07 14:14:49 +01:00
Paul Holden a296bdfc5b MDL-84072 output: correct progress bar component percentage parameter.
Avoid mixing float/string types, where the decimal separator could
vary according to current locale (as per previous fix 5a1aef5a, which
was subsequently re-broken by b92886ad).
2025-01-07 13:14:26 +00:00
Jun Pataleta 77d978b1ba Merge branch 'MDL-82958-main' of https://github.com/raortegar/moodle 2025-01-07 14:07:53 +08:00
Andrew Nicols b29615a6f0 MDL-83335 core: Explicitly specify escape with fgetcsv/fputcsv
PHP 8.4 requires that a value be provided for the `$escape` parameter to
both `fgetcsv()` and `fputcsv()`.
2025-01-07 13:26:48 +08:00
Khoa Nguyen 0beaac4d29 MDL-83832 core_question: Links to question history may show blank page 2025-01-07 11:22:19 +07:00
Huong Nguyen e359491569 Merge branch 'MDL-82895-main' of https://github.com/lucaboesch/moodle 2025-01-07 09:19:07 +07:00
Conn Warwicker d647b89089 MDL-82769 question: Update legacy filters on random questions.
- Adds the "cat" field to the converted legacy filter, which was
  missing.
- Does the conversion on the editrandom.php page as this was
  throwing a warning.
2025-01-06 14:15:36 +00:00
meirzamoodle 6df2c4a2fe MDL-82788 theme_boost: Obtain the correct Tiny and Atto editor elements 2025-01-06 20:26:35 +07:00
Luca Bösch 1523da0903 MDL-84008 qtype_match: keep question and answer together. 2025-01-06 13:35:20 +01:00
Luca Bösch d805159525 MDL-84008 qtype_calculated: glue formula, tolerance, display, feedback. 2025-01-06 13:35:20 +01:00
Luca Bösch 23437ff6bb MDL-84008 qtype_multichoice: keep choice, grade and feedback together. 2025-01-06 13:35:20 +01:00
Laurent David c7fec301bc MDL-83561 format_social: Limit visible sections in social
* Only the first section is visible in social format, so we
limit the visibility of the section to the first section.
This impacts the move dialog.
* Fix PHP unit tests
2025-01-06 06:57:43 +01:00
Jun Pataleta ee14b642ac Merge branch 'MDL-83835-main' of https://github.com/raortegar/moodle 2025-01-06 13:14:49 +08:00
Luca Bösch a5d3a624e5 MDL-82895 qbank_managecategories: Correct d'n'd hover text encoding 2025-01-03 08:50:06 +01:00
Huong Nguyen ab5692acdf weekly release 5.0dev 2025-01-03 13:53:42 +07:00
Huong Nguyen 0fc12f295f NOBUG: Add upgrade notes 2025-01-03 13:53:41 +07:00
Huong Nguyen 76595b1178 NOBUG: Fixed SVG browser compatibility 2025-01-03 13:53:20 +07:00
Huong Nguyen 949f6ddb35 Merge branch 'install_main' of https://git.in.moodle.com/amosbot/moodle-install 2025-01-03 13:53:18 +07:00
Huong Nguyen 25607dc526 Merge branch 'MDL-79958-fix' of https://github.com/HuongNV13/moodle 2025-01-02 23:59:47 +07:00
Huong Nguyen e4b61e02a4 MDL-79958 factor_nosetup: Language string updates 2025-01-02 23:59:47 +07:00
Huong Nguyen a846c4a58f Merge branch 'MDL-83959' of https://github.com/paulholden/moodle 2025-01-02 23:59:46 +07:00
Brendan Heywood 7382ba057f MDL-84079 cli: Fix deprecation warning 2025-01-02 15:04:49 +11:00
Huong Nguyen c295a1fbd5 Merge branch 'MDL-83639-fix' of https://github.com/HuongNV13/moodle 2025-01-02 10:00:44 +07:00
Huong Nguyen ca55996c42 MDL-83639 pix: Re-generate icons 2025-01-02 10:00:42 +07:00
Huong Nguyen d5505e0ae2 Merge branch 'MDL-83639-main' of https://github.com/sarjona/moodle 2025-01-02 10:00:11 +07:00
Huong Nguyen 1b0ba21150 Merge branch 'MDL-82460-main' of https://github.com/sarjona/moodle 2025-01-02 09:59:45 +07:00
Huong Nguyen cec2c6f872 Merge branch 'MDL-66129-main' of https://github.com/rhell4/moodle 2025-01-02 09:59:44 +07:00
Huong Nguyen 4cde72e6ed Merge branch 'MDL-79958-behat-fix' of https://github.com/HuongNV13/moodle 2025-01-02 09:59:44 +07:00
Huong Nguyen 3f30cea3d2 MDL-79958 tool_mfa: Fix Behat failures 2025-01-02 09:59:41 +07:00
AMOS bot e9c99baf5e Automatically generated installer lang files 2025-01-01 00:08:00 +00:00
Leon Stringer de059dbfe0 MDL-77185 session: Fix undefined disk_free_space
Fix PHP fatal error "Call to undefined function
core\session\disk_free_space()" when disable_functions=disk_free_space.
Prior to PHP 8.0 this error was suppressed by '@'.

Co-authored-by: Federico Alvarez <32086536+fedealvz@users.noreply.github.com>
2024-12-31 15:34:42 +00:00
AMOS bot cce983d597 Automatically generated installer lang files 2024-12-25 00:31:54 +00:00
Huong Nguyen 2b7430431a Merge branch 'MDL-83982-master' of https://github.com/danghieu1407/moodle 2024-12-24 15:31:31 +07:00
Huong Nguyen e33a3f8bee Merge branch 'MDL-84037_main' of https://github.com/marxjohnson/moodle 2024-12-24 15:22:47 +07:00
Huong Nguyen c0c03fa2f7 Merge branch 'MDL-79958-main' of https://github.com/HuongNV13/moodle 2024-12-24 15:19:34 +07:00
David Woloszyn 24f3d5f5d5 MDL-79958 tool_mfa: String updates and added settings description 2024-12-24 15:18:40 +07:00
David Woloszyn 8d7b8f99bd MDL-79958 factor_email: Email factor is enabled by default 2024-12-24 15:17:49 +07:00
Huong Nguyen 3c9bab2f33 Merge branch 'MDL-83159-main' of https://github.com/lucaboesch/moodle 2024-12-24 09:42:00 +07:00
Huong Nguyen f6fe786a32 Merge branch 'MDL-83988-main' of https://github.com/andrewnicols/moodle 2024-12-24 09:29:21 +07:00
ferran 22935259c1 MDL-82342 core_course: deprecate old course edit webservices
Both core_course_edit_section and core_course_edit_module are not needed
anymore. All course edit actions are now executed as state actions from
core_courseformat_update_course. Also, the core_course_get_module is
fully replaced by the core_courseformat cmitem fragment (including also
any possible JS module).
2024-12-23 11:28:17 +01:00
Sara Arjona 84f561189a Merge branch 'MDL-82341-main' of https://github.com/ferranrecio/moodle 2024-12-23 11:19:57 +01:00
Sara Arjona 0a7e04a184 Merge branch 'MDL-82034-main' of https://github.com/aanabit/moodle 2024-12-23 10:04:02 +01:00
Shamim Rezaie d2e4a25a52 Merge branch 'MDL-83005-main' of https://github.com/davewoloszyn/moodle 2024-12-23 06:02:19 +11:00
AMOS bot 2e19a9f52e Automatically generated installer lang files 2024-12-22 00:08:11 +00:00
AMOS bot 6664b4a568 Automatically generated installer lang files 2024-12-21 00:07:43 +00:00
Mark Johnson 89b061a702 MDL-84037 quiz: Fix restore of shared questions
When a quiz that used shared questions was being restored without the
qbank the questions came from, if the qbank still existed on the target
site, the restored questions were being left in a category in an invalid
course context.

This changes the process so that if the original qbank does exist and
the user can access to it, we will find any references to the restored
copies of questions from that qbank, switch them to refer back to the
original qbank, then delete the category they were restored to from the
course context.

If the user does not have access to the qbank, a new one will be created
in the target course and the questions moved there, just as if the
original qbank did not exist.
2024-12-20 12:10:29 +00:00
ferran f6cfb1ebc3 MDL-83673 core_courseformat: optimize pageitem update
The course page employs a scroll spy to highlight the
relevant element in the course index. However, the
frequency of updates is excessively high. This commit add
throttling of the scroll spy and prevents the page item
state from updating if the value hasn’t changed.
2024-12-20 12:29:58 +01:00
ferran f081373156 MDL-82341 core_courseformat: migrate events for inplace editable 2024-12-20 12:22:45 +01:00
ferran 074645571b MDL-82341 core_courseformat: migrate permalink to action request 2024-12-20 12:22:45 +01:00
ferran 751dcbb4b9 MDL-82341 core_course: deprecate yui modules 2024-12-20 12:22:45 +01:00
Amaia Anabitarte f87d36d750 MDL-82034 core_course: Fix Activity chooser opening issues on behat 2024-12-20 10:31:24 +01:00
Amaia Anabitarte 4c2b9922df MDL-82034 mod_subsection: Enable mod_subsection when upgrading 2024-12-20 10:31:22 +01:00
Amaia Anabitarte 4dda4b9dd9 MDL-82034 mod_subsection: Subsection is stable and uninstallable 2024-12-20 10:29:48 +01:00
Amaia Anabitarte c406bcecc3 MDL-82034 mod_subsection: Enable by default 2024-12-20 10:29:48 +01:00
Luca Bösch 70e97830b8 MDL-83159 mod_quiz: Use format_string for course and quiz name. 2024-12-20 10:14:52 +01:00
Sara Arjona 314d41f427 MDL-83639 pix: Update custom icons
Sabina Abellán from the UX team has created the following custom icons:

- ai*:sparkles
- core:e/insert_col_after
- core:e/insert_col_before
- core:e/split_cells
- core:e/text_color
- core:i/bulk_edit
- core:i/export
- core:i/grade_partiallycorrect
- core:i/item
- core:t/completion_incomplete
- core:t/locktime
- mod_scorm:browsed
- tool_policy:level

In addition to updating these SVG files, the entries in the icon_map() have
been removed to ensure that the customized version is always used.
2024-12-20 07:40:23 +01:00
Sara Arjona c0366ffea1 MDL-82460 pix: Deprecate unused icons
While addressing MDL-82211, these icons were identified as candidates
for deprecation. After confirmation that they are no longer in use,
they can now be safely deprecated.
2024-12-20 07:39:52 +01:00
Sara Arjona de71c9b306 MDL-82460 mod_quiz: Move theme icons to the module
The quiz icons from the theme/boost/pix folder have been relocated
to mod/quiz/pix. The icons in the theme/boost/pix/mod/quiz folder
will be deprecated and replaced by those in mod/quiz/pix.
2024-12-20 07:39:51 +01:00
Sara Arjona 99d36acade MDL-82460 form: Remove adv icon from _advancedHTML
The "adv" icon was used in _advancedHTML but was not displayed anywhere,
so it has been deprecated to clean up the code.
2024-12-20 07:39:51 +01:00
Sara Arjona d9c4176432 MDL-82460 pix: Remove redundant PNG/GIF icons 2024-12-20 07:39:51 +01:00
danghieu1407 c97c9c4b9f MDL-83982 Quiz: Add grade item percentage 2024-12-20 11:40:59 +07:00
AMOS bot e1c81a85fe Automatically generated installer lang files 2024-12-20 00:07:51 +00:00
Jun Pataleta 7d6f282aef weekly release 5.0dev 2024-12-19 20:07:48 +08:00
Jun Pataleta ff30f04299 NOBUG: Add upgrade notes 2024-12-19 20:07:48 +08:00
Jun Pataleta 4b176b9ab5 Merge branch 'install_main' of https://git.in.moodle.com/amosbot/moodle-install 2024-12-19 20:07:34 +08:00
djarrancotleanu e0a254bf19 MDL-83753 cachestore_redis: Allow for configurable connection timeout 2024-12-19 14:19:19 +10:00
djarrancotleanu 9d60aae85a MDL-83753 redis: Allow for configurable max retries setting 2024-12-19 14:19:14 +10:00
Huong Nguyen 94b45207e9 Merge branch 'MDL-83516-main-2' of https://github.com/meirzamoodle/moodle 2024-12-19 11:06:23 +07:00
Jun Pataleta 77403362a8 Merge branch 'MDL-82754-main' of https://github.com/meirzamoodle/moodle 2024-12-19 12:02:53 +08:00
Huong Nguyen ba313fddd8 Merge branch 'MDL-83395-main' of https://github.com/davewoloszyn/moodle 2024-12-19 10:55:45 +07:00
Huong Nguyen 05badcdae0 Merge branch 'MDL-83940' of https://github.com/paulholden/moodle 2024-12-19 10:40:11 +07:00
Huong Nguyen 7a5fb9bd78 Merge branch 'MDL-82697' of https://github.com/paulholden/moodle 2024-12-19 10:21:08 +07:00
Huong Nguyen c66bbed355 Merge branch 'MDL-83956' of https://github.com/paulholden/moodle 2024-12-19 10:07:02 +07:00
Huong Nguyen 7befed22d0 Merge branch 'versionbump' of https://github.com/junpataleta/moodle 2024-12-19 10:03:51 +07:00
David Woloszyn 25be0c2776 MDL-83969 hub: Update text for marketing opt-in 2024-12-19 13:41:49 +11:00
Andrew Nicols 84532b7667 MDL-83705 core: Update subplugins.json relative to plugin 2024-12-19 09:03:00 +07:00
Andrew Nicols 62ad246544 Merge branch 'MDL-63802-main' of https://github.com/lucaboesch/moodle 2024-12-19 09:19:34 +08:00
David Woloszyn af7ca95b3f MDL-83395 core_ai: AI usage report 2024-12-19 10:51:43 +11:00
Jun Pataleta a8ff492a8e NOBUG: Bump the main version.php file 2024-12-19 00:00:13 +08:00
Jun Pataleta 1ff50ac088 NOBUG: Bump versions for main to the current date 2024-12-18 23:53:12 +08:00
Paul Holden 11566d8820 MDL-78706 repository: final removal of deprecated get_file_size method. 2024-12-18 11:05:07 +00:00
Paul Holden 4de4e456a4 MDL-80995 tool_mfa: final removal of deprecated renderer method. 2024-12-18 11:03:37 +00:00
Jun Pataleta e33b058910 Merge branch 'MDL-83691-main' of https://github.com/meirzamoodle/moodle 2024-12-18 13:46:38 +08:00
Jun Pataleta c3c31731de Merge branch 'MDL-84026-main' of https://github.com/andrewnicols/moodle 2024-12-18 13:24:18 +08:00
djarrancotleanu 50100d3106 MDL-83753 redis: Set connection and read timeouts to configurable value 2024-12-18 14:50:56 +10:00
meirzamoodle 508e77a208 MDL-83516 tool_mfa: Improve the factors management table 2024-12-18 10:07:13 +07:00
Huong Nguyen 359472dd35 MDL-83738 reportbuilder: Fix PHP Syntaxt error 2024-12-18 10:00:45 +07:00
Jun Pataleta 6120f12c10 Merge branch '79121-normalize-proxy-bypass-main' of https://github.com/DSI-Universite-Rennes2/moodle 2024-12-18 10:56:00 +08:00
Andrew Nicols 7020726705 MDL-84026 core: Update GitHub Funding to point to fund.moodle.org 2024-12-18 10:45:09 +08:00
Huong Nguyen eac86fb5d3 Merge branch 'MDL-83738' of https://github.com/paulholden/moodle 2024-12-18 09:37:47 +07:00
Huong Nguyen b3aa2e1743 Merge branch 'MDL-83977_main' of https://github.com/marxjohnson/moodle 2024-12-18 09:09:40 +07:00
Huong Nguyen 28cd1d99e0 Merge branch 'MDL-84000' of https://github.com/paulholden/moodle 2024-12-18 09:03:50 +07:00
Sara Arjona 0edac60cfe Merge branch 'MDL-83807-main' of https://github.com/clransom/moodle 2024-12-17 17:06:22 +01:00
Mark Johnson 131803e8cf MDL-83977 qbank: Fix migration issues for unused questions.
Previously, question categories which contained only questions with no
usages were deleted during migration to mod_qbank.

Also, contexts that contained no questions once unsused questions were
deleted were still migrated to a mod_qbank instance, which was empty.

The intention is that hidden questions with no usages should be deleted,
then any categories which are now empty should be deleted rather than
migrated. If there are no categories that contain questions left in a
context, creation of a mod_qbank to migrate those categories is not
necessary.

The unit tests did not cover the cases of categories containing only
non-hidden questions without usages, of categories containing only
unused questions with multiple hidden versions, or of empty categories
with children that were not empty.

This change now specifically checks whether a category or is children
are empty before deleting the category, rather than checking question
usage, since stale questions (hidden questions with no usage) are
already deleted before this point. It also expands the unit tests to
cover the above cases.
2024-12-17 15:44:03 +00:00
Sara Arjona f2c9419a56 Merge branch 'MDL-71472_deprecate-add_select_with_email' of https://github.com/ziegenberg/moodle 2024-12-17 13:15:54 +01:00
Sara Arjona ba98c82406 Merge branch 'MDL-81952-main' of https://github.com/srobotta/moodle 2024-12-17 13:01:44 +01:00
Lars Bonczek f128e7b916 MDL-81655 theme: Fix maintenance warning positioning 2024-12-17 13:01:31 +01:00
Jun Pataleta b0ce9d6552 Merge branch 'MDL-83377-main' of https://github.com/sh-csg/moodle 2024-12-17 19:54:03 +08:00
Jun Pataleta d7d0135ca7 Merge branch 'MDL-83593' of https://github.com/lostrogit/moodle 2024-12-17 19:32:50 +08:00
Carlos Castillo dfed85fcb2 MDL-83593 theme_boost: Fix navbar site logo link 2024-12-17 11:18:39 +01:00
Sara Arjona 65a4277f85 Merge branch 'MDL-83336-main' of https://github.com/andrewnicols/moodle 2024-12-17 10:54:29 +01:00
Paul Holden 952747912c MDL-83738 reportbuilder: allow aggregations to define calculated type.
This allows each class to define the type of data that they return,
regardless of the type of column to which they are applied. This is the
pre-cursor to work on graphing and filtering of aggregated data.

E.g. a text field that is aggregated with "count" is returning numeric
data rather than text.
2024-12-17 08:28:31 +00:00
Paul Holden 0fe0fc675c MDL-84000 reportbuilder: move testcase helper to autoloaded namespace.
Clean up some class imports while we're at it.
2024-12-17 08:19:38 +00:00
Huong Nguyen cf0d361721 Merge branch 'MDL-83119-main' of https://github.com/sammarshallou/moodle 2024-12-17 14:59:22 +07:00
Sara Arjona 3dbf243303 Merge branch 'MDL-83361' of https://github.com/paulholden/moodle 2024-12-17 08:00:16 +01:00
Sara Arjona df337ab680 Merge branch 'MDL-83696-main' of https://github.com/andelacruz/moodle 2024-12-17 07:41:45 +01:00
Huong Nguyen eb2be9fede Merge branch 'MDL-77713' of https://github.com/cwarwicker/moodle 2024-12-17 09:11:56 +07:00
Huong Nguyen fe5ce6d717 Merge branch 'MDL-83860_main' of https://github.com/marxjohnson/moodle 2024-12-17 09:06:57 +07:00
Angelia Dela Cruz 29bf0123d8 MDL-83696 core_tag: Added behat for book chapter and glossary entry tags 2024-12-17 10:04:12 +08:00
Paul Holden b0bd6907b1 MDL-83183 mod_bigbluebuttonbn: consistent order in activity index. 2024-12-16 19:38:45 +00:00
hieuvu 5dbded532a MDL-82273 core_question: Fix behat failed 2024-12-16 18:48:38 +01:00
Julien Boulen 6d38ff43b7 MDL-79121 lib: Improve the dataset for is_proxybypass_provider() 2024-12-16 15:55:58 +01:00
Julien Boulen 67d0069dad MDL-79121 lib: Normalize proxybypass value
This changes prevent the admin to define an incorrect proxybypass value.

Dropped out formats in MDL-74289 are now fixed automatically.
e.g.: "192.168." becomes "192.168.0.0/16" and ".domain.tld" becomes "*.domain.tld".
2024-12-16 15:54:52 +01:00
Mark Johnson c87cffac88 MDL-83860 qbank_viewquestionname: Add question name filter condition 2024-12-16 11:07:21 +00:00
Amaia Anabitarte e1e282a4b1 MDL-83214 core_course: Make is_delegated consistent 2024-12-16 11:07:32 +01:00
Stefan Hanauska c56efb2650 MDL-83377 repository_local: Missing options for searching 2024-12-16 06:26:58 +01:00
Huong Nguyen 5800e83c46 Merge branch 'MDL-79268-master' of https://github.com/danghieu1407/moodle 2024-12-16 10:55:03 +07:00
Huong Nguyen 3cbad54d6a Merge branch 'MDL-83859_main' of https://github.com/marxjohnson/moodle 2024-12-16 10:46:52 +07:00
Huong Nguyen adb94bf614 Merge branch 'MDL-83883_main' of https://github.com/marxjohnson/moodle 2024-12-16 10:24:44 +07:00
Huong Nguyen 860bb57497 Merge branch 'MDL-83703-main' of https://github.com/andrewnicols/moodle 2024-12-16 10:07:57 +07:00
Huong Nguyen ebc3b82b48 Merge branch 'MDL-82273-master' of https://github.com/NashTechOpenUniversity/moodle 2024-12-16 10:01:51 +07:00
Huong Nguyen bb3cda8b64 Merge branch 'MDL-75075-master' of https://github.com/NashTechOpenUniversity/moodle 2024-12-16 09:50:12 +07:00
Huong Nguyen a4abbc7fa9 Merge branch 'MDL-83493-main' of https://github.com/roland04/moodle 2024-12-16 08:59:44 +07:00
AMOS bot 0692025d41 Automatically generated installer lang files 2024-12-15 00:08:27 +00:00
Stephan Robotta 49a9803144 MDL-81952 questions: Fix warning in export of multitype 2024-12-14 13:16:19 +01:00
Conn Warwicker d9d2388965 MDL-79122 question: Correct capability check for question comments link.
This makes the rendering of the question comments count additionally
check the core moodle/comment:post capability, since this capability
is required to make comments. Previously, this was not being checked
so users could open the modal to make a comment, which was causing
a javascript error due to expected elements being missing.
2024-12-13 15:31:47 +00:00
Paul Holden e1326c2aa0 MDL-84011 repository_wikimedia: switch to JSON from API endpoint. 2024-12-13 15:12:41 +00:00
Paul Holden 812975e218 MDL-83361 reportbuilder: date aggregation for timestamp columns.
This change introduces updates to the existing aggregation API, to
allow types to define whether to group by fields of a column to which
the aggregation is applied.

The new date aggregation utilises this, to allow for creation of time
series reports, e.g. report data grouped by dates.

Co-authored-by: Daniel Neis Araujo <danielneis@gmail.com>
2024-12-13 12:36:22 +00:00
Luca Bösch 3c94afe292 MDL-63802 theme_classic: ARIA label in nav for secure layout 2024-12-13 08:21:11 +01:00
hieuvu 5e952377aa MDL-82273 core_question: get correct category for question bank view 2024-12-13 14:07:49 +07:00
danghieu1407 4eaefa2a0f MDL-79268 questions: Show version numbers in delete confirmation 2024-12-13 13:35:04 +07:00
meirzamoodle 7dac99c191 MDL-83691 core_sms: Avoid saving unnecessary data in the database 2024-12-13 10:17:05 +07:00
Huong Nguyen a97ddeb2a2 weekly release 5.0dev 2024-12-13 08:57:54 +07:00
Huong Nguyen dab6f42de4 NOBUG: Add upgrade notes 2024-12-13 08:57:53 +07:00
Huong Nguyen 15b1d05530 Merge branch 'install_main' of https://git.in.moodle.com/amosbot/moodle-install 2024-12-13 08:57:32 +07:00
sam marshall b549491bb3 MDL-83119 search_solr: Implement check on connectivity, space usage
Implements a status check which confirms that the Solr search engine
is available. Optionally, the check can also show a warning if the
index grows beyond a certain size.

As part of this change, a new API was added in search_solr\engine
to allow using http_client (Guzzle) instead of raw Curl; this makes
it easier to create mock tests in PHPunit for the new functionality.
2024-12-12 13:32:11 +00:00
Jun Pataleta df990a7c02 Merge branch 'MDL-83733-main' of https://github.com/aanabit/moodle 2024-12-12 11:50:09 +08:00
Jun Pataleta fce8ddcac8 Merge branch 'MDL-83765-main' of https://github.com/aanabit/moodle 2024-12-12 11:43:29 +08:00
Paul Holden 83dc1912dd MDL-82697 courseformat: fix exception arguments for section limit.
Co-authored-by: James C <5689414+james-cnz@users.noreply.github.com>
2024-12-11 17:46:50 +00:00
Paul Holden ded7f2e995 MDL-76566 core: final removal of pre-404 renamed class definitions. 2024-12-11 16:59:06 +00:00
Paul Holden a65a1aac9d MDL-78635 mod: final removal of deprecated libxml method wrappers. 2024-12-11 16:57:43 +00:00
Paul Holden f10d166e45 MDL-80491 communication: final removal of deprecated enrol method. 2024-12-11 16:57:16 +00:00
Andrew Nicols e89f890b3d MDL-83988 core: Hide common machine-read files 2024-12-11 23:34:55 +08:00
raortegar b014947acb MDL-82958 core_dml: Hide table details in exceptions if debug disabled 2024-12-11 12:31:29 +01:00
Katie Ransom d0e707920c MDL-83807 files: Make file_get_all_files_in_draftarea return zip files 2024-12-11 11:22:42 +00:00
Amaia Anabitarte 66bb598811 MDL-83807 h5p: Return a default valid H5P 2024-12-11 11:22:42 +00:00
Amaia Anabitarte 1d8d35a2c5 MDL-83765 core_output: deprecated functions have been removed from action_menu class. 2024-12-11 11:10:18 +01:00
Sara Arjona 1420e2fb5d Merge branch 'MDL-82457-main' of https://github.com/laurentdavid/moodle 2024-12-11 08:57:09 +01:00
Jun Pataleta 4929d6c3d1 Merge branch 'MDL-81520-main' of https://github.com/andrewnicols/moodle 2024-12-11 13:41:15 +08:00
Andrew Nicols f30cfe049d MDL-81520 mod_assign: Update tests to not extend assign_provider test 2024-12-11 12:30:24 +08:00
Andrew Nicols c2414e5a45 MDL-81520 core: Fix test finality 2024-12-11 12:30:23 +08:00
Huong Nguyen 7e497dedc4 Merge branch 'MDL-81825-main' of https://github.com/roland04/moodle 2024-12-11 09:52:51 +07:00
Brendan Heywood edea4a41af MDL-83979 repository_url: Always use the proxy for url downloads 2024-12-11 13:35:01 +11:00
AMOS bot 237ae8372e Automatically generated installer lang files 2024-12-11 00:07:50 +00:00
Mikel Martín a973ea46d7 MDL-81825 core: Replace sr_text() with visually_hidden_text()
In core renderer, replace 'sr_text' method with 'visually_hidden_text' to be
consistent with Bootstrap 5 upgrade.
2024-12-10 14:02:34 +01:00
Mikel Martín f9abc562f5 MDL-81825 theme_boost: Refactor .sr-only usages for BS5
- Add .visually-hidden to the Boostratp 5 bridge SCSS file
- Replace .sr-only occurrences with .visually-hidden
- Replace .dropzone-sr-only-focusable  with .dropzone-visually-hidden-focusable
  for consistency
2024-12-10 14:02:32 +01:00
Laurent David 34b0c5a24d MDL-82457 theme_boost: Remove styles for chat and survey
* Remove styles that were associated with the modules
2024-12-10 08:59:18 +01:00
Laurent David 6ec4617ee3 MDL-82457 tool_mobile: Remove chat and survey 2024-12-10 08:59:18 +01:00
Laurent David bdc1c81b02 MDL-82457 tool_brickfield: Remove core support for chat and survey 2024-12-10 08:59:18 +01:00
Laurent David e9bb3d1144 MDL-82457 core_presets: Remove chat and survey from presets
* Replace chat by page whenever possible
* Use Wiki when we need a module that is disabled by default.
2024-12-10 08:59:18 +01:00
Laurent David f8805b06d0 MDL-82457 core_analytics: Remove chat and survey from core 2024-12-10 08:59:18 +01:00
Laurent David 2be6563324 MDL-82457 core: Remove chat and survey dependencies
* Remove chat and survey plugins from the standard plugins
* Remove all related tables and settings from both plugins
using upgrade.
* Remove temporary admin notification (MDL-82297) and strings.
* PHP Unit:
   - Remove chat and survey as a sample module for unit testing
     replacing it with assignment module when possible (if not page).
   - Remove chat and survey from bulk update test
* Behat: Remove chat and survey behat tests
2024-12-10 08:59:18 +01:00
Laurent David 8e5ac0e34f MDL-82457 mod_chat: Remove mod_chat from Moodle 5.0 2024-12-10 08:59:18 +01:00
Laurent David 9d94ea58b6 MDL-82457 mod_survey: Remove mod survey from Moodle 5.0 2024-12-10 08:59:18 +01:00
Khoa Nguyen 9d1c481448 MDL-75075 quiz: Show question tags as non-links to avoid errors 2024-12-10 13:44:58 +07:00
Khoa Nguyen c5e4c202f5 MDL-75075 core_tag: Add an option to render tag lists without links 2024-12-10 13:44:17 +07:00
Huong Nguyen 60b98ff870 MDL-82313 mod_data: Fix illegal whitespaces 2024-12-10 09:55:27 +07:00
Huong Nguyen f9d55977fc Merge branch 'MDL-82313-main' of https://github.com/mackensen/moodle 2024-12-10 09:40:48 +07:00
Huong Nguyen 5988b6c49b Merge branch 'MDL-82886-main' of https://github.com/lucaboesch/moodle 2024-12-10 09:34:03 +07:00
Huong Nguyen 448d08d48e Merge branch 'MDL-83013-main' of https://github.com/lucaboesch/moodle 2024-12-10 09:29:08 +07:00
Huong Nguyen 158649ff5f Merge branch 'MDL-83920-main' of https://github.com/lucaboesch/moodle 2024-12-10 09:22:42 +07:00
Huong Nguyen 8da77b0aaf Merge branch 'MDL-81115_main' of https://github.com/cwarwicker/moodle 2024-12-10 09:17:54 +07:00
AMOS bot 75d1859105 Automatically generated installer lang files 2024-12-10 00:07:52 +00:00
Paul Holden 074eca0726 MDL-83959 webservice: relax retrieval of token external service info.
The report performs a `LEFT JOIN` on the external service table/entity
so we need to account for that in column callbacks and actions.

Also the shortname field is nullable, so account for that too.
2024-12-09 16:49:51 +00:00
Sara Arjona 9a482096f6 Merge branch 'MDL-83783-main' of https://github.com/aanabit/moodle 2024-12-09 16:20:30 +01:00
Sara Arjona 89769876a7 Merge branch 'MDL-75750-main' of https://github.com/aanabit/moodle 2024-12-09 16:18:38 +01:00
Sara Arjona c5906cddfc Merge branch 'MDL-81841-main' of https://github.com/laurentdavid/moodle 2024-12-09 16:16:24 +01:00
Sara Arjona 2ee90a9c84 Merge branch 'MDL-83456-main' of https://github.com/roland04/moodle 2024-12-09 16:10:13 +01:00
Frederik Milling Pytlick 02ec5c8587 MDL-82440 assignfeedback_editpdf: Force ghostscript pdf's to pdf v1.4 2024-12-09 15:50:03 +01:00
Charles Fulton fb3349e821 MDL-82313 mod_data: refactor field icon display 2024-12-09 09:30:59 -05:00
Andrew Gosali 7c712b0cdd MDL-79907 core_grades: removal on grade_structure's deprecated methods
- grade_structure::get_element_type_string()
- grade_structure::get_element_header()
- grade_structure::get_element_icon()
- grade_structure::get_activity_link()
2024-12-09 21:02:31 +07:00
Mark Johnson bfb057001b MDL-83883 qbank_editquestion: Add status filter condition
This allows users to filter questions based on whether a question is in
"draft" or "ready" status.
2024-12-09 11:12:21 +00:00
raortegar 01f13bee19 MDL-73909 core_message: Admin notification preferences saved on toggle 2024-12-09 10:31:04 +01:00
Paul Holden 45a6986aa4 MDL-83956 course: update spacer icon for category management tree.
Prior to fd676913 the manage course categories tree element used
the 'i/empty' icon as a fixed width spacer (fa-fw). However this
icon is now shown as a square, which looks out of place here.

Change to a different icon that maps to the same fixed width spacer
in order to restore the previous behaviour.
2024-12-09 08:55:26 +00:00
Laurent David fea59f3ae1 MDL-81841 mod_data: Add spacing bottom of preset page
* The action menu is going under the sticky footer on
the preset page. Adding more space helps to display the
entire menu instead of cutting it off.
2024-12-09 08:12:04 +01:00
Huong Nguyen 2963073f55 MDL-83341 repository_onedrive: Fix download and create controlled link
Onedrive direct download URL does not accept authorization headers,
it will just return the `unauthenticated` content with 401 HTTP Code

We switched to a safer way. We fetch the item information and use
a new curl instance (without authorization headers)
to fetch the content via direct download URL
2024-12-09 09:29:34 +07:00
James C 9e48341722 MDL-83306 book: Book section return fix 2024-12-09 10:19:24 +13:00
AMOS bot 568f9ccb5a Automatically generated installer lang files 2024-12-08 00:08:08 +00:00
Conn Warwicker c5633888e2 MDL-81115 question: Question bank tag filter to use all available tags.
This makes the tags which are available to the user on the question
bank tag filter, use tags from all available contexts, not just
that course. This means they can filter by tags assigned to system
questions as well, for example.
2024-12-06 14:16:09 +00:00
Paul Holden c255206768 MDL-83940 comment: fix collapse/loading icons in comment container. 2024-12-06 10:48:46 +00:00
Paul Holden 382a8d6292 MDL-81185 enrol_self: final removal of deprecated email contact method. 2024-12-06 09:19:37 +00:00
Paul Holden 804038e2ed MDL-78780 grade: final removal of deprecated lang string methods. 2024-12-06 09:18:45 +00:00
meirzamoodle 58b9be52d5 MDL-82754 core: Improve treatStringsInContent() performance with arrays
Co-authored-by: JeanSotoriva <jeansotoriva@gmail.com>
2024-12-06 14:45:19 +07:00
Luca Bösch 7fbf8140a6 MDL-83920 core_question: Error when trying exporting 0 questions. 2024-12-06 08:36:12 +01:00
Luca Bösch 3c3b4b5573 MDL-83013 core_question: put "Delete" action last in menu. 2024-12-05 18:35:24 +01:00
Luca Bösch c7feeb94be MDL-82886 qbank_managecategories: put "Delete" action last in menu. 2024-12-05 18:35:23 +01:00
Huong Nguyen 0888a6d324 weekly release 5.0dev 2024-12-05 22:32:27 +07:00
Huong Nguyen 49c975b918 NOBUG: Add upgrade notes 2024-12-05 22:32:26 +07:00
Mikel Martín 55a9c190c0 MDL-83456 mod_scorm: Revert FA6 updated status icons 2024-12-05 14:27:56 +01:00
Mark Johnson e46a0c33ac MDL-83859 qbank_viewquestiontype: Add type filter
This adds a new question bank filter for filtering by question type. The
filter can be applied with one or multiple question types, and can
either include or exclude the selected types.
2024-12-05 11:30:32 +00:00
Mark Johnson 1613a98102 MDL-83859 core_question: Update filter condition API
This corrects some definitions of the methods in the base condition
class to make things more obvious to developers implementing new
filters.

Previously if your filter wanted to use the default
`core/datafilter/filtertype` class, you still had to implement
`get_filter_class` to return `null`, since it was declared as abstract.
This change defines it as returning `null` by default, so this is no
longer necessary.

Also, this removes the default definitions for `get_condition_key` and
`build_query_from_functions`, and declares them abstract. Currently it
is necessary to override these to implement a functional filter so it
doesn't make sense to have a useless default definition.

This will not cause any breakages with existing filters. All filters
must already be defining the methods that are now abstract, otherwise
they will not function. Any filter that is now overriding
`get_filter_class` to return `null` will continue to work as before,
even though this is no longer necessary.
2024-12-05 11:30:32 +00:00
Conn Warwicker 3f36e1ca6a MDL-77713 question: List question versions with most recent on top.
This makes the display of question versions consistent between
question preview and when users are building quizzes.
2024-12-05 11:17:06 +00:00
Huong Nguyen 0f7c41d664 MDL-83921 competency: Update unit tests with latest changes 2024-12-05 18:36:49 +08:00
Huong Nguyen 17552d4785 MDL-83606 Question bank: Fix PHPUnit failures 2024-12-05 15:31:57 +07:00
Huong Nguyen bef45583cc MDL-82379 core_user: Move email change token to user private access key 2024-12-05 13:37:56 +08:00
Huong Nguyen 488da643c6 Merge branch 'MDL-83606-master' of https://github.com/NashTechOpenUniversity/moodle 2024-12-05 12:09:24 +07:00
Huong Nguyen 376a4b5f76 Merge branch 'MDL-83345' of https://github.com/paulholden/moodle 2024-12-05 12:05:12 +07:00
Huong Nguyen 8a72d26558 Merge branch 'MDL-83396-main' of https://github.com/davewoloszyn/moodle 2024-12-05 11:54:48 +07:00
Huong Nguyen 076a519d97 Merge branch 'MDL-83852-web-install-fatal-error' of https://github.com/x-iy/moodle 2024-12-05 11:49:11 +07:00
Huong Nguyen 3da0c8952e Merge branch 'MDL-83836-main' of https://github.com/davewoloszyn/moodle 2024-12-05 11:43:56 +07:00
Jun Pataleta e9cded4559 Merge branch 'MDL-83727-master' of https://github.com/NashTechOpenUniversity/moodle 2024-12-05 12:35:52 +08:00
Huong Nguyen b07c5f48cb Merge branch 'MDL-83641' of https://github.com/paulholden/moodle 2024-12-05 11:29:03 +07:00
Huong Nguyen a89646e0fa MDL-83921 competency: Bump version 2024-12-05 11:19:53 +07:00
Michael Hawkins 950a829a31 MDL-83921 competency: Match web service capability check with page check 2024-12-05 11:18:58 +07:00
Jun Pataleta 51be71b1bf Merge branch 'MDL-83823-main-enfix' of https://github.com/mudrd8mz/moodle 2024-12-05 11:48:34 +08:00
Huong Nguyen 199fd9a02b Merge branch 'MDL-83584-main' of https://github.com/sammarshallou/moodle 2024-12-05 10:12:24 +07:00
Huong Nguyen 3eb413343e Merge branch 'MDL-83223-main' of https://github.com/meirzamoodle/moodle 2024-12-05 10:08:19 +07:00
Huong Nguyen 016ae54134 MDL-82963 Tag: Improve validation for users tagged with sepecified tag 2024-12-05 11:01:56 +08:00
Jun Pataleta eb67b65de1 Merge branch 'MDL-83844' of https://github.com/paulholden/moodle 2024-12-05 10:35:28 +08:00
Huong Nguyen 67bd6ce06a Merge branch 'MDL-82946-main-fix' of https://github.com/lameze/moodle 2024-12-05 09:00:34 +07:00
Jun Pataleta feeca026ae Merge branch 'MDL-83710' of https://github.com/paulholden/moodle 2024-12-05 09:55:03 +08:00
Simey Lameze 80a26532bb MDL-82946 behat: use existing questions to validate bulk delete
This commit also changes the question names to something more logical
2024-12-05 08:27:23 +08:00
Mark Johnson e347532af4 MDL-83883 datafilter: Fix initial state of binary filter
When a filter is added to a page after the initial page load, no
initialValues are passed, so we need to set a default value.
2024-12-04 11:21:01 +00:00
David Woloszyn c54de57c74 MDL-83005 tool_usertours: Fixed animating scroll on Boost tours 2024-12-04 16:12:30 +11:00
David Woloszyn 0d8707517d MDL-83005 tool_usertours: Correct user tour highlighting bugs
This way of highlighting user tour content removes the need to
juggle z-index. It also resolves the problem of cloning the target
element into a separate container and breaking styling.
2024-12-04 15:44:39 +11:00
meirzamoodle 48e652623d MDL-83223 core: Use capture with addEventListener to intercept events
The issue is that Bootstrap’s dropdown component likely stops
event propagation after the first click to manage its own
dropdown behavior. This prevents your click event handler from
running on subsequent clicks.

To fix this, we can handle the event before Bootstrap’s code stops
the propagation by using capture option with addEventListener.
2024-12-04 10:35:36 +07:00
Laurent David 5f4c55e16a MDL-82757 mod_data: Improve group access handling
* Improved handling of group access to ensure correct visibility of records.
2024-12-04 02:44:22 +00:00
Jun Pataleta cf5e586d03 MDL-61316 core: Fix session gc unit tests 2024-12-04 02:44:22 +00:00
meirzamoodle cacf7546b9 MDL-61316 core: Removed 5x multiplier from guest session expiration 2024-12-04 02:44:22 +00:00
Mark Johnson d0fb2d5cac MDL-83357 question: Fix filter cleaning in page links 2024-12-04 02:44:22 +00:00
Mark Johnson c5f78e9bd3 MDL-83357 question: Additional cleaning of filter params 2024-12-04 02:44:22 +00:00
Huong Nguyen 0ff35dc282 Merge branch 'MDL-82946-main' of https://github.com/lameze/moodle 2024-12-04 09:39:10 +07:00
David Mudrák ed0fffef85 MDL-83823 lang: Use the fixed strings in tests, too. 2024-12-03 20:08:25 +01:00
Paul Holden 8c1a4093b3 MDL-83345 reportbuilder: upgrade step to migrate existing filter data. 2024-12-03 16:42:36 +00:00
Paul Holden f7e0e8cd96 MDL-83345 reportbuilder: migrate filter storage from user preferences.
Use a dedicated persistent table/model for storage of a users' report
filter configuration.
2024-12-03 16:42:35 +00:00
Sara Arjona 6a545b5fcc Merge branch 'MDL-80303-main' of https://github.com/roland04/moodle 2024-12-03 15:55:50 +01:00
Sara Arjona 4023acad31 Merge branch 'MDL-83718-fix' of https://github.com/paulholden/moodle 2024-12-03 15:46:54 +01:00
Paul Holden e76d99f29d MDL-83718 reportbuilder: use aliased user fullname sort fields.
This is extending work started in 8f32e623 that removed duplicate
fields when sorting user fullname columns (to ensure compatibility
across supported DBs).

We must now refer to these sorted fields by their alias in order to
ensure they continue working when processed from the report table.

Co-authored-by: David Carrillo <davidmc@moodle.com>
2024-12-03 13:17:41 +00:00
Mikel Martín c74102a3c6 MDL-80303 theme_boost: Clean and reorder course SCSS
- Reorder SCSS blocks to improve readability
- Clean comment style to improve readability
- Refactor some SCSS blocks
- Move some styles from core.scss to course.scss
2024-12-03 10:57:29 +01:00
Mikel Martín 195b14b3d9 MDL-80303 theme_boost: Remove unused/unneded course SCSS
- Remove unused/unneeded styles in course.scss
- The .activity-wrapper class and its related SCSS styles are not
needed anymore after MDL-77863 was integrated.
2024-12-03 10:57:29 +01:00
Mikel Martín c0ba1ddfcb MDL-80303 theme_boost: Move non course related SCSS to other files
- Move course management SCSS to a new coursemanagement.scss file
- Move course listings and summary SCSS to a new courselisting.scss file
- Move block related SCSS to blocks.scss
- Move classic specific styles to theme_classic
- Move non-course specific styles to core.scss file
2024-12-03 10:57:27 +01:00
Sara Arjona 8126ba71df Merge branch 'MDL-83718-fix' of https://github.com/paulholden/moodle 2024-12-03 09:14:20 +01:00
Paul Holden 321e04d630 MDL-83718 tag: consistently sort "flagged" report entity column.
It contains only a calculated boolean field, and should be sorted
as such.
2024-12-03 07:27:22 +00:00
Angelia Dela Cruz 192fc6882e MDL-82946 qbank: Behat coverage for questions bulk actions 2024-12-03 11:36:49 +08:00
Huong Nguyen c0f349c034 Merge branch 'MDL-83718' of https://github.com/paulholden/moodle 2024-12-03 10:05:33 +07:00
Huong Nguyen bc89603638 Merge branch 'MDL-82913' of https://github.com/paulholden/moodle 2024-12-03 09:45:32 +07:00
Huong Nguyen 3ffaddc136 Merge branch 'MDL-83128' of https://github.com/paulholden/moodle 2024-12-03 09:31:54 +07:00
david adamson 7d82486029 MDL-83852 core: Fix web install fatal error 2024-12-03 13:07:32 +11:00
Helen Foster 9f1293b10d MDL-83823 lang: Import fixed English strings (en_fix) 2024-12-02 21:25:01 +01:00
Sara Arjona 9601ff6697 Merge branch 'MDL-83686' of https://github.com/paulholden/moodle 2024-12-02 13:52:19 +01:00
raortegar a2099bffcc MDL-83835 lib: PEAR - passing null to str functions is deprecated 2024-12-02 13:10:09 +01:00
Sara Arjona 8e2c8c4c8e Merge branch 'MDL-82949-main' of https://github.com/lucaboesch/moodle 2024-12-02 12:01:06 +01:00
Paul Holden e1df293131 MDL-83641 cohort: allow 'includes' option be specified in form element. 2024-12-02 10:58:44 +00:00
Paul Holden e9210ec9fc MDL-83844 mod_scorm: avoid SQL reserved words retrieving SCO timing. 2024-12-02 10:45:57 +00:00
Sara Arjona 64d96c1264 Merge branch 'MDL-81827-main' of https://github.com/HuongNV13/moodle 2024-12-02 10:27:58 +01:00
Paul Holden 430020f3ba MDL-83128 blocks: consistently style/align block list icons. 2024-12-02 09:25:16 +00:00
Jun Pataleta 62387aee48 Merge branch 'MDL-83648' of https://github.com/timhunt/moodle 2024-12-02 17:24:26 +08:00
Huong Nguyen 285ed82c69 MDL-81827 quizaccess: Fix Behat failure 2024-12-02 15:46:13 +07:00
Huong Nguyen 193a191dd9 Merge branch 'MDL-82947-main' of https://github.com/lucaboesch/moodle 2024-12-02 14:31:54 +07:00
Huong Nguyen ee90c26aa5 Merge branch 'MDL-83711-main' of https://github.com/lucaboesch/moodle 2024-12-02 14:19:19 +07:00
Shamim Rezaie 17201694ef Merge branch 'MDL-75610_main' of https://github.com/marxjohnson/moodle 2024-12-02 15:23:23 +11:00
Huong Nguyen a3036eb2ff Merge branch 'MDL-83778-master' of https://github.com/NashTechOpenUniversity/moodle 2024-12-02 10:44:06 +07:00
Huong Nguyen 6e6cd2a2f5 Merge branch 'MDL-83670-main' of https://github.com/sammarshallou/moodle 2024-12-02 10:30:33 +07:00
Huong Nguyen 386004dbee Merge branch 'MDL-82657_main' of https://github.com/marxjohnson/moodle 2024-12-02 10:17:06 +07:00
Huong Nguyen e56abd2369 Merge branch 'MDL-81827-main' of https://github.com/lucaboesch/moodle 2024-12-02 10:03:37 +07:00
Andrew Nicols a29e4820ae MDL-83703 tool_mfa: Remove legacy subplugins.php 2024-12-02 10:08:28 +08:00
Andrew Nicols 6ab400b733 MDL-83703 core: Remove support for subplugins.php 2024-12-02 10:08:28 +08:00
Andrew Nicols 426471917f MDL-83703 core: Add unit tests for subplugin fetching 2024-12-02 10:08:28 +08:00
Tim Hunt 50b1b5eea1 MDL-83648 javascript dialogues: fix responsive behaviour
visibilityChanged in the dialogue base class does important things.
Therefore if ajaxException and exception also want to do something
else in response to the visibleChange event, it should use a
different method name, rather than a name that collides with the
base class method.
2024-11-29 16:05:46 +00:00
Luca Bösch d4c979ad1e MDL-81827 quizaccess: Open Download Safe Exam Browser in new tab. 2024-11-29 15:49:03 +01:00
Luca Bösch 201c4c6c58 MDL-82949 qbank_managecategories: better vertical distinction of title. 2024-11-29 14:26:13 +01:00
Luca Bösch 2240ad6487 MDL-82947 qbank_managecategories: Hover color for category management. 2024-11-29 14:26:11 +01:00
Luca Bösch 3a1159fb78 MDL-83711 quiz: Quiz navigation profile pic not linking in secure mode 2024-11-29 14:25:45 +01:00
Sara Arjona a798b1db39 weekly release 5.0dev 2024-11-29 12:36:42 +01:00
Sara Arjona 44a0f48a30 NOBUG: Add upgrade notes 2024-11-29 12:36:42 +01:00
Sara Arjona 7895cc4c0a NOBUG: Fixed SVG browser compatibility 2024-11-29 12:36:28 +01:00
David Woloszyn a2f4f5bd3b MDL-83396 core_ai: Create AI policy acceptance report 2024-11-29 17:40:06 +11:00
Khoa Nguyen fd2946fa59 MDL-83727 question: Core question privacy provider misuses lazy-loading 2024-11-29 10:54:11 +07:00
Jun Pataleta 5a70440260 MDL-83470 composer: Require behat/gherkin 4.9.0 for now
`behat/gherkin` 4.10.0 introduces a breaking change where backslashes
in feature files need to be escaped. We need to pin the Behat version
to 4.9.0 for now and raise a separate issue to update to the later
versions once we've fixed the affected feature files and communicated
this change to the community.

More details:
https://github.com/Behat/Gherkin/releases/tag/v4.10.0
2024-11-29 10:39:12 +07:00
Khoa Nguyen 93289564e0 MDL-83778 quiz: prevent page caching for quiz view page 2024-11-28 16:40:06 +07:00
Jun Pataleta bce4b7fa2c MDL-83470 environment: Put back Oracle support for now
Even though Oracle support is planned to be dropped for 5.0, the
actual issue that drops it (MDL-83172) has not yet landed. So, it's
better to keep this in environment.xml for now and defer its removal
from environment.xml in MDL-83172.
2024-11-28 16:04:31 +07:00
Jun Pataleta 719fea2752 MDL-83470 gha: Bump min PHP version to 8.2 for web installer workflow 2024-11-28 14:01:00 +07:00
Jun Pataleta 5d5cedc8ff Merge branch 'MDL-82475' of https://github.com/paulholden/moodle 2024-11-28 13:23:55 +08:00
Huong Nguyen 711e58f1a4 Merge branch 'MDL-83776' of https://github.com/paulholden/moodle 2024-11-28 13:23:55 +08:00
Jun Pataleta 053a0b367b Merge branch 'MDL-83614' of https://github.com/paulholden/moodle 2024-11-28 13:23:55 +08:00
Huong Nguyen 7fd11604da Merge branch 'MDL-81821-main' of https://github.com/roland04/moodle 2024-11-28 13:23:54 +08:00
Huong Nguyen c77fb0e6e0 Merge branch 'MDL-83473_main' of https://github.com/dasistwas/moodle 2024-11-28 13:23:54 +08:00
Huong Nguyen 4d530b5048 Merge branch 'MDL-81745-main' of https://github.com/roland04/moodle 2024-11-28 13:23:54 +08:00
Jun Pataleta f491ab0ef8 Merge branch 'MDL-83759-main' of https://github.com/roland04/moodle 2024-11-28 13:23:54 +08:00
Huong Nguyen 3db0bb1436 Merge branch 'MDL-83811-main' of https://github.com/junpataleta/moodle 2024-11-28 13:23:53 +08:00
Jun Pataleta 0069dde1d9 Merge branch 'MDL-83412-main' of https://github.com/junpataleta/moodle 2024-11-28 13:23:53 +08:00
Huong Nguyen d08c982135 Merge branch 'MDL-83470-main' of https://github.com/junpataleta/moodle 2024-11-28 13:23:53 +08:00
Jun Pataleta 17e8952015 MDL-83470 core: Bump versions in moodle_minimum_php_version_is_met() 2024-11-28 13:23:50 +08:00
David Woloszyn 9e85964f96 MDL-83836 aiplacement_courseassist: Fixed JS selectors 2024-11-28 16:02:24 +11:00
Jun Pataleta 6bd4b3fd68 MDL-83412 core: Coding style fixes 2024-11-28 11:54:31 +08:00
Andrew Nicols 7cb2b0ca40 MDL-83412 calendartype_gregorian: Use core_date
Update timestamp_to_date_string to use core_date.
2024-11-28 11:47:30 +08:00
Andrew Nicols 941d0df29e MDL-83412 core: Use LLL/LLLL for standalone Month names
We currently use MMM and MMMM which mean 'month in year', however in
some locales this is context-specific and should only be used in
conjunction with a day, for example "10 October 2024".

LLL and LLLL are for "stand-alone on the in year" and should be used
when a month is used without a day.
2024-11-28 11:46:35 +08:00
Huong Nguyen 376bcbe79f Merge branch 'MDL-63264' of https://github.com/paulholden/moodle 2024-11-28 10:45:51 +07:00
Huong Nguyen 9bfa5c2b65 Merge branch 'MDL-83653' of https://github.com/timhunt/moodle 2024-11-28 10:21:07 +07:00
Huong Nguyen d3a0d5c6cb Merge branch 'MDL-82931-main' of https://github.com/PhMemmel/moodle 2024-11-28 09:43:30 +07:00
Huong Nguyen 2dd2c3db17 Merge branch 'MDL-83661-main' of https://github.com/ferranrecio/moodle 2024-11-28 09:38:49 +07:00
Huong Nguyen 282f9dc2ad Merge branch 'MDL-82932-main' of https://github.com/PhMemmel/moodle 2024-11-28 09:27:45 +07:00
Huong Nguyen 8da8b20ff9 Merge branch 'MDL-83643-main' of https://github.com/lameze/moodle 2024-11-28 09:19:52 +07:00
Jun Pataleta e84d95ed67 MDL-83811 dml: Make expected debugging message less specific
* Plus minor fixes for better unit test assertions
2024-11-28 10:03:42 +08:00
Jun Pataleta 134ae0ba57 Merge branch 'MDL-83211-main' of https://github.com/sammarshallou/moodle 2024-11-27 23:28:38 +08:00
Jun Pataleta 57529b2920 Merge branch 'MDL-83788-main' of https://github.com/andrewnicols/moodle 2024-11-27 16:19:22 +08:00
Huong Nguyen 8fc0a38df0 Merge branch 'mdl-72526_main' of https://github.com/james-cnz/moodle 2024-11-27 10:02:15 +07:00
Huong Nguyen f27ba19f25 Merge branch 'MDL-83658-main' of https://github.com/praxisdigital/moodle 2024-11-27 09:50:48 +07:00
Jun Pataleta 4e22073a9b MDL-83811 core: Make sure to trim leading backslashes too for Windows 2024-11-27 10:36:46 +08:00
Jun Pataleta 03729748d1 MDL-83470 core: Remove upgrade steps from 4.1 2024-11-27 10:27:09 +08:00
Andrew Nicols 324182ccef MDL-83788 mod_glossary: Correct assertions for assertArrayHasKey 2024-11-27 13:26:01 +11:00
Philipp Memmel ec338a7339 MDL-83822 core_session: Init redis connection in get_session_by_sid 2024-11-26 17:24:40 +01:00
Mikel Martín 636ab0fba9 MDL-81821 theme_boost: Refactor font utility classes for BS5 2024-11-26 15:17:30 +01:00
Mark Johnson 58efdf8871 MDL-82657 qbank_managecategories: Check "includesubcategories" on reload
The "includesubcategories" parameter is passed in the URL as lowercase,
but the Javascript was looking for "includeSubcategories" in camel case.
This meant it was always being set as false (unchecked) even when the
URL said it was true.

This fixes the casing in the Javascript, and adds a behat test to
confirm the fix.
2024-11-26 13:37:57 +00:00
Shamim Rezaie 1132cfcf44 Merge branch 'MDL-77957-main-test2' of https://github.com/rezaies/moodle 2024-11-26 20:56:42 +11:00
Bastian Schmidt-Kuhl a202f297f1 MDL-77957 theme_boost: Fix drawer not closing on mobile if it has focus 2024-11-26 20:15:52 +11:00
jacob.viertel@wunderbyte.at 1773124a97 MDL-83473 course: hooks api for external courses 2024-11-26 09:11:45 +01:00
Jun Pataleta b234e013bb Merge branch 'MDL-82584-main-fix' of https://github.com/HuongNV13/moodle 2024-11-26 15:13:21 +08:00
Huong Nguyen 40630e1bd2 Merge branch 'mdl-82762_main_wip' of https://github.com/james-cnz/moodle 2024-11-26 12:10:17 +07:00
Huong Nguyen ea4b1f8e7b MDL-82584 mod_workshop: Correct DB select fields
We cannot use the `DISTINCT` CLOB fields on Oracle.
Instead of selecting all the fields, we just need
to select the needed fields only
2024-11-26 11:34:33 +07:00
Khoa Nguyen 69fc9048bf MDL-83606 Question bank: Delete questions to fit one page causes errors. 2024-11-26 11:15:56 +07:00
Simon Adams 231d110dd9 MDL-71378 mod_quiz: Fix GROUP BY statement in SQL 2024-11-26 14:34:06 +11:00
Jun Pataleta d3cabadd38 MDL-83811 gha: Replace redis-64 with redis 5.0 2024-11-26 01:06:13 +08:00
Amaia Anabitarte bf4f930773 MDL-83783 core_course: Make activity chooser button ids unique 2024-11-25 14:37:46 +01:00
Mikel Martín b873a345bb MDL-83759 theme_boost: Fix user navigation items height 2024-11-25 12:08:10 +01:00
Amaia Anabitarte 48df296967 MDL-83733 blocks: 'Activity' non used selectors had been deleted 2024-11-25 11:55:39 +01:00
Paul Holden 891548cac9 MDL-83630 theme_boost: vertically align submenu navigation icon. 2024-11-25 09:49:26 +00:00
Huong Nguyen f29f2ad5d3 Merge branch 'MDL-82584-main' of https://github.com/cwarwicker/moodle 2024-11-25 16:05:06 +07:00
Shamim Rezaie f72b4938ce MDL-71378 mod_qbank: fix version number 2024-11-25 18:38:59 +11:00
Huong Nguyen 86c1eaa4ef Merge branch 'MDL-83786-main' of https://github.com/andrewnicols/moodle 2024-11-25 14:34:25 +07:00
Shamim Rezaie 0af9b5ca7e Merge branch 'MDL-71378_main' of https://github.com/SimonasAdams/moodle 2024-11-25 18:21:18 +11:00
Huong Nguyen 6ef15493a2 Merge branch 'MDL-83704-main' of https://github.com/andrewnicols/moodle 2024-11-25 10:15:21 +07:00
Huong Nguyen a4f859f5ea Merge branch 'MDL-82351-main-v02' of https://github.com/ferranrecio/moodle 2024-11-25 09:28:40 +07:00
ferran 694edcf76b MDL-82351 core_courseformat: fix social format phpunits 2024-11-22 17:20:55 +01:00
ferranrecio ab5b390a77 MDL-82351 block_social_activities: migrate to reactive course editor
This commit integrate and clean the social activities block to use the
standard course format outputs and the course editor modules. The code
is similar to the one used in the site_main_menu block and cleanup most
of the ancient code.
2024-11-22 17:20:55 +01:00
ferranrecio 8be3db6de2 MDL-82351 format_social: migrate to reactive course editor
The commit adds all the necessary methods to allow social format to use
the course editor. The code is similar to the one used in the frontpage
format. The commit does not include the migration of the
social_activities blocks.
2024-11-22 17:20:55 +01:00
ferranrecio fa1296a7a4 MDL-82351 courseformat: allow blocks to use the course editor
Some formats like the social need the blocks and drawers to access the
course editor. However, the include_course_ajax was called after the
main page structure is created and produces some errors, especially in
behat. Now include_course_ajax is called before the page header.
2024-11-22 17:20:55 +01:00
ferranrecio 4053bd2139 MDL-82351 course: fix course_ajax_enabled function
The course_ajax_enabled was using a course_format_ajax_support which
does not initialize the course format with the correct parameters.
Having a global function to get something the format base format can
provide is unnecessary and redudant, for this reason the function is now
deprecated.
2024-11-22 17:20:55 +01:00
Paul Holden 466f6e88b5 MDL-63264 enrol: retrieve additional welcome message contact data.
The `maildisplay` field is required to determine from whom to send
the welcome message.

Co-authored-by: Zak Risha <zjrisha@gmail.com>
2024-11-22 16:17:39 +00:00
Paul Holden dfcbfde2bb MDL-83614 javascript: apply icon class to legacy lightbox spinner. 2024-11-22 16:13:24 +00:00
ferran 121f4ad5c5 MDL-83661 core_courseformat: fix drop file modal
When the user drags and drops a file into a course section that can
create more than one type of activity (for example a zip file) the modal
had repeated form elements ids. Now every radio option has its own id.
2024-11-22 17:12:13 +01:00
Jun Pataleta 9c206d1e72 MDL-83470 core: Bump version in phpcs.xml.dist 2024-11-22 23:48:22 +08:00
Jun Pataleta dd4c741d76 MDL-83470 core: Update composer.json 2024-11-22 23:48:22 +08:00
Jun Pataleta 70b1f1d61f MDL-83470 gha: Bump versions to the required values
For 5.0:
- Minimum PHP version is bumped to 8.2
- Minimum MySQL version is bumped to 8.4
- Minimum PostgreSQL version is bumped to 14
2024-11-22 23:48:22 +08:00
Jun Pataleta 18a3c3d186 MDL-83470 core: Define environment requirements for Moodle 5.0 2024-11-22 23:48:21 +08:00
Paul Holden a0ef4bb8fe MDL-82913 reportbuilder: simplify select filter for limited options.
Where the select filter contains upto two items (making it a binary
choice), then we can simplify the filter form elements to always
assume: "Equal to [ Option 1 | Option 2 ]".
2024-11-22 15:38:11 +00:00
Jun Pataleta 505a85eb9a weekly release 5.0dev 2024-11-22 22:26:25 +08:00
Jun Pataleta 1a85875c34 NOBUG: Add upgrade notes 2024-11-22 22:26:24 +08:00
Andrew Nicols 4d961d28ff Merge branch 'MDL-83551-main' of https://github.com/lameze/moodle 2024-11-22 10:50:48 +07:00
Andrew Nicols 305952533d Merge branch 'MDL-82589' of https://github.com/paulholden/moodle 2024-11-22 10:50:48 +07:00
Huong Nguyen 32a31cbb3f Merge branch 'MDL-83529-main' of https://github.com/sammarshallou/moodle 2024-11-22 10:50:48 +07:00
Andrew Nicols a3db27263a Merge branch 'MDL-82450' of https://github.com/paulholden/moodle 2024-11-22 10:50:48 +07:00
Huong Nguyen 1d35129541 Merge branch 'MDL-83747-main' of https://github.com/junpataleta/moodle 2024-11-22 10:50:48 +07:00
Huong Nguyen c2af08a68b Merge branch 'MDL-83048' of https://github.com/timhunt/moodle 2024-11-22 10:50:47 +07:00
Huong Nguyen 443871d320 Merge branch 'MDL-80430' of https://github.com/paulholden/moodle 2024-11-22 10:50:47 +07:00
Andrew Nicols 9781d5f392 MDL-83786 navigation: Correct incorrect paren in navfilter
This condition was checking whether navgfilter was true, and the
stringfilter was also true.

In most cases the condition will have actually worked correctly, albeit
by fluke. For users upgrading or otherwise missing the navfilter
configuration this condition led to warnings.
2024-11-22 08:36:17 +08:00
Paul Holden b48cb6861e MDL-83776 customfield_text: correct link field URL encoding. 2024-11-21 09:02:33 +00:00
Andrew Nicols 0ec23aca48 Merge branch 'MDL-83501-url-encode-nginx-paths' of https://github.com/rajandangi/moodle 2024-11-21 11:47:59 +08:00
Jun Pataleta 94b89dd9d4 Merge branch 'MDL-83290-main' of https://github.com/meirzamoodle/moodle 2024-11-21 11:46:08 +08:00
Andrew Nicols d2c5ae9f75 Merge branch 'MDL-83226' of https://github.com/paulholden/moodle 2024-11-21 11:44:32 +08:00
Jun Pataleta e5a241a02c Merge branch 'MDL-71257-main' of https://github.com/junpataleta/moodle 2024-11-21 11:33:32 +08:00
David Woloszyn 2be5e7e18d MDL-71257 dml: Rename master/slave to primary/replica 2024-11-21 11:17:51 +08:00
Andrew Nicols 3d24572e55 Merge branch 'MDL-83391-main' of https://github.com/cwarwicker/moodle 2024-11-21 10:51:52 +08:00
Philipp Memmel 5de5498807 MDL-82931 mod_data: Harden parsing of content format 2024-11-20 21:21:06 +01:00
Amaia Anabitarte 4b66547881 MDL-75750 theme: Round login frame in small viewport 2024-11-20 16:14:50 +01:00
Conn Warwicker 5dc79c468d MDL-82584 mod_workshop: Refactor DB queries
Refactor workshop participant queries to improve performance.

This commit refactors how the authors/reviewers selectors are done in
mod_workshop. Previously this was trying to do all the work within SQL
so querying user roles and capabilities, with massive UNIONS for each
group on the course, which on big courses lead to SQL thousands of
lines long which broke the page, or took 5+ minutes to load.

This has been refactored to try and query only what is required
and then do capability checks within code instead of SQL.
2024-11-20 15:04:35 +00:00
Paul Holden 2770dd65f1 Merge branch 'MDL-83570-main-fix' of https://github.com/junpataleta/moodle into main 2024-11-20 12:28:49 +00:00
Jun Pataleta 7f122657cf MDL-83570 tiny_recordrtc: Use the correct upgrade_plugin_savepoint()
And move the release upgrade line comment before the upgrade step.
2024-11-20 18:06:32 +08:00
Stephan Robotta 38c2b2ed20 MDL-83746 navigation: check host and path for active flag in custom menu 2024-11-20 10:42:22 +01:00
Huong Nguyen 3b2311a4c3 Merge branch 'MDL-83570-main' of https://github.com/meirzamoodle/moodle 2024-11-20 16:10:57 +07:00
Jun Pataleta d5190768cb Merge branch 'MDL-72077-ro-debug' of https://github.com/catalyst/moodle 2024-11-20 15:24:47 +08:00
Frederik Milling Pytlick 2e3660811e MDL-83658 core: Fix reactive debug tool logging
Fixed issue where the reactive debug panel does not log a transaction,
if the events fired are exactly the same as the previous ones.
2024-11-20 08:14:16 +01:00
meirzamoodle 392ed9c627 MDL-83570 tiny_recordrtc: Turn the audio bitrate input to Select field
The current code may have a bug. If users set the audio bit rate to
a non-supported value, such as 1000,
Firefox will display an error in the console,
while Chrome will create the recorded audio file successfully,
but it will have no sound. I tested this on Ubuntu 24.04.

The minimum bit rate threshold varies depending on the audio format.
During my tests with Firefox version 131.0.3, which uses
the audio/Ogg format, I found that the minimum supported value
is 24000. In Chrome 129.0.6668.70, which uses the audio/MP4 format,
the minimum supported value is 2400.

Due to these differences, I decided to change the input from
a text field to a select field, offering options that support both
Ogg and MP4 audio formats.

The database conversion for the old value has been provided in
the lib/db/upgrade.php. The script will find the closest match to
the current data and update it accordingly.
2024-11-20 09:59:14 +07:00
Huong Nguyen 68fd46d625 Merge branch 'MDL-83513-main' of https://github.com/roland04/moodle 2024-11-20 09:00:27 +07:00
Paul Holden 02186de904 MDL-83718 reportbuilder: use window count method to get table data.
Use the new "counted recordset" DML API from 42664ee49a to obtain
the raw table data for reports. For those databases with defined
support for count window functions, this should give a performance
benefit by combining the count and main query into one request.
2024-11-19 18:07:04 +00:00
Mikel Martín 57cbb227cf MDL-83493 theme_boost: Fix popover triggering
Popovers were not being closed when clicking elsewhere resulting in
multiple popovers open at the same time that cannot be closed. That
was happening because the trigger for popovers was set to "focus" and
"click" at the same time. This patch removes the "click" as trigger.
Also, adds the click event listener to show the popover and avoid the
problem described in MDL-82570, that caused this regression.
2024-11-19 15:23:14 +01:00
Mikel Martín 801f8cc246 MDL-81745 mod_feedback: Refactor editor drag and drop
- Remove YUI drag and drop.
- Add new 'mod_feedback\external\questions\reorder' web service.
- Use SortableList JS component to refactor drag and drop, using
  the new webservice.
- Update new SCSS styles
- Fix and create Behat scenarios
2024-11-19 14:05:12 +01:00
Jun Pataleta fcb39d60a9 Merge branch 'MDL-81521-main' of https://github.com/andrewnicols/moodle 2024-11-19 15:15:17 +08:00
Huong Nguyen c6353ef018 Merge branch 'MDL-81823-main' of https://github.com/roland04/moodle 2024-11-19 10:28:33 +07:00
Huong Nguyen 5c7588552c Merge branch 'MDL-77065' of https://github.com/paulholden/moodle 2024-11-19 10:18:50 +07:00
Huong Nguyen 155c4bd1e8 Merge branch 'MDL-82349-main-v03' of https://github.com/ferranrecio/moodle 2024-11-19 09:51:54 +07:00
Huong Nguyen 7a9bd90e2c Merge branch 'MDL-83610' of https://github.com/marinaglancy/moodle 2024-11-19 09:27:55 +07:00
Mikel Martín 53c89cb985 MDL-81745 mod_feedback: Refactor edit amd module 2024-11-18 16:56:03 +01:00
Mikel Martín 7aee0a3aaa MDL-83513 theme_boost: Remove mediumwidth layout size 2024-11-18 16:21:49 +01:00
Jun Pataleta d88d8d902d MDL-83747 mod_data: Add accessible name for delcheck checkboxes 2024-11-18 19:38:40 +08:00
Marina Glancy 947684505e MDL-83610 behat: allow to set date fields in groups 2024-11-18 10:36:38 +00:00
Simon Adams a0cf3d2da5 MDL-71378 core_question & mod_quiz: Refactor deprecated contexts 2024-11-18 10:22:59 +00:00
Simon Adams 5955868d3d MDL-71378 mod_quiz: Add pill badge to question slot template 2024-11-18 10:22:59 +00:00
Simon Adams 291fdacfd5 MDL-71378 core_question: Only show module banks in question filters 2024-11-18 10:22:58 +00:00
Simon Adams a6c4ddada5 MDL-71378 qbank_bulkmove: refactor for moving to shared question banks 2024-11-18 10:22:58 +00:00
Simon Adams 746efe94eb MDL-71378 mod_qbank: Implement add to quiz bank sharing UI 2024-11-18 10:22:58 +00:00
meirzamoodle a0f57612ee MDL-83290 dml: Remove "ORDER BY" from the $sort 2024-11-18 16:07:57 +07:00
Jun Pataleta 198f0d26d8 Merge branch 'MDL-83502-main' of https://github.com/ferranrecio/moodle 2024-11-18 14:36:58 +08:00
Jun Pataleta 239893647a Merge branch 'MDL-70556' of https://github.com/timhunt/moodle 2024-11-18 14:31:40 +08:00
Tim Hunt 68d369917e MDL-70556 core db: change course fullname to 1333 chars
This is mainly for the benefit of multilang users.

As well as changing the database schema, it is also necessary to change
where this is inforced in PHP code (forms, web services). This was missed
when shortname was changed from 100 to 255 chars some time ago, but I have
fixed that here.

Note, I have not changed the legacy mnet code, since as far as I am aware
that is deprecated.
2024-11-15 15:28:23 +00:00
Simon Adams 966b264cf3 MDL-71378 mod_qbank: Add question bank backup/restore and refactor tests 2024-11-15 15:18:47 +00:00
Simon Adams 1db7518a7d MDL-71378 mod_qbank: Add install script to transfer question categories 2024-11-15 15:18:47 +00:00
Simon Adams 776d1e40e4 MDL-71378 mod_qbank: Add question bank management 2024-11-15 15:18:47 +00:00
Simon Adams 78d73cc9b7 MDL-71378 mod_qbank: Add initial plugin structure 2024-11-15 15:18:46 +00:00
Paul Holden 1317aee9e1 MDL-77065 reportbuilder: audience filter for the report access list. 2024-11-15 15:00:11 +00:00
Daniel Ziegenberg f3288f3c79 MDL-71472 core: Removal of site_registration_form::add_select_with_email
Signed-off-by: Daniel Ziegenberg <daniel@ziegenberg.at>
2024-11-15 12:54:30 +01:00
Paul Holden f3cd1df6e1 MDL-80430 reportbuilder: final removal of default table aliases.
They've been auto-generated for some time now, and we can make the
newer `get_default_tables` method abstract to ensure it's always
implemented.
2024-11-15 10:21:45 +00:00
sam marshall 32f7ba8cdf MDL-83211 core_search: Indexing can miss items due to race condition
Changes search indexing so that (except for test scripts) each indexing
run indexes only items up to 5 seconds ago, and the following indexing
will start from the same point. This ensures all items are indexed,
even if an item is written to the database one or two seconds after its
timecreated value.
2024-11-15 09:32:57 +00:00
sam marshall ee6251345d MDL-83529 Analytics: Upgrade can break if core module is deleted 2024-11-15 09:32:05 +00:00
Mark Johnson 9118a619c6 MDL-75610 theme: Allow the activity title in Boost theme's secure layout 2024-11-15 08:31:29 +00:00
Mark Johnson dd25891bda MDL-75610 output: Fix title display logic in activity header
The display logic for including the title in the activity header was
such that the title would only display if both the theme default and the
layout option for 'notitle' were undefined or false. It was not possible
to a theme to have 'notitle' default to true, but have a layout override
that as false to display the title.

This change re-writes the is_title_allowed method to encapsulte the new
logic, first checking if the current layout has the option set and using
that, and if not falling back to the theme default if that is set. If
neither is set, the title is displayed.

This also tweaks moodle_page::magic_get_layout_options to ensure the
theme is initialised before trying to return the layout options.
2024-11-15 08:31:29 +00:00
Jun Pataleta ef63c4cefd Merge branch 'MDL-82877' of https://github.com/paulholden/moodle 2024-11-15 13:31:22 +08:00
Andrew Nicols 5a86d3178a MDL-81521 mod_quiz: Update coding style of impacted tests 2024-11-15 12:50:56 +08:00
Andrew Nicols 9adfbcde4e MDL-81521 mod_quiz: Fix attempt walkthrough tests 2024-11-15 12:50:56 +08:00
Andrew Nicols a6acb015a3 MDL-81521 core: Update all possibly data providers to be static
Note: Some data providers could not be automatically be converted to
being static. These will be handled in a separate issue.
2024-11-15 12:50:55 +08:00
Huong Nguyen 269a8a8a1b weekly release 5.0dev 2024-11-15 09:21:08 +07:00
Huong Nguyen 093a2034b6 NOBUG: Add upgrade notes 2024-11-15 09:21:07 +07:00
Jun Pataleta 1b7b12140b Merge branch 'MDL-81285' of https://github.com/paulholden/moodle 2024-11-14 12:18:26 +08:00
Huong Nguyen 6c14a8aa86 MDL-81509 tasks: Fix upgrade note 2024-11-14 11:08:57 +07:00
Huong Nguyen 94568bc5e0 Merge branch 'MDL-81509_final-deprecation-of-task_base-is_blocking-and-set_blocking' of https://github.com/ziegenberg/moodle 2024-11-14 11:07:45 +07:00
Jun Pataleta 90af0ec61e Merge branch 'MDL-80926-main' of https://github.com/lameze/moodle 2024-11-14 12:06:42 +08:00
Huong Nguyen cbc68e95ad MDL-78890 gradereport_grader: Fix upgrade note 2024-11-14 11:04:13 +07:00
Huong Nguyen 123e29201c Merge branch 'MDL-78890-main' of https://github.com/mihailges/moodle 2024-11-14 11:03:10 +07:00
Huong Nguyen 1c67e24a85 Merge branch 'MDL-83095_final-deprecation-of-functions-in-block_tag_youtube' of https://github.com/ziegenberg/moodle 2024-11-14 10:45:47 +07:00
Huong Nguyen 29d873b02c Merge branch 'MDL-79165-main' of https://github.com/daledavies/moodle 2024-11-14 10:22:53 +07:00
Dale Davies 47ba008504 MDL-79165 cachestore_file: Add igbinary serializer option
AMOS BEGIN
 CPY [serializer_igbinary,cachestore_redis],[serializer_igbinary,cachestore_file]
 CPY [serializer_php,cachestore_redis],[serializer_php,cachestore_file]
AMOS END
2024-11-14 10:22:37 +07:00
Jun Pataleta 55fbe740ab Merge branch 'MDL-74836_main' of https://github.com/marxjohnson/moodle 2024-11-14 10:46:00 +08:00
Huong Nguyen 43784b0d98 Merge branch 'MDL-46739_main' of https://github.com/marxjohnson/moodle 2024-11-14 09:26:43 +07:00
James C e85338bfee MDL-82762 course: Prevent "undefined" being added to course index 2024-11-14 10:15:26 +13:00
Paul Holden 01b145a5bb MDL-83710 report_questioninstances: fix missing type query params. 2024-11-13 21:14:46 +00:00
James C e43c5eaf6b MDL-72526 course: Make course format output stuff protected, not private 2024-11-14 10:03:44 +13:00
Wiktor Wandachowicz 6f0b5dec12 MDL-83048 mod_quiz: Fixed use of grade_out_of and plugin renderer 2024-11-13 16:58:10 +00:00
Huong Nguyen a97260296d Merge branch 'MDL-83185-main' of https://github.com/laurentdavid/moodle 2024-11-13 14:25:42 +07:00
Paul Holden a42e43ba55 MDL-82450 tool_task: format fail delay in scheduled tasks list. 2024-11-13 07:13:29 +00:00
Huong Nguyen 86908e8aa9 Merge branch 'MDL-80689' of https://github.com/timhunt/moodle 2024-11-13 14:00:25 +07:00
Andrew Nicols 6f3ef90044 MDL-83704 core: Stop loading subplugins files to uninstall
The list of subplugin types was loaded from the json/php subplugins
file, but then the actual list of subplugins was loaded from the cache
in the component, rendering any benefit of using the source json/php as
pointless.
2024-11-13 10:23:27 +08:00
Andrew Nicols 0a4c1aab08 MDL-83704 core: Stop loading subplugins files to fetch caps
This information is heavily cached in the component class. This should
be used wherever possible rather than checking on disk.
2024-11-13 10:14:38 +08:00
Simey Lameze b3d718147d MDL-83643 behat: make manual completion scenario names unique 2024-11-13 07:16:20 +08:00
Simey Lameze 9a3abb9148 MDL-83551 behat: make duplicated scenario names unique 2024-11-13 06:48:44 +08:00
Philipp Imhof 988640a2c7 MDL-83697 core: allow safe, proprietary CSS values 2024-11-12 13:53:00 +01:00
ferran b0683da877 MDL-82349 core_courseformat: new get_generic_section_name method
The string "sectionname" was an unnecessary coupling between
formats and other plugins. Now the generic name for a section
should be obtained using $format->get_generic_section_name.
This allow formats to use an alternative string for nameing
sections. This is especially important for rare formats like
the frontpage one that does not have a plugin lang file.
2024-11-12 12:22:25 +01:00
ferranrecio 0d04567882 MDL-82349 course: fix guest access to course 2024-11-12 12:21:55 +01:00
ferranrecio cccacbdc04 MDL-82349 course: add frontpage behats 2024-11-12 12:21:55 +01:00
ferranrecio a5ba68c97f MDL-82349 block_site_main_menu: fix behats 2024-11-12 12:21:55 +01:00
ferranrecio 2f13ffcfb1 MDL-82349 courseformat: add reactivity to main menu block 2024-11-12 12:02:16 +01:00
ferranrecio c5133ddc47 MDL-82349 courseformat: add reactivity to frontpage topic 2024-11-12 12:02:16 +01:00
ferranrecio c6a9177252 MDL-82349 core_courseformat: fix home section zero name 2024-11-12 12:02:16 +01:00
Paul Holden 22667ab397 MDL-82589 task: link to task logs report from failure notification. 2024-11-11 16:47:35 +00:00
Paul Holden 949dd966d0 MDL-83686 task: restore behaviour for custom report task name column.
The linked task name column was only required for the system report
and broke aggregation/grouping when used within a custom report, so
fix that.
2024-11-11 16:07:32 +00:00
Nexterday cb13bba9b6 MDL-74836 theme: Display activity header on secure layouts 2024-11-11 15:14:03 +00:00
Laurent David fbe420fc26 MDL-83185 core_courseformat: Refresh cache on group change
* When we add users to a group (or remove them), we should refresh
the course index cache so it stays in sync with what the user
can actually see.
2024-11-11 13:17:27 +01:00
ferran 1f7faa941b MDL-83185 core_courseformat: Allow global state cache invalidation 2024-11-11 13:17:26 +01:00
Tim Hunt 8f9b57d5d3 MDL-46739 user preferences: change value column to TEXT.
Other similar columns config.value and config_plugins.value are TEXT, so
it is surprising that this column is different, and that has lead to
bugs in the past, so we should make it consistent.
2024-11-11 11:33:52 +00:00
Philipp Memmel 5cceeccca5 MDL-82932 mod_data: Fix export with userdata of deleted users 2024-11-11 12:33:35 +01:00
Jun Pataleta 5b2b63c349 Merge branch 'MDL-79679_upgrade-constant-time' of https://github.com/ziegenberg/moodle 2024-11-11 11:47:47 +08:00
Huong Nguyen 07c33f409f Merge branch 'MDL-81230_remove-deprecated-adhoc-tasks-in-BBB' of https://github.com/ziegenberg/moodle 2024-11-11 09:18:30 +07:00
Rossco Hellmans bdf5c2920f MDL-66129 course_module: include lib.php before calling _refresh_events
Before checking for and calling the module _refresh_events function in
course_module_calendar_event_update_process, the module lib.php file
needs to be included if it has not been already.
2024-11-11 08:51:39 +10:00
Tim Hunt 09aacafb9e MDL-83653 file manager: report ajax errors
This is for things like when you click on a file, and then click on
the delete button, and an error happens then. Previously that was
ignored.
2024-11-08 17:12:57 +00:00
Andrew Nicols f0c423a467 MDL-83506 editor_tiny: Disable default iframe sandboxing 2024-11-08 22:35:09 +08:00
sam marshall 3a5a441373 MDL-83670 availability_group: With hidden groups, can throw warning 2024-11-08 11:57:12 +00:00
Daniel Ziegenberg 064e809e88 MDL-83095 block_tag_youtube: Final remove of deprecated methods
Finale removal of block_tag_youtube::fetch_request() and
block_tag_youtube::render_video_list(). The functions where never meant
to be called from external, so removing them entirely.

Signed-off-by: Daniel Ziegenberg <daniel@ziegenberg.at>
2024-11-08 11:23:16 +01:00
Paul Holden fae40c06e5 MDL-81285 factor_webauthn: inform user on failed key registration. 2024-11-08 10:13:06 +00:00
Daniel Ziegenberg c14810e7d1 MDL-81509 tasks: Final deprecation of blocking tasks
Final deprecation of task_base::is_blocking and task_base::set_blocking.

Signed-off-by: Daniel Ziegenberg <daniel@ziegenberg.at>
2024-11-08 11:05:58 +01:00
Huong Nguyen 2b337b49f9 weekly release 5.0dev 2024-11-08 13:56:12 +07:00
Huong Nguyen 9e8268a28c NOBUG: Add upgrade notes 2024-11-08 13:56:10 +07:00
Huong Nguyen 5251979b01 MDL-82335 qbank_columnsortorder: Fix upgrade code coding style 2024-11-08 09:02:32 +07:00
sam marshall a1e6cc050a MDL-83584 report_log: Group filter can get list of all users in system 2024-11-07 09:38:33 +00:00
Huong Nguyen c89b3279bb MDL-82335 qbank_columnsortorder: Cleanup upgrade code 2024-11-07 13:35:01 +07:00
Huong Nguyen a25399959c Merge branch 'MDL-83619-main' of https://github.com/lameze/moodle 2024-11-07 11:05:15 +07:00
Huong Nguyen 121535d160 Merge branch 'MDL-83611-main' of https://github.com/lameze/moodle 2024-11-07 11:02:04 +07:00
Jun Pataleta 05c7d005c1 Merge branch 'MDL-72293' of https://github.com/paulholden/moodle 2024-11-07 11:59:41 +08:00
Huong Nguyen 9cda7c9706 Merge branch 'MDL-80953-main' of https://github.com/srobotta/moodle 2024-11-07 10:39:09 +07:00
Jun Pataleta 5d3ede37b4 Merge branch 'MDL-81551' of https://github.com/paulholden/moodle 2024-11-07 11:29:43 +08:00
Jun Pataleta fb0abbdfff Merge branch 'MDL-66873-main' of https://github.com/meirzamoodle/moodle 2024-11-07 11:00:11 +08:00
Huong Nguyen 5915c7d85d Merge branch 'MDL-82335' of https://github.com/AnupamaSarjoshi/moodle 2024-11-07 09:31:21 +07:00
Huong Nguyen 3fedbab7d1 Merge branch 'MDL-83316-main' of https://github.com/lameze/moodle 2024-11-07 09:26:21 +07:00
Simey Lameze 36f89fd2a9 MDL-83316 behat: remove duplicated Then from new test 2024-11-07 07:41:23 +08:00
Jun Pataleta bb39ec032b Merge branch 'mdl-83497_main' of https://github.com/james-cnz/moodle 2024-11-06 22:38:36 +08:00
sam marshall 152a37cb59 MDL-83316 Behat: New step allows system clock change 2024-11-06 13:59:09 +00:00
Anupama Sarjoshi 795fa07c3c MDL-82335 qbank_columnsortorder: Fix upgrading issue
When upgraded to Moodle 4.4 or higher, for qbank_columnsortorder
the colsize values in the config_plugins were getting incorrectly set,
resulting in errors accessing the question bank. Changes done to fix
this code and to remove the corrupted colsize value from
config_plugins table.
2024-11-06 12:58:26 +00:00
Jun Pataleta 2084b4f02d Merge branch 'MDL-76563-main' of https://github.com/roland04/moodle 2024-11-06 17:29:26 +08:00
Jun Pataleta f6b21e289b Merge branch 'MDL-83394-main' of https://github.com/davewoloszyn/moodle 2024-11-06 14:01:04 +08:00
Simey Lameze d4c91d4c9e MDL-80926 behat: fix random and improve h5p completion test 2024-11-06 13:35:55 +08:00
Jun Pataleta b7b65fe478 Merge branch 'MDL-83602-main' of https://github.com/ilyatregubov/moodle 2024-11-06 13:30:40 +08:00
David Woloszyn c4ed556f0a MDL-83394 tiny_aiplacement: Use revised prompt for alt text 2024-11-06 14:23:34 +11:00
Jun Pataleta 3f5ecfead7 Merge branch 'MDL-77270' of https://github.com/dravek/moodle 2024-11-06 11:14:37 +08:00
Mikel Martín 7ee2b0d355 MDL-81823 theme_boost: Refactor .rounded-[sm|lg] usages for BS5
- Add .rounded-1 and .rounded-3 to the Boostratp 5 bridge SCSS file
- Replace .rounded-[sm|lg] occurrences with .rounded-[1|3]
2024-11-05 14:42:14 +01:00
Stephan Robotta 333d2e48ee MDL-80953 tiny: customize allowed HTML tags and attributes 2024-11-05 12:26:19 +01:00
Simey Lameze 0a3695963e MDL-83611 behat: increase window size to avoid randoms 2024-11-05 13:22:24 +08:00
Jun Pataleta 89d9c78fca Merge branch 'MDL-78453-main' of https://github.com/meirzamoodle/moodle 2024-11-05 10:57:39 +08:00
Huong Nguyen 6e0bc459e2 Merge branch 'MDL-82088' of https://github.com/paulholden/moodle 2024-11-05 08:56:51 +07:00
david adamson b86e98eaa6 MDL-72077 dml: Readonly connection debugging 2024-11-05 08:43:23 +11:00
Paul Holden 791eefd450 MDL-82088 reportbuilder: improve filtering by report schedule data. 2024-11-04 16:22:05 +00:00
meirzamoodle 536d9ff4ee MDL-78453 tiny_aiplacement: Increase the image alt text max length 2024-11-04 22:41:40 +07:00
meirzamoodle 5e259cc587 MDL-78453 tiny_media: Increase the image alt text max length 2024-11-04 22:41:40 +07:00
Paul Holden e9f56511bc MDL-82877 customfield: pass correct instanceid for restore structure. 2024-11-04 15:32:04 +00:00
Paul Holden c60c6a5311 MDL-83226 customfield: set backup/restore configuration defaults. 2024-11-04 15:29:04 +00:00
Jun Pataleta bf18f379f7 Merge branch 'MDL-83154-main' of https://github.com/davewoloszyn/moodle 2024-11-04 16:48:39 +08:00
Huong Nguyen b4c0f9adee Merge branch 'MDL-80484_main' of https://github.com/marxjohnson/moodle 2024-11-04 15:41:48 +07:00
Huong Nguyen fd7eddefb1 Merge branch 'MDL-82824-main' of https://github.com/andrewnicols/moodle 2024-11-04 15:38:19 +07:00
Simey Lameze 4b64c0c1c2 MDL-83619 behat: enable bbb module early in the test 2024-11-04 13:17:36 +08:00
Andrew Nicols b8c3c13467 MDL-82824 core: Order the PSR4 component list 2024-11-04 11:58:47 +08:00
Andrew Nicols a8c6201dbf MDL-82824 core: Correct thirdparty entry for slim 2024-11-04 11:52:10 +08:00
Andrew Nicols 670121daa3 MDL-82824 core: Add missing composer/PSR for various libs
Add missing aws-sdk composer.json
Add missing composer/PSR4 for SimplePie
Add missing composer/PSR4 for others
Add missing composer/PSR4 for markdown
Add missing composer/PSR4 for PHP-CSS-Parser
Add missing composer/PSR4 for Mustache
Add missing composer/PSR4 for RTLCSS
Add missing composer/PSR4 for SCSSPHP
Add missing composer/PSR4 for OpenSpout
Add missing composer/PSR4 for LTI
Add missing composer/PSR4 for GeoPattern
Add missing composer/PSR4 for CFPropertylist
Add missing composer/PSR4 for ZipStream
Add missing composer/PSR4 for PSR-20
Add missing composer/PSR4 for phpxmlrpc
Add missing composer/PSR4 for WebAuthn
2024-11-04 11:52:07 +08:00
Andrew Nicols 09e4f29fbd MDL-82824 core: Add unit test to ensure completeness of Autoloader 2024-11-04 11:49:47 +08:00
Andrew Nicols 16bacf8134 MDL-82824 core: Add/correct missing autoload functions 2024-11-04 11:49:47 +08:00
Andrew Nicols 7fe199c58b MDL-82824 core: Standardise PSR-4 paths to remove trailing / 2024-11-04 11:49:47 +08:00
Andrew Nicols e918f86624 MDL-82824 core: Standardise MaxMind classes 2024-11-04 11:49:47 +08:00
Huong Nguyen d015c4c213 weekly release 5.0dev 2024-11-01 14:28:56 +07:00
Huong Nguyen 6a1feb87bd NOBUG: Add upgrade notes 2024-11-01 14:28:56 +07:00
Huong Nguyen 930f2809ef Merge branch 'install_main' of https://git.in.moodle.com/amosbot/moodle-install 2024-11-01 14:28:40 +07:00
David Woloszyn e4b39e764d MDL-83154 hub: Add model to AI usage data 2024-11-01 10:39:31 +11:00
David Woloszyn dd05af9259 MDL-83154 AI: Update privacy provider to include model 2024-11-01 10:39:31 +11:00
David Woloszyn f26c38bd20 MDL-83154 AI: Updated tests to include model response 2024-11-01 10:39:31 +11:00
David Woloszyn b7d9100445 MDL-83154 AI: Added model to the response
Not all responses will return the model used. When possible, we can
fallback to Moodle's stored config value.
2024-11-01 10:39:31 +11:00
David Woloszyn 2baf81a243 MDL-83154 AI: Add model field to ai_action_register table 2024-11-01 10:38:39 +11:00
waleedhassan 6ee711fb6c MDL-80484 mod_forum : Add a check for an empty email address
Added a check for empty email address so that if the adhoc task
for sending email notifcation to users for forum update fails
because of empty email address an exception is not thrown as
the exception was causing the the task for user with empty email
address to keep requeuing again and again after failing.

Wrote two test cases for testing if the fix has now prevented
the task for empty email address to be requeued after failing
and to test that if its still requeuing for other cases when
the adhoc task fails for some other reason in this cause we are
testing for bounce threshold.
2024-10-31 13:41:41 +00:00
Tim Hunt 7decfd7bce MDL-80689 filepicker: better reporting of incorrect file type
Before this change, file type errors were reported like system errors. Now,
they are reported in a plain dialoue, which is more like how it works for
drag-drop upload.

Also, before this, after an upload errors, you were left with a blank
filepicker dialogue. Now, the upload form is redisplayed.
2024-10-31 11:36:04 +00:00
Tim Hunt 899f9908db MDL-80689 behat: add a transformation to get dirroot 2024-10-31 11:36:03 +00:00
Tim Hunt fc96ef2937 MDL-80689 form behat: move fixture file to the expected place 2024-10-31 11:36:02 +00:00
Ilya Tregubov 50e30f8859 MDL-83602 customfield_number: Add help text for fieldtype. 2024-10-31 16:16:17 +08:00
Huong Nguyen 8b4e5e6b06 Merge branch 'MDL-82911-main-fix' of https://github.com/lameze/moodle 2024-10-31 14:14:07 +07:00
Simey Lameze 0bd7e0eebf MDL-82911 behat: change future times example to minutes 2024-10-31 14:10:46 +08:00
Huong Nguyen 84e2ca4f02 Merge branch 'MDL-82911-main' of https://github.com/andelacruz/moodle 2024-10-31 11:21:44 +07:00
Huong Nguyen 2a8a749753 Merge branch 'MDL-83414-main' of https://github.com/lameze/moodle 2024-10-31 11:21:43 +07:00
Huong Nguyen 5c9cf0955f Merge branch 'MDL-63219v3-main' of https://github.com/michael-milette/moodle 2024-10-31 11:21:43 +07:00
Huong Nguyen d3018363a9 Merge branch 'MDL-83514' of https://github.com/marinaglancy/moodle 2024-10-31 11:21:43 +07:00
Jun Pataleta 50d8a547c7 Merge branch 'MDL-76564' of https://github.com/paulholden/moodle 2024-10-31 11:21:43 +07:00
Huong Nguyen 39212e30cb Merge branch 'MDL-82989-main' of https://github.com/meirzamoodle/moodle 2024-10-31 11:21:42 +07:00
Jun Pataleta 7e63510b03 Merge branch 'MDL-82809' of https://github.com/paulholden/moodle 2024-10-31 11:21:42 +07:00
Jun Pataleta 40ea7dbde2 Merge branch 'MDL-61232-main' of https://github.com/meirzamoodle/moodle 2024-10-31 11:21:42 +07:00
Jun Pataleta 4af11fc37a Merge branch 'MDL-83202' of https://github.com/paulholden/moodle 2024-10-31 11:21:42 +07:00
Jun Pataleta 2fdd7e7931 Merge branch 'MDL-81744-main' of https://github.com/roland04/moodle 2024-10-31 11:21:41 +07:00
Jun Pataleta 4319b82bfb Merge branch 'MDL-83477-main' of https://github.com/HuongNV13/moodle 2024-10-31 11:21:41 +07:00
Jun Pataleta 2672bbadea Merge branch 'MDL-78118' of https://github.com/paulholden/moodle 2024-10-31 11:21:41 +07:00
Huong Nguyen c0e132dce9 Merge branch 'MDL-82988-main' of https://github.com/meirzamoodle/moodle 2024-10-31 11:21:41 +07:00
Huong Nguyen 5413892317 Merge branch 'MDL-82905-main' of https://github.com/laurentdavid/moodle 2024-10-31 11:21:40 +07:00
Huong Nguyen 88c39c1766 Merge branch 'MDL-82904-main' of https://github.com/laurentdavid/moodle 2024-10-31 11:21:40 +07:00
Huong Nguyen 49e299df29 Merge branch 'MDL-82775-main' of https://github.com/dpalou/moodle 2024-10-31 11:21:39 +07:00
meirzamoodle c299f69e9f MDL-61232 core: Remove process_email.php and anything related to it 2024-10-30 04:51:27 +07:00
Marina Glancy e681b5219d MDL-83514 customfield_number: add missing event observers 2024-10-29 19:43:39 +00:00
Angelia Dela Cruz 24876d591b MDL-82911 mod_bigbluebuttonbn: Behat for BBB open and close date time 2024-10-29 14:38:14 +08:00
Angelia Dela Cruz 1f4d16eb34 MDL-83414 core_grades: Behat to test custom scale display 2024-10-29 14:32:17 +08:00
AMOS bot f7bbf45904 Automatically generated installer lang files 2024-10-29 00:07:57 +00:00
meirzamoodle 0afc433b81 MDL-82989 communication_matrix: Apply helper to mock http_client 2024-10-27 15:56:22 +07:00
meirzamoodle 758f79a5af MDL-82988 general: Apply helper to get path to fixture 2024-10-27 13:46:48 +07:00
David Carrillo 73a507507f MDL-77270 reportbuilder: Add ability to duplicate custom reports 2024-10-25 07:56:04 +02:00
Huong Nguyen ec7711b9a6 weekly release 5.0dev 2024-10-25 08:35:34 +07:00
Huong Nguyen 144a9fa027 NOBUG: Add upgrade notes 2024-10-25 08:35:34 +07:00
Huong Nguyen 1ca3f89005 Merge branch 'install_main' of https://git.in.moodle.com/amosbot/moodle-install 2024-10-25 08:35:18 +07:00
Mikel Martín b379315c91 MDL-81744 mod_feedback: Improve 'Templates' page UI
- Add new actions to the table in a single action menu.
- Refactor 'usetemplate' module to allow to be called multiple
  times in the same page.
- Remove 'mode' parameter and logic from template management.
- Add a heading to template preview page.
- Add 'Actions' menu to the template preview page.
- Fix related behat scenarios.
2024-10-24 12:22:33 +02:00
Mikel Martín dbc4abab15 MDL-76563 theme: Change SCSS variable value
Change the value of the $pink SCSS colour variable so it is
colour contrast accessible on white backgrounds.
2024-10-24 12:10:02 +02:00
Jun Pataleta 4ec4bd5306 Merge branch 'MDL-82548-main' of https://github.com/roland04/moodle 2024-10-24 12:18:08 +08:00
Jun Pataleta 9f5d7823e5 Merge branch 'MDL-83423-main' of https://github.com/snake/moodle 2024-10-24 12:13:19 +08:00
Huong Nguyen 208328d6aa Merge branch 'MDL-83432' of https://github.com/paulholden/moodle 2024-10-24 10:12:39 +07:00
Huong Nguyen 9b01607b78 Merge branch 'MDL-83504' of https://github.com/marinaglancy/moodle 2024-10-24 09:44:35 +07:00
AMOS bot efc6f59a45 Automatically generated installer lang files 2024-10-24 00:08:20 +00:00
Jun Pataleta e0340141b0 Merge branch 'MDL-81308-main' of https://github.com/junpataleta/moodle 2024-10-23 18:15:21 +08:00
Jun Pataleta 599f2382ee Merge branch 'MDL-83430' of https://github.com/marinaglancy/moodle 2024-10-23 16:09:35 +08:00
Jun Pataleta c67df9aad4 Merge branch 'MDL-83463' of https://github.com/paulholden/moodle 2024-10-23 14:35:34 +08:00
Laurent David e1ee1bfdb5 MDL-82905 core_badges: Criteria as list only if multiple items 2024-10-23 08:17:44 +02:00
Laurent David 85a3097f2b MDL-82904 core_badges: Display empty column for unset criteria
* In the report builder badges with unset criteria should have a empty
value for the criteria column
2024-10-23 08:17:09 +02:00
Andrew Nicols c745b3fb80 MDL-81308 core: Use a helper for consecutive invocation counts 2024-10-23 14:14:33 +08:00
Andrew Nicols 8dcad87631 MDL-81308 core: Update tests to not use withConsecutive 2024-10-23 14:14:32 +08:00
Dani Palou 965932fdcb MDL-82775 mod_h5pactivity: Return total attempts in get_user_attempts 2024-10-22 20:28:56 +02:00
Daniel Ziegenberg d827dd2fdd MDL-79679 libaries: Upgrade Constant-Time Encoding to 3.0.0
The library raises the minimum required PHP version to 8.0 and comes with
an advertised PHP 8.4 compatibility.

Signed-off-by: Daniel Ziegenberg <daniel@ziegenberg.at>
2024-10-22 14:04:59 +02:00
Daniel Ziegenberg 33f3431cab MDL-81230 bigbluebutton: Remove deprecated adhoc tasks
Signed-off-by: Daniel Ziegenberg <daniel@ziegenberg.at>
2024-10-22 14:02:42 +02:00
Jun Pataleta 660b4a9566 Merge branch 'MDL-83087-main' of https://github.com/roland04/moodle 2024-10-22 17:27:05 +08:00
Jun Pataleta 6ae735c2b4 Merge branch 'MDL-83376-main' of https://github.com/meirzamoodle/moodle 2024-10-22 17:18:30 +08:00
Jun Pataleta a464ecd440 Merge branch 'MDL-83472' of https://github.com/paulholden/moodle 2024-10-22 15:55:51 +08:00
Mikel Martín 93285b103c MDL-83477 output: Deprecate t/collapsedcaret icon 2024-10-22 09:28:27 +07:00
Marina Glancy 18067c8971 MDL-83504 user: reset preference cache in unittests 2024-10-21 17:58:50 +01:00
ferran a4cf29974f MDL-83502 course: fix chrome file dropping in course page 2024-10-21 11:32:26 +02:00
rajandangi ce040cb114 MDL-83501 core: URL encode paths for Nginx X-Accel-Redirect 2024-10-21 18:59:21 +10:30
meirzamoodle ac325600b3 MDL-83376 AI: Add is_request_allowed() to the base provider 2024-10-21 13:31:49 +07:00
meirzamoodle b14ab12b1d MDL-66873 backup: Remove all MODE_HUB related code 2024-10-21 13:13:16 +07:00
Kevin Percy 1e66964ad8 MDL-77668 core_grades: Final removal of grade_edit_tree_column_select 2024-10-21 14:08:09 +08:00
James C 7d0474f270 MDL-83497 course: Preserve move section dialogue info HTML 2024-10-19 16:22:56 +13:00
Paul Holden 61acf7d7be MDL-83432 enrol: fix arguments to enrolment test generator. 2024-10-18 15:12:34 +01:00
Paul Holden 807148fb68 MDL-83432 enrol_manual: reference correct role in welcome message. 2024-10-18 15:12:34 +01:00
Shamim Rezaie ecfcf00d92 weekly release 5.0dev 2024-10-18 23:28:31 +11:00
Shamim Rezaie 977131f5c7 Merge branch 'install_main' of https://git.in.moodle.com/amosbot/moodle-install 2024-10-18 23:28:08 +11:00
Jun Pataleta 989c111447 Merge branch 'MDL-83457-main' of https://github.com/roland04/moodle 2024-10-17 12:23:17 +08:00
Jun Pataleta f5c7d78e30 Merge branch 'MDL-83443' of https://github.com/paulholden/moodle 2024-10-17 12:17:30 +08:00
Jun Pataleta b38fc30f72 Merge branch 'MDL-83442-main' of https://github.com/davewoloszyn/moodle 2024-10-17 12:13:27 +08:00
Jun Pataleta 659f7b1908 Merge branch 'MDL-83367' of https://github.com/dravek/moodle 2024-10-17 12:08:46 +08:00
Jun Pataleta 196c26522d Merge branch 'MDL-81450-main' of https://github.com/PhMemmel/moodle 2024-10-17 12:05:03 +08:00
Huong Nguyen b0c3652af6 Merge branch 'MDL-82580' of https://github.com/paulholden/moodle 2024-10-17 10:49:01 +07:00
Jun Pataleta 7ebe8cc971 Merge branch 'MDL-83143-main' of https://github.com/safatshahin/moodle 2024-10-17 11:47:08 +08:00
Jun Pataleta db8da82467 Merge branch 'MDL-82838-main' of https://github.com/justusdieckmann/moodle 2024-10-17 10:54:34 +08:00
Huong Nguyen 70a1139c4e Merge branch 'MDL-75724-master_toolbrickfield_tableheadercheck' of https://github.com/brickfield/moodle 2024-10-17 09:44:01 +07:00
Mikel Martín eed6ac78d2 MDL-83390 message: Fix category collapse icon
- Replace incorrect 't/collapsedcaret' with 't/collapsed' icon
- Add RTL icon for accessibility
2024-10-17 08:46:09 +07:00
Jun Pataleta eceee22097 Merge branch 'MDL-83002' of https://github.com/marinaglancy/moodle 2024-10-17 08:45:23 +07:00
Paul Holden 37266a9f19 MDL-83472 phpunit: add void return type to test methods.
See also 01148a0816 from MDL-81522.
2024-10-16 13:01:07 +01:00
Paul Holden 01540bb7ce MDL-83472 phpunit: call parent setUp unit test method.
See also 674497a12c from MDL-81523.
2024-10-16 13:01:00 +01:00
Paul Holden 26bb378e88 MDL-82809 reportbuilder: always apply conditions to custom report.
Including those that are otherwise unavailable to the current user,
ensuring that they are always applied when viewing report output.
2024-10-16 10:51:36 +01:00
Philipp Memmel 152231239f MDL-81450 mod_forum: Reduce size of file icon in HTML mails
@Co-authored-by: Mateusz Walczak
2024-10-16 11:31:59 +02:00
Paul Holden b1e9990de1 MDL-82475 reportbuilder: account for duplicate profile field names.
Long-term, it would be better to not allow this scenario to happen
at all but until then we'll have to work around it (see MDL-73461).
2024-10-16 09:33:10 +01:00
David Woloszyn 3acfcd08d5 MDL-83442 aiprovider_azureai: Correct help string URL 2024-10-16 17:52:21 +11:00
Mathew May 15e1be9b72 MDL-81328 mod_book: Final deprecation of get_nav_classes 2024-10-16 14:28:11 +08:00
Huong Nguyen 1550c6d8e8 Merge branch 'MDL-82793-main' of https://github.com/phmemmel/moodle 2024-10-16 09:26:25 +07:00
Paul Holden 9e5f911411 MDL-82809 reportbuilder: load custom/profile fields consistently.
Ensure that provided columns and filters for each use appropriate
checks to determine their availability (based on user permissions,
etc), rather than conditionally adding them to the entity.
2024-10-15 21:40:07 +01:00
Philipp Memmel 43073fcd27 MDL-82793 core: Make modal execute JS from template
Co-authored-by: Huong Nguyen <huongnv13@gmail.com>
2024-10-15 20:34:01 +02:00
Paul Holden edc012f7bb MDL-83463 backup: ensure defaults for course file inclusion are read. 2024-10-15 12:26:00 +01:00
Jun Pataleta 5cb05b44db Merge branch 'MDL-83070' of https://github.com/timhunt/moodle 2024-10-15 19:09:08 +08:00
Huong Nguyen 476ab17b19 Merge branch 'MDL-82429-brickfield-calculated-fontsize' of https://github.com/x-iy/moodle 2024-10-15 16:22:53 +07:00
Mikel Martín 20c6be9350 MDL-83457 mod_feedback: Fix get_incomplete_users early return type
Fix 'feedback_get_incomplete_users' early return when there are no users with
the 'mod/feedback:complete' capability from 'false' to an empty array. That
will follow the function signature.
2024-10-15 09:50:13 +02:00
Jun Pataleta e1225ec338 Merge branch 'MDL-83253-main' of https://github.com/andrewnicols/moodle 2024-10-15 11:44:42 +08:00
Jun Pataleta 7b6642844c Merge branch 'MDL-83257-main' of https://github.com/andrewnicols/moodle 2024-10-15 10:32:46 +08:00
Jake Dallimore e8ec0979dc MDL-83423 mod_lti: fix JWK decoding when multiple keys missing alg
Related to MDL-77077, but was a case missed there. Now, any unusable
keys (i.e. can't be used during the JWT decode), are dropped from the
keyset if they don't have the 'alg' prop, preventing a 'missing alg'
exception during keyset parsing. Since these cannot be used during
decode, these aren't needed anyway.
2024-10-15 09:13:34 +08:00
AMOS bot d081a77310 Automatically generated installer lang files 2024-10-15 00:09:37 +00:00
Michael Pound aaaef4f1dc MDL-75724 tool_brickfield: Ensuring correct table headers pass checks. 2024-10-14 16:53:18 +00:00
Marina Glancy 6d757af2c9 MDL-83430 customfield_number: call display method from provider earlier 2024-10-14 10:55:21 +01:00
Marina Glancy 61d9a4ccac MDL-83430 customfield_number: fix storing activities number when 0 2024-10-14 10:55:15 +01:00
Conn Warwicker aa8c304af2 MDL-83391 core: Remove hard-coded "support" for webservers.
This allows for more flexibility with web server software.
2024-10-14 09:22:52 +01:00
Leon Stringer c8995f9e13 MDL-83452 mod_assign: Remove add_body_class
Remove extraneous $PAGE->add_body_class('limitedwidth'), unneeded since
MDL-74031 added a call to this.
2024-10-14 08:42:55 +01:00
Huong Nguyen 7014d61d93 Merge branch 'MDL-83381-main' of https://github.com/davewoloszyn/moodle 2024-10-14 11:08:25 +07:00
Andrew Nicols d2cff755d9 MDL-83257 editor_tiny: Disable Alt+F12 keyboard shortcut
This was introduced in Tiny 7.1 to focus notifications, but it conflicts
with the German keyboard layout which uses Alt+F12 to access the open
curly brace.

This is an upstream problem with TinyMCE and should be fixed in a future
release.

The recommended workaround is to disable the shortcut.
2024-10-14 08:46:15 +08:00
AMOS bot b19fc1d9f7 Automatically generated installer lang files 2024-10-13 00:07:57 +00:00
Paul Holden 8c01166725 MDL-83443 enrol: use defined role name in welcome message. 2024-10-11 14:29:53 +01:00
Paul Holden 0d616b13e1 MDL-81551 factor_webauthn: inform user on successful key registration. 2024-10-11 12:40:47 +01:00
Jake Dallimore fc29adddf9 weekly on-sync release 5.0dev 2024-10-11 10:55:52 +08:00
Jake Dallimore 86ddb770fc Merge branch 'install_main' of https://git.in.moodle.com/amosbot/moodle-install 2024-10-11 10:55:45 +08:00
Safat fcf941c74e MDL-83143 core_communication: Behat coverage for default to course name 2024-10-11 10:56:32 +11:00
Safat e0cce75501 MDL-83143 core_course: Add course name as default for empty room name 2024-10-11 10:56:32 +11:00
Safat a6d857d9e5 MDL-83143: core_communication: Fix variable name typos 2024-10-11 10:56:32 +11:00
Mihail Geshoski c5b1dd50ae MDL-78890 gradereport_grader: Final deprecation of get_right_avg_row() 2024-10-10 22:36:22 +08:00
Paul Holden 6437058f9d MDL-72293 reportbuilder: re-factor to use native sortable events. 2024-10-10 15:16:36 +01:00
Paul Holden ef490ad60d MDL-72293 javascript: emit native events from sortable list module.
Removes jQuery dependency from calling code that wants to listen for
these events. Maintains backwards compatibility with existing code
that does want to listen to jQuery-style events.
2024-10-10 15:16:36 +01:00
Jun Pataleta 1d208afaf2 Merge branch 'MDL-82813' of https://github.com/paulholden/moodle 2024-10-10 12:04:07 +08:00
Huong Nguyen 79c9f30a7f Merge branch 'MDL-82570-master' of https://github.com/vietlx426/moodle-1 2024-10-10 10:51:29 +07:00
Huong Nguyen cd35384df4 Merge branch 'MDL-83255-main' of https://github.com/TobiGa/moodle 2024-10-10 10:11:15 +07:00
Jun Pataleta e28447c09c Merge branch 'MDL-82912-main' of https://github.com/andelacruz/moodle 2024-10-10 10:35:00 +08:00
Jun Pataleta 57880e1b40 Merge branch 'MDL-82812_master_toolbrickfieldfaicons' of https://github.com/brickfield/moodle 2024-10-10 10:13:37 +08:00
Huong Nguyen c8812697ca Merge branch 'MDL-83283-main' of https://github.com/roland04/moodle 2024-10-10 09:07:07 +07:00
David Woloszyn eedb68462c MDL-83381 AI: Fix OpenAI provider config 2024-10-10 11:51:32 +11:00
Angelia Dela Cruz bf031177f0 MDL-82912 mod_workshop: Behat to view assessment after workshop close 2024-10-09 16:13:08 +08:00
Huong Nguyen 374ce36695 Merge branch 'MDL-83331' of https://github.com/timhunt/moodle 2024-10-09 14:46:42 +07:00
Andrew Nicols d9863dbc94 MDL-83336 core: Update for deprecation of xml_set_object
From PHP 8.4, `xml_set_object()`, and passing a string helper to
`xml_set_.*_handler()` has been deprecated.

This commit updates all uses of these in core code.

Please note the following libraries have not been modified and will be
handled via library upgrades separately:
- simplepie
- phpxmlrpc
- tcpdf
2024-10-09 15:02:37 +08:00
AMOS bot 8a043ec6bd Automatically generated installer lang files 2024-10-09 00:09:27 +00:00
Max Larkin e5a5007977 MDL-82812 tool_brickfield: Ignore fa icons 2024-10-08 13:02:46 +01:00
Huong Nguyen c58fcff09d Merge branch 'MDL-70180-main' of https://github.com/roland04/moodle 2024-10-08 09:34:10 +07:00
AMOS bot 349405718f Automatically generated installer lang files 2024-10-08 00:07:51 +00:00
david adamson 29bdc66fc2 MDL-82429 tool_brickfield: Process calculated fontsizes 2024-10-08 09:14:21 +11:00
Paul Holden ef77114960 MDL-78118 reportbuilder: final removal of deprecated report elements. 2024-10-07 18:49:21 +01:00
Paul Holden d73a827a90 MDL-78118 reportbuilder: entity method for deprecating old tables.
When an entity no longer uses a table (due to re-factoring, etc), we
should avoid breaking third-party reports by deprecating the table
name from the entity instead of straight removal. In doing so, we
can then emit debugging to inform developers.
2024-10-07 18:44:58 +01:00
Tim Hunt 8853e262e1 MDL-83331 behat: enable navigation direct to mod/.../index.php 2024-10-07 12:00:17 +01:00
Tim Hunt 9f88c344cd MDL-83070 question restore: recode links in hints 2024-10-07 08:53:28 +01:00
David Carrillo 6fe29f7bc1 MDL-83367 tasks: Apply trim() to pathtophp setting
- It fixes the problem that when "pathtophp" setting is stored with
whitespaces, the "Run now" button will still show up in the tasks list,
but the task will never run
2024-10-07 08:15:19 +02:00
Huong Nguyen 4ee523f4a8 Merge branch 'MDL-83374-main' of https://github.com/junpataleta/moodle 2024-10-07 09:30:21 +07:00
Huong Nguyen 9a66f8bbc5 Merge branch 'MDL-83373-main' of https://github.com/junpataleta/moodle 2024-10-07 09:23:04 +07:00
Jun Pataleta c9356e039f MDL-83374 upgrade: add the 4.5.0 separation line to all upgrade scripts 2024-10-05 21:16:13 +08:00
Jun Pataleta 3048ab2257 MDL-83373 backup: Bump release to 5.0 2024-10-05 21:05:05 +08:00
Jun Pataleta 67f5ee3cec weekly back-to-dev release 5.0dev 2024-10-05 16:11:20 +08:00
Jun Pataleta 52c0da7c64 Moodle release 4.5 2024-10-05 15:10:56 +08:00
Jun Pataleta 5b421c6db6 NOBUG: Add upgrade notes 2024-10-05 15:08:28 +08:00
AMOS bot 572b972869 Automatically generated installer lang files 2024-10-05 00:07:53 +00:00
Huong Nguyen 5fdbd507a4 Moodle release 4.5rc2 2024-10-04 21:07:32 +07:00
Huong Nguyen 3a6640c461 NOBUG: Add upgrade notes 2024-10-04 21:06:11 +07:00
Huong Nguyen 166408a13a NOBUG: Fixed SVG browser compatibility 2024-10-04 21:02:58 +07:00
Huong Nguyen 00af6298b1 Merge branch 'install_main' of https://git.in.moodle.com/amosbot/moodle-install 2024-10-04 21:02:58 +07:00
Andrew Nicols e8c5c84403 MDL-83351 upgradenotes: Correct invalid components 2024-10-04 16:07:10 +07:00
Jun Pataleta 3d60012841 MDL-83309 aiplacement_courseassist: Bump plugin maturity to stable 2024-10-04 11:54:58 +07:00
AMOS bot 813cad3b24 Automatically generated installer lang files 2024-10-04 00:07:49 +00:00
Sara Arjona 315416e197 Merge branch 'MDL-83351-main' of https://github.com/andrewnicols/moodle 2024-10-03 17:20:54 +02:00
Andrew Nicols 807731743d MDL-83351 navigation: Convert final deprecation to non-final 2024-10-03 23:01:32 +08:00
Andrew Nicols a865529d7a MDL-83351 upgradenote: Remove unnecessary notes 2024-10-03 23:01:31 +08:00
Andrew Nicols 1d88b57bba MDL-83351 upgradenotes: Clarify upgrade notes 2024-10-03 23:01:31 +08:00
Marina Glancy 62e776673a MDL-83002 theme_boost: tell behat to wait when initialising drawers 2024-10-03 15:50:28 +01:00
Jun Pataleta b576bb4a0e Merge branch 'MDL-83353' of https://github.com/paulholden/moodle 2024-10-03 20:28:07 +08:00
Michael Hawkins f3189c1e1a MDL-83352 message: Update usercantbemessaged string 2024-10-03 17:46:03 +07:00
Paul Holden 8d318b1b05 MDL-83353 output: fix icon output in classic activity navigation.
Prevent `$PAGE` debugging when loading navigation branches.
2024-10-03 10:14:48 +01:00
Sara Arjona f4202b26cd Merge branch 'MDL-83312-main' of https://github.com/davewoloszyn/moodle 2024-10-03 10:24:58 +02:00
Jun Pataleta 62b8b3709d Merge branch 'MDL-83238-main-enfix' of https://github.com/mudrd8mz/moodle 2024-10-03 16:01:53 +08:00
Sara Arjona d7f28e0c93 Merge branch 'MDL-83309-main' of https://github.com/junpataleta/moodle 2024-10-03 08:22:26 +02:00
Sara Arjona 3f9087a161 Merge branch 'MDL-83318-main' of https://github.com/aanabit/moodle 2024-10-03 08:11:10 +02:00
Huong Nguyen d1cced3864 Merge branch 'MDL-83296' of https://github.com/marinaglancy/moodle 2024-10-03 08:44:21 +07:00
Andrew Nicols 0d19dd6491 Merge branch 'MDL-83293-main' of https://github.com/junpataleta/moodle 2024-10-03 08:46:16 +08:00
David Woloszyn 3b23f4db26 MDL-83312 AI: Check provider has minimal config 2024-10-03 10:25:23 +10:00
David Carrillo 07ad4b8ebc MDL-83179 badges: Get type and courseid from context instead of params 2024-10-03 08:11:51 +08:00
Jun Pataleta f173a7026a MDL-83293 core: Fix path separator when guessing the base path
Ensure that path separator for the script when guessing the base path
uses forward slash instead of the OS' directory separator.
(e.g. "\" in Windows)
2024-10-03 08:01:30 +08:00
Shamim Rezaie 6399179739 MDL-83332 core: Remove slasharguments config modification lines
MDL-62640 removed the 'slasharguments' config, and 3229dda3 attempted to
restore it by setting it to 1. This could unintentionally reset the
'slasharguments' config for all sites upgrading to 4.5.
2024-10-03 02:16:32 +10:00
Shamim Rezaie 83526c7a2d Merge branch 'MDL-83332-main-new' of https://github.com/meirzamoodle/moodle 2024-10-03 02:15:03 +10:00
Amaia Anabitarte 76f84a929d MDL-83318 pix: Recover previous and next icons 2024-10-02 15:14:36 +02:00
meirzamoodle 3229dda3d6 MDL-83332 core: Revert the slashargument removal on MDL-62640
Removing the option causes issues on MacOS.
2024-10-02 18:36:14 +07:00
Jun Pataleta 7f0b254022 MDL-83309 mod_subsection: Remove $plugin->release
* Release names ($plugin->release) are only for non-core plugins
2024-10-02 17:18:28 +08:00
Jun Pataleta 5c09d2c905 MDL-83309 versions: Main version bump 2024-10-02 17:05:39 +08:00
Jun Pataleta f24e0ecf53 MDL-83309 versions: Bump all versions and requires near release 2024-10-02 17:04:53 +08:00
Paul Holden 1a040098e3 MDL-83180 reportbuilder: correct access check for viewing schedules. 2024-10-02 16:49:09 +08:00
Huong Nguyen 13fdeab15e Merge branch 'MDL-83327_main' of https://github.com/marxjohnson/moodle 2024-10-02 14:28:08 +07:00
Huong Nguyen 4a53eda14e Merge branch 'MDL-83328_main' of https://github.com/marxjohnson/moodle 2024-10-02 13:48:41 +07:00
David Carrillo a25ee4ebb9 MDL-83178 reportbuilder: correct access check to view badge recipients 2024-10-02 13:57:53 +08:00
Jun Pataleta f332842df1 Merge branch 'mdl83310' of https://github.com/danmarsden/moodle 2024-10-02 12:31:17 +08:00
Paul Holden e724d59d35 MDL-83181 reportbuilder: ensure audience correctness before delete. 2024-10-02 03:04:18 +00:00
Paul Holden c8bf6bc4a8 MDL-82386 block_rss_client: user access checks for feed edit/delete. 2024-10-02 03:04:18 +00:00
Huong Nguyen d421ca9ccd Merge branch 'mdl83176' of https://github.com/danmarsden/moodle 2024-10-02 10:00:18 +07:00
Mark Johnson 89a87b7d4e MDL-83328 qbank_managecategories: Fix move dialogue for single child 2024-10-01 14:45:33 +01:00
Mark Johnson 8c1c013f78 MDL-83327 qbank_managecategories: Fix invalid parameter when moving
Clicking on the "Move" label of the move button resulted in an
incorrectly titled dialog and an "invalid parameter" error.
2024-10-01 14:35:05 +01:00
Huong Nguyen 0eacab846e Moodle release 4.5rc1 2024-10-01 19:37:23 +07:00
Huong Nguyen 4d1c0cb04b NOBUG: Add upgrade notes 2024-10-01 19:37:15 +07:00
Mikel Martín 89c30cecd8 MDL-82548 courseformat: Fix courseindex cm anchors
In the course index the course modules links had incorrenct "href" (only the anchor) when
being displayed in a page different than course page. This patch regenerates the href for
cms in the course index when needed.
2024-10-01 11:53:52 +02:00
Dan Marsden 14254008fd MDL-83310 course: remove hard-coded list of course formats from test. 2024-10-01 19:57:46 +13:00
Huong Nguyen 6332ffc0dd Merge branch 'MDL-83298-main' of https://github.com/andrewnicols/moodle 2024-10-01 13:05:15 +07:00
Jun Pataleta faa06503b1 Merge branch 'MDL-83264-main-1' of https://github.com/mihailges/moodle 2024-10-01 12:47:09 +08:00
Huong Nguyen 838a9abb73 Merge branch 'MDL-82900-main' of https://github.com/mickhawkins/moodle 2024-10-01 11:40:37 +07:00
Michael Hawkins e50249fbea MDL-82900 AI: Update language strings 2024-10-01 12:33:38 +08:00
Mihail Geshoski d0056ae0b0 MDL-83264 mod_quiz: Return the correct name for top categories 2024-10-01 09:40:47 +08:00
Michael Milette b2d59a0372 MDL-63219 Output: Enable filters in custom menus. 2024-09-30 18:12:20 -04:00
Paul Holden 8e2ad49afe MDL-76564 behat: final removal of deprecated pre-404 step definitions. 2024-09-30 19:42:54 +01:00
David Mudrák cdd3b4648f MDL-83238 lang: Fix the changed strings in the tests, too 2024-09-30 20:04:54 +02:00
Helen Foster 8e8267144d MDL-83238 lang: Import fixed English strings (en_fix) 2024-09-30 19:42:49 +02:00
Shamim Rezaie 5dbe3fa789 Merge branch 'MDL-82693' of https://github.com/paulholden/moodle 2024-09-30 23:41:31 +10:00
Shamim Rezaie c24a0554d2 Merge branch 'MDL-83295-main' of https://github.com/junpataleta/moodle 2024-09-30 23:08:17 +10:00
Shamim Rezaie f7db1fabbb Merge branch 'MDL-81590-main' of https://github.com/junpataleta/moodle 2024-09-30 23:01:06 +10:00
Tobias Garske 0b38d6558c MDL-83255 core_course: Fix activitychooser recommended tab navigation 2024-09-30 10:00:47 +00:00
Sara Arjona 0cde4a8842 Merge branch 'MDL-83276-main' of https://github.com/HuongNV13/moodle 2024-09-30 11:20:30 +02:00
Dan Marsden 1ba9fb88d9 MDL-83176 cache: Include formslib as it doesn't autoload 2024-09-30 20:39:48 +13:00
Sara Arjona f608faef01 Merge branch 'MDL-82939-main' of https://github.com/mickhawkins/moodle 2024-09-30 07:41:37 +02:00
Huong Nguyen ce2c4775f8 Merge branch 'MDL-83277-main' of https://github.com/raortegar/moodle 2024-09-30 11:29:02 +07:00
Paul Holden f466b40ca6 MDL-83202 reportbuilder: report list filtering by time/user modified. 2024-09-27 15:53:09 +01:00
Marina Glancy 7015c67d7c MDL-83296 user: store defaulthomepage as a relative url 2024-09-27 14:31:26 +01:00
Huong Nguyen 30692df849 Moodle release 4.5beta 2024-09-27 19:16:56 +07:00
Huong Nguyen 282421ce6c NOBUG: Change upgrade notes version 2024-09-27 19:16:56 +07:00
Andrew Nicols 116b0975c7 MDL-83298 core: Trim trailing whitespace on upgrade notes 2024-09-27 20:05:58 +08:00
Huong Nguyen 7b4ed9096f NOBUG: Add upgrade notes 2024-09-27 18:45:07 +07:00
Huong Nguyen d4822bf0fb Moodle release 4.5beta 2024-09-27 18:45:07 +07:00
Huong Nguyen c72e5f2ae7 NOBUG: Fixed SVG browser compatibility 2024-09-27 18:44:53 +07:00
Huong Nguyen 2c2b04fea1 Merge branch 'install_main' of https://git.in.moodle.com/amosbot/moodle-install 2024-09-27 18:44:53 +07:00
Jun Pataleta a2dd139baf MDL-83295 core: Use pattern matching for expected task output 2024-09-27 17:28:26 +08:00
Huong Nguyen c2dafca314 MDL-83276 AI: Extra checks for provider and placement actions 2024-09-27 15:48:42 +07:00
raortegar 9825a4129a MDL-83277 AI: Placement Text Editor - Remove browser console log 2024-09-27 09:55:11 +02:00
raortegar e9c2e52c9d MDL-83277 AI: Course Assistance - Remove browser console log 2024-09-27 09:55:11 +02:00
Jun Pataleta a6975e6dc4 MDL-81590 core: Build the context path without using DIRECTORY_SEPARATOR 2024-09-27 15:39:38 +08:00
Mikel Martín 1490f72122 MDL-83087 course: Convert category 'More' actions to kebab menu 2024-09-27 09:12:37 +02:00
Mikel Martín 1a66b08323 MDL-83283 mod_subsection: Fix subsection completion button margin 2024-09-27 08:50:24 +02:00
Michael Hawkins c7810fd7ce MDL-82939 core_sms: Update lang strings
Also fixed a bug where the gateways page didnt render the correct title.
2024-09-27 13:38:55 +08:00
Jun Pataleta ddfd7353bc Merge branch 'MDL-80929' of https://github.com/paulholden/moodle 2024-09-27 12:40:12 +08:00
Huong Nguyen 955f04af77 Merge branch 'MDL-83205-main' of https://github.com/andrewnicols/moodle 2024-09-27 11:26:42 +07:00
Huong Nguyen cf4fe9d924 Merge branch 'MDL-82483' of https://github.com/paulholden/moodle 2024-09-27 11:15:40 +07:00
Jun Pataleta b3943152f6 Merge branch 'MDL-82602' of https://github.com/paulholden/moodle 2024-09-27 12:10:41 +08:00
Huong Nguyen 762aa5ada8 Merge branch 'MDL-80974-main' of https://github.com/sh-csg/moodle 2024-09-27 11:08:36 +07:00
Jun Pataleta 4fd625c4fd Merge branch 'MDL-82973' of https://github.com/paulholden/moodle 2024-09-27 12:05:56 +08:00
Jun Pataleta 75888b351f Merge branch 'MDL-83163-main' of https://github.com/sammarshallou/moodle 2024-09-27 11:59:22 +08:00
Andrew Nicols bc44c50481 Merge branch 'MDL-83094' of https://github.com/paulholden/moodle 2024-09-27 11:05:34 +08:00
Huong Nguyen ea4336279b Merge branch 'MDL-82231' of https://github.com/paulholden/moodle 2024-09-27 09:51:14 +07:00
Jun Pataleta 1e93072906 Merge branch 'MDL-81157' of https://github.com/paulholden/moodle 2024-09-27 10:28:20 +08:00
Jun Pataleta 25c8f5b429 Merge branch 'MDL-82581' of https://github.com/paulholden/moodle 2024-09-27 10:10:39 +08:00
AMOS bot 034ed3e0ed Automatically generated installer lang files 2024-09-27 00:07:49 +00:00
Sara Arjona 9a83df73a5 Merge branch 'MDL-82872' of https://github.com/jfederico/moodle 2024-09-26 17:59:54 +02:00
jfedericobn 43542cbcb4 MDL-82872 mod_bigbluebuttonbn: Extend meeting_events with subplugins 2024-09-26 15:33:10 +00:00
Jun Pataleta 4152849273 Merge branch 'MDL-79288-main_blockaccessreview_colourcontrastcheck' of https://github.com/brickfield/moodle 2024-09-26 19:44:58 +08:00
Jun Pataleta 18095f2478 Merge branch 'MDL-83263-main' of https://github.com/mihailges/moodle 2024-09-26 16:28:42 +08:00
Michael Pound f96c9b68a1 MDL-79288 block_accessreview: Improve heatmap colour contrast. 2024-09-26 04:08:02 -04:00
Andrew Nicols 25398dc129 Merge branch 'MDL-83268-main' of https://github.com/sarjona/moodle 2024-09-26 15:58:38 +08:00
Andrew Nicols 52e64f0890 Merge branch 'MDL-83245-main-fix' of https://github.com/HuongNV13/moodle 2024-09-26 15:57:50 +08:00
Huong Nguyen a7e4cec6b7 MDL-83245 core_files: Fix incorrect setting name 2024-09-26 14:49:51 +07:00
Sara Arjona eec4c5948c MDL-83268 core_h5p: Remove unused font files
In https://h5ptechnology.atlassian.net/browse/HFP-4105, the
fonts/h5p-core-29.svg was merged with some conflicts.
Looking at the patch there, it seems all the h5p-core-29* fonts
can be removed because the ones used by the library are the
h5p-core-30-*.

I haven't added a note in the upgrade because it seems an error
on their release process (so I don't think it's worth adding
a note because it should be fixed in future releases).
2024-09-26 09:42:47 +02:00
Paul Holden 8e77b9bf7c MDL-82231 check: include upgrading.md files in public path checks. 2024-09-26 08:30:33 +01:00
Andrew Nicols ebdac763ed Merge branch 'MDL-83268-main' of https://github.com/sarjona/moodle 2024-09-26 14:39:13 +08:00
Michael Hawkins 1f66c92a1a MDL-82939 core_sms: Add class to the SMS table
This makes it possible to reference in behat table steps.
2024-09-26 14:28:47 +08:00
Andrew Nicols a5ac414521 MDL-83253 core: Ignore invalid components for deprecated cap info
When checking for deprecated capabilty info, if a component is invalid,
skip loading of that component.
2024-09-26 12:34:45 +08:00
Huong Nguyen 7c3c18c4e8 Merge branch 'MDL-62640-main' of https://github.com/meirzamoodle/moodle 2024-09-26 11:06:55 +07:00
Huong Nguyen 0ea96dbf29 Merge branch 'MDL-83064-main' of https://github.com/laurentdavid/moodle 2024-09-26 10:47:43 +07:00
vietlx426 962c9d179b MDL-82570 themes: Help boxes not accessible if selected consecutively 2024-09-26 10:29:03 +07:00
Huong Nguyen e148d291e8 Merge branch 'MDL-83245-main' of https://github.com/andrewnicols/moodle 2024-09-26 10:27:53 +07:00
Andrew Nicols b9a5ed7737 MDL-83245 core_files: Update file redaction API
This change:
- Moves the API to use the `before_file_created` hook
- Remove the newly created `$notify` param for `after_file_created` hook
- Stop persisting redactable content
- Update manager to not deal with `stored_file` instances
- Correct namespace from `\core\filereact` to `\core_files\redactor`
- Add `redactor` as a valid L2 namespace within the `core_files` API
- Correct config setting names
- Adds missing unit tests
- Disables the service for PHPUnit tests

AMOS BEGIN
  MOV [fileredact,core_files],[redactor,core_files]
  MOV [fileredact,core_files],[redactor:exifremover,core_files]
  MOV [fileredact,core_files],[redactor:exifremover:emptyremovetags,core_files]
  MOV [fileredact,core_files],[redactor:exifremover:enabled,core_files]
  MOV [fileredact,core_files],[redactor:exifremover:enabled_desc,core_files]
  MOV [fileredact,core_files],[redactor:exifremover:failedprocessexiftool,core_files]
  MOV [fileredact,core_files],[redactor:exifremover:failedprocessgd,core_files]
  MOV [fileredact,core_files],[redactor:exifremover:heading,core_files]
  MOV [fileredact,core_files],[redactor:exifremover:mimetype,core_files]
  MOV [fileredact,core_files],[redactor:exifremover:mimetype_desc,core_files]
  MOV [fileredact,core_files],[redactor:exifremover:removetags,core_files]
  MOV [fileredact,core_files],[redactor:exifremover:removetags_desc,core_files]
  MOV [fileredact,core_files],[redactor:exifremover:tag:all,core_files]
  MOV [fileredact,core_files],[redactor:exifremover:tag:gps,core_files]
  MOV [fileredact,core_files],[redactor:exifremover:tooldoesnotexist,core_files]
  MOV [fileredact,core_files],[redactor:exifremover:toolpath,core_files]
  MOV [fileredact,core_files],[redactor:exifremover:toolpath_desc,core_files]
AMOS END
2024-09-26 11:24:17 +08:00
Jun Pataleta f2e601c39f Merge branch 'MDL-83148' of https://github.com/paulholden/moodle 2024-09-26 11:16:25 +08:00
Andrew Nicols 102366f8aa Merge branch 'MDL-82298-main-behat-fixes' of https://github.com/cameron1729/moodle 2024-09-26 11:13:53 +08:00
Jun Pataleta 1b648f0c14 Merge branch 'MDL-83246-main' of https://github.com/andrewnicols/moodle 2024-09-26 10:59:06 +08:00
Cameron Ball 7bccc2978a MDL-82298 navigation: Update behat tests for theme_classic 2024-09-26 10:08:36 +08:00
Jun Pataleta a397b070df Merge branch 'MDL-83235' of https://github.com/paulholden/moodle 2024-09-26 09:25:35 +08:00
Sara Arjona e0c8730147 Merge branch 'MDL-83173-main' of https://github.com/stevandoMoodle/moodle 2024-09-25 17:11:32 +02:00
Andrew Nicols aa543e8c39 MDL-83246 core: Move profiler after autoloader registration 2024-09-25 23:11:23 +08:00
Sara Arjona 14e2bb4c87 MDL-83268 core_h5p: Remove the h5plib_v126 plugin
The h5plib_v126 plugin can be removed because it has been replaced
with h5plib_v127, which is using the latest versions of the
libraries.
2024-09-25 17:06:35 +02:00
Sara Arjona 958b4fc723 MDL-83268 core_h5p: Add editor lib changes after upgrading it 2024-09-25 17:06:35 +02:00
Sara Arjona d4458c308d MDL-83268 core_h5p: Upgrade editor lib to 1.27
This commit is upgrading the joubel/editor library to the one
tagged as moodle-1.27.0 (which also increases the coreApi minorVersion).
2024-09-25 17:06:35 +02:00
Sara Arjona 5a0d7adef3 MDL-83268 core_h5p: Add core lib changes after upgrading it 2024-09-25 17:06:34 +02:00
Sara Arjona 750b716a59 MDL-83268 core_h5p: Upgrade core lib to 1.27
This commit is upgrading the joubel/core library to the one
tagged as moodle-1.27.0 (which also increases the coreApi minorVersion).
That's why the previous commit was duplicating the existing
h5plib_v126.
2024-09-25 17:06:34 +02:00
Sara Arjona 2d930e6e6b MDL-83268 h5plib: Create first version of h5plib_v127
AMOS BEGIN
  CPY [editor:a11ytitleshowlabel,h5plib_v126],[editor:a11ytitleshowlabel,h5plib_v127]
  CPY [editor:a11ytitlehidelabel,h5plib_v126],[editor:a11ytitlehidelabel,h5plib_v127]
  CPY [editor:atoz,h5plib_v126],[editor:atoz,h5plib_v127]
  CPY [editor:add,h5plib_v126],[editor:add,h5plib_v127]
  CPY [editor:addauthor,h5plib_v126],[editor:addauthor,h5plib_v127]
  CPY [editor:addentity,h5plib_v126],[editor:addentity,h5plib_v127]
  CPY [editor:addfile,h5plib_v126],[editor:addfile,h5plib_v127]
  CPY [editor:addnewchange,h5plib_v126],[editor:addnewchange,h5plib_v127]
  CPY [editor:addtitle,h5plib_v126],[editor:addtitle,h5plib_v127]
  CPY [editor:addvideodescription,h5plib_v126],[editor:addvideodescription,h5plib_v127]
  CPY [editor:avtablistlabel,h5plib_v126],[editor:avtablistlabel,h5plib_v127]
  CPY [editor:belowmin,h5plib_v126],[editor:belowmin,h5plib_v127]
  CPY [editor:cancel,h5plib_v126],[editor:cancel,h5plib_v127]
  CPY [editor:cancellabel,h5plib_v126],[editor:cancellabel,h5plib_v127]
  CPY [editor:changefile,h5plib_v126],[editor:changefile,h5plib_v127]
  CPY [editor:changelanguage,h5plib_v126],[editor:changelanguage,h5plib_v127]
  CPY [editor:changelibrary,h5plib_v126],[editor:changelibrary,h5plib_v127]
  CPY [editor:changelogdescription,h5plib_v126],[editor:changelogdescription,h5plib_v127]
  CPY [editor:close,h5plib_v126],[editor:close,h5plib_v127]
  CPY [editor:commonfields,h5plib_v126],[editor:commonfields,h5plib_v127]
  CPY [editor:commonfieldsdescription,h5plib_v126],[editor:commonfieldsdescription,h5plib_v127]
  CPY [editor:confirmchangelibrary,h5plib_v126],[editor:confirmchangelibrary,h5plib_v127]
  CPY [editor:confirmdeletechangelog,h5plib_v126],[editor:confirmdeletechangelog,h5plib_v127]
  CPY [editor:confirmimageremoval,h5plib_v126],[editor:confirmimageremoval,h5plib_v127]
  CPY [editor:confirmpastebuttontext,h5plib_v126],[editor:confirmpastebuttontext,h5plib_v127]
  CPY [editor:confirmpastecontent,h5plib_v126],[editor:confirmpastecontent,h5plib_v127]
  CPY [editor:confirmremoval,h5plib_v126],[editor:confirmremoval,h5plib_v127]
  CPY [editor:confirmremoveauthor,h5plib_v126],[editor:confirmremoveauthor,h5plib_v127]
  CPY [editor:contenttypebackbuttonlabel,h5plib_v126],[editor:contenttypebackbuttonlabel,h5plib_v127]
  CPY [editor:contenttypecacheoutdated,h5plib_v126],[editor:contenttypecacheoutdated,h5plib_v127]
  CPY [editor:contenttypecacheoutdateddesc,h5plib_v126],[editor:contenttypecacheoutdateddesc,h5plib_v127]
  CPY [editor:contenttypedemobuttonlabel,h5plib_v126],[editor:contenttypedemobuttonlabel,h5plib_v127]
  CPY [editor:contenttypedetailbuttonlabel,h5plib_v126],[editor:contenttypedetailbuttonlabel,h5plib_v127]
  CPY [editor:contenttypegetbuttonlabel,h5plib_v126],[editor:contenttypegetbuttonlabel,h5plib_v127]
  CPY [editor:contenttypeiconalttext,h5plib_v126],[editor:contenttypeiconalttext,h5plib_v127]
  CPY [editor:contenttypeinstallbuttonlabel,h5plib_v126],[editor:contenttypeinstallbuttonlabel,h5plib_v127]
  CPY [editor:contenttypeinstallerror,h5plib_v126],[editor:contenttypeinstallerror,h5plib_v127]
  CPY [editor:contenttypeinstallsuccess,h5plib_v126],[editor:contenttypeinstallsuccess,h5plib_v127]
  CPY [editor:contenttypeinstallingbuttonlabel,h5plib_v126],[editor:contenttypeinstallingbuttonlabel,h5plib_v127]
  CPY [editor:contenttypelicensepaneltitle,h5plib_v126],[editor:contenttypelicensepaneltitle,h5plib_v127]
  CPY [editor:contenttypenotinstalled,h5plib_v126],[editor:contenttypenotinstalled,h5plib_v127]
  CPY [editor:contenttypenotinstalleddesc,h5plib_v126],[editor:contenttypenotinstalleddesc,h5plib_v127]
  CPY [editor:contenttypeowner,h5plib_v126],[editor:contenttypeowner,h5plib_v127]
  CPY [editor:contenttyperestricted,h5plib_v126],[editor:contenttyperestricted,h5plib_v127]
  CPY [editor:contenttyperestricteddesc,h5plib_v126],[editor:contenttyperestricteddesc,h5plib_v127]
  CPY [editor:contenttypesearchfieldplaceholder,h5plib_v126],[editor:contenttypesearchfieldplaceholder,h5plib_v127]
  CPY [editor:contenttypesectionall,h5plib_v126],[editor:contenttypesectionall,h5plib_v127]
  CPY [editor:contenttypeunsupportedapiversioncontent,h5plib_v126],[editor:contenttypeunsupportedapiversioncontent,h5plib_v127]
  CPY [editor:contenttypeunsupportedapiversiontitle,h5plib_v126],[editor:contenttypeunsupportedapiversiontitle,h5plib_v127]
  CPY [editor:contenttypeupdateavailable,h5plib_v126],[editor:contenttypeupdateavailable,h5plib_v127]
  CPY [editor:contenttypeupdatebuttonlabel,h5plib_v126],[editor:contenttypeupdatebuttonlabel,h5plib_v127]
  CPY [editor:contenttypeupdatesuccess,h5plib_v126],[editor:contenttypeupdatesuccess,h5plib_v127]
  CPY [editor:contenttypeupdatingbuttonlabel,h5plib_v126],[editor:contenttypeupdatingbuttonlabel,h5plib_v127]
  CPY [editor:contenttypeusebuttonlabel,h5plib_v126],[editor:contenttypeusebuttonlabel,h5plib_v127]
  CPY [editor:contributetranslations,h5plib_v126],[editor:contributetranslations,h5plib_v127]
  CPY [editor:copiedbutton,h5plib_v126],[editor:copiedbutton,h5plib_v127]
  CPY [editor:copiedtoclipboard,h5plib_v126],[editor:copiedtoclipboard,h5plib_v127]
  CPY [editor:copybutton,h5plib_v126],[editor:copybutton,h5plib_v127]
  CPY [editor:copytoclipboard,h5plib_v126],[editor:copytoclipboard,h5plib_v127]
  CPY [editor:createcontenttablabel,h5plib_v126],[editor:createcontenttablabel,h5plib_v127]
  CPY [editor:currentmenuselected,h5plib_v126],[editor:currentmenuselected,h5plib_v127]
  CPY [editor:editcopyright,h5plib_v126],[editor:editcopyright,h5plib_v127]
  CPY [editor:editimage,h5plib_v126],[editor:editimage,h5plib_v127]
  CPY [editor:editmode,h5plib_v126],[editor:editmode,h5plib_v127]
  CPY [editor:enteraudiotitle,h5plib_v126],[editor:enteraudiotitle,h5plib_v127]
  CPY [editor:enteraudiourl,h5plib_v126],[editor:enteraudiourl,h5plib_v127]
  CPY [editor:enterfullscreenbuttonlabel,h5plib_v126],[editor:enterfullscreenbuttonlabel,h5plib_v127]
  CPY [editor:entervideotitle,h5plib_v126],[editor:entervideotitle,h5plib_v127]
  CPY [editor:entervideourl,h5plib_v126],[editor:entervideourl,h5plib_v127]
  CPY [editor:errorcalculatingmaxscore,h5plib_v126],[editor:errorcalculatingmaxscore,h5plib_v127]
  CPY [editor:errorcommunicatinghubcontent,h5plib_v126],[editor:errorcommunicatinghubcontent,h5plib_v127]
  CPY [editor:errorcommunicatinghubtitle,h5plib_v126],[editor:errorcommunicatinghubtitle,h5plib_v127]
  CPY [editor:errorheader,h5plib_v126],[editor:errorheader,h5plib_v127]
  CPY [editor:errornotsupported,h5plib_v126],[editor:errornotsupported,h5plib_v127]
  CPY [editor:errorparamsbroken,h5plib_v126],[editor:errorparamsbroken,h5plib_v127]
  CPY [editor:errortoohighversion,h5plib_v126],[editor:errortoohighversion,h5plib_v127]
  CPY [editor:example,h5plib_v126],[editor:example,h5plib_v127]
  CPY [editor:exceedsmax,h5plib_v126],[editor:exceedsmax,h5plib_v127]
  CPY [editor:exitfullscreenbuttonlabel,h5plib_v126],[editor:exitfullscreenbuttonlabel,h5plib_v127]
  CPY [editor:expandcollapse,h5plib_v126],[editor:expandcollapse,h5plib_v127]
  CPY [editor:filetolarge,h5plib_v126],[editor:filetolarge,h5plib_v127]
  CPY [editor:fillinthefieldsbelow,h5plib_v126],[editor:fillinthefieldsbelow,h5plib_v127]
  CPY [editor:gethelp,h5plib_v126],[editor:gethelp,h5plib_v127]
  CPY [editor:h5pfileuploadservererrorcontent,h5plib_v126],[editor:h5pfileuploadservererrorcontent,h5plib_v127]
  CPY [editor:h5pfileuploadservererrortitle,h5plib_v126],[editor:h5pfileuploadservererrortitle,h5plib_v127]
  CPY [editor:h5pfilevalidationfailedcontent,h5plib_v126],[editor:h5pfilevalidationfailedcontent,h5plib_v127]
  CPY [editor:h5pfilevalidationfailedtitle,h5plib_v126],[editor:h5pfilevalidationfailedtitle,h5plib_v127]
  CPY [editor:h5pfilewrongextensioncontent,h5plib_v126],[editor:h5pfilewrongextensioncontent,h5plib_v127]
  CPY [editor:h5pfilewrongextensiontitle,h5plib_v126],[editor:h5pfilewrongextensiontitle,h5plib_v127]
  CPY [editor:height,h5plib_v126],[editor:height,h5plib_v127]
  CPY [editor:hide,h5plib_v126],[editor:hide,h5plib_v127]
  CPY [editor:hideimportantinstructions,h5plib_v126],[editor:hideimportantinstructions,h5plib_v127]
  CPY [editor:hubpanellabel,h5plib_v126],[editor:hubpanellabel,h5plib_v127]
  CPY [editor:illegaldecimalnumber,h5plib_v126],[editor:illegaldecimalnumber,h5plib_v127]
  CPY [editor:imagelightboxprogress,h5plib_v126],[editor:imagelightboxprogress,h5plib_v127]
  CPY [editor:imagelightboxtitle,h5plib_v126],[editor:imagelightboxtitle,h5plib_v127]
  CPY [editor:importantinstructions,h5plib_v126],[editor:importantinstructions,h5plib_v127]
  CPY [editor:insert,h5plib_v126],[editor:insert,h5plib_v127]
  CPY [editor:invalidformat,h5plib_v126],[editor:invalidformat,h5plib_v127]
  CPY [editor:language,h5plib_v126],[editor:language,h5plib_v127]
  CPY [editor:librarymissing,h5plib_v126],[editor:librarymissing,h5plib_v127]
  CPY [editor:licensecandistribute,h5plib_v126],[editor:licensecandistribute,h5plib_v127]
  CPY [editor:licensecanholdliable,h5plib_v126],[editor:licensecanholdliable,h5plib_v127]
  CPY [editor:licensecanmodify,h5plib_v126],[editor:licensecanmodify,h5plib_v127]
  CPY [editor:licensecansublicense,h5plib_v126],[editor:licensecansublicense,h5plib_v127]
  CPY [editor:licensecanusecommercially,h5plib_v126],[editor:licensecanusecommercially,h5plib_v127]
  CPY [editor:licensecannotholdliable,h5plib_v126],[editor:licensecannotholdliable,h5plib_v127]
  CPY [editor:licensedescription,h5plib_v126],[editor:licensedescription,h5plib_v127]
  CPY [editor:licensefetchdetailsfailed,h5plib_v126],[editor:licensefetchdetailsfailed,h5plib_v127]
  CPY [editor:licensemodalsubtitle,h5plib_v126],[editor:licensemodalsubtitle,h5plib_v127]
  CPY [editor:licensemodaltitle,h5plib_v126],[editor:licensemodaltitle,h5plib_v127]
  CPY [editor:licensemustincludecopyright,h5plib_v126],[editor:licensemustincludecopyright,h5plib_v127]
  CPY [editor:licensemustincludelicense,h5plib_v126],[editor:licensemustincludelicense,h5plib_v127]
  CPY [editor:licenseunspecified,h5plib_v126],[editor:licenseunspecified,h5plib_v127]
  CPY [editor:listbelowmin,h5plib_v126],[editor:listbelowmin,h5plib_v127]
  CPY [editor:listexceedsmax,h5plib_v126],[editor:listexceedsmax,h5plib_v127]
  CPY [editor:listlabel,h5plib_v126],[editor:listlabel,h5plib_v127]
  CPY [editor:loading,h5plib_v126],[editor:loading,h5plib_v127]
  CPY [editor:loadingimageeditor,h5plib_v126],[editor:loadingimageeditor,h5plib_v127]
  CPY [editor:logthischange,h5plib_v126],[editor:logthischange,h5plib_v127]
  CPY [editor:loggedchanges,h5plib_v126],[editor:loggedchanges,h5plib_v127]
  CPY [editor:maxscoresemanticsmissing,h5plib_v126],[editor:maxscoresemanticsmissing,h5plib_v127]
  CPY [editor:metadata,h5plib_v126],[editor:metadata,h5plib_v127]
  CPY [editor:metadatasharingandlicensinginfo,h5plib_v126],[editor:metadatasharingandlicensinginfo,h5plib_v127]
  CPY [editor:missingproperty,h5plib_v126],[editor:missingproperty,h5plib_v127]
  CPY [editor:missingtranslation,h5plib_v126],[editor:missingtranslation,h5plib_v127]
  CPY [editor:newchangehasbeenlogged,h5plib_v126],[editor:newchangehasbeenlogged,h5plib_v127]
  CPY [editor:newestfirst,h5plib_v126],[editor:newestfirst,h5plib_v127]
  CPY [editor:nextimage,h5plib_v126],[editor:nextimage,h5plib_v127]
  CPY [editor:nochangeshavebeenlogged,h5plib_v126],[editor:nochangeshavebeenlogged,h5plib_v127]
  CPY [editor:nocontenttypesavailable,h5plib_v126],[editor:nocontenttypesavailable,h5plib_v127]
  CPY [editor:nocontenttypesavailabledesc,h5plib_v126],[editor:nocontenttypesavailabledesc,h5plib_v127]
  CPY [editor:nofollow,h5plib_v126],[editor:nofollow,h5plib_v127]
  CPY [editor:notimageordimensionsfield,h5plib_v126],[editor:notimageordimensionsfield,h5plib_v127]
  CPY [editor:numresults,h5plib_v126],[editor:numresults,h5plib_v127]
  CPY [editor:numberfield,h5plib_v126],[editor:numberfield,h5plib_v127]
  CPY [editor:ok,h5plib_v126],[editor:ok,h5plib_v127]
  CPY [editor:onlynumbers,h5plib_v126],[editor:onlynumbers,h5plib_v127]
  CPY [editor:or,h5plib_v126],[editor:or,h5plib_v127]
  CPY [editor:orderitemdown,h5plib_v126],[editor:orderitemdown,h5plib_v127]
  CPY [editor:orderitemup,h5plib_v126],[editor:orderitemup,h5plib_v127]
  CPY [editor:outofstep,h5plib_v126],[editor:outofstep,h5plib_v127]
  CPY [editor:pasteandreplacebutton,h5plib_v126],[editor:pasteandreplacebutton,h5plib_v127]
  CPY [editor:pasteandreplacefromclipboard,h5plib_v126],[editor:pasteandreplacefromclipboard,h5plib_v127]
  CPY [editor:pastebutton,h5plib_v126],[editor:pastebutton,h5plib_v127]
  CPY [editor:pastecontent,h5plib_v126],[editor:pastecontent,h5plib_v127]
  CPY [editor:pastecontentnotsupported,h5plib_v126],[editor:pastecontentnotsupported,h5plib_v127]
  CPY [editor:pastecontentrestricted,h5plib_v126],[editor:pastecontentrestricted,h5plib_v127]
  CPY [editor:pasteerror,h5plib_v126],[editor:pasteerror,h5plib_v127]
  CPY [editor:pastefromclipboard,h5plib_v126],[editor:pastefromclipboard,h5plib_v127]
  CPY [editor:pastenocontent,h5plib_v126],[editor:pastenocontent,h5plib_v127]
  CPY [editor:pastetoonew,h5plib_v126],[editor:pastetoonew,h5plib_v127]
  CPY [editor:pastetooold,h5plib_v126],[editor:pastetooold,h5plib_v127]
  CPY [editor:popularfirst,h5plib_v126],[editor:popularfirst,h5plib_v127]
  CPY [editor:previousimage,h5plib_v126],[editor:previousimage,h5plib_v127]
  CPY [editor:proceedbuttonlabel,h5plib_v126],[editor:proceedbuttonlabel,h5plib_v127]
  CPY [editor:readless,h5plib_v126],[editor:readless,h5plib_v127]
  CPY [editor:readmore,h5plib_v126],[editor:readmore,h5plib_v127]
  CPY [editor:recentlyusedfirst,h5plib_v126],[editor:recentlyusedfirst,h5plib_v127]
  CPY [editor:reloadbuttonlabel,h5plib_v126],[editor:reloadbuttonlabel,h5plib_v127]
  CPY [editor:removefile,h5plib_v126],[editor:removefile,h5plib_v127]
  CPY [editor:removeimage,h5plib_v126],[editor:removeimage,h5plib_v127]
  CPY [editor:removeitem,h5plib_v126],[editor:removeitem,h5plib_v127]
  CPY [editor:requiredproperty,h5plib_v126],[editor:requiredproperty,h5plib_v127]
  CPY [editor:resettooriginallabel,h5plib_v126],[editor:resettooriginallabel,h5plib_v127]
  CPY [editor:savelabel,h5plib_v126],[editor:savelabel,h5plib_v127]
  CPY [editor:savemetadata,h5plib_v126],[editor:savemetadata,h5plib_v127]
  CPY [editor:screenshots,h5plib_v126],[editor:screenshots,h5plib_v127]
  CPY [editor:scriptmissing,h5plib_v126],[editor:scriptmissing,h5plib_v127]
  CPY [editor:searchresults,h5plib_v126],[editor:searchresults,h5plib_v127]
  CPY [editor:selectfiletoupload,h5plib_v126],[editor:selectfiletoupload,h5plib_v127]
  CPY [editor:selectlibrary,h5plib_v126],[editor:selectlibrary,h5plib_v127]
  CPY [editor:semanticserror,h5plib_v126],[editor:semanticserror,h5plib_v127]
  CPY [editor:show,h5plib_v126],[editor:show,h5plib_v127]
  CPY [editor:showimportantinstructions,h5plib_v126],[editor:showimportantinstructions,h5plib_v127]
  CPY [editor:tabtitlebasicfileupload,h5plib_v126],[editor:tabtitlebasicfileupload,h5plib_v127]
  CPY [editor:tabtitleinputlinkurl,h5plib_v126],[editor:tabtitleinputlinkurl,h5plib_v127]
  CPY [editor:textfield,h5plib_v126],[editor:textfield,h5plib_v127]
  CPY [editor:thecontenttype,h5plib_v126],[editor:thecontenttype,h5plib_v127]
  CPY [editor:thiswillpotentially,h5plib_v126],[editor:thiswillpotentially,h5plib_v127]
  CPY [editor:title,h5plib_v126],[editAMOS END
  or:title,h5plib_v127]
  CPY [editor:toolong,h5plib_v126],[editor:toolong,h5plib_v127]
  CPY [editor:tryagain,h5plib_v126],[editor:tryagain,h5plib_v127]
  CPY [editor:tutorial,h5plib_v126],[editor:tutorial,h5plib_v127]
  CPY [editor:unabletointerpreterror,h5plib_v126],[editor:unabletointerpreterror,h5plib_v127]
  CPY [editor:unabletointerpretsolution,h5plib_v126],[editor:unabletointerpretsolution,h5plib_v127]
  CPY [editor:unknownfieldpath,h5plib_v126],[editor:unknownfieldpath,h5plib_v127]
  CPY [editor:uploadinstructionstitle,h5plib_v126],[editor:uploadinstructionstitle,h5plib_v127]
  CPY [editor:uploadplaceholder,h5plib_v126],[editor:uploadplaceholder,h5plib_v127]
  CPY [editor:uploadsuccess,h5plib_v126],[editor:uploadsuccess,h5plib_v127]
  CPY [editor:uploadtablabel,h5plib_v126],[editor:uploadtablabel,h5plib_v127]
  CPY [editor:uploadvideotitle,h5plib_v126],[editor:uploadvideotitle,h5plib_v127]
  CPY [editor:uploading,h5plib_v126],[editor:uploading,h5plib_v127]
  CPY [editor:uploadingthrobber,h5plib_v126],[editor:uploadingthrobber,h5plib_v127]
  CPY [editor:usedforsearchingreportsandcopyrightinformation,h5plib_v126],[editor:usedforsearchingreportsandcopyrightinformation,h5plib_v127]
  CPY [editor:videoquality,h5plib_v126],[editor:videoquality,h5plib_v127]
  CPY [editor:videoqualitydefaultlabel,h5plib_v126],[editor:videoqualitydefaultlabel,h5plib_v127]
  CPY [editor:videoqualitydescription,h5plib_v126],[editor:videoqualitydescription,h5plib_v127]
  CPY [editor:warningchangebrowsingtoseeresults,h5plib_v126],[editor:warningchangebrowsingtoseeresults,h5plib_v127]
  CPY [editor:warningnocontenttypesinstalled,h5plib_v126],[editor:warningnocontenttypesinstalled,h5plib_v127]
  CPY [editor:warningupdateavailablebody,h5plib_v126],[editor:warningupdateavailablebody,h5plib_v127]
  CPY [editor:warningupdateavailabletitle,h5plib_v126],[editor:warningupdateavailabletitle,h5plib_v127]
  CPY [editor:width,h5plib_v126],[editor:width,h5plib_v127]
AMOS END
2024-09-25 17:06:20 +02:00
Andrew Nicols ce119a4344 Merge branch 'MDL-82298-main' of https://github.com/andrewnicols/moodle 2024-09-25 22:44:50 +08:00
Andrew Nicols d2f71d6b02 MDL-82298 navigation: Update behat tests 2024-09-25 22:37:56 +08:00
Karjun Loong b3152b7311 MDL-82298 navigation: Add behat tests for secondary menu navigation 2024-09-25 22:29:39 +08:00
Jose 3d1102607c MDL-82298 navigation: Add setting data-disableactive on moremenu items
This setting will avoid conflicts between checkmark and
bfcache. The removed function added as part of the MDL-77732
is no longer required as the behaviour on the menu items (including the
secondary navigation) is not altered anymore by the menuItemHelper function
(menu_navigation file).
2024-09-25 22:29:35 +08:00
Jun Pataleta d56ce93a8d Merge branch 'MDL-83236-main-fix' of https://github.com/HuongNV13/moodle 2024-09-25 22:03:27 +08:00
Huong Nguyen b5aeff34d9 MDL-83236 install: update the list of stale files for 4.5
Remove `tool_innodb` out of the example files
2024-09-25 19:24:49 +07:00
Jun Pataleta df07d2ca35 Merge branch 'MDL-83236-main' of https://github.com/HuongNV13/moodle 2024-09-25 18:53:20 +08:00
Mihail Geshoski 8ea2f036c1 MDL-83263 grade: Handle undefined array key on grade override revert 2024-09-25 17:03:28 +08:00
Jake Dallimore 9a293aae34 Merge branch 'MDL-80746-main-update-rebased' of https://github.com/mihailges/moodle 2024-09-25 14:45:26 +08:00
Andrew Nicols 0bb97d657b Merge branch 'MDL-83259' of https://github.com/paulholden/moodle 2024-09-25 13:18:37 +08:00
Jake Dallimore 0504fd353b MDL-80746 core: make comboboxsearch a named_templatable
This class was rolling its own version of get_template_name, which
meant that calling code needed to first call get_template and was forced
to use render_from_template(). This fixes that by implementing the
named_templatable interface and the get_template_name method. Now,
renderables that extend comboboxsearch can just be passed to render()
for rendering.
2024-09-25 12:47:07 +08:00
Jake Dallimore f80045bb10 MDL-80746 gradereport_user: fix action bar rendering
This code was unnecessarily pre-rendering some context properties used
by the action_menu, which also meant the mustache template expected HTML
in the context, which should be avoided. Instead of pre-rendering, just
export_for_template() and adjust the mustache template to render the sub
template for the respective templatables. Doing this also reveals two
unecessary renderer methods which have now been deprecated.
2024-09-25 12:47:07 +08:00
Jake Dallimore cf524d0172 MDL-80746 gradereport_grader: fix action bar rendering
This code was unnecessarily pre-rendering some context properties used
by the action_menu, which also meant the mustache template expected HTML
in the context, which should be avoided. Instead of pre-rendering, just
export_for_template() and adjust the mustache template to render the sub
template for the respective templatables.
2024-09-25 12:47:07 +08:00
Jake Dallimore b62aff2c3a MDL-80746 mod_assign: fix action bar rendering
As per prior commit, this fixes the export_for_template() method as
well as the template itself, ensuring no rendering is done in the
renderable, and ensuring the template defers to the comboboxsearch
or dialog partials with the data-only (no html) contexts.
2024-09-25 12:47:07 +08:00
Jake Dallimore 8982cc61b3 MDL-80746 core_course: fix user_selector rendering
This change:
- Moved the user selector button content out into its own
named_templatable renderable + updates calling code
2024-09-25 12:47:07 +08:00
Jake Dallimore c648839070 MDL-80746 core_course: fix group_selector rendering
This change:
- Fixes the group_selector constructor, removing the unnecessarily
deprecated param (this code is main-only, so no need to deprecate) and
fixes all calling code.
- moves the button and content into separate named_templatable
renderables, cleaning up the group_selector code so that it only needs
to make a single call to render and doesn't concern itself with contexts
of other renderables.
2024-09-25 12:47:07 +08:00
Jake Dallimore 8d1cdf6f8e MDL-80746 core_course: fix initial_selector rendering
This change:
- Fixes naming of initials_selector class (making plural to match its
predecessor), and addresses relevant calling code.
- Adds an initials_dropdown_form renderable, templatable
- Removes superfluous course/classes/output/actionbar renderer
- Replaces the rendering logic inside initial_selector with calls to
render the new renderable
- Simplifies the initials_selector class, using instance vars instead of
passing args to helpers, removing unnecessary vars, etc.
2024-09-25 12:47:07 +08:00
Kevin Percy 67379e7607 MDL-80746 behat: Update initials bar behat selector to core_course 2024-09-25 12:47:07 +08:00
Kevin Percy 303b226f6b MDL-80746 mod_assign: Move grading page initials selector to action bar 2024-09-25 12:47:07 +08:00
Huong Nguyen 939ca435bc MDL-82151 core: Fix upgrade note illegal whitespace 2024-09-25 11:45:49 +07:00
Huong Nguyen b1f982dffb MDL-82151 core: Fix upgrade note typo 2024-09-25 11:26:30 +07:00
Huong Nguyen 93c8843dc0 Merge branch 'MDL-82151-main' of https://github.com/andrewnicols/moodle 2024-09-25 11:25:12 +07:00
Kevin Percy 939e6b546a MDL-80746 core_course: Move initials selector from core_grades 2024-09-25 11:03:55 +08:00
Huong Nguyen ab9ed3336c MDL-74050 mod_assign: Upgrade notes 2024-09-25 09:08:32 +07:00
Huong Nguyen 9de70c3b5b Merge branch 'MDL-74050-main' of https://github.com/durenadev/moodle 2024-09-25 09:03:09 +07:00
Huong Nguyen 5f2d20ef64 Merge branch 'MDL-72856-main' of https://github.com/michael-milette/moodle 2024-09-25 08:58:04 +07:00
Safat ad5c3fd551 MDL-62640 filter_algebra: Fix coding style in algebradebug 2024-09-25 08:41:32 +07:00
meirzamoodle 04246c8aec MDL-62640 environment: Remove the deprecated slash argument check 2024-09-25 08:30:18 +07:00
meirzamoodle 979db77a63 MDL-62640 enrol_lti: Adjust code for slashargument removal 2024-09-25 08:30:18 +07:00
meirzamoodle 4d2ad0bff7 MDL-62640 core: Adjust code for slashargument removal 2024-09-25 08:30:18 +07:00
meirzamoodle 8b86d02d3d MDL-62640 filter_tex: Adjust code for slashargument removal 2024-09-25 08:30:18 +07:00
meirzamoodle 5da47d5ddf MDL-62640 filter_algebra: Adjust code for slashargument removal 2024-09-25 08:30:18 +07:00
meirzamoodle 83f6d355f7 MDL-62640 mod_wiki: Adjust code for slashargument removal 2024-09-25 08:30:18 +07:00
meirzamoodle 652f6b9994 MDL-62640 mod_scorm: Adjust code for slashargument removal 2024-09-25 08:30:18 +07:00
meirzamoodle 3b9fa14c78 MDL-62640 admin: Remove the slasharguments admin setting 2024-09-25 08:30:17 +07:00
Paul Holden 4d1dcc60d7 MDL-83259 smsgateway_aws: add to standard plugins list. 2024-09-24 17:05:07 +01:00
Paul Holden 246429e89a MDL-83259 sms: define plugin type strings and fix management URL. 2024-09-24 17:03:57 +01:00
Sara Arjona 97c2beae70 on-demand release 4.5dev+ 2024-09-24 16:54:09 +02:00
Sara Arjona 3140928651 NOBUG: Add upgrade notes 2024-09-24 16:54:09 +02:00
Daniel Ureña b4770461f7 MDL-74050 mod_assign: New WS remove_submission 2024-09-24 16:47:55 +02:00
Huong Nguyen df1e264d29 Merge branch 'MDL-83085-main' of https://github.com/meirzamoodle/moodle 2024-09-24 10:35:18 +07:00
Andrew Nicols 6a517f26a6 MDL-82151 core: Tidy up all upgrade notes 2024-09-24 10:40:34 +08:00
Stevani Andolo 23ca271d65 MDL-83173 course: Fixed overlaps courses cards three dots 2024-09-24 09:50:52 +08:00
Andrew Nicols 12d789ae47 MDL-82151 core: Improve empty line removal for upgrade notes 2024-09-24 09:48:01 +08:00
Andrew Nicols 3ace1920f1 MDL-82151 core: Ensure that upgrade notes are sorted
Prior to this change the order of upgrade notes changed depending on
what was encountered first when looping through the list of upgrade
notes.

This change ensures that the core component is always first, followed by
core subsystems sorted lexically, and finally a lexical sorting of
everything else.

The note types are also sorted in the order suggested at keep a
changelog, that is:
- Added
- Changed
- Deprecated
- Removed
- Fixed
2024-09-24 09:16:00 +08:00
Shamim Rezaie e5290c42ab Merge branch 'MDL-77625' of https://github.com/timhunt/moodle 2024-09-24 02:52:46 +10:00
Shamim Rezaie e9f789f6b0 Merge branch 'MDL-83162-main' of https://github.com/sarjona/moodle 2024-09-24 00:33:48 +10:00
Shamim Rezaie d9ecf425f2 Merge branch 'MDL-83164-main' of https://github.com/andrewnicols/moodle 2024-09-24 00:28:06 +10:00
Andrew Nicols 11216cc711 MDL-83164 core: Add support for namespaced renderer methods 2024-09-23 21:35:13 +08:00
Bas Brands 98dedc46ee MDL-70180 theme_boost: Allow form autoselect modal overflow
Co-authored-by: Mikel Martín <mikel@moodle.com>
2024-09-23 15:06:22 +02:00
Huong Nguyen f9d8e8b428 MDL-83236 install: Update the list of stale files for 4.5 2024-09-23 16:30:00 +07:00
Huong Nguyen aec2ea99c2 MDL-83123 AI: Switch to use Message Drawer Helper and PubSub 2024-09-23 15:51:33 +07:00
Huong Nguyen d59fc721ac Merge branch 'MDL-83123-main2' of https://github.com/raortegar/moodle 2024-09-23 15:50:46 +07:00
Paul Holden 8e46e810ff MDL-83235 qbank_columnsortorder: correct config retrieval ordering.
There is a unique index on plugin/name, so having a trailing order
clause on value would produce no effect. We also cannot order by
CLOB fields on Oracle, lest it complain loudly.
2024-09-23 08:51:05 +01:00
Huong Nguyen 803467e888 Merge branch 'MDL-83190-main' of https://github.com/mickhawkins/moodle 2024-09-23 14:32:17 +07:00
Sara Arjona 65fc64aa19 Merge branch 'MDL-81612' of https://github.com/timhunt/moodle 2024-09-23 07:36:07 +02:00
Sara Arjona 303d17ba9b Merge branch 'MDL-82681-main-3' of https://github.com/mihailges/moodle 2024-09-23 07:17:03 +02:00
Sara Arjona 39fbaf37a5 MDL-83162 theme: Review graded icons colors to improve accessiblity 2024-09-23 07:02:16 +02:00
Huong Nguyen 5ff9474322 Merge branch 'MDL-81924-main' of https://github.com/HuongNV13/moodle 2024-09-23 11:33:14 +07:00
Huong Nguyen 36de9d1c88 Merge branch 'MDL-83204-main' of https://github.com/roland04/moodle 2024-09-23 11:12:30 +07:00
Michael Hawkins c098b72faa MDL-81924 factor_sms: Improve MFA plugin table settings accessibility 2024-09-23 10:53:31 +07:00
Safat d5bdb07c28 MDL-81924 core: Remove unused AWS classes and tests
Originally implemented as MDL-80962.
2024-09-23 10:53:30 +07:00
Safat 310f5f50ee MDL-81924 smsgateway_aws: Move SMS related methods to AWS plugin
Originally implemented as MDL-80962.
2024-09-23 10:53:30 +07:00
Safat cceed874fd MDL-81924 factor_sms: Remove leftover AWS implementation
Originally implemented as MDL-80962.
2024-09-23 10:53:30 +07:00
Safat b5ac3257b5 MDL-81924 core_sms: Add SMS gateway management UI
Originally implemented as MDL-81732.

Co-authored by: Michael Hawkins <michaelh@moodle.com>
2024-09-23 10:53:30 +07:00
Safat 3348832b78 MDL-81924 smsgateway_aws: Add hooks for SMS gateway management
Originally implemented as MDL-81732.

Co-authored by: Michael Hawkins <michaelh@moodle.com>
2024-09-23 10:44:27 +07:00
Safat a1209ab882 MDL-81924 factor_sms: Add support for SMS gateway selection
Includes migrating AWS settings from the SMS MFA factor to a new gateway
in the SMS subsystem and notifying admins of the update.

Originally implemented as MDL-81732 and MDL-82660.

Co-authored by: Michael Hawkins <michaelh@moodle.com>
2024-09-23 10:44:26 +07:00
Safat cf75a3aad1 MDL-81924 factor_sms: Implement sms subsystem
Originally implemented as MDL-80961.
2024-09-23 10:43:39 +07:00
Safat a5f100e6dd MDL-81924 smsgateway_aws: Add AWS sms gateway plugin
Originally implemented as MDL-80961.
2024-09-23 10:43:39 +07:00
Andrew Nicols 10c3e4b770 MDL-81924 core_sms: Add new subsystem and plugintype
Originally implemented as MDL-80960.
2024-09-23 10:43:39 +07:00
Andrew Nicols 11ab65db5e MDL-81924 core: Include libphonenumber lite
Originally implemented as MDL-80960.
2024-09-23 09:45:41 +07:00
Andrew Nicols 58acf94c96 MDL-81924 core: Include Spatie\Cloneable
Originally implemented as MDL-80960.
2024-09-23 09:45:26 +07:00
Paul Holden aecb3000f6 MDL-82580 report_log: preserve filter by individual user. 2024-09-20 20:54:09 +01:00
Paul Holden 72c6b9d436 MDL-82581 mod_label: avoid overflowing length of label name. 2024-09-20 19:28:47 +01:00
Sara Arjona 525fc81cf6 on-demand release 4.5dev+ 2024-09-20 17:12:54 +02:00
Sara Arjona 15f4091392 NOBUG: Add upgrade notes 2024-09-20 17:12:53 +02:00
Sara Arjona ebaed307fc NOBUG: Fixed SVG browser compatibility 2024-09-20 17:12:35 +02:00
Sara Arjona b6bf649701 Merge branch 'install_main' of https://git.in.moodle.com/amosbot/moodle-install 2024-09-20 17:12:35 +02:00
Mihail Geshoski 2c2e9982d6 MDL-82681 mod_assign: Deprecate process_save_grading_options() 2024-09-20 22:54:02 +08:00
Mihail Geshoski 8f3ca13260 MDL-82681 mod_assign: Modify mod_assign_grading_options_form deprecation
This form class has been deprecated in MDL-82857, following the standard
class deprecation policy. It is highly unlikely that any external code
is using it; therefore, the form class has been removed, while the file
remains to prevent fatal errors from attempts to require or include it.
This approachy aligns with recent form deprecations in the quiz module.
Additionally, any code using this form and its supporting functions,
such as M.mod_assign.init_grading_options, has been removed.
2024-09-20 22:54:02 +08:00
Tim Hunt d5fe176df1 MDL-81612 assign: show current value when editing a student's extension
Also, if there is not currently an extension set, the set extension form
will default to whatever is the latest out of the due date, the cut-off date
and midnight tonight (in the server time-zone).
2024-09-20 12:19:57 +01:00
Tim Hunt 076be52682 MDL-81612 assign: test generation of extensions
Also, some other improvements.

* In Behat you can now use either idnumber of name to identify an
  assignment you are generating things for.
* create_submission generator methods now wants the cmid in $data['cmid']
  not the confusingly named 'assignid'. The old name is accepted, but
  generates a debugging warning. (That will fail the test, but in a way
  that explains how to fix it.)
2024-09-20 12:19:57 +01:00
Michael Hawkins 2cccb1d80d MDL-83190 AI: Update user policy to copy approved by legal 2024-09-20 18:30:33 +08:00
Huong Nguyen f456c54bdf MDL-83092 AI: Fix Behat failure for Course Assistance 2024-09-20 15:50:29 +07:00
raortegar fa931c6885 MDL-83123 AI: Course Assistance Placement Drawer compatibility. 2024-09-20 09:26:03 +02:00
Huong Nguyen 1cabd82999 Merge branch 'MDL-83055' of https://github.com/paulholden/moodle 2024-09-20 11:03:32 +07:00
Ilya Tregubov 7c75929ffa Merge branch 'MDL-82814-main' of https://github.com/andrewnicols/moodle 2024-09-20 10:37:05 +08:00
Jun Pataleta fa31b3f3cb Merge branch 'MDL-83092-main' of https://github.com/junpataleta/moodle 2024-09-20 10:30:33 +08:00
Matt Porritt cfe65f1772 MDL-83092 AI: Placement action needs to check status of provider action
When all providers for a certain action are disabled, or if providers
are enabled but all individual actions of a type are disabled, then
a warning is shown on the placement admin settings page for actions
that have no providers available.

Also the text editor placement will not show the option to generate
images or text if there are no actions available.
2024-09-20 10:26:49 +08:00
Ilya Tregubov 1d48c46edb Merge branch 'MDL-82663' of https://github.com/paulholden/moodle 2024-09-20 10:17:02 +08:00
Huong Nguyen 7c7e35b02d Merge branch 'MDL-83182-main' of https://github.com/meirzamoodle/moodle 2024-09-20 09:06:05 +07:00
Andrew Nicols b1b4dc4cc9 MDL-83209 cache: Correct class import 2024-09-20 09:47:59 +08:00
Andrew Nicols e9165e309b Merge branch 'MDL-83209-main' of https://github.com/PhMemmel/moodle 2024-09-20 09:47:10 +08:00
Huong Nguyen 2812dbff69 Merge branch 'MDL-82740-main' of https://github.com/junpataleta/moodle 2024-09-20 08:44:03 +07:00
Ilya Tregubov 85011b102e Merge branch 'MDL-74188' of https://github.com/paulholden/moodle 2024-09-20 09:39:20 +08:00
Ilya Tregubov 847fa95212 Merge branch 'MDL-82488' of https://github.com/paulholden/moodle 2024-09-20 09:24:51 +08:00
Paul Holden 4fc4fb27ea MDL-82715 customfield_number: coding style cleanup/clarification. 2024-09-19 18:36:36 +01:00
Paul Holden c9a01b4354 Merge branch 'MDL-82715-main-rebased' of https://github.com/ilyatregubov/moodle into main 2024-09-19 17:42:12 +01:00
Sara Arjona e4e8bc8bbb Merge branch 'MDL-82845-main' of https://github.com/ferranrecio/moodle 2024-09-19 18:29:37 +02:00
Laurent David 2aa7790804 MDL-83050 core_courseformat: Fix index highlight for collapsed section
* Collapsed sections on course index is not highlighting the correct
element when scrolling over subelements.
2024-09-19 17:48:39 +02:00
Mihail Geshoski f86a9fd520 MDL-82681 mod_assign: Remove temporary class grading_options_temp_form
The grading_options_temp_form class and
process_save_grading_options_temp() method were temporarily introduced
to migrate form elements across the submission page while preserving
the original class and method, as they are part of the public API and
may be used by external code. Now that the migration is complete, both
the temporary class and method can be removed.
2024-09-19 23:17:54 +08:00
Mihail Geshoski 15fc229e77 MDL-82681 mod_assign: Revert improper code removal
The grading_options_form class was deprecated in 4.5, and a temporary
copy of this class was introduced to facilitate the migration of its
elements across different areas of the submission page, ensuring no
breakages if any external code is using this form (MDL-82857).
However, the process_save_grading_options() method, which processes
data from this form, was modified and this should not have occurred.
To maintain proper backward compatibility, a similar approach should
be taken by introducing a temporary copy of the method. Both the
temporary method and temporary form class should be removed once the
migration of elements is complete.
2024-09-19 23:17:43 +08:00
Mihail Geshoski ca293159e7 MDL-82681 mod_assign: Clean up old filters
Removes the old Marker and Suspended participants filters from the
assignment submissions page, along with all associated logic.
Also, cleans up residual code from the old marking workflow filter
that was not properly removed in MDL-82508.
2024-09-19 23:17:28 +08:00
Mihail Geshoski a97231fc06 MDL-82681 mod_assign: Reset Marker and Suspended participants filters
Extends the functionality of the 'Clear all' filters option to reset
the new 'Marker' and 'Suspended participants' filters on the
assignment submissions page.
2024-09-19 23:17:01 +08:00
Mihail Geshoski 9265ab5ca8 MDL-82681 mod_assign: Add Suspended participants to Advanced filters
Adds 'Suspended participants' filter to the 'Advanced' filters
component on the assignment submissions page.
2024-09-19 23:16:49 +08:00
Mihail Geshoski ac1d386443 MDL-82681 mod_assign: Add Marker to Advanced submission filters
Adds 'Marker' filter to the 'Advanced' filters component on the
assignment submissions page.
2024-09-19 23:16:35 +08:00
Sara Arjona c35427249b Merge branch 'MDL-80890-main-fix' of https://github.com/junpataleta/moodle 2024-09-19 16:34:52 +02:00
Jun Pataleta 3fc594f72b MDL-80890 tiny_aiplacement: Prefetch the correct lang string 2024-09-19 22:14:47 +08:00
Sara Arjona 2236a2f449 Merge branch 'mdl-82784_main_wip' of https://github.com/james-cnz/moodle 2024-09-19 16:07:38 +02:00
Jun Pataleta 23a7976a4b MDL-82740 core: Consider theme when checking for monologo icons 2024-09-19 20:47:18 +08:00
Paul Holden 14be75dc41 MDL-82813 group: correctly format group description property. 2024-09-19 13:44:52 +01:00
Mikel Martín 27144e5474 MDL-83204 tool_policy: Fix footer link spacing 2024-09-19 11:27:32 +02:00
ferranrecio 37ce4e8ece MDL-82845 course: fix subsection navigation nodes 2024-09-19 11:26:28 +02:00
Mikel Martín bacb1ba961 MDL-83204 tool_mobile: Fix footer link spacing 2024-09-19 11:18:09 +02:00
Philipp Memmel 47ba728eae MDL-83209 core_cache: Fix regressions by enforcing codestyle 2024-09-19 10:42:52 +02:00
Huong Nguyen d29f4cd06c Merge branch 'MDL-83199-main' of https://github.com/mihailges/moodle 2024-09-19 15:40:15 +07:00
ferranrecio bfe9e6328a MDL-82845 mod_subsection: change maturity to beta 2024-09-19 10:30:57 +02:00
ferranrecio 4d3d5b3687 MDL-82845 core_course: method to get all cm_info from a section_info 2024-09-19 10:30:57 +02:00
Ilya Tregubov 8b5b91475e MDL-82715 customfield_number: Add automatically populated providers.
Added number of activity provider and also hooks for plugins.
2024-09-19 16:21:50 +08:00
Sara Arjona 3e65c22adb Merge branch 'MDL-83188' of https://github.com/paulholden/moodle 2024-09-19 10:20:14 +02:00
Ilya Tregubov eecc29a6bf Merge branch 'MDL-82909' of https://github.com/paulholden/moodle 2024-09-19 15:08:12 +08:00
Ilya Tregubov adaa1944af Merge branch 'MDL-82494' of https://github.com/paulholden/moodle 2024-09-19 14:04:48 +08:00
Andrew Nicols 7f8bc2008d MDL-83205 core: Ensure that redis lock expiry is valid
PHP allows the specification of invalid values for `max_execution_time`,
including negative values. These should be normalised the same way that
an empty (unlimited) value is.
2024-09-19 13:36:11 +08:00
Ilya Tregubov 6f9f396ec6 Merge branch 'MDL-81987_main' of https://github.com/marxjohnson/moodle 2024-09-19 12:42:50 +08:00
Huong Nguyen 0b09bace52 Merge branch 'MDL-83122-main' of https://github.com/safatshahin/moodle 2024-09-19 10:39:19 +07:00
Andrew Nicols ea11d4674c MDL-82814 router: Handle ssl and reverse proxies in router
When a terminating SSL proxy is in use, the scheme and port received by
the web server may be different to the wwwroot.

When a reverse proxy is in use, the scheme, port, and host name received
by the web server may be different to the wwwroot.

In both of these cases the incoming request URI must be updated to use
the correct host scheme, and port. In the case of the reverse proxy,
the host name must also be updated.

In both cases the actual path is expected to be correct, and neither the
path nor query parameters should be modified.
2024-09-19 11:22:47 +08:00
Jun Pataleta c7cf081097 MDL-79628 core: Add missing deprecation note
* Add the missing deprecation note for the timeout parameter in
the PHPDoc block of the navigation_cache's constructor.
2024-09-19 11:17:05 +08:00
Jun Pataleta 254f752b76 Merge branch 'MDL-79628-move-navcache-to-muc-feature' of https://github.com/rajandangi/moodle 2024-09-19 11:14:11 +08:00
Huong Nguyen 8921272b51 Merge branch 'MDL-83082-main' of https://github.com/junpataleta/moodle 2024-09-19 09:43:32 +07:00
Jun Pataleta 92e842dceb Merge branch 'MDL-80890-main' of https://github.com/HuongNV13/moodle 2024-09-19 10:33:13 +08:00
Huong Nguyen cb4e621ce9 MDL-80890 AI: Course Assistance Placement
Co-authored-by: Matt Porritt <pozze30@gmail.com>
2024-09-19 09:30:10 +07:00
Ilya Tregubov b022a2794d Merge branch 'MDL-80750-main' of https://github.com/mihailges/moodle 2024-09-19 09:51:33 +08:00
Jun Pataleta 337346fefe Merge branch 'MDL-80965-main-behat-fix' of https://github.com/lameze/moodle 2024-09-19 08:39:45 +08:00
AMOS bot da57b89c06 Automatically generated installer lang files 2024-09-19 00:09:37 +00:00
Simey Lameze 3d64e48f62 MDL-80965 behat: remove wrong tag from step 2024-09-19 07:42:22 +08:00
Sara Arjona 9a0dcfd9e0 Merge branch 'MDL-74917-main-wrong-post-actions-list-in-statslib' of https://github.com/melanietreitinger/moodle 2024-09-18 17:19:09 +02:00
Sara Arjona 20d4b14ee0 Merge branch 'MDL-82971_upgrade-log' of https://github.com/ziegenberg/moodle 2024-09-18 17:10:12 +02:00
Sara Arjona 3c712cbea3 Merge branch 'MDL-83153-main-option1-2' of https://github.com/junpataleta/moodle 2024-09-18 16:40:00 +02:00
Jun Pataleta a3b837e135 MDL-83153 core: Upgrade step for instances that need conversion
Add an upgrade step to convert `ai_action_register.success` columns
with binary type to an integer type with length 1.
2024-09-18 21:06:48 +08:00
Shamim Rezaie 674b05d4cf Merge branch 'main_MDL-83073' of https://github.com/mattporritt/moodle 2024-09-18 20:45:10 +10:00
meirzamoodle 2f1e4e4f29 MDL-83182 core_files: Add a reference to the create_file_from_string() 2024-09-18 17:39:14 +07:00
Mihail Geshoski 899f0c92f3 MDL-83199 core: Adjust the padding for the bulk actions content area 2024-09-18 17:29:47 +08:00
Huong Nguyen 471cd47754 Merge branch 'main_MDL-82411' of https://github.com/mattporritt/moodle 2024-09-18 16:21:50 +07:00
Huong Nguyen 1d7efd8b12 Merge branch 'MDL-81278-main' of https://github.com/mickhawkins/moodle 2024-09-18 16:08:23 +07:00
Mihail Geshoski a8d3d64ae2 MDL-80750 core: Define deselect action in bulk actions subclasses
The base bulk actions class supports deselecting all selected items but
lacks knowledge of the element types. To enhance flexibility and
maintain the class's generic nature, this change introduces a mechanism
that allows each subclass to explicitly define how to reset the
attributes indicating a selected state.
2024-09-18 15:48:10 +08:00
Mihail Geshoski 431e7961a8 MDL-80750 mod_assign: Move 'notify students' option into sticky footer 2024-09-18 15:48:09 +08:00
Mihail Geshoski d62f653e47 MDL-80750 mod_assign: Generic bulk action form template 2024-09-18 15:48:09 +08:00
Shamim Rezaie 35cabfcc7e MDL-80750 core: Use roving tabindex to manage focus for bulk actions
Implement roving focus for toolbars.
See https://www.w3.org/WAI/ARIA/apg/patterns/toolbar/
2024-09-18 15:48:09 +08:00
Shamim Rezaie 1e09fddd01 MDL-80750 theme_boost: Fix assumption about presence of .dropdown
Updated ARIA handling code to not assume the presence of a .dropdown
element.
- Modified keypress event listener to match
  `[role="menu"] [role="menuitem"]` directly.
- Changed keyboard navigation handling to avoid assuming `.dropdown`.
- Updated focus trapping to use `.dropdown-menu[role="dialog"]` selector
  ensuring compatibility with `.dropup` and other variations.
- Ensured focus untrapping logic uses the same improved selector.
2024-09-18 15:48:09 +08:00
Shamim Rezaie 6bc8bf6360 MDL-80750 core: Limit bulk action buttons in sticky footer to 5 2024-09-18 15:48:09 +08:00
Shamim Rezaie 512f163309 MDL-80750 mod_assign: Move quick grading submit button to sticky footer 2024-09-18 15:48:09 +08:00
Shamim Rezaie b491cc3a49 MDL-80750 core: Maintain order of actions in renderBulkActions
The order of bulk actions was not preserved when rendering the bulk
actions content due to asynchronous operations. This fix ensures that
the actions are added to the `data.actions` array in the correct order
by using a temporary array to store the promises and then processing
them sequentially.

Also improved the JSDoc for better clarity on what the function returns
and what it resolves to.
2024-09-18 15:48:09 +08:00
Shamim Rezaie fc5b396a69 MDL-80750 mod_assign: Show bulk action controls on the sticky footer 2024-09-18 15:48:09 +08:00
Shamim Rezaie 5f6fe3e02f MDL-80750 mod_assign: gradingtable should not print paging bar 2024-09-18 15:48:09 +08:00
Shamim Rezaie 5a5b16d207 MDL-80750 mod_assign: Show sticky footer with pagination on grading page 2024-09-18 15:48:09 +08:00
Ilya Tregubov fb54a5a3f5 Merge branch 'MDL-80965-main' of https://github.com/ilyatregubov/moodle 2024-09-18 15:30:40 +08:00
Ilya Tregubov 9c0e3c85eb MDL-80965 mod_quiz: Code style fixes. 2024-09-18 15:29:25 +08:00
Luca Bösch 97e90f2210 MDL-80965 mod_quiz: Put back random q category on the question page. 2024-09-18 15:25:09 +08:00
Matt Porritt 75382a1e92 MDL-82411 AI: Provider Plugin - Azure AI
Add an AI provider plugin for Microsoft Azure AI.
The Azure AI provider supports generating images,
as well as generating and summarising text.
2024-09-18 17:09:59 +10:00
Sara Arjona 2d0df1da23 Merge branch 'MDL-71823-add-user-menu-hook' of https://github.com/gbarat87/moodle 2024-09-18 07:19:53 +02:00
Matt Porritt 030f5ffce7 MDL-83073 AI: Image generation - Small screen display issue
Improve the image generation model and medium and small
screen resolutions. Fixes an issue where elements overlap
and lower screen resolutions.
2024-09-18 13:14:31 +10:00
Ilya Tregubov a921078df6 Merge branch 'main_MDL-83158' of https://github.com/mattporritt/moodle 2024-09-18 08:57:05 +08:00
AMOS bot fa898b1010 Automatically generated installer lang files 2024-09-18 00:07:48 +00:00
Guillaume Barat eadf38cf45 MDL-71823 user: Add hook for extending user menu 2024-09-18 08:17:40 +10:00
Paul Holden 2181edd1a7 MDL-83188 block_private_files: style expand/collapse icons correctly. 2024-09-17 17:15:11 +01:00
Paul Holden 4ee58af853 MDL-82973 tool_usertours: add missing filelib library require. 2024-09-17 16:49:08 +01:00
Sara Arjona 2892a03387 Merge branch 'MDL-82389-master' of https://github.com/ssj365/moodle 2024-09-17 17:31:41 +02:00
Sara Arjona 031edf2ab3 Merge branch 'MDL-81663-main' of https://github.com/safatshahin/moodle 2024-09-17 17:28:52 +02:00
Julien 5ec6096eea MDL-77625 question restore: test restoring a quiz into a course twice
The verifies that the previous two commits are doing the right thing.
2024-09-17 16:16:26 +01:00
Tim Hunt c248dee33c MDL-77625 question restore: fix restore of existing questions
Continuing from the last commit, the code to restore question
bank entries, versions and questions, was not taking note of
whether the first stage had indentified questions that did not
need to be restored. This is tricky, but the mapping can only be
worked out for questions, but in the backup file, the questions are
inside the question_bank_entries, and versions, so we encounter
those first.

Now, the code just saves the QBE and QV when it encounters them,
and then does all the processing when it gets to the question,
correctly taking note of whether each question should be restored or not.
In cases where a particular question does not need to be restored,
we still set up the corresponding mappings.
2024-09-17 16:16:26 +01:00
Tim Hunt bab665dd40 MDL-77625 question restore: fix pre-parsing of questions
Restore of categories and questions happens in several phases.
First, the file is scanned for which questions and categories
it contains, to work out if these are new questions which need
to be restored, or if they already exist in the database in a
place that can be used.

That code had not been updated to cope with the Moodle 4.0
versioning changes, so it is updated here (while still keeping
the code to cope with the old backup format.)
2024-09-17 16:14:21 +01:00
Jun Pataleta 0d10fda3fb MDL-83153 core: Set ai_action_register.success as INT(1) 2024-09-17 23:10:09 +08:00
Sara Arjona f6141a67d8 on-demand release 4.5dev+ 2024-09-17 15:10:00 +02:00
Sara Arjona 504eb68404 NOBUG: Add upgrade notes 2024-09-17 15:10:00 +02:00
Sara Arjona 0a92bbc07f NOBUG: Fixed SVG browser compatibility 2024-09-17 15:09:46 +02:00
Safat d60985257e MDL-83122 core_communication: Fix exception for delete user hook 2024-09-17 15:31:16 +10:00
Huong Nguyen aec7313e12 Merge branch 'main_MDL-82945' of https://github.com/mattporritt/moodle 2024-09-17 08:49:30 +07:00
Huong Nguyen 9f2e45a719 MDL-83124 theme: Regenerate fontawesomeicons.json 2024-09-17 08:46:15 +07:00
Huong Nguyen 15cc34791c Merge branch 'MDL-83124-main' of https://github.com/sarjona/moodle 2024-09-17 08:45:59 +07:00
Matt Porritt 68ba22d80f MDL-83158 Unit tests: Exception when starting database session
Fixes an error where when reading a session the conditional
test never fails even when a session record doesn't
exist in the database.
2024-09-17 08:32:50 +10:00
Sara Arjona d0f79969d1 Merge branch 'MDL-82407-main' of https://github.com/laurentdavid/moodle 2024-09-16 12:53:46 +02:00
sam marshall 7544d26dc1 MDL-83163 core_course: Fresh install fails if dependency on format
If any plugin had dependency on a course format, Moodle fresh install
showed dependency errors (even though course format exists).
2024-09-16 11:46:39 +01:00
Jun Pataleta 5f5a3f5a7b Merge branch 'MDL-83144' of https://github.com/paulholden/moodle 2024-09-16 16:36:36 +08:00
Huong Nguyen c7c2eddfb7 Merge branch 'main_MDL-82609' of https://github.com/mattporritt/moodle 2024-09-16 15:31:35 +07:00
Matt Porritt 2ae9b25ad4 MDL-82609 AI: Provider - Action settings
Allow each each Provider plugin to be able
to specify settings for the actions that they
support. Adds admin setting support for these
settings.
2024-09-16 18:19:22 +10:00
Paul Holden 99be8d5676 MDL-83134 ai: context/capability checks for setting provider state. 2024-09-16 16:08:27 +08:00
Jun Pataleta 2ea8adc589 Merge branch 'MDL-83127-main' of https://github.com/lucaboesch/moodle 2024-09-16 15:58:57 +08:00
Jun Pataleta 17cb8ba522 MDL-83109 tool_componentlibrary: Regenerate fontawesomeicons.json 2024-09-16 15:55:39 +08:00
Jun Pataleta ce2fde56c6 Merge branch 'MDL-83109-main' of https://github.com/sarjona/moodle 2024-09-16 15:55:21 +08:00
Sara Arjona df45f44e63 Merge branch 'MDL-82875' of https://github.com/timhunt/moodle 2024-09-16 09:44:02 +02:00
Sara Arjona b163e9c2d0 Merge branch 'MDL-82541-main' of https://github.com/ferranrecio/moodle 2024-09-16 09:38:35 +02:00
Michael Hawkins d96db9cb11 MDL-81278 core: Update security.txt expiry 2024-09-16 14:48:50 +08:00
Laurent David abb0b013a5 MDL-83064 core_theme: Fix Max Section message accessibility
* Fix constrast ratio of Max section message
2024-09-16 05:22:56 +02:00
Jun Pataleta dd96cf9e19 Merge branch 'MDL-83053-main' of https://github.com/aanabit/moodle 2024-09-16 11:20:54 +08:00
Safat 71291e342d MDL-81663 editor_tiny: Updates to core for tiny upgrade 2024-09-16 11:49:33 +10:00
Safat d55d720a86 MDL-81663 editor_tiny: Add new translated strings 2024-09-16 11:30:16 +10:00
Safat 77a2d3d4d1 MDL-81663 editor_tiny: Upgrade tiny to 7.3.0 2024-09-16 11:14:30 +10:00
Paul Holden 9aed047b5d MDL-83144 mod_quiz: style attempt summary flagged icon appropriately. 2024-09-15 12:28:01 +01:00
Paul Holden 9495c2d7a7 MDL-81157 files: consistent repository button styling on small screen. 2024-09-15 11:12:56 +01:00
Paul Holden 2ec0d407f2 MDL-82909 theme_boost: ensure we target immediate loading icon only.
Ignoring those used within inplace editable components in the table.
2024-09-15 11:11:37 +01:00
Paul Holden b181f297ce MDL-82909 javascript: replace custom loading icon with existing module. 2024-09-15 11:11:37 +01:00
Paul Holden 71a55aa368 MDL-83148 assignfeedback_editpdf: style icons in comment editing menu. 2024-09-15 11:05:04 +01:00
Matt Porritt 598c84cec9 MDL-82945 AI: Image watermark rendering
When an image is generated using AI a watermark is added.
This patch examines the area of the image where the water
mark is to be added and changes the font color of the mark
to either black or white, so it can be read against the
background color.
2024-09-14 07:53:47 +10:00
Jun Pataleta e065dea97b MDL-83082 gradereport_history: Add icon CSS class to loading icon 2024-09-14 00:34:27 +08:00
Jun Pataleta 2c9a6c8535 MDL-83082 core_user: Set a size for the loading icon background image 2024-09-14 00:34:26 +08:00
Tim Hunt 60a1a65eea MDL-82875 question export: test for not exporting hidden questions 2024-09-13 16:03:40 +01:00
Sara Arjona 086757bd8c MDL-83109 theme: Update core:t/completion_fail icon and resize it
This commit:
- Updates core:t/completion_fail from fa-times to fa-xmark
- Reduces the font size of course index completion icons from 12px to 10px.
2024-09-13 16:14:55 +02:00
Sara Arjona da28389a59 MDL-83124 theme: Revert t/move icon to arrows-up-down
Change the core:t/move icon from four-directional arrows (up-down-left-right)
to two-directional arrows (up-down) to reduce confusion, as it is used in areas
where drag-and-drop functionality is not supported
2024-09-13 16:10:08 +02:00
Daniel Ziegenberg ea478e864e MDL-82971 libraries: Upgrade psr/log to 3.0.2
Signed-off-by: Daniel Ziegenberg <daniel@ziegenberg.at>
2024-09-13 15:08:42 +02:00
Vithusha Kethiri 352ca59dc6 MDL-82875 qbank_export: Fix removing hidden questions from the export 2024-09-13 13:08:28 +01:00
Sara Arjona 09e56f2d1a on-demand release 4.5dev+ 2024-09-13 13:22:02 +02:00
Sara Arjona 3cc3569974 NOBUG: Add upgrade notes 2024-09-13 13:22:02 +02:00
Sara Arjona 9ba7917c89 NOBUG: Fixed SVG browser compatibility 2024-09-13 13:21:49 +02:00
Sara Arjona e56bfff22e Merge branch 'install_main' of https://git.in.moodle.com/amosbot/moodle-install 2024-09-13 13:21:49 +02:00
Luca Bösch bdd8770347 MDL-83127 qtype_ordering: handle NULL in question_hints table entries. 2024-09-13 12:06:58 +02:00
Laurent David f7b3f6930f MDL-82407 core_courseformat: Fix positionning for course index
* ScrollSpy relies on offset to determine the current element in
in the course index. We need to make sure that those elements are
not positionned so the offset is calculated from the top of the page.
2024-09-13 10:50:15 +02:00
Laurent David 43d1898085 MDL-82407 core_courseformat: Fix course index for subsections
* Subsection should be exported in the course index in
the right order with all submodules.
2024-09-13 10:50:15 +02:00
Amaia Anabitarte f75d148127 MDL-83053 format_singleactivity: Remove subsection from activities list 2024-09-13 09:13:50 +02:00
Jun Pataleta 140ef843a7 Merge branch 'MDL-82626-main' of https://github.com/davewoloszyn/moodle 2024-09-13 11:54:45 +08:00
David Woloszyn 2b1d330783 MDL-82626 hub: Registration collects AI usage data 2024-09-13 13:07:23 +10:00
Huong Nguyen ace5d7d56b MDL-83084 theme: Regenerate fontawesomeicons.json 2024-09-13 09:59:27 +07:00
Huong Nguyen ff39465628 Merge branch 'MDL-83084-main' of https://github.com/sarjona/moodle 2024-09-13 09:57:13 +07:00
Jun Pataleta a5b433d0f4 MDL-67541 core_grades: Remove trailing space in max attribute value 2024-09-13 10:40:10 +08:00
Jun Pataleta fefd5fa37c Merge branch 'MDL-67541-main' of https://github.com/ilyatregubov/moodle 2024-09-13 10:37:51 +08:00
Jun Pataleta 971bfc80ac Merge branch 'MDL-82935-main' of https://github.com/sarjona/moodle 2024-09-13 10:33:59 +08:00
Jun Pataleta c2e3c57d17 Merge branch 'MDL-82844-main' of https://github.com/dpalou/moodle 2024-09-13 10:32:02 +08:00
Sara Arjona cb1d76b2f8 Merge branch 'MDL-83116' of https://github.com/paulholden/moodle 2024-09-12 18:15:13 +02:00
Paul Holden 41fe473882 MDL-83094 customfield: align persistent definitions with DB schema.
Where the field/category tables allow nulls, the definition within
each corresponding persistent should match.
2024-09-12 16:29:25 +01:00
ferranrecio 9795add527 MDL-82541 core_courseformat: improve orphan section visualitzation 2024-09-12 16:52:14 +02:00
ferranrecio 393d4f6043 MDL-82541 core_courseformat: fix orphan sections sorting 2024-09-12 16:30:12 +02:00
ferranrecio 9f9f5f6821 MDL-82541 core_courseformat: fix orphaned sections display 2024-09-12 16:12:13 +02:00
ferranrecio 9c55a02fb1 MDL-82541 core_course: fix orphaned sections logic 2024-09-12 16:07:42 +02:00
ferranrecio ebaf06848c MDL-82541 core_courseformat: delegated sections in disabled plugins 2024-09-12 16:07:42 +02:00
Paul Holden 960e37ccd6 MDL-83055 qbank_managecategories: rollback transaction on exception. 2024-09-12 14:59:19 +01:00
Paul Holden cd2c86b301 MDL-83116 output: apply appropriate icon class to collapsible region. 2024-09-12 14:48:51 +01:00
Dani Palou 59ebca88bb MDL-82844 ws: Return home page url in get_site_info WebService 2024-09-12 15:03:25 +02:00
Ilya Tregubov 912da0c86e MDL-67541 core_grades: Add max and min grade to mustache. 2024-09-12 16:24:21 +08:00
Jun Pataleta f416dc4c6a Merge branch 'MDL-83068-main' of https://github.com/sarjona/moodle 2024-09-12 16:22:04 +08:00
Melanie Treitinger 89d07dba51 MDL-74917 core: fix typo in function stats_get_post_actions
Fix phpunit test and apply coding guidelines.
2024-09-12 10:15:57 +02:00
Jun Pataleta a5ee12473b Merge branch 'MDL-83074-main-2' of https://github.com/raortegar/moodle 2024-09-12 16:06:07 +08:00
Paul Holden 2c3c0804de MDL-82602 webservice: correct config link to enable for mobile. 2024-09-12 08:04:59 +01:00
Jun Pataleta 37d13cb706 Merge branch 'MDL-82627-main-phpunit' of https://github.com/HuongNV13/moodle 2024-09-12 14:10:52 +08:00
Huong Nguyen eae6d64624 MDL-82627 AI: Database modification
Allow nullable value for `prompt` and `sourceurl` columns
2024-09-12 13:03:53 +07:00
Jun Pataleta 7bebfbd8b9 Merge branch 'mdl-83046_main' of https://github.com/james-cnz/moodle 2024-09-12 13:40:29 +08:00
Huong Nguyen 78df6e927b Merge branch 'MDL-83043-main' of https://github.com/meirzamoodle/moodle 2024-09-12 10:51:05 +07:00
Huong Nguyen 48f6e57073 Merge branch 'MDL-82545_main' of https://github.com/marxjohnson/moodle 2024-09-12 10:46:36 +07:00
Huong Nguyen cdc136e136 Merge branch 'MDL-81816-main' of https://github.com/laurentdavid/moodle 2024-09-12 10:39:14 +07:00
Huong Nguyen 969b3385ac Merge branch 'MDL-82959-main' of https://github.com/sh-csg/moodle 2024-09-12 10:34:23 +07:00
AMOS bot f86bc3641e Automatically generated installer lang files 2024-09-12 00:07:46 +00:00
Shamiso.Jaravaza 925ba5a221 MDL-82389 mod_bigbluebuttonbn: Fix disablenotes 2024-09-11 09:30:22 -06:00
Jun Pataleta a442f8dd13 Merge branch 'MDL-82847-main' of https://github.com/aanabit/moodle 2024-09-11 17:26:03 +08:00
Huong Nguyen 45b42a325c Merge branch 'MDL-68676-main' of https://github.com/rhell4/moodle 2024-09-11 15:49:52 +07:00
Jun Pataleta 9485e6918b Merge branch 'MDL-83083-main' of https://github.com/sarjona/moodle 2024-09-11 16:48:48 +08:00
Huong Nguyen 840504bd6d Merge branch 'MDL-75692-main' of https://github.com/laurentdavid/moodle 2024-09-11 15:45:00 +07:00
Jun Pataleta c750565f8a Merge branch 'MDL-82283' of https://github.com/marinaglancy/moodle 2024-09-11 16:34:19 +08:00
raortegar 94a373f79b MDL-83074 AI: Placement Text Editor - White icon on button 2024-09-11 10:33:12 +02:00
Jun Pataleta f2fbdafff2 Merge branch 'MDL-83052' of https://github.com/marinaglancy/moodle 2024-09-11 16:28:25 +08:00
Jun Pataleta d078e0f5f0 Merge branch 'MDL-82270-extra_backslash' of https://github.com/mathbruyen/moodle 2024-09-11 15:53:41 +08:00
Jun Pataleta 9162b47424 Merge branch 'MDL-82492-405' of https://github.com/vladaskidanovas/moodle 2024-09-11 15:36:40 +08:00
Jun Pataleta f8309b846d Merge branch 'MDL-82627-main-fix' of https://github.com/HuongNV13/moodle 2024-09-11 15:32:23 +08:00
Huong Nguyen feaa2939c6 MDL-82627 AI: Fix install.xml and upgrade.php mismatch 2024-09-11 14:07:30 +07:00
meirzamoodle a933455be2 MDL-83085 redis: Use named parameters if supported 2024-09-11 12:15:14 +07:00
Jun Pataleta f631b4fdcc Merge branch 'MDL-82627-main-4' of https://github.com/HuongNV13/moodle 2024-09-11 12:50:48 +08:00
Huong Nguyen ceb30b01b2 MDL-82627 AI: Upgrade notes 2024-09-11 11:25:17 +07:00
Huong Nguyen f4860573fa MDL-82627 AI: Placement Text Editor - Improvement
- Quiz is setting the text editor id in this format: `#q2:1_answer`.
   This will break the querySelector(). We need to update the code to
   escape those colons.
 - Generate AI image requires users to have the capability to upload files.
   A new extra condition is added to verify this one.
2024-09-11 11:25:17 +07:00
Huong Nguyen 7809ad9d96 MDL-82627 AI: Rename TinyMCE placement to a more generic name
To make the plugin name a bit more generic, we renamed as below
 - Shortname: `aiplacement_tinymce` -> `aiplacement_editor`
 - Fullname: `TinyMCE Editor Placement` -> HTML Text Editor Placement
2024-09-11 11:25:17 +07:00
Huong Nguyen 9746d9d5a1 MDL-82627 AI: Make some methods abstract 2024-09-11 11:25:17 +07:00
Huong Nguyen 3300712cda MDL-82627 AI: Extra PHPUnit tests for OpenAI provider 2024-09-11 11:25:17 +07:00
Andrew Nicols 4adc7257e9 MDL-82627 AI: Improve and restructure 2024-09-11 11:25:16 +07:00
Andrew Nicols 3e2d581628 MDL-82627 PHPUnit: Add helper to mock http_client 2024-09-11 11:25:16 +07:00
Andrew Nicols 74d1f5f9ce MDL-82627 PHPUnit: Add helper to get path to fixture 2024-09-11 11:25:16 +07:00
Andrew Nicols 52855d0bb0 MDL-82627 AI: AI Image code cleanup 2024-09-11 11:25:16 +07:00
Andrew Nicols acc1f4136b MDL-82627 AI: Placement Text Editor - Code cleanup
Co-authored-by: Huong Nguyen <huongnv13@gmail.com>
2024-09-11 11:25:16 +07:00
Huong Nguyen 253253eede MDL-82627 AI: Code cleanup
Co-authored-by: Meirza <meirza.arson@moodle.com>
2024-09-11 11:25:16 +07:00
Matt Porritt 7c622cde3f MDL-82627 AI: Placement Text Editor - Image & Text
Initial AI placement plugin for the TinyMCE editor.
It includes a TinyMCE plugin and the AI placement plugin.
It supports both text and image generation.

Originally implemented in MDL-80891

Co-authored-by: Huong Nguyen <huongnv13@gmail.com>
2024-09-11 11:25:14 +07:00
Matt Porritt ece707e40e MDL-82627 AI: Provider Plugin - Open AI
Initial Open AI API Provider plugin.
Originally implemented in MDL-80894

Co-authored-by: Huong Nguyen <huongnv13@gmail.com>
2024-09-11 11:02:53 +07:00
Huong Nguyen 8186e6ce25 MDL-82627 core: Add testsuite for AI
Originally implemented in MDL-80889
2024-09-11 11:02:53 +07:00
Huong Nguyen 67e6898853 MDL-82627 AI: Privacy provider
Originally implemented in MDL-82781
2024-09-11 11:02:53 +07:00
Matt Porritt 086ac975f0 MDL-82627 AI: LMS Subsystem
Initial implementation of the LMS AI subsystem.
Originally implemented in MDL-80889

Co-authored-by: Meirza <meirza.arson@moodle.com>
2024-09-11 11:02:51 +07:00
ferranrecio c643b6e887 MDL-83008 course: make subection completion not editable 2024-09-11 09:44:21 +07:00
Huong Nguyen 74b0fc8034 Merge branch 'MDL-79020-main' of https://github.com/ferranrecio/moodle 2024-09-11 09:19:04 +07:00
AMOS bot 84ab898de4 Automatically generated installer lang files 2024-09-11 00:07:53 +00:00
james-cnz aae0265178 MDL-83046 course: Add non-delegated sections before delegated ones 2024-09-11 10:21:04 +12:00
Sara Arjona b07246f022 MDL-83084 theme: Remove the caret icon near the actions menu
Remove the caret icon near the actions menu in the Manage courses and
categories page.
2024-09-10 16:49:15 +02:00
Sara Arjona b82d814ef2 MDL-83084 theme: Update the view category icon 2024-09-10 16:48:42 +02:00
Sara Arjona a9cdd7384f MDL-83083 theme: Revert preview icon
In MDL-82211, the preview icon was updated to use the "fa-regular fa-eye" icon.
However, this icon is also used elsewhere to represent hide/show functionality,
leading to potential confusion.
To address this, the UX team has requested that the change be reverted, and the
preview icon should now be replaced with "fa-magnifying-glass-plus".
2024-09-10 15:55:41 +02:00
Sara Arjona 64b0c39c88 MDL-83068 theme: Update grade icons
The fa-check-double icon for correct/incorrect/partial grades were updated
in MDL-82497. However, the UX team has decided to replace these icons with
the following:

 - core:i/grade_correct : fa-check-double --> fa-regular fa-circle-check
 - core:i/grade_incorrect : fa-xmark --> fa-regular fa-circle-xmark
 - core:i/grade_partiallycorrect : fa-check --> fa-circle-half-stroke

These changes should be consistent with the Navigation quiz block too.
2024-09-10 15:18:46 +02:00
Huong Nguyen 3477082aa9 weekly release 4.5dev+ 2024-09-10 20:02:54 +07:00
Huong Nguyen 5f9c42c1e0 NOBUG: Add upgrade notes 2024-09-10 20:02:53 +07:00
Laurent David bbe2f4d4b2 MDL-81816 core_theme: Fix drag and drop box layout
* The new Boostrap color constrast made apparent an visual issue
appearing when we use drag and drop as the outline of the activity
is cut out of the drag/drop image.
2024-09-10 10:44:02 +02:00
Laurent David 507493f57c MDL-75692 core_h5p: Debounce resize events
* Make sure that we don't call the resize event too often to
avoid infinite loop when content is auto resizing (fonts for example)
2024-09-10 08:46:40 +02:00
Laurent David d265064d53 MDL-81816 core_theme: Refactor theme-color-level for BS5 2024-09-10 07:34:59 +02:00
Huong Nguyen e70d6fd690 Merge branch 'MDL-83047-main' of https://github.com/junpataleta/moodle 2024-09-10 10:46:40 +07:00
meirzamoodle 64032e1390 MDL-83043 filter_algebra: Fix undefined function filter_algebra_image() 2024-09-10 10:05:32 +07:00
Huong Nguyen 57ab215ac1 Merge branch 'MDL-83038' of https://github.com/paulholden/moodle 2024-09-10 09:34:07 +07:00
Jun Pataleta 40282c85ac MDL-83047 theme_boost: Add upgrade note for theme plugins 2024-09-10 10:30:46 +08:00
Huong Nguyen ac98e2410e Merge branch 'MDL-83004-main' of https://github.com/davewoloszyn/moodle 2024-09-10 08:50:09 +07:00
David Woloszyn f3adeafaf4 MDL-83004 tool_moodlenet: Fix sectionnum param 2024-09-10 10:58:56 +10:00
Sara Arjona 323141ef33 Merge branch 'MDL-82574-main' of https://github.com/laurentdavid/moodle 2024-09-09 17:44:18 +02:00
Sara Arjona cd093bdb96 Merge branch 'MDL-83037' of https://github.com/paulholden/moodle 2024-09-09 17:21:54 +02:00
Sara Arjona ce5cda1c07 Merge branch 'MDL-83020' of https://github.com/paulholden/moodle 2024-09-09 17:03:02 +02:00
Marina Glancy c1300fe8bc MDL-83052 customfield_number: do not display 0 when not set 2024-09-09 11:14:47 +01:00
Sara Arjona b2b3bbffd3 Merge branch 'MDL-82983-main' of https://github.com/ferranrecio/moodle 2024-09-09 12:06:28 +02:00
Amaia Anabitarte e9c0789e69 MDL-82847 report_log: Add subsections to activities log 2024-09-09 12:06:02 +02:00
Marina Glancy f8e7bbe776 MDL-82283 admin: js filtering of the plugins on plugins overview page 2024-09-09 10:37:52 +01:00
Jun Pataleta c5d022aed6 MDL-83047 theme_boost: Apply background colour only on select layouts
* Apply the styling of `background-color` for `.page-header-headings`
only in the maintenance and secure layouts.
2024-09-09 17:00:29 +08:00
Huong Nguyen 2b64ce97ab Merge branch 'MDL-82860-main' of https://github.com/meirzamoodle/moodle 2024-09-09 14:31:57 +07:00
Sara Arjona 5ff41b1961 Merge branch 'MDL-83016' of https://github.com/paulholden/moodle 2024-09-09 09:29:53 +02:00
Huong Nguyen 667c0f6866 Merge branch 'MDL-82938' of https://github.com/paulholden/moodle 2024-09-09 11:17:23 +07:00
Huong Nguyen 6654b37ea1 Merge branch 'MDL-80562' of https://github.com/paulholden/moodle 2024-09-09 11:15:10 +07:00
meirzamoodle 6816a5a770 MDL-82860 atto_link: Set value as default to avoid unexpected behaviour 2024-09-09 08:10:55 +07:00
Jun Pataleta 1938c438ea on-demand release 4.5dev+ 2024-09-07 06:48:52 +08:00
Jun Pataleta aeb079fde0 NOBUG: Add upgrade notes 2024-09-07 06:48:52 +08:00
Jun Pataleta a2b444cd62 NOBUG: Fixed SVG browser compatibility 2024-09-07 06:48:32 +08:00
Stefan Hanauska 91ce0739c2 MDL-82959 tool_recyclebin: Avoid null value for forcedsettings 2024-09-06 19:46:38 +02:00
Paul Holden 0c3c325ca0 MDL-83038 mod_quiz: use dummy URL in quiz grading page external call. 2024-09-06 12:24:29 +01:00
Paul Holden a66aea7965 MDL-83037 badges: ensure image is specified in Behat test generator. 2024-09-06 11:43:21 +01:00
ferranrecio 5ca36a02b7 MDL-79020 core_courseformat: hide completion edit link in bulk edit 2024-09-06 10:59:36 +02:00
Jun Pataleta eb840870a6 Merge branch 'MDL-63399-main' of https://github.com/lameze/moodle 2024-09-06 12:29:15 +08:00
Huong Nguyen 5fa52f8b5d Merge branch 'MDL-82861' of https://github.com/paulholden/moodle 2024-09-06 11:19:34 +07:00
Simey Lameze 3ac7a2f6c5 MDL-63399 behat: update existing tests to use the better download steps
Co-authored-by: Tim Hunt <T.J.Hunt@open.ac.uk>
2024-09-06 12:14:07 +08:00
Huong Nguyen 17ab580658 Merge branch 'MDL-82999' of https://github.com/paulholden/moodle 2024-09-06 11:12:58 +07:00
Huong Nguyen b71bbd35aa Merge branch 'MDL-82223' of https://github.com/paulholden/moodle 2024-09-06 11:10:13 +07:00
Simey Lameze 5e4fd26115 MDL-63399 behat: new steps to verify downloads
Co-authored-by: Tim Hunt <T.J.Hunt@open.ac.uk>
2024-09-06 12:03:29 +08:00
Huong Nguyen 0e98d4507a Merge branch 'MDL-82948-main' of https://github.com/junpataleta/moodle 2024-09-06 11:00:58 +07:00
Huong Nguyen ac41453912 Merge branch 'MDL-82677-main' of https://github.com/junpataleta/moodle 2024-09-06 10:50:35 +07:00
Jun Pataleta 03fbf4e8d1 Merge branch 'MDL-83010_exception-when-exporting-SCORM-reports-to-Excel-format' of https://github.com/ziegenberg/moodle 2024-09-06 10:51:34 +08:00
Jun Pataleta 4de11d350f Merge branch 'MDL-82659' of https://github.com/michaelkotlyar/moodle 2024-09-06 09:30:53 +08:00
Jun Pataleta 16ced30444 Merge branch 'MDL-83012' of https://github.com/paulholden/moodle 2024-09-06 09:27:44 +08:00
Jun Pataleta 9222d7e1b2 Merge branch 'MDL-76665-main-behat-fix' of https://github.com/lameze/moodle 2024-09-06 09:11:32 +08:00
rajandangi 9209a85bdb MDL-79628 navigation: Deprecate timeout and cleanup properties 2024-09-06 09:39:17 +09:30
rajandangi 3615f732ad MDL-79628 navigation: Refactor navigation_cache to use MUC 2024-09-06 09:39:17 +09:30
Simey Lameze 94be4c6699 MDL-76665 behat: fix step to go to safe exam templates 2024-09-06 08:08:48 +08:00
Paul Holden 703b57db48 MDL-83012 badges: avoid random timing failures in external test.
This restores the original random failure fix from 9a5eb76a56, and
adds assertions appropriate to d9ea6bc804 without re-introducing the
same random test failures.

Also improve non-sensical conditional assertions.
2024-09-05 16:50:31 +01:00
Paul Holden 938251eb89 MDL-83020 badges: validate correct context when retrieving badge.
Remove capablity check, as this is intended to be public info.
2024-09-05 16:03:32 +01:00
ferranrecio c261fca22a MDL-82983 course: prevent subsection default completion 2024-09-05 12:58:19 +02:00
Huong Nguyen 0b75fe1fb6 Merge branch 'MDL-80946' of https://github.com/michaelkotlyar/moodle 2024-09-05 15:53:38 +07:00
Laurent David ca55b62b43 MDL-82574 mod_subsection: Remove module from activity chooser
* Fix behat tests to take into consideration the new add subsection
workflow
* modulename_help is only used in the activity chooser so has been
removed
2024-09-05 10:45:03 +02:00
Michael Kotlyar 640baa3c15 MDL-82659 quizaccess_seb: Add capabilities to control require options.
Adding capabilities 'quizaccess/seb:manage_seb_configuremanually' and
'quizaccess/seb:manage_seb_usesebclientconfig' to control SEB
requirement options 'Yes – configure manually' and
'Yes – Use SEB client config' respectively.

Other changes include code indentation corrections within quizacess_seb.
2024-09-05 09:35:29 +01:00
Huong Nguyen f76ef40495 Merge branch 'MDL-76665' of https://github.com/michaelkotlyar/moodle 2024-09-05 15:10:53 +07:00
Huong Nguyen d13985c2b8 Merge branch 'MDL-82520' of https://github.com/ssj365/moodle 2024-09-05 14:56:22 +07:00
Huong Nguyen c9a4cfcda3 Merge branch 'MDL-81909-main' of https://github.com/rezaies/moodle 2024-09-05 14:49:32 +07:00
Jun Pataleta c18bb26122 Merge branch 'MDL-82854' of https://github.com/jfederico/moodle 2024-09-05 09:53:27 +08:00
Shamim Rezaie 7662c15e56 MDL-81909 mod_assign: Additional doc and styling fixes 2024-09-05 03:25:12 +10:00
Shamim Rezaie 46cbbe1d6a MDL-81909 mod_assign: Automatic phpcbf styling with moodle-extra ruleset 2024-09-05 03:19:41 +10:00
Shamim Rezaie cc5f6f222d MDL-81909 mod_assign: fix test_attempt_reopen_method_untilpass 2024-09-05 03:15:31 +10:00
jfedericobn 144af269d4 MDL-82854 mod_bigbluebuttonbn: Analytics callback log stores raw data 2024-09-04 16:48:55 +00:00
Michael Milette dff8969548 MDL-72856 lib: Only inject one robots/noindex in head of Additional HTML 2024-09-04 12:29:51 -04:00
Daniel Ziegenberg 803d91968b MDL-83010 lib: fix PhpSpreadsheet
Implementing MDL-81031 caused a regression because
lib/phpspreadsheet/vendor/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Shared/*
was inadvertently deleted. Re-adding those files now.

Signed-off-by: Daniel Ziegenberg <daniel@ziegenberg.at>
2024-09-04 16:08:08 +02:00
Paul Holden b24887b168 MDL-83016 course: set icon size when used as background in tree. 2024-09-04 12:42:45 +01:00
Paul Holden 526e04f540 MDL-83016 javascript: apply appropriate icon class to legacy spinner. 2024-09-04 12:16:32 +01:00
Sara Arjona 279c31ffcc Merge branch 'MDL-82995-main-feedback_broken_audio_video' of https://github.com/schutzl/moodle 2024-09-04 12:58:59 +02:00
Paul Holden 0dda0c91e1 Merge branch 'MDL-82974-main' of https://github.com/ilyatregubov/moodle into main 2024-09-04 10:32:06 +01:00
Michael Kotlyar 14228164bc MDL-76665 quizaccess_seb: Allow disable of SEB templates when in use. 2024-09-04 10:23:53 +01:00
Paul Holden 865e8f3e90 MDL-82571 customfield_number: small coding style cleanup. 2024-09-04 10:14:25 +01:00
Paul Holden cbcb9d071f Merge branch 'MDL-82571_V2' of https://github.com/lostrogit/moodle into main 2024-09-04 10:04:02 +01:00
Paul Holden 445fe37166 Merge branch 'MDL-82987-main' of https://github.com/mihailges/moodle into main 2024-09-04 09:58:19 +01:00
Paul Holden ed0a4587dd Merge branch 'MDL-82503-main-behat' of https://github.com/HuongNV13/moodle into main 2024-09-04 09:48:00 +01:00
Huong Nguyen cbf64b53fe MDL-82503 badges: Fix Behat failure 2024-09-04 15:23:23 +07:00
Lucian Schultz 7a3d809866 MDL-82995 feedback: fixed audio and video bug 2024-09-04 07:21:01 +00:00
Paul Holden e8f5f7d23d MDL-80562 reportbuilder: switch to menu/ellipsis icon for actions. 2024-09-04 07:48:50 +01:00
Paul Holden 0ba1e78bcf MDL-82938 reportbuilder: update column editor sorting icons.
Clarify language strings for the same; remove some duplication from
accompanying tests.
2024-09-04 07:48:29 +01:00
Huong Nguyen 06879072a9 Merge branch 'MDL-80225-master' of https://github.com/ssj365/moodle 2024-09-04 09:29:41 +07:00
Huong Nguyen 11671775a8 Merge branch 'MDL-82503-main' of https://github.com/sarjona/moodle 2024-09-04 09:19:28 +07:00
Sara Arjona 2f4efdb879 MDL-82503 badges: Fix behat and PHPUnit tests 2024-09-03 20:27:51 +02:00
Sara Arjona 9b58ab3e87 MDL-82503 badges: Deprecate badges/view.php 2024-09-03 20:00:18 +02:00
Sara Arjona c6d7cf85f6 MDL-82503 badges: Deprecate showmanage button from action_bar 2024-09-03 19:59:29 +02:00
Sara Arjona 6adbe05d9f MDL-82503 badges: Deprecate course_badges report 2024-09-03 19:59:28 +02:00
Sara Arjona 4cdeb79566 MDL-82503 badges: Prepare and make index.php default page
The badges/index.php and badges/view.php pages are quite similar and
have been merged into index.php.
This commit updates index.php to incorporate the missing information
previously found in view.php.
2024-09-03 19:55:49 +02:00
Sara Arjona 5d5938a7ed Merge branch 'MDL-82490-main' of https://github.com/laurentdavid/moodle 2024-09-03 19:40:38 +02:00
Sara Arjona e812811b11 Merge branch 'MDL-81767-main' of https://github.com/roland04/moodle 2024-09-03 19:35:20 +02:00
Michael Kotlyar ee0defaec3 MDL-80946 quizaccess_seb: Remove invalidkeys text if not using SEB. 2024-09-03 16:43:51 +01:00
Carlos Castillo 241fa420d8 MDL-82571 customfield_number: Display format to number custom field
Add extra settings to the new number custom field in order to allow it
format the exported data using placeholders plus supporting multi language.
2024-09-03 15:24:01 +02:00
Paul Holden c066f320f0 MDL-82999 theme_boost: target only admin notification links to style. 2024-09-03 14:17:20 +01:00
Paul Holden 215e93046a MDL-80929 customfield: observe backup/restore settings to include. 2024-09-03 13:53:04 +01:00
Paul Holden b4a902fac3 MDL-80929 restore: consistent settings definition for custom fields. 2024-09-03 13:49:50 +01:00
Jun Pataleta 13c12756b4 on-demand release 4.5dev+ 2024-09-03 20:05:50 +08:00
Jun Pataleta ea2d3558d9 NOBUG: Add upgrade notes 2024-09-03 20:05:49 +08:00
Mikel Martín 74cfbbacc6 MDL-81767 courseformat: Add tests for module quick creation
- Added unit tests for 'core_courseformat\external\create_module' web service.
- Added unit tests for 'create_module' state action.

Both tests need at least a module with 'FEATURE_QUICKCREATE', so mod_subsection
was used.
2024-09-03 13:35:04 +02:00
Mikel Martín c4470cc7f9 MDL-81767 mod_subsection: Add hook for activitychooserbutton
- Add the new 'FEATURE_QUICKCREATE' to mod_subsection.
- Implement the 'before_activitychooserbutton_exported' hook callback that adds
  an extra action_link to add subsections in a course section.
- Add a new permission class.
2024-09-03 13:35:04 +02:00
Mikel Martín a0fa76c86b MDL-81767 courseformat: Add module quickcreation feature
- Add new 'FEATURE_QUICKCREATE' plugin feature that indicates the module can
  be created with a single click. It will use its own 'quickcreatename' defined
  string as the initial default name.
- Add new 'core_courseformat\external\create_module' web service to create new
  modules with the quickcreate featuer in the course page.
- Add a new 'create_module' state action.
2024-09-03 13:35:04 +02:00
Mathieu Bruyen 598eb3260b MDL-82270 tool_policy: fix guest policy template markup.
Remove extra backslash producing invalid markup in consent banner.
2024-09-03 09:00:09 +02:00
Ilya Tregubov 70ab6b9a28 MDL-66151 core: fix destroy method. 2024-09-03 11:56:46 +08:00
Jun Pataleta e1e15eb4a7 Merge branch 'MDL-82957-main' of https://github.com/roland04/moodle 2024-09-03 11:42:18 +08:00
Ilya Tregubov f3a7b673c1 Merge branch 'main_MDL-66151' of https://github.com/mattporritt/moodle 2024-09-03 11:07:47 +08:00
Trisha Milan e52fbd2f84 MDL-66151 Performance: Session Manager modularisation
Storage of session metadata has moved into the session handler class.
This allows for other classes to fully control session handling and
removes the dependancy on the core sessions database table.

Previously, the standard method of interaction with the
session metadata was direct DB calls; this may break other plugins as there
are now proper APIs available through the session manager.

Co-authored-by: Darren Cocco <moodle@darren.cocco.id.au>
Co-authored-by: Trisha Milan <trishamilan@catalyst-au.net>
Co-authored-by: Andrew Nicols <andrew@nicols.co.uk>
2024-09-03 13:04:04 +10:00
Jun Pataleta 2f6e81090f Merge branch 'MDL-82984-main' of https://github.com/sarjona/moodle 2024-09-03 10:45:15 +08:00
Mihail Geshoski 2ff6e9a2ae MDL-82987 mod_assign: Restore magnifying glass icon in preview link
The icon used in the full preview link for submissions and feedback was
inadequately replaced with an eye icon, which is typically associated
with visibility toggling or state indication. The previous magnifying
glass icon was more appropriate for this purpose, so this issue restores
it.
2024-09-03 10:43:11 +08:00
Jun Pataleta abc6e9d11e Merge branch 'MDL-82953-main' of https://github.com/sarjona/moodle 2024-09-03 10:37:05 +08:00
Huong Nguyen 18058972f0 Merge branch 'MDL-82684-main' of https://github.com/rezaies/moodle 2024-09-03 09:36:02 +07:00
Jun Pataleta 2319636ebd Merge branch 'MDL-82804' of https://github.com/paulholden/moodle 2024-09-03 10:32:14 +08:00
Huong Nguyen 42c1828295 Merge branch 'MDL-82500-main' of https://github.com/sarjona/moodle 2024-09-03 09:31:21 +07:00
Jun Pataleta 2de9d83d7d Merge branch 'MDL-82717' of https://github.com/liamgm/moodle 2024-09-03 10:29:20 +08:00
Ilya Tregubov 71ede9e192 Merge branch 'MDL-75850-main-fix' of https://github.com/meirzamoodle/moodle 2024-09-03 10:17:17 +08:00
Ilya Tregubov d38fa6e579 Merge branch 'MDL-80751-main-2' of https://github.com/mihailges/moodle 2024-09-03 09:18:00 +08:00
Sara Arjona 875fa9c2ec MDL-82984 core: Missing step to uninstall filter_tidy 2024-09-02 18:36:03 +02:00
Mikel Martín 84d9e83588 MDL-81767 course: Refactor activity chooser button output
- Add new 'activitychooserbutton' output class that allows adding extra action_links through hooks.
- Add new 'before_activitychooserbutton_exported' hook so plugins could add extra action links
  to the activity chooser button.
- Unify activitychooserbutton and activitychooserbuttonactivity into a single template.
2024-09-02 18:16:18 +02:00
Sara Arjona 93aa8af266 Merge branch 'MDL-82617-main' of https://github.com/roland04/moodle 2024-09-02 18:15:57 +02:00
Laurent David e47bad8801 MDL-82490 course_format: Add subsection in section selector
* Add subsection in topic format section selector in the right order.
2024-09-02 17:43:33 +02:00
Laurent David 7384a8bbad MDL-82490 core_output: Add disabled option for url_select
* Add a way to disable (and enable later) option in the url select
selector.
2024-09-02 17:43:33 +02:00
Jun Pataleta 4fcff065bb Merge branch 'MDL-82828-main' of https://github.com/andrewnicols/moodle 2024-09-02 17:52:12 +08:00
Kevin Percy 990d54fc98 MDL-80751 behat: Combined Grade action into one step 2024-09-02 17:46:20 +08:00
Kevin Percy a18376806d MDL-80751 behat: Removed Grade button from assignment submissions table 2024-09-02 17:03:58 +08:00
Jun Pataleta b876e8501e MDL-82255 editor_tiny: No need for extra styles for RTL 2024-09-02 16:53:48 +08:00
Kevin Percy 93490ddf30 MDL-80751 mod_assign: Removed Grade button from submissions table 2024-09-02 16:32:52 +08:00
Mikel Martín 2738e58304 MDL-82617 mod_subsection: Redirect from modedit to sectionedit page
When accessing mod_subsection edit form, redirect to section edit page of the
delegated section.
2024-09-02 10:15:52 +02:00
Jun Pataleta 1c790ec9fc Merge branch 'MDL-82255-main' of https://github.com/raortegar/moodle 2024-09-02 16:01:45 +08:00
Sara Arjona 4cf292caaf Merge branch 'MDL-78250_upgrade-cas' of https://github.com/ziegenberg/moodle 2024-09-02 09:44:24 +02:00
Ilya Tregubov c1bd7d8d2e Merge branch 'MDL-82816-main' of https://github.com/mihailges/moodle 2024-09-02 15:32:14 +08:00
Ilya Tregubov f23472345c MDL-82974 core_cache: Fix typo. 2024-09-02 12:57:13 +08:00
Ilya Tregubov 784b7962be Merge branch 'MDL-82220' of https://github.com/paulholden/moodle 2024-09-02 10:09:40 +08:00
Daniel Ziegenberg 3d482c9d96 MDL-78250 auth_cas: Bump thirdpartylibs version to 1.6.1
With MDL-81031 psr/log was added to moodle core, so amending the instructions
in readme_moodle.txt accordingly.

Notable upstream changes:

 - With the upstream PR #422 the file `source/CAS.php` is now also
   autoloaded.
 - With the upstream PR #428 the list of composer ignored files got
   updated. So we can now remove some of the upgrade steps in the
   readme_moodle.txt

Signed-off-by: Daniel Ziegenberg <daniel@ziegenberg.at>
2024-08-31 17:43:57 +02:00
Daniel Ziegenberg 7572a302e8 MDL-78250 auth_cas: Update phpCAS to v1.6.1
Signed-off-by: Daniel Ziegenberg <daniel@ziegenberg.at>
2024-08-31 17:43:53 +02:00
Shamiso.Jaravaza 87dee7620e MDL-82520 mod_bigbluebuttonbn: Show presentation
* Added setting to show/hide presentation file on activity page
* Created capability to check if user should always see presentation
2024-08-30 20:27:20 -06:00
Sara Arjona 3c47fbe3b6 MDL-82953 badges: Fix redirect when form is cancelled
From the new badge page, when the form is cancelled, a redirect should
be done to the badges/index.php.
This is a regression introduced when newbadge.php and edit.php pages
were merged.
2024-08-30 11:37:02 +02:00
Paul Holden 1965c0caf0 MDL-82494 user: correct profile field name formatting method.
Add optional `$escape` parameter to allow for unescaped return.
2024-08-30 09:47:13 +01:00
Paul Holden 8c5d9819dc MDL-82488 customfield: allow for unescaped field formatted names.
Resolves double encoding of the same in Report builder editor.
2024-08-30 09:43:04 +01:00
Mikel Martín 448b87bbfe MDL-82957 course: Fix section bulk actions alignment 2024-08-30 09:13:04 +02:00
Paul Holden 5d0e981eed MDL-82804 badges: define no results notice inside report instances.
When doing so from calling code, the property is not persisted when
filtering/paging (or any AJAX interaction); instead, it should be
set from within the report instance itself.
2024-08-29 16:10:30 +01:00
Sara Arjona 1fbba6b3c3 MDL-82500 my: Move CTA from the menu to buttons
The icons have been updated to make them more consistent abroad Moodle and
take advantage of the benefits of FontAwesome 6.

This commit removes the actions from the first actions menu and moves them to
buttons as suggested by the UX team. Based on recent UX decisions, the following
changes have been implemented:

- The "View Quickstart Guide" is no longer displayed as a button. Instead, this
link will now appear within the text preceding the buttons (when available).
- When no courses are available on the site, the "Manage courses" button has been
replaced by "Manage course categories".
- A "Manage courses/Manage course categories" button has been added to the zero-state
view, ensuring consistency whether courses are present on the site or not.
2024-08-29 16:14:41 +02:00
Huong Nguyen 072fb90384 weekly release 4.5dev+ 2024-08-29 18:09:50 +07:00
Huong Nguyen 7aef6e21cb NOBUG: Add upgrade notes 2024-08-29 18:09:49 +07:00
Huong Nguyen 234a065909 NOBUG: Fixed SVG browser compatibility 2024-08-29 18:09:37 +07:00
Paul Holden 5d45fa48a9 MDL-82483 tag: update the max length constant to match schema. 2024-08-29 10:37:55 +01:00
Liam Moran d013299da0 MDL-82717 enrol_lti: Make contextmembershipsurl property immutable
The contextmembershipsurl property on the nrsp_info object is itself
an object of type moodle_url so its getter should return a copy
of the moodle_url object instead of a reference to the class-internal
object. This commit adds a test for get_context_memberships_url and
updates the getter so the property is immutable.
2024-08-29 03:40:47 -05:00
Jun Pataleta 5f1084bcba MDL-82948 theme_boost: Make <blockquote>'s border a bit darker 2024-08-29 15:59:40 +08:00
raortegar 51d0a1869c MDL-82255 editor_tiny: Add blockquote in toolbar menu and styled 2024-08-29 09:17:46 +02:00
Shamim Rezaie 5fe8064557 MDL-82684 mod_assign: Move the downloadasfolders checkbox to action bar 2024-08-29 14:32:38 +10:00
Huong Nguyen 47e77f895c Merge branch 'MDL-82683-main' of https://github.com/rezaies/moodle 2024-08-29 11:22:16 +07:00
Shamim Rezaie 2e35d1bd30 MDL-82683 mod_assign: Remove session checking from the status filter 2024-08-29 14:19:39 +10:00
Shamim Rezaie 8b1d81c990 MDL-82683 mod_assign: Move the quick grading checkbox to the action bar 2024-08-29 14:19:33 +10:00
Paul Holden 3fc1073d30 MDL-82365 mod_lesson: stricter equality checks of activity password. 2024-08-29 12:12:58 +08:00
Huong Nguyen 8ec84f43cb Merge branch 'MDL-82718' of https://github.com/paulholden/moodle 2024-08-29 11:08:31 +07:00
Huong Nguyen c4be12a673 Merge branch 'MDL-82446' of https://github.com/paulholden/moodle 2024-08-29 11:04:56 +07:00
Jun Pataleta a84fb7c075 Merge branch 'MDL-82651-main' of https://github.com/lameze/moodle 2024-08-29 11:59:31 +08:00
Jun Pataleta 3a45faf1b6 Merge branch 'MDL-82802' of https://github.com/paulholden/moodle 2024-08-29 11:39:57 +08:00
Huong Nguyen 1af718f3ee Merge branch 'MDL-82613-main-v02' of https://github.com/ferranrecio/moodle 2024-08-29 10:38:39 +07:00
Huong Nguyen 2b0b6e2177 Merge branch 'MDL-82862-main' of https://github.com/sarjona/moodle 2024-08-29 10:29:49 +07:00
Ilya Tregubov e1c84c99bf MDL-82882 quiz: Code style fixes. 2024-08-29 11:24:09 +08:00
Ilya Tregubov 2a95e09262 Merge branch 'MDL-82882' of https://github.com/timhunt/moodle 2024-08-29 11:19:44 +08:00
Huong Nguyen 490556705c Merge branch 'MDL-71326-final-deprecation-of-plagiarism-functions-4-4' of https://github.com/ziegenberg/moodle 2024-08-29 10:13:56 +07:00
Huong Nguyen 1d5a323677 Merge branch 'MDL-82790-main' of https://github.com/andrewnicols/moodle 2024-08-29 10:07:09 +07:00
Ilya Tregubov 5c50a77859 Merge branch 'MDL-82810' of https://github.com/timhunt/moodle 2024-08-29 10:56:48 +08:00
Huong Nguyen b6d8640e26 Merge branch 'MDL-82898-main' of https://github.com/andelacruz/moodle 2024-08-29 09:49:55 +07:00
Paul Holden 809629e5af MDL-76962 auth_oauth2: users can only delete their own linked logins. 2024-08-29 10:31:55 +08:00
Ilya Tregubov 99dd18c4c3 Merge branch 'MDL-82837-main' of https://github.com/HuongNV13/moodle 2024-08-29 10:00:05 +08:00
Ilya Tregubov 83f04f5066 Merge branch 'MDL-82105-main' of https://github.com/durenadev/moodle 2024-08-29 09:44:27 +08:00
Sara Arjona f08b407648 Merge branch 'MDL-80641_upgrade-jmespath' of https://github.com/ziegenberg/moodle 2024-08-28 16:55:15 +02:00
Andrew Nicols e6146bca1b Merge branch 'MDL-82359-main' of https://github.com/sammarshallou/moodle 2024-08-28 22:46:56 +08:00
Sara Arjona 9fe440b3cb Merge branch 'MDL-82301' of https://github.com/paulholden/moodle 2024-08-28 16:45:40 +02:00
Sara Arjona a5b8e1479e MDL-82935 filter: Remove unused var in manage.php 2024-08-28 16:34:10 +02:00
Sara Arjona 327f06053b MDL-82935 filter: Fix coding style in manage.php 2024-08-28 16:33:35 +02:00
Sara Arjona 0e4d6567a0 Merge branch 'MDL-73976' of https://github.com/paulholden/moodle 2024-08-28 14:08:58 +02:00
Stefan Hanauska da1e3a5f4a MDL-80974 enrol: Set category context for enrol form 2024-08-28 12:31:40 +02:00
meirzamoodle 0c54003d2c MDL-75850 core: bump version 2024-08-28 17:17:08 +07:00
meirzamoodle 72b43c3541 MDL-75850 core: file redact
File redact is a core plugin to remove or obsure from a file (image, doc) prior to publication/release.
Currently, it has an EXIF remover service using exiftool command, but it is also possible to
add other services related to file redacting.

The plugin admin settings is under Server as it's parent.

Co-authored-by: Huong Nguyen <huongnv13@gmail.com>
2024-08-28 17:17:08 +07:00
Daniel Ureña 33717237aa MDL-82105 Badges: Get badge by badge id. 2024-08-28 10:14:15 +02:00
Jun Pataleta bef9054099 Merge branch 'MDL-79734-main' of https://github.com/stevandoMoodle/moodle 2024-08-28 15:34:10 +08:00
Stevani Andolo 46901a07b0 MDL-79734 mod_assign: Fixed send notifications for due in 7 days 2024-08-28 14:40:58 +08:00
Simey Lameze 3b2be7f382 MDL-82651 behat: remove unnecessary steps 2024-08-28 13:54:09 +08:00
Simey Lameze b66d4e12bf MDL-82651 behat: wait for button to exist before clicking 2024-08-28 13:54:09 +08:00
Marina Glancy bb466df202 MDL-82567 core: Add has_capability method
Co-authored-by: David Woloszyn <david.woloszyn@moodle.com>
Co-authored-by: Jun Pataleta <jun@moodle.com>
2024-08-28 03:34:17 +00:00
David Woloszyn eb278990d0 MDL-79734 mod_assign: Send notifications for due in 7 days 2024-08-28 11:29:52 +08:00
Ilya Tregubov 8a80fca393 Merge branch 'MDL-82547' of https://github.com/paulholden/moodle 2024-08-28 11:20:02 +08:00
Huong Nguyen 7bfa32276a MDL-82837 output: Use the correct icons for block drawer 2024-08-28 09:36:19 +07:00
Angelia Dela Cruz c0e5deb660 MDL-82898 enrol_self: Behat to test student enrolment using key 2024-08-28 08:45:09 +08:00
Paul Holden 50c64005e8 MDL-82663 user: fix check for current user removing own enrolment.
We only need to remove the current user from selection if they were
ever part of the selection originally.
2024-08-27 16:55:13 +01:00
ferranrecio 245f826b43 MDL-82613 core_courseformat: fix section visibility badge 2024-08-27 16:11:32 +02:00
Paul Holden 5bc9c341c2 MDL-82861 editor_atto: apply appropriate icon class in message text. 2024-08-27 10:40:31 +01:00
Paul Holden ef1ebea848 MDL-82693 contentbank: improve display unlisted module, add tests. 2024-08-27 09:38:40 +01:00
Paul Holden f803f62853 MDL-82718 tiny_media: fix error string loading for invalid image. 2024-08-27 09:21:32 +01:00
Sara Arjona 07db2a85b8 Merge branch 'MDL-74583' of https://github.com/paulholden/moodle 2024-08-27 09:22:59 +02:00
Huong Nguyen 5053f2b81d Merge branch 'MDL-82535' of https://github.com/paulholden/moodle 2024-08-27 10:04:55 +07:00
Huong Nguyen 4f25ac1044 Merge branch 'MDL-82158-main' of https://github.com/andrewnicols/moodle 2024-08-27 10:01:38 +07:00
Jun Pataleta 76cacbd856 Merge branch 'MDL-82297-main' of https://github.com/laurentdavid/moodle 2024-08-27 10:00:31 +08:00
Paul Holden d1397b4552 MDL-82223 availability: final removal of deprecated renderer method. 2024-08-26 20:50:41 +01:00
Paul Holden 670b4af61c MDL-74583 reportbuilder: final removal of legacy namespaced classes. 2024-08-26 20:44:41 +01:00
Laurent David fbbf8715ef MDL-82297 core: Add notification to warn admins
* In Moodle 5.0 we will remove Chat and Survey module
and we will need to announce it beforehand
2024-08-26 14:49:02 +02:00
Laurent David 29b2bfe51f MDL-82297 core: Improve core notification message
* Improve the notification message so it can have a
title and titleicon.
2024-08-26 14:49:02 +02:00
Huong Nguyen 3fb925e581 MDL-69684 session_redis: Improve upgrade note 2024-08-26 10:53:48 +07:00
Huong Nguyen d585ad91b6 MDL-69684 session_redis: Improve PHPUnit test 2024-08-26 10:52:26 +07:00
Huong Nguyen 1d501e682e Merge branch 'MDL-69684_its-possible-to-hold-a-redis-session-lock-forever' of https://github.com/ziegenberg/moodle 2024-08-26 10:47:07 +07:00
Huong Nguyen bb8037c457 Merge branch 'MDL-80747-main' of https://github.com/rezaies/moodle 2024-08-26 10:05:06 +07:00
Huong Nguyen 4f9ab7d3ff Merge branch 'MDL-82195-main' of https://github.com/mihailges/moodle 2024-08-26 09:19:46 +07:00
Shamim Rezaie a19f9cbfe2 Merge branch 'MDL-82006' of https://github.com/paulholden/moodle 2024-08-24 16:21:20 +10:00
Sara Arjona 056f473a6e on-demand release 4.5dev+ 2024-08-23 16:04:48 +02:00
Sara Arjona 7ce18d2edb NOBUG: Add upgrade notes 2024-08-23 16:04:48 +02:00
Sara Arjona c992c7582c NOBUG: Fixed SVG browser compatibility 2024-08-23 16:04:31 +02:00
Tim Hunt e47a4cb35f MDL-82882 quiz: add before/after for attempt_summary_information 2024-08-23 12:53:12 +01:00
Sara Arjona 0929fd4dc4 Merge branch 'MDL-79678-main-fix' of https://github.com/junpataleta/moodle 2024-08-23 08:18:35 +02:00
Jun Pataleta 6b282fd7a3 MDL-79678 factor_totp: Use correct plugin name in upgrade savepoint 2024-08-23 14:15:04 +08:00
Sara Arjona 6fd7539189 Merge branch 'MDL-81662-fix' of https://github.com/sarjona/moodle 2024-08-23 07:56:10 +02:00
Sara Arjona d1179cefa5 MDL-81662 media: Bump ogv.js version in thirdpartylibs 2024-08-23 07:55:12 +02:00
Jake Dallimore e67475802b Merge branch 'MDL-82787-main' of https://github.com/andrewnicols/moodle 2024-08-23 11:51:09 +08:00
Shamim Rezaie 6495bebac2 MDL-72397 qbank_managecategories: Fix whitespace 2024-08-23 13:45:17 +10:00
Shamim Rezaie 3a50726b29 Merge branch 'MDL-72397_main-reactive' of https://github.com/marxjohnson/moodle 2024-08-23 12:53:21 +10:00
Jake Dallimore d18c23bea8 Merge branch 'MDL-82863-main' of https://github.com/sarjona/moodle 2024-08-23 10:43:21 +08:00
Huong Nguyen a31ffef402 Merge branch 'MDL-82347-main' of https://github.com/davewoloszyn/moodle 2024-08-23 08:52:10 +07:00
Daniel Ziegenberg 492bca0a67 MDL-69684 session: Redis session locks set with expiry atomically
Co-Authored-By: Jamie Chapman-Brown <jamie.chapman-brown@agilicus.com>
Signed-off-by: Daniel Ziegenberg <daniel@ziegenberg.at>
2024-08-22 18:22:50 +02:00
Jun Pataleta 2810c13ec9 Merge branch 'MDL-79215-main' of https://github.com/MichaelReyesCatcan/moodle 2024-08-22 23:57:26 +08:00
Shamim Rezaie 1664c86511 MDL-80747 mod_assign: Move the status filter into the action bar 2024-08-23 01:36:17 +10:00
Shamim Rezaie 61758ac21c MDL-80747 behat: Implement matches() for behat_form_select_menu
So that we can have steps like:
  And the field "Status" matches value "Not submitted"
2024-08-23 01:29:49 +10:00
Shamim Rezaie 0d23024ad0 MDL-80747 output: Inline labels in the single-select combobox widget 2024-08-23 01:29:49 +10:00
Shamim Rezaie c171c6ef6b MDL-80747 output: Support dividers in the single-select combobox widget 2024-08-23 01:29:49 +10:00
Jun Pataleta f831904480 Merge branch 'MDL-82843-main' of https://github.com/juliavs85/moodle 2024-08-22 23:05:40 +08:00
KarlReyesCatalyst 07b2224e9a MDL-79215 lib/graphlib: Fix unrelated coding style in graphlib_test.php 2024-08-22 10:30:18 -04:00
Sara Arjona 0ee8bb05bc Merge branch 'MDL-81662-main' of https://github.com/kevpercy/moodle 2024-08-22 16:27:43 +02:00
Sara Arjona ded557c62b Merge branch 'MDL-76889' of https://github.com/paulholden/moodle 2024-08-22 16:16:15 +02:00
KarlReyesCatalyst 10705ab716 MDL-79215 lib/graphlib: Typecasting round() function to INT. 2024-08-22 10:00:01 -04:00
Sara Arjona 62c2c6f385 MDL-82862 tool_lp: Update edit icon for learning plans
The edit icon in the learning plans page has been replaced from pen
to cog, for consistency with changes done in MDL-82211.
This patch also reduces the size for this icon.
2024-08-22 13:55:06 +02:00
Sara Arjona 2142377dda MDL-82863 tool_generator: Add missing BEHAT_TEST constant
The tool_generator now defines the BEHAT_TEST constant to ensure
that Behat generators are consistently utilized.
2024-08-22 13:23:07 +02:00
juliavs85 e01bf4142d MDL-82843 contentbank: Remove unused string 2024-08-22 10:28:17 +00:00
Mark Johnson bdae5f59c3 MDL-82545 gradereport_grader: Deprecate MAX_STUDENTS_PER_PAGE 2024-08-22 11:03:43 +01:00
Mark Johnson 075c08fc57 MDL-82545 gradereport_grader: Limit grades per page
This replaces the limit on the number of students per page with a number
of grades per page, to take into account the number of grade items on a
course.
2024-08-22 11:03:43 +01:00
Mark Johnson cc17317b62 MDL-72397 qbank_managecategories: Deprecate question_category_object
This also deprecates moodle_list and list_item, which were only being
used by qbank_managecategories, and the QUESTION_PAGE_LENGTH constant
which was defined in question_category_object.php but only used by
moodle_list.
2024-08-22 10:59:25 +01:00
Mark Johnson 2dad710f12 MDL-72397 qbank_managecategories: UI enhancement
This implementation will introduce a new user interface for
"qbank_managecategories" plugin which will allow user to drag and drop.
Having this plugin will give users the flexibility of reordering, adding
or editing
categories from the qbank_managecategories view.

Co-authored-by: Marc-Alexandre Ghaly <marc-alexandreghaly@catalyst-ca.net>
Co-authored-by: Luca Bösch <luca.boesch@bfh.ch>
2024-08-22 10:59:24 +01:00
Jun Pataleta c3d10c447b Merge branch 'MDL-82357-main' of https://github.com/laurentdavid/moodle 2024-08-22 17:47:37 +08:00
Mark Johnson 2419bd64de MDL-72397 mod_quiz: Replace call to qbank plugin
When qbank plugins were first introduced, the method to add a question
category was put inside qbank_managecategories. This created an invalid
call between the mod_quiz and qbank_managecategories plugins.

Now that this method has been moved to the core_question namespace, we
can update mod_quiz to call the method there instead.
2024-08-22 10:27:16 +01:00
Mark Johnson e3513f84a2 MDL-72397 qbank_managecategories: API reorganisation
This splits the API functions required for the reorganised category UI,
to properly separate the qbank_managecategories and core_question APIs.

This methods that were part of question_category_object that should live
in the core_question namespace (generate CRUD operations related to
categories) are moved to the new \core_question\category_manager class.
The parts that belong in the qbank_managecategories plugin as they are
used to display the editing UI are moved to the
\qbank_managecategories\question_categories class.

Static methods that were defined in \qbank_managecategories\helper and
were only used within methods that have been moved to one of the new
classes have been deprecated and moved to those new classes as well.

This will allow the entire
\qbank_managecategories\question_category_object class to be deprecated
in the following commit.
2024-08-22 10:27:16 +01:00
Jun Pataleta 3d8b7fb363 Merge branch 'MDL-81658_upgrade-tcpdf' of https://github.com/ziegenberg/moodle 2024-08-22 14:45:32 +08:00
Kevin Percy d91c0000ee MDL-81662 media_videojs: Upgrade ogv.js to 1.9.0 2024-08-22 14:40:39 +08:00
Kevin Percy 4f2b039ce1 MDL-81662 media_videojs: Upgrade VideoJS to 8.17.3 2024-08-22 14:40:39 +08:00
hieuvu 56f329366d MDL-82832 ddimageortext: center the dd item using js. 2024-08-22 12:23:10 +07:00
Shamim Rezaie 96410abbf9 Merge branch 'MDL-82857-main' of https://github.com/mihailges/moodle 2024-08-22 13:38:30 +10:00
Huong Nguyen 29bbead33a Merge branch 'MDL-79011-main' of https://github.com/andrewnicols/moodle 2024-08-22 10:30:12 +07:00
Shamiso.Jaravaza e80fe0c3a4 MDL-80225 mod_bigbluebuttonbn: Fix missing recordings 2024-08-21 21:04:49 -06:00
Andrew Nicols fc7945cbc3 MDL-79011 core: Convert after_config callback to hook 2024-08-22 10:52:25 +08:00
Huong Nguyen 032ce5bb45 Merge branch 'MDL-82498-main' of https://github.com/sarjona/moodle 2024-08-22 09:01:58 +07:00
Huong Nguyen 9978cbaabb Merge branch 'MDL-82495-main-cl' of https://github.com/ferranrecio/moodle 2024-08-22 08:47:09 +07:00
Huong Nguyen 20f0247098 Merge branch 'MDL-82841-main' of https://github.com/andelacruz/moodle 2024-08-22 08:43:14 +07:00
Mihail Geshoski eb228521dc MDL-82857 mod_assign: Deprecate mod_assign_grading_options_form class 2024-08-22 09:34:51 +08:00
Mihail Geshoski cab7c403fe MDL-82857 mod_assign: Revert removal of markerfilter form element
The markerfilter form element was removed too aggressively from the
mod_assign_grading_options_form class. To avoid potentially introducing
unwanted behavior-especially if any external code relies on this
form-the original structure should be preserved.
2024-08-22 09:34:51 +08:00
Mihail Geshoski 975712437f MDL-82857 mod_assign: Temporary assignment grading options form
Creates a temporary assignment grading options form class as a
replacement for mod_assign_grading_options_form, which will be
deprecated but must remain unchanged to avoid introducing any
unwanted behaviour in case an external code is currently using it.
This temporary form is intended for exclusive use on the assignment
submissions page during the gradual migration of form elements. It
will be removed from the core once the migration process is complete.
2024-08-22 09:34:51 +08:00
Daniel Ziegenberg 7c5199bdc9 MDL-71326 plagiarism: Final deprecation of plagiarism functions
Signed-off-by: Daniel Ziegenberg <daniel@ziegenberg.at>
2024-08-21 23:25:25 +02:00
Sara Arjona b628db7abe Merge branch 'MDL-82742-main' of https://github.com/albertgasset/moodle 2024-08-21 16:43:44 +02:00
Sara Arjona 7b6d283a64 Merge branch 'MDL-82832-master' of https://github.com/NashTechOpenUniversity/moodle 2024-08-21 16:12:44 +02:00
Sara Arjona c1f92c7170 Merge branch 'MDL-82695' of https://github.com/andrewhancox/moodle 2024-08-21 16:07:41 +02:00
Sara Arjona 3f966333bd Merge branch 'MDL-82655-main' of https://github.com/andelacruz/moodle 2024-08-21 15:53:43 +02:00
Andrew Nicols 553480e044 MDL-82359 mod_forum: Move user posts links logic into module
The logic about adding links to view user posts in the forum module
was previously in core code, but there is an existing callback that
means this can be implemented entirely within the forum module.

Co-authored-by: sam marshall <s.marshall@open.ac.uk>
2024-08-21 13:47:20 +01:00
sam marshall cdd8cbb3b9 MDL-82359 Install: Allow install to succeed with missing default blocks 2024-08-21 13:47:20 +01:00
Andrew Hancox e96eb08214 MDL-82695 qtype_multianswer: Fix div by zero in compute_final_grade 2024-08-21 13:46:46 +01:00
Angelia Dela Cruz 27cbc47fbd MDL-82841 mod_workshop: Behat for submissions with set # of attachments 2024-08-21 18:56:09 +08:00
Huong Nguyen 508dd8c77e Merge branch 'MDL-82110-main' of https://github.com/andrewnicols/moodle 2024-08-21 17:43:11 +07:00
Huong Nguyen c6bdae8f76 Merge branch 'MDL-82212-main' of https://github.com/sarjona/moodle 2024-08-21 17:35:59 +07:00
Angelia Dela Cruz 4fbb20466c MDL-82655 mod_workshop: Behat test for manual and random allocation 2024-08-21 17:08:25 +08:00
Jun Pataleta 33d6ae05c5 Merge branch 'MDL-79680_upgrade-prismjs' of https://github.com/ziegenberg/moodle 2024-08-21 17:00:49 +08:00
Jun Pataleta 0909b814aa Merge branch 'MDL-79678_upgrade-otphp' of https://github.com/ziegenberg/moodle 2024-08-21 16:52:33 +08:00
Sara Arjona dbd0b66ade Merge branch 'MDL-72620' of https://github.com/paulholden/moodle 2024-08-21 10:44:22 +02:00
Sara Arjona 253383fc23 Merge branch 'MDL-82377-main' of https://github.com/ferranrecio/moodle 2024-08-21 10:17:08 +02:00
Laurent David aa18e063d7 MDL-82357 core_courseformat: A subsection cannot move onto itself
* Subsections are considered as section and need to be prevented to
be moved into itself so to avoid infinite recursive structures.
This prevent this from happenning at a lower level (state)
2024-08-21 09:46:52 +02:00
Sara Arjona c77a0dad13 MDL-82212 behat: Display error when deprecated icons are found
A check for deprecated icons has been integrated into Behat tests.
This check can be disabled by adding the --no-icon-deprecations flag
to the Behat initialization command.
2024-08-21 07:05:14 +02:00
Sara Arjona 9f63a03d93 MDL-82212 core: Add a mechanism to deprecate icons
A new method, get_deprecated_icons(), has been added to the icon_system class.
All deprecated icons should be registered through this method.
When $CFG->debugpageinfo is enabled, a console message will display a list of
the deprecated icons.
2024-08-21 07:05:13 +02:00
Sara Arjona 7a0db549b8 MDL-82498 pix: Update smiley icons
The emoticons have been updated to match those found in the emoji-data
third-party library.
2024-08-21 07:02:14 +02:00
Huong Nguyen 2e8c1d1bb3 Merge branch 'MDL-82175-cron-logs' of https://github.com/brendanheywood/moodle 2024-08-21 11:51:18 +07:00
hieuvu c25554b93c MDL-82832 ddimageortext: center the dd item using js. 2024-08-21 10:58:11 +07:00
Jun Pataleta 8e20564a18 Merge branch 'MDL-78785_main_toolbrickfield_rgbcolorcontrasts' of https://github.com/brickfield/moodle 2024-08-21 11:49:30 +08:00
James C 91c8d671ca MDL-82784 course: Don't try to change a non-existant add section button 2024-08-21 14:59:24 +12:00
Jake Dallimore 788c311681 Merge branch 'MDL-80639_upgrade-aws-sdk' of https://github.com/ziegenberg/moodle 2024-08-21 08:43:53 +08:00
Andrew Nicols 0ec18c2381 MDL-82787 behat: Correct stop of webdriver on failure 2024-08-21 08:43:04 +08:00
Sara Arjona e0a9cf2288 on-demand release 4.5dev+ 2024-08-20 20:16:21 +02:00
Sara Arjona 882c2532c1 NOBUG: Add upgrade notes 2024-08-20 20:16:21 +02:00
Sara Arjona 838dbd5736 Merge branch 'install_main' of https://git.in.moodle.com/amosbot/moodle-install 2024-08-20 20:16:08 +02:00
Justus Dieckmann 1d848a78cf MDL-82838 tool_mfa: Prevent accidental resubmission of token 2024-08-20 16:46:01 +02:00
Andrew Nicols aa298d575f MDL-82158 core_cache: Note API changes 2024-08-20 20:44:29 +08:00
Andrew Nicols c21aeeb380 MDL-82158 core: Update most uses of cache_ classes 2024-08-20 20:44:28 +08:00
Andrew Nicols b92008c92c MDL-82158 core_cache: Coding style fixes 2024-08-20 20:44:28 +08:00
Andrew Nicols 4e4a6c6580 MDL-82110 core: Remove debugging for unmigrated hooks in unit tests 2024-08-20 20:28:50 +08:00
Andrew Nicols 9fe7dedb9f MDL-82790 core: Remove filter_tidy 2024-08-20 20:22:55 +08:00
Jun Pataleta e82edab56a Merge branch 'MDL-77544-main-phpunit' of https://github.com/HuongNV13/moodle 2024-08-20 20:17:04 +08:00
Huong Nguyen 90613aae97 MDL-77544 enrol_database: Make sure the records are unique 2024-08-20 19:05:31 +07:00
Jun Pataleta e19837463b MDL-77544 enrol_database: Make sure column mapping config match case
Some databases may have case-sensitive collation that will cause the
generated SQL query in `\enrol_database_plugin::sync_courses()` to fail
when using values for the plugin settings `newcoursestartdate` and
`newcourseenddate` with a different case compared to the columns
in the actual external database table.

For the sake of testing sync with start and end dates, let's make sure
that the config values match the case of the enrol test table's columns
for the start and end dates.
2024-08-20 19:03:27 +07:00
vlad.kidanov c7b53a03e1 MDL-82492 gradereport_grader: Grader report HTML output optimization 2024-08-20 10:31:26 +01:00
Andrew Nicols bac9672b7f MDL-82158 core: Ensure that the class map contains cache classes 2024-08-20 15:49:10 +08:00
Andrew Nicols f31d9ebc8c MDL-82158 core: Remove uses of cache/lib.php 2024-08-20 15:47:14 +08:00
Andrew Nicols 24a9c64cb3 MDL-82158 core_cache: Move cache forms 2024-08-20 15:27:06 +08:00
Andrew Nicols cd6501c017 MDL-82158 core_cache: Moved disabled cache infrastructure 2024-08-20 15:27:06 +08:00
Andrew Nicols 7a9f55694f MDL-82158 core_cache: Move cache_config_writer 2024-08-20 15:27:05 +08:00
Andrew Nicols a63e81bfa5 MDL-82158 core_cache: Move cache definition 2024-08-20 15:27:05 +08:00
Andrew Nicols c5ff1b053f MDL-82158 core_cache: Move cache stores 2024-08-20 15:27:05 +08:00
Andrew Nicols 4038c52928 MDL-82158 core_cache: Move interfaces 2024-08-20 15:27:04 +08:00
Andrew Nicols 3d5bca08bf MDL-82828 core: Add test for html2text trailing space between tags 2024-08-20 15:04:02 +08:00
Andrew Nicols 32fce988e9 MDL-82828 core: Rewrite html2text tests 2024-08-20 14:54:39 +08:00
Jun Pataleta 6e3bb56ef6 Merge branch 'MDL-77544-main' of https://github.com/dmitriim/moodle 2024-08-20 12:04:23 +08:00
Andrew Nicols 082ed827b5 MDL-82828 core: Remove html2text overrides for missing mbstring 2024-08-20 11:14:29 +08:00
Andrew Nicols 4ef233d993 MDL-82828 core: Update Html2Text to version 4.3.2 2024-08-20 11:14:29 +08:00
Jake Dallimore 45faf93d87 Merge branch 'MDL-82778-main' of https://github.com/andrewnicols/moodle 2024-08-20 11:07:13 +08:00
Jun Pataleta 99f7cb0a8a Merge branch 'MDL-82532-main' of https://github.com/sammarshallou/moodle 2024-08-20 11:04:11 +08:00
Huong Nguyen c986f00ed8 Merge branch 'MDL-74939' of https://github.com/paulholden/moodle 2024-08-20 09:43:06 +07:00
Huong Nguyen dca18ebca3 Merge branch 'MDL-81634-main' of https://github.com/andrewnicols/moodle 2024-08-20 09:30:44 +07:00
Jake Dallimore 2bfd4c2950 Merge branch 'MDL-81130-main' of https://github.com/raortegar/moodle 2024-08-20 08:51:05 +08:00
sam marshall 9e9d3b5b81 MDL-82359 Install: Allow removal of modules from core analytics models 2024-08-19 16:00:13 +01:00
sam marshall 7aa0ccf4f3 MDL-82359 Install: Move lang strings for separate and connected
AMOS BEGIN
 MOV [postrating1,mod_forum],[separateandconnected1,core]
 MOV [postrating2,mod_forum],[separateandconnected2,core]
 MOV [postrating3,mod_forum],[separateandconnected3,core]
AMOS END
2024-08-19 16:00:13 +01:00
ferranrecio 010f411030 MDL-82377 core_course: delegated section user visible 2024-08-19 17:00:11 +02:00
Sara Arjona a0924f0e80 Merge branch 'MDL-82376-main' of https://github.com/laurentdavid/moodle 2024-08-19 16:52:07 +02:00
Sara Arjona 78530eca1c Merge branch 'MDL-82455' of https://github.com/paulholden/moodle 2024-08-19 16:45:51 +02:00
Amaia Anabitarte 2c59e87409 MDL-82495 report_outline: Add subsections to user reports 2024-08-19 16:42:28 +02:00
sam marshall 525b635cfc MDL-82532 Profile: Capability to allow/prevent view of profile images
Introduces a new capability moodle/user:viewprofilepics, granted by
default to 'user' and 'guest'. If the 'forcelogin' option or
'forceloginforprofileimage' option is enabled, then users must have
this capability in order to see profile pictures (except their own).
2024-08-19 15:42:16 +01:00
Brendan Heywood 340e8b120a MDL-82175 cron: Improved task view logs page 2024-08-19 23:30:25 +10:00
Sara Arjona 3629a87511 Merge branch 'MDL-82811' of https://github.com/paulholden/moodle 2024-08-19 12:15:59 +02:00
Sara Arjona 7e0bd1b12b Merge branch 'MDL-82619-main-cr' of https://github.com/ferranrecio/moodle 2024-08-19 12:08:19 +02:00
raortegar 56a1945b87 MDL-81130 core_admin: Update copy of alert to register site 2024-08-19 08:32:08 +02:00
Sara Arjona fbdc1ea1ad Merge branch 'MDL-81667' of https://github.com/paulholden/moodle 2024-08-19 07:50:02 +02:00
Jun Pataleta 83a031e39f Merge branch 'MDL-82478-main' of https://github.com/aanabit/moodle 2024-08-19 11:42:35 +08:00
Jun Pataleta b9fa17d0b5 Merge branch 'MDL-82295-main-test' of https://github.com/mihailges/moodle 2024-08-19 11:35:00 +08:00
Mihail Geshoski 897ec3b603 MDL-82816 mod_assign: Rename 'View Grader' action button to 'Grade'
Renames the 'View Grader' action button to 'Grade' and deprecates
the 'viewgrader' string which is no longer used.
2024-08-19 10:20:19 +08:00
Dmitrii Metelkin f6d2ff9cf5 MDL-77544 enrol_database: include start and end dates 2024-08-19 10:57:54 +10:00
AMOS bot a3b3e6c386 Automatically generated installer lang files 2024-08-19 00:07:49 +00:00
Karen Holland 7ca362c8dc MDL-78785 tool_brickfield: Processing rgb & rgba color contrasts
Including rgb(), rgba() processing for colour contrast checking.
  Including review requests :void and @covers for phpunit testing.
2024-08-16 17:34:44 +00:00
Daniel Ziegenberg 229b0dc6bf MDL-79678 tool_mfa: use DI and PSR-20: clock
As the OTPHP library now utilizes a PSR-20: clock we can make use of it.
Also the the parameter '' will become mandatory in 12.0.0. So we are
asked to set a valid PSR Clock implementation instead of 'null'.

Signed-off-by: Daniel Ziegenberg <daniel@ziegenberg.at>
2024-08-16 19:27:41 +02:00
Daniel Ziegenberg dc25c83a52 MDL-79678 tool_mfa: Adapt to OTPHP changes in v11
With the OTPHP upgrade from v10.x to v11.x, the behaviour of the window
feature changed substantially. With version 10, the window of timestamps
goes from `timestamp - window * period` to `timestamp + window *
period`. For example, if the window is 5, the period 30 and the
timestamp 1476822000, the OTP tested are within 1476821850 (`1476822000
- 5 * 30`) and 1476822150 (`1476822000 + 5 * 30`). In other words, this
validated the 5 OTP before and after the current timestamp. With version
11, the TOTP window acts as a time drift. If the window is 15, the
period 30, and the current timestamp is 147682209, the OTP tested are
within 147682194 (`147682209 - 15`), 147682209 and 147682224 (`147682209
+ 15`). The window shall be lower than the period. Therefore, this test
includes the previous OTP but not the next one.

This change required an adaption to align our implementation with OTPHP.
The window of valid TOTP tokens is now much narrower. This change in
functionality is a security improvement, but it also means that the time
on the device generating the TOTP token must be more accurate.  As OTPHP
restricts the window to be strictly lower than the period, our admin
setting now has a maximum allowed value of 29. To ensure we only have
valid window values, we need to update the admin setting to a value
lower than 30; therefore, we include an upgrade step.

Signed-off-by: Daniel Ziegenberg <daniel@ziegenberg.at>
2024-08-16 19:27:39 +02:00
Paul Holden 4f32fbffa2 MDL-82811 output: apply appropriate icon class in inplace editable. 2024-08-16 14:26:52 +01:00
Tim Hunt 8a662a008e MDL-82810 question bank: stop action menu from getting truncated 2024-08-16 13:34:06 +01:00
Amaia Anabitarte ca3c2c46e8 MDL-82619 core_course: Subsections in hidden sections should be hidden 2024-08-16 14:33:43 +02:00
Paul Holden 6c8631bb53 MDL-74188 notes: consistent formatting of text content.
Each method of adding notes, either via UI or external service (via
course participant actions), defined the format of the content
different from one another. Neither of those formats were correct.
2024-08-16 10:19:54 +01:00
Paul Holden 18be12c59d MDL-82547 javascript: remove legacy jQuery inplace editable events. 2024-08-16 10:15:22 +01:00
Paul Holden 3a4c0f32b2 MDL-82547 javascript: convert to native inplace editable events. 2024-08-16 10:15:22 +01:00
Paul Holden 968ae422c0 MDL-82220 group: check valid mapping when restoring custom fields. 2024-08-16 10:08:57 +01:00
Paul Holden 27b384e0fa MDL-82220 backup: ensure correct group/ing custom fields are included.
We should include only the custom field values that belong to those
groups and/or groupings that are being backed up.
2024-08-16 10:08:57 +01:00
Laurent David f3803d66b4 MDL-82376 course_format: Remove the move icon in course index
* Remove the move icon in the course index
* Make sure the mouse pointer change when able to drag and
drop an item
2024-08-16 10:20:58 +02:00
Laurent David d75652fd16 MDL-82376 course: Delegated sections items course index full width
* Delegated sections in the course index should take the full width to be
aligned with other sections
2024-08-16 09:39:42 +02:00
Ilya Tregubov 82694f5fee MDL-82295 mod_assign: Action menus for grade and status columns.
Edit column is removed from view all submissions page. Its merged
into grade and status columns.

Co-authored-by: Mihail Geshoski <mihail@moodle.com>
2024-08-16 11:57:17 +08:00
Mihail Geshoski afb51a72b2 MDL-82195 assign: Include submissions page link in secondary navigation
Integrates a submissions page link into the assignment's secondary
navigation, eliminates the redundant 'View all submissions' button
from the assignment's homepage and updates the existing behat tests.
2024-08-16 11:26:13 +08:00
Huong Nguyen 6cd55074c7 weekly release 4.5dev+ 2024-08-16 08:37:51 +07:00
Huong Nguyen e2708aeacf NOBUG: Add upgrade notes 2024-08-16 08:37:50 +07:00
Huong Nguyen e6ea778c03 NOBUG: Fixed SVG browser compatibility 2024-08-16 08:37:01 +07:00
Paul Holden de4e2a545a MDL-82455 badges: link report recipients count to appropriate page. 2024-08-15 21:40:33 +01:00
Daniel Ziegenberg 793385b256 MDL-79680 libraries: Upgrade PrismJS to 1.29.0
Signed-off-by: Daniel Ziegenberg <daniel@ziegenberg.at>
2024-08-15 18:07:37 +02:00
Andrew Nicols d85201adcb MDL-82778 core: Update core/fetch module to use Class 2024-08-15 22:45:47 +08:00
Paul Holden d4a7aa1395 MDL-82006 reportbuilder: move filter Behat scenarios inside component. 2024-08-15 13:09:54 +01:00
Paul Holden 6ae3e8e2e5 MDL-82802 tool_xmldb: allow numeric characters in table names. 2024-08-15 11:51:31 +01:00
Paul Holden 5b4e858e80 MDL-74939 output: final removal of deprecated navigation namespace. 2024-08-15 11:14:18 +01:00
Paul Holden 8298abfbb1 MDL-76889 competency: add cohort data to competencies report source. 2024-08-15 11:11:40 +01:00
Paul Holden fd18c5014e MDL-76889 competency: implement datasource for custom reporting.
Create entity definitions for competencies, frameworks and users
for new report source to provide data for report editor.

AMOS BEGIN
 CPY [competencyframework,tool_lp],[competencyframework,core_competency]
 CPY [proficient,tool_lp],[proficient,core_competency]
 CPY [rating,tool_lp],[rating,core_competency]
 CPY [taxonomy_competency,core_competency],[competency,core_competency]
AMOS END
2024-08-15 11:11:39 +01:00
Paul Holden 6580ab2c1c MDL-82535 roles: implement archetype custom report/entity data.
Modernise entity imports and implementation.
2024-08-15 11:11:04 +01:00
Paul Holden 19f519f155 MDL-81667 libraries: upgrade to version 4.10.0 of axe-core. 2024-08-15 10:23:22 +01:00
Paul Holden 0de8a4c250 MDL-82301 mod_feedback: remove long ago abandoned tabs element usage.
Haven't been used since 773051b98f.
2024-08-15 09:51:15 +01:00
Huong Nguyen 28ac2ad785 Merge branch 'MDL-82724-main' of https://github.com/phmemmel/moodle 2024-08-15 10:59:19 +07:00
Jun Pataleta 2c191e8072 Merge branch 'MDL-82782-main' of https://github.com/andrewnicols/moodle 2024-08-15 11:52:02 +08:00
Huong Nguyen 8df76884f9 Merge branch 'MDL-82706-main-2' of https://github.com/junpataleta/moodle 2024-08-15 10:31:57 +07:00
Jun Pataleta 06d273672d Merge branch 'MDL-82798-main' of https://github.com/HuongNV13/moodle 2024-08-15 11:14:04 +08:00
Huong Nguyen 482ef20399 Merge branch 'MDL-81629-main' of https://github.com/NJahreis/moodle 2024-08-15 10:06:29 +07:00
Huong Nguyen 75505e33b7 Merge branch 'MDL-82758-main' of https://github.com/junpataleta/moodle 2024-08-15 09:37:33 +07:00
Huong Nguyen aeac21463a Merge branch 'MDL-82607' of https://github.com/timhunt/moodle 2024-08-15 09:32:08 +07:00
Huong Nguyen 847b2d6da1 MDL-82798 qtype_ddmarker: Fix Behat failure 2024-08-15 09:15:06 +07:00
Jun Pataleta 2c5f32d814 Merge branch 'MDL-82792-main' of https://github.com/sarjona/moodle 2024-08-15 10:14:57 +08:00
Daniel Ziegenberg 0de93b2b27 MDL-80641 libaries: Upgrade JMESPath to 2.7.0
Signed-off-by: Daniel Ziegenberg <daniel@ziegenberg.at>
2024-08-14 22:03:22 +02:00
Jun Pataleta 5574092b2f Merge branch 'MDL-82668-main' of https://github.com/andrewnicols/moodle 2024-08-14 23:26:56 +08:00
Jun Pataleta 81060486ce Merge branch 'MDL-82686-main' of https://github.com/sarjona/moodle 2024-08-14 23:12:35 +08:00
Jun Pataleta 20dcede4b5 Merge branch 'MDL-82747-main' of https://github.com/andrewnicols/moodle 2024-08-14 23:05:06 +08:00
Andrew Nicols a2c3df2cb2 MDL-82480 core_course: Coding style fix 2024-08-14 22:39:50 +08:00
Andrew Nicols df01e2edc6 Merge branch 'MDL-82480-main' of https://github.com/ferranrecio/moodle 2024-08-14 22:31:16 +08:00
Andrew Nicols 08f8b58945 MDL-82747 core: Register composer autoload files
Unfortunately PHP does not provide any means to autoload the files that
a functions is located in, even if they are in an namespace.

To work around this, Composer makes use of an `autoload.files` section
in the `composer.json` file. Shortly after the Composer autoloader is
registered with the `spl_autoload_register` call it also includes any
files listed in this section.

Moodle does not do this and really we should be doing so.

This change adds a section to the autoloader registration method which
loads all of the files defined in any third-party library included in
our `lib` directory which contains any `composer.json` file with such a
stanza.
2024-08-14 21:57:20 +08:00
Daniel Ziegenberg 1a25317f42 MDL-79678 libraries: Remove unused dependency Assert
This commit removes the dependency Assert that once was required by
OTPHP, but is no longer needed as of version 11.2.0.

Signed-off-by: Daniel Ziegenberg <daniel@ziegenberg.at>
2024-08-14 15:53:44 +02:00
Daniel Ziegenberg 9762901cba MDL-79678 libraries: Update OTPHP to 11.3.0
Notable changes:
- The OTPHP library requires now at least PHP 8.1.
- The OTPHP library now relies on the MBString extension. This extension
  is now a required dependency.
- The OTPHP library now utilizes a PSR-20: clock.

Signed-off-by: Daniel Ziegenberg <daniel@ziegenberg.at>
2024-08-14 15:53:42 +02:00
Daniel Ziegenberg 6284ec8aac MDL-81658 libraries: upgrade to version 6.7.5 of TCPDF
Signed-off-by: Daniel Ziegenberg <daniel@ziegenberg.at>
2024-08-14 15:51:10 +02:00
Andrew Nicols 149b548c91 MDL-82782 behat: Support runtime scaling of Behat windows 2024-08-14 21:48:15 +08:00
Amaia Anabitarte 6b34d4fd94 MDL-82480 core_course: Add Move option to subsections 2024-08-14 14:31:24 +02:00
Jun Pataleta 5b15521c90 Merge branch 'MDL-82385-main' of https://github.com/dpalou/moodle 2024-08-14 19:02:57 +08:00
Sara Arjona bd447a102d MDL-82792 h5p: Fix random behat failures
We've started seeing various failures in Firefox and Classic.
Increasing the default window size fixes them.
2024-08-14 12:09:10 +02:00
Dani Palou 4f2f985902 MDL-82385 subsection: Support subsection in app 4.4 and older 2024-08-14 11:42:01 +02:00
Dani Palou 2b2dcab6a5 MDL-82385 course: Wrap section name in span in core_course_get_contents 2024-08-14 11:42:01 +02:00
Dani Palou e12954e55c MDL-82385 subsection: Return delegated section ID in customdata 2024-08-14 11:29:24 +02:00
Dani Palou 883448dae4 MDL-82385 course: Return new section fields in core_course_get_contents 2024-08-14 11:29:24 +02:00
Andrew Nicols c0bb4e4957 MDL-82668 core: Move phpstorm meta to di.php 2024-08-14 16:32:23 +08:00
Sara Arjona a4a71a49ad MDL-82211 workshop: Fix icons size 2024-08-14 13:36:59 +07:00
Sara Arjona 5bba3fb57c MDL-82686 myoverview: Hide course overview block menu
On the My Courses page, the actions in the Course Overview block menu
can be ignored by users who have access to them, so the UX team
suggested hiding these actions
2024-08-13 16:14:51 +02:00
Sara Arjona 5182744131 Merge branch 'mdl-82214' of https://github.com/NeillM/moodle 2024-08-13 16:08:08 +02:00
Sara Arjona 4806f00921 Merge branch 'MOODLE_main_MDL-74590' of https://github.com/danielneis/moodle 2024-08-13 15:41:30 +02:00
Daniel Neis Araujo d42e31899c MDL-74590 contentbank: add custom fields to content bank 2024-08-13 08:55:44 -03:00
Sara Arjona 4eda519bcb Merge branch 'MDL-82502' of https://github.com/paulholden/moodle 2024-08-13 13:14:53 +02:00
Sara Arjona 8f2a665e26 Merge branch 'MDL-82687' of https://github.com/timhunt/moodle 2024-08-13 12:40:44 +02:00
Sara Arjona 3370f7e107 Merge branch 'MDL-82339' of https://github.com/KrisBax/moodle 2024-08-13 11:44:47 +02:00
Huong Nguyen 31e1fa1f1b Merge branch 'MDL-82211-main' of https://github.com/sarjona/moodle 2024-08-13 15:37:02 +07:00
Sara Arjona bddbd218e9 Merge branch 'MDL-81889-main' of https://github.com/ferranrecio/moodle 2024-08-13 09:49:37 +02:00
Sara Arjona ab0d18eb00 Merge branch 'MDL-75671-main' of https://github.com/roland04/moodle 2024-08-13 09:20:47 +02:00
Sara Arjona ee16e0a4a5 Merge branch 'MDL-81129-main' of https://github.com/meirzamoodle/moodle 2024-08-13 09:06:09 +02:00
Sara Arjona f485e3fd8d MDL-82211 componentlibrary: Update fontawesomeicons.json 2024-08-13 07:23:39 +02:00
Sara Arjona 08929e7a48 MDL-82211 qtype_ddmarker: Update SVG icons 2024-08-13 07:22:43 +02:00
Sara Arjona 2382ea5c31 MDL-82211 mod_workshop: Update SVG icons 2024-08-13 07:22:43 +02:00
Sara Arjona bac2860459 MDL-82211 mod_wiki: Update SVG icons 2024-08-13 07:22:43 +02:00
Sara Arjona 1f721163f6 MDL-82211 mod_scorm: Update SVG icons 2024-08-13 07:22:43 +02:00
Sara Arjona 35f70cb2fe MDL-82211 mod_quiz: Update SVG icons 2024-08-13 07:22:43 +02:00
Sara Arjona 3ebfbd2f63 MDL-82211 mod_lesson: Update SVG icons 2024-08-13 07:22:43 +02:00
Sara Arjona a7198ce440 MDL-82211 mod_glossary: Update SVG icons and remove unused ones 2024-08-13 07:22:43 +02:00
Sara Arjona 7a4d40ceca MDL-82211 mod_forum: Update SVG icons 2024-08-13 07:22:43 +02:00
Sara Arjona d413053822 MDL-82211 mod_feedback: Update SVG icons and remove unused ones 2024-08-13 07:22:42 +02:00
Sara Arjona ef570f064d MDL-82211 mod_data: Update SVG icons 2024-08-13 07:22:42 +02:00
Sara Arjona 18894e55af MDL-82211 mod_choice: Update SVG icons and remove unused ones 2024-08-13 07:22:42 +02:00
Sara Arjona 90a27545d2 MDL-82211 mod_book: Update SVG icons and remove deprecated ones 2024-08-13 07:22:42 +02:00
Sara Arjona fcfdda602d MDL-82211 tool_recycle: Update SVG icons 2024-08-13 07:22:42 +02:00
Sara Arjona d597e00506 MDL-82211 atto: Update SVG icons 2024-08-13 07:22:42 +02:00
Sara Arjona 619e9704e0 MDL-82211 grading_guide: Update SVG icons
Apart from updating the SVG icons, the styles for some of the icons,
like the add criterion, have been also fixed.
2024-08-13 07:22:42 +02:00
Sara Arjona 7ede849137 MDL-82211 enrol_self: Update SVG icons 2024-08-13 07:22:42 +02:00
Sara Arjona 626c3ef5ed MDL-82211 lti: Update SVG icons 2024-08-13 07:22:42 +02:00
Sara Arjona d97ce0d08a MDL-82211 enrol_guest: Update SVG icons 2024-08-13 07:22:42 +02:00
Sara Arjona 26605a6f53 MDL-82211 customfield: Update SVG icons 2024-08-13 07:22:42 +02:00
Sara Arjona 82d5187db6 MDL-82211 usertours: Update SVG icons
Apart from updating the SVG icons, the big icons have been added to
take advantage of the FA icons (and remove the old ones).
The icons.scss has been updated too, to display properly the big
icons.
2024-08-13 07:22:41 +02:00
Sara Arjona bf040d0cdf MDL-82211 brickfield: Update SVG icons 2024-08-13 07:22:41 +02:00
Sara Arjona 4d86717530 MDL-82211 tool_policy: Update SVG icons 2024-08-13 07:22:41 +02:00
Sara Arjona 1040efea57 MDL-82211 tool_lp: Update SVG icons 2024-08-13 07:22:41 +02:00
Ilya Tregubov add178887b Merge branch 'MDL-82346-main' of https://github.com/davewoloszyn/moodle 2024-08-13 11:55:14 +08:00
Ilya Tregubov fbbd99c21e Merge branch 'MDL-82497-main' of https://github.com/sarjona/moodle 2024-08-13 10:53:46 +08:00
Ilya Tregubov efaade00b5 Merge branch 'MDL-64675' of https://github.com/paulholden/moodle 2024-08-13 10:43:55 +08:00
ferranrecio a2ed8a036d MDL-81889 tool_generator: add examples to behat steps
The tool_generator creates a testing scenario that can execute
all steps from behat_data_generators (with some limitations),
change admin settings and delete courses and users to cleanup
the created entities. However, this list of valid steps will
change over time and it will be great if all available steps
are listed with examples.
2024-08-12 12:25:46 +02:00
Andrew Nicols be3482f339 MDL-82747 core: Provide a standard way to register the Autoloader 2024-08-12 13:49:37 +08:00
Daniil Fajnberg bb58a69e66 MDL-82668 core: Use a .phpstorm.meta.php directory instead of a file
Allow developers to add their own metadata overrides
2024-08-12 13:26:35 +08:00
Ilya Tregubov a75365f2e4 on-demand release 4.5dev+ 2024-08-10 14:56:17 +08:00
Ilya Tregubov 80e6149ed4 NOBUG: Add upgrade notes 2024-08-10 14:56:17 +08:00
Albert Gasset d9ea6bc804 MDL-82742 badges: Include recipient in web services that return badges 2024-08-09 15:24:56 +02:00
Jun Pataleta 9382e4963f MDL-82758 gha: Remove reference to the master branch 2024-08-09 16:12:58 +08:00
Mikel Martín 6a5cb2e2a2 MDL-75671 theme_boost: Refactor border direction classes for BS5
- Add SCSS code for border direction utility classes to the Boostrap 5 bridge SCSS file
- Replace all occurrences in the codebase (border-left > border-start, border-right-0 > border-end-0, ...)
2024-08-09 07:40:18 +02:00
Mikel Martín f179890ad5 MDL-75671 theme_boost: Refactor text direction classes for BS5
- Add SCSS code for text direction utility classes to the Boostrap 5 bridge SCSS file
- Replace all occurrences in the codebase (text-left > text-start, text-sm-right > text-sm-end, ...)
2024-08-09 07:40:17 +02:00
Mikel Martín 6baf2046d5 MDL-75671 theme_boost: Refactor float classes for BS5
- Add SCSS code for float  utility classes to the Boostrap 5 bridge SCSS file
- Replace all occurrences in the codebase (float-left > float-start, float-sm-right > float-sm-end, ...)
2024-08-09 07:40:17 +02:00
Mikel Martín 0a03018116 MDL-75671 theme_boost: Refactor spacing classes for BS5
- Add SCSS code for spacing utility classes to the Boostrap 5 bridge SCSS file
- Replace all occurrences in the codebase (pr-1 > pe-1, ml-auto > ms-auto, ml-sm-3 > ms-sm-3, ...)
2024-08-09 07:40:17 +02:00
Jun Pataleta 6d1816797c Merge branch 'MDL-82599-main-enfix' of https://github.com/mudrd8mz/moodle 2024-08-09 11:20:14 +08:00
Ilya Tregubov 0363e2ce4d weekly release 4.5dev 2024-08-09 09:34:13 +08:00
Ilya Tregubov c0acbd4284 NOBUG: Add upgrade notes 2024-08-09 09:34:13 +08:00
Sara Arjona 669d327354 Merge branch 'MDL-82393-behat' of https://github.com/HuongNV13/moodle 2024-08-08 21:01:47 +08:00
Huong Nguyen 13c309c7af Merge branch 'MDL-82393-integration-main' of https://github.com/mihailges/moodle 2024-08-08 21:01:46 +08:00
Huong Nguyen 75abd069c3 MDL-82393 mod_assign: Fix Behat failures 2024-08-08 21:01:46 +08:00
Huong Nguyen bef7f7e2f4 MDL-82745 filter_tex: Improve PHPUnit test 2024-08-08 21:01:46 +08:00
Mihail Geshoski 594750e157 MDL-82393 mod_assign: Remove the null default value from $course
Removes the default null value from the deprecated parameter $course,
which was introduced as part of its deprecation. Since PHP 8.0, it
is deprecated to declare functions where an optional parameter is
followed by a required parameter, as is the case here. Therefore,
the default value needs to be removed.
2024-08-08 21:01:45 +08:00
Mark Johnson ff31b37c78 MDL-81987 redis: Set connection and read timeouts to 10 seconds
This allows the site to continue operating in case of degraded
performance, rather than throwing exceptions.
2024-08-08 13:45:48 +01:00
Huong Nguyen 587f65f34f Merge branch 'MDL-82393-main-1' of https://github.com/mihailges/moodle 2024-08-08 12:04:38 +07:00
Huong Nguyen a3df578e08 Merge branch 'MDL-82508-main-1' of https://github.com/mihailges/moodle 2024-08-08 11:46:35 +07:00
Huong Nguyen 9b1d50a039 Merge branch 'MDL-63015' of https://github.com/paulholden/moodle 2024-08-08 11:43:51 +07:00
Michael Hawkins a74008207a MDL-82745 filter_tex: Improve filter deny list 2024-08-08 11:39:48 +07:00
Michael Hawkins 622ee09209 MDL-82576 qtype_calculated: Improve formula regexes 2024-08-08 11:11:02 +07:00
Ilya Tregubov c00e44c248 Merge branch 'MDL-82608' of https://github.com/paulholden/moodle 2024-08-08 11:09:06 +08:00
Ilya Tregubov fe2bfd6bbd Merge branch 'MDL-82605' of https://github.com/paulholden/moodle 2024-08-08 11:03:18 +08:00
Safat 73b20fec1c MDL-82395 tool_xmldb: Table layout update 2024-08-08 10:00:10 +07:00
Jun Pataleta ad4a45b219 Merge branch 'MDL-82560-main' of https://github.com/lameze/moodle 2024-08-08 10:45:23 +08:00
Jun Pataleta 8f3338195d Merge branch 'MDL-82585' of https://github.com/paulholden/moodle 2024-08-08 10:42:11 +08:00
Paul Holden f4d0fd92e8 MDL-79373 admin: ensure all current password configs are defined.
Ensure the admin preset export tool has an accurate record of each,
to be observed as sensitive settings when creating an export.
2024-08-08 09:21:50 +07:00
Angelia Dela Cruz 43356d891f MDL-82560 mod_forum: Test that students can only start one discussion 2024-08-08 10:20:56 +08:00
Andrew Nicols 68dacb79dc Merge branch 'MDL-80593-main-alt' of https://github.com/HuongNV13/moodle 2024-08-08 10:19:14 +08:00
Huong Nguyen a707c4f965 Merge branch 'MDL-82177' of https://github.com/timhunt/moodle 2024-08-08 09:10:42 +07:00
Huong Nguyen ad40c27bd9 Merge branch 'MDL-82592' of https://github.com/timhunt/moodle 2024-08-08 09:01:53 +07:00
Huong Nguyen 2102a9dd89 Merge branch 'MDL-82669' of https://github.com/paulholden/moodle 2024-08-08 08:58:17 +07:00
Jun Pataleta f41300bce0 Merge branch 'MDL-77784' of https://github.com/paulholden/moodle 2024-08-08 09:56:21 +08:00
Huong Nguyen 3119497793 Merge branch 'mdl-826620-main' of https://github.com/matthewhilton/moodle 2024-08-08 08:41:03 +07:00
Ilya Tregubov 47b707f631 Merge branch 'MDL-82209' of https://github.com/paulholden/moodle 2024-08-08 09:21:51 +08:00
Ilya Tregubov b6a0a658b5 Merge branch 'MDL-82525' of https://github.com/paulholden/moodle 2024-08-08 08:25:31 +08:00
Ilya Tregubov 86372ac828 Merge branch 'MDL-82208' of https://github.com/paulholden/moodle 2024-08-08 08:15:34 +08:00
Daniel Ziegenberg be2c9f57dd MDL-80639 libs: upgrade AWS SDK for PHP to 3.318.0
Signed-off-by: Daniel Ziegenberg <daniel@ziegenberg.at>
2024-08-07 20:03:38 +02:00
Paul Holden fc4c0dba23 MDL-64675 mod_feedback: better detection of last page break element.
Inform user when a page break item cannot be added.
2024-08-07 16:57:28 +01:00
Kristiina.Bax 5404d89819 MDL-82339 admin: adjusted usertours form text boxes width 2024-08-07 10:51:47 +01:00
Mihail Geshoski b7481cf4aa MDL-82393 course: Deprecate the $course argument in group_selector
Deprecates the $course parameter in the constructor of the
core_course\output\actionbar\group_selector class. This parameter is no
longer used, as the $course object can now be obtained through the
$context class property. Additionaly, the $course class property has
been removed in accordance with this change.
2024-08-07 17:27:41 +08:00
Mihail Geshoski 02755c4f95 MDL-82393 course: Refactor the renderable class for the group selector
The group selector renderable class should extend the comboboxsearch
renderable class to eliminate the need for initializing the
comboboxsearch object within the export_for_template() method and to
prevent duplicating the get_template() method.
2024-08-07 17:27:41 +08:00
Mihail Geshoski 19786070c7 MDL-82393 mod_assign: The group selector follows the correct group mode
This change ensures that the group selector correctly appears on the
submission page, adhering to the assignment's group mode settings or
the enforced group mode set by the course.
2024-08-07 17:27:41 +08:00
Mihail Geshoski 4da5dbcb52 MDL-82393 course: The group selector component should be context-aware
The group selector component should be sensitive to the current context
to ensure accurate validation and retrieval of group settings
(e.g. group mode).
2024-08-07 17:27:41 +08:00
Jun Pataleta d55cbfca08 Merge branch 'MOODLE_main_MDL-82518' of https://github.com/danielneis/moodle 2024-08-07 17:12:14 +08:00
Jun Pataleta 91ba1edb99 Merge branch 'MDL-82425-master' of https://github.com/NguyenTuanAnh3/moodle 2024-08-07 16:22:26 +08:00
Paul Holden e618178326 MDL-82633 mod_quiz: filter user visible overrides in external methods. 2024-08-07 16:08:00 +08:00
Paul Holden b44452b0ac MDL-82633 mod_quiz: re-factor visibility check for overrides. 2024-08-07 16:07:59 +08:00
Ilya Tregubov d139880d12 Merge branch 'MDL-81830' of https://github.com/paulholden/moodle 2024-08-07 15:24:52 +08:00
Philipp Memmel 9eabb86233 MDL-82724 editor_tiny: Harden check for quicktoolbar and contextmenu 2024-08-07 09:15:33 +02:00
Paul Holden 0f334dd5f3 MDL-81394 restore: format backup file metadata details safely. 2024-08-07 14:04:01 +08:00
Ilya Tregubov 647b15d5ac MDL-79541 gradereport_user: Fix indentation in Behat. 2024-08-07 04:12:45 +00:00
Huong Nguyen 3c86ca2865 MDL-81718 core_grades: Fix Behat failures 2024-08-07 04:12:45 +00:00
raortegar 01fde971ad MDL-81718 core: Improve localstorage validation 2024-08-07 04:12:45 +00:00
Paul Holden c7d9026715 MDL-82558 h5p: escape template error/exception content. 2024-08-07 04:12:45 +00:00
Paul Holden 687f735387 MDL-82392 blocks: consistent cleaning of block instance names. 2024-08-07 04:12:45 +00:00
Paul Holden e1aa194b3d MDL-82261 mod_feedback: ensure only non-respondents can be messaged. 2024-08-07 04:12:45 +00:00
Paul Holden 19d2552caa MDL-82390 badges: correct context check when deleting badges. 2024-08-07 04:12:45 +00:00
lameze b24e08c18d MDL-79541 behat: use the right steps to assert user search content 2024-08-07 04:12:45 +00:00
meirzamoodle 7a6e504b02 MDL-82136 curl: Send credentials to redirect URL if allowed
Curl has the option CURLOPT_UNRESTRICTED_AUTH. If true, curl will send
the credentials to a different host. If false, they will not be sent.

CURLOPT_UNRESTRICTED_AUTH can only work if the CURLOPT_FOLLOWLOCATION
option is true. The filelib forces the CURLOPT_FOLLOWLOCATION option
to be false, because all redirects are emulated at the PHP level. So,
in this case, the CURLOPT_UNRESTRICTED_AUTH option is only being used
in our logic and will not work as you might expect it to.

This patch works almost the same as CURLOPT_UNRESTRICTED_AUTH in ideal
conditions. It will check whether the host is different. If so, the
system will check what value CURLOPT_UNRESTRICTED_AUTH has. If it is
not specified, then by default, it will be false. If false, then
credentials will not be sent.
2024-08-07 04:12:45 +00:00
Paul Holden a8157c10aa MDL-82262 mod_feedback: fix broken bulk message sesskey checks. 2024-08-07 04:12:45 +00:00
Paul Holden 7f4d8b04eb MDL-64984 mod_glossary: capability check when restoring global type. 2024-08-07 04:12:45 +00:00
David Woloszyn 9658ba6710 MDL-81951 communication_matrix: Fix suspended users ignored bug 2024-08-07 04:12:45 +00:00
David Woloszyn 90c1a7613c MDL-81951 communication_matrix: New trait for power levels
A more reliable way of obtaining room power levels is now used in the
new trait get_room_power_levels_v3. This makes
get_room_powerlevels_from_sync_v3 less needed, but not necessarily
redundant. The names of the containing methods have been adjusted to
make better sense of which trait they belong to.
2024-08-07 04:12:45 +00:00
Ilya Tregubov 77996428b5 MDL-79541 core_grades: Add missing user info to search services.
Seems just fullname is not enough. So added all name fields.
2024-08-07 04:12:45 +00:00
Ilya Tregubov f41f222dcd MDL-79541 core_grades: Hidden user fields check for search.
If some user profile fields are hidden on some grade reports
users without permission were able to see those.
2024-08-07 04:12:45 +00:00
Huong Nguyen 7cdec21075 Merge branch 'MDL-82643' of https://github.com/paulholden/moodle 2024-08-07 10:44:45 +07:00
Huong Nguyen 0e9b8c6c26 Merge branch 'MDL-82611' of https://github.com/paulholden/moodle 2024-08-07 10:24:48 +07:00
Huong Nguyen 4fc57b90c0 Merge branch 'MDL-82620-main' of https://github.com/ericmerrill/moodle 2024-08-07 10:20:18 +07:00
Huong Nguyen 16985f844e Merge branch 'MDL-79733-main' of https://github.com/davewoloszyn/moodle 2024-08-07 10:17:17 +07:00
Jun Pataleta 605b8959f0 Merge branch 'MDL-82606' of https://github.com/timhunt/moodle 2024-08-07 11:11:34 +08:00
Tim Hunt fc19af4ce5 MDL-82687 formslib: only allow positive durations by default 2024-08-06 13:53:56 +01:00
Tim Hunt db963dffe6 MDL-82606 filterlib: pass a row limit to recordset for performance
On Postgres, at least, get_recordset_sql performs signficantly worse
if you don't pass a limit. So, we add a limit to the query, but one
that in enormously too large, so it should never have an effect.
(And, there is code to check we never hit the limit, to avoid subtle bugs.)
2024-08-06 10:43:57 +01:00
Jun Pataleta 2b09ffb466 Merge branch 'MDL-82344-main' of https://github.com/snake/moodle 2024-08-06 17:26:36 +08:00
Jun Pataleta 318e82d7cb Merge branch 'MDL-79568' of https://github.com/paulholden/moodle 2024-08-06 17:20:35 +08:00
Amaia Anabitarte 4fac40c02f MDL-82478 core_coures: Add Delete option for subsection page 2024-08-06 10:55:48 +02:00
Neill Magill c224a6c65d MDL-82214 admin: Settings should not change when in read only mode
Before this change if some settings were:

* read only
* visible on a settings page
* are set or have values selected

when the settings page was saved the setting would be set tobe empty,
because the hidden input remained on the page, while the other inputs
where not posted to Moodle.
2024-08-06 09:52:53 +01:00
Jun Pataleta 6a8799937b NOBUG: Fix leftover trailing whitespace 2024-08-06 16:51:43 +08:00
Jun Pataleta dc223e7f16 MDL-81031 core: Fix whitespace errors raised by CI 2024-08-06 16:43:25 +08:00
Mihail Geshoski 73e40b23ed MDL-82508 mod_assign: Revamp the marking workflow filter
Revamps and relocates the existing marking workflow filter on the
assignment submissions page into a new 'extra filters' dropdown
component within the tertiary navigation area.
2024-08-06 16:03:22 +08:00
Jun Pataleta daed5e02a1 Merge branch 'MDL-82702-main' of https://github.com/andrewnicols/moodle 2024-08-06 16:01:09 +08:00
Shamim Rezaie 1504850f9f Merge branch 'MDL-81031-main' of https://github.com/andrewnicols/moodle 2024-08-06 16:01:09 +08:00
Andrew Nicols 2b9af8ca38 MDL-81031 mod_assign: Fix incorrect use of setUserPreference 2024-08-06 16:01:08 +08:00
Andrew Nicols 90b2057620 MDL-81031 core: Correct hinting for default exception handler 2024-08-06 16:01:08 +08:00
Andrew Nicols b3988ffa18 MDL-81031 core: Load standard libraries in router init 2024-08-06 16:01:08 +08:00
Andrew Nicols f64ce7b46e MDL-81031 core: Add JS client-side validation 2024-08-06 16:01:08 +08:00
Andrew Nicols 091ae55c20 MDL-81031 admin: Add swagger UI 2024-08-06 16:01:07 +08:00
Andrew Nicols fbca10b8f3 MDL-81031 core: Add core/fetch to query new WS layer 2024-08-06 16:01:07 +08:00
Andrew Nicols 614b3bf9b3 MDL-81031 core: Add some new WS 2024-08-06 16:01:07 +08:00
Andrew Nicols 1b7d08465c MDL-81031 core: Add routing 2024-08-06 16:01:07 +08:00
Andrew Nicols d3d5d8bc73 MDL-81031 core: Coding style fixes for \core\user 2024-08-06 16:01:07 +08:00
Andrew Nicols f943311753 MDL-81031 core: Rename \core_user to \core\user 2024-08-06 16:01:06 +08:00
Andrew Nicols 0c143ff7ce MDL-81031 core: Add Slim Framework 2024-08-06 16:01:06 +08:00
Andrew Nicols 712dc98c7e MDL-81031 core: Move phpspreadsheet to autoload properly 2024-08-06 16:01:06 +08:00
Andrew Nicols 3782af5a13 MDL-81031 core: Move psr\simple-cache 2024-08-06 16:01:06 +08:00
Andrew Nicols cb75bffafa MDL-81031 core: De-duplicate HTTP-* PSRs
PHPSpreadsheet was incorrectly importing these.
2024-08-06 16:01:06 +08:00
Andrew Nicols 9ca271e42d MDL-81031 core: Add PSR interfaces for PSRs 3, 7, 11, and 15 2024-08-06 16:01:05 +08:00
Andrew Nicols 2c6910cb77 MDL-81031 core: Use ::class for PSR namespacing 2024-08-06 16:00:43 +08:00
Jun Pataleta c188ebbf35 MDL-82706 filter: Declare renamed filter classes 2024-08-06 09:54:26 +08:00
Jun Pataleta aa969acaec MDL-82706 filter: Bring back filter.php in the filter plugins 2024-08-05 20:15:12 +08:00
Paul Holden d23ff93402 MDL-82446 files: pleasantly style the filepicker modal containers. 2024-08-05 08:40:29 +01:00
Paul Holden 9e2fdb7255 MDL-79568 javascript: remove lang parameter from legacy string calls. 2024-08-05 08:33:13 +01:00
Jun Pataleta fde872dd2e Merge branch 'MDL-82587-main' of https://github.com/cameron1729/moodle 2024-08-05 15:17:41 +08:00
Ilya Tregubov 555d183cbe Merge branch 'MDL-82171-muc-sited' of https://github.com/brendanheywood/moodle 2024-08-05 11:18:26 +08:00
Andrew Nicols 7e50e55a46 MDL-82702 filter_emailprotect: Fix broken unit test 2024-08-05 09:31:31 +08:00
Dan Marsden ceca66c6e9 MDL-82702 filter_empailprotect: remove calls to old functions. 2024-08-05 10:47:46 +12:00
Andrew Nicols e05ae09017 MDL-81634 core: Fix implicitly defined nullables in lib/google
The version of this library we use is well and truly deprecated. These
will not be fixed upstream so we must do so.
2024-08-04 23:20:19 +08:00
Shamim Rezaie 221d30fe56 Merge branch 'MDL-82384-main' of https://github.com/jwcatau/moodle 2024-08-03 23:55:44 +10:00
Daniel Neis Araujo 4b7f1cd22e MDL-82518 core_user: Fix regression introduced by MDL-80271 2024-08-02 14:46:22 -03:00
Paul Holden 492c6fbdbe Merge branch 'MDL-82688-main' of https://github.com/andrewnicols/moodle into main 2024-08-02 14:01:44 +01:00
David Mudrák 7af4e8816f MDL-82599 lang: Use the fixed strings in tests, too 2024-08-02 14:57:43 +02:00
Helen Foster c5b3abf9f5 MDL-82599 lang: Import fixed English strings (en_fix) 2024-08-02 14:57:43 +02:00
Andrew Nicols cecd4ecbf4 MDL-82688 filter_data: Handle courseid when no category
This is a regression from a refactor made as a part of 82427.
2024-08-02 20:39:36 +08:00
Paul Holden f470907821 MDL-82669 mod_assign: remove Atto reliance workaround for Behat.
See 8fe80e743c for context, and 802ff3e2e3 for additonal comments.
2024-08-02 10:33:25 +01:00
Paul Holden bad720a112 MDL-82669 editor: remove reliance on Atto editor in Behat scenarios. 2024-08-02 10:33:25 +01:00
Jun Pataleta 0586f1c204 MDL-82677 theme: Set a background colour for page heading
* Set a background colour for the .page-header-headings class.
* Assign the .page-header-headings class to the maintenance mode
template's page header div.
2024-08-02 17:24:03 +08:00
Paul Holden bf8f0c19a2 MDL-82502 courseformat: align module action capability checks.
The "Hide/Show/Duplicate" actions should be considered self-contained,
and not also require "manageactivities" capability (per existing docs)
in addition to the specific capability that controls the action itself.

Also ensure the "Duplicate" capability checks are in the course context.
2024-08-02 10:01:11 +01:00
Paul Holden 624029e1ea MDL-82608 mod_data: null content checks when editing fields. 2024-08-02 09:57:32 +01:00
Paul Holden 7814d3f935 MDL-82605 contentbank: pre-load contexts for options list.
Prevents additional DB reads per category/course, which can be
potentially expensive on large sites.
2024-08-02 09:49:29 +01:00
meirzamoodle 5d316201b4 MDL-81129 hub: Update the intro paragraph on the site registration page
I added a new javascript in admin to trigger a collapse element to be
expanded using the URL hash.
2024-08-02 14:10:51 +07:00
Andrew Nicols 024e36be17 MDL-81634 core: Fix all implicitly defined nullables
Note: This does not impact third-party libraries.
2024-08-02 14:11:12 +08:00
David Woloszyn f70500b4af MDL-79733 mod_assign: Fix test method names for clarity
With more methods being added to the notification_helper, some
adjustments to the existing notification_helper_test method names
were needed to differentiate them.
2024-08-02 16:09:19 +10:00
David Woloszyn 0c0ed63350 MDL-79733 mod_assign: Send overdue notifications 2024-08-02 16:09:19 +10:00
Ilya Tregubov 8a6e8563fd weekly release 4.5dev 2024-08-02 09:30:38 +08:00
Ilya Tregubov 1e1af341c0 NOBUG: Add upgrade notes 2024-08-02 09:30:38 +08:00
Ilya Tregubov 2fc7c79407 Merge branch 'install_main' of https://git.in.moodle.com/amosbot/moodle-install 2024-08-02 09:30:16 +08:00
Matthew Hilton c1463895d9 MDL-82662 login: load library with require_once 2024-08-02 10:53:18 +10:00
Cameron Ball 34785bcec8 MDL-82587 mod_quiz: Add slot version updated event 2024-08-01 23:25:45 +08:00
Paul Holden 8c76fceddc MDL-77784 quiz_grading: editor agnostic Behat scenario steps. 2024-08-01 14:17:07 +01:00
James Williams 1889d7c494 MDL-82384 core: Alter logic to only purge muc OR course caches. 2024-08-01 18:56:18 +10:00
Andrew Nicols 69e24ce9cf Merge branch 'MDL-82424-main' of https://github.com/sarjona/moodle 2024-08-01 12:02:11 +08:00
Jun Pataleta ecbdd8d268 Merge branch 'MDL-82427-main' of https://github.com/andrewnicols/moodle 2024-08-01 11:57:32 +08:00
Huong Nguyen 3ad448aec7 Merge branch 'MDL-82629' of https://github.com/paulholden/moodle 2024-08-01 10:56:46 +07:00
Huong Nguyen 610450c944 Merge branch 'MDL-80064-main' of https://github.com/meirzamoodle/moodle 2024-08-01 10:41:23 +07:00
Huong Nguyen 784fb45459 Merge branch 'MDL-82465-master' of https://github.com/danghieu1407/moodle 2024-08-01 10:35:17 +07:00
Huong Nguyen 02701bdfab Merge branch 'MDL-82598-main' of https://github.com/lameze/moodle 2024-08-01 10:26:38 +07:00
Huong Nguyen 2464802b55 MDL-80593 core: Make Modal to work with Debug Template Info mode 2024-08-01 10:17:36 +07:00
Huong Nguyen c81be53a7b Merge branch 'MDL-80017-master' of https://github.com/jleyva/moodle 2024-08-01 09:11:37 +07:00
Jun Pataleta 60c19ee53f Merge branch 'MDL-82447-master' of https://github.com/jleyva/moodle 2024-08-01 10:09:14 +08:00
Ilya Tregubov fdc0e6156a Merge branch 'MDL-81689' of https://github.com/rzhtwberlin/moodle 2024-08-01 09:59:52 +08:00
Jun Pataleta 70abac7f27 Merge branch 'MDL-82286-main' of https://github.com/daledavies/moodle 2024-08-01 09:47:27 +08:00
Jake Dallimore 24f59be234 MDL-82344 mod_lti: deprecated unused content select validation string 2024-08-01 08:54:13 +08:00
AMOS bot 7bdf678453 Automatically generated installer lang files 2024-08-01 00:07:37 +00:00
Sara Arjona 8bce79a585 Merge branch 'MDL-72876-main' of https://github.com/junpataleta/moodle 2024-07-31 17:15:11 +02:00
Sara Arjona 7cab6a5717 Merge branch 'MDL-82397-main' of https://github.com/lucaboesch/moodle 2024-07-31 16:59:20 +02:00
Sara Arjona db70ef1d1b Merge branch 'MDL-82596' of https://github.com/paulholden/moodle 2024-07-31 16:45:59 +02:00
Jun Pataleta 14c70d80ff Merge branch 'MDL-80858' of https://github.com/paulholden/moodle 2024-07-31 18:21:26 +08:00
Paul Holden 89dbe63dcf MDL-80858 customfield_number: new field type for numeric data.
Provide field type to allow for number type data to be stored and
presented within those components that already support custom fields.

This is especially useful for reporting purposes.
2024-07-31 11:19:32 +01:00
Dale Davies 70b84a0db1 MDL-82286 quiz_accessrule: Add SEB config test for floating point number
This tests several variations of SEB config files, to ensure Moodle
is able to parse them and generate a config key hash that matches
what SEB expects.

Additional values have been added to the unencrypted_win_233.seb
config file to cover the existence of floating point values,
ensuring they are serialized correctly. The config hash value
has been updated in real_ck_hash_provider to reflect the change.

Also added coverage information to the test case class docblock.
2024-07-31 11:12:09 +01:00
Jun Pataleta 63193afa83 Merge branch 'MDL-82187-single-button' of https://github.com/djarran/moodle 2024-07-31 17:21:49 +08:00
Paul Holden 07ce1ccc18 MDL-82208 block_starredcourses: avoid double encoding course name. 2024-07-31 08:47:17 +01:00
Shamim Rezaie 5aee595206 Merge branch 'MDL-78030-main-improvement' of https://github.com/meirzamoodle/moodle 2024-07-31 17:38:29 +10:00
Shamim Rezaie f108d1ee2b MDL-81859 mod_assign: Add a link to grader on the submissions page 2024-07-31 08:00:15 +02:00
Ilya Tregubov 965a892052 Merge branch 'MOODLE_main_MDL-76242' of https://github.com/danielneis/moodle 2024-07-31 12:58:22 +08:00
Ilya Tregubov ab4f1d1578 Merge branch 'MDL-80752-main' of https://github.com/rezaies/moodle 2024-07-31 10:59:42 +08:00
Huong Nguyen 7b4f8e4021 Merge branch 'MDL-82260-main' of https://github.com/ferranrecio/moodle 2024-07-31 09:37:01 +07:00
Huong Nguyen d11eaeefb9 Merge branch 'MDL-82259-main' of https://github.com/aanabit/moodle 2024-07-31 09:17:38 +07:00
Huong Nguyen 0c2d74b1af Merge branch 'MDL-64148-main' of https://github.com/meirzamoodle/moodle 2024-07-31 09:15:03 +07:00
Ilya Tregubov f14746511b Merge branch 'MDL-78776-expunge_myisam' of https://github.com/leonstr/moodle 2024-07-31 09:38:25 +08:00
AMOS bot 022367417e Automatically generated installer lang files 2024-07-31 00:07:35 +00:00
ferranrecio 5cd11ee33a MDL-82424 tool_generator: plugin handling on test scenarios 2024-07-30 18:12:37 +02:00
ferranrecio a3e810bf7e MDL-82424 behat: steps to handle plugins
This commit adds one new step to disable plugins, and also replaces the
regexp from the enable plugins method to make ti compatible with the
tool_generator create testing scenario.
2024-07-30 18:12:37 +02:00
meirzamoodle 699daafc64 MDL-64148 core: Make email greetings consistent
Some email body strings use first names as greetings,
some use full names, and some do not.

Using the first name for greeting makes it consistent and
a bit more "personal".
2024-07-30 22:40:47 +07:00
meirzamoodle b4f1704321 MDL-64148 oauth2: Make email greetings consistent
Some email body strings use first names as greetings,
some use full names, and some do not.

Using the first name for greeting makes it consistent and
a bit more "personal".
2024-07-30 22:40:47 +07:00
meirzamoodle 020259dbad MDL-64148 core: Deprecate reset_password_and_mail 2024-07-30 22:40:47 +07:00
Paul Holden 3cf196df6f MDL-82643 enrol_self: clarify validation of notification threshold. 2024-07-30 15:46:44 +01:00
Nikolai Jahreis 2cd381b27b MDL-81629 user: Set replyto and replytoname variables in contactform 2024-07-30 13:09:21 +00:00
Jun Pataleta 63bb543fd7 MDL-72876 theme_classic: Enclose welcome message in Bootstrap card 2024-07-30 19:37:47 +08:00
Sara Arjona 793fe8ac40 MDL-82497 theme: Update icons for consistency
Some places where using the wrong icon and now that they have changed,
they need to be updated. For instance:
- i/settings (cog) should be used for settings or configure.
- t/edit (pen) should be used for editing
2024-07-30 12:55:09 +02:00
Sara Arjona fd67691345 MDL-82497 output: Update icon map to take advantage of FA6 2024-07-30 12:37:32 +02:00
Sara Arjona adb65915da MDL-82497 pix: Update SVG icons to align them with FA6 2024-07-30 12:32:56 +02:00
Tim Hunt 3e88ef17bf MDL-82177 file upload: default to path '/'when things go wrong
This 'fix' is basically a work-around, but one that is already used in
some places. Now it is used in all similar places.

Exactly what causes the current file path in a file manager to become
unset is still unclear to me, but it seems to be an obscure race
condition that is very hard to reproduce.

However, when it happens, currently we are effectively defaulting to
path '/undefined/'. Using '/' is never worse, and is infinitely better
in the case where the filepicker does not allow folders to be used
(which includes important cases like essay questions in a quiz, which
some people use for exams!). In that case, falling back to non-top-level
path leads to dataloss.

Also, this is all historic JavaScript which will get replaced in the
grand de-YUI-fication, so I think a pragmatic fix is justified here.
2024-07-30 09:22:05 +01:00
David Woloszyn 7501a54372 MDL-82346 hub: Add organisation type to registration form 2024-07-30 11:06:46 +10:00
Paul Holden 088cb7ad8f MDL-63015 mod_feedback: preview feedback questions in read-only. 2024-07-29 17:35:39 +01:00
Tim Hunt 69e1c3ca7a MDL-82607 filters: configfilternavigationwithsystemcontext on by default 2024-07-29 11:12:13 +01:00
meirzamoodle 2bd774d432 MDL-80064 authentication: password can be null
The Open ID Connect plugin uses null for the password,
which makes the internal password update fail to proceed.
Allowing null resolved the problem.

As a note, there is a potential issue if the authentication method has
a false return for the prevent_local_password because it will trigger
the hash_internal_user_password() where  the $password can not be null.
Since this only addresses the oauth2 issue, we should ignore it.
2024-07-29 15:49:47 +07:00
Paul Holden 0834280726 MDL-82525 user: correct course parameter for course profile page. 2024-07-29 09:21:57 +01:00
Paul Holden ff9ba32030 MDL-81830 calendar: handle clearing of group type course element. 2024-07-29 09:20:44 +01:00
Paul Holden dcf73527cb MDL-82209 calendar: consistent event action icon hovering.
* Apply hover on the icons, rather than the outer container;
* Make hover colour and text decoration appropriate for the icon
2024-07-29 09:19:03 +01:00
Paul Holden 31163d5e02 MDL-82629 output: switch to named message/contact mapped icons. 2024-07-29 09:05:28 +01:00
meirzamoodle 63d5d45ac7 MDL-78030 tool_customlang: Implementing the count window function 2024-07-29 13:58:38 +07:00
meirzamoodle 9354b80a52 MDL-78030 user: Implementing the count window function 2024-07-29 13:58:38 +07:00
meirzamoodle 42664ee49a MDL-78030 dml: get total count records using the window function
The COUNT window function can be helpful to fasten the complex query,
but it's not recommended to be used for a single table query.

The patch is specifically for PostgreSQL, MariaDB and Oracle databases as they have better performance
compared to MySQL and MSSQL. Although these databases support the COUNT window functions,
the results indicate that the query runs slower when using them.
2024-07-29 13:53:46 +07:00
Ilya Tregubov aa4790b119 Merge branch 'MDL-60957-main' of https://github.com/djarran/moodle 2024-07-29 13:41:30 +08:00
djarrancotleanu f6fb07be52 MDL-60957 mod_assign: Add calendar event for extension due dates 2024-07-29 15:32:52 +10:00
Jake Dallimore 777d00ef37 MDL-82344 mod_lti: relax content selection validation in instance form
This was added in MDL-78916 in 4.3 but makes configuring a generic
launch to the default tool URL impossible, since a content item must be
selected. This fix:
- Makes this element optional again, which allows teachers to choose
whether a given instance launches into selected content, or launches
the default tool URL.
- Changes the style to btn-secondary, given it's now optional again
2024-07-29 13:04:50 +08:00
Andrew Nicols 8168d192bd Merge branch 'MDL-82250-main' of https://github.com/lameze/moodle 2024-07-29 11:47:42 +08:00
Ilya Tregubov 602400bd18 Merge branch 'MDL-80345-main' of https://github.com/MartinGauk/moodle 2024-07-29 11:32:57 +08:00
Paul Holden 554ca6cc50 MDL-82596 behat: switch manual private files upload to generator. 2024-07-28 19:06:13 +01:00
Paul Holden dc03f9d4c9 MDL-82611 mod_assign: capability check before exporting grade link. 2024-07-26 21:19:55 +01:00
Eric Merrill 57393beec9 MDL-82620 completion: Make enrol duration comp happen at the right time 2024-07-26 14:11:21 -04:00
Paul Holden 794115abdf MDL-82596 behat: tidy up existing usage of private files generator.
Filename is no longer required (since 83db25c330), given it never
did anything so can be removed. Requiring the "Private files" block
also isn't necessary since original switch to generator methods.
2024-07-26 18:32:27 +01:00
Luca Bösch eca8a9fe59 MDL-82397 block_recentlyaccesseditems: Assure space between items. 2024-07-26 18:23:51 +02:00
ferranrecio 9065e509da MDL-82260 core_courseformat: sync subsections access restrictions 2024-07-26 16:56:58 +02:00
Amaia Anabitarte 19ab9cc6ec MDL-82259 course: Propagate visibility from and to delegated section 2024-07-26 14:45:55 +02:00
Tim Hunt 49e09cdbfe MDL-82592 quiz grades: 'setup for sections' handling of descriptions 2024-07-26 11:44:10 +01:00
ferranrecio 72b154e33f MDL-82260 course: add hidden course field to edit section form
A course id hidden field is needed to edit availability conditions
directly from behat. This fields is not relevant to normal execution but
it is not harmfull as section update will ignore it.
2024-07-26 11:16:38 +02:00
ferranrecio c87e52f577 MDL-82260 course: add behat section settings page url 2024-07-26 11:16:38 +02:00
Johannes Burk 3ba36a9082 MDL-81689 tests: Check task DB record for nextruntime 2024-07-26 10:30:40 +02:00
Johannes Burk ae65a413a0 MDL-81689 tasks: add unit test to check for the bug 2024-07-26 10:30:40 +02:00
Amaia Anabitarte d4a887987a MDL-82259 behat: Improve section behat steps to allow section name 2024-07-26 10:02:47 +02:00
Jun Pataleta 1a33da6637 weekly release 4.5dev 2024-07-26 13:35:25 +08:00
Jun Pataleta 902f9535b6 NOBUG: Add upgrade notes 2024-07-26 13:35:25 +08:00
Jun Pataleta 12269ab968 NOBUG: Fixed SVG browser compatibility 2024-07-26 13:35:06 +08:00
Jun Pataleta bab445cc13 Merge branch 'install_main' of https://git.in.moodle.com/amosbot/moodle-install 2024-07-26 13:35:04 +08:00
Jun Pataleta 9a4fc8e15e Merge branch 'MDL-82373-main' of https://github.com/andrewnicols/moodle 2024-07-26 13:20:53 +08:00
Andrew Nicols 19ef6afe3e MDL-82373 core_message: Make message drawer router behat-aware
The drawer router was modifying the DOM in a variety of ways and hiding
content, without any pendingJS checks. As a result, there were cases
where a part of the UI was not visible, but had been rendered and was in
the DOM.

This change wraps the router Go method in a pendingJS call that only
resolves when the router transition completes.

Additionally the lazy load manager had a similar issue.
2024-07-26 12:43:46 +08:00
Hieu Nguyen Dang 876082b34c MDL-82465 qtype_ddmarker: Mathjax support highlight dropzone 2024-07-26 09:54:30 +07:00
Simey Lameze fe50534740 MDL-82598 behat: improve example submission test 2024-07-25 19:31:38 +08:00
Juan Leyva c9c8e2870c MDL-82447 mod_bigbluebuttonbn: Remove mobile support via plugin 2024-07-25 12:22:13 +02:00
Huong Nguyen 3d30c4abd6 Merge branch 'MDL-81766-main-clr02' of https://github.com/ferranrecio/moodle 2024-07-25 11:08:54 +07:00
Huong Nguyen 2b724556ee Merge branch 'MDL-80669' of https://github.com/paulholden/moodle 2024-07-25 11:01:56 +07:00
Huong Nguyen 8af49acc2d Merge branch 'MDL-82527' of https://github.com/paulholden/moodle 2024-07-25 10:48:24 +07:00
Huong Nguyen 4b57396c7b Merge branch 'MDL-82530-spelling' of https://github.com/leonstr/moodle 2024-07-25 10:41:22 +07:00
Huong Nguyen ef4d83bebb Merge branch 'MDL-82328' of https://github.com/paulholden/moodle 2024-07-25 10:35:45 +07:00
Jun Pataleta cd7f94612c Merge branch 'MDL-82373-main' of https://github.com/andrewnicols/moodle 2024-07-25 11:31:53 +08:00
Huong Nguyen c8d1f90c0e Merge branch 'MDL-58287' of https://github.com/paulholden/moodle 2024-07-25 10:29:23 +07:00
Jun Pataleta a6499ea6cd Merge branch 'MDL-77706-main' of https://github.com/andrewnicols/moodle 2024-07-25 11:02:52 +08:00
Huong Nguyen 0079197827 Merge branch 'MDL-73232-main' of https://github.com/laurentdavid/moodle 2024-07-25 09:20:14 +07:00
Huong Nguyen 9111372fb7 Merge branch 'MDL-82553-main' of https://github.com/junpataleta/moodle 2024-07-25 09:17:07 +07:00
Huong Nguyen 5a581f1304 Merge branch 'MDL-82225' of https://github.com/paulholden/moodle 2024-07-25 09:10:45 +07:00
Shamim Rezaie 0cda31bdd4 Merge branch 'MDL-82540-main' of https://github.com/junpataleta/moodle 2024-07-25 12:07:02 +10:00
Huong Nguyen 854296c210 Merge branch 'MDL-81888-main-v02' of https://github.com/ferranrecio/moodle 2024-07-25 08:58:19 +07:00
Shamim Rezaie 60634d1aae Merge branch 'MDL-82551-main' of https://github.com/junpataleta/moodle 2024-07-25 11:52:30 +10:00
Huong Nguyen 3edbf5627c Merge branch 'MDL-82554-main' of https://github.com/micaherne/moodle 2024-07-25 08:49:45 +07:00
Huong Nguyen 099c2f9ef3 Merge branch 'MDL-82451-main' of https://github.com/aanabit/moodle 2024-07-25 08:43:36 +07:00
Huong Nguyen e756da0774 Merge branch 'MDL-82422-main' of https://github.com/andelacruz/moodle 2024-07-25 08:36:27 +07:00
David Woloszyn 12b43ec6c4 MDL-82347 hub: Registration collects plugin usage data 2024-07-25 11:32:25 +10:00
AMOS bot 4e2a85414b Automatically generated installer lang files 2024-07-25 00:08:11 +00:00
Paul Holden 22c8d85752 MDL-82585 mod_feedback: remove long since unused redirection scripts. 2024-07-24 16:11:27 +01:00
Juan Leyva 57650852e5 MDL-80017 core_grades: Fix return type for itemname 2024-07-24 16:15:57 +02:00
Paul Holden 9ff0b21e38 MDL-73976 course: final removal of deprecated request button method. 2024-07-24 11:41:18 +01:00
Amaia Anabitarte ccd90b2d7c MDL-82451 course: Switch hide/show icons for section action menu 2024-07-24 12:07:59 +02:00
Jun Pataleta e0240b1d6b Merge branch 'MDL-81803' of https://github.com/paulholden/moodle 2024-07-24 16:57:56 +08:00
Jun Pataleta 6d80637532 Merge branch 'MDL-82289' of https://github.com/paulholden/moodle 2024-07-24 15:05:43 +08:00
Angelia Dela Cruz 3a41d1a588 MDL-82422 mod_workshop: Behat for how strict assessment comparison is 2024-07-24 13:19:08 +08:00
Huong Nguyen 83a18b6f58 Merge branch 'MDL-82466' of https://github.com/paulholden/moodle 2024-07-24 12:10:28 +07:00
Huong Nguyen 86968a64a5 Merge branch 'MDL-72424' of https://github.com/paulholden/moodle 2024-07-24 12:06:54 +07:00
Huong Nguyen eb14ffa0b6 Merge branch 'MDL-82146-main' of https://github.com/aanabit/moodle 2024-07-24 12:04:23 +07:00
Huong Nguyen f8654b55c6 Merge branch 'MDL-82528' of https://github.com/paulholden/moodle 2024-07-24 11:59:48 +07:00
Huong Nguyen ef80d0d099 Merge branch 'MDL-70854-main' of https://github.com/junpataleta/moodle 2024-07-24 10:49:56 +07:00
Jun Pataleta 6c82a2e9d2 MDL-70854 core: Rewrite logic for determining whether to update progress
Rewriting, especially to prevent empty if-blocks.
2024-07-24 10:48:00 +08:00
Jun Pataleta 467fa44233 MDL-70854 core: Revert removal of conditions to update progress
The conditions for updating the progress in the progress bar were
mistakenly removed. We need to revert these to ensure proper operation
of the progress bar.
2024-07-24 10:48:00 +08:00
Mikel Martín 63b46b415f MDL-81766 mod_subsection: Update behat tests
Update the existing behat tests and add new ones with the new
modification that renders the subsection in the course page.
2024-07-23 16:33:00 +02:00
Mikel Martín 1b8ec78421 MDL-81766 mod_subsection: Display subsection content in activity card
- Replace the standard activity card display with the delegated section
  rendering.
- Add and fix related SCSS styles.
2024-07-23 16:33:00 +02:00
Mikel Martín cc84ae5809 MDL-81766 mod_subsection: Add 'get_delegated_section_info' to manager
Add a new 'get_delegated_section_info' to the manager class so it can be reused.
2024-07-23 16:33:00 +02:00
Mikel Martín 195812b34b MDL-81766 courseformat: Add delegatedsection renderable
Create a new 'delegatedsection' renderable extending the 'section' one
with its own template.
2024-07-23 16:32:59 +02:00
ferranrecio a908c0f8af MDL-81766 core_course: fix modchooser section number 2024-07-23 16:32:59 +02:00
Mikel Martín eb4c43b387 MDL-81766 courseformat: Fix section page actionmmenu update 2024-07-23 16:32:59 +02:00
Jun Pataleta bc5a65e444 Merge branch 'MDL-70854-main' of https://github.com/junpataleta/moodle 2024-07-23 17:59:30 +08:00
Jun Pataleta 42aca7aaf7 MDL-70854 core: Simplify querying of unconfirmed users
- Use $DB->count_records_select() and $DB->get_recordset_select()
instead of using full SQL queries.
- Other fixes:
  - Remove unused variable in progress_bar::update_raw()
  - poll_stored_progress tidy-ups:
    - Use validated parameter.
    - Add return types for the external methods.
2024-07-23 17:58:53 +08:00
Conn Warwicker b92886ad59 MDL-70854 core: Add stored progress bars.
- Alters existing progress_bar class to support extension
    - Adds stored_progress_bar class as child of progress_bar
    - Adds webservice to poll stored progress
    - Updates database tables
    - Bumps version
    - Adds unit/behat tests
2024-07-23 17:58:53 +08:00
Michael Aherne 35cfdf4927 MDL-82554 question: Allow null createdby in question_has_capability_on. 2024-07-23 10:24:35 +01:00
Simey Lameze 753c247bad MDL-82250 core: add web installer test workflow 2024-07-23 13:32:13 +08:00
Andrew Nicols f5f883ef04 MDL-82427 core_filters: Deprecate filter.php 2024-07-23 11:33:46 +08:00
Andrew Nicols 8d284e3ce0 MDL-82427 core_filters: Coding style tidyup 2024-07-23 11:33:45 +08:00
Andrew Nicols 01f7456a96 MDL-82427 core_filters: Final deprecation of text_filtering_hash 2024-07-23 11:33:45 +08:00
Andrew Nicols 29e7140e30 MDL-82427 filter_*: Move text filters to autoloaded location
Note: No backwards-compatability layer is included for manual inclusion
of filter.php as this is not a public API.  Inclusion should have always
been through the filter manager, and the filter's own unit tests.
2024-07-23 11:33:42 +08:00
Andrew Nicols 534c3e1821 MDL-82427 core_filters: Support autoloading of filters 2024-07-23 11:33:03 +08:00
Andrew Nicols fe3b13d51a MDL-82427 core_filters: Update name of external service class 2024-07-23 11:33:03 +08:00
Andrew Nicols 16456220cd MDL-82427 core: Update namespace of core_filters classes 2024-07-23 11:33:03 +08:00
Andrew Nicols ae2f69a898 MDL-82427 core_filters: Move filter classes to autoloading 2024-07-23 11:32:09 +08:00
Jun Pataleta 4cdd0459b4 Merge branch 'MDL-77167_remove-deprecation-layer-for-mdl-70990-yui-events' of https://github.com/ziegenberg/moodle 2024-07-23 10:36:57 +08:00
Shamim Rezaie eb2b5875ef MDL-80752 mod_assign: Move action menu to the action bar on grading page
Also, move the "Download all submissions" button into the action menu.
2024-07-23 00:12:45 +10:00
Paul Holden aca7b96e9e Merge branch 'MDL-82529' of https://github.com/dravek/moodle into main 2024-07-22 12:36:40 +01:00
Mikel Martín 2a01a188a1 MDL-81766 courseformat: Fix hide addsection in delegated sections
Delegated sections should not render the add new section button at
the bottom of them.
2024-07-22 13:34:45 +02:00
Mikel Martín c51989d649 MDL-81766 courseformat: Fix bulk actions for delegated sections
Disable bulk editing for delegated sections and fix some styles related to it.
2024-07-22 13:34:45 +02:00
Mikel Martín b18db24552 MDL-81766 courseformat: Fix delegated section headers display
Section specific page was not prepared to display another sections in
it. Fixed some of its logic to handle other section's headers inside.
2024-07-22 13:34:45 +02:00
Mikel Martín d77b20b65f MDL-81766 courseformat: Fix last activity dropzone
When using drag and drop with activities and subsection combination, the dropzone
of the last element was incorrectly calculated. Fixed the 'getLastCm()' function.
2024-07-22 13:34:45 +02:00
Mikel Martín 572d45c885 MDL-81766 course: Fix activity name inplace editor selector
Fix name inplace editor for course modules by updating the selector
to a more specific one.
2024-07-22 13:34:45 +02:00
Paul Holden 08f6023657 Merge branch 'MDL-82512' of https://github.com/dravek/moodle into main 2024-07-22 12:31:21 +01:00
Jun Pataleta 0b9660a43f MDL-82553 behat: Run accessibility tests using WCAG 2.2 success criteria 2024-07-22 14:36:10 +08:00
Jun Pataleta dc12e44bd4 MDL-82551 core: Set welcome message heading to level 1 2024-07-22 14:20:37 +08:00
Laurent David 4fe100f161 MDL-73232 core_courseformat: Inform user when reaching section max
* Disable the Add new Section button when max has been reached
* It also grays out the (+) button between sections and display a tooltip
* When adding a new section via the (+) button between section
should add a section with the (+) (add) button disabled.
2024-07-22 07:58:54 +02:00
Huong Nguyen 7222619857 Merge branch 'MDL-82476-main' of https://github.com/sarjona/moodle 2024-07-22 10:43:54 +07:00
Huong Nguyen 6559850be1 Merge branch 'MDL-82481' of https://github.com/paulholden/moodle 2024-07-22 10:40:18 +07:00
Huong Nguyen b8831f566b Merge branch 'MDL-82193-main' of https://github.com/ericmerrill/moodle 2024-07-22 09:39:15 +07:00
Ilya Tregubov be60012bf9 Merge branch 'MDL-82499-main' of https://github.com/micaherne/moodle 2024-07-22 09:42:20 +08:00
Ilya Tregubov 41e56064e8 Merge branch 'MDL-70983-main' of https://github.com/sarjona/moodle 2024-07-22 09:36:24 +08:00
Ilya Tregubov 9d6c63136e Merge branch 'MDL-72354-main' of https://github.com/sarjona/moodle 2024-07-22 09:34:28 +08:00
djarrancotleanu 183af158b7 MDL-82187 core: Add default type for single button in template 2024-07-22 07:04:09 +10:00
AMOS bot 828e9bd87e Automatically generated installer lang files 2024-07-21 00:07:45 +00:00
Daniel Ziegenberg c3df4078e8 MDL-77167 javascript: Remove deprecation layer for YUI Events
The deprecation layer was introduced with MDL-70990.

Signed-off-by: Daniel Ziegenberg <daniel@ziegenberg.at>
2024-07-19 17:51:45 +02:00
Daniel Neis Araujo 92e10322d4 MDL-76242 core_contentbank: Hide/show unlisted content 2024-07-19 12:29:45 -03:00
David Carrillo 730c5413ce MDL-82512 files: Add Author filter to files Report Builder entity 2024-07-19 17:09:58 +02:00
Paul Holden 26c42bf02d MDL-58287 courseformat: ensure all format plugins are returned. 2024-07-19 15:21:19 +01:00
David Carrillo 78153dd73a MDL-82529 cohort: Add custom field filters to Cohorts system report 2024-07-19 15:22:31 +02:00
David Carrillo 5c135b614d MDL-82529 reportbuilder: Move functions from datasource to base class
- Methods add_columns_from_entity(), add_filters_from_entity() and
report_element_search() have been moved from
\core_reportbuilder\datasource class to \core_reportbuilder\base class
in order to be available also for system reports
2024-07-19 15:22:31 +02:00
Paul Holden c99c9c1b5a MDL-82528 courseformat: switch to existing group action icon.
Use a version that already exists in our fontawesome mapping so it
can be consistently styled/overridden.
2024-07-19 12:54:13 +01:00
Sara Arjona 807563a893 Merge branch 'MDL-82510-main' of https://github.com/aanabit/moodle 2024-07-19 13:04:02 +02:00
Sara Arjona fc59fe647b Merge branch 'MDL-81119-forced-config' of https://github.com/bwalkerl/moodle 2024-07-19 12:37:07 +02:00
Paul Holden 1796c95b55 MDL-72424 mod_feedback: deprecate old role switching check method.
It doesn't appear to have ever worked. Any conditional code based
on the result of calling this method has also been removed.
2024-07-19 11:18:35 +01:00
Paul Holden 892b68d58c MDL-80669 reportbuilder: improved reporting of custom/profile fields.
Make the display of both custom and user profile fields consistent in
column callbacks. The defaults for each should be considered when both
rendering the column data and also when aggregating them (specifically
for numeric columns to ensure calculations are accurate).

When such fields are filtered, and they have user defined default
values then we should also take that into account to ensure that the
same values rendered in columns can always be filtered for.

During this change, I've updated some of the variables to improve
readability and future maintainability of these classes. Annoyingly
there are a non-zero number of changes just for Oracle support.
2024-07-19 10:48:12 +01:00
Paul Holden c10610d035 MDL-82466 completion: format time duration in report entity columns.
Where the previous output was simple count of days, switch to using
the new format helper to return a time duration.

AMOS BEGIN
 CPY [daystakingcourse,core_course],[daystakingcourse,core_completion]
AMOS END
2024-07-19 10:34:00 +01:00
Paul Holden 8426610258 MDL-82466 reportbuilder: new format helper for formatting time. 2024-07-19 10:33:57 +01:00
Sara Arjona b2f66d477b MDL-70983 badges: Remove OBv1.0 support
The only backpack implementing OBv1.0 was Mozilla Backpack. It closed
in 2019 and their badges were moved to https://backpack.openbadges.org/
by Badgr.
However, as Badgr is supporting OBv2.0 too, it makes no sense keep OBv1.0
implementation in Moodle: it has caused some issues and over-complicates
current code.
2024-07-19 10:39:38 +02:00
Jun Pataleta 9a8cc133d5 MDL-82540 core: Use an empty check for $CFG->debugdisplay 2024-07-19 16:24:49 +08:00
Sara Arjona 1a74342bf4 MDL-72354 badges: Fix behat tests 2024-07-19 09:41:38 +02:00
Huynh 879901ef24 MDL-72354 badges: Show always issuer details when creating badges
Co-author: Huynh Nguyen
2024-07-19 09:41:38 +02:00
Sara Arjona 088cba3844 MDL-82476 theme: Remove non-SVG icons
Most of the PNG/JPG/GIF icons in the pix folder are redundant if an SVG
file is available, so they have been removed to simplify maintenance.

This commit removes all redundant icons from the pix/ folder. Additional
redundant icons in the icons/ folder will be addressed separately while
reviewing the FontAwesome icons and their SVG versions.
2024-07-19 09:39:38 +02:00
Nguyen Tuan Anh 60367220fa MDL-82425 Admin: Remove tooltips when click toggle 2024-07-19 13:43:05 +07:00
Amaia Anabitarte 8596d3cd7c MDL-82146 report_log: Add subsections to activity filter 2024-07-19 08:38:12 +02:00
Amaia Anabitarte ec050bbee7 MDL-82146 core_output: Add disabled parameter to select element 2024-07-19 08:38:12 +02:00
Amaia Anabitarte ff6edc2e9f MDL-82510 course: Add new delegated action menu 2024-07-19 08:27:10 +02:00
Benjamin Walker 476cf5a282 MDL-81119 tool_recyclebin: Stop overriding unrelated forced config 2024-07-19 14:37:19 +10:00
Ilya Tregubov 554a790bf0 weekly release 4.5dev 2024-07-19 09:30:19 +08:00
Ilya Tregubov fdfdd02639 NOBUG: Add upgrade notes 2024-07-19 09:30:19 +08:00
Leon Stringer 617013e13c MDL-82530 core: Fix spelling 2024-07-18 14:49:48 +01:00
Paul Holden e8410c844e MDL-82481 customfield_select: return field options pre-formatted. 2024-07-18 14:03:16 +01:00
Paul Holden c2d73d6e53 MDL-82481 reportbuilder: re-use existing method for field options. 2024-07-18 14:03:16 +01:00
Paul Holden 83db25c330 MDL-82527 h5p: improve editor Behat scenarios for embedding content.
* Move the shared drag fixture out of the Atto plugin;
* Switch to using faster generators for populating private files;
* Clarify required fields for private files generator
2024-07-18 09:15:51 +01:00
Huong Nguyen 7d5a31992a Merge branch 'MDL-82287-main-fix' of https://github.com/lameze/moodle 2024-07-18 13:04:27 +07:00
lameze d04a05b98f MDL-82287 phpunit: use the correct component 2024-07-18 13:53:17 +08:00
Jun Pataleta cb8208ca77 Merge branch 'MDL-82505-main' of https://github.com/HuongNV13/moodle 2024-07-18 12:51:06 +08:00
Jun Pataleta 5b68ba9eee Merge branch 'MDL-75864-main' of https://github.com/meirzamoodle/moodle 2024-07-18 12:48:03 +08:00
Huong Nguyen c124b23784 MDL-82505 calendar: more precise matching of calendar day partial
The partial name selector points to the parent element,
but the Javascript code monitors the child element.
We need to make it consistent
2024-07-18 11:38:13 +07:00
Andrew Nicols 13bf6748f7 Merge branch 'MDL-82309' of https://github.com/paulholden/moodle 2024-07-18 11:58:06 +08:00
Andrew Nicols ac308a0cdf Merge branch 'MDL-26675-main' of https://github.com/meirzamoodle/moodle 2024-07-18 11:44:42 +08:00
Ilya Tregubov acbcb83a7c Merge branch 'MDL-82445-main' of https://github.com/andrewnicols/moodle 2024-07-18 11:37:15 +08:00
Andrew Nicols d96e7816d1 Merge branch 'MDL-81932-main' of https://github.com/safatshahin/moodle 2024-07-18 11:29:33 +08:00
Huong Nguyen 920dbc2242 Merge branch 'MDL-82192-main' of https://github.com/ericmerrill/moodle 2024-07-18 10:27:02 +07:00
Andrew Nicols 306394772f Merge branch 'MDL-81272-main' of https://github.com/HuongNV13/moodle 2024-07-18 11:06:57 +08:00
Huong Nguyen e7d1febac6 MDL-81699 Course: Add upgrade note 2024-07-18 10:03:28 +07:00
Andrew Nicols 6570855cf6 MDL-82445 filter_tidy: Coding style fixes 2024-07-18 11:00:42 +08:00
Andrew Nicols 7bb9d60dee MDL-82445 filter_tidy: Ensure locale does not change when using Tidy 2024-07-18 11:00:42 +08:00
Andrew Nicols 89c5e94fee MDL-82445 core: Create locale helper utility 2024-07-18 11:00:42 +08:00
Huong Nguyen 388fb71f51 Merge branch 'MDL-81699-main' of https://github.com/durenadev/moodle 2024-07-18 09:57:18 +07:00
Huong Nguyen db5b60424b Merge branch 'MDL-82287-main' of https://github.com/andrewnicols/moodle 2024-07-18 09:47:01 +07:00
Ilya Tregubov aa594cce71 Merge branch 'MDL-82090' of https://github.com/paulholden/moodle 2024-07-18 10:39:32 +08:00
Ilya Tregubov 00376925b2 Merge branch 'MDL-82444' of https://github.com/paulholden/moodle 2024-07-18 10:29:08 +08:00
Huong Nguyen f4b332a67e Merge branch 'MDL-82467' of https://github.com/paulholden/moodle 2024-07-18 09:19:33 +07:00
Paul Holden 76f67eb269 MDL-72620 repository_onedrive: final removal of skydrive importing. 2024-07-17 17:52:12 +01:00
Jun Pataleta cf2073134a Merge branch 'MDL-82066' of https://github.com/paulholden/moodle 2024-07-18 00:03:02 +08:00
Sara Arjona fef180bc98 Merge branch 'MDL-82463' of https://github.com/paulholden/moodle 2024-07-17 17:11:19 +02:00
Sara Arjona 40518e1539 Merge branch 'MDL-82353-main' of https://github.com/andelacruz/moodle 2024-07-17 17:07:47 +02:00
Sara Arjona a7383405a8 Merge branch 'MDL-81683-main' of https://github.com/laurentdavid/moodle 2024-07-17 17:03:17 +02:00
Paul Holden 0cf6f3a620 MDL-82499 question: test for invalid question in capability check. 2024-07-17 09:58:35 +01:00
Laurent David 45c157d0f9 MDL-81683 core_courseformat: Adjust Move Activity Modal style
* Use the same style as the course index for the tree/list items
* Fix indentation
2024-07-17 09:32:05 +02:00
Laurent David 7f7d4a97d8 MDL-81683 core_courseformat: Add subsection to the move activity modal
* Add subsection in the tree hierarchy
* Split the mustache templates to avoid repetitive code
2024-07-17 09:32:05 +02:00
Huong Nguyen b964baf06e Merge branch 'MDL-75025_final-deprecation-of-base_controller-set_copy' of https://github.com/ziegenberg/moodle 2024-07-17 14:20:50 +07:00
Ilya Tregubov 4ac3f6f8c7 MDL-80744 mod_assign: Fix Behat tests. 2024-07-17 12:16:29 +07:00
Jun Pataleta f96778f74d Merge branch 'MDL-81075-main' of https://github.com/cameron1729/moodle 2024-07-17 12:44:29 +08:00
Meirza b3e8993353 MDL-26675 block_rss_client: Add a new feed in the RSS block form
The patch added a couple of things:
- Add a new feed in the RSS block form
- Make the image responsive to the parent container
- Each feed now includes a channel link
2024-07-17 11:24:28 +07:00
Ilya Tregubov 079f6b00ec Merge branch 'MDL-82002-main' of https://github.com/durenadev/moodle 2024-07-17 11:04:32 +08:00
Andrew Nicols 0b364eda7b MDL-82373 contentbank: Pause in Behat before interacting with h5p
It seems that the loading of the h5p content upsets other interactions
with the page in Firefox as it loads. Unfortunately I haven't found a
reliable way to handle this with pendingJS yet.

This is the poor man's fix and we should find a better solution.
2024-07-17 09:28:35 +08:00
Andrew Nicols 9251a72e53 MDL-82373 question: Make window larger in behat tests
I would suggest that this is a stop gap to solve some failing tests. We
really need to look at whether we can improve the usability of this
interface on smaller displays as a longer-term fix.
2024-07-17 09:28:35 +08:00
Andrew Nicols 1f0d1e60a0 MDL-82373 core_grades: Address random failures when editing gradebook 2024-07-17 09:28:35 +08:00
Andrew Nicols 78ccdc9939 MDL-82373 behat: Wait for alerts before accepting/dismissing them 2024-07-17 09:28:35 +08:00
Andrew Nicols 8bba968f7b MDL-82373 core: Make CollapsibleRegion more tolerant to behat 2024-07-17 09:28:34 +08:00
Andrew Nicols c3cd90750b MDL-82373 tool_usertours: Ensure that behat waits for tours to show/hide 2024-07-17 09:28:34 +08:00
Andrew Nicols 4033f08fa9 MDL-82373 behat: Stop killing the entire Behat run on driver error
If there's a driver error, for example from a step taking too long, then
this kills the entire Behat run and we have to start from scratch.

This change instead throws away the original connection and starts a new
one to try and continue the test.
2024-07-17 09:28:34 +08:00
Andrew Nicols 57cabed4bb MDL-82373 behat: Stop calling ensure_node_is_visible before click
W3C WebDriver Element::Click, Element::Clear, and Element::SendKeys all
state that the WebDriver implementation (chromedriver, geckodriver,
edgedriver) should scroll the element into view if it is not already
visible.

It is wrong for us to check if the element is visible or not before
calling these as it may not be but will during the click/clear/type
event.
2024-07-17 09:28:34 +08:00
Andrew Nicols 5fb6e4cba1 MDL-82373 mod_lesson: Fix failing behat tests for Selenium 4
Recent versions of Chrome do not re-render the page but return previous
page state from cache. The page state had the Submit button disabled
before navigating away.

Refreshing the page addresses this.
2024-07-17 09:28:33 +08:00
Andrew Nicols 38a1bc022c MDL-77706 atto_link: Work around Mozilla bug 1906559
This upstream bug prevents creation of an anchor with a hyperlink where
the content has a block-like display.

The workaround is to wrap the content in a span, set the display to
inline, call the `createLink` command on the span, move the content out
of the span, and then remove it.

This is only done for Firefox-based browsers.
2024-07-17 09:28:33 +08:00
Glenn Poder 2afdd8d220 MDL-81075 quiz: config option for defaults when creating questions 2024-07-16 23:26:51 +08:00
Michael Aherne 5605d64389 MDL-82499 question: Fail if questionid does not exist. 2024-07-16 14:39:02 +01:00
Dale Davies 6fb557f1be MDL-82286 core: Set serialize_precision to current PHP default 2024-07-16 10:02:18 +01:00
Angelia Dela Cruz 9525db3f7d MDL-82353 gradingform: Behat to verify marking guide can be set to draft 2024-07-16 16:29:28 +08:00
Andrew Nicols e16ff43cfd MDL-77706 atto_link: Work around Mozilla bug 1906559
This upstream bug prevents creation of an anchor with a hyperlink where
the content has a block-like display.

The workaround is to wrap the content in a span, set the display to
inline, call the `createLink` command on the span, move the content out
of the span, and then remove it.

This is only done for Firefox-based browsers.
2024-07-16 15:37:24 +08:00
Sara Arjona 404ddae657 Merge branch 'MDL-81533-master' of https://github.com/danghieu1407/moodle 2024-07-16 09:23:08 +02:00
Sara Arjona 14f46e2f41 Merge branch 'MDL-81819-main' of https://github.com/roland04/moodle 2024-07-16 07:45:22 +02:00
Ilya Tregubov 7f63a6af7a Merge branch 'MDL-78293-master' of https://github.com/jleyva/moodle 2024-07-16 11:47:22 +08:00
Huong Nguyen ffefd6130f MDL-67554 tool_oauth2: Added upgrade note 2024-07-16 09:40:41 +07:00
Huong Nguyen dd882716e4 Merge branch 'MDL-67554-master' of https://github.com/michael-milette/moodle 2024-07-16 09:36:27 +07:00
Huong Nguyen 7c6fcaaff5 Merge branch 'MDL-80744-main-1' of https://github.com/ilyatregubov/moodle 2024-07-16 09:15:57 +07:00
Ilya Tregubov caa72b3595 Merge branch 'MDL-82282' of https://github.com/paulholden/moodle 2024-07-16 09:26:01 +08:00
Ilya Tregubov 7b5d49bf45 Merge branch 'MDL-82319-main' of https://github.com/laurentdavid/moodle 2024-07-16 09:21:28 +08:00
Ilya Tregubov 52abd112a9 Merge branch 'MDL-73662' of https://github.com/paulholden/moodle 2024-07-16 09:15:21 +08:00
Paul Holden e60876ecef MDL-82467 completion: simplify field SQL for completion columns.
For columns whose values can be represented purely in SQL, we don't
need to/shouldn't select extra data because it confuses the column
output during aggregation for numeric/boolean columns.
2024-07-15 13:19:25 +01:00
Paul Holden a3c386af93 MDL-82463 reportbuilder: change non-numeric entity column types.
Where columns were previously of type `TYPE_INTEGER` or `TYPE_FLOAT`
but did not provide numeric data on output, we should change their
type to `TYPE_TEXT` (i.e. the default) to ensure that future work on
numeric aggregation doesn't affect them.
2024-07-15 10:42:01 +01:00
Huong Nguyen 6c5d01b512 Merge branch 'MDL-82210-main' of https://github.com/sarjona/moodle 2024-07-15 15:54:35 +07:00
Mihail Geshoski 48866d4746 MDL-80744 core_grades: Deprecate comboboxsearch behat step definitions
The comboboxsearch component now has uses beyond the grade subcomponent
and includes alternative step definitions in behat_general.php. This
change deprecates the redundant behat step definitions related to this
component in behat_grade.php and replaces current usages with the
alternative definitions.
2024-07-15 16:36:48 +08:00
Ilya Tregubov de54a993d3 MDL-80744 mod_assign: Add user search. 2024-07-15 16:36:47 +08:00
Ilya Tregubov 8087893fcb MDL-80744 core_grades: Fix grade reports. 2024-07-15 16:36:45 +08:00
Mihail Geshoski 63e341d4d5 MDL-80744 behat: Create steps for the search combo box component 2024-07-15 16:36:45 +08:00
Ilya Tregubov 0e8c086653 MDL-80744 core_course: user selector renderer for actionbar in course 2024-07-15 16:36:43 +08:00
Hieu Nguyen Dang adea726a9d MDL-81533 Admin: Availability restriction info default change 2024-07-15 14:09:15 +07:00
Andrew Nicols 9b95650f18 MDL-66903 core: Check PHPUNIT_TEST defined before using 2024-07-15 13:46:09 +07:00
Huong Nguyen fb22b112c4 Merge branch 'MDL-66903-main' of https://github.com/andrewnicols/moodle 2024-07-15 13:21:46 +07:00
Andrew Nicols 0270c90dc0 MDL-66903 core: Introduce \core\component::resetto replace hacks
Traditionally we have done this using reflection and it would be better
to do this in a 'proper' fashion in case we ever need to change how it
works.
2024-07-15 13:07:42 +08:00
Andrew Nicols aa55779ba0 MDL-66903 testing: Helper to load fixture files 2024-07-15 13:07:42 +08:00
Andrew Nicols 25df1ed645 MDL-66903 core: Move core_component to \core\component 2024-07-15 13:07:42 +08:00
Andrew Nicols 406dcd2566 MDL-66903 testing: Add support for a \tests\ namespace during tests
This commit:
- introduces a \tests\ sub-namespace for use in unit tests only
- the path to this the tests/classes directory of the owning parent
- files here are excluded from unit test runs

This is agreed per policy in MDL-80855.
2024-07-15 13:07:36 +08:00
Laurent David c115b6d699 MDL-82319 core_courseformat: Remove redundant lock icon in section 2024-07-15 06:32:44 +02:00
Andrew Nicols 3c03e9448c MDL-66903 testing: Fix whitespace 2024-07-15 12:23:05 +08:00
Huong Nguyen 04f8f11d35 MDL-81272 calendar: Improve permission check for separate group mode 2024-07-15 09:29:08 +07:00
Andrew Nicols 2c8acd3462 MDL-66903 testing: Reset CFG and component after test
This change moves the reset of global test state to the finally section
rather than doing it only if the test passes.

Previously if a test which modifies the `core_component` internals
failed, it would not reset the internal state and impact subsequent
tests.
2024-07-15 10:14:49 +08:00
Eric Merrill c72de81827 MDL-82193 scorm: Don't store header with multiline AICC content 2024-07-12 15:32:48 -04:00
Paul Holden 9b624edba9 MDL-82444 core: skip environment test on optional plugin extensions. 2024-07-12 13:49:10 +01:00
Paul Holden 0844f9c88a MDL-82444 filter_tidy: advertise required PHP extension. 2024-07-12 13:34:00 +01:00
Paul Holden 7d030bba77 MDL-73662 mod_quiz: fix initialization arguments to close button.
Co-authored-by: Sergio Rabellino <rabellino@di.unito.it>
2024-07-12 13:18:07 +01:00
Mikel Martín 8d54a86bdb MDL-81819 theme_boost: Refactor .close usages for BS5
- Add .btn-close to the Boostratp 5 bridge SCSS file
- Replace .close occurrences with .btn-close
- Fix styles using .close
2024-07-12 14:17:10 +02:00
Paul Holden 4a58219cd0 MDL-81803 tool_dataprivacy: observe disabled expiration time.
A non-positive integer value should indicate "No time limit".
2024-07-12 11:04:53 +01:00
Paul Holden 07f30058b9 MDL-82225 enrol_cohort: Behat scenario updates for cohort deletion. 2024-07-12 10:58:00 +01:00
Paul Holden 28ffd21d44 MDL-82225 cohort: convert single cohort deletion to JS & AJAX. 2024-07-12 10:58:00 +01:00
Daniel Ureña 5089744789 MDL-81699 Course: core_course_get_courses_by_field add param sectionid 2024-07-12 11:29:26 +02:00
Daniel Ureña 6534248184 MDL-82002 Media: Video embedding from the app is styled properly. 2024-07-12 11:10:42 +02:00
Sara Arjona 774ea7ca29 MDL-82210 output: Add support to FontAwesome families
The solid family was chosen by default when Font Awesome was upgraded
from 4 to 6, but FA6 has more families, like regular or brands.
This commit adds only the fa class to the icon when no other family
class is used.
2024-07-12 10:59:00 +02:00
ferranrecio 5617445d42 MDL-81888 tool_generator: add cleanup scenario tag
The tool_generator creates a testing scenario that can
execute all steps from behat_data_generators (with some
limitations) and admin settings. With the patch the scenario file can
incorporate a cleanup steps to be executed when the manual test is done.
2024-07-12 10:32:54 +02:00
Huong Nguyen fd487cd3f2 weekly release 4.5dev 2024-07-12 08:41:58 +07:00
Huong Nguyen abcac5bc8f NOBUG: Add upgrade notes 2024-07-12 08:41:57 +07:00
Huong Nguyen eaca2203a0 NOBUG: Fixed SVG browser compatibility 2024-07-12 08:41:05 +07:00
Juan Leyva 2a2130e9d7 MDL-78293 core_user: New Web Services to manage private files 2024-07-11 11:54:35 +02:00
Sara Arjona e3431a56ac Merge branch 'MDL-80489-main-patch' of https://github.com/HuongNV13/moodle 2024-07-11 10:22:25 +02:00
Huong Nguyen a0394ce78f MDL-80489 qtype_ddtos: Update Behat to match language string 2024-07-11 15:15:34 +07:00
Huong Nguyen e28937ccbc MDL-80489 qtype_ddtos: Update language string 2024-07-11 11:16:44 +07:00
Huong Nguyen 28f62b717a Merge branch 'MDL-82245' of https://github.com/paulholden/moodle 2024-07-11 11:13:50 +07:00
Jun Pataleta a91fc78a90 Merge branch 'MDL-81265-main' of https://github.com/junpataleta/moodle 2024-07-11 12:08:58 +08:00
Andrew Nicols 7d693d70c9 Merge branch 'MDL-78936-main' of https://github.com/HuongNV13/moodle 2024-07-11 11:52:52 +08:00
Jun Pataleta edafd17fc4 MDL-81265 mod_workshop: Verify "Setup phase" heading with "should exist" 2024-07-11 11:49:20 +08:00
Andrew Nicols 5efe90187d Merge branch 'MDL-82431' of https://github.com/paulholden/moodle 2024-07-11 11:46:04 +08:00
Jun Pataleta 5597a4eb33 Merge branch 'MDL-82168-main' of https://github.com/junpataleta/moodle 2024-07-11 11:21:21 +08:00
Sara Arjona e559a3c325 MDL-82168 badges: Fix and improve behat tests 2024-07-11 11:19:34 +08:00
Sara Arjona 8c006300e5 MDL-82168 badges: Move enable/disable badges to modal
Co-authored-by: Ferran Recio <ferran@moodle.com>
2024-07-11 11:19:34 +08:00
Sara Arjona 814753e558 MDL-82168 badges: Add WS to enable/disable badges 2024-07-11 11:19:34 +08:00
Huong Nguyen 2845d8cbde Merge branch 'MDL-79717' of https://github.com/paulholden/moodle 2024-07-11 09:34:52 +07:00
Huong Nguyen 0ef2fa73ae Merge branch 'MDL-80489-master' of https://github.com/danghieu1407/moodle 2024-07-11 09:28:56 +07:00
Huong Nguyen f8f5d77c3f Merge branch 'MDL-76654-main' of https://github.com/lameze/moodle 2024-07-11 09:19:26 +07:00
Ilya Tregubov 1432af6a2e Merge branch 'MDL-81661-main' of https://github.com/sarjona/moodle 2024-07-11 09:54:05 +08:00
Jun Pataleta 4da240f2a2 MDL-66994 upgrade: Move upgrade step after 4.4.0 release upgrade line 2024-07-11 09:22:12 +08:00
Paul Holden 8413f61260 MDL-82431 phpunit: correct unit test filename and classname.
Standardise the same test cases, e.g. make final, covers notation,
static data providers, namespaces, etc.

Once the tests run, a couple of them failed. They required changes
to assertions to make them pass.
2024-07-10 19:06:14 +01:00
Paul Holden 9d621f5da1 MDL-82066 user: define methods for handling default homepage URLs.
Per the previous commit, default homepage configuration (set either
for the site or as a user preference) can now be extended by third
party hook callbacks, in which case a URL is stored.
2024-07-10 17:12:31 +01:00
Sara Arjona c7a07f2bab Merge branch 'MDL-82391' of https://github.com/paulholden/moodle 2024-07-10 18:05:46 +02:00
Sara Arjona 82f5cc6829 Merge branch 'MDL-81886-main' of https://github.com/ferranrecio/moodle 2024-07-10 15:20:59 +02:00
Paul Holden bd0f8a058f MDL-79717 phpunit: ensure unique data provider keys in tests.
Duplicate data provider keys were overwriting and/or duplicating
one another, leading to some cases being skipped.

Other "duplicate array key" errors were picked up by `phpcs` in
this dragnet across all tests, which have also been fixed.
2024-07-10 14:08:49 +01:00
ferranrecio 32e090561b MDL-81886 tool_generator: allow scenario outlines in testing features
The tool_generator creates a testing scenario that can execute
all steps from behat_data_generators (with some limitations).
However, it cannot set any admin settings, which limits the
tool's ability to generate many real test scenarios.
2024-07-10 12:27:08 +02:00
Ilya Tregubov fece8de140 Merge branch 'MDL-82323-striptags_error' of https://github.com/leonstr/moodle 2024-07-10 12:18:10 +08:00
Huong Nguyen 81b2398cad Merge branch 'MDL-82057-main' of https://github.com/sarjona/moodle 2024-07-10 10:15:04 +07:00
Huong Nguyen 5f37f860e2 Merge branch 'MDL-81798-main' of https://github.com/ferranrecio/moodle 2024-07-10 09:56:48 +07:00
Huong Nguyen 6d3ee65ce2 Merge branch 'MDL-82324-main' of https://github.com/ferranrecio/moodle 2024-07-10 09:47:28 +07:00
Huong Nguyen 0644eeb752 Merge branch 'MDL-43938-main' of https://github.com/sarjona/moodle 2024-07-10 09:20:44 +07:00
Huong Nguyen 6c6b17187b Merge branch 'MDL-68211-main' of https://github.com/sarjona/moodle 2024-07-10 09:07:33 +07:00
Huong Nguyen 761df2bebc Merge branch 'MDL-82236-main' of https://github.com/andelacruz/moodle 2024-07-10 09:04:00 +07:00
Huong Nguyen cc2bb2bcc5 Merge branch 'MDL-82401' of https://github.com/timhunt/moodle 2024-07-10 08:57:17 +07:00
Sara Arjona b7685b0e99 Merge branch 'MDL-81349' of https://github.com/paulholden/moodle 2024-07-10 09:17:59 +08:00
Sara Arjona 2b3ff1633f Merge branch 'MDL-82360' of https://github.com/paulholden/moodle 2024-07-10 09:17:59 +08:00
Sara Arjona 5b064f958d Merge branch 'MDL-77834' of https://github.com/paulholden/moodle 2024-07-10 09:17:59 +08:00
Sara Arjona c743676c27 Merge branch 'MDL-82326' of https://github.com/paulholden/moodle 2024-07-10 09:17:59 +08:00
Sara Arjona 4fa7cba998 Merge branch 'MDL-66994-main' of https://github.com/meirzamoodle/moodle 2024-07-10 09:17:57 +08:00
Sara Arjona 6bb0f33be9 Merge branch 'MDL-81991-main-alt' of https://github.com/HuongNV13/moodle 2024-07-10 09:16:57 +08:00
Sara Arjona 41b8cd3f73 Merge branch 'MDL-78388' of https://github.com/djarran/moodle 2024-07-10 09:16:57 +08:00
Sara Arjona c84050bd0c Merge branch 'MDL-81765-patch' of https://github.com/ilyatregubov/moodle 2024-07-10 09:16:57 +08:00
Sara Arjona 7f6906de02 Merge branch 'MDL-73284_final-deprecation-message_default_loggedoff-message_default_loggedin' of https://github.com/ziegenberg/moodle 2024-07-10 09:16:57 +08:00
Ilya Tregubov 8b92e969ae MDL-81765 mod_subsection: Remove undesired index. 2024-07-10 09:16:56 +08:00
Sara Arjona 9d6cd34f8a Merge branch 'MDL-66251-main' of https://github.com/meirzamoodle/moodle 2024-07-10 09:16:56 +08:00
Sara Arjona 402a0b9877 Merge branch 'MDL-82292-main' of https://github.com/ilyatregubov/moodle 2024-07-10 09:16:56 +08:00
Sara Arjona 48658eb73b Merge branch 'MDL-82234-main' of https://github.com/durenadev/moodle 2024-07-10 09:16:56 +08:00
Sara Arjona e589df898c Merge branch 'MDL-80947-main' of https://github.com/stevandoMoodle/moodle 2024-07-10 09:16:56 +08:00
Sara Arjona 6578458548 Merge branch 'MDL-81296-main' of https://github.com/andelacruz/moodle 2024-07-10 09:16:56 +08:00
Ilya Tregubov 096897d623 Merge branch 'MDL-81765-main-v02' of https://github.com/ferranrecio/moodle 2024-07-10 09:16:56 +08:00
Jun Pataleta 2f94a4f4d7 Merge branch 'MDL-58353-main' of https://github.com/davewoloszyn/moodle 2024-07-10 09:16:56 +08:00
Jun Pataleta 80e0b142d7 Merge branch 'MDL-82404-main' of https://github.com/HuongNV13/moodle 2024-07-10 09:16:56 +08:00
Laurent David 37b6eea44f MDL-81265 mod_workshop: Fix accessibility issues
* Page title should be h2
* Contrasts in the table headers (for submission, assessment and grading)
should be 4:1 at least
2024-07-09 21:28:33 +02:00
Paul Holden 1554c68933 MDL-82391 courseformat: correct selector element section URLs.
It's required by themes that don't use the course index component,
e.g. Classic theme.
2024-07-09 14:45:16 +01:00
Paul Holden a22ccfc7d0 MDL-82066 hook: new hook to extend options for default site homepage. 2024-07-09 13:09:09 +01:00
ferranrecio 5ca968fea4 MDL-82324 course: fix empty section dropzone 2024-07-09 11:23:46 +02:00
ferranrecio 0766976b61 MDL-81798 course: limit number of subsections 2024-07-09 10:49:42 +02:00
Paul Holden c8d32c279d MDL-82309 comment: preserve link text property during AJAX requests.
We really only need to update the count value that follows the link
text content, so do that rather than overwriting the entire thing.
2024-07-09 09:17:10 +01:00
Angelia Dela Cruz 5a93545c52 MDL-82236 mod_data: Behat to display DB activity entry rating 2024-07-09 14:39:23 +08:00
Sara Arjona 092e2d1ec7 MDL-82057 backup: Badges independent of user data and activities
The dependency of badges on user data and activities has been
removed when copying, importing, or creating backups in courses.
Now, badges can be imported or copied even if user data and activities
are not selected:

- If user data is not selected (during backup or course copying), the badge
information (name, description, image, etc.) and criteria will be included,
but the users who have been awarded the badge will be excluded.

- If activities are not selected (during backup), the badge information
(name, description, image, etc.) will be copied, but the criteria and users
who have been awarded the badge will be excluded.
2024-07-09 07:49:57 +02:00
David Woloszyn 2e0579ce3a MDL-58353 report_usersessions: Ability to logout all other sessions 2024-07-09 13:39:27 +10:00
Angelia Dela Cruz 03f4c84684 MDL-81296 mod_data: Behat test for data activity readonly availability 2024-07-09 10:52:45 +08:00
Brendan Heywood 7327fdd40e MDL-82171 core: Rewarm bootstrap.php after a cache purge 2024-07-09 10:46:37 +10:00
David Woloszyn b1df497321 MDL-58353 admin: Logout on password change default to yes 2024-07-09 09:01:19 +10:00
Daniel Ziegenberg cbac1d5e32 MDL-73284 messages: Final deprecation MESSAGE_DEFAULT_LOGGED(OFF|IN)
Signed-off-by: Daniel Ziegenberg <daniel@ziegenberg.at>
2024-07-08 21:28:28 +02:00
Sara Arjona 11b276fc1b MDL-43938 badges: Bagde names are not unique anymore
The restriction for the badge name to be unique has been removed so,
from now on, the badge names can be duplicated, even inside a course.
2024-07-08 15:53:27 +02:00
ferranrecio 0ccafe76f6 MDL-81765 mod_subsection: disable mod subsection by default 2024-07-08 13:34:28 +02:00
Paul Holden 3d3a90761b MDL-82328 auth_oauth2: don't load custom profile field data too early.
By prematurely loading custom profile data in the constructor, under
specific circumstances it would happen before the page was fully
initialised which meant that any attempt at applying filters when
formatting profile field data would result in thrown exception.
2024-07-08 08:55:49 +01:00
Huong Nguyen dabf88a99a MDL-82404 core_cohort: Fix random Behat failure
- Switched to use Table row verification instead of
text assertion for better result
 - Used the correct selector for checkboxes
2024-07-08 13:51:45 +07:00
Ilya Tregubov 8ae03ee493 MDL-82292 mod_assign: Merge picture and name columns 2024-07-08 12:00:03 +08:00
Simey Lameze 8988e4228a MDL-76654 behat: fixes and improvements to self assessment test 2024-07-08 11:17:27 +08:00
Angelia Dela Cruz a3e8495ac5 MDL-76654 behat: Coverage for workshop self-assessment 2024-07-08 11:17:27 +08:00
meirzamoodle d98867dd8b MDL-66251 form: Hiding and disabling static elements.
Added functionality to locate static text elements within the form,
improving the ability to target and manipulate the static elements for
hiding and disabling purposes.
2024-07-08 09:17:09 +07:00
Stevani Andolo db0d4ab677 MDL-80947 communication_customlink: Check before customlink update 2024-07-08 07:19:30 +08:00
Tim Hunt 48eec50590 MDL-82401 quiz: editing modals must be removed on close 2024-07-05 16:59:55 +01:00
ferranrecio c7742b7a23 MDL-81765 course: fix double highlighted in subsections 2024-07-05 13:04:49 +02:00
ferranrecio a76ec9fdcb MDL-81765 mod_subsection: add plugin to core 2024-07-05 13:04:49 +02:00
Daniel Ureña 0f21f6e374 MDL-82234 tool_mobile: Return display default login form 2024-07-05 12:43:17 +02:00
Sara Arjona 445de6070f MDL-81661 theme: Set Moodle files after Font Awesome upgrade 2024-07-05 10:23:55 +02:00
Sara Arjona 86b2a799e1 MDL-81661 theme: Update FontAwesome to 6.5.2 2024-07-05 10:23:14 +02:00
Sara Arjona 8c0afe86ae MDL-68211 feedback: Export percentage format
The feedback was exporting the percentage in the Analysis file using
a wrong value for the format, so instead of having only 2 decimals,
the number was not formatted.
2024-07-05 10:12:26 +02:00
Sara Arjona 71aca6e27e MDL-43938 badges: Fix coding style 2024-07-05 10:11:39 +02:00
Sara Arjona ae5fc380b5 MDL-43938 badges: Merge newbadge.php and edit.php
The newbadge.php and edit.php pages have been merged in edit.php
to make them easier to maintain because they were quite similar
(newbadge.php was only used for creating badges and edit.php for
editing badge details and messages).
2024-07-05 10:11:39 +02:00
ferranrecio 72efec7fb6 MDL-81765 report_outline: add subsection tests 2024-07-05 08:29:21 +02:00
ferranrecio c13d579b5e MDL-81765 course: module delegated section logic
Having mod_subsection into core was a pre-requisite to incorporate some
phpunit and behat tests that are pending from previous issues. Also,
some new sectiondelegatemodule methods are added tu support the new
plugin.
2024-07-05 08:29:21 +02:00
Ilya Tregubov 7d7a871edd weekly release 4.5dev 2024-07-05 09:01:53 +08:00
Ilya Tregubov c7af8d8afa NOBUG: Add upgrade notes 2024-07-05 09:01:53 +08:00
Huong Nguyen 16843d173d Merge branch 'MDL-80907-take-2' of https://github.com/HuongNV13/moodle 2024-07-04 21:42:59 +07:00
Huong Nguyen 1110e51e58 MDL-80907 qtype_ordering: Fix incorrect Behat column selectors 2024-07-04 21:21:01 +07:00
Paul Holden d4ebc6644e MDL-82289 mod_feedback: correct comparison of current $course. 2024-07-04 10:28:43 +01:00
Sara Arjona 0def685187 Merge branch 'MDL-80907-main' of https://github.com/HuongNV13/moodle 2024-07-04 11:20:06 +02:00
Paul Holden 23eee37e81 MDL-82282 question: consider only editable flags in JS module. 2024-07-04 10:19:22 +01:00
Paul Holden ec57300048 MDL-82090 completion: account for alternate gradepass form fields.
Some modules (e.g. Workshop) have "*gradepass" fields for each grade
item, which should be accounted for when trying to freeze them.
2024-07-04 10:00:32 +01:00
Huong Nguyen 9cd0229914 MDL-80907 behat: Fix incorrect column selectors 2024-07-04 15:14:54 +07:00
Huong Nguyen f76d19fbf7 Merge branch 'MDL-79716-oracle' of https://github.com/HuongNV13/moodle 2024-07-04 15:01:47 +07:00
Huong Nguyen d89d9ee420 MDL-79716 mod_assign: Fix random failures PHPUnit test
- Fix Clock API is not used correctly. We need to make sure
 not to reset the DI system halfway through a test.
 - Switched to use Message sink to speed up the test, no need
 to query the DB to verify the result anymore.
 - Used Data generator to create a submission
2024-07-04 14:34:21 +07:00
Safat efc7c6d872 MDL-81932 communication_customlink: Fix behat tests 2024-07-04 17:09:38 +10:00
Safat c9887d8e59 MDL-81932 communication_matrix: Fix behat tests 2024-07-04 17:09:38 +10:00
Safat 0beb2ec33a MDL-81932 core_communication: Fix communication provider change issue 2024-07-04 17:09:38 +10:00
Andrew Nicols 9ad6cae1e2 MDL-78662 question: Correct upgrade notes 2024-07-04 12:17:50 +08:00
Andrew Nicols 10d1a28dda Merge branch 'MDL-78662-master' of https://github.com/NashTechOpenUniversity/moodle 2024-07-04 12:17:36 +08:00
Huong Nguyen ccd8089de9 Merge branch 'MDL-80907' of https://github.com/marinaglancy/moodle 2024-07-04 11:12:50 +07:00
Jun Pataleta b916a3b055 Merge branch 'MDL-82364-main' of https://github.com/HuongNV13/moodle 2024-07-04 11:40:30 +08:00
Huong Nguyen 4abc679c8b MDL-82364 mod_quiz: Fix random failures PHPUnit test
- Fix Clock API is not used correctly. We need to make sure
 not to reset the DI system halfway through a test.
 - Switched to use Message sink to speed up the test, no need
 to query the DB to verify the result anymore.
2024-07-04 10:25:29 +07:00
Ilya Tregubov 5fcc61f672 Merge branch 'MDL-63670-main' of https://github.com/andrewnicols/moodle 2024-07-04 10:57:15 +08:00
Ilya Tregubov 02ce2360c2 Merge branch 'MDL-82315' of https://github.com/paulholden/moodle 2024-07-04 10:37:29 +08:00
Ilya Tregubov d6d6f8466c Merge branch 'MDL-82024' of https://github.com/paulholden/moodle 2024-07-04 09:50:22 +08:00
Sara Arjona c9fa646328 Merge branch 'MDL-82100-master' of https://github.com/danghieu1407/moodle 2024-07-03 17:14:09 +02:00
Sara Arjona 2bf55f231b Merge branch 'MDL-81771-main' of https://github.com/aanabit/moodle 2024-07-03 15:52:24 +02:00
Amaia Anabitarte 6912ddb3c6 MDL-81771 report_outline: Add subsections to course Activity report 2024-07-03 15:47:48 +02:00
Amaia Anabitarte f9497ceade MDL-81771 core_report: Add Report as subsystem 2024-07-03 15:47:46 +02:00
Sara Arjona 6034a5804b Merge branch 'MDL-82264-main' of https://github.com/junpataleta/moodle 2024-07-03 13:16:57 +02:00
Jun Pataleta 130fff8fce Merge branch 'MDL-52046-main' of https://github.com/davewoloszyn/moodle 2024-07-03 18:48:25 +08:00
Jun Pataleta c3f4f60a5f Merge branch 'MDL-80748-main' of https://github.com/rezaies/moodle 2024-07-03 17:13:21 +08:00
Jun Pataleta 3d514a5b98 Merge branch 'MDL-81671' of https://github.com/paulholden/moodle 2024-07-03 16:11:12 +08:00
Sara Arjona 89dcf5066b Merge branch 'MDL-74251-main' of https://github.com/lucaboesch/moodle 2024-07-03 09:35:56 +02:00
Jun Pataleta fbdc42ec25 Merge branch 'MDL-31192_colored-box-with-pre-tag-function-generates-a-warning' of https://github.com/ziegenberg/moodle 2024-07-03 15:12:56 +08:00
Hieu Nguyen Dang f06a670a64 MDL-82100 Quiz\report: Show customised question numbers 2024-07-03 13:47:27 +07:00
Sara Arjona 54c578fa86 Merge branch 'MDL-82363-main' of https://github.com/HuongNV13/moodle 2024-07-03 08:23:36 +02:00
Jun Pataleta 23cafba5e6 MDL-79716 mod_assign: Use $DB->record_exists_select() 2024-07-03 13:46:40 +08:00
Jun Pataleta 83184bce49 Merge branch 'MDL-79716-main' of https://github.com/davewoloszyn/moodle 2024-07-03 13:44:07 +08:00
David Woloszyn b92e45cf84 MDL-79716 mod_assign: Send notifications for approaching due dates 2024-07-03 15:36:50 +10:00
Jun Pataleta abaa3f4e34 Merge branch 'NOBUG-increase-expected-filesize' of https://github.com/lameze/moodle 2024-07-03 13:32:28 +08:00
Huong Nguyen b8450de7c5 MDL-82363 Calendar: Responsiveness improvement for calendar block
Hide the month name if the screen is too small
2024-07-03 11:01:54 +07:00
Shamim Rezaie 1511c71a18 Merge branch 'MDL-81725-main' of https://github.com/laurentdavid/moodle 2024-07-03 13:45:45 +10:00
djarrancotleanu 38a6f3fcaf MDL-78388 course: Copy permissions when duplicating module 2024-07-03 13:39:00 +10:00
lameze cfa85f5e14 NOBUG: Increase file size to avoid random failures 2024-07-03 11:36:42 +08:00
Shamim Rezaie b174c16d4d Merge branch 'MDL-82329' of https://github.com/paulholden/moodle 2024-07-03 04:06:19 +10:00
Paul Holden 314fcb3cf8 MDL-82360 courseformat: remove console upload error string debugging. 2024-07-02 15:53:19 +01:00
Laurent David 39ccad14d1 MDL-81725 core_courseformat: Fix refreshCompletion on subsections
* If completion information on subsection is not present the
refreshCompletion action is raising an exception
2024-07-02 16:17:19 +02:00
Laurent David e8c66a9815 MDL-81725 core_courseformat: Prevent drag and drop handling subsections
* Subsection are "modules" and should not be handled as "sections" in the
drag and drop process. Preventing delegated section from being dragged in
the dndsectionitems module fixes the drag and drop issues with subsections
in course index.
2024-07-02 16:17:19 +02:00
Sara Arjona c26763b0d5 Merge branch 'MDL-82345-main' of https://github.com/lameze/moodle 2024-07-02 12:08:30 +02:00
Laurent David cdc3ec5a54 MDL-81725 core_courseformat: Display subsections in the course index
* Add subsection into section entry in course index
* Adjust padding
2024-07-02 11:58:45 +02:00
ferranrecio d95b7a3883 MDL-81725 course: Get delegated section from cm_info 2024-07-02 11:58:18 +02:00
lameze 1191e5f003 MDL-82345 behat: change window size to large to avoid failures 2024-07-02 17:03:12 +08:00
Huong Nguyen fc5738b728 MDL-80797 core: Use stoppable_trait 2024-07-02 15:10:34 +07:00
Huong Nguyen 315b2bdd11 Merge branch 'MDL-80797' of https://github.com/sumaiyamannan/moodle 2024-07-02 15:08:42 +07:00
Ilya Tregubov 8dc76d79e5 Merge branch 'main_MDL-82141' of https://github.com/mattporritt/moodle 2024-07-02 13:19:55 +08:00
Ilya Tregubov a1a02b7146 Merge branch 'MDL-80123' of https://github.com/dravek/moodle 2024-07-02 10:20:01 +08:00
Ilya Tregubov 0a7fddefd3 MDL-81647 core: Code style fix. 2024-07-02 10:15:18 +08:00
Ilya Tregubov f0d194089f Merge branch 'MDL-81647-main' of https://github.com/andrewnicols/moodle 2024-07-02 09:26:13 +08:00
Paul Holden 0dbfd10c0c MDL-77834 mod_feedback: consistent HTML decoding of answer data.
Restores functionality from 72629ee8c0 that went missing along the way.
2024-07-01 16:21:58 +01:00
Sara Arjona f385fe16da Merge branch 'MDL-75022_final-deprecation-of-core_backup-copy' of https://github.com/ziegenberg/moodle 2024-07-01 16:47:20 +02:00
Sara Arjona 79e73e1b05 Merge branch 'MDL-74843_final-deprecation-of-core_task_manager-ensure_adhoc_task_qos' of https://github.com/ziegenberg/moodle 2024-07-01 16:29:09 +02:00
Sara Arjona 03e9639edf Merge branch 'MDL-81959-main' of https://github.com/lucaboesch/moodle 2024-07-01 16:15:38 +02:00
meirzamoodle 1f1d1a3920 MDL-66994 core: Remove display contact form setting in site registration
Removing the display of the contact form causes deprecation of some
language strings and unsets the site_contactable during the upgrade.
2024-07-01 21:07:30 +07:00
Sara Arjona e01a61a7b8 Merge branch 'MDL-80643_upgrade-http-client' of https://github.com/ziegenberg/moodle 2024-07-01 13:36:28 +02:00
Sara Arjona 07e21c944e Merge branch 'MDL-80642_upgrade-http-message' of https://github.com/ziegenberg/moodle 2024-07-01 13:23:04 +02:00
Sara Arjona 7d3f56d315 Merge branch 'MDL-80645_upgrade-symfony-deprecation-contracts' of https://github.com/ziegenberg/moodle 2024-07-01 12:55:31 +02:00
Sara Arjona 4fcea1f716 Merge branch 'MDL-80191-main-v06' of https://github.com/ferranrecio/moodle 2024-07-01 12:26:46 +02:00
Sara Arjona 576e63cb0f Merge branch 'MDL-63753' of https://github.com/larsbonczek/moodle 2024-07-01 12:18:50 +02:00
Jun Pataleta bfd07deb22 MDL-82264 admin: Move $CFG->allcountrycodes outside "IP address lookup" 2024-07-01 16:49:33 +08:00
ferranrecio b5f14e895a MDL-80191 backup: add subsections to restore form
This commit adds two new levels to the restore course structure form:
subsection (a delegated section that belongs to a course module) and
subactivity (a course module in a subsection).

Restore form can only use information from the backup file. To allow
activities to know if they are inside a subsection, the backup now
incorporates an "insubsection" attribute. This attribute is used only
for the form display but not for the restore logic.
2024-07-01 10:48:32 +02:00
ferranrecio c997f91db6 MDL-80191 backup: add subsections to backup form
The patch adds two new levels to the backup form structure: subsection
(a delegated section which parent is a course module) and subactivity
(an activity inside a subsection). Those new elements are displayed as a
inner section below the parent activitiy.

For now the UI is the same as a regular section but future issues will
define how the UX should be. The new two levels have their own classes
to represents settings and have extra dependencies.
2024-07-01 10:48:32 +02:00
Sara Arjona 606a82b95f Merge branch 'MDL-81885-main' of https://github.com/ferranrecio/moodle 2024-07-01 10:42:32 +02:00
Paul Holden 4fa3b63d19 MDL-81349 group: case-sensitive name validation when editing. 2024-07-01 09:41:37 +01:00
Huong Nguyen cdfeae28e7 Merge branch 'MDL-82331' of https://github.com/paulholden/moodle 2024-07-01 14:46:06 +07:00
Huong Nguyen 7fe2699829 Merge branch 'MDL-82114' of https://github.com/paulholden/moodle 2024-07-01 14:42:38 +07:00
Huong Nguyen 807f75b065 Merge branch 'MDL-79758' of https://github.com/timhunt/moodle 2024-07-01 14:24:56 +07:00
Huong Nguyen 38dc44976a Merge branch 'MDL-79971-main' of https://github.com/aanabit/moodle 2024-07-01 14:16:26 +07:00
Huong Nguyen 1fcdc69b09 Merge branch 'MDL-79796' of https://github.com/AnupamaSarjoshi/moodle 2024-07-01 14:09:09 +07:00
Huong Nguyen 7e30a3d524 Merge branch 'MDL-73091-main' of https://github.com/laurentdavid/moodle 2024-07-01 14:05:02 +07:00
Shamim Rezaie d5a8752914 MDL-80748 behat: Workaround for elements covered by the sticky header 2024-07-01 15:58:20 +10:00
Shamim Rezaie f5f8fb5ff6 MDL-80748 mod_assign: grading table now has a sticky header
`position: sticky` doesn't work in responsive tables because responsive
tables have scrollbars, making them the nearest ancestor with a
scrolling mechanism for the sticky header. As a result, the table can no
longer be responsive. This change is actually desired and was intended
for MDL-81860. Since we implemented it here, we can close the other
issue.
2024-07-01 15:58:20 +10:00
Shamim Rezaie e44d630be2 MDL-80748 core: flexible_table can be optionally responsive 2024-07-01 15:58:20 +10:00
Shamim Rezaie 3452278283 MDL-80748 core: organizes the properties of the flexible_table class
Public properties are now defined first, followed by protected
properties and finally private properties. Previously, they were
scattered.
2024-07-01 15:58:16 +10:00
Leon Stringer 7c70eb8e89 MDL-78776 database: Remove MyISAM migration
Remove functionality to migrate from MyISAM, and remove tests of whether
the existing database is using this.

Support for MyISAM was dropped in Moodle 2.9 (MDL-46064) so it should
not be possible for any subsequent Moodle version to be using this.

The only remaining MyISAM-aware code is the environment check via
check_database_storage_engine() to prevent installation/upgrade if the
database is set to use this.
2024-06-28 16:00:06 +01:00
Paul Holden 2d25cf1401 MDL-82331 reportbuilder: date filtering down to the nearest minute. 2024-06-28 10:36:48 +01:00
Leon Stringer f5ead497c6 MDL-82323 core: Fix get_striptags must be bool
If an exception occurs during install $CFG->formatstringstriptags may
not be populated, if so fall back to a default value.
2024-06-28 10:22:54 +01:00
Paul Holden 012b65fd78 MDL-82245 restore: use translated lang string in page heading. 2024-06-28 10:03:03 +01:00
Amaia Anabitarte de2adae485 MDL-79971 completion: Don't assume a completed activity is viewed 2024-06-28 10:14:46 +02:00
Paul Holden c03234b5a6 MDL-82329 course: consistent section permalink on view/section pages. 2024-06-28 08:59:51 +01:00
Paul Holden 956c64f0b4 MDL-82114 files: report entity filters for file component/area. 2024-06-28 07:54:25 +01:00
David Carrillo 8223c1cea2 MDL-80123 admin: Convert admin preset report to Report Builder
- Admin presets list has been converted to use Report builder
- Added ability to filter by name in the report
- Added confirmation modal when deleting presets
- Added inplace editable to rename custom presets
2024-06-28 08:39:25 +02:00
Paul Holden 77584dee5c MDL-82315 backup: account for null course section sequence value. 2024-06-27 23:33:05 +01:00
Paul Holden 8a0d02d373 MDL-82326 calendar: correct course name formatting and shortening. 2024-06-27 17:41:28 +01:00
Adrian Perez e1353c7649 MDL-74251 core: Remove old icon helper classes 2024-06-27 18:28:05 +02:00
Sara Arjona 5aef789ac6 weekly release 4.5dev 2024-06-27 16:36:42 +02:00
Sara Arjona 24c4541d47 NOBUG: Add upgrade notes 2024-06-27 16:36:42 +02:00
Sara Arjona c5698a9958 Merge branch 'install_master' of https://git.in.moodle.com/amosbot/moodle-install 2024-06-27 16:34:52 +02:00
Stephan Robotta f736db9777 MDL-79758 qbank: add filter in pagination links
Contains some minor tweaks by Tim Hunt <T.J.Hunt@open.ac.uk>.
2024-06-27 09:21:23 +01:00
ferranrecio b4f0332388 MDL-80191 backup: delegate section backup and restore
This commit adds all the logic to allow delegate sections backup and
restore. The backup and restore process is quite complex and it is not
designed to have task hierarchy. To solve the subsection problem, the
backup/restore planners do not include delegated sections at a course
level, but they are included when the activity with delegated section is
processed.

To allow restoing, the activity is responsible to store the
component/itemid mapping in the backup_structure_dbops. This way, when
the delegated section is restored (delegated sections are always
processed right after the parent activity) it can use the itemid
mapping.
2024-06-27 10:21:07 +02:00
ferranrecio 7482013cd2 MDL-80191 backup: prepare UI for subsections
Backup and restore settings needs to be refactored before introducing
subsections. With the current code adding two new hierachy levels
(subsections and activities in subsections) will require many
unnecessary lines of code because most of the structure is hard-coded.

With this patch when backup/restore present the course structure uses a
stack to control how mani divs are opened, instead of relying on adhoc
class attributes per each div.

About the tasks for sections and activities, the class has been
refactored. This way when subsections are introduced it will require
less lines of code and the final patch will be more comprehensible.
2024-06-27 10:16:03 +02:00
Huong Nguyen 053e0e8a87 Merge branch 'MDL-82068' of https://github.com/paulholden/moodle 2024-06-27 11:19:38 +07:00
Jun Pataleta 1306c52855 Merge branch 'MDL-81960-main' of https://github.com/andrewnicols/moodle 2024-06-27 12:16:18 +08:00
Huong Nguyen 15d5cefba8 Merge branch 'MDL-62958' of https://github.com/paulholden/moodle 2024-06-27 11:04:39 +07:00
Huong Nguyen 57fbce061b Merge branch 'MDL-82251' of https://github.com/paulholden/moodle 2024-06-27 10:55:53 +07:00
Andrew Nicols e3f795fc72 MDL-81960 core: Move progress_trace tests out of weblib 2024-06-27 11:35:37 +08:00
Andrew Nicols b6d08ad1d7 MDL-81960 core: Update namespace of progress_trace classes 2024-06-27 11:35:37 +08:00
Andrew Nicols a9869ff0a7 MDL-81960 core: Coding style update for progress_trace 2024-06-27 11:35:36 +08:00
Andrew Nicols c8a538de29 MDL-81960 core: Move progress_trace classes to legacy autoloader 2024-06-27 11:35:36 +08:00
Andrew Nicols 097b3fbee3 MDL-81960 core: Move moodle_url tests to correct location 2024-06-27 11:35:31 +08:00
Andrew Nicols b637f8cc4e MDL-81960 core: Coding style fixes 2024-06-27 11:34:30 +08:00
Huong Nguyen 2471ff69be Merge branch 'MDL-82008-main' of https://github.com/lucaboesch/moodle 2024-06-27 10:26:00 +07:00
Andrew Nicols 31461eff5b MDL-63670 core_message: Coding style updates for unit tests 2024-06-27 11:21:14 +08:00
Jun Pataleta 03fbc9fc01 Merge branch 'MDL-79809-main' of https://github.com/HuongNV13/moodle 2024-06-27 11:01:44 +08:00
Huong Nguyen 1ad47bdef0 Merge branch 'MDL-81111-master' of https://github.com/tailetan/moodle 2024-06-27 09:52:09 +07:00
Jun Pataleta 0c64966ea4 MDL-82183 output: Additional fixes
* Use the namespaced classes in imports instead of their aliases
* Add missing imports
* Add moved `\core\output\local\action_menu\subpanel` in the upgrade
  notes
2024-06-27 09:21:04 +08:00
Jun Pataleta 85a83eb365 MDL-82183 output: Move render_context_header()
* With \core_renderer in lib/outputrenderers.php moved to its
standalone class in \core\output, the method ::render_context_header()
introduced in MDL-82160 also needs to be moved to the new class.
2024-06-27 09:02:11 +08:00
Jun Pataleta e84daab7dd Merge branch 'MDL-82183-main-squashed' of https://github.com/andrewnicols/moodle 2024-06-27 08:49:13 +08:00
Luca Bösch 529be7c9fe MDL-81959 qtype_multianswer: Margin between checkboxes and text 2024-06-27 00:24:36 +02:00
Andrew Nicols 433df29b81 MDL-63670 core_message: Tests should not use another testcase as base 2024-06-27 00:00:55 +08:00
Jun Pataleta 75f2afc3dc Merge branch 'MDL-81920' of https://github.com/paulholden/moodle 2024-06-26 23:23:01 +08:00
Sara Arjona 745cff2597 Merge branch 'MDL-81657' of https://github.com/paulholden/moodle 2024-06-26 17:06:56 +02:00
Andrew Nicols 882150bd02 MDL-82183 core: Move subpanel out of local folder 2024-06-26 23:00:34 +08:00
Andrew Nicols 70ab95f27f MDL-82183 core: Document new class locations for output API 2024-06-26 23:00:34 +08:00
Andrew Nicols 9043dc75bf MDL-82183 core: Coding style fixes for core\output 2024-06-26 23:00:33 +08:00
Andrew Nicols ff0fd2764a MDL-82183 core: Update namespace of moved output classes 2024-06-26 23:00:33 +08:00
Andrew Nicols 6c61700d0e MDL-82183 core_table: Move tablelib classes to core_table 2024-06-26 23:00:32 +08:00
Andrew Nicols 2fff48b07c MDL-82183 core: Migrate all output classes to autoloaded 2024-06-26 23:00:31 +08:00
Andrew Nicols 77f9238cf4 MDL-82287 core: Deprecate long-deprecated functions
These were originally believed to be so widely used that we could never
migrate away from them but it seems we have!
2024-06-26 22:19:07 +08:00
Paul Holden 751aa2efc3 MDL-81920 core: move emoticon manager class into autoload namespace. 2024-06-26 14:23:30 +01:00
Paul Holden cc30087d84 MDL-81920 lang: move language string class into autoload namespace. 2024-06-26 14:23:11 +01:00
Daniel Ziegenberg 8723c4099b MDL-75025 backup: Final deprecation of base_controller::get/set_copy
Signed-off-by: Daniel Ziegenberg <daniel@ziegenberg.at>
2024-06-26 13:52:46 +02:00
Lars Bonczek a48d11dd7d MDL-63753 course: Show stealth activity links to non-editing teachers 2024-06-26 12:57:36 +02:00
Sara Arjona 9e1eec783c Merge branch 'MDL-82207' of https://github.com/stronk7/moodle 2024-06-26 12:27:19 +02:00
Sara Arjona 4a9b4c9b7b Merge branch 'MDL-80625-master' of https://github.com/ssj365/moodle 2024-06-26 12:14:49 +02:00
Sara Arjona 0bccb0b1e4 Merge branch 'MDL-80344' of https://github.com/paulholden/moodle 2024-06-26 12:11:11 +02:00
Huong Nguyen ca7286c14c MDL-81991 core: Reload accessdata for dirty users in CLI mode 2024-06-26 16:27:11 +07:00
Huong Nguyen 67f348a340 MDL-78936 editor_tiny: Disable quickbars for small target
The quickbars selection toolbar is not displayed correctly
if the target element is too small. We will wait for it
to be fixed in the future before we re-enable it in Moodle
2024-06-26 10:13:28 +07:00
Ilya Tregubov 5c415229eb Merge branch 'MDL-82233-main' of https://github.com/sarjona/moodle 2024-06-26 10:23:44 +08:00
Huong Nguyen debeb77681 Merge branch 'MDL-81250-main' of https://github.com/meirzamoodle/moodle 2024-06-26 09:20:56 +07:00
Ilya Tregubov 201140e7dd Merge branch 'MDL-82167-main' of https://github.com/ferranrecio/moodle 2024-06-26 10:19:34 +08:00
Ilya Tregubov 435619ac90 Merge branch 'MDL-81866-main' of https://github.com/sarjona/moodle 2024-06-26 10:16:36 +08:00
Ilya Tregubov c60f4eaa62 Merge branch 'MDL-81769-main' of https://github.com/ferranrecio/moodle 2024-06-26 10:13:19 +08:00
Ilya Tregubov 6eac3256f8 Merge branch 'MDL-81743-main' of https://github.com/roland04/moodle 2024-06-26 10:10:51 +08:00
Sara Arjona 56cdb1a3d3 Merge branch 'MDL-79231-main' of https://github.com/davewoloszyn/moodle 2024-06-25 16:12:55 +02:00
Sara Arjona 8b15366f28 Merge branch 'MDL-82160-main' of https://github.com/roland04/moodle 2024-06-25 15:59:57 +02:00
Andrew Nicols 4101dc6dab MDL-82287 core: Remove long-deprecated methods 2024-06-25 21:30:30 +08:00
Mikel Martín 7b0e95aec0 MDL-81743 mod_feedback: Add manage questions behat feature 2024-06-25 15:02:24 +02:00
Mikel Martín fdb7f280c4 MDL-81743 mod_feedback: Fix multichoice items separation 2024-06-25 15:02:24 +02:00
Mikel Martín ae01fe1ba4 MDL-81743 mod_feedback: Improve 'Edit' page UI
- Move styles in css to modules.scss
- Add new styles for questions
- Change Delete action to red colour
- Add "Page break" text to pagebreak elements in edit page
2024-06-25 15:02:20 +02:00
Jun Pataleta 19d16b9249 Merge branch 'MDL-81807-main' of https://github.com/tsmilan/moodle 2024-06-25 19:53:43 +08:00
Sara Arjona cf7cc40f4b MDL-81866 course: Fix behat errors after improving reset 2024-06-25 12:59:26 +02:00
Sara Arjona 7402706c59 MDL-81866 course: Improve workflow for reset course
The following changes have been done to improve the reset course:
- Reset course button moved to sticky footer. Select default and
deselect all buttons set as secondary and left at the end of the form
- Adjusted page layout to a standardized format, centering the form for
improving presentation and recolocating the Reset course button away
from the bottom-right corner
- Changed page layout to standard, to display the form centered and
avoid having the Reset course button in the right bottom corner
- Modal added before resetting a course, asking user for confirmation
- Reset course buttons displayed with danger styling, because they
remove information
- All sections are expanded by default
- Default options are selected by default
2024-06-25 12:59:25 +02:00
Meirza d63aff3f51 MDL-81250 calendar: Use full course name as the course filter
Co-authored-by: Eduardo Domínguez <eduardo.dominguez@uib.es>
2024-06-25 16:35:38 +07:00
Huong Nguyen c45487051f Merge branch 'MDL-82277' of https://github.com/paulholden/moodle 2024-06-25 13:53:29 +07:00
Trisha Milan d0e82b746e MDL-81807 core: Add scheduled task for updating the GeoIP database
This commit includes the following changes:

- Implemented a scheduled task to automate the download and update of the GeoIP database.
- Integrated checksum verification for the downloaded database file.
- Added new configuration settings to enable administrators to enter MaxMind account credentials,
  allowing authenticated access to both free and paid GeoIP database versions from Maxmind.
2024-06-25 15:17:30 +10:00
Huong Nguyen 3b9cc05800 Merge branch 'MDL-81506-main' of https://github.com/davewoloszyn/moodle 2024-06-25 09:50:53 +07:00
Huong Nguyen 0d14b122eb Merge branch 'MDL-81818-main' of https://github.com/roland04/moodle 2024-06-25 09:26:29 +07:00
Huong Nguyen 5c03f39940 Merge branch 'MDL-82200' of https://github.com/timhunt/moodle 2024-06-25 09:13:25 +07:00
Huong Nguyen 0e87e8cfc9 Merge branch 'MDL-80061-master' of https://github.com/ssj365/moodle 2024-06-25 09:07:05 +07:00
Paul Holden e8ae5222d6 MDL-82024 format_topics: toggle un/highlight section icon correctly. 2024-06-24 19:40:22 +01:00
Paul Holden b8fa79c5a7 MDL-82277 mod_h5pactivity: less fragile error Behat step assertion.
Avoids frequent failures related to iframe resizing/timing.
2024-06-24 15:25:54 +01:00
Paul Holden 0105cf126e MDL-62958 admin: ensure uploaded plugin directory structure present.
Including any empty directories, which would cause validation to
subsequently fail when they were skipped.

Co-authored-by: Leon Stringer <leon.stringer@ntlworld.com>
2024-06-24 12:47:36 +01:00
Eloy Lafuente (stronk7) ad5fe71868 MDL-82207 phpunit: fix various @covers annotations (take#1)
This fixes various (not all) wrong @covers annotations that
are reported as warnings by PHPUnit when it's run with
code-coverage enabled.

When possible, the preferred solution is to change to
@covers at class level, that is the recommended way.

If multiple classes are involved, then a mix of @coversDefaultClass
and @covers at method level are used (always trying to use the
minimum needed patch).

This is the first of a series of issues created as sub-tasks
of MDL-82142.
2024-06-24 12:07:39 +02:00
Huong Nguyen d67e9c86a0 Merge branch 'MDL-79718-main-fix' of https://github.com/junpataleta/moodle 2024-06-24 16:28:31 +07:00
Jun Pataleta 5e976886c7 MDL-79718 mod_quiz: Remove unnecessary semicolon in SQL statement 2024-06-24 17:12:47 +08:00
Andrew Nicols 585b060462 MDL-82183 core: Do not load subsystem db/legacyclasses.php
Subsystems do not support the notion of a `db` folder. Instead we must
conflate the lib/db/legacyclasses.php syntax to allow it to support
paths as either a string, or an array with [subsystem, path].
2024-06-24 14:43:47 +08:00
Jun Pataleta cfb2cce128 Merge branch 'MDL-79718-main' of https://github.com/davewoloszyn/moodle 2024-06-24 11:03:10 +08:00
Huong Nguyen 7abffe7935 MDL-79809 environment: Moodle 4.5 requirements 2024-06-24 09:37:08 +07:00
David Woloszyn ee8a16eccf MDL-79718 mod_quiz: Send notifications for approaching open dates 2024-06-24 10:53:48 +10:00
Michael Milette 27a6dbeeb6 MDL-67554 oauth2: New filtered language tags for additional parameters.
This adds support for new language tags in OAuth2's
"Additional Parameters Included in a Login Request"
field. Available tags include:

Tags            Example value
-----------------------------
{lang}          fr
{LANG}          FR
{language}      fr_ca
{LANGUAGE}      FR_CA
{lan-guage}     fr-ca
{LAN-GUAGE}     FR-CA
2024-06-23 16:30:07 -04:00
Rossco Hellmans 1b5cc6bee4 MDL-68676 mod_assign: check accessallgroups in can_edit_submission()
In can_edit_submission() when the assign group mode is SEPARATEGROUPS
check if the user has the moodle/site:accessallgroups capability before
checking if they are a shared groupmember. Due to the teamsubmission
setting students might not be in a group but can still submit, which
means they are not returned in get_shared_group_members().
2024-06-22 13:44:59 +10:00
AMOS bot a370ce73ae Automatically generated installer lang files 2024-06-22 00:14:12 +00:00
Daniel Ziegenberg 047bd74c8b MDL-74843 tasks: Deprecation \core\task\manager::ensure_adhoc_task_qos
Signed-off-by: Daniel Ziegenberg <daniel@ziegenberg.at>
2024-06-21 16:41:21 +02:00
Martin Gauk fe9616edcd MDL-80345 core_lock: deal with hash collisions in postgres_lock_factory 2024-06-21 13:44:33 +02:00
Daniel Ziegenberg f69b0e189c MDL-31192 core_webservice: do not render div inside span
`<span>` tags only permit "phrasing content" but `<div>` (and also the
`<ins>` tag) are flow content. So, switching to div all along.

Signed-off-by: Daniel Ziegenberg <daniel@ziegenberg.at>
2024-06-21 13:09:28 +02:00
Daniel Ziegenberg 8a4e52765a MDL-75022 backup: Final deprecation of core_backup\copy
Signed-off-by: Daniel Ziegenberg <daniel@ziegenberg.at>
2024-06-21 13:08:14 +02:00
ferranrecio f166b15b28 MDL-81769 core_courseformat: prevent delegated section modules actions 2024-06-21 12:41:09 +02:00
Mikel Martín 3b419c4540 MDL-82160 renderer: Add render_context_header method to core_renderer
In MDL-81597 the original render_context_header method was removed and converted to a template.
That caused a regression, so this patch adds the method again but using the new template.
2024-06-21 11:54:52 +02:00
Luca Bösch b01fea1afa MDL-82008 backup: Format 'Continue' and 'Cancel' button to have a margin 2024-06-21 09:37:01 +02:00
Sara Arjona 062acb0529 MDL-82233 badges: Display awarded users only when it applies
The message with the number of uses who have awarded a badge
were displayed always (even when the badge was disabled).
2024-06-21 06:56:03 +02:00
tai.letan 0208b9cae2 MDL-81111 tiny_recordrtc: add 'Pause' button for recording A/V 2024-06-21 09:22:17 +07:00
Matt Porritt c6e0b0f346 MDL-82141 Administration: Use toggle for Plugin Management Table
Replace the "eye" icon for enabling and disabling plugins in tables
that use the Plugin Management Table (plugin_management_table) class
with the Font Awesome "toggle" icon.
2024-06-21 12:18:55 +10:00
Andrew Nicols e138e03b2f MDL-81960 core: Move moodle_url to \core\url 2024-06-20 23:21:56 +08:00
Andrew Nicols f0cd6f14af MDL-81960 core: Migrate \moodle_url to autoloaded file 2024-06-20 23:21:56 +08:00
Sara Arjona ad7fc69c25 weekly release 4.5dev 2024-06-20 16:30:46 +02:00
Sara Arjona 510e8db405 NOBUG: Add upgrade notes 2024-06-20 16:30:46 +02:00
Sara Arjona d41187eafd Merge branch 'install_master' of https://git.in.moodle.com/amosbot/moodle-install 2024-06-20 16:30:21 +02:00
Paul Holden 9eab858ea3 MDL-82251 customfield: correct field management icon sizes. 2024-06-20 08:26:49 +01:00
David Woloszyn 9db8d9148c MDL-81506 core: Version bump 2024-06-20 16:41:24 +10:00
David Woloszyn 7b14538f21 MDL-81506 enrol_self: Edit welcome message capability applied 2024-06-20 16:41:24 +10:00
David Woloszyn 49fa7785dd MDL-81506 enrol_manual: Edit welcome message capability applied 2024-06-20 16:41:24 +10:00
David Woloszyn d43da95ed6 MDL-81506 core_enrol: New capability to edit the welcome message 2024-06-20 15:23:04 +10:00
David Woloszyn f90116e1c7 MDL-79231 core_theme: Fix Tiny menu in fullscreen mode modals 2024-06-20 14:31:03 +10:00
Huong Nguyen 966d5308a5 Merge branch 'MDL-78773' of https://github.com/paulholden/moodle 2024-06-20 11:06:01 +07:00
Huong Nguyen ac3ae1b678 Merge branch 'MDL-82224-main' of https://github.com/andrewnicols/moodle 2024-06-20 10:59:56 +07:00
Jun Pataleta e5be35a15b Merge branch 'MDL-82246-main' of https://github.com/andrewnicols/moodle 2024-06-20 11:41:54 +08:00
Huong Nguyen c53b23e47e Merge branch 'MDL-82202' of https://github.com/paulholden/moodle 2024-06-20 10:20:48 +07:00
David Woloszyn 8b71894d62 MDL-79231 mod_assign: Fix Tiny menu in fullscreen mode 2024-06-20 13:05:18 +10:00
Andrew Nicols 5f512be7b9 MDL-82246 tiny_recordrtc: Correct string name for insecure alert title 2024-06-20 10:57:31 +08:00
Huong Nguyen 56b58d6434 Merge branch 'MDL-81761' of https://github.com/paulholden/moodle 2024-06-20 09:54:21 +07:00
Huong Nguyen cafc34d8b4 Merge branch 'MDL-82169' of https://github.com/paulholden/moodle 2024-06-20 09:18:38 +07:00
David Woloszyn b174d05b54 MDL-52046 cohorts: Add ability to bulk delete cohorts 2024-06-20 11:39:03 +10:00
AMOS bot b8b1637eaf Automatically generated installer lang files 2024-06-20 00:16:27 +00:00
Sara Arjona 8c3ef8d4cc Merge branch 'MDL-81665' of https://github.com/paulholden/moodle 2024-06-19 17:08:43 +02:00
Sara Arjona f230cbb253 Merge branch 'MDL-81534' of https://github.com/paulholden/moodle 2024-06-19 16:49:49 +02:00
Sara Arjona 414c640655 Merge branch 'MDL-81659' of https://github.com/paulholden/moodle 2024-06-19 16:00:48 +02:00
Sara Arjona 36f5b40830 Merge branch 'MDL-81857' of https://github.com/paulholden/moodle 2024-06-19 15:52:57 +02:00
Sara Arjona 438ecde725 Merge branch 'MDL-82181' of https://github.com/paulholden/moodle 2024-06-19 15:42:22 +02:00
Sara Arjona c28933ef10 Merge branch 'MDL-81730' of https://github.com/paulholden/moodle 2024-06-19 13:31:33 +02:00
Sara Arjona 72f0d10e11 Merge branch 'MDL-80745-main' of https://github.com/rezaies/moodle 2024-06-19 08:48:40 +02:00
Meirza 4fbf34b73d MDL-75864 cache: Change key prefix in cache_cron_task
Currently, the cache_cron_task is set to look for 'sess_' as a key prefix,
which is not used in any code. As a result, sessions that have exceeded the timeout are never deleted.

The proposed patch involves changing the prefix to the LASTACCESS key prefix and
fixing the return value of get_many in the Redis cache so that it can return the required keys.

Co-authored-by: Renaud Lemaire <rlemaire@cblue.be>
2024-06-19 13:41:37 +07:00
Sara Arjona a210aea91c Merge branch 'MDL-77665-main' of https://github.com/laurentdavid/moodle 2024-06-19 07:35:17 +02:00
Huong Nguyen ebae7fbae4 Merge branch 'MDL-81523' of https://github.com/stronk7/moodle 2024-06-19 09:52:10 +07:00
Huong Nguyen 51e7fe3b75 Merge branch 'MDL-81249-main' of https://github.com/andelacruz/moodle 2024-06-19 09:18:14 +07:00
Andrew Nicols 36772d4c8e Merge branch 'MDL-81644-main-new' of https://github.com/meirzamoodle/moodle 2024-06-18 23:13:55 +08:00
Andrew Nicols 14d9e59492 Merge branch 'MDL-81431-main' of https://github.com/lameze/moodle 2024-06-18 22:47:27 +08:00
Shamim Rezaie 859a54b1c0 MDL-80745 mod_assign: Move group selector on grading page to action bar
AMOS BEGIN
 MOV [clearall,gradereport_grader],[clearall,core]
AMOS END
2024-06-19 00:41:05 +10:00
Shamim Rezaie c1a2436cb5 MDL-80745 core_grades: deprecate core_grades_renderer::group_selector 2024-06-19 00:41:05 +10:00
Shamim Rezaie 37eae68cdb MDL-80745 core_course: group selector renderer for actionbar in course 2024-06-19 00:41:05 +10:00
Andrew Nicols 40938bd83b Merge branch 'MDL-81739-main' of https://github.com/davewoloszyn/moodle 2024-06-18 22:33:14 +08:00
Paul Holden e47957af26 MDL-82191 core: add closing backtick to upgrade note, correct todo. 2024-06-18 12:16:33 +01:00
Paul Holden 3724f682b3 Merge branch 'MDL-82191-main' of https://github.com/andrewnicols/moodle into main 2024-06-18 12:11:23 +01:00
Paul Holden 74d85b0a90 Merge branch 'MDL-82156-main' of https://github.com/andrewnicols/moodle into main 2024-06-18 12:00:03 +01:00
Angelia Dela Cruz 0cc5f72f82 MDL-81249 gradingform: Behat test that grades are retained 2024-06-18 17:44:59 +08:00
Huong Nguyen 58dbb96ce5 Merge branch 'MDL-82148' of https://github.com/stronk7/moodle 2024-06-18 16:27:22 +07:00
Angelia Dela Cruz f86157f901 MDL-81249 gradingform: Enhance Behat test for deleting marking guide 2024-06-18 16:45:59 +08:00
Huong Nguyen 87ec51598d Merge branch 'MDL-79546' of https://github.com/timhunt/moodle 2024-06-18 15:29:29 +07:00
Andrew Nicols bbdf580177 MDL-82224 core_admin: Remove manual check for json
JSON can no longer be disabled.
2024-06-18 15:55:03 +08:00
Shamim Rezaie fe7738b7da Merge branch 'mdl-78080-main-split' of https://github.com/james-cnz/moodle 2024-06-18 16:05:48 +10:00
lameze f7d942e94a MDL-81431 behat: set grade item checkboxes one at the time 2024-06-18 13:57:03 +08:00
David Woloszyn 1b1128d646 MDL-52046 reportbuilder: Support null return from checkbox callback 2024-06-18 15:17:26 +10:00
Jun Pataleta ab72eef3de MDL-80951 backup: Add description for formselectall template 2024-06-18 11:51:11 +08:00
Jun Pataleta a08233635d Merge branch 'MDL-80951-main-v02' of https://github.com/ferranrecio/moodle 2024-06-18 11:40:08 +08:00
Paul Holden 53b69add3a MDL-81671 libraries: upgrade to version 1.3.3 of Serializable Closure. 2024-06-17 15:03:16 +01:00
Paul Holden 7ab967202c MDL-82202 course: correct last access report entity column callback.
Ensure it works when being aggregated.
2024-06-17 14:27:01 +01:00
Huong Nguyen 87f926d692 MDL-82133 reportbuilder: Fix illegal whitespace 2024-06-17 16:01:38 +07:00
Huong Nguyen e7a432c01d Merge branch 'MDL-82133' of https://github.com/lostrogit/moodle 2024-06-17 15:53:00 +07:00
Wolfgang Reichert 1264e3e0f0 MDL-73091 core_badges: Avoid undefined variable notice in review
* Fix review method for award_criteria_courseset when courseset is empty
* Add unit tests for coverage of the award_criteria_courseset class

@co-authored jz-reichert@web.de
2024-06-17 09:59:38 +02:00
Laurent David 26b747bf1f MDL-77665 mod_h5pactivity: Improve generator package upload
* Allow the specification of the username in order to set the owner
of the H5P file package when creating a new H5P instance.
2024-06-17 06:31:18 +02:00
Laurent David 7bf85150b9 MDL-77665 core_h5p: Allow deployment if user has been deleted
* If user has been deleted we consider that the content can be deployed
by a user who can deploy other packages
* Add behat test to cover for this use case
* Fix the content bank generator as it was failing to upload the content
as the given user
2024-06-17 06:31:18 +02:00
James C 7dca6d0e3b MDL-78080 course: Duplicate section: Duplicate by section id, not num 2024-06-17 12:51:33 +12:00
James C 7cde0e9984 MDL-78080 course: Duplicate section: No duplicate option for section 0 2024-06-17 12:51:33 +12:00
James C f00a6caaaf MDL-78080 course: Duplicate section: Don't copy deleted activities 2024-06-17 12:51:33 +12:00
James C ef02908013 MDL-78080 course: Duplicate section: Copy section summary files 2024-06-17 12:51:13 +12:00
James C 23567ce725 MDL-78080 course: Duplicate section: Copy custom section options 2024-06-17 12:48:22 +12:00
James C acf5e44fde MDL-78080 course: Duplicate section: Fix course_update_section params 2024-06-17 12:47:16 +12:00
Eloy Lafuente (stronk7) adb4a5aade MDL-82148 phpunit: Remove all cases of multiple @coversDefaultClass
Only one by class is allowed (to be used as shortcut exclusively)
2024-06-15 21:43:31 +02:00
Daniel Ziegenberg 52a5f2aa4e MDL-80645 libaries: Update symfony/deprecation-contracts to 3.5.0
Signed-off-by: Daniel Ziegenberg <daniel@ziegenberg.at>
2024-06-14 23:18:53 +02:00
Daniel Ziegenberg 6222b1307e MDL-80643 libraries: Update http-client to 1.0.3
Signed-off-by: Daniel Ziegenberg <daniel@ziegenberg.at>
2024-06-14 23:17:03 +02:00
Daniel Ziegenberg 2c4fb82def MDL-80642 libaries: Update http-message to 2.0.0
Signed-off-by: Daniel Ziegenberg <daniel@ziegenberg.at>
2024-06-14 23:16:23 +02:00
DangHieu1407 02cd2808c8 MDL-79546 Quiz: Allow regrade of selected question
Co-authored-by: Tim Hunt <T.J.Hunt@open.ac.uk>
2024-06-14 20:29:23 +01:00
Eloy Lafuente (stronk7) 08e8b21b1f MDL-81523 upgrade: Add a upgrade note sharing about the change/fix 2024-06-14 16:04:57 +02:00
Eloy Lafuente (stronk7) 674497a12c MDL-81523 phpunit: Add all missing setUp/tearDown parent calls
All setUp(), tearDown(), setUpBeforeClass() and tearDownAfterClass()
must, always, call to parent, to ensure that everything is properly
set and cleaned.

While in a lot of situations this is not needed (parents may not
have anything to run), with PHPUnit >= 10 this can become more
important because we are going to move the reset code from current
placement @ runBare() to setUp()/tearDown().

Note that all the changes performed in this commit have been detected
and fixed by moodle-cs (ParentSetUpTearDownSniffTest).
2024-06-14 16:04:57 +02:00
Mikel Martín 06b779d31d MDL-81818 theme_boost: Refactor ".no-gutters" usages for BS5
- Add .g-0 to the Boostratp 5 bridge SCSS file
- Replace .no-gutters occurrences with .g-0
2024-06-14 15:09:43 +02:00
Tim Hunt 6105d96744 MDL-82200 inplace editable: fix background of the help text 2024-06-14 12:37:52 +01:00
Anupama Sarjoshi 1945ad1d36 MDL-79796 quiz: Preview icon should be visible in question bank pop-up 2024-06-14 11:19:19 +01:00
Andrew Nicols 574ea2a02d MDL-82156 core: Remove manually loaded classes
These classes were all introduced in Moodle 4.4.

Originally they were scheduled for removal in MDL-81134, but now that we
have MDL-82156 we can remove them immediately as the autoloader now
checks for the presence of a newer class and resets if that class is not
present in the autoloader cache.
2024-06-14 12:28:56 +08:00
Andrew Nicols 434c191ff3 MDL-82156 core: Check that key classes are present for classloader 2024-06-14 12:28:55 +08:00
Andrew Nicols ca985c79c6 MDL-82156 core: Move core_component cache validity check to own method 2024-06-14 12:28:55 +08:00
Andrew Nicols 8c1ab804b3 MDL-82191 core: Deprecated unused stale libraries 2024-06-14 09:27:42 +08:00
Ilya Tregubov 2bf886f9dd weekly release 4.5dev 2024-06-14 08:56:53 +08:00
Ilya Tregubov 788f0e6f0a NOBUG: Add upgrade notes 2024-06-14 08:56:53 +08:00
Ilya Tregubov 385ed8c83f NOBUG: Fixed SVG browser compatibility 2024-06-14 08:56:32 +08:00
Eric Merrill 55571fb06c MDL-82192 scorm: Correct field names for AICC ExitAu 2024-06-13 18:35:07 -04:00
Jun Pataleta 409a36265e Merge branch 'MDL-81287' of https://github.com/paulholden/moodle 2024-06-13 12:03:27 +08:00
Jun Pataleta f29d66d3db Merge branch 'MDL-82178' of https://github.com/timhunt/moodle 2024-06-13 12:00:28 +08:00
Huong Nguyen 803e94cf8a Merge branch 'MDL-81577' of https://github.com/paulholden/moodle 2024-06-13 10:55:34 +07:00
Huong Nguyen 0202fbb634 Merge branch 'MDL-82184-dbcollation-comment' of https://github.com/leonstr/moodle 2024-06-13 10:19:07 +07:00
Huong Nguyen 6b0c51a2ca Merge branch 'MDL-81781' of https://github.com/paulholden/moodle 2024-06-13 10:12:37 +07:00
Huong Nguyen 50b0cd3cbd Merge branch 'MDL-69514' of https://github.com/pedrojordao/moodle 2024-06-13 09:53:53 +07:00
Jun Pataleta e7e09fdf46 Merge branch 'MDL-79885-main' of https://github.com/Chocolate-lightning/moodle 2024-06-13 10:37:50 +08:00
Huong Nguyen 8de80c1b59 Merge branch 'MDL-82162-main' of https://github.com/sarjona/moodle 2024-06-13 09:13:48 +07:00
Huong Nguyen a7b3e9030d Merge branch 'MDL-82155' of https://github.com/paulholden/moodle 2024-06-13 09:02:43 +07:00
Shamiso.Jaravaza 802876e9a8 MDL-80061 mod_bigbluebuttonbn: Change filter field
* Change dismissed recording time filter from timecreated to timemodified
2024-06-12 13:53:15 -06:00
Shamiso.Jaravaza 904cf075e7 MDL-80625 mod_bigbluebuttonbn: Fix param name 2024-06-12 11:45:28 -06:00
Leon Stringer 1caecdc450 MDL-82184 database: Revise dbcollation comment 2024-06-12 18:14:20 +01:00
Sara Arjona b1b3f409fc Merge branch 'MDL-81942' of https://github.com/paulholden/moodle 2024-06-12 15:47:54 +02:00
Paul Holden ed25832cc7 MDL-82181 tiny_media: correctly determine whether to show dropzone. 2024-06-12 14:16:00 +01:00
Tim Hunt 92aa1579f9 MDL-82178 quiz graded notification: fix capability check
Also improve the scheduled task logging
2024-06-12 12:34:24 +01:00
Sara Arjona 4e881c2595 Merge branch 'MDL-79496-main' of https://github.com/roland04/moodle 2024-06-12 13:12:53 +02:00
Paul Holden f4d4f1ca6a MDL-81942 user: guests should respect default site homepage setting. 2024-06-12 11:34:59 +01:00
Jun Pataleta 1db19bc5bf Merge branch 'MDL-64325-main' of https://github.com/kevpercy/moodle 2024-06-12 16:36:30 +08:00
Mikel Martín 2d37fadca4 MDL-79496 webservice: Fix webservice behat tests
- Move all webservice related behat tests to the correct namespace.
- Add missing @core_webservice tags
- Fix behat scenarios after systemreport conversion.
2024-06-12 10:01:53 +02:00
Mikel Martín 2c830cb233 MDL-79496 webservice: Convert manage tokens to a system report
- Add new token entity
- Add new service entity
- Replace tokens table with a system report
2024-06-12 10:01:47 +02:00
Huong Nguyen 7d95aa4b9c MDL-80967 authentication: Fix language string and version pump 2024-06-12 14:49:01 +07:00
Huong Nguyen bb267a11ad Merge branch 'MDL-80967-main' of https://github.com/StudiUM/moodle 2024-06-12 14:45:40 +07:00
Huong Nguyen 110f5b5132 Merge branch 'MDL-81515' of https://github.com/timhunt/moodle 2024-06-12 14:08:14 +07:00
Carlos Castillo 5f93155c8c MDL-82133 reportbuilder: Move out RB exceptions to the L2 namespace 2024-06-12 09:02:29 +02:00
Huong Nguyen 5970d38755 Merge branch 'MDL-81332-main' of https://github.com/andelacruz/moodle 2024-06-12 13:15:05 +07:00
Sara Arjona 79de3b6ec4 Merge branch 'MDL-82157-main' of https://github.com/andrewnicols/moodle 2024-06-12 07:09:24 +02:00
Jun Pataleta 48561939a3 MDL-81742 mod_feedback: Remove unnecessary whitespace 2024-06-12 11:39:06 +08:00
Andrew Nicols 980a84958d MDL-82157 core: Deprecate print_grade_menu 2024-06-12 11:30:54 +08:00
Jun Pataleta 03ca4e0bf8 Merge branch 'MDL-81742-main' of https://github.com/roland04/moodle 2024-06-12 11:13:51 +08:00
Jun Pataleta bb1cddb140 Merge branch 'MDL-81681-main' of https://github.com/sarjona/moodle 2024-06-12 10:57:20 +08:00
Huong Nguyen 1f099bfa12 Merge branch 'MDL-80743-main' of https://github.com/rezaies/moodle 2024-06-12 09:41:22 +07:00
Jun Pataleta f6370e5604 Merge branch 'MDL-81355-main' of https://github.com/lameze/moodle 2024-06-12 10:38:17 +08:00
Michael Aherne c0bbb5f715 MDL-81355 phpdoc: Fix incorrect phpdocs on block_base. 2024-06-12 10:20:58 +08:00
Huong Nguyen ad58d2e306 Merge branch 'MDL-82001' of https://github.com/paulholden/moodle 2024-06-12 09:01:18 +07:00
Huong Nguyen 96d29ef71b Merge branch 'MDL-81522' of https://github.com/stronk7/moodle 2024-06-12 08:46:31 +07:00
Paul Holden c63e3c5756 MDL-82169 user: remove access to non-existent $options array. 2024-06-11 21:24:27 +01:00
ferranrecio fc8dfda112 MDL-82167 core: fix reactive debug panel 2024-06-11 16:15:02 +02:00
Mikel Martín f61201c947 MDL-81742 mod_feedback: Improve 'Edit' page navigation
- Remove 'Use template' from edit page tertiary navigation
- Create a new 'Actions' menu in the tertiary naviagation
- Move 'Import' tertiary navigation to the actions menu
- Move 'Export' button to the actions menu
- Move 'Save as new template' to the actions menu
- Convert add question select into an action menu
- Fix related behat scenarios
2024-06-11 15:30:33 +02:00
Sara Arjona 215a887629 MDL-82162 tool: Switch to admin when executing runtestscenario by CLI
When the runtestscenario is executed via CLI, generators requiring a valid
$USER will fail.
This patch switches to the admin user, consistent with the approach used
in other simlar CLI scripts.
2024-06-11 13:25:44 +02:00
Ilya Tregubov 506070f0a7 Merge branch 'MDL-81510-main' of https://github.com/laurentdavid/moodle 2024-06-11 18:58:56 +08:00
Laurent David 9381343c78 MDL-81510 core_courseformat: Fix activity highlight in index
* When directly accessing the module with the #module-xxx anchor
we should highlight the module as the current page item.
2024-06-11 12:34:20 +02:00
Eloy Lafuente (stronk7) 6c35a65e1a MDL-81522 phpunit: Add a few non-void return types to tests
This is the final (3rd) commit, where we are adding missing
return types to a few tests (using @depends) which return
types are non-void, but something really returned (for consume
by the dependent test).
2024-06-11 11:55:08 +02:00
Eloy Lafuente (stronk7) 4f7631113c MDL-81522 phpunit: Add missing void return type to all tests #2
This commit includes more changes, all them also adding the :void
return type to unit tests missing them.

The difference is that all these changes, while also detected
perfectly by the moodle.PHPUnit.TestReturnType sniff, were not
auto-fixed (like the previous commit ones), because all them
do include some "return" statement and, for safety, we don't
fix them.

All the cases have been visually inspected and confirmed that
the existing "return" statements always belong to anon
functions within the test body and not the test own return statement.
2024-06-11 11:55:08 +02:00
Eloy Lafuente (stronk7) 01148a0816 MDL-81522 phpunit: Add missing void return type to all tests
While this change is not 100% required now, it's good habit
and we are checking for it since Moodle 4.4.

All the changes in this commit have been applied automatically
using the moodle.PHPUnit.TestReturnType sniff and are, exclusively
adding the ": void" return types when missing.
2024-06-11 11:55:07 +02:00
Jun Pataleta 7751f509ef Merge branch 'MDL-76392' of https://github.com/paulholden/moodle 2024-06-11 17:23:55 +08:00
Huong Nguyen a8468e727d MDL-68540 tool_usertours: Remove hideif workaround
We don't need to use the group element to use hideif
for text editor element anymore
2024-06-11 15:31:32 +07:00
Huong Nguyen d8d395cb19 Merge branch 'MDL-68540-main' of https://github.com/davewoloszyn/moodle 2024-06-11 15:28:59 +07:00
Angelia Dela Cruz ff8d888c49 MDL-81332 core_course: Behat test for grade and activity reports display 2024-06-11 15:25:21 +08:00
Jun Pataleta 2c1af4fd9e Merge branch 'MDL-81428-main' of https://github.com/HuongNV13/moodle 2024-06-11 13:41:58 +08:00
Andrew Nicols 12a5c8d366 MDL-81919 core: Correct mapped class location 2024-06-11 10:50:13 +07:00
David Woloszyn 954617d3e3 MDL-68540 form: Correctly target editors in node tree
This fix solves the hideIf and disabledIf form conditions that were not
correctly targetting the editor due to a name attribute mismatch.
2024-06-11 13:05:38 +10:00
Paul Holden b0eae5fa03 MDL-82155 core: define/correct third party library names. 2024-06-10 19:50:52 +01:00
Sara Arjona e336e0660d Merge branch 'MDL-80644_upgrade-http-factory' of https://github.com/ziegenberg/moodle 2024-06-10 16:55:01 +02:00
Sara Arjona 95dfd66a8d Merge branch 'MDL-81949' of https://github.com/paulholden/moodle 2024-06-10 16:46:32 +02:00
Sara Arjona 7a0686acb9 Merge branch 'MDL-81678' of https://github.com/paulholden/moodle 2024-06-10 16:39:10 +02:00
Sara Arjona a83d82b125 Merge branch 'MDL-80635_upgrade-geoip2-php-api-maxmind-db-reader-api' of https://github.com/ziegenberg/moodle 2024-06-10 16:23:26 +02:00
Sara Arjona e18aefa69e Merge branch 'MDL-81676-main' of https://github.com/aanabit/moodle 2024-06-10 16:07:28 +02:00
Sara Arjona 6764cc71ac Merge branch 'MDL-81648-main' of https://github.com/roland04/moodle 2024-06-10 15:49:46 +02:00
Pedro Jordao 0fc14f9177 MDL-69514 Core: Close popover when modal is closed
Currently in Firefox, if we opened a popover that was inside a modal
and closed the modal by pressing the ESC key, the popover remained on
the screen. With this change, we will ensure that popovers are closed
when the modal is closed.
2024-06-10 10:48:08 -03:00
Amaia Anabitarte 267a474154 MDL-81676 core_course: Rename data-sectionid to data-sectionnum
Activity chooser is saving section number in a data attribute called
data-sectionid. We should use data-sectionnum instead to make it easier
to understand.
2024-06-10 15:42:09 +02:00
Sara Arjona cbee116728 Merge branch 'MDL-82041' of https://github.com/paulholden/moodle 2024-06-10 15:17:11 +02:00
Sara Arjona 8382970cd0 Merge branch 'MDL-81741-main' of https://github.com/roland04/moodle 2024-06-10 13:05:59 +02:00
Sara Arjona 4f3712505d Merge branch 'MDL-81675-main' of https://github.com/aanabit/moodle 2024-06-10 12:38:46 +02:00
Sara Arjona 94adf2ae31 Merge branch 'MDL-70972-main' of https://github.com/PhMemmel/moodle 2024-06-10 12:33:18 +02:00
Huong Nguyen 080e89916a MDL-81428 theme_boost: Match .disabled opacity with .text-muted 2024-06-10 17:00:47 +07:00
Huong Nguyen a07054af30 MDL-81428 core: Display the correct status for the contact request 2024-06-10 17:00:46 +07:00
Jun Pataleta 3452601bf3 Merge branch 'MDL-81919-main-squashed' of https://github.com/andrewnicols/moodle 2024-06-10 14:41:03 +08:00
Andrew Nicols 60d8671224 MDL-81919 core: Prioritise autoloader in install 2024-06-10 14:20:26 +08:00
Ilya Tregubov 027407e9c9 Merge branch 'MDL-81510-main' of https://github.com/laurentdavid/moodle 2024-06-10 13:31:25 +08:00
Jun Pataleta 9c706bb48b MDL-81919 core: Minor fixes
* Typo in Jerome Mouneyrac's name.
* Remove other trailing commas in inline arrays.
2024-06-10 13:17:11 +08:00
Jun Pataleta c40f85eb6e Merge branch 'MDL-81919-main-squashed' of https://github.com/andrewnicols/moodle 2024-06-10 12:56:36 +08:00
Andrew Nicols a128312ccb MDL-81919 customfield: Rewrite poor test assertion 2024-06-10 12:13:00 +08:00
Andrew Nicols 0abb2e6b9a MDL-81919 core: Update moved file namespaces 2024-06-10 12:13:00 +08:00
Andrew Nicols 75e8dbb3c5 MDL-81919 core: Fix coding style issues for recently moved code 2024-06-10 12:12:59 +08:00
Andrew Nicols 8c3f18a4eb MDL-81919 core: Move classes out of lib/setuplib.php 2024-06-10 10:04:08 +08:00
Andrew Nicols 302b94c2b7 MDL-81919 core: Add support for autoloading legacy classes 2024-06-10 10:04:08 +08:00
Paul Holden 78f56cffde MDL-76392 reportbuilder: migrate manual to native report aggregation.
Now that system reports support aggregation natively, we can replace
a whole bunch of similar code containing hand-rolled versions with much
simpler/consistent use of API.
2024-06-07 16:08:22 +01:00
Paul Holden da04fc522a MDL-81949 tool_replace: prompt user for unrecognised CLI parameters. 2024-06-07 11:40:57 +01:00
Paul Holden 1acdc7fe82 MDL-81678 enrol: don't escape course name in welcome message. 2024-06-07 11:39:38 +01:00
Paul Holden 41660e88c0 MDL-78773 report_stats: improve display of mode selection element.
Make use of existing theme selectors for navigation elements to style.
2024-06-07 11:33:37 +01:00
Paul Holden 2eb7db3a05 MDL-81781 report_log: escape description selectively on display/export.
Per cd85e090f3 all content was escaped, however we should only do that
when displaying the value in browser or exporting to file format which
supports HTML.
2024-06-07 11:29:10 +01:00
Paul Holden a0d5133f10 MDL-81781 dataformat: public helper method to get writer instance. 2024-06-07 11:29:10 +01:00
Meirza b19b9cb8bf MDL-81644 calendar: The behaviour of event dates in the block calendar
There is a difference in the behaviour of the calendar block when it is on the calendar page and when it is not.
On the calendar page, when the user clicks on the date or link next/previous month or day name in the calendar block,
it will have the effect of changing the URL, which should not happen.

The patch also includes hiding popover after the user clicks the day number. When the user clicks on the date or
is focused on the date and then presses enter on the keyboard, the popover does not automatically close.
To fix this, I added an event type, "click", to be attached to the hidePopover function and added conditioning to
the target element when there was a "click" event.

An additional step was added to the Behat calendar for the click event to ease the testing process.

For the popover, I set the "animation" to false to avoid the random Behat failure caused by the slow animation.
2024-06-07 14:46:44 +07:00
Laurent David ed029faf06 MDL-81510 core_courseformat: Do not reset the scroll position
* Revert the change made in MDL-75762 which would wait and change
  course index selection depending on the actual scroll position
2024-06-07 09:38:54 +02:00
Laurent David 91d89170f7 MDL-81510 core_courseformat: Expand course section to show activity
* When a course activity is specified via an anchor in the URL we
should expand the course content containing the activity
* When we point to a specific activity via an anchor in the URL we should
expand the course index (section) surrounding the actitity.
2024-06-07 09:38:54 +02:00
Sara Arjona 79c85ab22d MDL-81681 course: Make reactive the section page 2024-06-07 09:35:05 +02:00
Sara Arjona 8aef5e6574 MDL-81681 course: Revert changes done in MDL-81575
Now that the section page is reactive, these changes are not
required anymore.
2024-06-07 09:34:11 +02:00
Dan Marsden 963afc4516 MDL-76392 reportbuilder: allow aggregation in system reports.
Co-authored-by: Paul Holden <paulh@moodle.com>
2024-06-07 01:05:35 +01:00
Ferran Recio 7aefcdf9fb MDL-80951 backup: migrate YUI to AMD 2024-06-06 18:07:25 +02:00
Jun Pataleta d3ae1391ab weekly release 4.5dev 2024-06-06 22:30:25 +08:00
Jun Pataleta c42c94279a NOBUG: Add upgrade notes 2024-06-06 22:30:24 +08:00
Jun Pataleta 8ae4cf9fe1 NOBUG: Fixed file access permissions 2024-06-06 22:30:03 +08:00
Jun Pataleta 9b5142ed3f Merge branch 'MDL-81750-main' of https://github.com/davewoloszyn/moodle 2024-06-06 22:02:37 +08:00
Huong Nguyen 353d53b97d Merge branch 'MDL-81813' of https://github.com/christianabila/moodle 2024-06-06 22:02:37 +08:00
Jun Pataleta 6439a4d2b8 Merge branch 'MDL-82045-main' of https://github.com/andrewnicols/moodle 2024-06-06 22:02:37 +08:00
Huong Nguyen 1b4cd89f11 Merge branch 'MDL-81146_disable_buttons' of https://github.com/leonstr/moodle 2024-06-06 22:02:37 +08:00
Andrew Nicols 8a92cb82a6 Merge branch 'MDL-81794-main' of https://github.com/meirzamoodle/moodle 2024-06-06 22:02:36 +08:00
Huong Nguyen 49bef6561b Merge branch 'MDL-81875-main' of https://github.com/laurentdavid/moodle 2024-06-06 22:02:36 +08:00
Huong Nguyen 7934aa46ce Merge branch 'MDL-81749-main' of https://github.com/aanabit/moodle 2024-06-06 22:02:36 +08:00
Huong Nguyen f4c77509f3 Merge branch 'MDL-81989-main' of https://github.com/lameze/moodle 2024-06-06 22:02:36 +08:00
meirzamoodle 6322f15f93 MDL-81890 assign: confirm_sesskey fixed in view_fix_rescaled_null_grades 2024-06-06 22:02:35 +08:00
meirzamoodle 3721672e26 MDL-81890 enrol_lti: Fix sesskey checks 2024-06-06 22:02:35 +08:00
meirzamoodle 40b2fb9a31 MDL-81890 course: Fix sesskey checks 2024-06-06 22:02:35 +08:00
meirzamoodle db2f97a6f4 MDL-81890 tool_moodlenet: Fix sesskey checks 2024-06-06 22:02:35 +08:00
Jun Pataleta 671218e0b9 MDL-81631 backup: Simplify logic using null coalescing operator 2024-06-06 22:02:35 +08:00
Jun Pataleta e0ec62cfe5 Merge branch 'MDL-81631_master' of https://github.com/santoshndev/moodle 2024-06-06 22:02:34 +08:00
Jun Pataleta 6efc4177c5 Merge branch 'MDL-81894-main' of https://github.com/andrewnicols/moodle 2024-06-06 22:02:34 +08:00
Jun Pataleta 814df623b5 Merge branch 'MDL-78198-main' of https://github.com/andrewnicols/moodle 2024-06-06 22:02:34 +08:00
Jun Pataleta 2a216f639f Merge branch 'MDL-82086' of https://github.com/paulholden/moodle 2024-06-06 22:02:34 +08:00
Huong Nguyen 3086b220be Merge branch 'MDL-81397' of https://github.com/paulholden/moodle 2024-06-06 22:02:33 +08:00
Paul Holden 815b884b6c MDL-81778 mod_bigbluebuttonbn: access checks when getting meeting URL. 2024-06-06 22:02:33 +08:00
Stevani Andolo cd2d23d356 MDL-81412 calendar: Sanitise calendar event names 2024-06-06 21:54:46 +08:00
Paul Holden 89376f78af MDL-81857 user: don't check whether address is an identity field.
It can never be selected as one, so the previous comparison could
never pass.
2024-06-06 08:58:36 +01:00
David Woloszyn bf02176281 MDL-81739 tiny_noautolink: Remove URL checking when preventing auto-link 2024-06-06 15:07:06 +10:00
Andrew Nicols 847e1098da MDL-82045 course: Destroy copy course modal instead of hiding it 2024-06-06 10:03:44 +08:00
Andrew Nicols 2e05b9111b MDL-81894 core: system_clock should use the server timezone 2024-06-06 00:17:10 +08:00
Paul Holden d5316aeac6 MDL-80344 calendar: correct no subscriptions language string use.
Ensure expected parameters are present; avoid string concatenation.
2024-06-05 15:53:28 +01:00
Amaia Anabitarte be267a625d MDL-81675 course: Prevent creating subsections into subsections 2024-06-05 16:29:16 +02:00
Amaia Anabitarte f185fdca52 MDL-81749 core_completion: Let custom rules to return failed state 2024-06-05 15:55:04 +02:00
Paul Holden 7c3b8c0a40 MDL-82068 reportbuilder: re-factor SQL JOIN collection to trait.
Replace identical implementation of the same in various classes with
usage of the new trait. Implement constructor property promotion in
modified classes at the same time, to help clean up/clarify class
properties.
2024-06-05 13:36:22 +01:00
lameze bed551eab2 MDL-81989 install: remove unnecessary closing div tags 2024-06-05 13:56:33 +08:00
Cameron Ball 03cb18d6ff MDL-81774 curl: Strip auth headers when redirecting to different host 2024-06-05 02:34:19 +00:00
Jun Pataleta e5d52aa315 Merge branch 'MDL-81982-main' of https://github.com/junpataleta/moodle 2024-06-05 10:30:44 +08:00
David Mudrák a8cdd0d7a4 MDL-81982 lang: Fix strings order
Fixes the strings order in files where CI has detected the wrong order
of modified strings.
2024-06-05 10:25:29 +08:00
David Mudrák 6a95cab8a3 MDL-81982 lang: Use fixed strings in tests, too 2024-06-05 10:25:29 +08:00
Helen Foster 7b8da78e01 MDL-81982 lang: Import fixed English strings (en_fix) 2024-06-05 10:25:28 +08:00
Huong Nguyen 520a84f471 Merge branch 'MDL-81970-plagiarism_upgrade_txt' of https://github.com/leonstr/moodle 2024-06-05 09:13:29 +07:00
Huong Nguyen c3a0cc0358 Merge branch 'MDL-81751-main' of https://github.com/durzo/moodle 2024-06-05 08:55:39 +07:00
David Woloszyn 92fc45fb97 MDL-81750 form: Add selector to match filemanager in group 2024-06-05 09:34:21 +10:00
Andrew Nicols d2909a5e3d Merge branch 'MDL-81940' of https://github.com/paulholden/moodle 2024-06-04 22:28:50 +08:00
Laurent David 6a2c1823ff MDL-81875 mod_data: Revert database autolink removal
Autolinks are used in the database for text fields via
the auto-linking filter.
The revert is partial here because of changes made
in MDL-70384 to all field forms/templates

This reverts commit 42edaba5 from MDL-80949
2024-06-04 16:08:16 +02:00
Paul Holden 1ab6151151 MDL-82086 theme_boost: consistent selector for textarea form controls.
In a similar vein to 31f6039635, we shouldn't assume form controls are
always descendents of `.mform` (e.g. the messaging drawer input).
2024-06-04 14:34:48 +01:00
Paul Holden 306d733f5f MDL-81657 libraries: upgrade to version 1.3.73 of Minify. 2024-06-04 11:18:27 +01:00
Paul Holden d457009418 MDL-81659 libraries: upgrade to version 1.9.1 of loglevel. 2024-06-04 11:17:36 +01:00
Paul Holden e08afd3cc6 MDL-81665 libraries: upgrade to version 15.1.2 of emoji-data. 2024-06-04 10:52:12 +01:00
Paul Holden 90a4216446 MDL-81397 courseformat: define section editing capabilities.
This ensures consistency for current page instance, when rendering
content in response to fragment AJAX requests.
2024-06-04 09:00:11 +01:00
Philipp Memmel 9ca4975d0d MDL-70972 format_singleactivity: Apply new behavior to behat test 2024-06-04 06:29:05 +00:00
Huong Nguyen 808a8679bf Merge branch 'MDL-81936' of https://github.com/paulholden/moodle 2024-06-04 13:14:58 +07:00
Kevin Percy 3ae407f466 MDL-64325 grade: Optimise grade calculation queries
Co-authored-by: Guy Thomas <brudinie@gmail.com>
2024-06-04 12:48:32 +08:00
Philipp Memmel 63c0495c86 MDL-70972 format_singleactivity: Show activities when creating course
Co-authored-by: Laurent David <lmedavid@gmail.com>
2024-06-04 04:29:06 +00:00
Huong Nguyen 1d680644c2 Merge branch 'MDL-81955' of https://github.com/paulholden/moodle 2024-06-04 10:33:21 +07:00
Andrew Nicols 1790452026 Merge branch 'MDL-80208' of https://github.com/paulholden/moodle 2024-06-04 11:06:34 +08:00
Juan Leyva 36e0395bb9 MDL-80959 tool_mobile: Use different user keys for QR and auto login 2024-06-04 10:32:48 +08:00
Andrew Nicols 0800617868 Merge branch 'MDL-82047' of https://github.com/paulholden/moodle 2024-06-04 10:29:00 +08:00
Andrew Nicols c5820bbc6e Merge branch 'MDL-81321' of https://github.com/paulholden/moodle 2024-06-04 09:55:35 +08:00
Andrew Nicols e96ac335e1 Merge branch 'MDL-81572' of https://github.com/paulholden/moodle 2024-06-04 09:54:12 +08:00
Andrew Nicols aa43ded0c7 Merge branch 'MDL-82055' of https://github.com/paulholden/moodle 2024-06-04 09:50:13 +08:00
Mikel Martín 95f4f55648 MDL-81741 mod_feedback: Create a new 'Questions' secondary menu item 2024-06-03 16:35:45 +02:00
Paul Holden 74384ce875 MDL-81940 core: deprecate RC4 encryption library methods.
Switch current usage to secure `\core\encryption` alternative.
2024-06-03 13:43:41 +01:00
ferranrecio 4e9a8c6cd7 MDL-81885 tool_generator: add admin settings generator
The tool_generator creates a testing scenario that can
execute all steps from behat_data_generators (with some
limitations). However, it cannot set any admin settings,
which limits the tool's ability to generate many
real test scenarios.
2024-06-03 11:53:54 +02:00
Paul Holden dd55e32618 MDL-81534 tool_generator: standardize user creation language string. 2024-06-03 09:43:09 +01:00
Paul Holden 6cb06dc43a MDL-81572 editor_tiny: use standard plugin name in editor help dialog. 2024-06-03 09:40:08 +01:00
Huong Nguyen 6d715e19f3 Merge branch 'MDL-81544-main' of https://github.com/rezaies/moodle 2024-06-03 12:04:58 +07:00
Huong Nguyen 6e1197d0bf Merge branch 'MDL-73735_duplicate-line-course-rest-php' of https://github.com/ziegenberg/moodle 2024-06-03 11:52:23 +07:00
Huong Nguyen 2407913de4 Merge branch 'MDL-82009-main' of https://github.com/sarjona/moodle 2024-06-03 11:36:17 +07:00
Paul Holden a33e54c08f MDL-82041 reportbuilder: switch time-sensitive code to new Clock API.
Where current implementation, and more specifically tests, rely on the
current time then replace that with the PSR-20 Clock from 298c13ac3b.

Applicable updates to the date filter and report scheduling calculation.
2024-05-31 15:37:42 +01:00
Paul Holden 22327a1489 MDL-82055 output: replace usage of named templatable interface.
It's not available during, and breaks, site installation. The output
class doesn't necessarily need it in 78db6bbce8, so switch to simple
templatable interface instead.
2024-05-31 13:04:20 +01:00
Mikel Martín e3c36e48cc MDL-81648 navigation: Add delegated section logic to section nodes 2024-05-31 10:50:20 +02:00
Mikel Martín 932b094134 MDL-81648 course: Add new sectiondelegatemodule class
- Created sectiondelegatemodule abstract class for those delegated sections
managed by a module
- This class will override get_parent_section from the base class, retrieving
the parent section from the module
2024-05-31 10:50:20 +02:00
Mikel Martín b4ecd9d805 MDL-81648 course: Add a method to retrieve delegate section parent
- New 'get_parent_section()' function added to sectiondelegate abstract class
2024-05-31 10:50:20 +02:00
Sara Arjona 3938b26a08 Merge branch 'MDL-81850' of https://github.com/paulholden/moodle 2024-05-31 10:44:33 +02:00
Shamim Rezaie b7e6a176e6 MDL-80743 mod_assign: Add automatic attempt reopening option 2024-05-31 17:40:23 +10:00
Paul Holden 113b64c2de MDL-82047 dml: correct constant name in large integer test docblock. 2024-05-31 07:19:23 +01:00
Sara Arjona 0240478571 MDL-82009 course: Course blocks should be displayed in section page too 2024-05-31 08:16:49 +02:00
Ilya Tregubov 6e89016c30 Merge branch 'MDL-77685' of https://github.com/paulholden/moodle 2024-05-31 09:04:17 +08:00
Paul Holden 0d23988cfc MDL-81577 mod: correct arguments when formatting text for RSS. 2024-05-30 19:17:22 +01:00
Paul Holden faee1cd58e MDL-82047 analytics: remove 32-bit integer checks for maximum time. 2024-05-30 18:17:44 +01:00
Paul Holden 7e206c92cf MDL-82001 mod_quiz: respect user language in draft save message text. 2024-05-30 16:04:26 +01:00
Sara Arjona bcd8e0d6ed weekly release 4.5dev 2024-05-30 17:00:19 +02:00
Sara Arjona 5d6c6bf81c NOBUG: Add upgrade notes 2024-05-30 17:00:19 +02:00
Sara Arjona 4c9e2e4d0d NOBUG: Fixed SVG browser compatibility 2024-05-30 17:00:00 +02:00
Jun Pataleta 05983317a5 Merge branch 'MDL-80831-main' of https://github.com/HuongNV13/moodle 2024-05-30 18:25:36 +08:00
Huong Nguyen a74583cbf0 MDL-80831 core: Add missing classname for privacy url 2024-05-30 17:13:59 +07:00
Paul Holden 6a8f6dd925 MDL-81850 availability_group: correctly retrieve groups for given user. 2024-05-30 10:13:31 +01:00
Jun Pataleta 14eac824ed Merge branch 'MDL-80640_upgrade-guzzlehttp' of https://github.com/ziegenberg/moodle 2024-05-30 12:00:28 +08:00
Huong Nguyen 47216b5db5 Merge branch 'MDL-80973-master' of https://github.com/jleyva/moodle 2024-05-30 10:37:42 +07:00
Andrew Nicols b17b4ad4a3 MDL-68262 assignfeedback_editpdf: Correct args to make_request_directory 2024-05-30 09:53:19 +07:00
Huong Nguyen 5e7e6ad9b7 Merge branch 'MDL-77195' of https://github.com/paulholden/moodle 2024-05-30 09:30:03 +07:00
Huong Nguyen fc72b6a987 Merge branch 'MDL-54105-integration_master' of https://github.com/praxisdigital/moodle 2024-05-30 09:01:39 +07:00
Andrew Nicols 93abcb87b8 Merge branch 'MDL-81490-main' of https://github.com/laurentdavid/moodle 2024-05-29 21:11:59 +08:00
Huong Nguyen aa09138d75 MDL-81212 tiny_recordrtc: Screen-recorder improvements and cleanups 2024-05-29 19:54:51 +07:00
Huong Nguyen 89e78f75b3 Merge branch 'MDL-81212-master' of https://github.com/NashTechOpenUniversity/moodle 2024-05-29 19:50:47 +07:00
Frederik Milling Pytlick 3590629dca MDL-54105 mod_assign: Refactored the way that the default is set
Improved the way the default is set, now requiring less code and being more readable
2024-05-29 14:44:47 +02:00
Sara Arjona 9a72323f63 Merge branch 'MDL-81983' of https://github.com/lostrogit/moodle 2024-05-29 14:07:25 +02:00
Sara Arjona e93351e488 Merge branch 'MDL-81901-progress-cli' of https://github.com/brendanheywood/moodle 2024-05-29 13:32:26 +02:00
Sara Arjona e575b6ae7c Merge branch 'MDL-80911-main' of https://github.com/HuongNV13/moodle 2024-05-29 13:19:16 +02:00
Jun Pataleta 4036b4a800 Merge branch 'MDL-81779' of https://github.com/paulholden/moodle 2024-05-29 17:02:13 +08:00
Jun Pataleta 65053f6584 Merge branch 'MDL-68262-main' of https://github.com/andrewnicols/moodle 2024-05-29 16:19:04 +08:00
Jun Pataleta 70c29d8d68 Merge branch 'MDL-80275-main' of https://github.com/andrewnicols/moodle 2024-05-29 15:30:46 +08:00
Andrew Nicols c14253b2eb Merge branch 'MDL-80831-main' of https://github.com/junpataleta/moodle 2024-05-29 14:26:53 +08:00
Andrew Nicols f445245b9e Merge branch 'MDL-81609_main' of https://github.com/marxjohnson/moodle 2024-05-29 10:50:42 +08:00
Jun Pataleta 6bd5ef1dce MDL-80831 theme: Set a vertical padding for footer links
This is to increase the target size of links within the footer and
meet WCAG 2.2 Level AA Success Criterion 2.5.8
2024-05-29 10:39:18 +08:00
Jun Pataleta 1085bf7897 MDL-80831 gradereport_grader: Remove unnecessary setting of aria-hidden
- If an element is being hidden visually with `display: none;` (e.g. by
using the class `.d-none`), there's no need to set `aria-hidden` because
it is already hidden from the accessibility tree.
- Setting `aria-hidden=false` is also not recommended and it's better to
remove the `aria-hidden` attribute instead of setting it to false.
2024-05-29 10:39:17 +08:00
Jun Pataleta 89c6376fcc MDL-80831 behat: Re-enable target-size rule for accessibility tests 2024-05-29 10:39:17 +08:00
meirzamoodle ba8cb7874f MDL-81794 core: Fix the TLS issue on the Redis
The fix covers two places:
- The Redis session.
- The Redis cache store.

The PHP Redis has the option to establish the connection using TLS/SSL instead of using the "tls://" prefix.
This is done to ensure consistency with the Redis cluster connection,
as the code for both single and cluster connections is located in one place.
2024-05-29 09:14:27 +07:00
Andrew Nicols 9745580bf4 Merge branch 'MDL-81282' of https://github.com/paulholden/moodle 2024-05-29 09:45:00 +08:00
Andrew Nicols 960f27eb5c Merge branch 'MDL-82015' of https://github.com/ak4t0sh/moodle 2024-05-29 09:08:16 +08:00
Andrew Nicols 426960249f Merge branch 'MDL-81597-main' of https://github.com/roland04/moodle 2024-05-28 23:48:50 +08:00
Andrew Nicols 06e43df2fc MDL-81733 mod_lesson: Coding style fixes 2024-05-28 23:45:13 +08:00
Andrew Nicols 06196de3ec Merge branch 'MDL-81733-main' of https://github.com/izendegi/moodle 2024-05-28 22:51:01 +08:00
Andrew Nicols 398e690d0e Merge branch 'MDL-81589-main' of https://github.com/sarjona/moodle 2024-05-28 22:43:04 +08:00
Mikel Martín 78db6bbce8 MDL-81597 theme_boost: Fix header bar alignment
- Refactot context_header class to implement named templatable so
render_context_header in core and theme_boost can be removed
- Refactor context_header to use templates
- Fix context header layout and styles
2024-05-28 16:37:57 +02:00
Arnaud Trouvé cb0db47609 MDL-82015 mod_bigbluebuttonbn: Fix date formatting during import 2024-05-28 15:23:41 +02:00
Huong Nguyen 84a2fdc2c7 MDL-54105 mod_assign: Move upgrade notes 2024-05-28 15:27:21 +07:00
Huong Nguyen 175e48bc08 Merge branch 'MDL-54105-master-default_grade_on_mod_assign' of https://github.com/praxisdigital/moodle 2024-05-28 15:21:39 +07:00
Frederik Milling Pytlick cf7e43666b MDL-54105 mod_assign: Added default gradetype and gradescale
Added 2 new settings to mod_assign and made moodle core look for them to set the default grade values.
2024-05-28 09:10:20 +02:00
Andrew Nicols f144ede33c Merge branch 'MDL-82004' of https://github.com/paulholden/moodle 2024-05-28 14:30:30 +08:00
Andrew Nicols 94d5733a2d Merge branch 'MDL-81411-main' of https://github.com/ilyatregubov/moodle 2024-05-28 14:14:17 +08:00
Andrew Nicols 8639237c62 Merge branch 'MDL-81822' of https://github.com/paulholden/moodle 2024-05-28 14:05:01 +08:00
Andrew Nicols 3a60821242 Merge branch 'MDL-81870' of https://github.com/paulholden/moodle 2024-05-28 13:57:13 +08:00
Huong Nguyen 77bb82fb87 Merge branch 'MDL-78768_import-multiple-new-grade-items' of https://github.com/ziegenberg/moodle 2024-05-28 12:32:02 +07:00
Huong Nguyen b32fcf0a0a Merge branch 'MDL-81903-main' of https://github.com/andrewnicols/moodle 2024-05-28 12:07:49 +07:00
Andrew Nicols d74740e3a1 MDL-81897 tool_mobile: Coding style fix 2024-05-28 11:40:46 +08:00
toanlam b91b442a80 MDL-81212 tiny_recordrtc: Add Screen-recorder button 2024-05-28 10:30:14 +07:00
Andrew Nicols 6aa05bb847 Merge branch 'MDL-81897-master' of https://github.com/jleyva/moodle 2024-05-28 11:27:35 +08:00
Andrew Nicols 9f471d77b8 Merge branch 'MDL-81757' of https://github.com/paulholden/moodle 2024-05-28 10:24:38 +08:00
Andrew Nicols 7fc931cdd8 Merge branch 'MDL-81698' of https://github.com/stronk7/moodle 2024-05-28 10:10:39 +08:00
Huong Nguyen f1528765a5 Merge branch 'MDL-81915' of https://github.com/AnupamaSarjoshi/moodle 2024-05-28 08:57:26 +07:00
Andrew Nicols e8f8a4c494 Merge branch 'MDL-74582' of https://github.com/paulholden/moodle 2024-05-28 09:52:14 +08:00
Andrew Nicols d69333acc3 MDL-72786 core: Style fix on upgrade notes 2024-05-28 09:49:50 +08:00
Andrew Nicols f8ba03ce1a Merge branch 'MDL-72786' of https://github.com/paulholden/moodle 2024-05-28 09:43:32 +08:00
Andrew Nicols d6d795cd0f MDL-81872 course: Coding style improvements 2024-05-28 09:25:39 +08:00
Andrew Nicols 455cdd8c5b Merge branch 'MDL-81872-main' of https://github.com/sarjona/moodle 2024-05-28 09:20:14 +08:00
Andrew Nicols fe3f6350d9 Merge branch 'MDL-78942' of https://github.com/paulholden/moodle 2024-05-28 09:00:35 +08:00
Juan Leyva 0e966da5e6 MDL-80973 tool_policy: Fix edge case 2024-05-27 17:19:53 +02:00
Sara Arjona 47cd442dc9 MDL-81872 course: Fix behat errors after improving reset 2024-05-27 16:18:54 +02:00
Sara Arjona cb72a08193 MDL-81872 course: Improve the summary page for reset 2024-05-27 16:18:54 +02:00
Sara Arjona 22cc975705 MDL-81872 course: Improve wording and workflow for reset 2024-05-27 16:18:54 +02:00
Sara Arjona b2e325836b MDL-81872 workshop: Fix coding style 2024-05-27 16:18:54 +02:00
Mikel Martín e1d2a046d3 MDL-81597 renderer: Add page getter method to renderer_base 2024-05-27 11:38:39 +02:00
Sara Arjona b25d60526e MDL-81872 wiki: Fix coding style 2024-05-27 09:23:25 +02:00
Sara Arjona dd5a82ede7 MDL-81872 book: Fix coding style 2024-05-27 09:23:25 +02:00
Sara Arjona 727e167946 MDL-81872 lesson: Fix coding style 2024-05-27 09:23:25 +02:00
Sara Arjona 4a02c6de5d MDL-81872 glossary: Fix coding style 2024-05-27 09:23:24 +02:00
Sara Arjona 2d595135b6 MDL-81872 forum: Fix coding style 2024-05-27 09:23:24 +02:00
Sara Arjona 8866f34208 MDL-81872 data: Fix coding style 2024-05-27 09:23:24 +02:00
Sara Arjona 278fab6a50 MDL-81872 choice: Fix coding style 2024-05-27 09:23:24 +02:00
Sara Arjona 9bfc49c5bc MDL-81872 chat: Fix coding style 2024-05-27 09:23:24 +02:00
Sara Arjona b77c6c5c21 MDL-81872 feedback: Fix coding style 2024-05-27 09:23:24 +02:00
Sara Arjona 6c78f19365 MDL-81872 assign: Fix coding style 2024-05-27 09:23:24 +02:00
Sara Arjona c088bec544 MDL-81872 course: Fix coding style 2024-05-27 09:23:24 +02:00
Sara Arjona f11f702f9d MDL-81589 search: Use pix method to display global search icons
Rather than exclusively relying on the image icon in the global search
documents, the 'pix' method is used now, which allows to incorporate
FontAwesome icons whenever they're available.
2024-05-27 09:19:17 +02:00
Laurent David eff27135a6 MDL-81490 lib: Identify all codemirror libraries
* Build script will list all dependencies and versions
* Thirdpartylibs.xml will list all dependencies
2024-05-27 07:37:20 +02:00
Brendan Heywood 495cbdfbec MDL-81901 core: Fix progress bar bug in cli in non tty mode 2024-05-26 22:41:19 +10:00
Eloy Lafuente (stronk7) 76e41b936d MDL-81698 phpunit: Convert some skipped tests into useful ones
After some tests, it seems that we can safely cover
phpunit_util::reset_all_data() executing it within
own basic_test self tests.

That way we can confirm that the reset code is doing its job
and detecting unexpected changes at various levels (database,
globals, ...).

Note that, in order to catch the E_USER_WARNINGS, for PHPUnit 9.6
and up, we have to convert them to exceptions, because the notice/
warning/error expectations have been deprecated and will be removed
in PHPUnit 10. So we are using a trick, already used also by
advanced_test. And, no matter that we are repeating the trick
a few times, that's ok in order to have all its uses controlled.
2024-05-25 17:19:44 +02:00
Eloy Lafuente (stronk7) 018e6e1fc8 MDL-81698 phpunit: Apply various fixes towards 1by1 execution
The changes here are heterogeneous:
- Include stuff that is not available (other test has included it).
  Sometimes local to a unit test, others in setupBeforeClass() or
  globally, ... depends on every case.
- Rename some tests (namespaces, test name, ...) towards getting it
  running.
- Amend small bits here and there.

Important note: I've left any "cosmetic" warning out from the
changes, only a few errors (like long array syntax) have been fixed.
2024-05-25 17:19:44 +02:00
Eloy Lafuente (stronk7) 6fe0e66d06 MDL-81698 phpunit: Uncomment some tests and make them skipped
There are a few tests in core that are commented since the
beginning. That's not useful at all, so with this commit we
are un-commenting them instead.

Note that this is an initial step to have them back with skipped
outcome. Later in this issue we'll decide about to keep them or
completely remove them (each test can have a different outcome).
2024-05-25 17:19:43 +02:00
Eloy Lafuente (stronk7) 3e486ad9ca MDL-81698 phpunit: New workflow to run tests 1by1 @ GitHub
This workflow just finds all the individual
tests available in core (all the test_ methods
in _test.php file) and runs them one by one,
with a total isolation, because each one is
executed by a different PHPUnit invocation..

Any test ending with error, will be reported
as part of the output.

Note that we are not using PHPUnit's own
isolation here, just running them one by one.
2024-05-25 17:19:43 +02:00
Paul Holden c4b06e48a6 MDL-72786 report_eventlist: final removal of deprecated event methods. 2024-05-24 22:27:03 +01:00
Paul Holden b5e6b1d3a7 MDL-81321 mod_data: deprecate fields page "View template" footer. 2024-05-24 22:22:38 +01:00
Paul Holden c9d2e72943 MDL-81282 dml: replace occurrences of large integers with new constant.
Where calling code was previously using either the 32-bit limit, or a
value equal to SQL_INT_MAX inside a database read/write, instead use
our new constant.
2024-05-24 22:19:54 +01:00
Paul Holden 96ded90e68 MDL-81282 dml: define SQL_INT_MAX, to determine large supported ints.
The constant can be used by calling code in place of various adhoc
versions of the same, when they require a large value with known cross
platform support.
2024-05-24 22:19:54 +01:00
Ilya Tregubov 45227cb644 MDL-81411 mod_assign: Use choicelist for Additional attempts. 2024-05-24 19:38:49 +08:00
Anupama Sarjoshi f0168354b6 MDL-81915 admin: Fix test_admin_output_new_settings_by_page unit test 2024-05-24 11:15:38 +01:00
Iñigo Zendegi c3386a497c MDL-81733 lesson: Support filters on lesson activity link 2024-05-24 09:42:07 +02:00
Ilya Tregubov d32844ce29 weekly release 4.5dev 2024-05-24 10:51:52 +08:00
Ilya Tregubov 8f9e93f5a3 NOBUG: Add upgrade notes 2024-05-24 10:51:52 +08:00
Ilya Tregubov 9d38dcbca4 NOBUG: Fixed file access permissions 2024-05-24 10:51:30 +08:00
Andrew Nicols a4484911bf MDL-80741 mod_assign: Move upgrade notes 2024-05-24 09:25:29 +07:00
Andrew Nicols f5c2bb717e MDL-78198 file: Stop sending the Accept-Charset header in curl
See notes on:
https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Accept-Charset

Warning: Do not use this header. Browsers omit this header and servers
should ignore it.

The Accept-Charset request HTTP header was a header that advertised a
client's supported character encodings. It is no longer widely used.

UTF-8 is well-supported and the overwhelmingly preferred choice for
character encoding. To guarantee better privacy through less
configuration-based entropy, all browsers omit the Accept-Charset
header.
2024-05-23 22:16:46 +08:00
Paul Holden 9fec520814 MDL-82004 assignsubmission_onlinetext: no concatenation in lang strings. 2024-05-23 13:06:25 +01:00
Huong Nguyen 48bc966a59 Merge branch 'MDL-81914-main' of https://github.com/andrewnicols/moodle 2024-05-23 11:01:38 +07:00
Mathew May 66f8feef7d MDL-79885 qtype_ordering: Add learner behat testing 2024-05-23 11:40:18 +08:00
Huong Nguyen 1776003d39 MDL-81407 core_question: Update upgrade.txt file to document new upgrade note 2024-05-23 10:37:46 +07:00
Huong Nguyen f2af8e005f Merge branch 'MDL-81407' of https://github.com/AnupamaSarjoshi/moodle 2024-05-23 10:33:36 +07:00
Huong Nguyen 22859fa326 Merge branch 'MDL-81992' of https://github.com/timhunt/moodle 2024-05-23 09:44:55 +07:00
Huong Nguyen 571d3d8821 Merge branch 'MDL-81862' of https://github.com/paulholden/moodle 2024-05-23 08:47:27 +07:00
Paul Holden 2ccdcca928 MDL-81870 core: re-factor duplicate plugin savepoint implementations. 2024-05-22 20:59:43 +01:00
Paul Holden 5f8aaf220f MDL-81870 core: validate component during upgrade task savepoint. 2024-05-22 20:59:42 +01:00
Tim Hunt 38227bbcc2 MDL-81992 question bank: disable create question button until ready
Previously, you could click the button before it was ready, and that
just led to an error, which was very silly usability.
2024-05-22 16:11:08 +01:00
Daniel Ziegenberg 6cdbcda8fd MDL-78768 grade: fix import multiple new grade items
Prior to this change, when importing grades from .csv (or another
method) and you choose to map the grades to a 'New grade item', you get
the following error message:
```
"Mapping collision detected - two fields maps to the same grade item
new."
```
A workaround existed that required users to import one column at a time,
which was cumbersome.

This change fixes importing multiple new grade items and adds a behat
test.

Co-authored-by: hehe009 <max_kan@hotmail.com>
Signed-off-by: Daniel Ziegenberg <daniel@ziegenberg.at>
2024-05-22 12:21:22 +02:00
Paul Holden 493be63757 MDL-80208 cachestore_redis: ensure empty set many with TTL don't throw. 2024-05-21 22:33:07 +01:00
Shamim Rezaie 633fde271f Merge branch 'MDL-80741-main' of https://github.com/mihailges/moodle 2024-05-22 01:28:46 +10:00
Mihail Geshoski d5e7960139 MDL-80741 mod_assign: Remove 'none' from 'attemptreopenmethod' setting
The default option "ASSIGN_ATTEMPT_REOPEN_METHOD_NONE" for the
"attemptreopenmethod" setting, which disallows multiple attempts at the
assignment, has been removed. This option was unnecessary because
limiting attempts to 1 through the "maxattempts" setting achieves the
same behavior.
Apart from removing this setting option (including removal of usage in
code and updating existing data in the DB), these changes include:
- Introducing a more effective progressive disclosure by allowing the
  "maxattempts" setting to control the visibility of the
  "attemptreopenmethod" setting in the form.
- String improvements to the labels and help text for the "maxattempts"
  and "attemptreopenmethod" settings
- Changing the default value of the "maxattempts" setting from
  "unlimited" to "1"
2024-05-21 23:05:18 +08:00
Santosh Nagargoje ba9f418632 MDL-81631 backup: Added null parameter fix 2024-05-21 17:10:32 +05:30
Daniel Ziegenberg e55496ae2a MDL-73735 course: remove duplicate line of code
Signed-off-by: Daniel Ziegenberg <daniel@ziegenberg.at>
Co-authored-by: Davo Smith <davo.smith@synergy-learning.com>
2024-05-21 13:11:20 +02:00
Huong Nguyen 5d5726d86d Merge branch 'MDL-81652-main' of https://github.com/lucaboesch/moodle 2024-05-21 17:33:30 +07:00
Huong Nguyen b4783d39dd Merge branch 'MDL-76765-main' of https://github.com/lucaboesch/moodle 2024-05-21 17:28:23 +07:00
Carlos Castillo 8c4c52bc31 MDL-81983 admin: Remove double capability check 2024-05-21 12:16:37 +02:00
Huong Nguyen 37c79e282d MDL-74581 grade: Update upgrade.txt file to document new upgrade note 2024-05-21 16:51:30 +07:00
Huong Nguyen 5fb2dd40fa Merge branch 'MDL-74581' of https://github.com/paulholden/moodle 2024-05-21 16:45:35 +07:00
Huong Nguyen eaf2fe4f8a Merge branch 'MDL-81538-main' of https://github.com/rezaies/moodle 2024-05-21 16:31:35 +07:00
Huong Nguyen 1de7c31ddd MDL-81125 core: Fix illegal whitespace 2024-05-21 15:42:48 +07:00
Huong Nguyen 1b02c68e72 MDL-81125 core: Fix minor typos 2024-05-21 15:35:15 +07:00
Huong Nguyen bd9631bda5 Merge branch 'MDL-81125-main-alt' of https://github.com/andrewnicols/moodle 2024-05-21 15:33:09 +07:00
Paul Holden 62783eeef2 MDL-81862 mod_assign: add activity field files for backup/restore. 2024-05-21 09:05:58 +01:00
Ilya Tregubov c3453a270c Merge branch 'MDL-81318' of https://github.com/paulholden/moodle 2024-05-21 12:48:51 +08:00
Shamim Rezaie bf85928261 Merge branch 'MDL-80599-main-2' of https://github.com/ilyatregubov/moodle 2024-05-21 14:22:45 +10:00
Huong Nguyen 1102b53db8 Merge branch 'MDL-81948-main' of https://github.com/ferranrecio/moodle 2024-05-21 10:02:57 +07:00
Huong Nguyen ca329dbe22 Merge branch 'MDL-81904' of https://github.com/paulholden/moodle 2024-05-21 09:43:31 +07:00
Huong Nguyen fc42f2f131 Merge branch 'MDL-80583-main' of https://github.com/stevandoMoodle/moodle 2024-05-21 09:24:16 +07:00
Luca Bösch afbe926cb5 MDL-76765 qtype_ddmarker: Show multiple tries options correctly. 2024-05-20 22:07:05 +02:00
Luca Bösch f080e65500 MDL-76765 question: Show multiple tries options correctly. 2024-05-20 22:07:05 +02:00
Luca Bösch f0b8121993 MDL-81652 qtype_multianswer: Tackle Bootstrap 5 compatibility. 2024-05-20 21:29:39 +02:00
Paul Holden 736e398ea9 MDL-81730 assignsubmission_file: deterministic submission file order. 2024-05-20 20:14:07 +01:00
Paul Holden f1bc57e220 MDL-81822 tool_licensemanager: slightly relax license shortname type.
The "*-4.0" license versions could not be managed currently.
2024-05-20 17:44:42 +01:00
Paul Holden e69e9adf9f MDL-81761 gradingform_guide: remove duplicate click of frequent comment. 2024-05-20 17:39:06 +01:00
Andrew Nicols 0964cd5b69 MDL-81125 core: Update upgrade.txt files to document new upgrade notes 2024-05-20 22:26:45 +08:00
Andrew Nicols b7d029ab69 MDL-81125 core: Add tooling to generate developer upgrade notes
Usage:

    node .grunt/upgradenotes.mjs

      OR

    npm run upgradenote

Arguments can be provided to specify the issue number, component,
message, and type of change.

    node .grunt/upgradenotes.mjs -- \
        -c [component] \
        -i [issue number] \
        -t [type] \
        -m [message]

        OR

    npm run upgradenote -- \
        -c [component] \
        -i [issue number] \
        -t [type] \
        -m [message]

Summary Markdown files can be created using:

    node .grunt/upgradenotes.mjs summary

Weekly release files can be created using:

    node .grunt/upgradenotes.mjs release

Final release files can be created using:
using:
    node .grunt/upgradenotes.mjs release [version]

Generally speaking the integration team will be responsible for updating
the UPGRADING.md notes as part of the weekly integration processes.
2024-05-20 22:26:44 +08:00
Leon Stringer b87fbc83f6 MDL-81970 plagiarism: Callbacks wrong way round 2024-05-20 10:58:29 +01:00
Paul Holden ca42ec08a7 MDL-81904 mod_feedback: show export questions only if any present. 2024-05-20 09:27:41 +01:00
Stevani Andolo e5c3199dff MDL-80583 communication_matrix: Ignore unreachable matrix server 2024-05-20 15:09:54 +08:00
Huong Nguyen 9048345750 MDL-80911 Course: Fix missing required files 2024-05-20 10:05:41 +07:00
Huong Nguyen adde5efaf5 Merge branch 'MDL-81929' of https://github.com/paulholden/moodle 2024-05-20 09:19:55 +07:00
Anupama Sarjoshi 691b87e077 MDL-81407 qbank_columnsortorder: Fix error displaying hiddencols
When the question custom fields were deleted, if there were any
hidden columns in qbank Column sort order referring those fields they
were throwing 'Custom field does not exist' exception. Changes done to
ignore such fields and display valid hiddencols, as these references
were breaking the qbank Column sort order and Question bank pages.
2024-05-19 08:51:50 +01:00
Andrew Nicols 4cbc81c7ea MDL-80275 core: Move disable_output_buffering to setup.php
This method is the only reason stopping lib/setuplib.php from being
included after the autoloader and it is single-purposed.
2024-05-18 21:03:54 +08:00
Daniel Ziegenberg 53efc4c73c MDL-80644 libraries: Update http-factory to 1.1.0
Signed-off-by: Daniel Ziegenberg <daniel@ziegenberg.at>
2024-05-17 16:08:10 +02:00
Daniel Ziegenberg ab7a137afa MDL-80635 libraries: Upgrade GeoIP2 and Maxmind DB Reader
- GeoIP2 PHP API 3.0.0
- MaxMind DB Reader API 1.11.1

Signed-off-by: Daniel Ziegenberg <daniel@ziegenberg.at>
2024-05-17 15:56:36 +02:00
Paul Holden 87d61cf845 MDL-77195 auth_shibboleth: format plugin login name configuration. 2024-05-17 13:47:21 +01:00
Daniel Ziegenberg 4098184c77 MDL-80640 lib: Update Guzzle library
- GuzzleHttp/Guzzle 7.8.1
- GuzzleHttp/Promises 2.0.2
- GuzzleHttp/PSR7 2.6.2
- Guzzle cache middleware 5.1.0

This brings PHP 8.3 support for Guzzle.

Signed-off-by: Daniel Ziegenberg <daniel@ziegenberg.at>
2024-05-17 14:26:37 +02:00
Paul Holden 2046151a9f MDL-81955 assignfeedback_editpdf: ensure ghostscript present in tests. 2024-05-17 10:21:36 +01:00
ferranrecio 1df56368ac MDL-81948 theme: fix fallback layout logic
Finding the page layout fallback was trying to get a default layout from
the ancient theme called "base". This default theme do not exists
anymore and defining a wrong layout in a theme is a code mistake that
should not be bypassed.
2024-05-17 10:38:22 +02:00
Andrew Nicols a15301b69b MDL-80275 core: Include autoloader if ABORT_AFTER_CONFIG
This change moves the inclusion of the Moodle class autoloader to above
the ABORT_AFTER_CONFIG handler.
2024-05-17 12:45:44 +08:00
Ilya Tregubov 6be4f78b92 MDL-80599 enrol_guest: Support password update in csv course upload 2024-05-17 11:00:56 +08:00
Ilya Tregubov a45b5583a5 MDL-80599 enrol_self: Support password update in csv course upload 2024-05-17 11:00:55 +08:00
Paul Holden 39b2f4a6fc MDL-81936 editor_tiny: handle default filepicker/draftitem config.
If they aren't passed in editor options config, ensure they still
observe the registered option processor (type) for each.
2024-05-16 18:46:43 +01:00
Andrew Nicols 2b64f03e59 MDL-81903 core: Add exception as L2 API 2024-05-16 23:03:36 +08:00
ferranrecio 5b7fc89152 MDL-80951 backup: add accessibility labels to schema fields 2024-05-16 16:57:56 +02:00
ferranrecio 29128ee200 MDL-80951 backup: fix coding style 2024-05-16 16:30:39 +02:00
Andrew Nicols 486bc4bf7e MDL-81125 core: Provide a list of standard components 2024-05-16 22:13:12 +08:00
Jordan Tomkinson 7e31b629e8 MDL-81751 ddl: new reserved keywords in Aurora MySQL database engine 2024-05-16 13:39:24 +01:00
Paul Holden 72beaf65d8 MDL-81929 user: reset the selected bulk action when nothing selected.
In the case of bulk user actions that are implemented via Javascript,
we should ensure that once they are complete the selected action is
reset to its default state of "Choose..." so that it can be selected
again.
2024-05-16 12:57:07 +01:00
Huong Nguyen f49d120761 weekly release 4.5dev 2024-05-16 18:25:11 +07:00
Huong Nguyen d4cf838198 Merge branch 'install_master' of https://git.in.moodle.com/amosbot/moodle-install 2024-05-16 18:25:08 +07:00
Huong Nguyen a7f6329e2e Merge branch 'MDL-81503-main' of https://github.com/aanabit/moodle 2024-05-16 09:59:45 +07:00
Huong Nguyen 994266340d Merge branch 'MDL-81598-main' of https://github.com/laurentdavid/moodle 2024-05-16 09:50:48 +07:00
Huong Nguyen d503a09fff Merge branch 'MDL-81543' of https://github.com/paulholden/moodle 2024-05-16 09:38:31 +07:00
Huong Nguyen bca4a42222 Merge branch 'MDL-79838-master' of https://github.com/andelacruz/moodle 2024-05-16 09:21:38 +07:00
Andrew Nicols b40fad605b MDL-81914 core_competency: Stop using a deprecated class 2024-05-15 23:50:16 +08:00
Andrew Nicols e0b54b9cf2 MDL-81914 core_competency: Remove deprecated invalid_persistent_exception 2024-05-15 23:34:03 +08:00
Paul Holden d4e54a9887 MDL-81287 mod_forum: observe default discussion paging value. 2024-05-15 13:23:10 +01:00
Paul Holden 06723c458d MDL-81318 assignsubmission_onlinetext: ignore blank content download. 2024-05-15 09:33:15 +01:00
Amaia Anabitarte 0f73bb6cef MDL-81503 core_course: Improve section not found error 2024-05-15 09:31:39 +02:00
Angelia Dela Cruz 69d1808ca3 MDL-79838 mod_h5pactivity: Behat for H5P activity grade settings control 2024-05-15 14:23:27 +08:00
Shamim Rezaie ee33a59a2a Merge branch 'MDL-81530-main' of https://github.com/HuongNV13/moodle 2024-05-15 15:12:25 +10:00
Huong Nguyen 5011731db0 Merge branch 'MDL-51360-main-2' of https://github.com/ilyatregubov/moodle 2024-05-15 10:43:46 +07:00
Ilya Tregubov 1623093b3b Merge branch 'MDL-70441-main-fix' of https://github.com/lameze/moodle 2024-05-15 09:30:15 +08:00
Simey Lameze 26f408ecc2 MDL-70441 mod_assign: change condition to check if variable is not empty 2024-05-15 07:06:47 +08:00
Shamim Rezaie f7e78d9ed5 MDL-81544 theme_boost: Don't change the display of .visibleifjs elements 2024-05-15 04:12:17 +10:00
Sara Arjona a7097cd8d4 Merge branch 'MDL-81168' of https://github.com/paulholden/moodle 2024-05-14 17:36:52 +02:00
Sara Arjona f9e0134901 Merge branch 'MDL-73956_final-deprecation-of-function-forum_update_subscriptions_button' of https://github.com/ziegenberg/moodle 2024-05-14 17:32:47 +02:00
Sara Arjona 1f08a61374 Merge branch 'MDL-80683-main' of https://github.com/sebastsg/moodle 2024-05-14 17:26:44 +02:00
Sara Arjona b1b764e2a9 Merge branch 'MDL-77661-main' of https://github.com/aanabit/moodle 2024-05-14 17:13:44 +02:00
Sara Arjona a865e34983 Merge branch 'MDL-81236-main' of https://github.com/tsmilan/moodle 2024-05-14 17:11:06 +02:00
Sara Arjona 687381ee04 Merge branch 'MDL-81805-main' of https://github.com/lameze/moodle 2024-05-14 17:05:30 +02:00
Juan Leyva d963e2ed0e MDL-81897 tool_mobile: Force partitioned cookies on inapp browser 2024-05-14 13:43:29 +02:00
Ilya Tregubov 8223afd93e Merge branch 'MDL-70441-main' of https://github.com/kevpercy/moodle 2024-05-14 14:09:38 +08:00
David Balch 726de6ab68 MDL-70441 assign: Freeze workflow states not available to user.
Prior to this, a custom grader role that has mod/assign:grade but not
mod/assign:releasegrades or mod/assign:managegrades would see a select
with only the states available to them - not the current state, and
could reset a grade from released to Not marked/In marking/Marking
completed.
2024-05-14 12:53:27 +08:00
Ilya Tregubov 4b16c37b96 MDL-80599 core: Refactor enrol methods
Move update instance logic to its own method and cover with tests.
Also update enrol plugins to work woth new methods.
2024-05-14 12:08:46 +08:00
Huong Nguyen 8f5a023dab Merge branch 'MDL-81434' of https://github.com/paulholden/moodle 2024-05-14 08:51:45 +07:00
Sara Arjona 0e766c9d27 Merge branch 'MDL-70494-main' of https://github.com/ilyatregubov/moodle 2024-05-13 15:40:28 +02:00
Paul Holden d792e8c450 MDL-81543 qtype_calculated: correct component of language string. 2024-05-13 10:43:38 +01:00
Laurent David a6ae705fcb MDL-81598 theme_boost: Fix quiz review options tooltips 2024-05-13 08:25:53 +02:00
Ilya Tregubov d6f7ee5638 Merge branch 'MDL-81867' of https://github.com/paulholden/moodle 2024-05-13 09:28:45 +08:00
Ilya Tregubov e340fb7144 Merge branch 'MDL-81203' of https://github.com/stronk7/moodle 2024-05-13 09:24:30 +08:00
Ilya Tregubov 5717e7ecd3 Merge branch 'MDL-74484_final-deprecation-of-print_error' of https://github.com/ziegenberg/moodle 2024-05-13 09:16:40 +08:00
AMOS bot fd14c3f910 Automatically generated installer lang files 2024-05-12 00:14:35 +00:00
Eloy Lafuente (stronk7) 752d07415c MDL-81203 tool_customlang: Bump ROUGH_NUMBER_OF_STRINGS from 32K to 33K
Periodical check, we have passed the 32K, time to bump to next
thousand, 33K. Not much else to say.
2024-05-10 15:39:47 +02:00
Paul Holden 9b827c09ce MDL-81434 reportbuilder: ensure filter/condition parameter uniqueness.
This change fixes an edge case that could be triggered by creating a
custom report that contained a filter instance that was active as both
a filter and condition, where the filter instance provides parameters
to it's SQL fragment.

There is only one such filter present currently with which we can test
this, see 2f9001cbe9.
2024-05-10 09:48:52 +01:00
Paul Holden d9f05b81d0 MDL-81168 reportbuilder: better float input support in filters.
Support localised float values in filter forms, so that locales that
use different decimal separators work as expected.

Note lack of current support in the date filter.
2024-05-10 09:47:21 +01:00
Paul Holden 59aceef4b5 MDL-81867 qbank_columnsortorder: correct/cleanup previous upgrade step. 2024-05-10 09:08:41 +01:00
Trisha Milan ebd3371c3f MDL-81236 javascript: Remove MathJax workaround from MDL-60458
The original workaround was put in place to address the mathjax.sre.js bug that was causing JS errors
as explained in https://github.com/mathjax/MathJax/issues/1854). However, since MathJax 2.7.3,
the underlying problem has been fixed, making the workaround unnecessary.

Additionally, the workaround was causing conflicts with some jQuery plugins.
Removing the workaround has resolved the problem of jQuery plugins failing to load properly.
2024-05-10 16:11:19 +10:00
Hieu Nguyen Dang a15c17cc0e MDL-80489 qtype_ddtos: Help Text for Choices section 2024-05-10 12:27:27 +07:00
Ilya Tregubov d59fa12147 MDL-51360 core_grades: Improve documentation of grade_get_grades(). 2024-05-10 09:16:36 +08:00
Ilya Tregubov 462d5f04a8 weekly release 4.5dev 2024-05-10 09:09:28 +08:00
Sumaiya Javed 913c573a79 MDL-80797 core: Hooks to add or reorder items in secondary navigation.
Add the ability for a third party plugin to add or reorder nodes in the course navigation menu.
This will allow secondary navigation to be overridden by using Hooks API.

new file:   lib/classes/hook/navigation/secondary_extend.php
modified:   lib/classes/navigation/views/secondary.php
2024-05-10 12:43:49 +12:00
Paul Holden 9874b742fd MDL-81757 editor_tiny: preserve unicode character escape in errors.
Removing backslashes from the XHR response led to errors including
unicode escape codes being broken.
2024-05-09 20:13:09 +01:00
Amaia Anabitarte 6bc8b45c85 MDL-81601 core_course: Add course index completion status behats 2024-05-09 19:38:45 +08:00
Ilya Tregubov f572bcae24 MDL-51360 mod_quiz: Don't do full course recalculation.
It seems it was never needed. We only need to know if just one
grade is overridden and its value.
2024-05-09 15:01:23 +08:00
Jun Pataleta 146821a4c4 Merge branch 'MDL-81713-main' of https://github.com/junpataleta/moodle 2024-05-09 12:02:25 +08:00
Jun Pataleta 53a059fb9b Merge branch 'MDL-81330' of https://github.com/paulholden/moodle 2024-05-09 11:49:18 +08:00
Jun Pataleta 823c7d752e Merge branch 'MDL-81399' of https://github.com/paulholden/moodle 2024-05-09 11:45:45 +08:00
Jun Pataleta a6cb89a49e Merge branch 'MDL-80972-main' of https://github.com/lameze/moodle 2024-05-09 11:43:33 +08:00
Jun Pataleta 44db44564e Merge branch 'MDL-76690' of https://github.com/paulholden/moodle 2024-05-09 11:35:52 +08:00
Jun Pataleta f14c2d35b6 MDL-81713 mod_quiz: Use accessible fieldset name for Behat test 2024-05-09 11:32:54 +08:00
Huong Nguyen c2bb7c5ec3 Merge branch 'MDL-81423' of https://github.com/timhunt/moodle 2024-05-09 09:54:48 +07:00
Ilya Tregubov 7c535198ea Merge branch 'MDL-81433' of https://github.com/paulholden/moodle 2024-05-09 10:54:40 +08:00
Ilya Tregubov 52f49f3d7e Merge branch 'MDL-81754' of https://github.com/paulholden/moodle 2024-05-09 10:51:27 +08:00
Huong Nguyen 6dfd658d8c Merge branch 'MDL-80453-main' of https://github.com/andelacruz/moodle 2024-05-09 09:47:40 +07:00
Ilya Tregubov 817ad8d0e7 Merge branch 'MDL-81601-main' of https://github.com/aanabit/moodle 2024-05-09 10:45:55 +08:00
Ilya Tregubov 89f3ecf3d3 MDL-80599 enrol_self: Check group key regardless of policy used
Password policy is not connected to using of group key enrolment
2024-05-09 10:37:41 +08:00
Andrew Nicols 98ee60401c MDL-68262 assignfeedback_editpdf: Update unit test for latest coding style 2024-05-09 10:36:43 +08:00
Huong Nguyen 2fa5d074e0 Merge branch 'MDL-79702-main' of https://github.com/lameze/moodle 2024-05-09 09:33:23 +07:00
Andrew Nicols 5d539f423b MDL-68262 assignfeedback_editpdf: Switch to request dirs 2024-05-09 10:14:25 +08:00
Luca Bösch f01625abdc MDL-81713 mod_quiz: Display modal for 'Add random question' as mform. 2024-05-09 09:48:20 +08:00
Luca Bösch 697815159f MDL-81713 mod_quiz: Add random question 'Parent category' help icon. 2024-05-09 09:48:02 +08:00
info@eWallah.net ab37e1e397 MDL-80972 behat: Behat check_server_status can provide better info. 2024-05-08 21:48:40 +02:00
Mark Johnson 78cf032d7c MDL-81609 enrol: Set readonlysession for core_enrol_get_potential_users 2024-05-08 14:44:25 +01:00
Paul Holden 5f701e1055 MDL-77685 grade: remove Behat specific report rendering hacks.
These changes follow the same approach as that taken elsewhere in
the Gradebook in 3643f48e0f.
2024-05-08 12:29:38 +01:00
Paul Holden 0fd8376451 MDL-76690 reportbuilder: final removal of deprecated helper methods. 2024-05-08 11:28:13 +01:00
Angelia Dela Cruz b859ff4337 MDL-80453 mod_glossary: Behat for different glossary format display 2024-05-08 17:20:47 +08:00
Christian Abila bf3915f63c MDL-81813 config-dist.php: correct path
admin/cli/plugin_uninstall.php does not exist. The correct path is admin/cli/uninstall_plugins.php.
2024-05-08 09:47:25 +02:00
Amaia Anabitarte bb93bcdb2d MDL-81601 core_course: Fix course index completion status 2024-05-08 08:16:11 +02:00
Steve Massicotte fd4ebbf932 MDL-80967 Authentication: Login page - Hide the login form 2024-05-07 16:03:28 -04:00
Marina Glancy 49ab83c1a4 MDL-80907 various: fixes to incorrect column selectors in behat 2024-05-07 19:27:14 +01:00
Marina Glancy 8f2d505e38 MDL-80907 behat: be more precise in selecting table rows 2024-05-07 19:27:07 +01:00
Paul Holden abd04cab82 Merge branch 'MDL-81764' of https://github.com/lostrogit/moodle into main 2024-05-07 14:43:01 +01:00
Paul Holden 773220ab06 Merge branch 'MDL-81776' of https://github.com/dravek/moodle into main 2024-05-07 14:33:08 +01:00
Sebastian 47daf29b69 MDL-80683 course: Move misplaced opening div tag
The section header from the section template has been moved to the content template
so we don't close it from within the content template.

Nothing seems to use the content template, so there should not be any
differences in HTML output anywhere.
2024-05-07 11:15:36 +02:00
Huong Nguyen 6bfdae885d MDL-81530 editor_tiny: Better browsers compatibility
The TinyMCE.remove() function is killing other events on Firefox
We need to modify the setupForElementId() to make TinyMCE to
remove itself outside of the event loop
2024-05-07 14:23:03 +07:00
hieuvu b4a9ce93a6 MDL-78662 ddwtos: Allow answer to support filter dynamic content. 2024-05-07 08:57:26 +07:00
hieuvu 85c7492db2 MDL-78662 ddmarker: Allow answer to support filter dynamic content. 2024-05-07 08:57:26 +07:00
hieuvu f1044b45bd MDL-78662 ddimageortext: Allow answer to support filter dynamic content. 2024-05-07 08:57:26 +07:00
hieuvu 6d34386ca9 MDL-78662 core_question: Create utility function to format question. 2024-05-07 08:57:25 +07:00
Ilya Tregubov dcc78ccbbb Merge branch 'MDL-73165' of https://github.com/paulholden/moodle 2024-05-07 09:11:15 +08:00
Ilya Tregubov 2b951ed07a Merge branch 'MDL-72353' of https://github.com/paulholden/moodle 2024-05-07 09:06:55 +08:00
Simey Lameze 6f4efa45bd MDL-81805 behat: remove unnecessary @javascript from tests 2024-05-07 09:05:10 +08:00
Paul Holden 31f6039635 MDL-81779 theme_boost: more liberal selector for form-control elements.
There are various pages (e.g. many related to permissions), where the
form element is not a descendent of `.mform` - so the previous selector
never matched them and led to unstyled inputs.

Co-authored-by: Mikel Martín <mikel@moodle.com>
2024-05-06 20:34:39 +01:00
Paul Holden 81d2800a55 MDL-73165 output: final removal of deprecated display logo method. 2024-05-06 20:27:29 +01:00
Paul Holden be7802fa88 MDL-72353 report: final removal of deprecated report selection method. 2024-05-06 20:22:08 +01:00
Simey Lameze 7b713435b0 MDL-79702 behat: improvements and fixes to new tests
This commit adds the handling of tags as string separated by comma
to forum and glossary modules.
2024-05-06 19:58:38 +08:00
Angelia Dela Cruz 9ab79e2822 MDL-79702 core_tag: Behat for activity tags deletion during course reset 2024-05-06 16:42:18 +08:00
Ilya Tregubov 4aa2f21c20 Merge branch 'MDL-48940-main' of https://github.com/mihailges/moodle 2024-05-06 14:19:56 +08:00
Huong Nguyen 6fe0ff1e45 Merge branch 'MDL-81345-main' of https://github.com/andrewnicols/moodle 2024-05-06 09:47:33 +07:00
Huong Nguyen c292fcafdd Merge branch 'MDL-80589-main' of https://github.com/lameze/moodle 2024-05-06 09:36:55 +07:00
Ilya Tregubov 8e862be8e2 Merge branch 'MDL-71748_final-deprecation-reset_caches' of https://github.com/ziegenberg/moodle 2024-05-06 10:10:56 +08:00
Ilya Tregubov dc2f500573 Merge branch 'MDL-81656' of https://github.com/paulholden/moodle 2024-05-06 09:55:08 +08:00
Daniel Ziegenberg 781694d2f8 MDL-71748 core: final removal of core_text::reset_caches()
Signed-off-by: Daniel Ziegenberg <daniel@ziegenberg.at>
2024-05-03 15:13:32 +02:00
David Carrillo 45b43d137f MDL-81776 reportbuilder: Check tagarea enabled when check availability
- When checking availability for a column/filter we need to assert
tagarea is enabled because it can return also null value.
2024-05-03 11:40:35 +02:00
Tim Hunt a64c23c045 MDL-81423 assign: improve valdation message for submissionstatement 2024-05-03 10:32:50 +01:00
Shamim Rezaie 8159b2419a MDL-81538 theme_boost: Fix popover arrow direction in RTL 2024-05-03 13:02:34 +10:00
Ilya Tregubov 67b2c43225 weekly release 4.5dev 2024-05-03 08:22:25 +08:00
Ilya Tregubov 10c4e67d21 Merge branch 'install_master' of https://git.in.moodle.com/amosbot/moodle-install 2024-05-03 08:22:22 +08:00
AMOS bot b4eab69830 Automatically generated installer lang files 2024-05-03 00:10:51 +00:00
Carlos Castillo b7030c76c6 MDL-81764 reportbuilder: Include full name filter to Users system report 2024-05-02 15:23:20 +02:00
Simey Lameze 49212ac96c MDL-80589 behat: fixes and improvements to new tests 2024-05-02 13:32:33 +08:00
Angelia Dela Cruz 49b4f795ec MDL-80589 qtype_numerical: Behat to add, edit, preview numeric question 2024-05-02 12:30:34 +08:00
Huong Nguyen 409c66838e Merge branch 'MDL-81587' of https://github.com/timhunt/moodle 2024-05-02 09:37:24 +07:00
Huong Nguyen 559721db57 Merge branch 'MDL-81611_main' of https://github.com/marxjohnson/moodle 2024-05-02 09:01:47 +07:00
Paul Holden 260b786d53 MDL-81754 reportbuilder: consistent filter field comparison labels. 2024-05-01 11:19:16 +01:00
Huong Nguyen eb32a057b9 Merge branch 'MDL-79851-main' of https://github.com/lameze/moodle 2024-05-01 16:10:09 +07:00
Angelia Dela Cruz 6b893421da MDL-79851 mod_h5pactivity: Behat for h5p activity access control 2024-05-01 14:22:28 +08:00
Huong Nguyen e768a13b07 Merge branch 'MDL-81621' of https://github.com/paulholden/moodle 2024-05-01 10:56:08 +07:00
Sara Arjona e8b63bc3a4 MDL-80571 tiny_premium: Fix version 2024-04-30 17:10:40 +02:00
Sara Arjona b7a0d83f18 Merge branch 'MDL-81724' of https://github.com/paulholden/moodle 2024-04-30 17:09:45 +02:00
Sara Arjona a787203295 Merge branch 'MDL-78889-main' of https://github.com/ilyatregubov/moodle 2024-04-30 17:09:45 +02:00
Sara Arjona eae0a26521 Merge branch 'MDL-81632' of https://github.com/paulholden/moodle 2024-04-30 15:09:28 +02:00
Sara Arjona ba1bda63ee Merge branch 'MDL-80571-main' of https://github.com/davewoloszyn/moodle 2024-04-30 15:05:50 +02:00
Tim Hunt 78eeb7ea57 MDL-81587 quiz: fix layout of the add/edit random UI
Some of the removed CSS seems no longer relevant now that we have
customisation options for the layout of the question bank.
2024-04-30 10:43:34 +01:00
Tim Hunt fb0706a4ed MDL-81515 forms: set a nice default size for multi-selects 2024-04-30 10:35:59 +01:00
Paul Holden f11c6393de MDL-81724 editor_tiny: remove whitespace from block formats syntax.
Ensures that the values are subsequently translated correctly. Workaround
for upstream bug: https://github.com/tinymce/tinymce/pull/9599

Co-authored-by: Andrew Nicols <andrew@nicols.co.uk>
2024-04-30 09:25:14 +01:00
Huong Nguyen 6b0f557404 Merge branch 'MDL-79149' of https://github.com/paulholden/moodle 2024-04-30 11:48:00 +07:00
Huong Nguyen 8ae7792dc8 Merge branch 'MDL-81717-main' of https://github.com/sarjona/moodle 2024-04-30 11:37:29 +07:00
Huong Nguyen 730944fd02 Merge branch 'MDL-81707' of https://github.com/paulholden/moodle 2024-04-30 10:13:53 +07:00
Ilya Tregubov a89de93a6a Merge branch 'MDL-77272-main' of https://github.com/SergioComeron/moodle 2024-04-30 10:18:04 +08:00
Huong Nguyen 810cdb12cb MDL-81610 course: Update upgrade.txt 2024-04-30 09:10:14 +07:00
Huong Nguyen 0767670829 Merge branch 'MDL-81610_main' of https://github.com/marxjohnson/moodle 2024-04-30 09:00:58 +07:00
David Woloszyn ed42b2e92b MDL-80571 tiny_premium: Premium plugins can be individually enabled 2024-04-30 09:40:15 +10:00
Paul Holden bfde1fe687 MDL-81433 reportbuilder: return custom report tag data in WS calls. 2024-04-29 11:17:29 +01:00
Paul Holden 0a9715a88a MDL-81330 reportbuilder: add cohort data to participants report source.
This is consistent with data added to similar sources that include user
attainment data, in this case users' course completion.
2024-04-29 11:14:16 +01:00
Sara Arjona c60d03a7b6 MDL-81717 h5p: Improve robustness content type fetching
Strengthen code to ensure retrieval of all content types, despite
failures.
2024-04-29 12:12:08 +02:00
Paul Holden e95cf00523 MDL-81399 reportbuilder: add language/timezone reporting for users. 2024-04-29 11:12:01 +01:00
Paul Holden e05879814f MDL-81707 availability_grade: fix alignment of condition checkboxes. 2024-04-29 10:38:44 +01:00
Paul Holden 1435a5fab6 MDL-81656 h5p: correct content editing URL parameter handling. 2024-04-29 09:22:15 +01:00
Paul Holden 9c601e5f0b MDL-81621 mod_bigbluebuttonbn: remove reflection setAccessible call.
See 361dfe8145 for context.
2024-04-29 09:21:13 +01:00
Ilya Tregubov 7721ddb679 MDL-78889 gradereport_user: Fix pass/fail icon for totals
When the category has a 'grade to pass' set, the pass/fail icon
was displayed even when the category total grade values was hidden.
2024-04-29 14:42:00 +08:00
Mihail Geshoski 6ca8fde7f5 MDL-48940 core: Final deprecation of search_generate_text_SQL() 2024-04-29 11:41:22 +08:00
Ilya Tregubov 641937a47e MDL-81380 qbank_columnsortorder: Add type and return value hint 2024-04-29 10:46:14 +08:00
Ilya Tregubov 137692bd4e Merge branch 'MDL-81380' of https://github.com/AnupamaSarjoshi/moodle 2024-04-29 10:39:59 +08:00
Huong Nguyen f686d2a6c7 Merge branch 'MDL-80849-main' of https://github.com/davewoloszyn/moodle 2024-04-29 08:55:02 +07:00
Andrew Nicols cde433c26a MDL-81647 core: Replace partial with a more lightweight version 2024-04-29 09:54:21 +08:00
Ilya Tregubov 58606791af Merge branch 'MDL-80597' of https://github.com/paulholden/moodle 2024-04-29 09:45:58 +08:00
Ilya Tregubov 461fdcc5e5 Merge branch 'MDL-81697' of https://github.com/paulholden/moodle 2024-04-29 09:21:55 +08:00
David Woloszyn 74a6ed82b3 MDL-80849 communication_matrix: Prevent numeric usernames 2024-04-29 10:30:29 +10:00
Anupama Sarjoshi 5ced156252 MDL-81380 qbank_columnsortorder: Add upgrade.php
Before Moodle 4.3, config_plugins settings for qbank_columnsortorder
(disabledcol, enabledcol) had a value like
qbank_statistics\columns\facility_index,
qbank_statistics\columns\discriminative_efficiency, ...
In Moodle 4.3, the values are stored as
qbank_statistics\columns\facility_index-facility_index.
So updating the old values to match the new format.
2024-04-26 17:06:45 +01:00
Paul Holden 5f8b568cbc MDL-79149 report_participation: more resilient activity access test.
Use the "Forum" module rather than the "Book" module, because the latter
emits two events when a student views it - if these two events happened
either side of a single second, then the report  would count two distinct
views (when it was trying to assert only one).
2024-04-26 16:08:02 +01:00
Huong Nguyen f7d369f4e2 Merge branch 'MDL-78433-main' of https://github.com/aanabit/moodle 2024-04-26 16:19:05 +07:00
Huong Nguyen dfc2d98704 Merge branch 'MDL-81641' of https://github.com/timhunt/moodle 2024-04-26 16:03:14 +07:00
Sara Arjona 59844c271e Merge branch 'MDL-81581' of https://github.com/stronk7/moodle 2024-04-26 10:48:24 +02:00
Paul Holden f91dd598ef MDL-80597 mod_quiz: simplify filtering by tags Behat assertions.
The initial filtering for category was redundant, as it's applied
by default. While present it also caused reproducible failures on
CI due to timing issues when trying to apply multiple filters.
2024-04-26 09:40:51 +01:00
Sara Arjona 4a3d58126a Merge branch 'MDL-77445-master' of https://github.com/andelacruz/moodle 2024-04-26 10:40:23 +02:00
Ilya Tregubov 802ca2072e MDL-70494 mod_forum: Deprecate privacy strings.
Doesn't seem they were ever used.
2024-04-26 12:01:30 +08:00
Paul Holden 88b4bc2beb MDL-81697 qtype_ordering: correctly reference feedback file areas. 2024-04-25 21:37:30 +01:00
Paul Holden 2f0141ff57 MDL-74581 grade: final removal of deprecated Behat step helpers. 2024-04-25 19:32:56 +01:00
Eloy Lafuente (stronk7) dadfb6e90c MDL-81581 phpunit: Apply the new method to all remaining cases
After discussing it in the issue, we have agreed to apply
the new phpunit_util::normalise_line_endings() method to
all the remaining cases (within tests!) where the manual
replacement was being done. This commits achieves that.

Note that I've looked for both str_replace() and preg_replace()
cases, but only the former had cases worth converting. All the
later ones are different and cannot be replaced by the new
utility method.
2024-04-25 18:52:16 +02:00
Eloy Lafuente (stronk7) 71bd82ad68 MDL-81581 phpunit: Create the normalise_line_endings() method
And apply it to all the obvious places related with the issue.

Note that surely there are way more in code base, but it's
out of scope for this issue.
2024-04-25 18:52:16 +02:00
Eloy Lafuente (stronk7) 17237b824d MDL-81581 phpunit: Move multiple assert_same_xml() to common one 2024-04-25 18:52:16 +02:00
Mark Johnson 82a4c991ef MDL-81610 course: Optimise core_courseformat\external\get_state
core_courseformat\external\get_state calls export_for_tempalte for each
course module, which in turn calls completion_info::is_tracked_user()
for the current user on the current course. The result of this call will
be the same for every course module, so does not need to be called what
may be several hundred times.

This change allows the result of is_tracked_user to be passed to the cm
state object, then calls it once and passes it to each cm's object. If
it is not passed in, it will be computed on demand as before.
2024-04-25 16:15:03 +01:00
SergioComeron c4f840d404 MDL-77272 report: Enable module level report options 2024-04-25 17:14:47 +02:00
Mark Johnson 7cc089a457 MDL-81611 assign: Close session early in gradingpanel fragment 2024-04-25 16:14:43 +01:00
Sara Arjona 792698af00 weekly on-sync release 4.5dev 2024-04-25 15:43:57 +02:00
Sara Arjona f6ef944d64 Merge branch 'install_master' of https://git.in.moodle.com/amosbot/moodle-install 2024-04-25 15:43:53 +02:00
Huong Nguyen 228c18b723 Merge branch 'MDL-80087_main' of https://github.com/PhilippImhof/moodle 2024-04-25 09:34:22 +07:00
AMOS bot 61b40e2eaa Automatically generated installer lang files 2024-04-25 00:12:21 +00:00
Paul Holden 0bd601d6ba MDL-81632 block_recentlyaccesseditems: deterministic item ordering.
Behat tests of this functionality could trigger the unlikely (in real
world usage) scenario where a user has an identical "timeaccess" value
for multiple course activities.

This led to random failures in said tests when the DB ordered items in
apparently random order, where the "timeaccess" value was equal.
2024-04-24 20:57:06 +01:00
Sara Arjona ec7aa34e20 Merge branch 'MDL-77998-master' of https://github.com/andelacruz/moodle 2024-04-24 14:47:54 +02:00
Angelia Dela Cruz 7c5cc9f140 MDL-77998 Behat: Add behat coverage for preferences navigation 2024-04-24 19:15:51 +08:00
Huong Nguyen 43ba641af7 Merge branch 'MDL-81627' of https://github.com/timhunt/moodle 2024-04-24 15:25:33 +07:00
Huong Nguyen c77acbe423 Merge branch 'MDL-81301' of https://github.com/timhunt/moodle 2024-04-24 15:17:54 +07:00
Angelia Dela Cruz eb36f078d8 MDL-77445 Behat: Coverage for activity chooser navigation 2024-04-24 14:42:37 +08:00
Jun Pataleta f17f1333f1 Merge branch 'MDL-81570-main' of https://github.com/sarjona/moodle 2024-04-24 14:40:43 +08:00
Jun Pataleta 72e283b5e8 Merge branch 'MDL-81575-main' of https://github.com/ferranrecio/moodle 2024-04-24 12:36:52 +08:00
Jun Pataleta ccd3651fee Merge branch 'MDL-81567-main' of https://github.com/lucaboesch/moodle 2024-04-24 12:22:09 +08:00
Jun Pataleta f0b4b6c186 Merge branch 'MDL-81460-main' of https://github.com/roland04/moodle 2024-04-24 12:10:24 +08:00
Huong Nguyen cfd0d4b130 Merge branch 'MOODLE_main_MDL-81613' of https://github.com/danielneis/moodle 2024-04-24 09:59:36 +07:00
Andrew Nicols b99760a3fb MDL-81345 core: Remove unused library 2024-04-24 10:31:21 +08:00
Huong Nguyen aa29e5655d Merge branch 'MDL-81564-main' of https://github.com/HuongNV13/moodle 2024-04-24 08:57:47 +07:00
Laurent David 029db9dd4c MDL-81564 mod_data: Remove duplicate error messages
* When a field is missing the error is duplicated for all field
subsequently added to the database
2024-04-24 08:51:36 +07:00
Ilya Tregubov bdeb9b8191 Merge branch 'MDL-81274' of https://github.com/paulholden/moodle 2024-04-24 09:41:42 +08:00
Huong Nguyen 862b41d833 Merge branch 'MDL-80107-master' of https://github.com/andelacruz/moodle 2024-04-24 08:35:19 +07:00
Tim Hunt 676d764452 MDL-81641 question: fix random question loader draft state tests 2024-04-23 18:25:04 +01:00
Amaia Anabitarte 93bf8539ca MDL-78433 course: Remove duplicated course search form 2024-04-23 16:08:03 +02:00
Sara Arjona 5e8f48a53f Merge branch 'MDL-81209-main' of https://github.com/andrewnicols/moodle 2024-04-23 15:35:12 +02:00
Sara Arjona 1e7fdcccdf Merge branch 'MDL-81578' of https://github.com/paulholden/moodle 2024-04-23 15:13:41 +02:00
Sara Arjona 4dbeaddc5f Merge branch 'MDL-81457-main' of https://github.com/andrewnicols/moodle 2024-04-23 14:56:31 +02:00
Amaia Anabitarte 6a190959d4 MDL-77661 mod_data: Use danger button for reset templates modals 2024-04-23 13:17:52 +02:00
Sara Arjona 8cdf4dec79 Merge branch 'MDL-81603' of https://github.com/paulholden/moodle 2024-04-23 12:38:36 +02:00
Tim Hunt 8e7bd88ce3 MDL-81627 quiz restore: fix restore of grade item for each slot 2024-04-23 11:33:44 +01:00
ferranrecio 735bef87d2 MDL-81575 core_courseformat: fix interactive section visibility badge 2024-04-23 11:15:19 +02:00
Shamim Rezaie 08a8c29ca7 Merge branch 'MDL-81616-main' of https://github.com/junpataleta/moodle 2024-04-23 15:23:09 +10:00
Angelia Dela Cruz da5de9e91e MDL-80107 gradingform: Behat test for defining marking guide 2024-04-23 11:41:03 +08:00
Paul Holden 08575fdc56 MDL-74582 lang: final removal of deprecated 401 strings. 2024-04-22 19:06:18 +01:00
Daniel Neis Araujo bbc91d4788 MDL-81613 report_log: fix user fullname export for log report 2024-04-22 14:34:32 -03:00
Paul Holden 7594612fab MDL-81274 mod_data: observe current approved value on record import. 2024-04-22 12:48:51 +01:00
Paul Holden 23552e4c84 MDL-78942 tool_mfa: replace deprecated coding standards annotation.
Replace with equivalent `phpcs` annotation as appropriate, same as
done previously in a5c91474ee (see that commit for further context).
2024-04-22 12:28:37 +01:00
Huong Nguyen e3b52a6ec6 Merge branch 'MDL-81615-main' of https://github.com/junpataleta/moodle 2024-04-22 16:30:03 +07:00
Paul Holden 25780157bf MDL-81603 reportbuilder: don't rely on real entity in datasource test. 2024-04-22 09:52:20 +01:00
Sara Arjona f0e6e5addb MDL-81570 tiny_premium: Add missing lang string 2024-04-22 09:40:21 +02:00
Mikel Martín 6de045dea0 MDL-81460 theme_boost: Fix loading spinner wobbles 2024-04-22 07:45:32 +02:00
Luca Bösch d7df038465 MDL-81567 mod_quiz: Adopt edit section title pencil icons size. 2024-04-20 18:03:15 +02:00
Jun Pataleta 78e5814a0f MDL-81616 upgrade: add the 4.4.0 separation line to all upgrade scripts 2024-04-20 21:01:04 +08:00
Jun Pataleta 3c1b63c7d8 MDL-81615 backup: Bump release to 4.5 2024-04-20 20:56:34 +08:00
Jun Pataleta 7b9a4eeca5 weekly back-to-dev release 4.5dev 2024-04-20 16:11:57 +08:00
Jun Pataleta ee91c6536f Moodle release 4.4 2024-04-20 15:58:15 +08:00
Huong Nguyen 7cbed34833 Moodle release 4.4rc2 2024-04-19 17:06:31 +07:00
Jun Pataleta 94f5e7e66f Merge branch 'MDL-81584-main' of https://github.com/mihailges/moodle 2024-04-19 11:03:19 +08:00
Huong Nguyen c021a83998 Merge branch 'MDL-81595-main' of https://github.com/safatshahin/moodle 2024-04-19 09:48:56 +07:00
Huong Nguyen 56ea31a508 Merge branch 'MDL-81553' of https://github.com/aolley/moodle 2024-04-18 22:36:20 +07:00
Safat f070a165e3 MDL-81595 core_communication: Fix provider switching active flag update 2024-04-18 22:21:00 +10:00
Mihail Geshoski 907a7c5786 MDL-81584 gradereport_grader: Pin the last row only when necessary
Fixes the current behavior where the last row in the grader report is
always 'pinned', ensuring it is pinned only when necessary.
2024-04-18 16:06:28 +08:00
Sara Arjona 9cec6a933c Merge branch 'MDL-81591' of https://github.com/stronk7/moodle 2024-04-18 08:27:37 +02:00
Huong Nguyen 978f3d42e5 Merge branch 'MDL-81512-main' of https://github.com/mickhawkins/moodle 2024-04-18 09:26:36 +07:00
Eloy Lafuente (stronk7) aa53092e4a MDL-81591 composer: Reconcile the lock file with json contents 2024-04-17 18:33:59 +02:00
Jun Pataleta 9966241efb Merge branch 'MDL-81525-main' of https://github.com/andrewnicols/moodle 2024-04-17 23:42:22 +08:00
Paul Holden c550ef8dcb MDL-81578 user: disable form change checker for bulk user actions.
When bulk user actions are used from the "Browse users" report.
2024-04-17 12:22:43 +01:00
Jun Pataleta 9e2a8c6945 Merge branch 'MDL-81574-main' of https://github.com/ilyatregubov/moodle 2024-04-17 16:36:33 +08:00
Laurent David ba9b291c03 MDL-81267 mod_data: Additional tests 2024-04-17 10:33:08 +02:00
Laurent David ffa045e099 MDL-81267 mod_data: Clean field type before inclusion
* Filter out wrong field types when restoring or creating a field.
2024-04-17 10:33:08 +02:00
Ilya Tregubov 603a648d0a MDL-81574 mod_forum: Fix deprecated usage of format_text 2024-04-17 15:48:14 +08:00
Paul Holden dadffe8989 MDL-80878 tool_mfa: safely retrieve the referrer URL. 2024-04-17 03:44:22 +00:00
Stevani Andolo 66da939499 MDL-81354 core: Escape string of fullname 2024-04-17 03:44:22 +00:00
Paul Holden f739ebe6db MDL-81463 auth: ensure login recaptcha always checked if configured. 2024-04-17 03:44:22 +00:00
Paul Holden 4c966677de MDL-81062 mod_lesson: escape identity fields in overview report. 2024-04-17 03:44:22 +00:00
Paul Holden e870bc01fc MDL-80712 mod_workshop: stricter cleaning of sub-plugin values. 2024-04-17 03:44:22 +00:00
Paul Holden 03e93da556 MDL-81058 admin: fix sesskey checks for admin preset actions. 2024-04-17 03:44:22 +00:00
Paul Holden 498a766263 MDL-81059 tool_analytics: fix sesskey checks for model actions. 2024-04-17 03:44:22 +00:00
Laurent David d5a99b1f33 MDL-81284 mod_wiki: Add stricter cleaning of contentformat
* When restoring backup we clean the contentformat and defaultformat
to avoid issue with invalid value.
* Add tests for format and defaultformat so to check that we
 filter out invalid formats
* Remove private $basepath variable as it was used one and not always
initialised correctly.
2024-04-17 03:44:22 +00:00
meirzamoodle 25b1b643c8 MDL-81352 filter: Ensure equation safety prior to filtering 2024-04-17 03:44:22 +00:00
Paul Holden 5a18d94dcb MDL-81135 mod_feedback: stricter cleaning of item type parameter. 2024-04-17 03:44:22 +00:00
Huong Nguyen d1514be1bc MDL-81247 calendar: Extra validation for webservices 2024-04-17 03:44:21 +00:00
Paul Holden ab817ef330 MDL-80877 tool_mfa: protect logout process with sesskey check. 2024-04-17 03:44:21 +00:00
Paul Holden 53e8a62003 MDL-81247 calendar: freeze event type if "user" only allowed. 2024-04-17 03:44:21 +00:00
Leon Stringer cd85e090f3 MDL-80585 report_log: sanitize descriptions
Strip any HTML tags from values in the "Description" column.
2024-04-17 03:44:21 +00:00
Huong Nguyen 8e682899cc Merge branch 'MDL-81549-main' of https://github.com/junpataleta/moodle 2024-04-17 10:33:28 +07:00
Huong Nguyen e566c520de Merge branch 'MDL-81552-main' of https://github.com/junpataleta/moodle 2024-04-17 10:13:15 +07:00
Ilya Tregubov 053506035a Merge branch 'MDL-81569' of https://github.com/marinaglancy/moodle 2024-04-17 11:11:21 +08:00
Jun Pataleta 2e13c434b9 MDL-81549 qtype_ordering: Remove $plugin->requires reference to 3.11 2024-04-17 00:17:01 +08:00
Jun Pataleta 4c233afa6a MDL-81549 versions: Main version bump 2024-04-17 00:17:01 +08:00
Jun Pataleta a180dba314 MDL-81549 versions: bump all versions and requires near release 2024-04-17 00:03:29 +08:00
Sara Arjona b276772f25 Merge branch 'MDL-81556-main' of https://github.com/junpataleta/moodle 2024-04-16 16:58:32 +02:00
Marina Glancy f78de9e614 MDL-81569 tool_uploadcourse: unittests - custom plugins may add roles 2024-04-16 15:43:27 +01:00
Marina Glancy cad4c4a9ab MDL-81569 repository_equela: do not hardcode list of roles in tests 2024-04-16 15:13:43 +01:00
raortegar 40aed04ae1 MDL-81512 core_theme: Use admin_settingpage for theme settings
This also moves any theme settings pages to the themes category instead
of "appearance", so they remain where expected, and avoids adding to
that section if the theme is hidden (so if there are no custom theme
settings, that section will not appear on the page).

Co-authored-by: Michael Hawkins <michaelh@moodle.com>
2024-04-16 17:43:46 +08:00
raortegar 57df4a1dbb MDL-81512 core_theme: Reinstate theme category as custom theme settings 2024-04-16 17:43:46 +08:00
Ilya Tregubov b798633ae0 Moodle release 4.4rc1 2024-04-16 17:14:27 +08:00
Jun Pataleta e69f1b21dc MDL-81556 core: Fix parameter ordering for prefetchString() 2024-04-16 17:05:23 +08:00
Jun Pataleta 548796db50 MDL-81556 tiny_media: Remove unnecessary labels
* Remove usage of label tags that are not associated with any
 form elements.
* Remove setting of title for the label tags. This is not necessary
as the title text is the same as the text showed in the label.
2024-04-16 17:05:22 +08:00
Jun Pataleta 561d48da39 MDL-81552 core: Assign proper webdav_client class variables 2024-04-16 12:54:00 +08:00
Huong Nguyen 7cb20672a7 MDL-81238 quiz: Fix maximum grade alignment 2024-04-16 10:18:33 +07:00
Huong Nguyen 272dd474f9 Merge branch 'MDL-81238-main' of https://github.com/lucaboesch/moodle 2024-04-16 10:16:27 +07:00
Jun Pataleta 9f081d8328 Merge branch 'MDL-80426-main-2' of https://github.com/rezaies/moodle 2024-04-16 11:07:06 +08:00
Adam Olley 4fa4bb7f72 MDL-81553 phpunit: Move controller->destroy() to after its needed
We need to cleanup the controller _after_ we're using the step related
to it. Destroying it before reintroduces the original issue from
MDL-80553.
2024-04-16 11:50:14 +09:30
Andrew Nicols 40e9fa2863 MDL-81525 core: Update column name for replaced hooks 2024-04-15 21:11:30 +08:00
Shamim Rezaie b32617e346 MDL-80426 qtype_ordering: An announcement region to announce reorders 2024-04-15 20:07:11 +10:00
Shamim Rezaie eccfb73839 MDL-80426 qtype_ordering: Remove the unintuitive keyboard handling code
Users can now rearrange options using the move buttons that each option
have, therefore there is no need for the current unintuitive keyboard
interaction implementation in the ordering question type plugin.
2024-04-15 20:07:11 +10:00
Shamim Rezaie 84034c62f0 MDL-80426 qtype_ordering: Move options by single pointer
Each option has a couple of buttons to move the option's position. This
allows moving options by single pointer without dragging to address WCAG
 Success Criterion 2.5.7.
Having the buttons also addresses WCAG Success Criterion 2.1.1 as it
provides an intuitive way to move options using keyboard.
2024-04-15 20:07:11 +10:00
Andrew Nicols b8d4d3ff94 MDL-81525 tool_mfa: Coding style fixups 2024-04-15 13:05:12 +08:00
Andrew Nicols 0428b0ed52 MDL-81525 tool_mfa: Add missing user tag to hook 2024-04-15 13:05:12 +08:00
Andrew Nicols 532be67b73 MDL-81525 mod_quiz: Add missing docs 2024-04-15 13:05:11 +08:00
Andrew Nicols ae48b9525a MDL-81525 core_group: Hook style fixes 2024-04-15 13:05:11 +08:00
Andrew Nicols d8b1156e5b MDL-81525 core_user: Add missing docs 2024-04-15 13:05:11 +08:00
Andrew Nicols b32fb636c5 MDL-81525 core_user: Use stoppable trait for consistency 2024-04-15 13:05:10 +08:00
Andrew Nicols 6db4285eaa MDL-81525 core_user: Move after_complete_login to correct NS 2024-04-15 13:05:10 +08:00
Andrew Nicols 27a6eb0126 MDL-81525 coer_enrol: Use stoppable trait for consistency 2024-04-15 13:05:10 +08:00
Andrew Nicols d602b7d3e3 MDL-81525 core_enrol: Add missing docs 2024-04-15 13:05:10 +08:00
Andrew Nicols a3036b79e1 MDL-81525 core_enrol: Add missing user tag to hook 2024-04-15 13:05:10 +08:00
Andrew Nicols a7aedc7c2f MDL-81525 core_enrol: Correct hook name tense 2024-04-15 13:05:09 +08:00
Andrew Nicols d2dddb715d MDL-81525 core_communication: Correct hook name tense 2024-04-15 13:05:09 +08:00
Andrew Nicols 93619ca6ac MDL-81525 core_course: Add missing docs 2024-04-15 13:05:09 +08:00
Andrew Nicols 4d12330d4b MDL-81525 core_course: Use stoppable trait for consistency 2024-04-15 13:05:09 +08:00
Andrew Nicols fd63e35dd1 MDL-81525 core_course: Correct hook name tense 2024-04-15 13:05:08 +08:00
Andrew Nicols eb2c2117a0 MDL-81525 core: Improve hook docs 2024-04-15 13:05:08 +08:00
Andrew Nicols 613f933442 Merge branch 'MDL-80820' of https://github.com/marinaglancy/moodle 2024-04-15 10:42:22 +08:00
Luca Bösch 444a1acf63 MDL-81238 mod_data: Align search form with BS5 correctly again. 2024-04-14 20:26:51 +02:00
Luca Bösch a3a9a48374 MDL-81238 quiz: Align maximum grade with BS5 correctly again. 2024-04-14 20:26:51 +02:00
Andrew Nicols 8be87eb633 MDL-81525 core: Coding style fixes 2024-04-14 21:49:33 +08:00
Andrew Nicols 6b0793d480 MDL-81525 core: Correct deprecated hook docs 2024-04-14 21:44:07 +08:00
Andrew Nicols 1e36531d0d MDL-81525 core: Tidy up hook tags 2024-04-14 14:45:09 +08:00
Sara Arjona 8cf14f6e70 Moodle release 4.4beta 2024-04-12 13:23:54 +02:00
Tim Hunt 22e4cc9204 MDL-81301 quiz: improve performance of deleting a quiz 2024-04-12 10:44:28 +01:00
Huong Nguyen cc7763b59f Merge branch 'MDL-77015' of https://github.com/paulholden/moodle 2024-04-12 11:45:40 +07:00
Jun Pataleta 3856addfdd Merge branch 'MDL-67667-main' of https://github.com/andrewnicols/moodle 2024-04-12 12:41:39 +08:00
Andrew Nicols 6f1df841f7 MDL-67667 core: Deprecate and removal task blocking
There are inherent issues with task blocking which mean that it has
never worked properly. It is also very buggy and can lead to massive
performance issues with task processing.

It is almost impossible to deprecate this in a staged fashion because
various APIs use the methods and it is not possible to determine which
are API uses and which are other valid uses.

In reality there has been little-to-no uptake on the use of this feature
and it should just be removed.
2024-04-12 12:34:20 +08:00
Andrew Nicols a1b0fe9b9c MDL-67667 core: Deprecate task blocking 2024-04-12 12:15:44 +08:00
Shamim Rezaie e370220f37 Merge branch 'MDL-81500-main' of https://github.com/mihailges/moodle 2024-04-12 14:12:50 +10:00
Huong Nguyen f9871d914a Merge branch 'MDL-65381-master' of https://github.com/jleyva/moodle 2024-04-12 11:11:04 +07:00
Andrew Nicols 8acda4e048 Merge branch 'MDL-70829-main' of https://github.com/junpataleta/moodle 2024-04-12 11:58:32 +08:00
Huong Nguyen b9ddcba44c MDL-79174 availability: Behat cleanups 2024-04-12 10:56:13 +07:00
Huong Nguyen b5cf1ff886 Merge branch 'MDL-79174_master' of https://github.com/marxjohnson/moodle 2024-04-12 10:54:54 +07:00
Andrew Nicols 601ef0f72d Merge branch 'MDL-81192_main' of https://github.com/marxjohnson/moodle 2024-04-12 11:48:06 +08:00
Jun Pataleta 1c4f896883 MDL-70829 output: Remove the presentation role for html_writer::img()
* A presentation role is not necessary for the img tag.
  - If a non-empty alt text is provided, the presentation role will
  conflict with the alt text.
  - An empty alt text denotes a decorative image. The presence of a
  presentation role is redundant.
* Make sure that the alt text is set to an empty string. Otherwise,
  an img tag without an alt attribute will be produced which is an
  invalid markup.
2024-04-12 11:44:22 +08:00
Ilya Tregubov da1528c1f6 Merge branch 'MDL-80638-main' of https://github.com/laurentdavid/moodle 2024-04-12 11:29:16 +08:00
Jun Pataleta 371f59c20b MDL-70829 core: Set the icon of action icons as a decorative image
* When text is rendered for the action icon, set the icon as a
decorative image by setting empty alt and title attributes and adding
the aria-hidden attribute as well. Otherwise, assistive technologies
will read the action name twice.
2024-04-12 11:21:03 +08:00
Jun Pataleta f17285be09 MDL-70829 block_recentlyaccesseditems: Move listitem role out of <a>
* Axe DevTools flags an error on the recently accessed items block that
the listitem role is not allowed for <a> tags. This is because the
"listitem" role will override the native semantic meaning of the course
links. So the solution is to move the course links within a <div> tag
with the listitem role instead.
2024-04-12 11:21:03 +08:00
Jun Pataleta da52f35637 MDL-70829 tool_lp: Add empty alt text for decorative image
* The decorative image for the course modules in the user competency
summary modal is missing an empty alt text.
2024-04-12 11:21:03 +08:00
Jun Pataleta 49a37d198e MDL-70829 theme_boost: Make context header icons decorative
The non-empty alt text for the icons of the context header buttons like
the "Message" and the "Add contact" buttons cause redundant information
to be read twice by screen readers when the buttons are rendered with
the icon and the button name. The icons need to be set as decorative by
setting an empty alt text for them.
* The presentation role is also unnecessary.
* The alt text is needed when the button gets rendered without the
button name text.
2024-04-12 11:21:03 +08:00
Andrew Nicols dbb8155b15 Merge branch 'MDL-78902' of https://github.com/timhunt/moodle 2024-04-12 11:18:28 +08:00
Huong Nguyen 9bb1463024 Merge branch 'MDL-81320' of https://github.com/paulholden/moodle 2024-04-12 10:11:12 +07:00
Jun Pataleta b353535c0e MDL-70829 core_search: Mark up decorative image properly
* An empty alt text is enough for decorative images. There's no need
  to set a presentation role.
2024-04-12 10:42:11 +08:00
Jun Pataleta 0234499035 MDL-70829 enrol_manual: Mark up decorative image properly
* An empty alt text is enough for decorative images. There's no need
  to set a presentation role.
2024-04-12 10:42:11 +08:00
Jun Pataleta 013d68a7ad MDL-70829 mod_workshop: Mark up decorative images properly
* Decorative images should have an empty alt text and there's no need
to set a presentation role.
2024-04-12 10:42:11 +08:00
Jun Pataleta 020756e0f1 MDL-70829 mod_quiz: Mark up decorative images properly
* Decorative images should have an empty alt text and there's no need
to set a presentation role.
* Accessibility Behat tests added to cover the changes
2024-04-12 10:42:11 +08:00
Jun Pataleta 04ec43be5e MDL-70829 mod_data: Mark up decorative images properly
* Decorative images should have an empty alt text and there's no need
to set a presentation role.
* Accessibility Behat tests added to cover the changes
2024-04-12 10:42:10 +08:00
Jun Pataleta 91837d0553 MDL-70829 course: Mark up decorative images properly
* Decorative images should have an empty alt text and there's no need
to set a presentation role.
* Accessibility Behat tests added to cover the changes:
  - block_starredcourses uses the core_course/no-courses template
  - core_completion tests changes in core_course/activity instance and
    core_course/editdefaultcompletion
2024-04-12 10:42:10 +08:00
Jun Pataleta eb38033024 MDL-70829 block_recentlyaccesseditems: Mark up decorative image properly
* The zero state image is purely decorative so there's no need to
set a non-empty alt text for it.
* The presentation role is also unnecessary for decorative image with
empty alt.
* Accessibility Behat tests added to cover changes
2024-04-12 10:42:10 +08:00
Jun Pataleta cfcf79499b MDL-70829 block_myoverview: Mark up decorative image properly
* The zero state image is purely decorative so there's no need to
set a non-empty alt text for it.
* The presentation role is also unnecessary for decorative image with
empty alt.
* Accessibility Behat tests added to cover changes
2024-04-12 10:42:10 +08:00
Jun Pataleta 31b4e4c7a0 MDL-70829 tool_lp: Remove presentation role for decorative images
* Behat tests in report_competency added to test the user summary
display in the user competency summary modal.
2024-04-12 10:42:10 +08:00
Jun Pataleta 5289581d06 MDL-70829 core: Remove presentation role for decorative images
* An image with non-empty alt text should not have a presentation role.
* An empty alt attribute is sufficient for decorative images. No need to
add a presentation role for them.
* Additionally, if there is already text that is present for an image,
there's no need to add an alt text with the same text. Such images are
decorative and should just have an empty alt text.
2024-04-12 10:42:09 +08:00
Huong Nguyen eea6ff96e0 Merge branch 'MDL-81256' of https://github.com/marinaglancy/moodle 2024-04-12 08:58:03 +07:00
Shamim Rezaie 363c593cbb Merge branch 'MDL-81306-main' of https://github.com/andrewnicols/moodle 2024-04-12 11:45:25 +10:00
Huong Nguyen 64780d8f4c Merge branch 'MDL-81316-main' of https://github.com/andrewnicols/moodle 2024-04-12 08:36:29 +07:00
Huong Nguyen c9a26138a2 Merge branch 'MDL-81420-main' of https://github.com/sarjona/moodle 2024-04-12 08:33:47 +07:00
Andrew Nicols 1d25d54e2c Merge branch 'MDL-74610-mysql-fix' of https://github.com/timhunt/moodle 2024-04-12 08:57:17 +08:00
Ilya Tregubov 1addf36711 Merge branch 'MDL-80160-main-siteadminsconfigphp' of https://github.com/mudrd8mz/moodle 2024-04-12 08:47:59 +08:00
Shamim Rezaie 3b1874aba7 Merge branch 'MDL-81482' of https://github.com/AnupamaSarjoshi/moodle 2024-04-12 09:30:38 +10:00
Shamim Rezaie 54561aacec Merge branch 'MDL-80203-main' of https://github.com/sarjona/moodle 2024-04-12 09:23:05 +10:00
Tomo Tsuyuki f119c5a3fe MDL-78902 quiz restore: fix restore of 3.x backups with random questions
... where the random questions come from the quiz module context.

Co-authored-by: Tim Hunt <T.J.Hunt@open.ac.uk>
2024-04-11 22:09:28 +01:00
Sara Arjona efe4caa8b2 Merge branch 'MDL-81472' of https://github.com/paulholden/moodle 2024-04-11 17:35:38 +02:00
Andrew Nicols d26c40db26 Merge branch 'MDL-81114' of https://github.com/timhunt/moodle 2024-04-11 23:25:22 +08:00
Tim Hunt ee80a41dd5 MDL-74610 quiz: fix grade items query for MySQL 2024-04-11 13:55:19 +01:00
Sara Arjona 54960f8e15 Merge branch 'MDL-81383' of https://github.com/timhunt/moodle 2024-04-11 12:49:29 +02:00
Tim Hunt 0b8c6bd64d MDL-81383 questions: get_filtered_questions order should be predictable
This method supports $limit and $offset paramters. The query must have
a predictable ORDER BY for that to make sense.
2024-04-11 10:25:50 +01:00
Sara Arjona e8aee4a120 Merge branch 'MDL-80195' of https://github.com/pedrojordao/moodle 2024-04-11 11:03:21 +02:00
Mihail Geshoski 5c970e790e MDL-81500 tool_lp: Fix misaligned search button in competency picker 2024-04-11 16:43:09 +08:00
Mark Johnson 337a0ee705 MDL-81192 sessions: Prevent false positive session change errors
If $CFG->enable_read_only_sessions_debug was not enabled, debugging could be
enabled part-way through a request when restart_with_write_lock was
called. This meant that a diff between the initial and final session
would be made during write_close(), although the intial session state
was never captured. This generated false positives in the logs, and it
thought any variable set in the session was a change from the original
value.

This ensures that debugging is enabled before the debug flag is allowed
to change, preventing false positives.
2024-04-11 08:55:11 +01:00
Ilya Tregubov c9eab29d37 Merge branch 'MDL-81480-main' of https://github.com/meirzamoodle/moodle 2024-04-11 15:48:07 +08:00
Andrew Nicols 64aedb9b24 MDL-77967 core_user: Coding style fixes in tests 2024-04-11 14:00:46 +08:00
Andrew Nicols b64dff686e Merge branch 'MDL-77967-main' of https://github.com/rmady/moodle 2024-04-11 13:56:54 +08:00
Huong Nguyen 3ec5b464d2 Merge branch 'MDL-81362-master' of https://github.com/ssj365/moodle 2024-04-11 12:49:32 +08:00
Huong Nguyen 7e2da937d5 Merge branch 'MDL-81327-main' of https://github.com/laurentdavid/moodle 2024-04-11 12:49:32 +08:00
Andrew Nicols 4c4594e2ac Merge branch 'MDL-81227' of https://github.com/timhunt/moodle 2024-04-11 12:49:31 +08:00
Andrew Nicols 1ec7174072 MDL-80985 core: Whitespace fixes 2024-04-11 12:49:27 +08:00
Andrew Nicols 5c16854483 Merge branch 'MDL-80985-add-purge-course-caches-option-main' of https://github.com/jwcatau/moodle 2024-04-11 10:41:13 +08:00
Ilya Tregubov 160277d17c Merge branch 'MDL-81491-main' of https://github.com/snake/moodle 2024-04-11 09:52:04 +08:00
Huong Nguyen ef2b329fef Merge branch 'MDL-81476-main' of https://github.com/stevandoMoodle/moodle 2024-04-11 08:50:30 +07:00
Ilya Tregubov dd364a04a0 Merge branch 'MDL-81494-main' of https://github.com/HuongNV13/moodle 2024-04-11 09:19:54 +08:00
Shamiso.Jaravaza b4f9582938 MDL-81362 mod_bigbluebuttonbn: Fix content type 2024-04-10 12:12:00 -06:00
Sara Arjona c42ca73e11 Merge branch 'MDL-74977-main' of https://github.com/HuongNV13/moodle 2024-04-10 15:50:50 +02:00
Paul Holden 17fd4fe8f5 Merge branch 'MDL-81489' of https://github.com/lostrogit/moodle into main 2024-04-10 14:03:10 +01:00
Paul Holden ea81c5457d Merge branch 'MDL-81488' of https://github.com/dravek/moodle into main 2024-04-10 13:57:09 +01:00
Huong Nguyen 6d40f11806 MDL-74977 core_courseformat: add expanded section update actions
This also fix the Random "Course content preferences" Behat failure
2024-04-10 18:11:00 +07:00
meirzamoodle c9cb89323c MDL-81480 core: Sets user-level session storage functions
Also added @runInSeparateProcess on each session Redis cluster test to let the test run
in a separate process to avoid the error "the headers are not already sent" by PHPUnit.
2024-04-10 17:27:20 +07:00
Sara Arjona fa7eece0f3 Merge branch 'MDL-80633-main' of https://github.com/laurentdavid/moodle 2024-04-10 12:21:41 +02:00
Huong Nguyen 6012fa0af6 MDL-81494 adhoc_task: Added missing space for query condition 2024-04-10 17:15:55 +07:00
Sara Arjona 0ea5aee08a Merge branch 'MDL-81458-main-1' of https://github.com/mihailges/moodle 2024-04-10 12:12:55 +02:00
Jake Dallimore 1826c5e1d4 MDL-81491 enrol_lti: fix incorrect login_hint parameter type validation
This was always bad, but since we only used it to verify the existence
of the param, and let library code take $_REQUEST for the real
validation, it was ok. Now, since we're redirecting to self during
necessary cookie checks added by MDL-80835, we lose the real value
originally stored in $_REQUEST. This patch just fixes the param type,
setting it to raw, which is what it should have used originally. The
raw value won't be cast from a string to an int as part of the
require_param call, so the value won't be lost any more.
2024-04-10 17:41:50 +08:00
Carlos Castillo 92211f291f MDL-81489 reportbuilder: Optional tags when create/update reports
Make tags property optional when create/update report.
2024-04-10 10:17:22 +02:00
David Carrillo 45d366d463 MDL-81488 reportbuilder: Fix incorrect string in report number filter 2024-04-10 09:23:10 +02:00
Laurent David 45816d40b2 MDL-80633 lib: Modify moodle files after codemirror upgrade 2024-04-10 09:22:45 +02:00
Laurent David e37bd90064 MDL-80633 lib: Upgrade beautify to 1.15.1 2024-04-10 09:22:45 +02:00
Huong Nguyen ca449af186 Merge branch 'MDL-81351-main-enfix' of https://github.com/mudrd8mz/moodle 2024-04-10 13:54:56 +07:00
Ilya Tregubov a7d9658d55 Merge branch 'MDL-81063-main' of https://github.com/andrewnicols/moodle 2024-04-10 14:30:31 +08:00
Andrew Nicols dd94dea8c2 MDL-81063 tool_usertours: Allow hooks to manage usertour filters
Two new hooks are introduced to allow plugins to add their own user tour
filters.

Separate hooks are identified for both clientside, and serverside
filters.
2024-04-10 12:41:32 +08:00
Andrew Nicols dae36f6cfa MDL-81063 core: Add helper to get component name from classname 2024-04-10 12:41:31 +08:00
Andrew Nicols 29fc61c2a5 MDL-81063 core: Add option to get core in list of components 2024-04-10 12:41:31 +08:00
Huong Nguyen 27ada55bab Merge branch 'MDL-81391-main' of https://github.com/davewoloszyn/moodle 2024-04-10 11:30:51 +07:00
Huong Nguyen dbc6a5798f Merge branch 'MDL-81182' of https://github.com/aolley/moodle 2024-04-10 11:24:02 +07:00
Huong Nguyen 7f3c0f2d31 Merge branch 'MDL-81459-main' of https://github.com/andrewnicols/moodle 2024-04-10 08:53:20 +07:00
Anupama Sarjoshi 6f0fde1fe3 MDL-81482 Questions: Fix questionlib_test PHPUnit tests 2024-04-09 16:43:07 +01:00
Mihail Geshoski 4b1dfe6a40 MDL-81458 qtype_ordering: Address failing unit tests
Fixes the failing unit tests in the ordering question type by
implementing the following adjustments and corrections:
- Ensure the missing required files are imported in
  questionhint_test.php and questiontype_test.php.
- Modify the expected fraction values in testexport.moodle.xml to
  accurately reflect the recent changes, specifically the type
  casting of the fraction value stored for each answer into the
  question object.
- Reorder the items in the answers array within the failing scenario
  in specific_grade_detail_feedback_test.php to guarantee that, in
  accordance with the randomly generated subset of correct answers,
  the question attempt will consistently be incorrect as required.
- Pass the answer codes in the order of the defined response when
  calling the process_submission() function in feedback_test.php
  to ensure the response in the current question attempt is properly
  set, rather than relying on random generation of the response which
  may result in random test failures.
2024-04-09 23:18:14 +08:00
Mihail Geshoski 72e9a1bbd9 MDL-81458 question: Cast the fraction value to a float
When retrieving the answer data from the database, it's essential to
cast the value of the answer's fraction to a float before storing it
into the question object. This step is crucial for ensuring consistency,
as some database engines return floats as strings like '1.0000000'.
2024-04-09 23:18:14 +08:00
Andrew Nicols 99de5dae2b Merge branch 'MDL-74610' of https://github.com/timhunt/moodle 2024-04-09 22:23:03 +08:00
Sara Arjona d84f466062 Merge branch 'MDL-81307-main' of https://github.com/roland04/moodle 2024-04-09 16:18:26 +02:00
Tim Hunt d55e486a7e MDL-74610 quiz: multiple grades - UI improvements 2024-04-09 15:11:45 +01:00
Tim Hunt 2ad60df93d MDL-74610 quiz: multiple grades - summarise feature in upgrade.txt 2024-04-09 15:11:44 +01:00
Tim Hunt 0b7805199f MDL-74610 quiz: add extra grades to web services the mobile app uses 2024-04-09 15:11:44 +01:00
Tim Hunt e6e427073c MDL-74610 quiz: multiple grades - fix display on quiz intro page 2024-04-09 15:11:44 +01:00
Tim Hunt b77d6b1450 MDL-74610 quiz: multiple grades - show in quiz reports 2024-04-09 15:11:43 +01:00
Stevani Andolo c9e0a29eba MDL-81476 admin_reportbuilder: Fixed user list page
This is basically just bringing back the same check done prior to
MDL-79270 where if there is no data being returned the default value for
the accessctr would be "allow".
2024-04-09 22:04:40 +08:00
Tim Hunt 48304bd2f8 MDL-74610 quiz: multiple grades - setup for sections button 2024-04-09 14:59:49 +01:00
Tim Hunt 9a1b85aa4c MDL-74610 quiz: multiple grades - reset all button 2024-04-09 14:59:49 +01:00
Tim Hunt a65260daa8 MDL-74610 quiz: multiple grades - show mark info when editing 2024-04-09 14:59:48 +01:00
Tim Hunt b4467adf52 MDL-74610 quiz: multiple grades - display grades to student 2024-04-09 14:59:47 +01:00
Tim Hunt ba40067746 MDL-74610 quiz: refactor rendering of '6.00 out of 10.00' into a helper 2024-04-09 14:59:45 +01:00
Tim Hunt 81495189fc MDL-74610 quiz: update the grade setup page without reloads 2024-04-09 14:59:45 +01:00
Tim Hunt bbe11e1cea MDL-74610 quiz: multiple grades - update slot grade items 2024-04-09 14:59:44 +01:00
Tim Hunt a47705c09e MDL-74610 quiz: multiple grades - show grade items 2024-04-09 14:59:44 +01:00
Tim Hunt be49319a87 MDL-74610 quiz: multiple grades - rename grade item 2024-04-09 14:59:43 +01:00
Tim Hunt 6794f1293f MDL-74610 quiz: multiple grades - add grade item 2024-04-09 14:59:42 +01:00
Tim Hunt e3f3416400 MDL-74610 quiz: multiple grades - delete grade item UI 2024-04-09 14:59:41 +01:00
Tim Hunt d4d66c2e28 MDL-74610 quiz mulitple grades: display the grade items that exist
AMOS BEGIN
 CPY [gradeitems,core_grades],[gradeitems,mod_quiz]
AMOS END
2024-04-09 14:59:41 +01:00
Tim Hunt e499098838 MDL-74610 quiz multiple grades: backup and restore of the new data 2024-04-09 14:59:40 +01:00
Tim Hunt 857681092a MDL-74610 quiz: web services for crud on quiz grade items 2024-04-09 14:59:39 +01:00
Tim Hunt 3dfd7b9b38 MDL-74610 quiz: web service to update grade item for a slot 2024-04-09 14:59:39 +01:00
Tim Hunt 952c6d52c4 MDL-74610 quiz: multiple grades - test generators 2024-04-09 14:59:38 +01:00
Tim Hunt 4f60c198b7 MDL-74610 quiz: multiple grades - new DB schema 2024-04-09 14:59:38 +01:00
Tim Hunt dfb3de1eb3 MDL-74610 quiz: multiple grades - UI mockup and nav 2024-04-09 14:59:37 +01:00
Sara Arjona c26797f315 Merge branch 'MDL-81451-main' of https://github.com/lucaboesch/moodle 2024-04-09 15:31:05 +02:00
Sara Arjona e188a28add MDL-80203 courseformat: Set action menu for delegated sections
Co-authored by: Ferran Recio <ferran@moodle.com>
2024-04-09 15:28:16 +02:00
Sara Arjona dfb6a3ce16 MDL-80203 courseformat: Fix some typos and PHPDoc 2024-04-09 15:28:16 +02:00
Sara Arjona e42e16d8ba MDL-81420 enrol: Remove duplicated header in editing form 2024-04-09 15:27:51 +02:00
Laurent David 5de9585114 MDL-80638 lib: Update Webauthn Moodle related files 2024-04-09 15:12:04 +02:00
Laurent David 428221829d MDL-80638 lib: Update WebAuthn to 2.1.1 2024-04-09 15:12:04 +02:00
Laurent David aea57c9f1e MDL-80633 lib: Adjust build.sh to new version
* Repository beautifier-web/js-beautify has moved to beautifier/js-beautify
* Display version for codemirror and beautify so to easily add them in thirdpartylibs.xml
2024-04-09 15:11:31 +02:00
Laurent David 59e63c2081 MDL-81327 report_loglive: Apply the same fixes to loglive
* Additional fix: take into account selected group (filter)
2024-04-09 15:10:37 +02:00
Andrew Nicols a1ee9cdbdb MDL-81327 report_log: Make group filtering logstore agnostic
The original implementation of group filtering introduced in MDL-80565
assumed that the log table existed in Moodle's own database. This is not
the case of the database logstore, or any similar logstore implemetning
the database \core\log\sql_reader interface.

Furthermore this check was also applying the SQL when the user had the
`accessallgroups` capability, or when the course was not in SEPARATE
groups mode (no groupmode and/or visible groups).

Co-authored: Laurent David <laurent.david@moodle.com>
2024-04-09 15:10:37 +02:00
Laurent David b418eff39d MDL-81327 report_log: Fix col_fullusername
* Avoid calling get_user_fullname too many times and
deal with the case that $event->userid is empty
2024-04-09 15:10:37 +02:00
Andrew Nicols ab70c74a04 MDL-81327 core: Remove unnecessary table filter
The \Traversable interface does not define the `valid` method.
Furthermore, the `valid` method actually checks that there is a _next_
value, which requires the value already be fetched and waiting. This is
not the case for all Iterators. For example the CallbackFilterIterator
does not load the initial value until it is requested.

It is completely unnecessary to do this check anyway as an invalid
Iterator will just not return any values.
2024-04-09 15:10:37 +02:00
Mikel Martín a4c611febb MDL-81307 core_courseformat: Add bulk styles for small devices 2024-04-09 13:23:01 +02:00
Paul Holden 4157d3672b MDL-81472 mod_scorm: add missing library require to privacy class. 2024-04-09 11:36:52 +01:00
Sara Arjona b621a7e4b3 on-demand release 4.4dev+ 2024-04-09 12:08:35 +02:00
Sara Arjona 3c5de1940b Merge branch 'MDL-81456-main' of https://github.com/andrewnicols/moodle 2024-04-09 10:18:01 +02:00
Andrew Nicols 62c560dff2 MDL-81456 core: Correct namespace imports 2024-04-09 16:13:42 +08:00
Huong Nguyen e168c1d089 MDL-81333 core_communication: Coding style fixups
- Remove superflous coverage information
 - Use language string for group room name format
2024-04-09 10:24:09 +07:00
Huong Nguyen 2ec967e12b Merge branch 'MDL-81333-main' of https://github.com/davewoloszyn/moodle 2024-04-09 10:22:34 +07:00
Jake Dallimore b34930bfe6 Merge branch 'MDL-81060-main-fix' of https://github.com/meirzamoodle/moodle 2024-04-09 10:13:25 +08:00
Ilya Tregubov 9c53b229f2 Merge branch 'MDL-81337-main-behat-fix' of https://github.com/lameze/moodle 2024-04-09 09:21:58 +08:00
Simey Lameze 27b14a64b5 MDL-81337 behat: use new step to open add activity dialogue 2024-04-09 09:05:01 +08:00
Pedro Jordao 942868a1a6 MDL-80195 forms: Keep dropdown menu open when tabbing into datepicker
When accessing a datepicker that is within a dropdown menu using the tab
key, the navigation sequence was changed since the datepicker code is
not rendered within the dropdown menu element, thus the dropdown was
closed as it was understood that we were not more inside it.
Furthermore, when exiting the datepicker by pressing tab, as the
dropdown was closed, the navigation jumped to the first element on the
page, which is the link to Skip to main content.

To resolve this, a validation was added that keeps the dropdown menu
open if the datepicker is open and accessed via the tab key.
2024-04-08 12:57:18 -03:00
Luca Bösch 775e4ae79f MDL-81451 qtype_missingtype: adopt icon size to other. 2024-04-08 17:26:41 +02:00
Sara Arjona b3ef3ecb8d Merge branch 'MDL-81298-main' of https://github.com/vithushau/moodle 2024-04-08 17:11:49 +02:00
Didier 'OdyX' Raboud 74a582c502 MDL-65381 grade_report: fix empty separate groups own grades access
On separate groups' courses, users without groups could not access
their own grade items.
2024-04-08 17:01:07 +02:00
Sara Arjona 411180831e Merge branch 'MDL-78457' of https://github.com/paulholden/moodle 2024-04-08 16:54:38 +02:00
Sara Arjona 6b9667f2b8 Merge branch 'MDL-81449-main' of https://github.com/lucaboesch/moodle 2024-04-08 16:27:55 +02:00
Sara Arjona 099ceb42a0 Merge branch 'MDL-81456-main' of https://github.com/andrewnicols/moodle 2024-04-08 16:11:26 +02:00
Andrew Nicols dc0cf1f273 MDL-81209 core: Unit test should not care about plugin details 2024-04-08 20:54:48 +08:00
Sara Arjona 44d3549a4b Merge branch 'MDL-78096-main-alt' of https://github.com/meirzamoodle/moodle 2024-04-08 13:13:38 +02:00
Sara Arjona 1f76843f25 MDL-81337 behat: Fix behat failures
A tooltip has been added to the + icons in between activities with the
same text as the "Add an activity or resource" button.
The easiest way to fix the behat failures is to click this
button in empty sections (that way, the button is unique).
2024-04-08 12:44:40 +02:00
Sara Arjona 20475ec9a5 Merge branch 'MDL-81462' of https://github.com/stronk7/moodle 2024-04-08 11:34:20 +02:00
Marina Glancy 42c76b711a MDL-80820 lib/pear: phpdoc corrections 2024-04-08 10:13:39 +01:00
Marina Glancy ef1759da74 MDL-80820 various: fix incorrect phpdocs 2024-04-08 10:13:10 +01:00
Huong Nguyen 21c0470541 Merge branch 'MDL-75037' of https://github.com/paulholden/moodle 2024-04-08 16:06:00 +07:00
Marina Glancy 33c528aaec MDL-81256 lib: fix rounding of thumbnail image size 2024-04-08 10:01:04 +01:00
James Williams 5e05ad570f MDL-80985 core: Add --courses argument to purge_caches.php 2024-04-08 18:34:13 +10:00
Huong Nguyen 53024802bc Merge branch 'MDL-81446-main' of https://github.com/andrewnicols/moodle 2024-04-08 15:32:19 +07:00
Jake Dallimore 4c2b9f55f0 Merge branch 'MDL-81405-master' of https://github.com/jleyva/moodle 2024-04-08 15:35:00 +08:00
David Woloszyn 07ffa049a9 MDL-81391 core_communication: Check processor before using its methods 2024-04-08 17:08:05 +10:00
Eloy Lafuente (stronk7) ed84111010 MDL-81462 phpunit: Add missing controller->destroy()
So we ensure that all file descriptors and backup temp structures
are properly closed and cleaned up.
2024-04-08 08:57:31 +02:00
Ilya Tregubov 84b1cbd474 Merge branch 'MDL-81409-main' of https://github.com/snake/moodle 2024-04-08 12:44:45 +08:00
Andrew Nicols 5ff5cf8203 MDL-81459 core: Correct order of legacy callback processing 2024-04-08 12:10:41 +08:00
Andrew Nicols 666e830b25 MDL-81459 core: Add missing legacy callback for header hook 2024-04-08 12:10:28 +08:00
Huong Nguyen def6f6ee87 Merge branch 'MDL-81337-main' of https://github.com/lucaboesch/moodle 2024-04-08 10:38:06 +07:00
Huong Nguyen 28adb1e462 Merge branch 'MDL-80934-main' of https://github.com/laurentdavid/moodle 2024-04-08 09:12:57 +07:00
Jake Dallimore e5fca6909e MDL-81060 core: fix incorrect userquota usage in zip_packer
This change reverts much of MDL-74641, removing the erroneous userquota
checks from zip_packer. Now, during extraction, the zip_packer will exit
with an error status when it encounters a file which is larger than its
advertised size, and NOT when it determines the size of the extracted
files have exceeded the userquota (which only applies to private files
and which was used incorrectly here). It also reverts changes to the
draftfiles_ajax.php file, restoring the original (pre-MDL-74641) error
handling.
2024-04-08 09:08:24 +07:00
Huong Nguyen 6b7d9b5e8a Merge branch 'MDL-81402-main' of https://github.com/sh-csg/moodle 2024-04-08 09:02:40 +07:00
Andrew Nicols 4475617583 MDL-81456 core: Provide info about mocking hooks 2024-04-08 09:39:18 +08:00
Andrew Nicols 4a1752781f MDL-81456 core: Coding style fixups 2024-04-08 09:36:22 +08:00
Andrew Nicols 3cc3511fa2 MDL-81456 core: Remove superflous coverage information 2024-04-08 09:36:22 +08:00
Andrew Nicols 71e8387a96 MDL-81456 core: Move hook fixtures to more appropriate location 2024-04-08 09:36:22 +08:00
Andrew Nicols d7e1f2cef7 MDL-81456 core: Run tests modifying core_component in a separate process 2024-04-08 09:36:21 +08:00
Andrew Nicols fa2e11105a MDL-81456 core: Stop injecting test data into real hook manager 2024-04-08 09:36:21 +08:00
Andrew Nicols 2b49ad42f5 MDL-81456 core: Use DI for all hook access
Using DI for all hook access means that it becomes significantly easier
to mock hooks and callbacks for unit testing without fundamentally
altering the structure of the code purely for the purposes of unit
testing.
2024-04-08 09:35:41 +08:00
Andrew Nicols 5b9fdc0e9a MDL-81457 core: Do not mark tests as Incomplete when they are wrong
This check was marking a test as Incomplete if there was a bug in any
part of the test, rather than failing the test in such a way that the
test bug may be found.

https://docs.phpunit.de/en/9.6/incomplete-and-skipped-tests.html
2024-04-08 08:45:27 +08:00
Andrew Nicols d9a8eb2bdb MDL-81457 core: Mark SSL test as skipped, not incomplete
The incomplete test is intended for tests which are written but whose
code does not yet exist.

https://docs.phpunit.de/en/9.6/incomplete-and-skipped-tests.html
2024-04-08 08:45:16 +08:00
Juan Leyva 8ed83886f3 MDL-81405 tool_mobile: Set Partitioned cookie for the mobile app 2024-04-06 12:21:00 +02:00
Juan Leyva e09930bab6 MDL-81405 session: New core cookie helper utility class 2024-04-06 12:20:59 +02:00
Paul Holden 52aa6bbe12 MDL-81320 datafield_checkbox: account for empty field content. 2024-04-05 15:16:34 +01:00
Luca Bösch d3c4345d81 MDL-81451 qtype_gapfill: adopt icon size to other. 2024-04-05 16:00:29 +02:00
Luca Bösch f6b396012f MDL-81449 qtype_ordering: adopt icon size to other. 2024-04-05 15:35:03 +02:00
Luca Bösch 5af261d8f5 MDL-81337 core_courseformat: Add 'Add section' / 'Add content' tooltips. 2024-04-05 15:09:22 +02:00
Sara Arjona 26649f5750 on-demand release 4.4dev+ 2024-04-05 13:23:37 +02:00
Sara Arjona 852ef9cbfc NOBUG: Fixed SVG browser compatibility 2024-04-05 13:23:32 +02:00
Sara Arjona 6f3bf87f41 Merge branch 'MDL-79863-patch' of https://github.com/ilyatregubov/moodle 2024-04-05 10:07:40 +02:00
Ilya Tregubov 4243d21377 MDL-79863 qtype_ordering: Fix Behat test for backup and restore
We recently started to turn on async backup by default.
2024-04-05 16:00:11 +08:00
Huong Nguyen c11e160812 MDL-79920 tool_mfa: Minor updates
- String deprecation
 - Use Prefetch for language strings
2024-04-05 11:29:20 +07:00
Huong Nguyen 8a5022a5e7 Merge branch 'MDL-79920-main' of https://github.com/davewoloszyn/moodle 2024-04-05 11:28:26 +07:00
Andrew Nicols 554e491b6f Merge branch 'MDL-80028-h5p_caps' of https://github.com/leonstr/moodle 2024-04-05 11:55:54 +08:00
Ilya Tregubov 313479e29f Merge branch 'MDL-81358' of https://github.com/paulholden/moodle 2024-04-05 11:37:11 +08:00
Ilya Tregubov e5592f4c14 Merge branch 'MDL-81400-main' of https://github.com/roland04/moodle 2024-04-05 11:29:52 +08:00
Andrew Nicols 27c42aad0f MDL-79863 qtype_ordering: Correctly order langstrings 2024-04-05 10:47:04 +08:00
Andrew Nicols 606158ca81 Merge branch 'MDL-79863-ordering' of https://github.com/Chocolate-lightning/moodle 2024-04-05 10:07:23 +08:00
Andrew Nicols 443ad94a77 MDL-81446 core: Bump absolute minimum PHP version supported 2024-04-05 10:04:29 +08:00
Mathew May 135ed5b145 MDL-79863 qtype_ordering: Include required qtype function 2024-04-05 09:47:58 +08:00
Mathew May 178bed033a MDL-79863 qtype_ordering: Remove PHPDocs from overridden blocks 2024-04-05 09:47:58 +08:00
Mathew May 460e3b5a61 MDL-79863 question: Update docblocks 2024-04-05 09:47:58 +08:00
Ilya Tregubov fedeefa784 Merge branch 'MDL-81406' of https://github.com/paulholden/moodle 2024-04-05 09:27:04 +08:00
Mathew May 7dda680e06 MDL-79863 qtype_ordering: Update comments and remove unused functions 2024-04-05 09:24:02 +08:00
Mihail Geshoski d0a9505cee MDL-79863 qtype_ordering: Fix access control to files
The implementation of the check_file_access() method needs to be added
in the qtype_ordering_question class in order to ensure the users have
the appropriate access rights to a particular file.
2024-04-05 09:24:02 +08:00
Mathew May 881107a977 MDL-79863 qtype_ordering: Unit test updates 2024-04-05 09:24:02 +08:00
Mathew May fbfbb7272a MDL-79863 format_gift: Set ID & tags from comment
Previously, third party imports could not add tags or the self defined ID numbers.
This is because if the plugin defines an import it just returns after completing skipping this non specific function.
2024-04-05 09:24:02 +08:00
Mathew May 3d68bd3fa7 MDL-79863 qtype_ordering: Core changes 2024-04-05 09:24:02 +08:00
Mathew May 385d40dfe1 MDL-79863 qtype_ordering: Remove third party files 2024-04-05 09:24:02 +08:00
Mathew May db7abb51cb MDL-79863 qtype_ordering: Code checker & behat
Part of: MDL-79863
2024-04-05 09:24:02 +08:00
Mathew May aa2ef1fe9c MDL-80416 qtype_ordering: Tests for reuse functionality
Part of: MDL-79863
2024-04-05 09:24:02 +08:00
Mihail Geshoski 6631b37eca MDL-79879 qtype_ordering: Improve the settings page
Part of: MDL-79863
2024-04-05 09:23:59 +08:00
David Woloszyn 5662d6a619 MDL-79920 tool_mfa: Tests for new MFA methods and layout 2024-04-05 10:10:09 +11:00
David Woloszyn c415eed491 MDL-79920 factor_email: String changes for email factor 2024-04-05 10:10:09 +11:00
David Woloszyn a64b26cb86 MDL-79920 factor_sms: Improvements to the sms setup
Unlike other configurable factors, sms factor is not yet compatible
with the newly introduced replace action.
2024-04-05 10:10:09 +11:00
David Woloszyn dbef09ab19 MDL-79920 factor_totp: Improvements to the totp setup 2024-04-05 10:10:09 +11:00
David Woloszyn 71a5622c71 MDL-79920 factor_webauthn: Improvements to the webauthn setup 2024-04-05 10:10:09 +11:00
David Woloszyn 34bc9a2e9f MDL-79920 tool_mfa: Improve MFA management for users
Includes the ability to replace/update a factor. Major changes to
classes and strings were performed to allow for these improvements.
2024-04-05 10:10:09 +11:00
David Woloszyn b2ed67eb43 MDL-79920 theme: Introduced new icon circle css class 2024-04-05 10:10:09 +11:00
Andrew Nicols 91cacf6319 MDL-81084 core: Correct | to || 2024-04-05 07:02:35 +08:00
Sara Arjona 5949ac50f6 Merge branch 'MDL-81084-main' of https://github.com/andrewnicols/moodle 2024-04-04 17:55:48 +02:00
Sara Arjona 0447aa9144 Merge branch 'MDL-4188-main-2' of https://github.com/HuongNV13/moodle 2024-04-04 17:40:57 +02:00
Huong Nguyen 41f76c86ea MDL-4188 core: Version bump 2024-04-04 22:19:56 +07:00
Leon Stringer 29c92d976d MDL-80028 mod_h5pactivity: teacher reviewattempts
By default grant mod/h5pactivity:reviewattempts to non-editing teacher
role.  This is already granted to this role's archetype.

PHPUnit test also updated as presumably non-editing teachers should
not be returned by get_active_users_join() if they have
mod/h5pactivity:reviewattempts.
2024-04-04 16:19:24 +01:00
Sara Arjona 744c1c8a5a Merge branch 'MDL-81359-main' of https://github.com/sammarshallou/moodle 2024-04-04 17:02:51 +02:00
Huong Nguyen 6d196e73bb Merge branch 'MDL-81386-main' of https://github.com/sarjona/moodle 2024-04-04 21:56:11 +07:00
Huong Nguyen f64fda43d5 MDL-4188 behat: Turn off course welcome message
Turn off the course welcome message,
so we can easily test other messages.
2024-04-04 20:13:47 +07:00
Huong Nguyen 66e8bf76f9 MDL-4188 core: Modify PHPUnit to use the new sink method 2024-04-04 20:13:47 +07:00
Huong Nguyen ad4f35f5a3 MDL-4188 core_course: Modify PHPUnit to use the new sink method 2024-04-04 20:13:47 +07:00
Huong Nguyen c4e07686ea MDL-4188 core_message: Modify PHPUnit to turn off course welcome message 2024-04-04 20:13:47 +07:00
Huong Nguyen 70f85b92e3 MDL-4188 mod_bigbluebuttonbn: Modify PHPUnit to use the new sink method 2024-04-04 20:13:47 +07:00
Huong Nguyen b68a89a4da MDL-4188 mod_forum: Modify PHPUnit to use the new sink method 2024-04-04 20:13:47 +07:00
Huong Nguyen 097a6d46e0 MDL-4188 enrol_self: Send course welcome message on enrolment
Including in this commit:
 - Use language strings from core_enrol to match with enrol_manual
 - Minor update for UI so Custom welcome message text area
   will not be shown if the Send course welcome message is
   set to No
 - enrol_self now using Hook API to send the welcome message
 - enrol_self_plugin::email_welcome_message() has been deprecated
 - Added Behat test to test the welcome message
2024-04-04 20:13:46 +07:00
Huong Nguyen b6af21bec0 MDL-4188 enrol_manual: Send course welcome message on enrolment
AMOS BEGIN
  CPY [customwelcomemessage,enrol_self],[customwelcomemessage,core_enrol]
  CPY [customwelcomemessage_help,enrol_self],[customwelcomemessage_help,core_enrol]
AMOS END
2024-04-04 20:13:46 +07:00
Huong Nguyen 1593f02492 MDL-4188 core: Added course welcome message notification 2024-04-04 19:45:18 +07:00
Huong Nguyen f53b0b84d2 MDL-4188 core_enrol: Added enrol_plugin::get_welcome_message_contact()
Including in this commit
 - enrol_self_plugin::get_welcome_email_contact() has been deprecated
2024-04-04 19:45:17 +07:00
Stefan Hanauska a1c8337800 MDL-81402 course: Add sectionnum to cm export 2024-04-04 12:59:53 +02:00
Sara Arjona 2f2eaf44c5 Merge branch 'MDL-80220-main' of https://github.com/laurentdavid/moodle 2024-04-04 12:47:53 +02:00
Sara Arjona 1ce75e7278 Merge branch 'MDL-80754-main' of https://github.com/laurentdavid/moodle 2024-04-04 12:44:40 +02:00
Sara Arjona 1c660c4f2a Merge branch 'MDL-15594-main' of https://github.com/kevpercy/moodle 2024-04-04 12:38:08 +02:00
Huong Nguyen 35a9c9609a Merge branch 'MDL-81413-main' of https://github.com/lameze/moodle 2024-04-04 17:31:15 +07:00
Laurent David adb141ee12 MDL-80220 core_courseformat: Add tests for section visibility 2024-04-04 10:58:06 +02:00
Laurent David 27a681c6fe MDL-80220 core_courseformat: Add section badge template
* Adjust badge style to look similar to the one in the activity
* Add visibility selection dropdown to section
2024-04-04 10:58:06 +02:00
Laurent David 73bdbf6437 MDL-80934 core_courseformat: Expand section when selected
* Sections in the course content must be expanded when an item
from this section is selected in the course index
2024-04-04 10:41:22 +02:00
Huong Nguyen fd38ce1210 MDL-78096 Javascript: core/dropzone improvement
core/dropzone now accepts custom label to display in the Dropzone
2024-04-04 15:31:08 +07:00
meirzamoodle 2d67005f21 MDL-78096 tiny_media: Handle repositories if none is active 2024-04-04 15:31:08 +07:00
meirzamoodle cbbc87c7f4 MDL-78096 editor_tiny: Convert error to JSON and send the accepted types 2024-04-04 15:31:08 +07:00
meirzamoodle 1927c6f668 MDL-78096 editor_tiny: Scenario updates for TinyMCE image enhancements 2024-04-04 15:31:08 +07:00
meirzamoodle 7fda4d6f63 MDL-78096 tiny_media: Add a new details image 2024-04-04 15:31:07 +07:00
meirzamoodle 4d3c8e895e MDL-78096 tiny_media: Implement drag-drop to upload an image 2024-04-04 15:30:53 +07:00
Laurent David 03f84bdaba MDL-80754 mod_h5pactivity: Improve attempt report
* Show the total number of attempts in the column header
* Display a simplified link label to view the actual attempts
2024-04-04 10:30:45 +02:00
Ilya Tregubov 272c8976fe MDL-79863 qtype_ordering: Ensure qtype_ordering is compatible with PHP 8.2
Co-authored by: Mathew May <mathewm@hotmail.co.nz>
2024-04-04 16:21:07 +08:00
Mathew May 63ed08c050 MDL-79905 qtype_ordering: Improve test coverage for question ordering
Part of: MDL-79863
2024-04-04 16:21:07 +08:00
Ilya Tregubov ec320c2e49 MDL-79873 qtype_ordering: Template to output formulation and controls.
Part of: MDL-79863
2024-04-04 16:21:07 +08:00
Mathew May 9d060922ae MDL-79874 qtype_ordering: Move feedback into exporter
Part of: MDL-79863
2024-04-04 16:21:07 +08:00
Kevin Percy e1357ee51c MDL-79863 qtype_ordering: Coding style improvements part 2
Co-authored by: Tim Hunt <T.J.Hunt@open.ac.uk>
2024-04-04 16:20:50 +08:00
Andrew Nicols f9404ba6c1 MDL-81316 core: Encode anchor fragments properly to RFC 3986 2024-04-04 16:05:18 +08:00
Ilya Tregubov d00061da26 MDL-79877 qtype_ordering: Template to output correct parts
Part of: MDL-79863
Creates an exporter class and a template to output the correct
part  to a given question attempt.
2024-04-04 16:00:52 +08:00
Mathew May 36822f0c0a MDL-79870 qtype_ordering: Remove unused code
Part of: MDL-79863
2024-04-04 16:00:51 +08:00
Mathew May cf1bcfce18 MDL-79884 qtype_ordering: Add unit coverage and exemptions
Part of: MDL-79863
2024-04-04 16:00:51 +08:00
Ilya Tregubov de5fc46b41 MDL-79875 qtype_ordering: Template to output grade detail
Part of: MDL-79863
Creates an exporter class and a template to output the grade
detail to a given question attempt.
2024-04-04 16:00:51 +08:00
Shamim Rezaie 31fc5161c9 MDL-79863 qtype_ordering: Coding style improvements part 1
Co-authored by: Ilya Tregubov <ilya@moodle.com>
Co-authored by: Mihail Geshoski <mihail@moodle.com>
Co-authored by: Shamim Rezaie <shamim@moodle.com>
2024-04-04 16:00:51 +08:00
Mathew May 18182c30e6 MDL-79871 qtype_ordering: Further changes for readability
Part of: MDL-79863
- Reduce usage of jQuery to only a couple of variables. These are left as is due to how heavy the usage is and how the base dnd seems to assume jQuery objects here and there.
- Templated the proxy string so we dont have to pull it in and replace tokens on the fly.
- Moved around functionality a bit to make for more concise reading and obvious delegation of responsibility
2024-04-04 15:26:44 +08:00
Mathew May 646f1c75d1 MDL-79871 qtype_ordering: Improve typing and documentation
Part of: MDL-79863
2024-04-04 15:26:44 +08:00
Mathew May 0136414cd8 MDL-79871 qtype_ordering: Move functions out of constructor
Part of: MDL-79863
- Alot of functionality was bound to the constructor, this has been picked out into various methods for easier debug.
2024-04-04 15:26:44 +08:00
Mathew May d70277d050 MDL-79871 qtype_ordering: Move existing modules into class
Part of: MDL-79863
- Taken the existing module and done the bare minimum to make it work within one class that gets called.
2024-04-04 15:26:44 +08:00
Mathew May 416ffeed36 MDL-79871 qtype_ordering: Remove shipped core libs
Part of: MDL-79863
2024-04-04 15:26:44 +08:00
Mihail Geshoski bc2bfead5c MDL-79876 qtype_ordering: Template to output the correct response
Part of: MDL-79863
Creates an exporter class and a template to output the correct
response to a given question attempt.
2024-04-04 15:26:44 +08:00
Mihail Geshoski 6531fa70d7 MDL-79876 qtype_ordering: Create an abstract class for the renderables
Part of: MDL-79863
Creates an abstract class in qtype_ordering/output that implements the
renderable interface. Each renderable that is used to output a given
component of the ordering question should extend this abstract class.
2024-04-04 15:26:43 +08:00
Mihail Geshoski 532c361386 MDL-79876 qtype_ordering: get_response() in qtype_ordering_test_helper
Part of: MDL-79863

Previously, get_response() was implemented in almost every PHPUnit
testing class in qtype_ordering and these implementations were
idenical. In order to avoid code duplication a new static method
get_response() has been created within the qtype_ordering_test_helper
class.
Also, each individual implementation within the PHPUnit testing
classes has been removed/modified and all related calls had been
replaced by qtype_ordering_test_helper::get_response().
2024-04-04 15:26:43 +08:00
Mathew May 377dc97590 MDL-79863 qtype_ordering: Version bump for core 2024-04-04 15:26:41 +08:00
Ilya Tregubov b47c590e10 Merge branch 'MDL-78370-main' of https://github.com/junpataleta/moodle 2024-04-04 14:17:15 +08:00
Kevin Percy a7cb6a8de6 MDL-15594 url: Add setting to enable parameters for URL 2024-04-04 12:35:30 +08:00
Gordon Bateson 82bca92947 MDL-79863 qtype_ordering: qtype_ordering small fix to download URLs in readme.txt 2024-04-04 10:59:31 +08:00
Tim Hunt cca146e8b0 MDL-79863 qtype_ordering: Save hints as the question author wants them (#75)
There was some old code that forced all questions to have
at least 2 hints, but we have teachers who want exactly one hint
for a question in their exams.

Also, the hint-saving code was duplicating a lot of core code,
so I cleaned it up.
2024-04-04 10:59:31 +08:00
Anupama Sarjoshi 4e825f2960 MDL-79863 qtype_ordering: Ordering M4.2: Changes to export_to_xml - remove unused answerfiles (#74)
Thanks Anupama!
2024-04-04 10:59:31 +08:00
Gordon Bateson 4b80d7b6e0 MDL-79863 qtype_ordering: * Fix Behat failure following button change in Moodle master branch 2024-04-04 10:59:31 +08:00
Tim Hunt ed8147a556 MDL-79863 qtype_ordering: Ordering: fix stats calculations when items longer than 100 characters (#73)
* Ordering: fix stats calculations when items longer than 100 characters

* Fix Behat failure following button change in Moodle master branch
2024-04-04 10:59:31 +08:00
Gordon Bateson 44c4676fc4 MDL-79863 qtype_ordering: Co-authored-by: Anupama Sarjoshi <anupama.sarjoshi@open.ac.uk> 2024-04-04 10:59:31 +08:00
Tim Hunt ba23a42edd MDL-79863 qtype_ordering: Ordering question type. Upgrade to work with Moodle 4.0, 4.1 and 4.2 (#72)
* Add moodle-plugin-ci github actions configuration

* Rebuild JavaScript

* Fix behat test failing in Moodle 4.0

* Ordering: better define 'rows' for items in horizontal list #401861 #55

* Ordering: Option to show number of correct choices/highlight correct and incorrect placement.

* Ordering: Improper alignment of feedback with Horizontal layout of items

* Ordering: make M4-compatible (including behat etc.) #606639

* M4: Behat: question/type/ordering tests failing #598659

* Fix grunt errors

* Fix unreliability in the preview Behat tests

* Fix Moodle 4.0-style regrading

Also, correctly initialise all parts of the question object in initialise_question_instance

* Update CI config

---------

Co-authored-by: sangnguyen <sna67@open.ac.uk>
Co-authored-by: Thong Bui <qktc1422@gmail.com>
Co-authored-by: Anupama Sarjoshi <anupama.sarjoshi@open.ac.uk>
2024-04-04 10:59:31 +08:00
Gordon Bateson fc4adc6003 MDL-79863 qtype_ordering: qtype_ordering optimize code to ensure that recorded responses are no longer than 100 bytes. 2024-04-04 10:59:30 +08:00
Gordon Bateson b3c86b05b7 MDL-79863 qtype_ordering: qtype_ordering optimize code to ensure that recorded responses are no longer than 100 bytes. 2024-04-04 10:59:30 +08:00
Mahmoud Kassaei b681b06a26 MDL-79863 qtype_ordering: PHPunit: Some compatibilirty in question_test & questiontype_test (#69)
qtype_ordering #69 Fix errors in unit test. Many thanks to Mahmoud Kassaei
2024-04-04 10:59:30 +08:00
Gordon Bateson f56dc82e52 MDL-79863 qtype_ordering: qtype_ordering modify markdown syntax for long help messages (for compatability with Moodle 3.11) 2024-04-04 10:59:30 +08:00
ewallah 1ba7af3582 MDL-79863 qtype_ordering: Update questiontype_test.php (#64)
Declaration of qtype_ordering_test::setUp() must be compatible with PHPUnit\Framework\TestCase::setUp(): void
Declaration of qtype_ordering_test::tearDown() must be compatible with PHPUnit\Framework\TestCase::TearDown(): void
2024-04-04 10:59:30 +08:00
Gordon Bateson 164bca54d6 MDL-79863 qtype_ordering: qtype_ordering fix Issue #63. Restore missing method 'set_default_value()' 2024-04-04 10:59:30 +08:00
Gordon Bateson d5691b5097 MDL-79863 qtype_ordering: qtype_ordering add message to CHANGES.txt 2024-04-04 10:59:30 +08:00
Gordon Bateson 8973b055d3 MDL-79863 qtype_ordering: qtype_ordering in edit form, rename 'get_default_value()' method to 'get_my_default_value()' for compatability with Moodle >= 3.10 2024-04-04 10:59:30 +08:00
Gordon Bateson c74e93c23c MDL-79863 qtype_ordering: qtype_ordering modify declaration of parameters accepted by get_default_value method in the edit form 2024-04-04 10:59:30 +08:00
Gordon Bateson c6be47652f MDL-79863 qtype_ordering: qtype_ordering update CHANGES.txt to include recent contributions by Tim Hunt and HuongNV13 2024-04-04 10:59:30 +08:00
Gordon Bateson 6a1d9cb57f MDL-79863 qtype_ordering: qtype_ordering update CHANGES.txt to include recent contributions by Tim Hunt and HuongNV13 2024-04-04 10:59:30 +08:00
Huong Nguyen 72f9dbe111 MDL-79863 qtype_ordering: Fixing bugs (#52)
Thanks very much, HuongNV13 (1) Items crash together horizontally (2) Number/letter no longer tracks with dragged item
2024-04-04 10:59:30 +08:00
Tim Hunt 211edfdaeb MDL-79863 qtype_ordering: Update Behat tests to use the MDL-66821 changes (#49)
Thanks very much, Tim Hunt. (1) Update Behat tests to use the MDL-66821 changes (2) Fix Behat test that was failing
2024-04-04 10:59:30 +08:00
Gordon Bateson 6c6942faca MDL-79863 qtype_ordering: qtype_ordering fix JS error on Moodle >= 3.7 caused by incorrect syntax in 'define' statement in key_codes.js 2024-04-04 10:59:29 +08:00
Gordon Bateson 43c7e39a74 MDL-79863 qtype_ordering: qtype_ordering standardize layout and spelling in CHANGES.txt 2024-04-04 10:59:29 +08:00
Gordon Bateson f87cb2c76b MDL-79863 qtype_ordering: qtype_ordering standardize layout and spelling in CHANGES.txt 2024-04-04 10:59:29 +08:00
Gordon Bateson 5b1ca09260 MDL-79863 qtype_ordering: Many thanks as always Mahmoud Kassaei ! 2024-04-04 10:59:29 +08:00
Mahmoud Kassaei 62becffa9b MDL-79863 qtype_ordering: Numberingstyle does not display properly in notactive mode (#47)
Many thanks as always Mahmoud Kassaei !
2024-04-04 10:59:29 +08:00
Gordon Bateson 932437c333 MDL-79863 qtype_ordering: qtype_ordering tidy up text in CHANGES.txt 2024-04-04 10:59:29 +08:00
Gordon Bateson c26560a2b9 MDL-79863 qtype_ordering: qtype_ordering set up preliminary version of CHANGES.txt 2024-04-04 10:59:29 +08:00
Gordon Bateson 58cd34d502 MDL-79863 qtype_ordering: qtype_ordering fix behavior in Adaptive mode, with 'Whether correct' review option enabled 2024-04-04 10:59:29 +08:00
Gordon Bateson ae7ee93bf0 MDL-79863 qtype_ordering: qtype_ordering (github-issue #43 and #44): rename upper case numberstyles to ABCD and IIII in order to differentiate from lower case styles on DBs, such as MySQL, which use case insensitive indexes. 2024-04-04 10:59:29 +08:00
Gordon Bateson d784021b8d MDL-79863 qtype_ordering: qtype_ordering rename 'answernumbering' to 'numberingstyle' and include this field in import/export of xml/gift formats. 2024-04-04 10:59:29 +08:00
Mahmoud Kassaei 76a6fce839 MDL-79863 qtype_ordering: Qtype_ordering: Numbering for lists (123.., abc...) (#42)
Thanks Mahmoud. Great job!
2024-04-04 10:59:29 +08:00
Gordon Bateson 9935253fea MDL-79863 qtype_ordering: qtype_ordering fix small typo in behat test file 2024-04-04 10:59:29 +08:00
Gordon Bateson 4a70e6211f MDL-79863 qtype_ordering: qtype_ordering fix small typo in language file and optimize logic in form validation 2024-04-04 10:59:28 +08:00
Mahmoud Kassaei 9d3998ecf5 MDL-79863 qtype_ordering: Qtype ordering should not allow duplicatue items (#40)
Thank you Mahmoud Kassaei for your continuing work to improve the Ordering question type
2024-04-04 10:59:28 +08:00
Gordon Bateson 356ad12ad4 MDL-79863 qtype_ordering: * Code checker issues in version.php 2024-04-04 10:59:28 +08:00
Mahmoud Kassaei 09be025919 MDL-79863 qtype_ordering: Ordering codechecker (#39)
* Code checker issues on edit_ordering_form.php

* function question_register_questiontype() not needed in questiontype.php

* Code checker issues in questiontype.php

* Code checker issues in question.php

* Code checker issues in renderer.php

* Code checker issues in version.php
2024-04-04 10:59:28 +08:00
Gordon Bateson bf48b2f7b3 MDL-79863 qtype_ordering: Ordering cleanup - thanks Mahmoud Kassaei! 2024-04-04 10:59:28 +08:00
M Kassaei 5d9a051d42 MDL-79863 qtype_ordering: There is no need for legacy 'default_questionetype' 2024-04-04 10:59:28 +08:00
M Kassaei 9238005a73 MDL-79863 qtype_ordering: lang-file is sorted 2024-04-04 10:59:28 +08:00
M Kassaei ee4edb506b MDL-79863 qtype_ordering: method_exists() not needed anymore in edit_ordering_form.php 2024-04-04 10:59:28 +08:00
M Kassaei 3ca76335a6 MDL-79863 qtype_ordering: Install.xml is loaded into XMLDB and then saved again 2024-04-04 10:59:28 +08:00
Gordon Bateson 8c7c9d055a MDL-79863 qtype_ordering: qtype_ordering remove deprecated jquery folder and amd/*.js files 2024-04-04 10:59:28 +08:00
Tim Hunt d812ee087f MDL-79863 qtype_ordering: Fix a bug with keyboard control with multiple questions per page 2024-04-04 10:59:28 +08:00
Tim Hunt 393de4b871 MDL-79863 qtype_ordering: Show a dotted border around the entire list if the question is active 2024-04-04 10:59:28 +08:00
Tim Hunt d876a38973 MDL-79863 qtype_ordering: Remove some unused code. 2024-04-04 10:59:28 +08:00
Tim Hunt 7eff0c7fdb MDL-79863 qtype_ordering: Add travis config for Moodle 3.6 2024-04-04 10:59:27 +08:00
Tim Hunt 59d28a856b MDL-79863 qtype_ordering: Ensure the new JavaScript works with any Moodle 2.9 or later
That is, since js_call_amd existed.
2024-04-04 10:59:27 +08:00
M Kassaei 0fdf194fab MDL-79863 qtype_ordering: Ordering qtype: rewrite JavaScript and add keyboard interaction
* This rewrite was mainly to add keyboard support, which is important
for accessibility.
* At the same time, the CSS was changed, to make the question appear
visually much more like the other core drag-drop question types.
* The new drag-drop code is based on the same underlying libraries that
the code drag-drop question types have been using since Moodle 3.6
* Unfortunately, so far we have only been able to make this work back to
Moodle 2.9.
2024-04-04 10:59:27 +08:00
Gordon Bateson e885659edf MDL-79863 qtype_ordering: qtype_ordering add further details of contribution by Tim Hunt and Mahmoud Kassei of OU 2024-04-04 10:59:27 +08:00
Gordon Bateson 912e5646e9 MDL-79863 qtype_ordering: qtype/ordering add showgrading field to backup file 2024-04-04 10:59:27 +08:00
Gordon Bateson 52f064a5b6 MDL-79863 qtype_ordering: qtype/ordering (readme.txt) added credits for recent improvements: Thanks to Tim Hunt, Mahmoud Kassaei, and Dominique Bauer 2024-04-04 10:59:27 +08:00
Gordon Bateson 5aab59423e MDL-79863 qtype_ordering: qtype/ordering fix Github issue #36: remove contenteditable from LI element, and instead attach to ancestor element in DOM 2024-04-04 10:59:27 +08:00
Gordon Bateson ce8a32b5b4 MDL-79863 qtype_ordering: qtype/ordering fix Github issue #36: draggable items become stuck to cursor when logged as student in Boost theme on Moodle 3.6 2024-04-04 10:59:27 +08:00
Gordon Bateson 50bc2c0f5d MDL-79863 qtype_ordering: qtype/ordering improve logic and of code to get_subset and code to add repeated elements to form 2024-04-04 10:59:27 +08:00
Gordon Bateson 33b360975b MDL-79863 qtype_ordering: qtype/ordering fix Github issue #35: Clicking Add to add items more than once without saving the question in between has incorrect and unwanted behavior 2024-04-04 10:59:27 +08:00
Gordon Bateson 2917f5a895 MDL-79863 qtype_ordering: qtype/ordering optimize code and comments in loop to detect ordered subsets 2024-04-04 10:59:27 +08:00
Tim Hunt ae2bd4dc93 MDL-79863 qtype_ordering: Unit tests of the question as a whole 2024-04-04 10:59:27 +08:00
Gordon Bateson ea8708fe04 MDL-79863 qtype_ordering: qtype_ordering fix detection of longest ordered/contiguous subset grading type 2024-04-04 10:59:26 +08:00
Gordon Bateson 2e473e6273 MDL-79863 qtype_ordering: qtype/ordering fix detection of Longest ordered/contiguous subset where two or more such subsets exist 2024-04-04 10:59:26 +08:00
Tim Hunt 79122279eb MDL-79863 qtype_ordering: Test against more Moodle and PHP versions on Travis 2024-04-04 10:59:26 +08:00
Tim Hunt 9f6e662d30 MDL-79863 qtype_ordering: Implement response analysis for the quiz Statistics report 2024-04-04 10:59:26 +08:00
M Kassaei c231dab5cf MDL-79863 qtype_ordering: PHP unit tests for the key methods in the question class #296740
This includes tests for all the grading types, and the other key
methods.
2024-04-04 10:59:26 +08:00
Gordon Bateson 7cabd58054 MDL-79863 qtype_ordering: qtype/ordering fix indexing of items when "Item selection type" is "Select a contiguous subset of items". The incorrect indexing resulted in less than the exptected number of items being displayed. 2024-04-04 10:59:26 +08:00
Gordon Bateson 01c8bab559 MDL-79863 qtype_ordering: qtype/ordering update version.php for recent BEHAT modifications 2024-04-04 10:59:26 +08:00
Gordon Bateson fe5c789b10 MDL-79863 qtype_ordering: qtype/ordering add legacy_polyfill to privacy/provider.php 2024-04-04 10:59:26 +08:00
ewallah bed7d48b1b MDL-79863 qtype_ordering: Add language string 2024-04-04 10:59:26 +08:00
ewallah af2de4e269 MDL-79863 qtype_ordering: Create privacy provider 2024-04-04 10:59:26 +08:00
Tim Hunt 9f65077013 MDL-79863 qtype_ordering: SVG version of the icon 2024-04-04 10:59:26 +08:00
Tim Hunt e8f277b03c MDL-79863 qtype_ordering: Set up Travis-CI integration 2024-04-04 10:59:26 +08:00
M Kassaei e3fd1ad067 MDL-79863 qtype_ordering: Ordering qtype: write some Behat tests 2024-04-04 10:59:25 +08:00
Tim Hunt 2020628f6d MDL-79863 qtype_ordering: Implement data generator code for creating test questions 2024-04-04 10:59:25 +08:00
Gordon Bateson 5a8b952f34 MDL-79863 qtype_ordering: qtype/ordering added new setting to specify number of new draggable items to be added to a question 2024-04-04 10:59:25 +08:00
Gordon Bateson b307db44c8 MDL-79863 qtype_ordering: qtype/ordering ensure get_possible_responses does not fail even if there is no correct response 2024-04-04 10:59:25 +08:00
Gordon Bateson 32559a356c MDL-79863 qtype_ordering: qtype_ordering add standard syntax for ::name:: in improve export/import of GIFT format 2024-04-04 10:59:25 +08:00
Gordon Bateson 35551217e0 MDL-79863 qtype_ordering: qtype_ordering fix import of GIFT text files 2024-04-04 10:59:25 +08:00
Gordon Bateson 6f79ea9708 MDL-79863 qtype_ordering: qtype_ordering improvements for compatability with AMD in Moodle >= 2.9. Many thanks to Jakob Ackermann (github.com/jacac) 2024-04-04 10:59:25 +08:00
Gordon Bateson 489c938b85 MDL-79863 qtype_ordering: qtype/ordering add AMD folder and files cor compatability with Moodle >= 2.9. Many thanks to Jakob Ackermann (github.com/jacac) 2024-04-04 10:59:25 +08:00
Gordon Bateson c40caa6a09 MDL-79863 qtype_ordering: qtype_ordering improvements for compatability with AMD in Moodle >= 2.9. Many thanks to Jakob Ackermann (github.com/jacac) 2024-04-04 10:59:25 +08:00
Gordon Bateson e72e1a6078 MDL-79863 qtype_ordering: qtype_ordering recognize RELATIVE_TO_CORRECT in gift import file 2024-04-04 10:59:25 +08:00
Gordon Bateson 63eb9ac186 MDL-79863 qtype_ordering: qtype_ordering fix issue in Moodle 3.4 in which sorted order is not returned to server for processing 2024-04-04 10:59:25 +08:00
Gordon Bateson 3256b3acc1 MDL-79863 qtype_ordering: qtype_ordering release new grading method: relative to correct - thanks to Anatoliy Markiv and Kings College London, UK 2024-04-04 10:59:25 +08:00
Gordon Bateson bdfa2c7476 MDL-79863 qtype_ordering: qtype_ordering fix score calculation for individual items on RELATIVE_TO_CORRET grading method 2024-04-04 10:59:24 +08:00
Gordon Bateson 3b28181bf6 MDL-79863 qtype_ordering: qtype_ordering return result from 'summarize_response' for use in 'Technical information' and Response report 2024-04-04 10:59:24 +08:00
Gordon Bateson b837d03eb0 MDL-79863 qtype_ordering: qtype_ordering restore functionality on Moodle 2.0 2024-04-04 10:59:24 +08:00
Gordon Bateson 29864f6c14 MDL-79863 qtype_ordering: qtype_ordering fix display of images in feedback and explanatino of correct response 2024-04-04 10:59:24 +08:00
Gordon Bateson 9d114318ec MDL-79863 qtype_ordering: qtype_ordering imrpove code readability when setting flags to pass to methods to retrieve/check answers 2024-04-04 10:59:24 +08:00
Gordon Bateson 89692628f0 MDL-79863 qtype_ordering: qtype_ordering fix behavior of Ordering question when the quiz is in adaptive mode (with or without penalties) 2024-04-04 10:59:24 +08:00
Gordon Bateson 533221a68e MDL-79863 qtype_ordering: qtype_ordering add new option to SHOW/HIDE score calculations when a student reviews a response to an Ordering qusetion 2024-04-04 10:59:24 +08:00
Gordon Bateson cacd38f1e0 MDL-79863 qtype_ordering: qtype_ordering added development history and credits to the readme.txt file 2024-04-04 10:59:24 +08:00
Gordon Bateson f7ee9ca70f MDL-79863 qtype_ordering: qtype_ordering added development history and credits to the readme.txt file 2024-04-04 10:59:24 +08:00
Gordon Bateson f64ba7bace MDL-79863 qtype_ordering: qtype_ordering merge Vadim's PULL request for phpdocs and code style 2024-04-04 10:59:24 +08:00
Vadim Dvorovenko 7f5464d5bf MDL-79863 qtype_ordering: phpdoc fix 2024-04-04 10:59:24 +08:00
Vadim Dvorovenko e4ae90fbfb MDL-79863 qtype_ordering: copyrights fix 2024-04-04 10:59:23 +08:00
Vadim Dvorovenko c60561cd4e MDL-79863 qtype_ordering: Removing dummy functions from edit form 2024-04-04 10:59:23 +08:00
Vadim Dvorovenko dd3513c20b MDL-79863 qtype_ordering: Codechecker fixes 2024-04-04 10:59:23 +08:00
Vadim Dvorovenko 0d11286482 MDL-79863 qtype_ordering: Remove 2.0 support as it's not working 2024-04-04 10:59:23 +08:00
Gordon Bateson 6678eebe2d MDL-79863 qtype_ordering: qtype_ordering add missing settings.php from recent merge 2024-04-04 10:59:23 +08:00
Gordon Bateson 26d40077fb MDL-79863 qtype_ordering: qtype_ordering add missing settings.php from recent merge 2024-04-04 10:59:23 +08:00
Gordon Bateson ef225b4c69 MDL-79863 qtype_ordering: qtype_ordering allow images in backup/restore of ordering questions - thanks vadimonus \! 2024-04-04 10:59:23 +08:00
Gordon Bateson df832e8340 MDL-79863 qtype_ordering: qtype_ordering fix grade calculation for LONGEST_CONTIGUOUS_SUBSET when longest subset starts in a middle position 2024-04-04 10:59:23 +08:00
Gordon Bateson 2a42f03832 MDL-79863 qtype_ordering: qtype_ordering force standard settings for Ordering questions used by Reader quizzes 2024-04-04 10:59:23 +08:00
Gordon Bateson 2d45d4ebf3 MDL-79863 qtype_ordering: qtype_ordering force standard settings for Ordering questions used by Reader quizzes 2024-04-04 10:59:23 +08:00
Gordon Bateson eb1db13b70 MDL-79863 qtype_ordering: qtype_ordering force standard settings for Ordering questions used by Reader quizzes 2024-04-04 10:59:23 +08:00
Gordon Bateson fc9263f9fe MDL-79863 qtype_ordering: qtype_ordering make default selection type 'random' 2024-04-04 10:59:23 +08:00
Gordon Bateson ff17a02bb7 MDL-79863 qtype_ordering: qtype_ordering set default layout to VERTICAL when importing from GIFT or XML file 2024-04-04 10:59:22 +08:00
Gordon Bateson 320a7f19d3 MDL-79863 qtype_ordering: qtype_ordering replace numeric literals with class constants to represent grading methog values 2024-04-04 10:59:22 +08:00
Gordon Bateson e7332496ec MDL-79863 qtype_ordering: qtype_ordering improve correctness report for incorrect respones in ALL_OR_NOTHING grading type 2024-04-04 10:59:22 +08:00
Gordon Bateson aa8741d9c6 MDL-79863 qtype_ordering: qtype_ordering add new grading method: ALL_OR_NOTHING 2024-04-04 10:59:22 +08:00
Gordon Bateson eccff6a599 MDL-79863 qtype_ordering: qtype_ordering fix export/import of gradingtype for Ordering questions 2024-04-04 10:59:22 +08:00
Gordon Bateson bb140c20cf MDL-79863 qtype_ordering: qtype_ordering add new grading type: LONGEST_CONTIGUOUS_SUBSET 2024-04-04 10:59:22 +08:00
Gordon Bateson 59d7a77da8 MDL-79863 qtype_ordering: qtype_ordering add new gradetype: LONGEST_ORDERED_SUBSET 2024-04-04 10:59:22 +08:00
Gordon Bateson ee1a5f57b2 MDL-79863 qtype_ordering: qtype_ordering fix display of number when showing correct order of items in a horizontal list 2024-04-04 10:59:22 +08:00
Gordon Bateson a5ced492bd MDL-79863 qtype_ordering: qtype_ordering fix handling of unscored items in grading details during review of question attempt 2024-04-04 10:59:22 +08:00
Gordon Bateson 5724882c2f MDL-79863 qtype_ordering: qtype_ordering fix handling of unscored items in grading details during review of question attempt 2024-04-04 10:59:22 +08:00
Gordon Bateson 46abdfc86e MDL-79863 qtype_ordering: qtype_ordering fix grade calculation for RELATIVE_ONE_PREVIOUS_AND_NEXT and RELATIVE_ALL_PREVIOUS_AND_NEXT, and add grade/score details for less than perfect grades 2024-04-04 10:59:22 +08:00
Gordon Bateson c2e0d67318 MDL-79863 qtype_ordering: qtype_ordering finish implementation of new setting, gradingtype, to allow different grading methods for ordering questions 2024-04-04 10:59:22 +08:00
Gordon Bateson ad6a7229a5 MDL-79863 qtype_ordering: qtype/ordering fix errors creating new question on Moodle 3.0 2024-04-04 10:59:21 +08:00
Gordon Bateson 141809c027 MDL-79863 qtype_ordering: qtype/ordering fix errors related to html editors when creating new Ordering questions 2024-04-04 10:59:21 +08:00
Gordon Bateson b71ca209ce MDL-79863 qtype_ordering: qtype/ordering allow full HTML editors on answers in order to allow images and pictures 2024-04-04 10:59:21 +08:00
Gordon Bateson 072c95122b MDL-79863 qtype_ordering: qtype/ordering increase padding of draggable elements to allow easier dropping in first and last positions 2024-04-04 10:59:21 +08:00
Gordon Bateson ca0a5210be MDL-79863 qtype_ordering: qtype_ordering remove unnecessary stripslashes when formatting question text 2024-04-04 10:59:21 +08:00
Gordon Bateson d7e47c39fb MDL-79863 qtype_ordering: qtype/ordering change CSS draggable item width to 80% instead of fixed 360px in order to improve display on small screens 2024-04-04 10:59:21 +08:00
Kathrin 189a346eec MDL-79863 qtype_ordering: Made with of draggable fields relative
I found out that together with the plugin active quiz, the fixed with
to 360 px leads to problems when viewed responsive in smaller mobile
devices like smartphones. So I changed the with to a relative value of
80%.
2024-04-04 10:59:21 +08:00
Gordon Bateson f25944220a MDL-79863 qtype_ordering: qtype/ordering fix restoring or options in ordering questions 2024-04-04 10:59:21 +08:00
Gordon Bateson cc1af29abc MDL-79863 qtype_ordering: qtype/ordering fix restoring or options in ordering questions 2024-04-04 10:59:20 +08:00
Gordon Bateson 6571680f9a MDL-79863 qtype_ordering: qtype/ordering ensure JQuery is high enough version to allow drag-and-drop when Quiz is in a popup window 2024-04-04 10:59:20 +08:00
Gordon Bateson 07346a063b MDL-79863 qtype_ordering: qtype/ordering fix restore error message about missing table: qtype_ordering (should be qtype_ordering_options) 2024-04-04 10:59:20 +08:00
Gordon Bateson f44ebd44d4 MDL-79863 qtype_ordering: qtype/ordering cater for missing data about responses when reviewing an attempt at an Ordering question 2024-04-04 10:59:20 +08:00
Gordon Bateson 4864ed8779 MDL-79863 qtype_ordering: qtype/ordering fix "undefined index" error when viewing results for old ordering attempts which have no reponse details 2024-04-04 10:59:20 +08:00
Gordon Bateson e73cdf3714 MDL-79863 qtype_ordering: qtype/ordering fix error upgrading when there are duplicate questionids in qtype_ordering_options table 2024-04-04 10:59:20 +08:00
Gordon Bateson 9805054bf2 MDL-79863 qtype_ordering: qtype/ordering fix installation error: Key column 'question' doesn't exist in table 2024-04-04 10:59:20 +08:00
Gordon Bateson 91ea960657 MDL-79863 qtype_ordering: qtype/ordering remember ordering question state when moving between pages in a quiz 2024-04-04 10:59:19 +08:00
Gordon Bateson 8c3d8529d2 MDL-79863 qtype_ordering: qtype/ordering remember ordering question state when moving between pages in a quiz 2024-04-04 10:59:19 +08:00
Gordon Bateson b8e9026610 MDL-79863 qtype_ordering: qtype/ordering remember ordering question state when moving between pages in a quiz 2024-04-04 10:59:19 +08:00
Gordon Bateson ad6dd4ac6c MDL-79863 qtype_ordering: qtype/ordering remember ordering question state when moving between pages in a quiz 2024-04-04 10:59:19 +08:00
Gordon Bateson dd5db2f3c0 MDL-79863 qtype_ordering: qtype/ordering remember ordering question state when moving between pages in a quiz 2024-04-04 10:59:19 +08:00
Gordon Bateson 1cbc814afa MDL-79863 qtype_ordering: qtype/ordering fix typo in ordering/question.php 2024-04-04 10:59:19 +08:00
Gordon Bateson e039ad6314 MDL-79863 qtype_ordering: qtype/ordering fix compatibility of feedback fields in Moodle 2.0 2024-04-04 10:59:18 +08:00
Gordon Bateson e1439562b3 MDL-79863 qtype_ordering: qtype/ordering use standard methods to add feedback in edit form 2024-04-04 10:59:18 +08:00
Gordon Bateson fddcb15d8e MDL-79863 qtype_ordering: qtype/ordering allow images to embedded in question text and feedback 2024-04-04 10:59:18 +08:00
Gordon Bateson 9dc9201b2c MDL-79863 qtype_ordering: qtype/ordering rename 'jquery.ui.touch-punch.js' to 'jquery-ui.touch-punch.js' 2024-04-04 10:59:18 +08:00
Gordon Bateson a8ec72a3ad MDL-79863 qtype_ordering: qtype/ordering rename 'jquery.ui.touch-punch.js' to 'jquery/jquery.ui.touch-punch.js' 2024-04-04 10:59:18 +08:00
Gordon Bateson bcea1e91ba MDL-79863 qtype_ordering: qtype/ordering try a few improvements for Moodle 2.0 2024-04-04 10:59:18 +08:00
Gordon Bateson dc1ab5ebe0 MDL-79863 qtype_ordering: qtype/ordering rename js folder to jquery 2024-04-04 10:59:18 +08:00
Gordon Bateson 7eb3838acd MDL-79863 qtype_ordering: qtype/ordering try a few improvements for Moodle 2.0 2024-04-04 10:59:17 +08:00
Gordon Bateson 4ff27d340b MDL-79863 qtype_ordering: qtype/ordering replace use of $_SESSION variable with Moodle's $SESSION array 2024-04-04 10:59:17 +08:00
Gordon Bateson e1b39df4a4 MDL-79863 qtype_ordering: qtype/ordering restrict scope of css on ordering question 2024-04-04 10:59:17 +08:00
Gordon Bateson 61500b65b6 MDL-79863 qtype_ordering: qtype/ordering fix upgrade script to check for existence of reader_question_instances before attempting to acces sit 2024-04-04 10:59:17 +08:00
Gordon Bateson eea5d67803 MDL-79863 qtype_ordering: qtype/ordering update to latest version of JQuery (11.1) and add mouse-punch to handle drag-drop events on touchscreens 2024-04-04 10:59:17 +08:00
Gordon Bateson 96d1d5b5aa MDL-79863 qtype_ordering: qtype/ordering update to latest version of JQuery (11.1) and add mouse-punch to handle drag-drop events on touchscreens 2024-04-04 10:59:17 +08:00
Gordon Bateson a07a45df81 MDL-79863 qtype_ordering: qtype/ordering update to latest version of JQuery (11.1) and add mouse-punch to handle drag-drop events on touchscreens 2024-04-04 10:59:17 +08:00
Gordon Bateson 6d7355d4b7 MDL-79863 qtype_ordering: qtype/ordering always show correct answer in review mode 2024-04-04 10:59:17 +08:00
Gordon Bateson e5e7f24f35 MDL-79863 qtype_ordering: qtype/ordering fix display of correct/wrong items for question review 2024-04-04 10:59:16 +08:00
Gordon Bateson 12472692db MDL-79863 qtype_ordering: qtype/ordering add empty styles.css 2024-04-04 10:59:16 +08:00
Gordon Bateson d9e73158b5 MDL-79863 qtype_ordering: qtype/ordering fix undefined passwordsaltmain in Moodle >= 2.6 2024-04-04 10:59:16 +08:00
Gordon Bateson b60ceb1efb MDL-79863 qtype_ordering: Moodle.2x qtype/ordering standardize version.php and add readme.txt 2024-04-04 10:59:16 +08:00
Gordon Bateson 9e9c156b24 MDL-79863 qtype_ordering: Moodle.2x qtype/ordering remove README.md as it is replaced by readme.txt 2024-04-04 10:59:16 +08:00
Gordon Bateson db585fc3ea MDL-79863 qtype_ordering: Moodle.2x qtype/ordering standardize version.php and add readme.txt 2024-04-04 10:59:16 +08:00
Gordon Bateson ec11f84b84 MDL-79863 qtype_ordering: Moodle.2x qtype/ordering replace __DIR__ with dirname(__FILE__) for compatability with PHP 5.2 2024-04-04 10:59:15 +08:00
Gordon Bateson 6319c85c94 MDL-79863 qtype_ordering: Moodle.2x qtype/ordering fix REFTABLE 'questions' -> 'question' in db/install.xml 2024-04-04 10:59:15 +08:00
Gordon Bateson 6e42736fde MDL-79863 qtype_ordering: Moodle.2x qtype/ordering add print_question_formulation_and_controls method required to display ordering questions in Moodle 2.0 2024-04-04 10:59:15 +08:00
Gordon Bateson 679067c9b3 MDL-79863 qtype_ordering: Moodle.2x qtype/ordering add print_question_formulation_and_controls method required to display ordering questions in Moodle 2.0 2024-04-04 10:59:15 +08:00
Gordon Bateson cd7f80ef5c MDL-79863 qtype_ordering: Moodle.2x qtype/ordering use standard message to report DB insert/update errors 2024-04-04 10:59:15 +08:00
Gordon Bateson 3a109f946a MDL-79863 qtype_ordering: Moodle.2x qtype/ordering use standard message to report DB insert/update errors 2024-04-04 10:59:14 +08:00
Gordon Bateson 78afb838c6 MDL-79863 qtype_ordering: Moodle.2x qtype/ordering fix any badly formed ordering questions that were added by earlier versions of GIFT/XML import 2024-04-04 10:59:14 +08:00
Gordon Bateson 11492ba8c1 MDL-79863 qtype_ordering: Moodle.2x qtype/ordering fix error 'logical cannot be NULL' when importing from GIFT file 2024-04-04 10:59:14 +08:00
Gordon Bateson ea499c3fef MDL-79863 qtype_ordering: Moodle.2x qtype/ordering add import/export GIFT/XML 2024-04-04 10:59:14 +08:00
Gordon Bateson 234b65450f MDL-79863 qtype_ordering: Moodle.2x qtype/ordering increment version number to be instep with Reader module 2024-04-04 10:59:14 +08:00
Gordon Bateson b1e158e0b5 MDL-79863 qtype_ordering: Moodle.2x question/type/ordering remove debug statements which caused scoring of ordering questions to be lower than it should be 2024-04-04 10:59:14 +08:00
Gordon Bateson 20084542b5 MDL-79863 qtype_ordering: Moodle.2x question/type/ordering use md5 instead of fraction field as id in ordering questions 2024-04-04 10:59:14 +08:00
Gordon Bateson 05a43d9094 MDL-79863 qtype_ordering: Moodle.2x question/type/ordering use md5 instead of fraction field as id in ordering questions 2024-04-04 10:59:13 +08:00
Gordon Bateson 2da308c7dd MDL-79863 qtype_ordering: Moodle.2x question/type/ordering add first attempt at backup/restore 2024-04-04 10:59:13 +08:00
Gordon Bateson abda90ead2 MDL-79863 qtype_ordering: Moodle.2x question/type/ordering add first attempt at backup/restore 2024-04-04 10:59:13 +08:00
Gordon Bateson f91c9dba56 MDL-79863 qtype_ordering: Moodle.2x question/type/ordering tidy up and optimze javascript 2024-04-04 10:59:13 +08:00
Gordon Bateson 6b8ad4714e MDL-79863 qtype_ordering: Moodle.2x question/type/ordering tidy up and optimze javascript 2024-04-04 10:59:13 +08:00
Gordon Bateson 70fd1e4bc8 MDL-79863 qtype_ordering: populate GIT repository 2024-04-04 10:59:13 +08:00
Gordon Bateson b8d5e936e6 MDL-79863 qtype_ordering: Initial commit 2024-04-04 10:59:12 +08:00
Andrew Nicols 8d472234f8 NOBUG: mod_h5pactivity - Version bump after rewrite 2024-04-04 10:36:04 +08:00
meirzamoodle a420f895d6 MDL-78096 tiny_media: Implement repository 2024-04-04 09:32:39 +07:00
meirzamoodle 087b286a16 MDL-78096 tiny_media: Implement external image URL 2024-04-04 09:32:39 +07:00
meirzamoodle de026219d3 MDL-78096 tiny_media: Add a new insert image 2024-04-04 09:32:35 +07:00
Huong Nguyen 857fe04b95 Merge branch 'MDL-79131-main' of https://github.com/raortegar/moodle 2024-04-04 10:31:46 +08:00
Ilya Tregubov ddc1c5ee9a Merge branch 'MDL-81144-main' of https://github.com/andrewnicols/moodle 2024-04-04 10:30:37 +08:00
David Woloszyn e169cf6188 MDL-81333 core_communication: Group room name formatting 2024-04-04 13:06:51 +11:00
Ilya Tregubov 28e441aee1 Merge branch 'MDL-73975-main' of https://github.com/sarjona/moodle 2024-04-04 08:54:12 +08:00
Sara Arjona 3ec6cab881 Merge branch 'MDL-80765-main' of https://github.com/laurentdavid/moodle 2024-04-03 17:18:42 +02:00
Sara Arjona e1ca397f5a Merge branch 'MDL-81419-main' of https://github.com/andrewnicols/moodle 2024-04-03 17:15:59 +02:00
Paul Holden f04e2c5723 MDL-75037 core: update Moodlenet repository search URLs. 2024-04-03 12:58:03 +01:00
Huong Nguyen dcd753fd37 MDL-81393 atto: Disable mediaplugin filter for Behat test 2024-04-03 18:11:22 +07:00
Andrew Nicols 794c62db58 MDL-81419 core: Ensure that frames exist before checking them 2024-04-03 15:56:08 +08:00
Mikel Martín e9d73c5834 MDL-81400 tiny_media: Fix size inputs in image modal
MDL-75670 generated a regression in the insert image modal width and height inputs
that were not being displayed in a single line as before.
Modify the insert media modal template to fix it and display them in a single line again.
2024-04-03 09:31:50 +02:00
Jake Dallimore 334ec98980 MDL-81409 enrol_lti: fixes to dynamic registration to support Blackboard
The following fixes resolve issues when used with Blackboard Learn:
- Set registration request Content-Type header to application/json
- Make registration_token optional, per the spec:
https://www.imsglobal.org/node/200666#step-1-registration-initiation-request
- Conditionally create the deployment since it's optional in
lti-tool-configuration:
https://www.imsglobal.org/node/200666#lti-configuration-0
- Remove empty custom_parameters property, since that's optional too:
https://www.imsglobal.org/node/200666#lti-configuration-0
- Remove overly-strict validation on registration_token. This was
validating the param as a JWT, but since the spec has stabilised, this
is not always the case. It's a Bearer token that's opaque to the tool
(i.e. it's just passed back unmodified), so while it could be validated
against RFC6750, it's simplest to just remove the validation entirely.
- change targetOrigin of the postMessage to '*' as per the spec:
https://www.imsglobal.org/node/200666#step-4-registration-completed-and-activation
2024-04-03 15:27:24 +08:00
raortegar 29e7de043e MDL-79131 core: Version bump 2024-04-03 09:09:23 +02:00
raortegar d9f4cc11b8 MDL-79131 core: Add test for max fail delay in scheduled and adhoc task 2024-04-03 09:08:50 +02:00
raortegar 5488908538 MDL-79131 core: Hook listener callback for failed_task_max_delay 2024-04-03 09:08:50 +02:00
raortegar 10ecfa731d MDL-79131 core: Dispatch the new Hook 2024-04-03 09:08:50 +02:00
raortegar abefcdb09a MDL-79131 core: Added new Hook instance for task failed max delay 2024-04-03 09:08:50 +02:00
raortegar cc6316368e MDL-79131 core: Added failed task message notification 2024-04-03 09:08:50 +02:00
Sara Arjona 4538be8ee1 MDL-81386 output: Fix failure in PHPUnit when running filtered tests
There was a data provider to get the list of the FontAwesome icons that
was initialized when running filtered tests.
It was causing some failures with filtered tests that, for instance,
called require_login and changed the course.
To avoid this failure (and also to improve the performance), the logic
to get the icons list has been moved to the test.
2024-04-03 08:52:56 +02:00
Shamim Rezaie e02006b96e Merge branch 'MDL-81393-main' of https://github.com/HuongNV13/moodle 2024-04-03 16:37:43 +11:00
Andrew Nicols 412fae4792 Merge branch 'MDL-80818-main' of https://github.com/aanabit/moodle 2024-04-03 13:02:40 +08:00
Andrew Nicols 14ca464910 Merge branch 'MDL-80397-main' of https://github.com/roland04/moodle 2024-04-03 12:53:03 +08:00
meirzamoodle ef5969e794 MDL-78096 tiny_media: Deprecate the alignment 2024-04-03 11:41:09 +07:00
Simey Lameze f9c5c6f599 MDL-81413 mod_chat: change options parameter to array 2024-04-03 11:19:39 +08:00
Huong Nguyen 8cd8838acd Merge branch 'MDL-80838-main' of https://github.com/andrewnicols/moodle 2024-04-03 10:05:42 +07:00
Huong Nguyen ec5d23b450 Merge branch 'MDL-81326-main' of https://github.com/sarjona/moodle 2024-04-03 09:16:02 +07:00
Huong Nguyen db360850b9 Merge branch 'MDL-77779-main' of https://github.com/ilyatregubov/moodle 2024-04-03 09:12:13 +07:00
Huong Nguyen 5c1319b0e8 Merge branch 'MDL-81300-main' of https://github.com/roland04/moodle 2024-04-03 09:06:36 +07:00
Huong Nguyen dfc198c928 Merge branch 'MDL-77838' of https://github.com/paulholden/moodle 2024-04-03 08:52:03 +07:00
Sara Arjona 2cfb5b8efe MDL-81326 mod_book: Deprecate book_get_nav_classes
While reviewing MDL-72376, I realised book_get_nav_classes is not
used anymore in Moodle LMS since Moodle 4.0 so it should be deprecated
Probably it should have been deprecated together with book_get_nav_types.
2024-04-02 17:11:23 +02:00
Paul Holden 5c8e53478a MDL-81406 repository_equella: correctly obtain/format profile fields. 2024-04-02 16:06:58 +01:00
Paul Holden 91297498a2 MDL-77015 mod_data: consistent escaping of template field names.
* When creating default templates, avoid escaping the field names
  contained within [[ ]] brackets;
* When managing field, ensure the field names are escaped.
2024-04-02 15:51:18 +01:00
Paul Holden a64c272c4b MDL-81358 calendar: avoid hard-coded English string concatenation. 2024-04-02 15:49:03 +01:00
Sara Arjona c188ec80be MDL-73975 course: Remove course_search_form template
The template core_course/course_search_form has been removed following
its cessation of use upon MDL-69454 in Moodle 3.11.
2024-04-02 16:47:24 +02:00
Sara Arjona 8efe31ee96 MDL-73975 course: Final deprecation methods in management_renderer
Final deprecation for management_heading() and course_search_form()
in core_course_management_renderer.
2024-04-02 16:42:31 +02:00
Sara Arjona 4da813d35e on-demand release 4.4dev+ 2024-04-02 14:47:08 +02:00
Paul Holden 8507384ccc MDL-78457 course: remove participants navigation if cannot access. 2024-04-02 10:03:41 +01:00
Andrew Nicols d1613e331f Merge branch 'MDL-79712-main' of https://github.com/snake/moodle 2024-04-02 17:43:42 +11:00
Huong Nguyen 07680ea817 Merge branch 'MDL-81366-main' of https://github.com/meirzamoodle/moodle 2024-04-02 17:43:42 +11:00
Ilya Tregubov a6047e0fbb Merge branch 'MDL-79959-repo-equella-sso-identification' of https://github.com/gbarat87/moodle 2024-04-02 17:43:41 +11:00
Laurent David d8f1091a03 MDL-80765 mod_data: Trim values on field update
* When creating a field we usually trim values, so we should
do the same on field update
2024-04-02 05:41:14 +02:00
Jake Dallimore 30e2af60f1 MDL-79712 auth_lti: ensure MoodleSession uses SameSite=None Secure
The MoodleSession cookie is already set this way when using Chrome, but
not for Firefox. This is a decision made in \core\session\manager. When
Firefox eventually defaults to SameSite=Lax when the SameSite attribute
is omitted from the Set-Cookie headers, the MoodleSession cookie won't
be sent. This change ensures the cookies used during LTI launches will
continue to work if/when this happens, and despite any changes which may
be made to core's sessionlib in future.
2024-04-02 11:38:40 +08:00
Huong Nguyen db01ae4d9d MDL-81393 media_videojs: Switch to use Ogv.Js tech for Chrome 2024-04-02 10:24:32 +07:00
Andrew Nicols 1eef3605cc MDL-80838 mod_forum: Use \core\clock for forum generators 2024-04-02 10:52:33 +08:00
Andrew Nicols 298c13ac3b MDL-80838 core: Add PSR-20/Clock support
This commit adds the PSR-20 ClockInterface to core, with a
moodle-specific extension to the Interface at `\core\clock`, and a
standard clock at `\core\system_clock`.

Further clocks are provided as `\incrementing_clock` and `\frozen_clock`
which are available to unit tests using:

- `$this->mock_clock_with_incrementing(?int $starttime = null);`
- `$this->mock_clock_with_frozen(?int $time = null);`

For the incrementing clock, every call to fetch the time will bump the
current time by one second.

For the frozen clock the time will not change, but can be modified with:
- `$clock->set_to(int $time);`; and
- `$clock->bump(int $seconds = 1);`
2024-04-02 10:24:54 +08:00
Andrew Nicols 9bd3228d69 MDL-81144 core: Standardise init of standard_head_html_prepend hook 2024-04-02 10:23:44 +08:00
Andrew Nicols 305248f41d MDL-81144 core: Convert before_http_headers 2024-04-02 10:23:44 +08:00
Andrew Nicols 679001e729 MDL-81144 core: Convert before_footer to hook 2024-04-02 10:23:44 +08:00
Andrew Nicols e4a8ed5cc2 MDL-81144 core: Convert standard_after_main_region_html to hook 2024-04-02 10:23:43 +08:00
Andrew Nicols ecd5274e74 MDL-81144 core: Convert add_htmlattributes to hook 2024-04-02 10:23:42 +08:00
Andrew Nicols 6ad9f2606f MDL-81144 tool_mobile: Standarise hook locations 2024-04-02 10:23:42 +08:00
Andrew Nicols e3f2b03685 MDL-81144 core: Migrate non-hook footer usages 2024-04-02 10:23:41 +08:00
Andrew Nicols 770e6b49f4 MDL-81144 core: Convert standard_footer_html to hook 2024-04-02 10:23:41 +08:00
Andrew Nicols 3105ea7dc2 MDL-81144 core: Convert before_standard_top_of_body_html to hook 2024-04-02 10:23:41 +08:00
Huong Nguyen 10e1504135 Merge branch 'MDL-81315-main' of https://github.com/mihailges/moodle 2024-04-01 10:14:06 +07:00
Huong Nguyen 1417cbb65a Merge branch 'MDL-81347-main' of https://github.com/roland04/moodle 2024-03-29 15:51:47 +07:00
Daniel Ziegenberg 0cca112259 MDL-74484 lib: Final deprecation of print_error
Signed-off-by: Daniel Ziegenberg <daniel@ziegenberg.at>
2024-03-28 13:49:57 +01:00
David Mudrák eecbf7b18b MDL-81351 lang: Use the fixed strings in the tests, too 2024-03-28 10:19:40 +01:00
Huong Nguyen e084be6526 Merge branch 'main_MDL-81154' of https://github.com/mattporritt/moodle 2024-03-28 14:46:37 +07:00
Huong Nguyen 61c8cdaf11 Merge branch 'MDL-81365-main' of https://github.com/ilyatregubov/moodle 2024-03-28 14:31:16 +07:00
Matt Porritt 6d3d498362 MDL-81154 Administration: Remove Moodle Services page
This commit effectively reverts MDL-63153.
Calls to action in the UI for other products or marketing
should link directly to the corresponding services in moodle.com
rather than trying to replicate parts of it in LMS.
2024-03-28 16:57:50 +11:00
Huong Nguyen 1320a2a397 Merge branch 'main_MDL-81172' of https://github.com/mattporritt/moodle 2024-03-28 11:46:51 +07:00
meirzamoodle ce5b7edd5c MDL-81366 redis: Remove the named parameters
Unfortunately, the read_timeout named parameter was not recognized on some machines.
To avoid such errors, this patch removed the named parameter on a single Redis connect() and the Redis cluster.
2024-03-28 10:19:35 +07:00
Huong Nguyen cb3494dcd4 Merge branch 'MDL-81222-main' of https://github.com/andrewnicols/moodle 2024-03-28 09:19:45 +07:00
Ilya Tregubov 7acfa9ddc2 Merge branch '76317-questions-improve-import-error-messages-master' of https://github.com/DSI-Universite-Rennes2/moodle 2024-03-28 10:02:20 +08:00
Huong Nguyen bc6795074d Merge branch 'MDL-81000-main2' of https://github.com/raortegar/moodle 2024-03-28 08:53:50 +07:00
Andrew Nicols 7233cdad81 MDL-81084 core: Provide \core\plugin_manager
This is just a lightweight way of providing \core\plugin_manager and
aliasing \core_plugin_manager for b/c as a pathway out of our dim and
dark ways of PSR-0 class names.
2024-03-28 09:50:15 +08:00
Andrew Nicols 5f62d5a759 MDL-81084 core: Move standard plugins to plugins.json 2024-03-28 09:31:31 +08:00
Andrew Nicols 2c57fc46b6 MDL-81084 core: Tidy up coding style for \core_plugin_manager 2024-03-28 09:31:14 +08:00
Andrew Nicols 571e951be1 MDL-81084 core: Tidy up plugin manager tests 2024-03-28 09:31:14 +08:00
Andrew Nicols 74fdb40bee MDL-81306 core: Coding style fixes 2024-03-28 09:30:16 +08:00
Andrew Nicols cbfa81021d MDL-81306 core: Do not use xsendfile for request dirs 2024-03-28 09:30:16 +08:00
Andrew Nicols 15cc82b41c MDL-81306 core: Remove docs on use of xsendfile with request dirs
This reverts the change made in MDL-80648 and adds a note to not do it.
2024-03-28 09:25:18 +08:00
Ilya Tregubov 9572c9bfec Merge branch 'MDL-81335-main' of https://github.com/aanabit/moodle 2024-03-28 09:10:57 +08:00
Ilya Tregubov 5180272bd5 Merge branch 'mdl80598-master' of https://github.com/matthewhilton/moodle 2024-03-28 09:05:53 +08:00
Ilya Tregubov 9e55042be1 Merge branch 'MDL-80302-main' of https://github.com/aanabit/moodle 2024-03-28 08:58:35 +08:00
Amaia Anabitarte 0c2c00cdb8 MDL-80818 QuickForm: Freeze all elements with the same name
There are some radio buttons in activity Completion Conditions settings
that must be frozen altogether, because all of them have the same name.
2024-03-27 16:19:45 +01:00
Amaia Anabitarte 4a3a32b675 MDL-80302 completion: Improve default completion error tracking
Co-authored-by: Sara Arjona <sara@moodle.com>
2024-03-27 16:11:50 +01:00
Sara Arjona e47b78e870 Merge branch 'MDL-80612-posix-auth' of https://github.com/brendanheywood/moodle 2024-03-27 15:58:48 +01:00
raortegar 8698a9a229 MDL-81000 core: Update "attemptsavailable" value and remove "MAX_RETRY" 2024-03-27 14:00:52 +01:00
raortegar 27a2e4969c MDL-81000 core: increase size of "attemptsavailable" on task_adhoc table 2024-03-27 14:00:52 +01:00
Mikel Martín 95585c5484 MDL-81347 atto_image: Fix size inputs in image modal
MDL-75670 generated a regression in the insert image modal width and height inputs
that were not being displayed in a single line as before.
Modify the template in the atto module to fix it and display them in a single line again.
2024-03-27 13:49:56 +01:00
Mikel Martín 968ae915ee MDL-81347 tiny_image: Fix size inputs in image modal
MDL-75670 generated a regression in the insert image modal width and height inputs
that were not being displayed in a single line as before.
Modify the insert image modal template to fix it and display them in a single line again.
2024-03-27 13:49:11 +01:00
Julien Boulen 735013c790 MDL-76317 questions: fix return and error message during import process 2024-03-27 13:13:21 +01:00
Julien Boulen 1ed6318d13 MDL-76317 questions: improve error message when importing invalid grades 2024-03-27 13:13:21 +01:00
Brendan Heywood 2d286ef8f8 MDL-80612 auth: Allow plugins to identify Moodle users on the CLI 2024-03-27 21:58:04 +11:00
Mikel Martín b28f3b7666 MDL-80397 theme: Refactor card-deck class dropped in BS5
- Refactor recentlyaccessedcourses, starredcourses and myovervew blocks
  removing card-deck helper class occurrences
- Refactor card-deck helper class occurrences with utility classes
2024-03-27 10:10:22 +01:00
Sara Arjona f974da9c8d Merge branch 'MDL-79671-main' of https://github.com/andrewnicols/moodle 2024-03-27 10:00:44 +01:00
Ilya Tregubov 6f41a2fbfd MDL-81365 enrol: Fix wrong validation. 2024-03-27 15:42:20 +08:00
Andrew Nicols 68fa04cb1d MDL-79671 editor_tiny: Add new translated strings 2024-03-27 15:02:04 +08:00
Andrew Nicols 617faffc02 MDL-79671 editor_tiny: Move readme to make it easier to maintain 2024-03-27 14:52:30 +08:00
Andrew Nicols dcaf884d28 MDL-79671 editor_tiny: Do not show the help link in the status bar 2024-03-27 14:40:35 +08:00
Andrew Nicols 496e6c8e1f MDL-79671 editor_tiny: Update TinyMCE to 6.8.3 2024-03-27 14:40:34 +08:00
Shamim Rezaie 278ccdb7c4 Merge branch 'MDL-81126' of https://github.com/paulholden/moodle 2024-03-27 16:59:56 +11:00
Vithusha Uthayakumar af9e66530a MDL-81298 external: fix typo error in failing testcase 2024-03-27 16:38:48 +11:00
Ilya Tregubov 24347e3309 Merge branch 'MDL-80828-main' of https://github.com/roland04/moodle 2024-03-27 11:14:02 +08:00
Ilya Tregubov 23913f7135 Merge branch 'MDL-80036-main' of https://github.com/mickhawkins/moodle 2024-03-27 11:07:47 +08:00
Guillaume Barat 05c23b4c70 MDL-79959 repository: Add custom field picker for SSO identification. 2024-03-27 13:07:46 +10:00
Helen Foster dccc91f4bc MDL-81351 lang: Import fixed English strings (en_fix) 2024-03-26 23:13:15 +01:00
Sara Arjona 7f6e7d79d6 Merge branch 'MDL-70384-main_take2' of https://github.com/lucaboesch/moodle 2024-03-26 17:19:29 +01:00
Mihail Geshoski ae3dc21bf5 MDL-81315 grade: Ensure grade action menus do not display chevron icons
The grade action menu is currently using the 'core:i/moremenu' icon to
trigger the dropdown. However, the chevron icons that usually appear in
dropdown menus are not being properly excluded. Adding the '.no-caret'
css class to the dropdown trigger element will improve the default
appearance.
2024-03-26 23:25:19 +08:00
Mihail Geshoski 5c1968ae46 MDL-81315 gradereport_user: Add the missing 'Grade analysis' link
The following change adds the missing 'Grade analysis' link that some
activities such as quizzes, LTI external tools, etc. need so support.
The link to the relevant 'Grade analysis' page is now located in a
contextual menu within the grade column of the gradebook's user report.
2024-03-26 23:25:19 +08:00
Andrew Nicols bb80e4f90d MDL-80332 core: Coding style fixes 2024-03-26 22:43:12 +08:00
Andrew Nicols c9030a8243 Merge branch 'MDL-80332-master' of https://github.com/jleyva/moodle 2024-03-26 22:10:29 +08:00
Luca Bösch 38c695cd3a MDL-70384 mod_data: Format the forms for database activity fields. 2024-03-26 13:34:12 +01:00
sam marshall 1fb9ff333f MDL-81359 core_courseformat: Availability 'Show more' unwelcome outing
If the availability restriction includes a link, then 'Show more'
always appeared even when the entire text is already shown.
2024-03-26 12:27:00 +00:00
Sara Arjona c895def59b on-demand release 4.4dev+ 2024-03-26 12:31:36 +01:00
Jun Pataleta 35dcf18395 Merge branch 'MDL-80875-main' of https://github.com/sarjona/moodle 2024-03-26 12:05:40 +08:00
Jun Pataleta dc3583e88b Merge branch 'MDL-81233-main' of https://github.com/andrewnicols/moodle 2024-03-26 11:19:42 +08:00
Jun Pataleta 638de6002a Merge branch 'MDL-80384-main' of https://github.com/junpataleta/moodle 2024-03-26 11:16:34 +08:00
Huong Nguyen b283ca354e Merge branch 'MDL-78551-main' of https://github.com/safatshahin/moodle 2024-03-26 10:08:06 +07:00
Jun Pataleta da27f51bea MDL-80384 courseformat: Set activity icon alt text on editing mode
From a warning using WAVE:
* The title attribute value for images that lack an alt attribute value
will be presented to screen reader users. However, providing image
content in the alt attribute typically provides better accessibility,
and should be used in most cases. The title attribute will generate a
mouse hover tooltip which may or may not be desired - this tooltip will
not be presented to touch screen or keyboard users.
2024-03-26 11:01:01 +08:00
Safat c172dce46d MDL-78551 core: Version bump 2024-03-26 13:53:39 +11:00
Safat b9db825c37 MDL-78551 core: Register hook callbacks and dispatchers 2024-03-26 13:53:39 +11:00
Safat abed8cddbf MDL-78551 core_communication: Add hook listeners 2024-03-26 13:53:39 +11:00
Safat fc7127e867 MDL-78551 core_access: Add support for hooks api 2024-03-26 13:53:39 +11:00
Safat 968897b653 MDL-78551 core_enrol: Add support for hooks api 2024-03-26 13:53:39 +11:00
Safat 99b7dc147f MDL-78551 core_course: Add hooks api for course updates 2024-03-26 13:53:39 +11:00
Safat d2c5d26190 MDL-78551 core_user: Add hooks api for user updates 2024-03-26 13:53:39 +11:00
Safat ae8cae6d9a MDL-78551 core_group: Add hooks api for group and membership 2024-03-26 13:53:39 +11:00
Jun Pataleta 556347c4f1 Merge branch 'MDL-81266' of https://github.com/stronk7/moodle 2024-03-26 10:34:47 +08:00
Matthew Hilton 4f35a3d73b MDL-80598 bigbluebutton: Gracefully handle invalid customdata 2024-03-26 11:38:47 +10:00
Daniel Ziegenberg 20c32542a7 MDL-73956 forum: Final deprecation of forum_update_subscriptions_button
Signed-off-by: Daniel Ziegenberg <daniel@ziegenberg.at>
2024-03-25 20:56:40 +01:00
Sara Arjona 2e318211cf Merge branch 'MDL-81277-main' of https://github.com/laurentdavid/moodle 2024-03-25 17:15:29 +01:00
Sara Arjona f088e9d610 Merge branch 'MDL-81246-main' of https://github.com/HuongNV13/moodle 2024-03-25 17:01:40 +01:00
Jun Pataleta 281fecbd54 Merge branch 'MDL-78885-main' of https://github.com/rezaies/moodle 2024-03-25 23:37:57 +08:00
Eloy Lafuente (stronk7) b2131ceff7 MDL-81266 phpunit: Document the changes in lib/upgrade.txt 2024-03-25 16:21:53 +01:00
Eloy Lafuente (stronk7) 4c2f8b3a91 MDL-81266 phpunit: Remove expect(Deprecation|Notice|Warning|Error)
PHPUnit 9.6 has deprecated all the expect(Deprecation|Notice|Warning|Error)
assertions, so we have to move away from them.

In core, we only had 2 cases, one easily fixed by getting rid of it,
because, for php >= 80 it's an assert-able exception.

And the other replaced with code that, temporarily, sets a custom
error handler that converts any specified E_ to an asset-able
exception.

Note that tests playing with error handlers should, always, be
run in separate process, to avoid problems or conflicts with
PHPUnit / Moodle own error handlers.
2024-03-25 16:21:53 +01:00
Daniel Ziegenberg 08027e408c MDL-81281 phpunit: assertObjectHasAttribute is deprecated
To be integrated as part of MDL-81266

When running PHPUnit 9.6 we get the following deprecation warnings:
"assertObjectHasAttribute() is deprecated and will be removed in PHPUnit
10. Refactor your test to use assertObjectHasProperty() instead."

So we replace all instances of assertObjectHasAttribute with
assertObjectHasProperty.

PHPUnit justifies the change with:
> PHPUnit currently refers to "fields" (see above) as "attributes". This
> is (or will become) confusing considering the introduction of
> attributes in PHP 8 and their support in PHPUnit.  PHPUnit will be
> changed to use the term "property" instead of "attribute" where "field"
> is meant.

Signed-off-by: Daniel Ziegenberg <daniel@ziegenberg.at>
2024-03-25 16:21:45 +01:00
Daniel Ziegenberg 87267da39d MDL-81281 phpunit: assertObjectNotHasAttribute is deprecated
To be integrated as part of MDL-81266

When running PHPUnit 9.6 we get the following deprecation warnings:
"assertObjectNotHasAttribute() is deprecated and will be removed in PHPUnit
10. Refactor your test to use assertObjectNotHasProperty() instead."

So we replace all instances of assertObjectNotHasAttribute with
assertObjectNotHasProperty.

PHPUnit justifies the change with:
> PHPUnit currently refers to "fields" (see above) as "attributes". This
> is (or will become) confusing considering the introduction of
> attributes in PHP 8 and their support in PHPUnit.  PHPUnit will be
> changed to use the term "property" instead of "attribute" where "field"
> is meant.

Signed-off-by: Daniel Ziegenberg <daniel@ziegenberg.at>
2024-03-25 16:21:07 +01:00
Sara Arjona 8e1e0dbfb4 Merge branch 'MDL-80088' of https://github.com/paulholden/moodle 2024-03-25 16:20:25 +01:00
Juan Leyva 8b30632b31 MDL-80332 tool_mobile: Fallback por app launches 2024-03-25 15:48:40 +01:00
Juan Leyva 658d96f889 MDL-80332 login: New hooks for complete login and passed MFA 2024-03-25 15:48:39 +01:00
Eloy Lafuente (stronk7) 51bc492569 MDL-81266 composer: PHPUnit 9.6, Behat to 3.14 and other deps
Bump to PHPUnit 9.6 towards warning in advance about
stuff that will be removed for PHPUnit 10, namely:
 - expect[Deprecation|Error|Notice|Warning] methods.
 - assert[Object|Class][Not]Has[Static]Attribute methods.
 - withConsecutive()
 - TestCase::getMockClass()
 - "Test" suffix for abstract test case classes.

The behat bump is only applied to 402_STABLE and up, all them
requiring PHP 8.0 as a minimum. And generated following the
instructions in the dev docs.
2024-03-25 14:33:34 +01:00
Mikel Martín cd8a089d7a MDL-80828 core_courseformat: Modify availability subpanel visibility
In the activity action menu, show only the subpanel when the options are different
than show or hide. In those cases the show/hide option will be directly displayed
in the menu instead of a subpanel.

Co-authored-by: ferran@moodle.com
2024-03-25 13:54:42 +01:00
Laurent David d983fee151 MDL-80384 core_courseformat: Remove activty icon link
* Remove the link over the image icon for an activity and use
the title attribute for the tooltip
2024-03-25 13:25:56 +01:00
Laurent David 199a644d48 MDL-81277 lib: Update atto codemirror to 5.65.16 2024-03-25 13:17:58 +01:00
Mikel Martín 4e394ed4d2 MDL-81300 theme_boost: Fix dnd overlay in course sections
Drag and drop overlay in course page was being overlapped by divider
buttons and quick edit links.
That happens because both elements have their own z-index context.
Add z-index to the drag and drop overlay elenment to fix this issue.
2024-03-25 13:02:56 +01:00
Sara Arjona 978f7aad72 Merge branch 'MDL-79368-main' of https://github.com/roland04/moodle 2024-03-25 13:01:03 +01:00
Amaia Anabitarte 0ba23332db MDL-81335 core_course: Fix section page for 'manageactivities' only 2024-03-25 12:46:48 +01:00
Sara Arjona 2fecfa597b MDL-80875 uploadcourse: Fix params validation 2024-03-25 08:09:19 +01:00
Andrew Nicols 430c63b39e MDL-80300 mod_quiz: Integration coding fixups 2024-03-25 15:07:16 +08:00
Andrew Nicols 8bd1242d78 Merge branch 'mdl-80300-main-refactor' of https://github.com/matthewhilton/moodle 2024-03-25 15:06:50 +08:00
Ilya Tregubov d1a34c7d23 Merge branch 'MDL-63128-main' of https://github.com/meirzamoodle/moodle 2024-03-25 14:23:53 +08:00
meirzamoodle c700e4f8a9 MDL-63128 core_cache: Add new is_cluster_available helper
The ::is_cluster_available() will return true if the PHP support redis cluster.
2024-03-25 12:47:40 +07:00
meirzamoodle b7452d44de MDL-63128 core: Add support for use redis cluster as session handler
Co-authored-by: Avi Levy <avi@sysbind.co.il>
2024-03-25 12:47:40 +07:00
meirzamoodle 6a28e0641e MDL-63128 cachestore_redis: Support Redis cluster as cache store
Co-authored-by: Daniel Thee Roperto <daniel@theeroperto.com>
Co-authored-by: Avi Levy <avi@sysbind.co.il>
2024-03-25 12:47:40 +07:00
Jake Dallimore 7b1ff9658c Merge branch 'MDL-79239-master' of https://github.com/ssj365/moodle 2024-03-25 12:25:51 +08:00
Andrew Nicols c748baffc1 Merge branch 'MDL-80827-main' of https://github.com/stevandoMoodle/moodle 2024-03-25 11:43:28 +08:00
Huong Nguyen c53fc0e0c9 Merge branch 'MDL-79829-main' of https://github.com/laurentdavid/moodle 2024-03-25 09:22:20 +07:00
Huong Nguyen 890eb4bd0b Merge branch 'MDL-81074-main' of https://github.com/andrewnicols/moodle 2024-03-25 09:15:12 +07:00
Andrew Nicols f1718680ce MDL-81074 core: Simplify strftime tests 2024-03-25 09:51:25 +08:00
Luca Bösch b2af5134b8 MDL-81074 core: align core_date::strftime results for numeric and string 2024-03-25 09:51:25 +08:00
Andrew Nicols 624a1d8169 MDL-81074 core: Add assertTimeStringMatches PHPUnit Assertion
Also raised as https://github.com/sebastianbergmann/phpunit/issues/5757
2024-03-25 09:51:25 +08:00
Paul Holden 8023990caf MDL-77838 repository: preserve empty dirs in download if selected. 2024-03-22 16:21:18 +00:00
Sara Arjona 342319339f on-demand release 4.4dev+ 2024-03-22 14:03:42 +01:00
Sara Arjona d0c545d2fb NOBUG: Fixed file access permissions 2024-03-22 14:03:42 +01:00
Sara Arjona fa8213c3d7 NOBUG: Fixed SVG browser compatibility 2024-03-22 14:03:38 +01:00
Jun Pataleta f150d5016d Merge branch 'MDL-81132-master' of https://github.com/jleyva/moodle 2024-03-22 11:57:23 +08:00
Jun Pataleta b690ef2429 Merge branch 'MDL-81313-main' of https://github.com/snake/moodle 2024-03-22 11:47:56 +08:00
Jun Pataleta e366db6c55 Merge branch 'MDL-80843' of https://github.com/paulholden/moodle 2024-03-22 11:34:23 +08:00
Ilya Tregubov 9f10899178 Merge branch 'MDL-80099_main' of https://github.com/marxjohnson/moodle 2024-03-22 11:07:55 +08:00
Ilya Tregubov 7e9a20640b Merge branch 'MDL-81319' of https://github.com/stronk7/moodle 2024-03-22 09:29:38 +08:00
Ilya Tregubov df7167a57a Merge branch 'MDL-81023-main' of https://github.com/aanabit/moodle 2024-03-22 09:22:19 +08:00
Ilya Tregubov 59d44c30a5 Merge branch 'MDL-80715-main' of https://github.com/ferranrecio/moodle 2024-03-22 09:17:55 +08:00
Mathew May 68bf0f5b77 MDL-78885 comboboxsearch: Points from review 2024-03-22 05:50:06 +11:00
Shamim Rezaie 2ac9dc9108 MDL-78885 comboboxsearch: Deprecate trigger 2024-03-22 05:49:52 +11:00
Shamim Rezaie c9a81b7165 MDL-78885 gradereport_grader: minor fixes to the collapse columns 2024-03-22 05:49:17 +11:00
Shamim Rezaie 893a9e43d1 MDL-78885 comboboxsearch: Some small fixes
- Remove aria-busy
- Remove aria-label from the listbox element. A listbox that is part of
  a combobox does not need to be labelled.
- No need for the aria-label for the select all checkbox because it is
  already enclosed in the <label> tag.

- Having "view results for ..." as aria-label of listbox options is not
  helpful and only creates noise.
- Deprecated (viewresults,core) as it was not used anymore
- aria-hidden="true" should not be used on .d-none elements
- 'noresults' was falsely documented as a required context variable for
  resultset.mustache. Not only it was not required, it was not even
  provided!

- Remove duplicate code from user_selector.mustache
- Remove the redundant aria-label from search_input_auto. It already has
  a label.
- Fix placeholder missing from one case
2024-03-22 04:25:01 +11:00
Shamim Rezaie 1c377fc61e MDL-78885 comboboxsearch: Show x button when user search is not empty 2024-03-22 04:24:23 +11:00
Shamim Rezaie c122998463 MDL-78885 comboboxsearch: Comboboxes should have a meaningful label
Also, used the combobox's label as the dialogue's label as well
2024-03-22 04:24:23 +11:00
Shamim Rezaie 60aa3614f4 MDL-78885 comboboxsearch: Remove the redundant rtl context variable 2024-03-22 04:24:23 +11:00
Shamim Rezaie a320dff736 MDL-78885 aria: Add support for data-short-text 2024-03-22 04:24:23 +11:00
Shamim Rezaie 7fa36e6bf0 MDL-78885 aria: Improve focus back
To support the case when a combobox is inside another dropdown
2024-03-22 04:24:23 +11:00
Shamim Rezaie 50eeafeb7d MDL-78885 comboboxsearch: Improve user search and keyboard handling
- Prevent rerendering of the menu when it's already open to preserve the
  selected/highlighted option.
- Allow ArrowUp and ArrowDown to trigger the user search dropdown for
  improved keyboard navigation.

This commit ensures that the menu is not re-rendered when it's already
open, preserving the selected option to enhance the user experience.
Additionally, ArrowUp and ArrowDown keys now trigger the dropdown,
improving keyboard navigation and user interactions.
2024-03-22 04:24:20 +11:00
Shamim Rezaie ee5c4f8f99 MDL-78885 comboboxsearch: Reset status of filters to a zero state
Most of this is automatically handled by aria.js for other comboboxes.
But the search combobox inside the grade and group dropdowns are special
cases because they are not the same as the toggle element of the
dropdown.
2024-03-22 04:23:57 +11:00
Shamim Rezaie 8e2555dc48 MDL-78885 comboboxsearch: Switch event listener from 'click' to 'change'
Move from listening to 'click' to listening to 'change'
2024-03-22 04:23:55 +11:00
Shamim Rezaie bff7c88878 MDL-78885 comboboxsearch: .dropdown() calls should be on toggle element
Introduced the toggle property.
2024-03-22 04:23:26 +11:00
Shamim Rezaie bc6a3f5a8d MDL-78885 comboboxesearch: user search should have value as well 2024-03-22 04:23:26 +11:00
Shamim Rezaie b4bb1cde97 MDL-78885 comboboxesearch: Comboboxes should have a name and value
- core_grades_renderer::group_selector() was changed previously, but it
  was providing redundant context data to
core_group/comboboxsearch/group_selector and on the other hand, it was
not providing 'name' and 'value' for core/comboboxsearch
- The $groupactionbaseurl parameter of
  core_grades_renderer::group_selector() is now deprecated as it was not
used.
- a bug is fixed: if only a lastname initial was set, the clear search
  button was not being displayed.
2024-03-22 04:23:25 +11:00
Shamim Rezaie e9ec450668 MDL-78885 comboboxsearch: remove aria-activedecendant on options change 2024-03-22 04:23:22 +11:00
Shamim Rezaie d886cba9d3 MDL-78885 comboboxsearch: Enable aria.js for auto handling
- Added the `dropdown` class to ensure toggle element focus when the
  dropdown is closed.
- Improved keyboard handling by adding the `dropdown` class.
  aria.js will automatically handle keyboard interactions.
- Removed redundant keyboard handling.
- The "view all results" option is just a normal option in a combobox.
  It should not be treated as the default action for a combobox.
- Ensured correct markup for 'Esc' key handling. aria.js automatically
  focuses on the toggle element if the dropdown's toggle and the
  dropdown menu are wrapped within a .dropdown element.
- Implemented menu closure for outside clicks and when leaving the edit
  box.
- Manually focused on the user search element when opening the search
 dropdown due to a focusLock issue.
- Fix the issue of another dropdown staying open
- Clicking on the clearSearchButton should not close the dropdown
2024-03-22 04:22:24 +11:00
Shamim Rezaie 2f023f9ebe MDL-78885 theme_boost: Revert 3a8eeedf of MDL-75274.
These changes that I'm undoing were not only wrong, but also not used
and were left over code.
2024-03-22 04:00:18 +11:00
Shamim Rezaie 535bfb3052 MDL-78885 aria: Fix pressing Home and End on editable comboboxes 2024-03-22 04:00:18 +11:00
Shamim Rezaie e0d2a3924e MDL-78885 aria: Automatically trap focus inside dialog dropdowns
- there is no need to set the focus after a dropdown is opened. It is
automatically set as the result of trapping focus.
2024-03-22 04:00:18 +11:00
Shamim Rezaie d18f7bf5cd MDL-78885 core: combobox should have a valid aria-controls
- The aria-controls attribute cannot refer to an element that doesn't
  exist
- Also update filterDataset so it returns [] when searchTerm is empty
2024-03-22 04:00:15 +11:00
Sara Arjona f3f514ace1 Merge branch 'MDL-80488' of https://github.com/paulholden/moodle 2024-03-21 17:30:40 +01:00
Mathew May 3cf55c3c30 MDL-78885 gradereport_singleview: Behat updates after a11y fixes 2024-03-22 03:26:22 +11:00
Mathew May e4083441ec MDL-78885 core_user: A11y fixes for user combobox search
Co-authored-by: Shamim Rezaie <shamim@moodle.com>
2024-03-22 03:26:19 +11:00
Sara Arjona 1b90202098 Merge branch 'MDL-79913' of https://github.com/paulholden/moodle 2024-03-21 17:18:11 +01:00
Sara Arjona 235c902a8e Merge branch 'MDL-81112' of https://github.com/paulholden/moodle 2024-03-21 17:11:29 +01:00
Sara Arjona 578226b8fa Merge branch 'MDL-72376' of https://github.com/paulholden/moodle 2024-03-21 17:00:32 +01:00
Mathew May 27c1692867 MDL-78885 gradereport_grader: Collapsing a11y fixes 2024-03-22 02:50:57 +11:00
Sara Arjona 1e1d6d8be8 Merge branch 'MDL-71734' of https://github.com/paulholden/moodle 2024-03-21 16:11:40 +01:00
Paul Holden 97a5b89317 Merge branch 'MDL-81163-main' of https://github.com/sarjona/moodle into main 2024-03-21 14:41:41 +00:00
Sara Arjona 3e2b8eed3c Merge branch 'MDL-80636-main' of https://github.com/laurentdavid/moodle 2024-03-21 15:40:24 +01:00
Sara Arjona f54c1b9293 Merge branch 'MDL-69688' of https://github.com/stronk7/moodle 2024-03-21 15:29:47 +01:00
Sara Arjona 484e52f6ae Merge branch 'MDL-80245' of https://github.com/paulholden/moodle 2024-03-21 15:01:18 +01:00
Paul Holden fbfcb6733d MDL-80245 reportbuilder: implement interface elements for report tags.
Allow them to be edited during report creation/updating, display in
report listings table with filtering, and implement tag callback to
allow them to be discoverable across the site.
2024-03-21 13:11:22 +00:00
Sara Arjona 2291df7225 Merge branch 'MDL-81294-main' of https://github.com/roland04/moodle 2024-03-21 13:21:42 +01:00
Amaia Anabitarte e0a482e3b3 MDL-81023 core_course: Move deprecated behat steps to course directory 2024-03-21 12:47:58 +01:00
Eloy Lafuente (stronk7) 7013339ce4 MDL-81319 install: update the list of stale files for 4.4 2024-03-21 10:46:01 +01:00
Paul Holden 011619dbd3 MDL-71734 lang: final removal of deprecated 400 strings. 2024-03-21 09:44:15 +00:00
Huong Nguyen 0342c13053 Merge branch 'MDL-81276-main' of https://github.com/aanabit/moodle 2024-03-21 15:27:39 +07:00
Huong Nguyen ccefde0f53 Merge branch 'MDL-81289-main' of https://github.com/ferranrecio/moodle 2024-03-21 15:12:01 +07:00
Huong Nguyen d1b1d9d771 Merge branch 'MDL-80835-main' of https://github.com/snake/moodle 2024-03-21 14:53:07 +07:00
Jake Dallimore 7e56b46abc MDL-80835 auth_lti: fix bad cast breaking samesite LTI usage 2024-03-21 15:35:48 +08:00
Jake Dallimore 35e82b9fad MDL-80835 enrol_lti: add partitioning support for OIDC state cookie
Adds the property that is required by Chrome to opt-in to its 3rd party
cookie partitioning solution, CHIPS. This specific change ensures the
'state' cookie, used in the OIDC handshake, has partitioning support.
This cookie can be partitioned unconditionally, since it's a cookie
controlled by the library and one we don't expect to be set without
partitioning elsewhere.
2024-03-21 15:35:48 +08:00
Jake Dallimore 18e26b5abe MDL-80835 auth_lti: add partitioning to post-auth MoodleSession cookie
Adds the property that is required by Chrome to opt-in to its 3rd party
cookie partitioning solution, CHIPS. This specific change to auth_lti is
to ensure the MoodleSession Set-Cookie header resulting from
complete_user_login() calls (in auth.php) have this property set.
2024-03-21 15:35:48 +08:00
Jake Dallimore aea624fcb0 MDL-80835 enrol_lti: add cookies required notice to auth login endpoint
This will be displayed if the cookie checks fail, which currently occurs
in Safari only.
2024-03-21 15:35:48 +08:00
Jake Dallimore b293cb5da6 MDL-80835 enrol_lti: add partitioning support to MoodleSession cookie
Adds the property that is required by Chrome to opt-in to its 3rd party
cookie partitioning solution, CHIPS. This specific change deals with the
cookie that is set when the user is not yet auth'd with the site and is
necessary to facilitate OIDC nonce retrieval and validation.
2024-03-21 15:35:48 +08:00
Jake Dallimore a92f780b23 MDL-80835 auth_lti: add cookie helper facilitating CHIPS opt-in
To opt a cookie in to Chrome's 3rd party cookie partitioning solution,
CHIPS, the property 'Partitioned;' needs to be set. This adds a helper
class supporting this, for a given cookie(s).

Note also, PHP's native
cookie APIs (setcookie, etc) don't support this cookie property yet -
(https://github.com/php/php-src/issues/12646).

Since this class is intended to allow existing Set-Cookie headers to be
modified before being sent (e.g. allowing clients to set a property on a
cookie set elsewhere in code), it deals with the headers directly anyway
but it means that new cookies must also use this helper to opt-in,
instead of relying on setcookie(). E.g. where the intent is to add
partitioning support to a new cookie, that cookie must first be set
(setcookie) and then it may opt-in to partitioning via this helper;
partitioning support cannot be achieved directly through setcookie and
friends yet.
2024-03-21 15:35:48 +08:00
Eloy Lafuente (stronk7) 0f3775088f MDL-69688 phpunit: Improve test_context_not_used
This adds a few changes to the old test_context_not_used test:

- Move it to become an advanced_test, because its mission
  is to verify that the assertEventContextNotUsed() assertion
  works as expected.
- For consistency, also move the fixtures to own phpunit fixtures.
- Add proper coverage tags, to verify that the assertion is being
  covered.
- Add a data provider to provide all the current cases and ease
  any future case that may be needed in the future. One by one
  because previously there was code never executed with the
  warning expectation causing the test to stop.
- Run them in isolation, while this is not strictly required, it's
  including external fixtures and, we'll need that isolation soon
  (for changes coming when moving the test to PHPUnit 9.6 in MDL-81266).
2024-03-21 08:31:08 +01:00
Ilya Tregubov 1e13aa23b6 Merge branch 'MDL-80850-main' of https://github.com/HuongNV13/moodle 2024-03-21 14:24:42 +08:00
Huong Nguyen b0220f27cb MDL-80850 Javascript: Add new core/dropzone module 2024-03-21 12:45:55 +07:00
Ilya Tregubov cd2fb2fe78 Merge branch 'MDL-79668-main' of https://github.com/kevpercy/moodle 2024-03-21 12:22:58 +08:00
Huong Nguyen 6b09a619e5 Merge branch 'MDL-80923-main' of https://github.com/sarjona/moodle 2024-03-21 11:20:33 +07:00
Huong Nguyen c8d78c8476 Merge branch 'MDL-80949-main' of https://github.com/sarjona/moodle 2024-03-21 10:58:59 +07:00
Jake Dallimore 0255500247 MDL-81313 core: Revert "Merge branch 'MDL-80338'
This reverts commit 40f501fb4e, reversing
changes made to 3061024726.
2024-03-21 11:03:25 +08:00
Ilya Tregubov 45750b413e Merge branch 'MDL-81050-main' of https://github.com/roland04/moodle 2024-03-21 10:52:39 +08:00
Paul Holden 16b73bf993 MDL-80488 mod_lesson: avoid overflowing length of page titles. 2024-03-20 23:51:12 +00:00
Paul Holden 2aba5e0ff7 MDL-81112 gradereport_grader: show user country value correctly. 2024-03-20 23:49:51 +00:00
Paul Holden 33636dc66d MDL-72376 mod_book: final removal of deprecated navigation method. 2024-03-20 23:49:01 +00:00
Sara Arjona be1bb3dfc3 Merge branch 'MDL-80290-task-ui' of https://github.com/brendanheywood/moodle 2024-03-20 17:12:13 +01:00
Sara Arjona 92cceb7b5f Merge branch 'MDL-80560' of https://github.com/marinaglancy/moodle 2024-03-20 17:08:19 +01:00
Sara Arjona 9d7ab10f29 MDL-81163 course: Use component_callback for is_branded 2024-03-20 17:04:55 +01:00
Ferran Recio fbbb86a2a6 MDL-80715 core_courseformat: delegate section and cm rename 2024-03-20 16:51:12 +01:00
Ferran Recio c74a5439f6 MDL-80715 core_courseformat: new cm rename action 2024-03-20 16:51:12 +01:00
Ferran Recio 9d3bbe6c02 MDL-80715 core_courseformat: new section update action 2024-03-20 16:51:12 +01:00
Mark Johnson ee952d6556 MDL-80099 quiz: Add attempt_state_changed hook
This creates a new hook which is dispatched when a quiz attempt is set
to a new state, or deleted. This is then used by quiz_statistics to
trigger a recalulation, replacing the old event observer (for
submissions) and class callback (for deletions).
2024-03-20 14:58:17 +00:00
Mark Johnson 9a2f82a709 MDL-80099 quiz: Replace quiz_structure_modified callback with hook
This adds a new structure_modified hook to mod_quiz, deprecating the
quiz_stucture_modified class callback used in
recompute_quiz_sumgrades(). The callback will be removed in Moodle 4.8.

The quiz_statsitics plugin which used this callback now defines a hook
callback instead.
2024-03-20 14:58:16 +00:00
Mark Johnson 788556f652 MDL-80099 hooks: Add mechanism to deprecate class callbacks 2024-03-20 14:58:16 +00:00
Mikel Martín 7509c3bd34 MDL-79368 theme_boost: Update screenshot image 2024-03-20 15:52:39 +01:00
Mikel Martín 5ebc01f12d MDL-79368 theme_classic: Update screenshot image 2024-03-20 15:52:30 +01:00
Shamiso.Jaravaza b88cf030a3 MDL-79239 mod_bigbluebuttonbn: Server cred warning
* Added warning messages about credentials
* Activity still accessible when using test-moodle/test-install
2024-03-20 08:51:30 -06:00
Sara Arjona 5e5f06ba68 MDL-80923 course: Replace custom element with placeholder
In the section settings page, replace the custom checkbox element
used for renaming with a standard input text field featuring a
placeholder.
This adjustment aims to enhance user experience by simplifying the
interaction and aligning with modern design standards.
2024-03-20 12:02:38 +01:00
Mikel Martín 1248fa7537 MDL-81294 core: Fix sticky footer height
In MDL-81184 a regression was generated by changing the height property
with min-height in the sticky footer. That caused unexpended behaviour
of the sticky footer being partially displayed in the course page
for small devices.
Replacing min-height with height as the original design.
2024-03-20 11:38:22 +01:00
Jun Pataleta 20a7f5a180 Merge branch 'MDL-81110-main' of https://github.com/roland04/moodle 2024-03-20 11:10:25 +08:00
Jun Pataleta 9573a6f9c1 Merge branch 'MDL-79007_main' of https://github.com/marxjohnson/moodle 2024-03-20 10:45:14 +08:00
Ilya Tregubov 39b8e198ff on-demand release 4.4dev+ 2024-03-20 08:54:40 +08:00
Ilya Tregubov a04bd247be Merge branch 'install_master' of https://git.in.moodle.com/amosbot/moodle-install 2024-03-20 08:54:36 +08:00
Amaia Anabitarte 0cf88daffd MDL-81276 mod_scorm: Fix minimum score validation 2024-03-19 22:43:22 +01:00
ferranrecio 19af72f6ca MDL-81289 core_courseformat: fix get_format_string params 2024-03-19 17:27:03 +01:00
Paul Holden 399be61cb9 Merge branch 'MDL-78438-main' of https://github.com/ilyatregubov/moodle into main 2024-03-19 23:18:13 +07:00
Sara Arjona a399be5f01 Merge branch 'MDL-81073' of https://github.com/paulholden/moodle 2024-03-19 23:18:13 +07:00
Ilya Tregubov 8189d3b2f5 MDL-78438 gradereport_grader: Fix Behat test
Seems Oracle is too slow on pressing buttons :))
2024-03-19 23:18:13 +07:00
Huong Nguyen 5db6238c5b Merge branch 'MDL-81156-main' of https://github.com/lameze/moodle 2024-03-19 23:18:13 +07:00
Andrew Nicols 3fb159a815 Merge branch 'MDL-77255-main' of https://github.com/HuongNV13/moodle 2024-03-19 23:18:12 +07:00
Mikel Martín 10f378a7a4 MDL-81050 course: Add behat scenarios for inline section renaming 2024-03-19 15:19:34 +01:00
Marina Glancy c3db339f07 MDL-80560 admin: user list - show picture, download, fix identity fields 2024-03-19 12:20:35 +00:00
Mikel Martín 60a4bf5bcc MDL-81110 theme_boost: Fix scroll-margin-top in #maincontent
- Fix scroll-margin-top in #maincontent element
- Add scroll-margin-top for focused elements too
2024-03-19 10:21:19 +01:00
Mikel Martín dba1efa28e MDL-81050 navigation: Add data attributes to sections in breadcrumbs
- Add a new method 'add_attribute' to navigation nodes to add HTML attributes to nodes.
- Add data-attribute to section nodes and include them in breadcrumb mustache to automatically update section titles
 when sections are renamed.
2024-03-19 08:53:49 +01:00
Mikel Martín de9c2393b2 MDL-81050 course: Propagate section name change in the content
Add a new feature to propagate the section name change through the
course content. Any element with data-section-name-for=<sectionid>
will automatically update the section name.
2024-03-19 08:53:49 +01:00
Mikel Martín 34ab1582cb MDL-81050 course: Fix section renaming in section page
Fix section page heading title update when the section name has been
modified using inplace editable.
2024-03-19 08:53:49 +01:00
Mikel Martín b73a685ef7 MDL-81050 output: Add new 'attributes' parameter to container 2024-03-19 08:53:49 +01:00
Michael Hawkins 7a0d9e5124 MDL-80036 core: Update security.txt expiry 2024-03-19 15:30:24 +08:00
Huong Nguyen 52c481318a MDL-77255 block_tag_flickr: Update to match with the new API
Flickr dropped php_serial format, we need to change to JSON format
2024-03-19 10:14:18 +07:00
Ilya Tregubov ef34a20e06 Merge branch 'MDL-79669' of https://github.com/Chocolate-lightning/moodle 2024-03-19 11:09:38 +08:00
Ilya Tregubov eda139f3a0 Merge branch 'MDL-80240' of https://github.com/paulholden/moodle 2024-03-19 10:27:54 +08:00
Ilya Tregubov d567ba9a81 Merge branch 'MDL-80919' of https://github.com/paulholden/moodle 2024-03-19 10:14:07 +08:00
Brendan Heywood 51a752fae2 MDL-80290 task: Refactor styles to be consistent 2024-03-19 13:02:39 +11:00
Brendan Heywood 40b8c75967 MDL-80290 task: Task autolink urls and emails in mtrace 2024-03-19 12:56:00 +11:00
Ilya Tregubov 87f5d69ba5 Merge branch 'MDL-78438' of https://github.com/paulholden/moodle 2024-03-19 09:46:59 +08:00
Ilya Tregubov a4099ff9e3 Merge branch 'MDL-81188-main' of https://github.com/roland04/moodle 2024-03-19 09:22:10 +08:00
Ilya Tregubov 3f57f25af0 Merge branch 'MDL-80793' of https://github.com/OxyOCE/moodle 2024-03-19 09:10:43 +08:00
AMOS bot 12311c699c Automatically generated installer lang files 2024-03-19 00:08:55 +00:00
Jun Pataleta 4c802f72c3 Merge branch 'MDL-81066-main' of https://github.com/sammarshallou/moodle 2024-03-19 07:23:32 +08:00
Paul Holden ba1f9cb26c MDL-81073 badges: better Oracle support for expiry filter.
Avoid the following error by casting the bound parameter:

ORA-00932: inconsistent datatypes: expected CHAR got NUMBER.
2024-03-18 19:53:29 +00:00
Laurent David 2292a50356 MDL-80636 lib: Upgrade HTML purifier moodle files
* Update thirdpartylibs.xml and readme_moodle.txt documentation
2024-03-18 19:35:55 +01:00
Laurent David 0079ba38f2 MDL-80636 lib: Upgrade HTML purifier to 4.17.0 2024-03-18 19:34:36 +01:00
Shamiso.Jaravaza 4a1544cfdc MDL-79239 mod_bigbluebuttonbn: Remove DPA
* Removed dpa
* Plugin remains disabled by default
2024-03-18 10:53:15 -06:00
Sara Arjona 4d4007166c Merge branch 'MDL-72923-master' of https://github.com/michael-milette/moodle 2024-03-18 16:56:54 +01:00
Sara Arjona 5879fa62d6 Merge branch 'MDL-81259' of https://github.com/paulholden/moodle 2024-03-18 16:19:01 +01:00
Sara Arjona b52568974e Merge branch 'MDL-81254' of https://github.com/paulholden/moodle 2024-03-18 16:08:04 +01:00
Tim Hunt f17d5783e1 MDL-81227 question bank: improve the order of the action menu 2024-03-18 14:19:52 +00:00
sam marshall 79038ab3a3 MDL-81066 core_form: Validate form fields on submit only 2024-03-18 13:25:39 +00:00
Sara Arjona 0d7af68082 Merge branch 'MDL-81073' of https://github.com/paulholden/moodle 2024-03-18 12:43:15 +01:00
Mark Johnson a64446c2ad MDL-79007 calendar: Make screen readers read the new month name 2024-03-18 11:25:46 +00:00
Mark Johnson f419983b32 MDL-79007 calendar: Make screen readers read out calendar day popovers 2024-03-18 11:25:46 +00:00
Sara Arjona 42edaba56f MDL-80949 mod_data: Remove unused Allow autolink param for text field 2024-03-18 09:47:02 +01:00
Mikel Martín 9733ccc381 MDL-81188 form: Fix password element layout
MDL-75670 generated a regression in forms password element layout that was not
being displayed in a single line as before.

- Modify the password element template to display the input and the password
unmask icon in a single line.
- Change the password unmask button styles to be consistent with other
focus states.
- Modify passwordunmask behat form field to work with the new password element
layout changes.
2024-03-18 09:19:35 +01:00
Huong Nguyen b82dbf002a Merge branch 'MDL-80566' of https://github.com/marinaglancy/moodle 2024-03-18 10:54:36 +07:00
Jun Pataleta b7cf80a244 Merge branch 'MDL-80279' of https://github.com/pedrojordao/moodle 2024-03-18 11:22:57 +08:00
Huong Nguyen d3e4821bc7 Merge branch 'MDL-80206-main' of https://github.com/andrewnicols/moodle 2024-03-18 09:42:06 +07:00
Matt Porritt 66349bad3a MDL-81172 Administration: Add recommended custom check
Add support for custom environment checks to have a recommended
option in addition to required an optional.
2024-03-18 12:02:54 +11:00
Matt Porritt 5d74f366a0 MDL-81172 Backup: Async Backup on by default from install
Enable asynchronous backup and restore on new site install.
Existing behaviour is not changed for sites being upgraded.
Behat tests have been set to use synchronous mode.
2024-03-18 12:01:50 +11:00
Paul Holden ac4487efd2 MDL-81259 auth: always load password toggle module when required. 2024-03-17 20:35:36 +00:00
Philipp Imhof 7419d5d319 MDL-80087 Questions: warn if preload_all_step_users was not called
Co-authored-by: Tim Hunt <T.J.Hunt@open.ac.uk>
2024-03-15 19:40:15 +01:00
Paul Holden 7e7da9f894 MDL-79913 grade: respect messaging config for user heading buttons. 2024-03-15 17:00:22 +00:00
Marina Glancy 6fdeabd5b5 MDL-80566 user: convert callback 'bulk_user_actions' to hook 2024-03-15 17:00:00 +00:00
Paul Holden 357445b43c MDL-81254 grade: ensure we always close the graded user iterator.
This ensures that the recordsets contained within are also closed
when we're done with them.
2024-03-15 14:59:11 +00:00
Huong Nguyen 757be30c39 weekly release 4.4dev+ 2024-03-15 21:48:16 +07:00
Huong Nguyen 0f0a388fab Merge branch 'install_master' of https://git.in.moodle.com/amosbot/moodle-install 2024-03-15 21:48:15 +07:00
Pedro Jordao da16de2496 MDL-80279 core: Set new attributes for user profile initials
When the user does not have a profile photo and initials are displayed,
there is no alt text for the initials which causes accessibility
issues, so with this change I added the user's full name to the title
and aria-label attributes and I set a role='img' when the element span
is rendered.
2024-03-15 07:31:56 -03:00
Leon Stringer 5cfe2adce8 MDL-81146 forms: Disable submit buttons in Chrome 2024-03-15 08:29:14 +00:00
Jake Dallimore e97ce38e18 Merge branch 'MDL-80167-main-int' of https://github.com/HuongNV13/moodle 2024-03-15 12:54:24 +08:00
Jake Dallimore 78b73c45ac MDL-81180 tool_mobile: fix typo in callback namespace 2024-03-15 12:17:07 +08:00
Huong Nguyen 388cc303f9 MDL-81246 dml: Check the statement resource before freeing it 2024-03-15 11:07:51 +07:00
Jake Dallimore 93aa177f11 Merge branch 'MDL-81180-main' of https://github.com/andrewnicols/moodle 2024-03-15 10:27:51 +08:00
Huong Nguyen 699a0e9328 MDL-80167 core: Skip Oracle for Oracle environment in unit tests 2024-03-15 08:45:42 +07:00
Ilya Tregubov 1c604c9cb4 Merge branch 'MDL-81190' of https://github.com/paulholden/moodle 2024-03-15 08:41:58 +08:00
Ilya Tregubov 505d9c2421 Merge branch 'MDL-81109-main' of https://github.com/lucaboesch/moodle 2024-03-15 08:34:34 +08:00
Matthew Hilton 3a1ea0c945 MDL-80300 mod_quiz: Updated override edit form validation 2024-03-15 08:18:56 +10:00
Matthew Hilton 68dcb5d736 MDL-80300 mod_quiz: Add quiz override webservices 2024-03-15 08:18:56 +10:00
Matthew Hilton 2c6a746578 MDL-80300 mod_quiz: Add override manager class 2024-03-15 08:18:56 +10:00
Sara Arjona d37c305311 Merge branch 'MDL-80167-main' of https://github.com/HuongNV13/moodle 2024-03-14 11:54:52 +01:00
Sara Arjona cc1872b143 Merge branch 'MDL-80479-main' of https://github.com/lameze/moodle 2024-03-14 11:47:48 +01:00
Huong Nguyen 6a19d3289b MDL-80167 admin: Add environment check for Oracle database 2024-03-14 17:41:56 +07:00
Sara Arjona 39399efaf8 Merge branch 'MDL-81213-main' of https://github.com/roland04/moodle 2024-03-14 11:21:58 +01:00
Sara Arjona 4b5f957743 Merge branch 'MDL-81007-master' of https://github.com/jleyva/moodle 2024-03-14 10:37:43 +01:00
Andrew Nicols 3bf8846639 MDL-81233 core: Include phpstorm meta info
This allows IDEs such as phpstorm, and vscode, to determine class
information for classes returned from the DI Container.
2024-03-14 12:29:15 +08:00
Simey Lameze f0dbf61e47 MDL-80479 behat: improve new test for quiz timer 2024-03-14 10:17:09 +08:00
Angelia Dela Cruz 955d8693bf MDL-80479 mod_quiz: Behat to set quiz opening and closing time 2024-03-14 10:15:47 +08:00
Ilya Tregubov e21f08abcf MDL-77779 competency: Fix course restore from older backups.
overridegrade might be not set if Moodle < 4.1
2024-03-14 09:28:29 +08:00
Simey Lameze 47b4a3adcf MDL-81156 behat: coverage for force course language 2024-03-14 09:02:21 +08:00
AMOS bot 21c6f69ed9 Merge branch 'master' into install_master 2024-03-14 00:13:23 +00:00
Tim Hunt 3c724fecad MDL-81114 question: fix selection of random questions with draft status
We need to pick the latest 'ready' version of each question
(not questions where the latest version is ready).

There are test of the behaviour of random_question_loader, and
then a test in the quiz to prove it works in use.
2024-03-13 15:23:02 +00:00
Andrew Nicols e3ea78e043 MDL-81222 core: Show all tags for a hook in summary page 2024-03-13 22:05:46 +08:00
Sara Arjona 05dd0cd384 Merge branch 'MDL-80204-master' of https://github.com/izendegi/moodle 2024-03-13 12:24:41 +01:00
Sara Arjona 6256d7c238 Merge branch 'MDL-80865' of https://github.com/paulholden/moodle 2024-03-13 12:18:46 +01:00
Mikel Martín f8c3d1c36c MDL-81213 theme_boost: Fix .form-control width
MDL-75670 generated a regression in some forms where .form-control
elements where now being displayed as full width (Bootstrap default).

- Override Bootstrap default width: 100% for .form-control elements
- Move related .custom-select same override from core.scss to forms.scss
2024-03-13 12:18:36 +01:00
Sara Arjona 6c3ad2a841 Merge branch 'MDL-80063' of https://github.com/paulholden/moodle 2024-03-13 08:41:54 +01:00
Ilya Tregubov fd7703ff69 Merge branch 'MDL-80565-main' of https://github.com/laurentdavid/moodle 2024-03-13 11:22:23 +08:00
AMOS bot c464c70298 Automatically generated installer lang files 2024-03-13 00:11:14 +00:00
Ilya Tregubov 70f611116d on-demand release 4.4dev+ 2024-03-13 08:10:21 +08:00
Ilya Tregubov b8b54b6446 NOBUG: Fixed file access permissions 2024-03-13 08:10:21 +08:00
Ilya Tregubov f4acb7dc66 NOBUG: Fixed SVG browser compatibility 2024-03-13 08:10:18 +08:00
Paul Holden 54a51e8382 MDL-80063 roles: implement roles datasource for custom reporting.
Comprised of existing context, role & user entities to provide all
report data.
2024-03-12 11:26:39 +00:00
Iñigo Zendegi a840d06652 MDL-80204 lang: Polysemic lang strings to & from
AMOS BEGIN
 CPY [to,moodle],[todate,moodle]
 MOV [to,moodle],[torecipient,moodle]
 CPY [from,moodle],[fromdate,moodle]
 MOV [from,moodle],[fromsender,moodle]
AMOS END
2024-03-12 11:51:03 +01:00
Jun Pataleta 3c3e6fd0e2 Merge branch 'MDL-80871-main' of https://github.com/andrewnicols/moodle 2024-03-12 11:41:58 +08:00
Jun Pataleta a0e333fb7c Merge branch 'MDL-80896-main' of https://github.com/andrewnicols/moodle 2024-03-12 11:38:26 +08:00
Huong Nguyen 6ebe7d9efb Merge branch 'MDL-76805-main' of https://github.com/lameze/moodle 2024-03-12 10:32:09 +07:00
Ilya Tregubov 6c9e011d32 Merge branch 'MDL-80991' of https://github.com/paulholden/moodle 2024-03-12 11:28:21 +08:00
Huong Nguyen 2bf5b05f5a Merge branch 'MDL-80958-main' of https://github.com/mickhawkins/moodle 2024-03-12 10:26:50 +07:00
Mathew May 7a165e524c MDL-79669 lib: Update PHP-jwt to 6.10.0 2024-03-12 11:02:32 +08:00
Andrew Nicols 9e09693da3 Merge branch 'MDL-81039' of https://github.com/timhunt/moodle 2024-03-12 11:00:12 +08:00
Shamiso.Jaravaza 0c376f04da MDL-76805 mod_bigbluebuttonbn: Fix up behat tests 2024-03-12 10:57:03 +08:00
Andrew Nicols 9cdc5850c5 Merge branch 'MDL-75952' of https://github.com/stronk7/moodle 2024-03-12 10:45:02 +08:00
Ilya Tregubov 5c0ad525b0 Merge branch 'MDL-81035-main' of https://github.com/HuongNV13/moodle 2024-03-12 10:40:26 +08:00
Andrew Nicols 08fce52dd3 Merge branch 'MDL-72438' of https://github.com/Chocolate-lightning/moodle 2024-03-12 10:36:37 +08:00
Huong Nguyen 7f138acd43 Merge branch 'MDL-81184-main' of https://github.com/roland04/moodle 2024-03-12 09:28:27 +07:00
Ilya Tregubov 2202ed0047 Merge branch 'MDL-81127-main' of https://github.com/izendegi/moodle 2024-03-12 10:26:54 +08:00
Ilya Tregubov 0f5ebdd6ab Merge branch 'MDL-79670-main' of https://github.com/mihailges/moodle 2024-03-12 10:22:54 +08:00
Jun Pataleta 70d4a925ac Merge branch 'MDL-80677-main' of https://github.com/andrewnicols/moodle 2024-03-12 10:21:38 +08:00
Huong Nguyen 34bb16ab27 MDL-79769 core: Tidy up core/togglesensitive 2024-03-12 09:19:58 +07:00
Huong Nguyen 88dc0f5010 Merge branch 'MDL-79769-master' of https://github.com/davewoloszyn/moodle 2024-03-12 09:18:10 +07:00
Ilya Tregubov ac2e60dbb8 Merge branch 'MDL-81191' of https://github.com/paulholden/moodle 2024-03-12 10:12:50 +08:00
Huong Nguyen cb409b0cf0 Merge branch 'MDL-81124' of https://github.com/stronk7/moodle 2024-03-12 08:53:54 +07:00
Andrew Nicols ad9322aba2 MDL-80677 core: Deprecation attribute can apply to interfaces and traits 2024-03-12 09:49:02 +08:00
Paul Holden 8cb0054340 MDL-81191 course: define batch stealth feedback language string. 2024-03-11 17:25:03 +00:00
Paul Holden e2de6e4584 MDL-81190 mod_assign: correct context argument to format string. 2024-03-11 16:56:32 +00:00
Sara Arjona b4ab5ae980 Merge branch 'MDL-79673' of https://github.com/paulholden/moodle 2024-03-11 17:44:48 +01:00
Sara Arjona 80fe231e74 Merge branch 'MDL-79672' of https://github.com/paulholden/moodle 2024-03-11 17:35:53 +01:00
Sara Arjona 9c444cefc6 Merge branch 'MDL-79027' of https://github.com/paulholden/moodle 2024-03-11 17:26:47 +01:00
Sara Arjona 8c29e71c39 Merge branch 'MDL-79667-main' of https://github.com/mihailges/moodle 2024-03-11 17:08:50 +01:00
Sara Arjona e5b601c313 Merge branch 'MDL-80431' of https://github.com/marinaglancy/moodle 2024-03-11 17:01:12 +01:00
Andrew Nicols 43e2e62be4 MDL-80871 tool_usertours: Allow tours to ignore completion
The use-case here is for tours which must be shown on every page load.

The tour still needs to be ended for the current page, but should be
shown again on the next time the page is loaded.
2024-03-11 22:51:10 +08:00
Andrew Nicols 4d992e8cae MDL-80871 tool_usertours: Coding style fixes 2024-03-11 22:51:10 +08:00
Andrew Nicols d5ec9d695f MDL-80206 core: Allow debugging to be treated as an error 2024-03-11 22:35:47 +08:00
Andrew Nicols f09d886f11 MDL-80677 core: deprecation::from should always return 2024-03-11 21:48:32 +08:00
Andrew Nicols 57ec38d136 MDL-80677 core: Move deprecated attributes to \core\attribute NS
Note: Removing the manual require for the attribute from moodlelib
because the class does not have to exist at time of definition, only
when the Reflection API instantiates an instance in \core\deprecation,
by which point the autoloader is available.
2024-03-11 21:48:32 +08:00
Andrew Nicols 807da4963b MDL-80677 core: Any feature of a deprecated class should emit 2024-03-11 21:28:50 +08:00
Andrew Nicols d6112c0bfb MDL-80677 core: Get deprecated item description automatically 2024-03-11 21:28:48 +08:00
Laurent David a12a4b3a14 MDL-80565 report_loglive: Do not show logs from other groups
* Prevent users from seeing logs from other groups if
groupmode is in SEPARATEGROUP
2024-03-11 14:27:10 +01:00
Laurent David e899219c20 MDL-80565 report_log: Prevent user from seeing other logs
* When no groups are selected we forcefully prevent
users from seeing users' logs from other groups
2024-03-11 14:27:01 +01:00
Laurent David f92d5f9ca8 MDL-80565 report_log: Fix report log selector
* When using the report log and we select a group, the group
list should show the right list of users
2024-03-11 14:26:55 +01:00
Sara Arjona 6c4f8dd5df Merge branch 'MDL-73120-main' of https://github.com/lucaboesch/moodle 2024-03-11 13:46:27 +01:00
Paul Holden f4843f268c MDL-81047 hook: fix typo in constructor docblock. 2024-03-11 12:31:45 +00:00
Paul Holden 3d97e8616c Merge branch 'MDL-81047-main' of https://github.com/andrewnicols/moodle into main 2024-03-11 12:18:05 +00:00
Paul Holden 400227c0f4 MDL-73117 calendar: restore previously removed Behat step definition. 2024-03-11 12:09:27 +00:00
Paul Holden ccc4647043 Merge branch 'MDL-73117' of https://github.com/Chocolate-lightning/moodle into main 2024-03-11 12:01:49 +00:00
Sara Arjona 0bbae218d2 Merge branch 'MDL-79664' of https://github.com/paulholden/moodle 2024-03-11 12:25:57 +01:00
Paul Holden f45e391f72 MDL-79664 libraries: upgrade to version 6.9.1 of PHPMailer. 2024-03-11 11:03:32 +00:00
Laurent David 2e138101ff MDL-80565 report: Revert MDL-41465 changes
* Partial revert of changes made in MDL-41465,
while keeping the API changes made in enrol/lib.
2024-03-11 11:00:05 +01:00
Kevin Percy 39813b1f50 MDL-79668 lib: Update Font Awesome to v6.5.1 2024-03-11 17:08:40 +08:00
Huong Nguyen a7503b01ce MDL-81035 core: Fix redirect with sub-path 2024-03-11 15:56:06 +07:00
Andrew Nicols bbc98c82c0 MDL-81180 core: Add support for array notation in hook callback 2024-03-11 16:49:54 +08:00
Andrew Nicols 6231d9119d MDL-81180 core: Fix coding violations in hook manager tests 2024-03-11 16:49:54 +08:00
Laurent David cbe47c1cf4 MDL-79829 theme: Fix Course index draggable cursor
* Make the cursor consistent for drag and drop operation
to be the same in the course content and the course index
2024-03-11 09:24:25 +01:00
Laurent David 9497db441a MDL-79829 core: Reactive drag and drop cursor
* When dragging and dropping an item, the cursor should be
set to "move" and not copy.
2024-03-11 09:24:25 +01:00
Mikel Martín 513a574984 MDL-81184 theme_boost: Fix sticky footer in behat
While in behat debug mode, because sticky footer is not fixed at
the bottom of the page, it does not have to add paddings/margins
related to the drawers.
2024-03-11 08:18:18 +01:00
raortegar e14a950fa9 MDL-80958 tiny_premium: Improve the strings of "Tiny Premium" settings. 2024-03-11 14:56:45 +08:00
Mathew May 886d86623e MDL-72438 question: Final deprecations 2024-03-11 13:26:18 +08:00
Mathew May 3d301abcec MDL-73117 calendar: Final deprecation of threemonth_cal 2024-03-11 09:05:10 +08:00
Eloy Lafuente (stronk7) 361dfe8145 MDL-75952 general: Since php81, refection->setAccessible() is no-op
Refereces:
- https://wiki.php.net/rfc/make-reflection-setaccessible-no-op
- https://www.php.net/manual/en/reflectionproperty.setaccessible.php
- https://www.php.net/manual/en/reflectionmethod.setaccessible.php

As of PHP 8.1.0, calling this method has no effect; all methods are
invokable by default. So, let's remove all uses from core, they are
no-op.
2024-03-10 21:15:00 +01:00
Adam Olley 5e87af8396 MDL-81182 factor_sms: Correct path for config.php require
Without this, the path is incorrect and can, in some circumstances (if
config.php is a symlink for one) - result in PHP requiring the config
file twice.
2024-03-10 01:04:51 +10:30
Mihail Geshoski 73ac16f4ad MDL-79667 lib: Upgrade OpenSpout to 4.23.0 2024-03-09 22:09:47 +08:00
Adam Olley 6f81cfd479 MDL-81182 factor_email: Correct path for config.php require
Without this, the path is incorrect and can, in some circumstances (if
config.php is a symlink for one) - result in PHP requiring the config
file twice.
2024-03-10 00:32:34 +10:30
Tim Hunt ff678d360a MDL-81114 question: clarify the SQL in ensure_filtered_questions_loaded
This should not change the (currently buggy) behaviour at all,
but my brain needs this to understand how to fix the bug.
2024-03-08 18:34:08 +00:00
Tim Hunt f0d92f492c MDL-81114 question: fix coding style in random_question_loader_test 2024-03-08 18:34:08 +00:00
Eloy Lafuente (stronk7) 78b5db34a8 MDL-81124 install: Enable is_major_upgrade_required for 4.4dev
Setting it to 2024010400.00 that is the week when MDL-80186 landed.
2024-03-08 17:20:45 +01:00
Andrew Nicols 017e52f213 MDL-81047 core: Standardise init of before_standard_head_html_generation 2024-03-08 23:56:40 +08:00
Andrew Nicols 0a30867cdf MDL-81047 core: Rename standard_head_html_prepend hook
This commit updates the name of the standard_head_html_prepend hook to
meet coding style agreed in MDL-79077.
2024-03-08 23:56:39 +08:00
Marina Glancy 36c91ff907 MDL-80431 forms: do not use fieldset tag without a legend 2024-03-08 15:02:15 +00:00
Paul Holden 8fc9d3e242 Merge branch 'MDL-81128-main' of https://github.com/davidcerezal/moodle into main 2024-03-08 14:50:24 +00:00
Luca Bösch 060f9714d2 MDL-81109 themes: Remove double lines between indented activities. 2024-03-08 13:36:07 +01:00
Luca Bösch 181bfa417b MDL-73120 mod_h5pactivity: Precisely define the "grade" lang string.
AMOS BEGIN
 MOV [grade_h5p,mod_h5pactivity],[gradenoun_h5p,mod_h5pactivity]
AMOS END
2024-03-08 13:35:45 +01:00
Iñigo Zendegi 6868ee3ecd MDL-81127 filter: Support filters on course completion message 2024-03-08 13:28:54 +01:00
Mihail Geshoski 76e44acb83 MDL-79670 media_videojs: Upgrade YouTube Playback for VideoJS to 3.0.1 2024-03-08 18:23:52 +08:00
Mihail Geshoski 02d3e12c75 MDL-79670 media_videojs: Upgrade VideoJS to 8.10.0 2024-03-08 18:14:19 +08:00
Sara Arjona 38a3310c92 on-demand release 4.4dev+ 2024-03-08 11:13:56 +01:00
David Cerezal 1ded2b9d48 MDL-81128 reportbuilder: use specific step instead workaround 2024-03-08 10:33:15 +01:00
Juan Leyva ca8f197148 MDL-81132 mod_forum: Perforance improvements for app 2024-03-08 10:08:19 +01:00
Ilya Tregubov ae9972e108 Merge branch 'MDL-78547-main-phpunit' of https://github.com/HuongNV13/moodle 2024-03-08 13:45:29 +08:00
Huong Nguyen 57610d2bd9 MDL-78547 quiz: Remove unnecessary call to clear_regrade_date_cache()
This method is designed to clear the values but these values are never set anywhere
It's safe to remove it out of the test now
2024-03-08 12:38:30 +07:00
David Woloszyn cd935eb3e2 MDL-79769 login: Fix focus loss of loginpageautofocus setting
Added new form event to fix login fields focus loss when DOM is
manipulated by togglesensitive.
2024-03-08 15:54:37 +11:00
David Woloszyn cb6acfc46a MDL-79769 login: Add password toggle icon to the login screen 2024-03-08 15:54:11 +11:00
Huong Nguyen 585c3d189c Merge branch 'MDL-80235-main' of https://github.com/aanabit/moodle 2024-03-08 10:39:59 +07:00
Huong Nguyen ed37c6e389 Merge branch 'MDL-81082' of https://github.com/paulholden/moodle 2024-03-08 10:27:40 +07:00
Ilya Tregubov 24e42ed7d1 Merge branch 'MDL-79044-main' of https://github.com/geichelberger/moodle 2024-03-08 11:15:16 +08:00
Huong Nguyen 826a3a2401 Merge branch 'MDL-81123-main' of https://github.com/andrewnicols/moodle 2024-03-08 10:12:47 +07:00
Huong Nguyen 2830de44c2 Merge branch 'MDL-81046-main' of https://github.com/andrewnicols/moodle 2024-03-08 10:06:56 +07:00
Ilya Tregubov 736d102dda Merge branch 'MDL-80550' of https://github.com/paulholden/moodle 2024-03-08 11:05:17 +08:00
Huong Nguyen 7701e6a079 Merge branch 'MDL-78547' of https://github.com/timhunt/moodle 2024-03-08 08:51:57 +07:00
Ilya Tregubov b05ca81d6e Merge branch 'MDL-80856-main' of https://github.com/roland04/moodle 2024-03-08 09:42:25 +08:00
Ilya Tregubov 96c9fd4b16 MDL-80943 reportbuilder: Fix bad conflict resolution. 2024-03-08 09:35:55 +08:00
Ilya Tregubov 82859f1848 Merge branch 'MDL-80943' of https://github.com/paulholden/moodle 2024-03-08 09:21:44 +08:00
Jun Pataleta 3278ce7aba Merge branch 'MDL-65292' of https://github.com/stronk7/moodle 2024-03-08 08:00:41 +08:00
Sara Arjona 763591fad0 Merge branch 'MDL-81089-master' of https://github.com/jleyva/moodle 2024-03-07 17:54:52 +01:00
Paul Holden 04b52b043c Merge branch 'MDL-80703' of https://github.com/Chocolate-lightning/moodle into main 2024-03-07 16:52:00 +00:00
Sara Arjona 46e6d412bf Merge branch 'MDL-80634' of https://github.com/paulholden/moodle 2024-03-07 17:47:20 +01:00
Juan Leyva d271925d56 MDL-81089 calendar: Return if module is branded 2024-03-07 17:32:37 +01:00
Juan Leyva 1e87c997df MDL-81089 block_recentlyaccesseditems: Return module branded 2024-03-07 17:32:37 +01:00
Sara Arjona df43fec08c Merge branch 'MDL-81133-master' of https://github.com/jleyva/moodle 2024-03-07 17:15:17 +01:00
Tim Hunt e008a85689 MDL-78547 quiz: fix how deprecated add random calls structure 2024-03-07 16:14:47 +00:00
Tim Hunt 3020d180d8 MDL-78547 quiz: in a preview, if a question has been edited, update it
As part of implementing this, there is a new more efficient method
get_version_information_for_questions_in_attempt to see if any
questions in a quiz need to be updated. The regrade code was updated
to take advantage of this.

Co-authored-by: Khoa Nguyen Dang <khoanguyend7@nashtechglobal.com>
2024-03-07 16:14:47 +00:00
Tim Hunt 05da465b7c MDL-78547 questions: a way to replace a attempt in a usage
... without keeping the old attempt

Co-authored-by: Khoa Nguyen Dang <khoanguyend7@nashtechglobal.com>
2024-03-07 16:14:47 +00:00
Sara Arjona 8ac84014fc Merge branch 'MDL-81054-master' of https://github.com/jleyva/moodle 2024-03-07 17:10:47 +01:00
Sara Arjona 307d5e8c04 Merge branch 'MDL-81065-master' of https://github.com/jleyva/moodle 2024-03-07 17:01:55 +01:00
Juan Leyva 99e05104a2 MDL-81054 tool_dataprivacy: Return download link for data exports 2024-03-07 16:55:27 +01:00
Andrew Nicols 451e33c18c MDL-81011 core_course: Update new course hooks to use attributes
These hooks landed in the past week. Updating them to use the new
attributes.
2024-03-07 16:45:38 +01:00
Juan Leyva f693e84ff5 MDL-81065 core_filters: New WS core_filters_get_all_states 2024-03-07 15:52:07 +01:00
Paul Holden 2f9001cbe9 MDL-81073 badges: implement badge entity version/expiry filtering.
Add the same to the manage badges report, plus pre-existing version
column.
2024-03-07 14:38:23 +00:00
Juan Leyva 871aa5e978 MDL-65978 blog: Fix unit tests (remove hardcoded entry ids) 2024-03-07 13:46:07 +01:00
Juan Leyva be78d4c94a MDL-81133 tool_mobile: Add new features supported by app 2024-03-07 13:13:24 +01:00
Sara Arjona 6f81ace5a8 Merge branch 'MDL-81011-main' of https://github.com/andrewnicols/moodle 2024-03-07 12:20:01 +01:00
Paul Holden 04f54d8eb0 MDL-80634 libraries: upgrade to version 4.4.2 of ChartJS. 2024-03-07 11:11:14 +00:00
Sara Arjona 75b3d24eba Merge branch 'MDL-69656-fix' of https://github.com/sarjona/moodle 2024-03-07 12:05:12 +01:00
Sara Arjona c799ea5e21 MDL-69656 backup: Remove illegal whitespaces 2024-03-07 12:01:35 +01:00
Juan Leyva fc0f94626e MDL-65978 blog: Fix removing associations 2024-03-07 11:58:22 +01:00
Andrew Nicols 2b7754ccc2 MDL-81011 core: Add attribute alternative to hooks interfaces
This change replaces the requirement for:
- \core\hook\deprecated_callback_replacement
- \core\hook\described_hook

These are replaced by appropriate Attributes.
2024-03-07 18:56:05 +08:00
Mark Johnson a5a25988dc MDL-79007 calendar: Expose block month link names to screen readers 2024-03-07 10:39:38 +00:00
Sara Arjona d92f86635b Merge branch 'MDL-65978-master' of https://github.com/jleyva/moodle 2024-03-07 10:15:18 +01:00
Huong Nguyen b95854758e Merge branch 'MDL-79990-main' of https://github.com/lameze/moodle 2024-03-07 10:04:10 +07:00
Jun Pataleta f364dd5e40 Merge branch 'MDL-81044-main' of https://github.com/andrewnicols/moodle 2024-03-07 11:02:05 +08:00
Ilya Tregubov fd7a6b4f45 Merge branch 'MDL-80460-main-fix' of https://github.com/lameze/moodle 2024-03-07 10:48:31 +08:00
Simey Lameze 8068912aef MDL-80460 behat: use the correct section name 2024-03-07 10:22:34 +08:00
Sara Arjona b10a9ec30c MDL-80920 course: Add behat step supporting section number
The selector "I am on the "Course > Section" "course > section" page
has been improved to also support section number.
When "Section x" is given, and there is no section with this name,
section number "x" is used.
2024-03-07 09:56:24 +08:00
Simey Lameze 503cd95b9f MDL-79990 behat: custom step to verify assign grading data
This commit also optimise the new behat test.
2024-03-07 09:43:53 +08:00
Ilya Tregubov a6fd25485e Merge branch 'MDL-80342' of https://github.com/paulholden/moodle 2024-03-07 08:51:25 +08:00
Ilya Tregubov cd85552e38 Merge branch 'MDL-80460-main' of https://github.com/sarjona/moodle 2024-03-07 08:41:42 +08:00
Angelia Dela Cruz 87f413b4d6 MDL-79990 gradingform: Behat test for marking guide information display 2024-03-07 08:21:14 +08:00
Paul Holden 47790ea315 MDL-80245 tag: allow for tags filter to operate in component mode.
This allows the filter to be more easily re-used for component system
reports that want to filter by their own tags.
2024-03-06 20:31:07 +00:00
Paul Holden a1f064339d MDL-80245 reportbuilder: define custom report tags area. 2024-03-06 20:31:07 +00:00
Andrew Nicols 44e6d7d9e0 Merge branch 'MDL-79750' of https://github.com/ssj365/moodle 2024-03-06 23:26:45 +08:00
Andrew Nicols 9f91e1cc48 Merge branch 'MDL-69656-master' of https://github.com/sh-csg/moodle 2024-03-06 23:23:13 +08:00
Sara Arjona fed26847b4 MDL-80460 behat: Fix tests to replace Topic with Section
The behat tests using the course format topics have been reviewed to:
- Add the 'inisections' parameter where necessary, facilitating automatic
renaming of section names.
- Evaluate failing tests due to slight changes in ordering. Notably, in
the topics format, sections are now uniformly named 'New section' without
any numbering.
2024-03-06 15:25:22 +01:00
Sara Arjona 076aead150 MDL-80460 format_topics: Replace name from "Topic X" with "New section"
From now on, the default section name for the topics course format is
"New section" instead of "Topic x" (where x was the section number).
A new item, initsections, has been added to the create_course() function
in the testing_data_generator class, to let the generator rename the
sections to "Section X"

AMOS BEGIN
  CPY [sectionname,format_topics],[legacysectionname,format_topics]
AMOS END
2024-03-06 15:25:22 +01:00
Michael Milette 9c8f09e2d9 MDL-72923 message: Fixed levels of headings in messaging drawer. 2024-03-06 07:29:17 -05:00
Paul Holden 4bd8f3a0dc MDL-80943 reportbuilder: select-type customfields should be text.
The column type determines the available aggregation options present
for the column. Custom fields of type "select" should be considered as
text fields for this purpose, because their stored value represents
the index to their available options, rather than having any distinct
meaning of it's own for display.
2024-03-06 10:34:45 +00:00
Shamiso.Jaravaza 586d48f3a5 MDL-79750 mod_bigbluebuttonbn: set SHA256 checksum 2024-03-06 00:50:42 -07:00
Mathew May 2f0247643f MDL-80703 block_calendar_upcoming: Final deprecation upcoming content 2024-03-06 15:40:29 +08:00
Stefan Hanauska a0d501463a MDL-69656 backup: Replace urlencoded pluginfile urls 2024-03-06 07:37:17 +01:00
Andrew Nicols 9e16225864 Merge branch 'MDL-80183' of https://github.com/paulholden/moodle 2024-03-06 14:04:30 +08:00
Ilya Tregubov 3123eb1d9f Merge branch 'MDL-80900' of https://github.com/ilyatregubov/moodle 2024-03-06 13:51:21 +08:00
Tim Hunt 76bcbc5ddb MDL-80900 quiz: refine attempt summary
* Move State to above all the times, rather than in the middle.
* Changed 'Completed on' to 'Completed' and 'Submitted on' to 'Submitted'.
2024-03-06 13:50:43 +08:00
Andrew Nicols 2ad6cd5291 Merge branch 'MDL-80646-main' of https://github.com/mihailges/moodle 2024-03-06 13:21:52 +08:00
Ilya Tregubov 8e99589f77 Merge branch 'MDL-80880' of https://github.com/timhunt/moodle 2024-03-06 13:16:42 +08:00
Andrew Nicols 928344403d Merge branch 'MDL-79675-main-v6' of https://github.com/snake/moodle 2024-03-06 13:00:00 +08:00
Huong Nguyen d61d607548 Merge branch 'MDL-80241' of https://github.com/paulholden/moodle 2024-03-06 09:23:32 +07:00
Huong Nguyen ecf44c0b95 Merge branch 'MDL-79278-master' of https://github.com/andelacruz/moodle 2024-03-06 09:12:53 +07:00
Angelia Dela Cruz 6e6caf1fe7 MDL-79278 mod_quiz: Teacher can set how quiz questions behave behat
Co-authored-by: Simey Lameze <simey@moodle.com>
2024-03-06 09:40:02 +08:00
Jake Dallimore c043c180de MDL-79675 enrol_lti: fix mocks depending on previously untyped props
When $launch_id wasn't typed, it was ok to call the getter, but now
that it is, php throws an error. Replaced with stub method.
2024-03-06 08:44:14 +08:00
Jake Dallimore 4fda419e88 MDL-79675 enrol_lti: fix class instantiation after library upgrade 2024-03-06 08:44:14 +08:00
Jake Dallimore 7c9fb5d89b MDL-79675 enrol_lti: fix client implementation signatures after upgrade
Not strictly required due to contravariance, but nice for readability.
2024-03-06 08:44:14 +08:00
Jake Dallimore 73ce114066 MDL-79675 enrol_lti: fix deep linking return after library removals 2024-03-06 08:44:14 +08:00
Jake Dallimore 2a783ec964 MDL-79675 enrol_lti: fix JWKS generation after library removals 2024-03-06 08:44:14 +08:00
Jake Dallimore eb94b5677c MDL-79675 enrol_lti: fix login redirection after library deprecations
v5.7.0 changed this process. Now, we just fetch the URL and do our own
redirect.
https://github.com/packbackbooks/lti-1-3-php-library/releases/tag/v5.7.0
2024-03-06 08:44:14 +08:00
Jake Dallimore f7c12a372d MDL-79675 enrol_lti: migrate validate() calls to initialize() per v6.0.0
Calls to validate() have been replaced in v6.0.0.
https://github.com/packbackbooks/lti-1-3-php-library/releases/tag/v6.0.0
2024-03-06 08:44:14 +08:00
Jake Dallimore 7560375ad6 MDL-79675 enrol_lti: replace ImsCookie use with local implementation
The default implementation, previously included with the library, is no
longer shipped there. Clients must provide their own implementation of
the ICookie interface instead.
2024-03-06 08:44:14 +08:00
Jake Dallimore 63569a4776 MDL-79675 libraries: upgrade lti1p3 to v6.0.0 2024-03-06 08:44:07 +08:00
David Mudrák 6c8d27b789 MDL-80160 admin: Fix site admins selector UI if the list is hardcoded
If the list of site admins was defined in the config.php, the UI to
select / modify admins never worked. But there was no indication of the
reason which was unexpected and confusing.
2024-03-05 23:30:04 +01:00
Amaia Anabitarte 43099744c3 MDL-80235 mod_scorm: Required minimum score should be >0 2024-03-05 18:43:32 +01:00
Paul Holden d3a63252d6 Merge branch 'MDL-80620-main' of https://github.com/roland04/moodle into main 2024-03-05 14:39:02 +00:00
Sara Arjona debcea9cbc Merge branch 'MDL-80930-main' of https://github.com/raortegar/moodle 2024-03-05 15:24:45 +01:00
Paul Holden 3ee5aa3012 Merge branch 'MDL-80914-main' of https://github.com/mihailges/moodle into main 2024-03-05 14:07:57 +00:00
Andrew Nicols 73e4e636b3 Merge branch 'MDL-80731' of https://github.com/paulholden/moodle 2024-03-05 22:03:53 +08:00
Andrew Nicols 94177ec2da MDL-80749 core: Tidy up task tests 2024-03-05 21:18:54 +08:00
Andrew Nicols 30bfb5fe81 Merge branch 'MDL-80749-main' of https://github.com/HuongNV13/moodle 2024-03-05 21:18:44 +08:00
Paul Holden 24e0b7369b Merge branch 'MDL-73426-main' of https://github.com/sarjona/moodle into main 2024-03-05 13:04:40 +00:00
Sara Arjona 67a1d0b639 MDL-73426 badges: Final deprecation for print_badge_tabs 2024-03-05 13:25:02 +01:00
Tim Hunt a57d88b383 MDL-80880 quiz: change display of previous attempts summary
Rather than a table (neither reponsive nor very accesible) we now
represent a student's previous attempts with cards. The content
of the cards is now the same table as at the top of the review
attempt page.
2024-03-05 12:02:11 +00:00
Tim Hunt 8feeacc425 MDL-80880 quiz: summary of an attempt output changed to a templateable
The new class is attempt_summary_information. Switching to using this
has required some rendere methods to be changed. See upgrade.txt.
2024-03-05 12:02:11 +00:00
Paul Holden 3ecb9b8ec0 MDL-80991 files: consistent display of filepicker accepted types. 2024-03-05 11:51:47 +00:00
Paul Holden 6eb1688887 MDL-81126 reportbuilder: relative date filter for after given period.
This is the inverse of the "before" date filter added in 198db552.
2024-03-05 11:51:00 +00:00
Paul Holden d995caab80 MDL-78438 gradereport_grader: use lang string for collapsed columns. 2024-03-05 11:41:52 +00:00
Sara Arjona b2fa19f45d on-demand release 4.4dev+ 2024-03-05 11:22:44 +01:00
Andrew Nicols 6c7c5356a7 MDL-81123 tiny_html: Make empty codemirror region clickable 2024-03-05 14:08:23 +08:00
Mihail Geshoski 4753cf3a36 MDL-80646 mod_lti: Enable key and secret configuration in legacy tools
When restoring a manually configured tool to a different site, the key
and secret are not being restored, which is an expected behaviour.
However, legacy (pre-4.3) manually configured tools do not have the
option to configure the key and secret, which makes these instances
unusable. To make sure these tools will continue working after a backup
and restore, we need to re-enable the key and secret fields in the
legacy instance settings form.
2024-03-05 13:23:02 +08:00
Huong Nguyen 084fa3fb15 Merge branch 'MDL-77980' of https://github.com/paulholden/moodle 2024-03-05 10:55:47 +07:00
Jun Pataleta 59c7fcbfea Merge branch 'MDL-80819' of https://github.com/stronk7/moodle 2024-03-05 11:50:23 +08:00
Huong Nguyen 32b445a47c Merge branch 'MDL-80836-main' of https://github.com/snake/moodle 2024-03-05 10:23:59 +07:00
Ilya Tregubov dcc9324b68 Merge branch 'MDL-78850-main' of https://github.com/meirzamoodle/moodle 2024-03-05 11:23:17 +08:00
Jun Pataleta e3160bfd16 Merge branch 'MDL-80548' of https://github.com/marinaglancy/moodle 2024-03-05 10:53:12 +08:00
Mihail Geshoski f61a764d16 MDL-80914 mod_lti: Custom parameter configuration in the instance form
Re-enables the configuration of custom parameters when creating or
modifying a tool instance in a course.
2024-03-05 10:13:51 +08:00
Huong Nguyen 5a7caff558 Merge branch 'MDL-80866-main' of https://github.com/sarjona/moodle 2024-03-05 09:05:50 +07:00
Sara Arjona b25d295d3a Merge branch 'MDL-80553-main' of https://github.com/ferranrecio/moodle 2024-03-04 16:13:11 +01:00
Sara Arjona e1034deb8b Merge branch 'MDL-75670-main' of https://github.com/roland04/moodle 2024-03-04 16:05:18 +01:00
Paul Holden b0f02b0eb0 MDL-80240 gradereport_grader: fix userfields parameter to search sql. 2024-03-04 14:43:30 +00:00
Marina Glancy d395925a40 MDL-80548 admin: Add bulk user actions also to user list 2024-03-04 12:14:45 +00:00
Paul Holden 4e9b6c78b8 MDL-77980 gradereport_grader: link to each activity in table heading.
* The activity link is now always it's view.php page;
* The user fields in the grader report are now initially sorted via the
  cell action menu (ascending/descending).
2024-03-04 11:21:09 +00:00
Paul Holden 38bfc2620b MDL-79672 libraries: upgrade to version 2.6.0 of FPDI. 2024-03-04 10:44:59 +00:00
Paul Holden 1488a71d90 MDL-79027 block_myoverview: retrieve only course related custom fields. 2024-03-04 10:39:08 +00:00
Huong Nguyen c068b01a1a MDL-80749 adhoc_task: Update failed ad-hoc tasks cleanup
Update the task to use firststartingtime instead of timestarted
2024-03-04 10:17:14 +07:00
Huong Nguyen 17c01d9d74 MDL-80749 adhoc_task: Log the first starting time of the task 2024-03-04 10:17:09 +07:00
raortegar f53d1f768a MDL-80930 core: Course delete modules task handle non deletable cms 2024-03-01 13:08:41 +01:00
Sara Arjona b2e5f3e746 MDL-80866 phpunit: Fix failures after disabling Chat and Survey 2024-03-01 11:41:50 +01:00
Sara Arjona 0b3b739370 MDL-80866 behat: Fix failures after disabling Chat and Survey 2024-03-01 11:41:50 +01:00
Sara Arjona e422045d92 MDL-80866 mod: Disable Chat and Survey for new installations 2024-03-01 11:41:50 +01:00
Jun Pataleta debed3eace weekly release 4.4dev 2024-03-01 12:24:23 +08:00
Jun Pataleta 346778bff4 NOBUG: Fixed SVG browser compatibility 2024-03-01 12:24:22 +08:00
Jun Pataleta 5613b9d539 Merge branch 'install_master' of https://git.in.moodle.com/amosbot/moodle-install 2024-03-01 12:24:21 +08:00
Juan Leyva 166afa05fe MDL-65978 blog: New WS core_blog_update_entry 2024-02-29 16:18:21 +01:00
Juan Leyva 4b3bda1657 MDL-65978 blog: New WS prepare_entry_for_edition 2024-02-29 16:18:21 +01:00
Juan Leyva b43b16c358 MDL-65978 blog: New WS core_blog_delete_entry 2024-02-29 16:18:21 +01:00
Juan Leyva 5a679bffd2 MDL-65978 blog: New WS core_blog_add_entry 2024-02-29 16:18:21 +01:00
Juan Leyva b6b2077e60 MDL-65978 blog: New WS core_blog_get_access_information 2024-02-29 16:18:21 +01:00
Juan Leyva 98daf57a8d MDL-65978 blog: Preparatory API changes 2024-02-29 16:18:21 +01:00
Mikel Martín d0d62fd06c MDL-75670 theme: Refactor form-inline helper class dropped in BS5
- Replace .form-inline Bootstrap helper class with .d-flex.flex-wrap.align-items-center
- Refactor .form-inline occurrences in SCSS files or remove when unneeded
2024-02-29 13:56:46 +01:00
Mikel Martín 4ce883ae21 MDL-75670 theme: Refactor form-group helper class dropped in BS5
- Replace .form-group Boostrap helper class with .mb-3. The .form-group class was only
adding margin bottom styles, so it is an straightforward change.
- Replace .form-group references in SCSS files with .fitem now .form-group has been removed.
- There were some other .form-group occurrences in the code that were using it not for styling
but incorrectly for managing some logic. These have been also replaced with .fitem or removed.
2024-02-29 13:55:37 +01:00
Sara Arjona 1f4928bcd6 Merge branch 'MDL-78447-main-fix' of https://github.com/HuongNV13/moodle 2024-02-29 10:13:19 +01:00
Huong Nguyen 366400a48f MDL-78447 tool_generator: Fix PHP 8.2 dynamic properties 2024-02-29 15:29:24 +07:00
Sara Arjona a7fa6fbbb2 Merge branch 'MDL-80391-master-int' of https://github.com/stevandoMoodle/moodle 2024-02-29 08:08:50 +01:00
Meirza edce8cca8b MDL-78850 calendar: course calendar improvement 2024-02-29 12:48:56 +07:00
meirzamoodle 99941c0d13 MDL-78850 course: allow to show/hide the course index drawer
This new API makes it easy for the developer to hide or show the course index drawer.
2024-02-29 12:48:48 +07:00
Stevani Andolo ec7bd6035c MDL-80391 tiny_html: Fixed multi modal layer display 2024-02-29 12:53:21 +08:00
Jun Pataleta 48049499d2 Merge branch 'MDL-46886-main' of https://github.com/meirzamoodle/moodle 2024-02-29 11:54:42 +08:00
Huong Nguyen 1c11531ab7 Merge branch 'MDL-80364' of https://github.com/pedrojordao/moodle 2024-02-29 10:44:39 +07:00
Víctor Déniz Falcón 14cd15dfab MDL-46886 core_enrol: unenrolment due to inactivity notification 2024-02-29 10:11:35 +07:00
Huong Nguyen 3020fac005 Merge branch 'MDL-80736_main' of https://github.com/marxjohnson/moodle 2024-02-29 09:54:06 +07:00
Simey Lameze 3406032a3d MDL-68674 behat: make content bank steps more specific 2024-02-29 09:40:45 +07:00
Ilya Tregubov 2909651aff Merge branch 'MDL-80080-unset-logintoken' of https://github.com/brendanheywood/moodle 2024-02-29 10:40:00 +08:00
Ilya Tregubov 82af08a4b0 Merge branch 'MDL-78447-tool-generator-progress' of https://github.com/brendanheywood/moodle 2024-02-29 10:27:49 +08:00
Andrew Nicols d9c6bca91f Merge branch 'MDL-81042-main' of https://github.com/micaherne/moodle 2024-02-29 09:21:22 +08:00
Eloy Lafuente (stronk7) 29a541724f MDL-65292 style: Fix all the function declaration ordering
This has been generated running the following Sniff,
part of the Moodle's CodeSniffer standard:
- PSR2.Methods.MethodDeclaration

It just ensures all the function declarations have
the correct order for:
- abstract and final.
- visibility (public, protected, private).
- static.

So, all the lines modified by this commit are function declarations
and the only changes are in the positions of those keywords.
2024-02-28 23:47:47 +01:00
Eloy Lafuente (stronk7) ba1f804ffa MDL-65292 style: Fix all function declarations white space
This has been generated running the following Sniffs, all
them part of the Moodle's CodeSniffer standard:
- PSR12.Functions.ReturnTypeDeclaration
- PSR12.Functions.NullableTypeDeclaration
- moodle.Methods.MethodDeclarationSpacing
- Squiz.Whitespace.ScopeKeywordSpacing

All them are, exclusively, about correct spacing, so the changes
are, all them, only white space changes.

Only exceptions to the above are 3 changes what were setting the
return type in a new line, and, when that happens, the closing
parenthesis (bracket) has to go to the same line than the colon.
2024-02-28 23:33:26 +01:00
Sara Arjona 93731ed096 Merge branch 'MDL-80391-main' of https://github.com/stevandoMoodle/moodle 2024-02-28 17:09:43 +01:00
Sara Arjona a6b2aa021a Merge branch 'mdl-80917-main' of https://github.com/Fragonite/moodle 2024-02-28 16:44:13 +01:00
Sara Arjona 0da6228503 Merge branch 'MDL-80834' of https://github.com/timhunt/moodle 2024-02-28 16:34:34 +01:00
Sara Arjona a42d1335f5 Merge branch 'MDL-80197' of https://github.com/pedrojordao/moodle 2024-02-28 16:09:30 +01:00
Jun Pataleta ae33ac03e5 Merge branch 'MDL-68674-main' of https://github.com/lucaboesch/moodle 2024-02-28 23:04:05 +08:00
Sara Arjona d82ae151aa Merge branch 'MDL-52891-main' of https://github.com/opitz/moodle 2024-02-28 15:23:18 +01:00
Paul Holden a1b37c472f MDL-81082 tool_mfa: format site name in email subject. 2024-02-28 10:11:02 +00:00
Andrew Nicols a165c72af2 MDL-80684 core: Correct location of task tests 2024-02-28 14:20:40 +08:00
Andrew Nicols 3451175f22 Merge branch 'MDL-80684-master-fail_running_tasks_on_shutdown' of https://github.com/praxisdigital/moodle 2024-02-28 14:16:13 +08:00
Andrew Nicols b51df700a5 Merge branch 'MDL-78256-master' of https://github.com/meirzamoodle/moodle 2024-02-28 12:05:46 +08:00
AMOS bot a03097ff56 Automatically generated installer lang files 2024-02-28 00:11:10 +00:00
Harry Smith 944be2dd21 MDL-80793 calendar: Setup $USER with all fields 2024-02-28 10:36:21 +13:00
Pedro Jordao 25125bbfe2 MDL-80364 message: Change icon and background-color when item selected
Icon and background-color had contrast issues in the selected state.
2024-02-27 15:09:38 +01:00
Sara Arjona 2ae5a510c1 Merge branch 'MDL-81036' of https://github.com/marinaglancy/moodle 2024-02-27 13:03:59 +01:00
Sara Arjona 803af22d60 Merge branch 'MDL-80621-main' of https://github.com/roland04/moodle 2024-02-27 12:55:51 +01:00
Sara Arjona b33ba0b9fb Merge branch 'MDL-78967-main' of https://github.com/kevpercy/moodle 2024-02-27 12:49:06 +01:00
Mikel Martín af50bda3d6 MDL-80620 theme_boost: Change expand/collapse buttons style 2024-02-27 12:33:47 +01:00
Matthias Opitz 2dce0b3b9f MDL-52891 calculatedsimple question: forcing new gen. values into form
* forcing new generated sets of wildcard values into the question edit form so they can be saved.
* added Behat test to check new generated values are used.
2024-02-27 11:18:18 +00:00
Stevani Andolo 26df8c5b90 MDL-80827 tool_xmldb: Fixed xmldb editor broken with PHP 8.1 2024-02-27 12:22:32 +08:00
Andrew Nicols 62ae5b6175 MDL-81044 backup: Use varidic to exclude events instead of an array 2024-02-27 11:40:56 +08:00
Andrew Nicols 275e5f9412 MDL-81044 backup: Coding style fixes 2024-02-27 11:40:55 +08:00
Andrew Nicols 7b63a6864a MDL-81044 backup: Prevent parameter bleed between readers
These parameters were re-used between array iterations, but some of the
values were modified during the iteration.
2024-02-27 11:40:55 +08:00
Andrew Nicols 5109761162 MDL-81044 backup: Rename excluded events hook to meet style 2024-02-27 11:40:55 +08:00
Huong Nguyen a781283002 Merge branch 'MDL-78984' of https://github.com/paulholden/moodle 2024-02-27 09:53:12 +07:00
Huong Nguyen 34304b33f9 Merge branch 'MDL-76443-main' of https://github.com/andrewnicols/moodle 2024-02-27 09:50:55 +07:00
Huong Nguyen 4dd70667d1 Merge branch 'MDL-79543-main' of https://github.com/sarjona/moodle 2024-02-27 09:47:20 +07:00
Huong Nguyen ca75778564 Merge branch 'MDL-74676-master' of https://github.com/sh-csg/moodle 2024-02-27 09:40:57 +07:00
Mikel Martín 30a71b2b44 MDL-80856 theme_boost: Improve sticky footer styles with drawers 2024-02-26 15:36:35 +01:00
Andrew Nicols 18c81e0580 MDL-80896 core: Generate a moodle_url from a UriInterface 2024-02-26 21:04:41 +08:00
Mikel Martín de047f3767 MDL-80621 core_courseformat: Add new activity separator styles
- Created a new divider template to generate activity and section dividers
- Refactored templates and styles for the course sections for the new
  section dividers
- Changed the topics format 'hasaddsection' property to 'true' so now adding
  sections to the bottom of the course will be handled by the format instead
  of the last section. Also re-styled this 'Add topic' button.
- Refactored templates and styles for the course activities for the new
  activity dividers
- Fixed some related behat that failed because of these changes
- Moved blocks related SCSS to the blocks file and removed some unused SCSS
2024-02-26 10:15:19 +01:00
Huong Nguyen e4bfa1498b Merge branch 'MDL-67259_main' of https://github.com/PhilippImhof/moodle 2024-02-26 14:44:32 +07:00
Stefan Hanauska 2a494f0d5d MDL-74676 course: Speed up course search if using limittoenrolled
Co-authored-by: Huong Nguyen <huongnv13@gmail.com>
2024-02-26 07:42:14 +01:00
Huong Nguyen be53cc971c Merge branch 'MDL-80395-main' of https://github.com/sarjona/moodle 2024-02-26 11:42:37 +07:00
Andrew Nicols 5323d69c53 MDL-81046 core: Add hook to apis list 2024-02-26 10:12:04 +08:00
Michael Aherne 06fe259a6a MDL-81042 quiz: Typo in renamed class. 2024-02-24 21:52:32 +00:00
Tim Hunt 02de9a1e3e MDL-81039 qtype_multichoice: better way to control feedback display 2024-02-23 22:36:06 +00:00
Tim Hunt e73888a107 MDL-81039 question: Improve some comments in question_display_options 2024-02-23 22:36:06 +00:00
Paul Holden a16fb194f8 MDL-80550 cohort: get IDs for customfields correctly in external search. 2024-02-23 15:25:15 +00:00
Sara Arjona ec8f84d8af MDL-79543 h5p: Include attempts info and link
Co-authored-by: Ferran Recio <ferran@moodle.com>
2024-02-23 15:42:16 +01:00
Paul Holden bb6652699e Merge branch 'MDL-75794-main' of https://github.com/aanabit/moodle into main 2024-02-23 12:54:00 +00:00
Marina Glancy 7a6aae501e MDL-81036 behat: fix the action menu clickable area selector 2024-02-23 11:21:47 +00:00
Paul Holden 7cf9fac457 MDL-78984 mod_assign: observe timelimit config in override form. 2024-02-23 11:18:43 +00:00
Juan Leyva b4b9749417 MDL-81007 tool_policy: Allow adding notes to policies acceptances 2024-02-23 11:28:33 +01:00
Eloy Lafuente (stronk7) 2f66e18672 MDL-80819 install: halt any install if php min version is not met
Apart from environmental stuff, the moodle_minimum_php_version_is_met()
function is executed by all installs (web, cli, database, ...)
and halts any installation (early) not meeting the PHP constraints.
2024-02-23 11:08:08 +01:00
Jun Pataleta 45ba52afce Merge branch 'MDL-77965' of https://github.com/NeillM/moodle 2024-02-23 17:59:58 +08:00
Jun Pataleta b4f0a03676 Merge branch 'MDL-73483-master' of https://github.com/dmitriim/moodle 2024-02-23 17:53:25 +08:00
Neill Magill 6ff5e7aabd MDL-77965 unit tests: Add covers annotation 2024-02-23 09:32:07 +00:00
Neill Magill 79150cf9bb MDL-77965 quiz: Improve efficiency of the data export
Before this change the query used an index scan to perform the
export, this could be really expensive on the database.

After the change the the query will use far more efficient joins,
on a large MySQL instance this can take minutes off of the query
time.

In additon the query was returning two columns that are not used
in the function. The layout column was causing the UNION to fail
on Oracle as it cannot compare text columns, removing these
columns from the returned data should further increase
performance further.
2024-02-23 09:32:07 +00:00
Neill Magill 32a915ecd2 MDL-77965 grade: Improve data export performance
The existing query was inefficient using an index scan and
index merges. This change splits the query up into many individually
much more efficient queries.

This should significantly improve performance on large sites.
2024-02-23 09:32:06 +00:00
Neill Magill 8a95d08ff3 MDL-77965 notes: Improve data export performance
The UNION caused the query to be run in a way that is very
inefficient on MySQL, separating the queries causes each of them to
run in a much more efficient form.

Any duplicated will be filtered out on the PHP side instead of in
the database. On large Moodle sites this is preferable as the
extract is likely to be performed on a server dedicated to running
the Moodle cron and so there will be less of effect on resources
that are used to serve end users.
2024-02-23 09:32:06 +00:00
Neill Magill 18a964324b MDL-77965 calendar: Improve performance of data extract
The UNION caused the query to be run in a way that is very
inefficient on MySQL, separating the queries causes each of them to
run in a much more efficient form.

Any duplicated will be filtered out on the PHP side instead of in
the database. On large Moodle sites this is preferable as the
extract is likely to be performed on a server dedicated to running
the Moodle cron and so there will be less of effect on resources
that are used to serve end users.
2024-02-23 09:32:06 +00:00
Neill Magill 081bfd0a9d MDL-77965 competency: Improve query performance and data
This change removes LEFT JOINS to improve the performance
when run against Moodle sites with very large data sets.

It will also cause some additional contexts to be returned:

1. When a user has modified a user_evidence_competency
   without modifying its associated user_evidence record
2024-02-23 09:32:06 +00:00
Neill Magill e83452a855 MDL-77965 competency: Correct order of expectations
The expected value was being passed second which meant that the
messages sent by PHPUnit when this fails are the wrong way round.
2024-02-23 09:32:06 +00:00
Jun Pataleta f6a22d3e61 Merge branch 'MDL-80805-main' of https://github.com/sammarshallou/moodle 2024-02-23 17:32:05 +08:00
Paul Holden d3557d9483 MDL-80843 reportbuilder: consistent user auth report entity data.
Tidy up unit tests for user report, removing some redundancy and
duplication.
2024-02-23 09:28:44 +00:00
Philipp Imhof 7b284a8e04 MDL-67259 mod_quiz: show time of last autosave 2024-02-23 09:00:51 +01:00
Sara Arjona 6e8d1454ba MDL-79543 h5pactivity: Remove review_all_attempts string
This string became obsolete in Moodle 4.0 due to changes in course
navigation. Since then, it has remained unused and can now be safely
removed, as it is unlikely to be needed in the future.
2024-02-23 07:29:55 +01:00
Sara Arjona 68aba64d35 MDL-79543 output: Add i/chartbar icon 2024-02-23 07:29:55 +01:00
Sara Arjona 31989d9f9d MDL-80395 theme: Refactor mixins deprecated in BS4 2024-02-23 07:22:49 +01:00
Huong Nguyen e567c21d6e weekly release 4.4dev 2024-02-23 08:37:39 +07:00
Huong Nguyen 3d36a37499 NOBUG: Fixed SVG browser compatibility 2024-02-23 08:37:37 +07:00
Huong Nguyen 17ddc82c5c Merge branch 'install_master' of https://git.in.moodle.com/amosbot/moodle-install 2024-02-23 08:37:35 +07:00
Dmitrii Metelkin 95eea308cd MDL-73483 course: add callbacks to extend course form 2024-02-23 09:27:32 +11:00
Juan Leyva 8dfef80c0e MDL-81007 tool_policy: Allow acceptance/decline of non-current policies 2024-02-22 17:57:53 +01:00
Paul Holden e3e2c71901 MDL-80731 core: ensure valid /Lang attribute in generated PDF files.
As with the changes in 4be39296, PDF files have criteria for validity
of language identifiers.
2024-02-22 16:51:39 +00:00
Amaia Anabitarte 0c081f004a MDL-75794 mod_data: deprecate behat steps to generate entries and fields 2024-02-22 17:37:54 +01:00
Juan Leyva f8f04b6f63 MDL-81007 tool_policy: Return permissions per policy 2024-02-22 17:14:05 +01:00
Paul Holden a1e9bd2dae MDL-80183 message: improve ARIA labelling of total/unread counts. 2024-02-22 15:53:00 +00:00
Paul Holden 45f83c203f MDL-80183 message: render user online status as an accessible icon. 2024-02-22 11:50:08 +00:00
Jun Pataleta 2b9bf38dcb Merge branch 'MDL-80207-behat' of https://github.com/HuongNV13/moodle 2024-02-22 13:56:27 +08:00
Huong Nguyen ed16ef495d Merge branch 'MDL-80844' of https://github.com/stronk7/moodle 2024-02-22 11:23:47 +07:00
Huong Nguyen 40f501fb4e Merge branch 'MDL-80338' of https://github.com/paulholden/moodle 2024-02-22 11:17:52 +07:00
Huong Nguyen 3061024726 Merge branch 'MDL-80608-main' of https://github.com/sammarshallou/moodle 2024-02-22 11:05:28 +07:00
Huong Nguyen 5d4c88e3da Merge branch 'MDL-79266' of https://github.com/paulholden/moodle 2024-02-22 10:54:18 +07:00
Andrew Nicols 7e0315041c Merge branch 'MDL-80821' of https://github.com/marinaglancy/moodle 2024-02-22 11:50:38 +08:00
Huong Nguyen 939d1c5050 Merge branch 'MDL-62404' of https://github.com/timhunt/moodle 2024-02-22 10:49:38 +07:00
Huong Nguyen e7e0d2bfac Merge branch 'MDL-80868' of https://github.com/paulholden/moodle 2024-02-22 10:43:00 +07:00
Huong Nguyen e4c70c3b57 Merge branch 'MDL-80950-main' of https://github.com/sarjona/moodle 2024-02-22 10:40:11 +07:00
Huong Nguyen 3f2b136249 Merge branch 'MDL-80862-main' of https://github.com/andrewnicols/moodle 2024-02-22 10:35:59 +07:00
Huong Nguyen c27fc14649 MDL-80207 tool_messageinbound: Fix Behat failure 2024-02-22 10:04:46 +07:00
Huong Nguyen c35ec6ff2c Merge branch 'MDL-80481_master' of https://github.com/santoshndev/moodle 2024-02-22 09:50:34 +07:00
Brendan Heywood c1fc12b479 MDL-80080 session: Unset logintoken after use 2024-02-22 10:56:02 +11:00
Santosh Nagargoje dce64c0a53 MDL-80481 report: Fixed breadcrumb menu issue 2024-02-22 01:59:00 +05:30
Sara Arjona 93b3eff237 Merge branch 'MDL-76441' of https://github.com/stronk7/moodle 2024-02-21 17:49:52 +01:00
Sara Arjona 4d6cde901a Merge branch 'MDL-79151-fix' of https://github.com/sarjona/moodle 2024-02-21 17:46:38 +01:00
Sara Arjona 8ebd1e5cd2 MDL-79151 customfield: Remove illegal whitespace 2024-02-21 17:46:12 +01:00
Sara Arjona 3bfec9398a Merge branch 'mdl-79151-master' of https://github.com/Fragonite/moodle 2024-02-21 17:36:12 +01:00
Paul Holden 958090edc6 MDL-80342 reportbuilder: use new cohort filter in related reports. 2024-02-21 16:34:35 +00:00
Paul Holden 7f342377bb MDL-80342 cohort: new report filter class for selecting cohorts. 2024-02-21 16:34:35 +00:00
Sara Arjona 4e341bfc97 Merge branch 'wip_MDL-79802_line_v8' of https://github.com/gjb2048/moodle 2024-02-21 17:29:39 +01:00
Mark Johnson 238ea3d1a3 MDL-79174 availability: Allow group condition to use hidden groups
Previously, groups with GROUP_VISIBILITY_NONE could be selected for an
availability condition, but as the group API did not return a user's own
groups with this visibility, the condition's is_available check always
failed.

This change uses the new $includehidden parameter to get all of a user's
groups from groups_get_user_groups when evaluating the condition, so
these groups work as expected. Due to the enforced hiding of conditions
containing these groups, they will never be seen by the user.
2024-02-21 15:45:56 +00:00
Mark Johnson ce706292bf MDL-79174 groups: Add includehidden parameter
This allows groups_get_user_groups to return groups with
GROUP_VISIBILITY_NONE that the specified user belongs to. The parameter
is false by default, and should be use with care as membership of these
groups should not be revealed to the user.
2024-02-21 15:45:56 +00:00
Sara Arjona 617442dc16 Merge branch 'MDL-80605-master' of https://github.com/jbs1/moodle 2024-02-21 16:19:11 +01:00
Sara Arjona 15d399ec8c Merge branch 'MDL-80404-main' of https://github.com/andelacruz/moodle 2024-02-21 13:23:25 +01:00
Paul Holden 0a66e9a3f8 MDL-80241 grade: update user filtering by matched properties.
Invert the previous logic, which maintained a "banned" list of
fields, to instead only try to filter on those fields that are
explicitly defined to support that.
2024-02-21 10:21:33 +00:00
Sara Arjona 969897c2fe Merge branch 'MDL-78944' of https://github.com/Chocolate-lightning/moodle 2024-02-21 09:18:45 +01:00
Angelia Dela Cruz 6ea99c8897 MDL-80404 mod_data: Behat for url autolinking and opening in new window 2024-02-21 15:59:44 +08:00
Eloy Lafuente (stronk7) eec4ca8cf0 NOBUG: Avoid already closed PRs to get any comment
This is an adjustment for MDL-77166, where the auto-close PRs
workflow was introduced.

That workflow does close and lock any PR in the moodle/moodle.git repo.

We have detected that, when proceeding to lock the PRs it's
always adding a comment. But we only want that when closing the
PRs (as they are open). When the only task is to lock them (normally
old PRs that are already closed by not locked) we don't want any
comment to be added (so no notification/spam happens on those old PRs).

Luckily there is a setting for it: skip-closed-pr-comment: true

So applying for it. Note that we have run various tests in fork
repository and it seems to be working ok. Only open PRs got the
comment and closed PRs were silently locked.
2024-02-21 08:27:39 +01:00
Huong Nguyen 8654b66416 Merge branch 'MDL-79792-master' of https://github.com/andelacruz/moodle 2024-02-21 14:25:11 +07:00
Andrew Nicols 2cb4378cd0 MDL-76443 GitHub: Bump workflow max PHP to 8.3 2024-02-21 14:15:52 +08:00
Angelia Dela Cruz 31ce6c87fb MDL-79792 core_badges: Behat test for awarding badge to group members 2024-02-21 13:55:45 +08:00
Kevin Percy a72a810479 MDL-78967 core_grades: Removed advanced grade item and category options 2024-02-21 13:45:21 +08:00
Huong Nguyen 0d8c9ed4ae Merge branch 'MDL-78284-main' of https://github.com/sarjona/moodle 2024-02-21 09:49:41 +07:00
Jun Pataleta 289678c458 Merge branch 'MDL-78994_master' of https://github.com/marxjohnson/moodle 2024-02-21 10:47:35 +08:00
Huong Nguyen c9c096ec9a Merge branch 'MDL-80730-main' of https://github.com/sarjona/moodle 2024-02-21 09:43:16 +07:00
Jun Pataleta 457274ab03 Merge branch 'MDL-79003-main' of https://github.com/andrewnicols/moodle 2024-02-21 10:36:21 +08:00
Huong Nguyen 8eff491604 Merge branch 'MDL-80251-main' of https://github.com/laurentdavid/moodle 2024-02-21 09:33:05 +07:00
Juan Leyva 5e39876428 MDL-79802 tool_mobile: Support new setting in the mobile app 2024-02-20 18:13:02 +00:00
Gareth Barnard 270326244b MDL-79802 core_h5p: Add a new setting for adding custom H5P styles. 2024-02-20 18:12:18 +00:00
Paul Holden d370f9b134 Merge branch 'MDL-79520-fix' of https://github.com/sarjona/moodle into main 2024-02-20 16:10:11 +00:00
Paul Holden f917baf9ee MDL-80919 course: initial check for section modules to duplicate. 2024-02-20 16:05:58 +00:00
Sara Arjona 7326ef3e4a MDL-79520 core: Fix upgrade version 2024-02-20 16:27:38 +01:00
Sara Arjona 4a9be9001d Merge branch 'MDL-80912' of https://github.com/paulholden/moodle 2024-02-20 15:39:18 +01:00
Jun Pataleta ea4874094b Merge branch 'MDL-79520-main' of https://github.com/snake/moodle 2024-02-20 22:22:05 +08:00
Sara Arjona 307ec03056 Merge branch 'MDL-80383-main' of https://github.com/rjnl/moodle 2024-02-20 15:20:00 +01:00
Paul Holden 6446714305 MDL-80088 mod_imscp: better uploaded package filetype validation. 2024-02-20 14:10:07 +00:00
Mark Johnson c6d4066201 MDL-78994 tool_policy: Move guest consent to start of page.
When a site has policies but a user has not logged in, a banner is
displayed to inform the guest user of the polciies. This banner was
inserted by Javascript at the end of the DOM, so keyboard users had to
tab through the whole page to reach it.

This commit makes the following changes:
* Change the callback used to display the policy banner from
_before_standard_html_head to _before_standard_top_of_body_html.
* Define the banner's body text in an HTML element, rather than a
Javascript parameter.
* Set absolute positioning on the banner for behat sites, so it does not
display at the top of the page and overlap the site header.
* Revert use of the standard_head_html_prepend hook in tool_policy from
MDL-79076.

The combination of these changes means that the banner will be output
near the start of the HTML DOM, so will be accessible to keyboard users
early on in the tab order until dismissed. However, it will still appear
visually at the end of the page, to avoid clashing with the site header.
2024-02-20 13:38:51 +00:00
Sara Arjona d46fdeb9fd Merge branch 'MDL-76024-fix' of https://github.com/HuongNV13/moodle 2024-02-20 12:29:10 +01:00
Paul Holden 270da62394 MDL-80865 customfield_textarea: empty check prior to exporting value.
Co-authored-by: Sara Bozzini <s.bozzini@cineca.it>
2024-02-20 10:42:56 +00:00
Sara Arjona be3f74c0a2 NOBUG: Bump version and missed upgrade step
When MDL-80557 was integrated, the version number in the upgrading
step, 2024020200.02, was previous to the released version, 2024021500.00,
so anybody that has updated to 4.4dev between 0202 and 0215 didn't
get that upgrade step executed.
This commit should fix it :-)
2024-02-20 16:55:19 +07:00
Huong Nguyen e8d5dc93e0 MDL-76024 qtype calculated: Fix deprecation related to dynamic property 2024-02-20 16:38:49 +07:00
Jake Dallimore b2e184f9ad MDL-79520 core: upgrade step to update existing Clever issuers to OIDC
This change is an upgrade step which:
- Updates endpoints to the new endpoints
- Updates user field mappings so they map the new OIDC userinfo fields
- Updates the issuer's baseurl
2024-02-20 17:10:04 +08:00
Jake Dallimore d20af220f8 MDL-79520 core: update Clever integration to use OpenId Connect
Instead of creating the endpoints manually, and fetching the user info
from several endpoints, which also necessitates the use of a custom
client subclass, use the OpenId configuration endpoint to auto-configure
endpoints, and then use the userinfo endpoint to fetch user info.
2024-02-20 17:07:03 +08:00
Alexander Van der Bellen 0aea55c3e6 MDL-79151 backup: Add custom field backup and restore API 2024-02-20 15:28:28 +08:00
Jun Pataleta e0ef590b00 MDL-78370 block_myoverview: Ensure curry functions use current filters 2024-02-20 13:48:24 +08:00
Jun Pataleta 8c26445d8d MDL-78370 block_myoverview: Conditionally show "All" paging option
To minimise performance issues when displaying courses in Summary view,
we need to conditionally show the "All" paging option. This commit
will prevent the "All" paging option to be shown if there are more than
100 courses to be shown.
2024-02-20 13:48:24 +08:00
Jun Pataleta 3056f6cdbd MDL-78370 block_myoverview: Ensure that the summary text will be loaded
* With the summary data being excluded in card/list display modes,
it means that switching to the summary display mode will render the
courses in summary view without the summary text. This patch will ensure
that course summary text are included when switching to the summary
view.
2024-02-20 13:48:23 +08:00
Jun Pataleta 40c329064b MDL-78370 block_myoverview: Define required fields for views
* For list and card views, we only need the course
fields ('id', 'fullname', 'shortname', 'showcoursecategory',
'showshortname', 'visible', and 'enddate').
* For summary view, in addition to the fields from list/card views,
we only need the 'summary' and 'summaryformat'.
2024-02-20 13:48:23 +08:00
Jun Pataleta b70de7dbc3 MDL-78370 course: Allow fetching of only required course summary fields
* Add a 'requiredfields' parameter for
get_enrolled_courses_by_timeline_classification()
* Set default values for the following course_summary_exporter
properties:
  - summary (null)
  - summaryformat (FORMAT_MOODLE)
  - pdfexportfont (null)
2024-02-20 13:48:23 +08:00
Andrew Nicols 8ebd9f08e4 MDL-80862 core: Tidy up state vars in task manager 2024-02-20 12:44:58 +08:00
Huong Nguyen f406ea8b76 Merge branch 'MDL-80936' of https://github.com/paulholden/moodle 2024-02-20 10:28:10 +07:00
Huong Nguyen 255162f595 Merge branch 'MDL-76024-main' of https://github.com/opitz/moodle 2024-02-20 10:22:54 +07:00
Jun Pataleta dd8fa68f5d Merge branch 'MDL-80207-main' of https://github.com/HuongNV13/moodle 2024-02-20 11:06:24 +08:00
Andrew Nicols becd11a84a MDL-80862 testing: Reset task manager between behat tests 2024-02-20 10:54:12 +08:00
Huong Nguyen 6bddb8626f MDL-80207 core: Remove Horde library 2024-02-20 09:36:24 +07:00
Huong Nguyen a63d39b0ad MDL-80207 admin: Replace use of Horde with Roundcube 2024-02-20 09:36:24 +07:00
Huong Nguyen 28074f65af MDL-80207 tool_messageinbound: Add Roundcube Framework 1.6.6 library 2024-02-20 09:36:12 +07:00
AMOS bot f8479a8a89 Automatically generated installer lang files 2024-02-20 00:14:00 +00:00
Pedro Jordao 9239366aa7 MDL-80197 forms: Added attributes to the calendar link
The datepicker is not keyboard accessible when in a modal.

As we are using yui datepicker and the change is not simple, I added aria-hidden and tabindex properties to avoid screenreaders.
2024-02-19 20:57:52 -03:00
Jeremy Schulz f1f517df34 MDL-80605 uploaduser: fixed username already existing when mail-matching 2024-02-19 17:24:27 +01:00
Sara Arjona 40375fa6d2 Merge branch 'MDL-80258' of https://github.com/paulholden/moodle 2024-02-19 15:48:51 +01:00
Sara Arjona cf8bb7abb6 Merge branch 'MDL-80082-main' of https://github.com/lucaboesch/moodle 2024-02-19 15:28:08 +01:00
Luca Bösch 127cefa543 MDL-80082 forumreport_summary: Output 'Nothing to display' as notific. 2024-02-19 15:10:32 +01:00
Luca Bösch aa9008821e MDL-80082 report_outline: Output 'Nothing to display' as notification. 2024-02-19 15:10:32 +01:00
Luca Bösch 841fa9d556 MDL-80082 report_progress: Output 'Nothing to display' as notification. 2024-02-19 15:10:32 +01:00
Luca Bösch 49d7ca455c MDL-80082 report_completion: Output 'Nothing to display' as notification 2024-02-19 15:10:32 +01:00
Luca Bösch f4282b726e MDL-80082 mod_feedback: Output 'Nothing to display' as notification. 2024-02-19 15:10:32 +01:00
Luca Bösch 5a18657447 MDL-80082 tool_lp: Output 'Nothing to display' as notification. 2024-02-19 15:10:32 +01:00
Luca Bösch e6962170ad MDL-80082 tool_cohortroles: Output 'Nothing to display' as notification. 2024-02-19 15:10:32 +01:00
Luca Bösch 9aa5b450e6 MDL-80082 mod_workshop: Output 'Nothing to display' as notification. 2024-02-19 15:10:32 +01:00
Luca Bösch 307aee2c42 MDL-80082 quiz_grading: Output 'Nothing to display' as notification. 2024-02-19 15:10:32 +01:00
Luca Bösch 6bb59759e7 MDL-80082 table: Output 'Nothing to display' as notification. 2024-02-19 15:10:32 +01:00
Marina Glancy 5117dee664 MDL-80821 dml: declare arguments for sql_concat() 2024-02-19 12:27:51 +00:00
Paul Holden 9572e0fdd8 MDL-79673 libraries: upgrade to version 1.15.1 of js-beautify. 2024-02-19 12:10:47 +00:00
Paul Holden 1acca870d9 MDL-80912 reportbuilder: output table caption when rendering reports.
Move the `get_name` method to the base report class, so that it can be
implemented by all report types. Provide a default implementation for
system reports based on the name of the class.

Use the name of the report as the caption. Target via Behat selectors.
2024-02-19 11:57:51 +00:00
Frederik Milling Pytlick ab517483a0 MDL-80684 core: Fail running tasks on shutdown
When you kill a process which is executing a task, it now marks it as failed.
2024-02-19 12:07:56 +01:00
Sara Arjona 8800cf3d25 Merge branch 'MDL-79674-main-2' of https://github.com/junpataleta/moodle 2024-02-19 10:20:41 +01:00
Sara Arjona f5377be4d2 Merge branch 'MDL-80613-main' of https://github.com/lameze/moodle 2024-02-19 09:14:16 +01:00
Laurent David 11fee57c5c MDL-80251 behat: Add new step to go to section 2024-02-19 07:18:55 +01:00
Rodrigo Mady b2af915288 MDL-77967 user: Add format text to custom profile fields name 2024-02-16 16:58:49 -03:00
Matthias Opitz 1c96f28569 MDL-76024 calculated questions: improving coding style 2024-02-16 10:20:48 +00:00
Matthias Opitz 97e3b9d657 MDL-76024 calculated questions: cast float type before comparison
* added calculated question for multiplication to tests/helper.php.
* added test_grading_of_negative_responses() test to question/type/calculated/tests/question_test.php
2024-02-16 10:20:48 +00:00
Jun Pataleta 32ae09a672 MDL-79674 behat: Use proper tags for testing WCAG 2.1 criteria
`wcag2a` and `wcag2aa` refer to WCAG 2.0 standards. We should be using
`wcag21a` and `wcag21aa` to test against WCAG 2.1 standards.

See:
https://github.com/dequelabs/axe-core/blob/develop/doc/API.md#axe-core-tags
2024-02-16 11:53:53 +08:00
Jun Pataleta ecb8465ebe MDL-79674 behat: Disable target-size rule
Since axe-core has introduced WCAG 2.2 Level AA support, a `target-size`
rule has been added which is a Level AA success criterion. Since we
haven't started working on WCAG 2.2 Level AA compliance, let's disable
this rule for now.

See https://www.w3.org/WAI/WCAG22/Understanding/target-size-minimum.html
2024-02-16 11:53:53 +08:00
Jun Pataleta f47baadc93 MDL-79674 behat: Bump axe-core to v4.8.4
* Improve readme_moodle.txt and add more detailed instructions
* Update \behat_accessibility::run_axe_validation_for_tags()'s
  PHPDoc block to reflect the current version.
* Fix incorrect copyright tag for the library
2024-02-16 11:53:52 +08:00
Eloy Lafuente (stronk7) 6e2c5b7b45 MDL-80844 phpunit: Only some tests can use the debugging sink
The only tests that have COMPLETE* support for the debugging sink
are the advanced_testcase and the database_driver ones (store and
report). So we must ensure that the rest of tests don't use the
debugging sink at all.

Right now we are using it for storing, but later there is not
reporting, so any debugging happening within non advanced tests
is not detected.

This commit just ensures that we stop making that storing for
non advanced/database_driver tests. Nothing more, nothing less.

* Note that we have had to add a few missing bits to the
database_driver testcase because it was not 100% complete. Now
it behaves 100% the same than the advanced_testcase one regarding
the debugging sink.
2024-02-15 18:46:16 +01:00
Eloy Lafuente (stronk7) 97a69a8360 MDL-76441 env: Moodle 4.2.x and 4.3.x do not support PHP 8.3 2024-02-15 18:44:42 +01:00
Sara Arjona fc191c76c6 MDL-80950 external: Fix PHP deprecated error for explode()
This patch fixes the following error:
PHP Deprecated:  explode(): Passing null to parameter #2 ($string)
of type string is deprecated in lib/upgradelib.php on line 1299
2024-02-15 17:52:23 +01:00
Sara Arjona 1cace1d129 MDL-78284 componentlibrary: Update activity icons information 2024-02-15 17:49:43 +01:00
Sara Arjona 8cdd62ca88 MDL-78284 theme: Add new interactive content and update styles 2024-02-15 17:49:43 +01:00
Sara Arjona 76474b6c59 MDL-78284 mod: Add new _is_branded() function
There is a new callback, <modname>_is_branded, which, by default,
returns false. It needs to be implemented by modules that want their
logo to be displayed as it is (so without applying any filter to
colour them based on their main purpose).
2024-02-15 17:49:42 +01:00
Sara Arjona 10f8e19f40 MDL-78284 mod: Replace activity icons with the new SVGs
The old monocromo.png activity icon files have been removed and
replaced with the new SVG files created by the UX team.

Special thanks to Sabina Abellán! :-)
2024-02-15 17:49:41 +01:00
Sara Arjona 6531d930b0 MDL-80730 theme: Remove unused SCSS files
The following files in theme/boost/scss/moodle  were not imported
so they can be removed because the styles defined in them are not
used anywhere:
- editor.scss
- expendable.scss
2024-02-15 17:47:36 +01:00
Sara Arjona d3ad77e476 weekly release 4.4dev 2024-02-15 15:39:37 +01:00
Sara Arjona 54a129d3b4 Merge branch 'install_master' of https://git.in.moodle.com/amosbot/moodle-install 2024-02-15 15:39:32 +01:00
sam marshall 14b1e93e85 MDL-80805 core_form: Accessibility - add aria-required to form fields
Most types of form field will now include aria-required="true" if the
field is marked as required. This causes assistive technology to inform
users that the field is required.

Before this change, in some cases (e.g. screen reader users tabbing
through fields) users were not informed that a field is required.
2024-02-15 14:30:33 +00:00
lihidor 78c1a0a3e5 MDL-62404 mod_quiz: Delete previews after repaginate 2024-02-15 10:59:23 +00:00
Simey Lameze 7b7be30b4d MDL-80613 behat: convert manual completion steps to use generators 2024-02-15 17:52:38 +08:00
Jake Dallimore 0498f008bc MDL-80836 auth_lti: deprecate no auth notice
This notice was specific to the session piggyback method and is no
longer relevant.
2024-02-15 12:27:20 +08:00
Jake Dallimore faf084ff00 MDL-80836 auth_lti: take user through login instead of sesspiggyback
Browsers are phasing out 3rd party cookies. Those which can be set are
partitioned to the top level embedding site, so piggybacking is
prevented. This will break the account linking process. This fix swaps
the piggyback for a login round trip, as originally intended, which
resolves the issue.
2024-02-15 12:27:20 +08:00
Huong Nguyen f364cf18eb Merge branch 'MDL-80823-wwwroot-redirect' of https://github.com/brendanheywood/moodle 2024-02-15 11:13:33 +07:00
Stevani Andolo 7917d779d1 MDL-80391 tiny_html: Fixed the loose focus in window manager 2024-02-15 10:06:46 +08:00
Alexander Van der Bellen 34492bec74 MDL-80917 core_backup: Clear restored course cache 2024-02-15 09:06:57 +08:00
Sara Arjona 8bde08c96d Merge branch 'MDL-78088-master' of https://github.com/jleyva/moodle 2024-02-14 16:53:03 +01:00
Juan Leyva 53c94c0b21 MDL-78088 tool_dataprivacy: New WS tool_dataprivacy_get_data_requests 2024-02-14 15:38:57 +01:00
Juan Leyva 2108c3a053 MDL-78088 tool_dataprivacy: New WS tool_dataprivacy_create_data_request 2024-02-14 15:38:57 +01:00
Juan Leyva f54185ab3a MDL-78088 tool_dataprivacy: New WS get_access_information 2024-02-14 15:09:31 +01:00
Juan Leyva 0be4d7b2bd MDL-78088 tool_dataprivacy: Enable and return additional info 2024-02-14 15:09:31 +01:00
sam marshall 4bb42cc362 MDL-80608 core_form: Fire modal form event for errors in definition
The ERROR event is defined as being fired if an exception occurs while
contacting the server. This change ensures it is fired for exceptions
in the form definition AJAX request, not just form submission.

Additionally, if such an error occurs in submission, the form buttons
were left in disabled state. This change makes them enabled again.
2024-02-14 13:49:39 +00:00
Paul Holden ebcc967d2e MDL-80258 reportbuilder: ensure consistent reporting of entity themes.
Courses, categories, users & cohorts each have a configurable `theme`
attribute - ensure reporting on said value is consistent across all the
corresponding entities.
2024-02-14 12:12:37 +00:00
Paul Holden a36c27c709 MDL-80258 course: don't re-request the current category theme. 2024-02-14 12:12:37 +00:00
Paul Holden c6ef18085f MDL-80936 reportbuilder: fix when default customfield values are shown.
We should ensure we only show a value for the custom field (default or
otherwise) when it's actually joined to an entity it represents.
2024-02-14 11:29:27 +00:00
Sara Arjona cd655be112 Merge branch 'MDL-79321-master' of https://github.com/andelacruz/moodle 2024-02-14 09:35:22 +01:00
Sara Arjona ce7f3eef04 Merge branch 'MDL-79552' of https://github.com/paulholden/moodle 2024-02-14 09:30:09 +01:00
Huong Nguyen 50ca1b1618 Merge branch 'MDL-80249-main' of https://github.com/sarjona/moodle 2024-02-14 15:08:22 +07:00
Sara Arjona 1ea31db81c MDL-80249 course: Hide secondary menu and add breadcrumb to section page 2024-02-14 08:03:56 +01:00
Huong Nguyen 9ac10c4681 Merge branch 'MDL-71744_master' of https://github.com/t-schroeder/moodle 2024-02-14 10:31:48 +07:00
anisa kusumadewi 64ae55f79b MDL-71744 forum: added announcement forum defaults 2024-02-13 17:24:27 +01:00
Sara Arjona 1d23446a1b Merge branch 'MDL-80807' of https://github.com/paulholden/moodle 2024-02-13 16:16:01 +01:00
Sara Arjona 0f2f0b2fd7 Merge branch 'MDL-80722' of https://github.com/paulholden/moodle 2024-02-13 16:13:17 +01:00
Sara Arjona 0d1f2a4504 Merge branch 'MDL-80219-main' of https://github.com/roland04/moodle 2024-02-13 16:09:32 +01:00
Sara Arjona b91ec287dc Merge branch 'MDL-80190-main' of https://github.com/ferranrecio/moodle 2024-02-13 15:28:05 +01:00
Huong Nguyen b049e8e2cd Merge branch 'MDL-80742-main' of https://github.com/mihailges/moodle 2024-02-13 15:23:58 +07:00
Angelia Dela Cruz 8754dc0724 MDL-79321 mod_quiz: Behat to set quiz as interactive with multiple tries 2024-02-13 16:22:16 +08:00
Jun Pataleta c9c65a1b95 Merge branch 'MDL-80402-main' of https://github.com/andelacruz/moodle 2024-02-13 15:52:16 +08:00
Jun Pataleta b660a59889 Merge branch 'MDL-80766' of https://github.com/paulholden/moodle 2024-02-13 15:34:38 +08:00
Mathew May 02480eec44 MDL-78944 gradereport_grader: Spurious behat fix 2024-02-13 15:01:23 +08:00
Huong Nguyen 15ae5d9b21 Merge branch 'MDL-80814-main' of https://github.com/aanabit/moodle 2024-02-13 10:18:44 +07:00
Huong Nguyen b32407f1e9 Merge branch 'MDL-80724-master' of https://github.com/jleyva/moodle 2024-02-13 10:10:58 +07:00
Huong Nguyen 043c829ff1 Merge branch 'MDL-80630_main' of https://github.com/PhilippImhof/moodle 2024-02-13 09:54:53 +07:00
Huong Nguyen 22b0e01c27 Merge branch 'MDL-80869' of https://github.com/paulholden/moodle 2024-02-13 09:54:52 +07:00
Huong Nguyen 2a5ec75849 Merge branch 'MDL-80622-main' of https://github.com/roland04/moodle 2024-02-13 09:54:52 +07:00
Huong Nguyen 06783182ef Merge branch 'MDL-80541-main' of https://github.com/aanabit/moodle 2024-02-13 09:54:52 +07:00
Huong Nguyen c5eefd2782 Merge branch 'MDL-80557-main' of https://github.com/aanabit/moodle 2024-02-13 09:54:49 +07:00
Amaia Anabitarte 1ce32e3a60 MDL-80557 courseformat: Change default plugin order 2024-02-13 09:54:18 +07:00
Angelia Dela Cruz a79c061821 MDL-80402 mod_quiz: Behat for interactive quiz question dependency 2024-02-13 10:33:28 +08:00
Huong Nguyen 7095211898 Merge branch 'MDL-80326-main' of https://github.com/laurentdavid/moodle 2024-02-13 08:55:22 +07:00
AMOS bot a9e44c45bd Automatically generated installer lang files 2024-02-13 00:10:30 +00:00
meirzamoodle d1c27bba15 MDL-78256 lib: Code adjustments to the Zipstream 3.1.0 2024-02-12 16:56:37 +07:00
meirzamoodle 6972e9c83d MDL-78256 lib: Upgrade Zipstream to 3.1.0 2024-02-12 16:51:02 +07:00
Jun Pataleta 0a0d4b20a7 Merge branch 'MDL-80072-main' of https://github.com/andrewnicols/moodle 2024-02-12 14:31:11 +08:00
Andrew Nicols f0e46b994f MDL-80072 core: Whitespace fix 2024-02-12 14:28:56 +08:00
Jun Pataleta a8a31f648d Merge branch 'MDL-80072-main' of https://github.com/andrewnicols/moodle 2024-02-12 13:58:05 +08:00
Andrew Nicols 4349a9164e MDL-80072 editor_tiny: Editor options should not be passed to format_text 2024-02-12 11:11:19 +08:00
Andrew Nicols 3e6437e67c MDL-80072 core: Mark nocache option to format_text as deprecated
This was actually deprecated back in MDL-34347 but never actually
emitted.
2024-02-12 11:11:19 +08:00
Andrew Nicols 85c1dd0077 MDL-80072 core: Deprecate format_text smiley option
This was actually deprecated in Moodle 2.0 but did not emit.
2024-02-12 11:11:18 +08:00
Andrew Nicols d56303aa54 MDL-80072 core: Promote all formatting options to parameters
Now that PHP has support for named parameters, and we can use them in
Moodle, we should ditch `$options` arrays and use first-class,
documented, parameters.

Whilst this may seem scary, dumb, overwhelming, please note that you do
not need to supply all args, for example, to change the last parameter
of `format_text` you no longer need to do this:

    return \core\container::get(\core\formatting::class)->format_text(
       $text,
       FORMAT_MOODLE,
       $context,
       false,
       null,
       true,
       true,
       true,
       false,
       false,
       true,
    );

Instead you can do:

    return \core\container::get(\core\formatting::class)->format_text(
       $text,
       FORMAT_MOODLE,
       $context,
       allowid: true,
    );

Or better still:

    return \core\container::get(\core\formatting::class)->format_text(
       text: $text,
       format: FORMAT_MOODLE,
       context: $context,
       allowid: true,
    );

This means that we can get defaults in the function signature, improves
our typing, and allows for deprecation and changes to options. It also
sets us up for success in the future.
2024-02-12 11:11:18 +08:00
Andrew Nicols b353c8e1e2 MDL-80072 core: Improve format_* APIs to improve clarity 2024-02-12 11:11:18 +08:00
Andrew Nicols fb1d9d65e0 MDL-80072 core: Move format_string cache to class prop
This means that the cache will be automatically reset between tests.
2024-02-12 11:11:18 +08:00
Andrew Nicols d6dc3847f4 MDL-80072 core: Update uses of courseid to format_text 2024-02-12 11:11:17 +08:00
Andrew Nicols ae80cd739b MDL-80072 core: Coding Style fixes 2024-02-12 11:11:17 +08:00
Andrew Nicols e8eb163ff9 MDL-80072 core: Move CFG->filterall to formatter property 2024-02-12 11:11:17 +08:00
Andrew Nicols 35a8e23034 MDL-80072 core: Move CFG->formatstringstriptags to formatter property 2024-02-12 11:11:17 +08:00
Andrew Nicols f9dc48691d MDL-80072 core: Move CFG->forceclean to formatter property 2024-02-12 11:11:17 +08:00
Andrew Nicols 6bb0c91a73 MDL-80072 core: Move format_text to core\formatting 2024-02-12 11:11:16 +08:00
Andrew Nicols 37ec9ee8ee MDL-80072 core: Move format_string to core\formatting 2024-02-12 11:11:16 +08:00
Andrew Nicols 9ed3f83dd2 MDL-80072 core: Add \core\di wrapper to php-di
The \core\di class is a Moodle wrapper to php-di which is intended to
allow Moodle to switch to an alternate DI solution in the future if
required. All interaction with the container uses the PSR-11 Container
interfaces, which allows for normalisation of configuration, setting,
and retrieving of DI container-identified classes.
2024-02-12 11:11:16 +08:00
Andrew Nicols 192a7797ab MDL-80072 core: Add php-di codebase 2024-02-12 11:11:15 +08:00
AMOS bot ad221f7828 Automatically generated installer lang files 2024-02-12 00:11:24 +00:00
Gregor Eichelberger 7c4ca5f269 MDL-79044 gradebook: Add default export method setting
Introduces a new admin setting to configure the default export method
used for redirecting the user via /grade/export/index.php

Signed-off-by: Gregor Eichelberger <gregor.eichelberger@tuwien.ac.at>
2024-02-09 22:31:57 +01:00
Mikel Martín e788ed509c MDL-80622 core_courseformat: Fix activity card drag image 2024-02-09 09:48:49 +01:00
Mikel Martín 0efe999276 MDL-80219 core_courseformat: Add course section and activity new styling
- Add border to sections (not in single section page)
- Remove border to activity cards and add single line separators
- Refactor activity and sections styles to fit this new layout
- Remove styles that are not necessary with this new layout
2024-02-09 09:47:03 +01:00
Jun Pataleta f96df76bfc Merge branch 'MDL-79788' of https://github.com/paulholden/moodle 2024-02-09 16:46:54 +08:00
Jun Pataleta aa921c0c7f Merge branch 'MDL-80874-main' of https://github.com/andrewnicols/moodle 2024-02-09 16:42:50 +08:00
Andrew Nicols 12dcde3fae MDL-80072 core: Add PSR-11 interfaces 2024-02-09 15:03:57 +08:00
Andrew Nicols 7b72ead9e5 MDL-80874 core: Correct repo name for PR closer 2024-02-09 15:00:56 +08:00
Paul Holden 27ca0daf87 MDL-79788 tag: convert module creation of tags to generators.
We don't need to use the tags UI directly for creating tags in module
scenarios, because it's slow and prone to error in case of interface
changes.
2024-02-08 16:31:02 +00:00
Paul Holden d057af03e9 MDL-79788 tag: convert tag collection page to reportbuilder report. 2024-02-08 16:31:02 +00:00
Paul Holden d30b526bb7 MDL-80868 question: correct deleted format plugin definitions. 2024-02-08 16:15:29 +00:00
Sara Arjona 328b48ebc5 weekly release 4.4dev 2024-02-08 16:18:06 +01:00
Sara Arjona de632c0117 NOBUG: Fixed SVG browser compatibility 2024-02-08 16:18:01 +01:00
Paul Holden d519d7b8b7 MDL-80869 mod_bigbluebuttonbn: ensure test retrieves expected record. 2024-02-08 13:21:44 +00:00
Sara Arjona f5a9e9478f Merge branch 'MDL-80544' of https://github.com/paulholden/moodle 2024-02-08 11:27:05 +01:00
Jun Pataleta 66584a81a9 Merge branch 'MDL-78427' of https://github.com/paulholden/moodle 2024-02-08 18:09:04 +08:00
Paul Holden 3fd7875322 MDL-80544 h5p: add v126 library to list of standard plugins. 2024-02-08 10:03:42 +00:00
Paul Holden dae077e86a MDL-78427 report: add theme usage report to list of standard plugins. 2024-02-08 09:44:17 +00:00
Philipp Imhof 5ec21f8d82 MDL-80630 mod_quiz: keep timer hidden across pages
If a student hides the timer, store that setting in their user
preferences in order to keep it hidden even if they go from one page
to another in a quiz.
2024-02-08 09:43:01 +01:00
Laurent David 716da575e7 MDL-80326 course_format: Visibility changes only when capability is set
* When an editing teacher has not the capability to change visibility
(for example if for a given module the capability is removed), the visibility
drop down menu in the card should not be available.
2024-02-08 09:21:09 +01:00
Jun Pataleta 081767e803 MDL-77166 core: Point to CONTRIBUTING.md file
MDL-80577 formatted CONTRIBUTING.txt and moved to CONTRIBUTING.md so
the message needs to be updated accordingly
2024-02-08 15:32:33 +08:00
Jun Pataleta 72bb1899e0 Merge branch 'MDL-77166' of https://github.com/stronk7/moodle 2024-02-08 15:32:32 +08:00
Huong Nguyen 5f3729eb63 Merge branch 'MDL-80809' of https://github.com/paulholden/moodle 2024-02-08 15:32:32 +08:00
Jun Pataleta fd25a26efb Merge branch 'MDL-80577-main' of https://github.com/andrewnicols/moodle 2024-02-08 15:32:32 +08:00
Huong Nguyen 1c5e98c63e Merge branch 'MDL-80839-main' of https://github.com/aanabit/moodle 2024-02-08 15:32:32 +08:00
Andrew Nicols a06f1a7910 Merge branch 'MDL-80768' of https://github.com/paulholden/moodle 2024-02-08 15:32:31 +08:00
Ilya Tregubov 1c059cb3fe MDL-80504 forum: Fix seperate group mode 2024-02-08 15:32:31 +08:00
Ilya Tregubov fba3e87a24 Merge branch 'MDL-80753-main' of https://github.com/andrewnicols/moodle 2024-02-08 15:32:31 +08:00
Andrew Nicols 8c627ce745 Merge branch 'MDL-80738' of https://github.com/paulholden/moodle 2024-02-08 15:32:30 +08:00
Ilya Tregubov 436331e053 Merge branch 'MDL-80716-master' of https://github.com/sh-csg/moodle 2024-02-08 15:32:30 +08:00
Leon Stringer 662192fcec MDL-80501 mod_h5pactivity: activity group mode
Respect activity's group mode when checking access to the report.
Previously only the course's group mode was checked.
2024-02-08 15:32:30 +08:00
Huong Nguyen 4025771583 Merge branch 'MDL-80544-main' of https://github.com/sarjona/moodle 2024-02-08 15:32:29 +08:00
Huong Nguyen 97ef09c7f8 Merge branch 'MDL-80832-main' of https://github.com/davewoloszyn/moodle 2024-02-08 15:32:29 +08:00
Andrew Nicols 3a73e8046c Merge branch 'MDL-80648_CFG-xsendfilealiases-in-config-dist-php-is-missing-localrequestdir' of https://github.com/ziegenberg/moodle 2024-02-08 15:32:29 +08:00
Andrew Nicols d05f271528 Merge branch 'MDL-80803' of https://github.com/paulholden/moodle 2024-02-08 15:32:28 +08:00
Andrew Nicols 74e0266abe Merge branch 'MDL-36733-master' of https://github.com/PascalHamar/moodle 2024-02-08 15:32:28 +08:00
Andrew Nicols b156b34552 Merge branch 'MDL-80667' of https://github.com/paulholden/moodle 2024-02-08 15:32:28 +08:00
Ilya Tregubov 53a3ff713d Merge branch 'MDL-78173' of https://github.com/paulholden/moodle 2024-02-08 15:32:27 +08:00
Sara Arjona 6b93a4e6f5 Merge branch 'MDL-80392-master' of https://github.com/jleyva/moodle 2024-02-08 15:32:27 +08:00
Paul Holden a5133df5bb Merge branch 'MDL-80708-main' of https://github.com/rmady/moodle into main 2024-02-08 15:32:27 +08:00
Sara Arjona d3cac65bf9 Merge branch 'mdl-80576_master' of https://github.com/james-cnz/moodle 2024-02-08 15:32:27 +08:00
Sara Arjona 7179bd713a Merge branch 'mdl-78095-master' of https://github.com/james-cnz/moodle 2024-02-08 15:32:26 +08:00
Sara Arjona bc82ddcfb5 Merge branch 'MDL-74500' of https://github.com/paulholden/moodle 2024-02-08 15:32:26 +08:00
Sara Arjona eb0fa7027c Merge branch 'MDL-80808' of https://github.com/timhunt/moodle 2024-02-08 15:32:23 +08:00
Sara Arjona 5c69b393df Merge branch 'MDL-79514' of https://github.com/paulholden/moodle 2024-02-08 15:32:00 +08:00
Sara Arjona ff50da59e9 Merge branch 'MDL-79577' of https://github.com/paulholden/moodle 2024-02-08 15:32:00 +08:00
Jun Pataleta 53e5c0da37 Merge branch 'MDL-80784-main' of https://github.com/noeldemartin/moodle 2024-02-08 15:31:59 +08:00
Ilya Tregubov 6eaeeda6cf MDL-69774 mod_forum: Restrict URL to accpet only expected params 2024-02-08 15:31:59 +08:00
Huong Nguyen 04020fb8f6 Merge branch 'MDL-78417' of https://github.com/paulholden/moodle 2024-02-08 15:31:59 +08:00
Huong Nguyen 3d2d81a411 Merge branch 'MDL-80512' of https://github.com/paulholden/moodle 2024-02-08 15:31:59 +08:00
Rodrigo Mady 9c9fbb262c MDL-80708 auth_email: Extendedusernamechars return get_signup_settings 2024-02-07 11:39:18 -03:00
Paul Holden 597a8ac878 MDL-74500 profilefield_checkbox: override show/empty class methods. 2024-02-07 14:13:48 +00:00
Paul Holden 6f60461220 MDL-80338 core: encode moodle_url instance anchor properties. 2024-02-07 12:21:26 +00:00
Ferran Recio 34ce0eddc0 MDL-80190 core_courseformat: prevent delegated sections loops
This patch prevent dropping an activity with delegated sections inside
another delegated section. Without this patch the teacher can create a
deadlock drag&droping the subsection inside itself. We won't allow
subsections inside subsections so any activity with subsection cannot
be dropped inside a subsección.
2024-02-07 12:14:59 +01:00
Ferran Recio d244a206a3 MDL-80190 core_courseformat: top re-sorting delegated sections
The current course editor re-sort sections on the frontend. If a
sections does not exists it uses fragment to render the missing section.
However, delegated section should not be re-sorted as regular sections.
2024-02-07 12:14:18 +01:00
Ferran Recio 15db7d9d98 MDL-80190 core_courseformat: fix activity creation on delegated sections
The method for checking if the user can create an activity executed
create_if_missing wihtout checking the section exists or not. This is
a problem for delegated sections because create_if_missing will create a
regular section and push down all delegate ones. With the patch the
method first checks if the section exists.
2024-02-07 12:06:03 +01:00
Ferran Recio 97a7958aee MDL-80190 core_courseformat: do not render delegated sections in course 2024-02-07 12:06:03 +01:00
Eloy Lafuente (stronk7) 0b9be06745 MDL-77166 core: Auto close pull requests @ GitHub
Note that we have also enabled it to be executed
via manual dispatch to be able to close currently
existing PRs.

Once everything existing is closed, it will take on
any new PR arriving. Then, we can remove the manual
dispatching, although it's not critical to leave it
there in case we want to use that workflow with other
repos.
2024-02-07 09:27:22 +01:00
Ilya Tregubov 9ad941c565 Merge branch 'MDL-80124' of https://github.com/paulholden/moodle 2024-02-07 13:16:06 +08:00
Ilya Tregubov 2150694d72 Merge branch 'MDL-80324' of https://github.com/paulholden/moodle 2024-02-07 13:11:58 +08:00
Jun Pataleta b51e037308 Merge branch 'MDL-70058' of https://github.com/paulholden/moodle 2024-02-07 12:31:44 +08:00
Jun Pataleta 9e7777c6ce Merge branch 'MDL-75081' of https://github.com/paulholden/moodle 2024-02-07 11:36:44 +08:00
Jun Pataleta bd54499fe0 Merge branch 'master_check_cached_empty_modnames' of https://github.com/opitz/moodle 2024-02-07 11:18:00 +08:00
David Woloszyn aad5b7ee5f MDL-80832 communication_matrix: Fix regression caused by MDL-80403 2024-02-07 14:09:39 +11:00
Ilya Tregubov ae95b15d70 Merge branch 'MDL-79433' of https://github.com/paulholden/moodle 2024-02-07 10:12:36 +08:00
meirzamoodle a73e0ac76d MDL-74641 repository: Fix wrong increment of temporary file for small sizes 2024-02-07 02:34:19 +01:00
meirzamoodle 9ba1423359 MDL-74641 repository: Handles increase bytes while extracting zip files
We should not rely solely on the provided size information.
Therefore the system needs to recalculate the size of each file in the zip file,
whether small or big.

The changes also cover the filemanager.js file if an error appears.
2024-02-07 02:34:19 +01:00
meirzamoodle 4cae44dd0e MDL-78300 block: Determine if users can comment based on context 2024-02-07 02:34:19 +01:00
Paul Holden bac703c534 MDL-54749 tool_langimport: require sesskey to update lang packs. 2024-02-07 02:34:19 +01:00
Ilya Tregubov 219510b7d9 Merge branch 'MDL-79527' of https://github.com/timhunt/moodle 2024-02-07 09:26:46 +08:00
Ilya Tregubov c0e22cc885 Merge branch 'MDL-80767' of https://github.com/paulholden/moodle 2024-02-07 09:01:30 +08:00
Ilya Tregubov 8d845a639f Merge branch 'MDL-78621' of https://github.com/paulholden/moodle 2024-02-07 08:56:41 +08:00
Jun Pataleta 9406820aa1 Merge branch 'MDL-80693-main' of https://github.com/sammarshallou/moodle 2024-02-07 08:33:04 +08:00
Paul Holden 8ea7f73898 MDL-75081 grade: fix rogue gradebook scenarios containing invalid steps.
Various re-factors over recent releases appear to have led to quite a
drift between actual functionality and what these scenarios assert for
imagined functionality. Page elements and content are referenced that
don't exist in multiple places.
2024-02-06 17:31:46 +00:00
Paul Holden 662c5e1d31 MDL-75081 behat: define new heading named selector.
Co-authored-by: Jun Pataleta <jun@moodle.com>
2024-02-06 17:06:47 +00:00
Paul Holden 5f51b688b9 MDL-75081 behat: correct tests of table contents asserting one column.
Prior to this change, assertions of "should exist" and "should not
exist" in table content, where the step provided only a single column,
could give false positives and pass (when they shouldn't).
2024-02-06 16:41:12 +00:00
Paul Holden 306d16c9e9 Merge branch 'MDL-80735' of https://github.com/marinaglancy/moodle into main 2024-02-06 15:26:45 +00:00
Sara Arjona 76104093ff Merge branch 'MDL-80816' of https://github.com/stronk7/moodle 2024-02-06 15:51:31 +01:00
Tim Hunt c1d60a5e67 MDL-80834 quiz editing: fix position of the 'depends on previous' icon 2024-02-06 11:29:30 +00:00
Amaia Anabitarte 2919f36b3d MDL-80839 core_course: Recover addnew string
addnew string was deprecated in MDL-80418 but it's still in use.
2024-02-06 11:13:42 +01:00
Juan Leyva 408d7c0c9c MDL-80392 completion: Fix exporter for Web Services 2024-02-06 11:01:42 +01:00
Paul Holden c9cdf848bf MDL-80807 cohort: remove superfluous Behat feature for report source. 2024-02-06 09:48:15 +00:00
Paul Holden b8a87bd354 MDL-80807 reportbuilder: additional tests for aggregated column sort. 2024-02-06 09:47:57 +00:00
Jun Pataleta c424ba34e2 MDL-80725 tool_mfa: Apply en_fix to Behat tests
Also use the appropriate Behat tags `@tool @tool_mfa @factor_sms`
instead of `@tool_admin_mfa`.
2024-02-06 16:00:00 +08:00
Jun Pataleta 83532409cc Merge branch 'MDL-80725-main-enfix' of https://github.com/mudrd8mz/moodle 2024-02-06 15:59:07 +08:00
Sara Arjona 88cda2171f MDL-80544 core_h5p: Remove the h5plib_v124 plugin
The h5plib_v124 plugin can be removed because it has been replaced
with h5plib_v126, which is using the latest versions of the
libraries.
2024-02-06 08:09:22 +01:00
Sara Arjona cda7b09ae1 MDL-80544 core_h5p: Add core lib changes after upgrading it 2024-02-06 08:08:31 +01:00
Sara Arjona 25f1712602 MDL-80544 core_h5p: Upgrade core lib to 1.26
This commit is upgrading the joubel/core library to the one
tagged as 1.26 (which also increases the coreApi minorVersion).
That's why the previous commit was duplicating the existing
h5plib_v124.
This tag is also pointing to the same tag that the mod_hvp is using
too: https://github.com/h5p/moodle-mod_hvp/releases/tag/1.26.1
2024-02-06 08:08:31 +01:00
Sara Arjona ab99e7c458 MDL-80544 h5plib: Create first version of h5plib_v126
AMOS BEGIN
 CPY [editor:a11ytitleshowlabel,h5plib_v124],[editor:a11ytitleshowlabel,h5plib_v126]
 CPY [editor:a11ytitlehidelabel,h5plib_v124],[editor:a11ytitlehidelabel,h5plib_v126]
 CPY [editor:atoz,h5plib_v124],[editor:atoz,h5plib_v126]
 CPY [editor:add,h5plib_v124],[editor:add,h5plib_v126]
 CPY [editor:addauthor,h5plib_v124],[editor:addauthor,h5plib_v126]
 CPY [editor:addentity,h5plib_v124],[editor:addentity,h5plib_v126]
 CPY [editor:addfile,h5plib_v124],[editor:addfile,h5plib_v126]
 CPY [editor:addnewchange,h5plib_v124],[editor:addnewchange,h5plib_v126]
 CPY [editor:addtitle,h5plib_v124],[editor:addtitle,h5plib_v126]
 CPY [editor:addvideodescription,h5plib_v124],[editor:addvideodescription,h5plib_v126]
 CPY [editor:avtablistlabel,h5plib_v124],[editor:avtablistlabel,h5plib_v126]
 CPY [editor:belowmin,h5plib_v124],[editor:belowmin,h5plib_v126]
 CPY [editor:cancel,h5plib_v124],[editor:cancel,h5plib_v126]
 CPY [editor:cancellabel,h5plib_v124],[editor:cancellabel,h5plib_v126]
 CPY [editor:changefile,h5plib_v124],[editor:changefile,h5plib_v126]
 CPY [editor:changelanguage,h5plib_v124],[editor:changelanguage,h5plib_v126]
 CPY [editor:changelibrary,h5plib_v124],[editor:changelibrary,h5plib_v126]
 CPY [editor:changelogdescription,h5plib_v124],[editor:changelogdescription,h5plib_v126]
 CPY [editor:close,h5plib_v124],[editor:close,h5plib_v126]
 CPY [editor:commonfields,h5plib_v124],[editor:commonfields,h5plib_v126]
 CPY [editor:commonfieldsdescription,h5plib_v124],[editor:commonfieldsdescription,h5plib_v126]
 CPY [editor:confirmchangelibrary,h5plib_v124],[editor:confirmchangelibrary,h5plib_v126]
 CPY [editor:confirmdeletechangelog,h5plib_v124],[editor:confirmdeletechangelog,h5plib_v126]
 CPY [editor:confirmimageremoval,h5plib_v124],[editor:confirmimageremoval,h5plib_v126]
 CPY [editor:confirmpastebuttontext,h5plib_v124],[editor:confirmpastebuttontext,h5plib_v126]
 CPY [editor:confirmpastecontent,h5plib_v124],[editor:confirmpastecontent,h5plib_v126]
 CPY [editor:confirmremoval,h5plib_v124],[editor:confirmremoval,h5plib_v126]
 CPY [editor:confirmremoveauthor,h5plib_v124],[editor:confirmremoveauthor,h5plib_v126]
 CPY [editor:contenttypebackbuttonlabel,h5plib_v124],[editor:contenttypebackbuttonlabel,h5plib_v126]
 CPY [editor:contenttypecacheoutdated,h5plib_v124],[editor:contenttypecacheoutdated,h5plib_v126]
 CPY [editor:contenttypecacheoutdateddesc,h5plib_v124],[editor:contenttypecacheoutdateddesc,h5plib_v126]
 CPY [editor:contenttypedemobuttonlabel,h5plib_v124],[editor:contenttypedemobuttonlabel,h5plib_v126]
 CPY [editor:contenttypedetailbuttonlabel,h5plib_v124],[editor:contenttypedetailbuttonlabel,h5plib_v126]
 CPY [editor:contenttypegetbuttonlabel,h5plib_v124],[editor:contenttypegetbuttonlabel,h5plib_v126]
 CPY [editor:contenttypeiconalttext,h5plib_v124],[editor:contenttypeiconalttext,h5plib_v126]
 CPY [editor:contenttypeinstallbuttonlabel,h5plib_v124],[editor:contenttypeinstallbuttonlabel,h5plib_v126]
 CPY [editor:contenttypeinstallerror,h5plib_v124],[editor:contenttypeinstallerror,h5plib_v126]
 CPY [editor:contenttypeinstallsuccess,h5plib_v124],[editor:contenttypeinstallsuccess,h5plib_v126]
 CPY [editor:contenttypeinstallingbuttonlabel,h5plib_v124],[editor:contenttypeinstallingbuttonlabel,h5plib_v126]
 CPY [editor:contenttypelicensepaneltitle,h5plib_v124],[editor:contenttypelicensepaneltitle,h5plib_v126]
 CPY [editor:contenttypenotinstalled,h5plib_v124],[editor:contenttypenotinstalled,h5plib_v126]
 CPY [editor:contenttypenotinstalleddesc,h5plib_v124],[editor:contenttypenotinstalleddesc,h5plib_v126]
 CPY [editor:contenttypeowner,h5plib_v124],[editor:contenttypeowner,h5plib_v126]
 CPY [editor:contenttyperestricted,h5plib_v124],[editor:contenttyperestricted,h5plib_v126]
 CPY [editor:contenttyperestricteddesc,h5plib_v124],[editor:contenttyperestricteddesc,h5plib_v126]
 CPY [editor:contenttypesearchfieldplaceholder,h5plib_v124],[editor:contenttypesearchfieldplaceholder,h5plib_v126]
 CPY [editor:contenttypesectionall,h5plib_v124],[editor:contenttypesectionall,h5plib_v126]
 CPY [editor:contenttypeunsupportedapiversioncontent,h5plib_v124],[editor:contenttypeunsupportedapiversioncontent,h5plib_v126]
 CPY [editor:contenttypeunsupportedapiversiontitle,h5plib_v124],[editor:contenttypeunsupportedapiversiontitle,h5plib_v126]
 CPY [editor:contenttypeupdateavailable,h5plib_v124],[editor:contenttypeupdateavailable,h5plib_v126]
 CPY [editor:contenttypeupdatebuttonlabel,h5plib_v124],[editor:contenttypeupdatebuttonlabel,h5plib_v126]
 CPY [editor:contenttypeupdatesuccess,h5plib_v124],[editor:contenttypeupdatesuccess,h5plib_v126]
 CPY [editor:contenttypeupdatingbuttonlabel,h5plib_v124],[editor:contenttypeupdatingbuttonlabel,h5plib_v126]
 CPY [editor:contenttypeusebuttonlabel,h5plib_v124],[editor:contenttypeusebuttonlabel,h5plib_v126]
 CPY [editor:contributetranslations,h5plib_v124],[editor:contributetranslations,h5plib_v126]
 CPY [editor:copiedbutton,h5plib_v124],[editor:copiedbutton,h5plib_v126]
 CPY [editor:copiedtoclipboard,h5plib_v124],[editor:copiedtoclipboard,h5plib_v126]
 CPY [editor:copybutton,h5plib_v124],[editor:copybutton,h5plib_v126]
 CPY [editor:copytoclipboard,h5plib_v124],[editor:copytoclipboard,h5plib_v126]
 CPY [editor:createcontenttablabel,h5plib_v124],[editor:createcontenttablabel,h5plib_v126]
 CPY [editor:currentmenuselected,h5plib_v124],[editor:currentmenuselected,h5plib_v126]
 CPY [editor:editcopyright,h5plib_v124],[editor:editcopyright,h5plib_v126]
 CPY [editor:editimage,h5plib_v124],[editor:editimage,h5plib_v126]
 CPY [editor:editmode,h5plib_v124],[editor:editmode,h5plib_v126]
 CPY [editor:enteraudiotitle,h5plib_v124],[editor:enteraudiotitle,h5plib_v126]
 CPY [editor:enteraudiourl,h5plib_v124],[editor:enteraudiourl,h5plib_v126]
 CPY [editor:enterfullscreenbuttonlabel,h5plib_v124],[editor:enterfullscreenbuttonlabel,h5plib_v126]
 CPY [editor:entervideotitle,h5plib_v124],[editor:entervideotitle,h5plib_v126]
 CPY [editor:entervideourl,h5plib_v124],[editor:entervideourl,h5plib_v126]
 CPY [editor:errorcalculatingmaxscore,h5plib_v124],[editor:errorcalculatingmaxscore,h5plib_v126]
 CPY [editor:errorcommunicatinghubcontent,h5plib_v124],[editor:errorcommunicatinghubcontent,h5plib_v126]
 CPY [editor:errorcommunicatinghubtitle,h5plib_v124],[editor:errorcommunicatinghubtitle,h5plib_v126]
 CPY [editor:errorheader,h5plib_v124],[editor:errorheader,h5plib_v126]
 CPY [editor:errornotsupported,h5plib_v124],[editor:errornotsupported,h5plib_v126]
 CPY [editor:errorparamsbroken,h5plib_v124],[editor:errorparamsbroken,h5plib_v126]
 CPY [editor:errortoohighversion,h5plib_v124],[editor:errortoohighversion,h5plib_v126]
 CPY [editor:example,h5plib_v124],[editor:example,h5plib_v126]
 CPY [editor:exceedsmax,h5plib_v124],[editor:exceedsmax,h5plib_v126]
 CPY [editor:exitfullscreenbuttonlabel,h5plib_v124],[editor:exitfullscreenbuttonlabel,h5plib_v126]
 CPY [editor:expandcollapse,h5plib_v124],[editor:expandcollapse,h5plib_v126]
 CPY [editor:filetolarge,h5plib_v124],[editor:filetolarge,h5plib_v126]
 CPY [editor:fillinthefieldsbelow,h5plib_v124],[editor:fillinthefieldsbelow,h5plib_v126]
 CPY [editor:gethelp,h5plib_v124],[editor:gethelp,h5plib_v126]
 CPY [editor:h5pfileuploadservererrorcontent,h5plib_v124],[editor:h5pfileuploadservererrorcontent,h5plib_v126]
 CPY [editor:h5pfileuploadservererrortitle,h5plib_v124],[editor:h5pfileuploadservererrortitle,h5plib_v126]
 CPY [editor:h5pfilevalidationfailedcontent,h5plib_v124],[editor:h5pfilevalidationfailedcontent,h5plib_v126]
 CPY [editor:h5pfilevalidationfailedtitle,h5plib_v124],[editor:h5pfilevalidationfailedtitle,h5plib_v126]
 CPY [editor:h5pfilewrongextensioncontent,h5plib_v124],[editor:h5pfilewrongextensioncontent,h5plib_v126]
 CPY [editor:h5pfilewrongextensiontitle,h5plib_v124],[editor:h5pfilewrongextensiontitle,h5plib_v126]
 CPY [editor:height,h5plib_v124],[editor:height,h5plib_v126]
 CPY [editor:hide,h5plib_v124],[editor:hide,h5plib_v126]
 CPY [editor:hideimportantinstructions,h5plib_v124],[editor:hideimportantinstructions,h5plib_v126]
 CPY [editor:hubpanellabel,h5plib_v124],[editor:hubpanellabel,h5plib_v126]
 CPY [editor:illegaldecimalnumber,h5plib_v124],[editor:illegaldecimalnumber,h5plib_v126]
 CPY [editor:imagelightboxprogress,h5plib_v124],[editor:imagelightboxprogress,h5plib_v126]
 CPY [editor:imagelightboxtitle,h5plib_v124],[editor:imagelightboxtitle,h5plib_v126]
 CPY [editor:importantinstructions,h5plib_v124],[editor:importantinstructions,h5plib_v126]
 CPY [editor:insert,h5plib_v124],[editor:insert,h5plib_v126]
 CPY [editor:invalidformat,h5plib_v124],[editor:invalidformat,h5plib_v126]
 CPY [editor:language,h5plib_v124],[editor:language,h5plib_v126]
 CPY [editor:librarymissing,h5plib_v124],[editor:librarymissing,h5plib_v126]
 CPY [editor:licensecandistribute,h5plib_v124],[editor:licensecandistribute,h5plib_v126]
 CPY [editor:licensecanholdliable,h5plib_v124],[editor:licensecanholdliable,h5plib_v126]
 CPY [editor:licensecanmodify,h5plib_v124],[editor:licensecanmodify,h5plib_v126]
 CPY [editor:licensecansublicense,h5plib_v124],[editor:licensecansublicense,h5plib_v126]
 CPY [editor:licensecanusecommercially,h5plib_v124],[editor:licensecanusecommercially,h5plib_v126]
 CPY [editor:licensecannotholdliable,h5plib_v124],[editor:licensecannotholdliable,h5plib_v126]
 CPY [editor:licensedescription,h5plib_v124],[editor:licensedescription,h5plib_v126]
 CPY [editor:licensefetchdetailsfailed,h5plib_v124],[editor:licensefetchdetailsfailed,h5plib_v126]
 CPY [editor:licensemodalsubtitle,h5plib_v124],[editor:licensemodalsubtitle,h5plib_v126]
 CPY [editor:licensemodaltitle,h5plib_v124],[editor:licensemodaltitle,h5plib_v126]
 CPY [editor:licensemustincludecopyright,h5plib_v124],[editor:licensemustincludecopyright,h5plib_v126]
 CPY [editor:licensemustincludelicense,h5plib_v124],[editor:licensemustincludelicense,h5plib_v126]
 CPY [editor:licenseunspecified,h5plib_v124],[editor:licenseunspecified,h5plib_v126]
 CPY [editor:listbelowmin,h5plib_v124],[editor:listbelowmin,h5plib_v126]
 CPY [editor:listexceedsmax,h5plib_v124],[editor:listexceedsmax,h5plib_v126]
 CPY [editor:listlabel,h5plib_v124],[editor:listlabel,h5plib_v126]
 CPY [editor:loading,h5plib_v124],[editor:loading,h5plib_v126]
 CPY [editor:loadingimageeditor,h5plib_v124],[editor:loadingimageeditor,h5plib_v126]
 CPY [editor:logthischange,h5plib_v124],[editor:logthischange,h5plib_v126]
 CPY [editor:loggedchanges,h5plib_v124],[editor:loggedchanges,h5plib_v126]
 CPY [editor:maxscoresemanticsmissing,h5plib_v124],[editor:maxscoresemanticsmissing,h5plib_v126]
 CPY [editor:metadata,h5plib_v124],[editor:metadata,h5plib_v126]
 CPY [editor:metadatasharingandlicensinginfo,h5plib_v124],[editor:metadatasharingandlicensinginfo,h5plib_v126]
 CPY [editor:missingproperty,h5plib_v124],[editor:missingproperty,h5plib_v126]
 CPY [editor:missingtranslation,h5plib_v124],[editor:missingtranslation,h5plib_v126]
 CPY [editor:newchangehasbeenlogged,h5plib_v124],[editor:newchangehasbeenlogged,h5plib_v126]
 CPY [editor:newestfirst,h5plib_v124],[editor:newestfirst,h5plib_v126]
 CPY [editor:nextimage,h5plib_v124],[editor:nextimage,h5plib_v126]
 CPY [editor:nochangeshavebeenlogged,h5plib_v124],[editor:nochangeshavebeenlogged,h5plib_v126]
 CPY [editor:nocontenttypesavailable,h5plib_v124],[editor:nocontenttypesavailable,h5plib_v126]
 CPY [editor:nocontenttypesavailabledesc,h5plib_v124],[editor:nocontenttypesavailabledesc,h5plib_v126]
 CPY [editor:nofollow,h5plib_v124],[editor:nofollow,h5plib_v126]
 CPY [editor:notimageordimensionsfield,h5plib_v124],[editor:notimageordimensionsfield,h5plib_v126]
 CPY [editor:numresults,h5plib_v124],[editor:numresults,h5plib_v126]
 CPY [editor:numberfield,h5plib_v124],[editor:numberfield,h5plib_v126]
 CPY [editor:ok,h5plib_v124],[editor:ok,h5plib_v126]
 CPY [editor:onlynumbers,h5plib_v124],[editor:onlynumbers,h5plib_v126]
 CPY [editor:or,h5plib_v124],[editor:or,h5plib_v126]
 CPY [editor:orderitemdown,h5plib_v124],[editor:orderitemdown,h5plib_v126]
 CPY [editor:orderitemup,h5plib_v124],[editor:orderitemup,h5plib_v126]
 CPY [editor:outofstep,h5plib_v124],[editor:outofstep,h5plib_v126]
 CPY [editor:pasteandreplacebutton,h5plib_v124],[editor:pasteandreplacebutton,h5plib_v126]
 CPY [editor:pasteandreplacefromclipboard,h5plib_v124],[editor:pasteandreplacefromclipboard,h5plib_v126]
 CPY [editor:pastebutton,h5plib_v124],[editor:pastebutton,h5plib_v126]
 CPY [editor:pastecontent,h5plib_v124],[editor:pastecontent,h5plib_v126]
 CPY [editor:pastecontentnotsupported,h5plib_v124],[editor:pastecontentnotsupported,h5plib_v126]
 CPY [editor:pastecontentrestricted,h5plib_v124],[editor:pastecontentrestricted,h5plib_v126]
 CPY [editor:pasteerror,h5plib_v124],[editor:pasteerror,h5plib_v126]
 CPY [editor:pastefromclipboard,h5plib_v124],[editor:pastefromclipboard,h5plib_v126]
 CPY [editor:pastenocontent,h5plib_v124],[editor:pastenocontent,h5plib_v126]
 CPY [editor:pastetoonew,h5plib_v124],[editor:pastetoonew,h5plib_v126]
 CPY [editor:pastetooold,h5plib_v124],[editor:pastetooold,h5plib_v126]
 CPY [editor:popularfirst,h5plib_v124],[editor:popularfirst,h5plib_v126]
 CPY [editor:previousimage,h5plib_v124],[editor:previousimage,h5plib_v126]
 CPY [editor:proceedbuttonlabel,h5plib_v124],[editor:proceedbuttonlabel,h5plib_v126]
 CPY [editor:readless,h5plib_v124],[editor:readless,h5plib_v126]
 CPY [editor:readmore,h5plib_v124],[editor:readmore,h5plib_v126]
 CPY [editor:recentlyusedfirst,h5plib_v124],[editor:recentlyusedfirst,h5plib_v126]
 CPY [editor:reloadbuttonlabel,h5plib_v124],[editor:reloadbuttonlabel,h5plib_v126]
 CPY [editor:removefile,h5plib_v124],[editor:removefile,h5plib_v126]
 CPY [editor:removeimage,h5plib_v124],[editor:removeimage,h5plib_v126]
 CPY [editor:removeitem,h5plib_v124],[editor:removeitem,h5plib_v126]
 CPY [editor:requiredproperty,h5plib_v124],[editor:requiredproperty,h5plib_v126]
 CPY [editor:resettooriginallabel,h5plib_v124],[editor:resettooriginallabel,h5plib_v126]
 CPY [editor:savelabel,h5plib_v124],[editor:savelabel,h5plib_v126]
 CPY [editor:savemetadata,h5plib_v124],[editor:savemetadata,h5plib_v126]
 CPY [editor:screenshots,h5plib_v124],[editor:screenshots,h5plib_v126]
 CPY [editor:scriptmissing,h5plib_v124],[editor:scriptmissing,h5plib_v126]
 CPY [editor:searchresults,h5plib_v124],[editor:searchresults,h5plib_v126]
 CPY [editor:selectfiletoupload,h5plib_v124],[editor:selectfiletoupload,h5plib_v126]
 CPY [editor:selectlibrary,h5plib_v124],[editor:selectlibrary,h5plib_v126]
 CPY [editor:semanticserror,h5plib_v124],[editor:semanticserror,h5plib_v126]
 CPY [editor:show,h5plib_v124],[editor:show,h5plib_v126]
 CPY [editor:showimportantinstructions,h5plib_v124],[editor:showimportantinstructions,h5plib_v126]
 CPY [editor:tabtitlebasicfileupload,h5plib_v124],[editor:tabtitlebasicfileupload,h5plib_v126]
 CPY [editor:tabtitleinputlinkurl,h5plib_v124],[editor:tabtitleinputlinkurl,h5plib_v126]
 CPY [editor:textfield,h5plib_v124],[editor:textfield,h5plib_v126]
 CPY [editor:thecontenttype,h5plib_v124],[editor:thecontenttype,h5plib_v126]
 CPY [editor:thiswillpotentially,h5plib_v124],[editor:thiswillpotentially,h5plib_v126]
 CPY [editor:title,h5plib_v124],[editor:title,h5plib_v126]
 CPY [editor:toolong,h5plib_v124],[editor:toolong,h5plib_v126]
 CPY [editor:tryagain,h5plib_v124],[editor:tryagain,h5plib_v126]
 CPY [editor:tutorial,h5plib_v124],[editor:tutorial,h5plib_v126]
 CPY [editor:unabletointerpreterror,h5plib_v124],[editor:unabletointerpreterror,h5plib_v126]
 CPY [editor:unabletointerpretsolution,h5plib_v124],[editor:unabletointerpretsolution,h5plib_v126]
 CPY [editor:unknownfieldpath,h5plib_v124],[editor:unknownfieldpath,h5plib_v126]
 CPY [editor:uploadinstructionstitle,h5plib_v124],[editor:uploadinstructionstitle,h5plib_v126]
 CPY [editor:uploadplaceholder,h5plib_v124],[editor:uploadplaceholder,h5plib_v126]
 CPY [editor:uploadsuccess,h5plib_v124],[editor:uploadsuccess,h5plib_v126]
 CPY [editor:uploadtablabel,h5plib_v124],[editor:uploadtablabel,h5plib_v126]
 CPY [editor:uploadvideotitle,h5plib_v124],[editor:uploadvideotitle,h5plib_v126]
 CPY [editor:uploading,h5plib_v124],[editor:uploading,h5plib_v126]
 CPY [editor:uploadingthrobber,h5plib_v124],[editor:uploadingthrobber,h5plib_v126]
 CPY [editor:usedforsearchingreportsandcopyrightinformation,h5plib_v124],[editor:usedforsearchingreportsandcopyrightinformation,h5plib_v126]
 CPY [editor:videoquality,h5plib_v124],[editor:videoquality,h5plib_v126]
 CPY [editor:videoqualitydefaultlabel,h5plib_v124],[editor:videoqualitydefaultlabel,h5plib_v126]
 CPY [editor:videoqualitydescription,h5plib_v124],[editor:videoqualitydescription,h5plib_v126]
 CPY [editor:warningchangebrowsingtoseeresults,h5plib_v124],[editor:warningchangebrowsingtoseeresults,h5plib_v126]
 CPY [editor:warningnocontenttypesinstalled,h5plib_v124],[editor:warningnocontenttypesinstalled,h5plib_v126]
 CPY [editor:warningupdateavailablebody,h5plib_v124],[editor:warningupdateavailablebody,h5plib_v126]
 CPY [editor:warningupdateavailabletitle,h5plib_v124],[editor:warningupdateavailabletitle,h5plib_v126]
 CPY [editor:width,h5plib_v124],[editor:width,h5plib_v126]
AMOS END
2024-02-06 08:08:31 +01:00
Ilya Tregubov fa91b1e12a Merge branch 'MDL-73703-master' of https://github.com/davewoloszyn/moodle 2024-02-06 12:37:51 +08:00
Jun Pataleta 381b8123be Merge branch 'MDL-72703' of https://github.com/paulholden/moodle 2024-02-06 12:27:18 +08:00
Ilya Tregubov f5f8f8ad0f Merge branch 'MDL-80713-main' of https://github.com/HuongNV13/moodle 2024-02-06 11:19:21 +08:00
Ilya Tregubov b87c53b2bb Merge branch 'MDL-79295-master' of https://github.com/jleyva/moodle 2024-02-06 11:15:48 +08:00
Amaia Anabitarte 3e2da7f6f7 MDL-80541 core_course: Improving section form title 2024-02-05 10:25:52 +01:00
Jun Pataleta 326c5ab3b1 Merge branch 'MDL-80060' of https://github.com/paulholden/moodle 2024-02-05 16:07:03 +08:00
Huong Nguyen 54217383c3 Merge branch 'MDL-80811' of https://github.com/paulholden/moodle 2024-02-05 13:41:56 +07:00
Huong Nguyen 7f7280f5d7 Merge branch 'MDL-80718-master' of https://github.com/dpalou/moodle 2024-02-05 13:36:54 +07:00
Huong Nguyen d884fbe2b1 Merge branch 'MDL-67772-email-thread-headers' of https://github.com/brendanheywood/moodle 2024-02-05 13:33:06 +07:00
Jun Pataleta 21458dc8a4 Merge branch 'MDL-80694' of https://github.com/marinaglancy/moodle 2024-02-05 14:27:05 +08:00
Jun Pataleta da266d1c0e MDL-78427 user: Revert accidental addition of deleted line
In MDL-80271, the line `$user->timemodified = time();` was removed to
make sure that `user_update_user()` does not unnecessarily writes to
the database. This seems to have been accidentally put back during
conflict resolution while rebasing the patch for MDL-78427.
2024-02-05 13:50:50 +08:00
Jun Pataleta 3c196b3039 Merge branch 'MDL-78427-master' of https://github.com/davewoloszyn/moodle 2024-02-05 13:42:17 +08:00
Brendan Heywood ccac5c1a20 MDL-80823 core: Redirect to wwwroot with full path 2024-02-05 16:07:36 +11:00
Huong Nguyen 052c313747 Merge branch 'MDL-80537' of https://github.com/timhunt/moodle 2024-02-05 11:14:52 +07:00
Huong Nguyen 149dd7bfa9 MDL-80713 Unit Tests: Message sink improvement
- Added a new method called get_messages_by_component()
  This method will help to retreive the redirected messages
  of specific component only
- Added a new method called get_messages_by_component_and_type()
  This method will help to retreive the redirected messages
  of specific component and type only
2024-02-05 09:23:41 +07:00
Mihail Geshoski 2d3664dc40 MDL-80742 mod_assign: Remove the 'back' button on the submissions page 2024-02-04 22:13:12 +08:00
Brendan Heywood 2af212d234 MDL-78447 tool_generator: Improve progress bars 2024-02-03 16:59:43 +11:00
Tim Hunt 435ee33af1 MDL-80808 quiz: improve message when the student can't review 2024-02-02 17:30:47 +00:00
Marina Glancy 80ab39edcc MDL-80735 reportbuilder: do not render filters form during download
this removes unnecessary calculations and also prevents the session mutation
2024-02-02 16:21:15 +00:00
Eloy Lafuente (stronk7) 0d499ce11d MDL-80816 core: Bump actions to newer versions
All the new ones are Nodejs 20 based, because
Nodejs 16 is being deprecated @ GH environments.

https://github.blog/changelog/2023-09-22-github-actions-transitioning-from-node-16-to-node-20

Also, bump PHP version from 8.0 to 8.1, because it's a new
requirement for Moodle 4.4, and it was not modified originally.
2024-02-02 17:07:35 +01:00
Amaia Anabitarte 694013dcaa MDL-80814 core_course: Fix updating activity titles 2024-02-02 14:20:07 +01:00
Tim Hunt 049bff63bc MDL-79527 questions: category tree loading handling bad data
It should always be the case that a question category and its parent
category belong to the same context. However, over the years, we have
observed that this becomes violated by some data in some Moodle sites.
(The suspicion is that this is a backup/restor bug of some sort which
has never been tracked down.)

Since this happens, we should make the code robust to it, which is what
this change does. It ensure that when loading child categories, we only
consider ones in the same context.
2024-02-02 11:26:57 +00:00
Ilya Tregubov 3fc907e3d8 weekly release 4.4dev 2024-02-02 08:56:16 +08:00
Ilya Tregubov 29fc88390a Merge branch 'install_master' of https://git.in.moodle.com/amosbot/moodle-install 2024-02-02 08:56:12 +08:00
David Woloszyn 40d397ab5f MDL-78427 core_theme: Add theme usage report and icon
In addition to adding in theme usage reports, there is also the
addition of an icon on the theme cards which takes you to the report.
This icon only appears for that theme if it has been used in any
overriding context.
2024-02-02 11:16:46 +11:00
james-cnz 02037c5f2c MDL-78095 course: Respect is_bulk_editable() 2024-02-02 10:49:07 +13:00
Paul Holden fb7838586e MDL-80811 mod_quiz: fix question preview popup event handling.
* Fix the selector used to identify the preview icon element;
* Remove redundant code for handling it's click event, because it
  already registers itself with a popup action which handles that.
2024-02-01 20:29:00 +00:00
David Mudrák e32bd37113 MDL-80725 lang: Fix Behat regressions related to the question rename 2024-02-01 20:02:22 +01:00
David Mudrák dfc47df6e8 MDL-80725 lang: Fix Help and documentation regressions 2024-02-01 19:30:58 +01:00
Paul Holden f32c74e654 MDL-80809 course: correct context arguments when formatting strings. 2024-02-01 17:36:57 +00:00
Paul Holden 3c83f2b85f MDL-80722 reportbuilder: add time created/modified to course entity.
Tidy up unit tests for course report, removing some redundancy and
duplication.
2024-02-01 17:13:11 +00:00
Tim Hunt cefcedebcb MDL-80537 question bank: escape plain text display of question text 2024-02-01 16:15:04 +00:00
Paul Holden 222af1c976 MDL-80803 course: observe mod availability before update notification. 2024-02-01 14:49:58 +00:00
Brendan Heywood cc0d2d4630 MDL-67772 mod_forum: Fix email threading for first message 2024-02-01 16:11:44 +11:00
Huong Nguyen 096a759b67 Merge branch 'MDL-80485' of https://github.com/paulholden/moodle 2024-02-01 11:30:44 +07:00
Huong Nguyen c9c441b1a1 Merge branch 'MDL-80660' of https://github.com/paulholden/moodle 2024-02-01 11:23:23 +07:00
Huong Nguyen f51f0cc09c Merge branch 'MDL-80538-main' of https://github.com/lameze/moodle 2024-02-01 11:17:36 +07:00
Simey Lameze 6af7654d8d MDL-80538 phpdoc: add missing null parameter type to phpdoc 2024-02-01 12:06:43 +08:00
Huong Nguyen 490ca57d1c Merge branch 'MDL-71665-main' of https://github.com/laurentdavid/moodle 2024-02-01 11:06:35 +07:00
Jun Pataleta 13c8b7e4fe Merge branch 'MDL-70483-main' of https://github.com/kevpercy/moodle 2024-02-01 12:04:49 +08:00
Huong Nguyen 08a4c5f9ea Merge branch 'MDL-80450' of https://github.com/paulholden/moodle 2024-02-01 11:00:46 +07:00
Huong Nguyen f271f9b06c Merge branch 'MDL-80692' of https://github.com/paulholden/moodle 2024-02-01 10:57:11 +07:00
Ilya Tregubov 67a94c49c4 Merge branch 'MDL-80267-main' of https://github.com/HuongNV13/moodle 2024-02-01 11:52:36 +08:00
Huong Nguyen cc02940ddb Merge branch 'MDL-73010' of https://github.com/paulholden/moodle 2024-02-01 10:49:28 +07:00
Jun Pataleta b979257e88 Merge branch 'MDL-74775-main' of https://github.com/HuongNV13/moodle 2024-02-01 11:47:16 +08:00
Huong Nguyen 5f78501071 Merge branch 'MDL-29261' of https://github.com/paulholden/moodle 2024-02-01 10:45:11 +07:00
Huong Nguyen c35f04c255 Merge branch 'MDL-80706' of https://github.com/marinaglancy/moodle 2024-02-01 10:43:37 +07:00
Jun Pataleta 3606ebad4a Merge branch 'MDL-80247' of https://github.com/paulholden/moodle 2024-02-01 11:39:06 +08:00
Ilya Tregubov fdf5f5bc0a Merge branch 'MDL-80202' of https://github.com/paulholden/moodle 2024-02-01 10:38:47 +08:00
Huong Nguyen 24fde0ce87 MDL-80267 Backup: Make sure to mark the task as failed in such cases
Adding a try-catch around the restore process to make sure that
the task will be marked as failed state if the process throws any
exceptions
2024-02-01 09:37:14 +07:00
Stevani Andolo 42d76fd293 MDL-80267 task_course_restore: Prevent failed course restore 2024-02-01 09:31:08 +07:00
Ilya Tregubov a2e121b41f Merge branch 'MDL-80199' of https://github.com/paulholden/moodle 2024-02-01 10:31:02 +08:00
Ilya Tregubov 29e492c22e Merge branch 'MDL-80727' of https://github.com/paulholden/moodle 2024-02-01 10:26:14 +08:00
Huong Nguyen aecf9dca1b Merge branch 'MDL-80250-main' of https://github.com/aanabit/moodle 2024-02-01 09:20:57 +07:00
Huong Nguyen 6139347d33 Merge branch 'MDL-80554-cron-debugdisplay' of https://github.com/brendanheywood/moodle 2024-02-01 09:10:06 +07:00
Huong Nguyen a9e293cac9 Merge branch 'MDL-80289-main' of https://github.com/call-learning/moodle 2024-02-01 08:55:09 +07:00
David Mudrák d8ca8be28c MDL-80725 lang: Use the fixed strings in tests, too 2024-01-31 20:06:06 +01:00
Paul Holden 717a616030 MDL-80766 gradereport_grader: omit max constraint for unlimited grades. 2024-01-31 18:26:38 +00:00
Helen Foster ddbfeecb83 MDL-80725 lang: Import fixed English strings (en_fix) 2024-01-31 18:45:03 +01:00
Noel De Martin a916c21c0c MDL-80784 behat: Disable SSL checks for app initialization 2024-01-31 14:05:20 +01:00
Amaia Anabitarte 522a7ec010 MDL-80250 course_format: Create new section_viewed event 2024-01-31 12:54:06 +01:00
Ilya Tregubov 43f5bc3775 Merge branch 'MDL-43056-main' of https://github.com/davewoloszyn/moodle 2024-01-31 09:37:37 +08:00
Ilya Tregubov d93271063a Merge branch 'MDL-80575' of https://github.com/paulholden/moodle 2024-01-31 09:24:03 +08:00
David Woloszyn 4807a4dd5f MDL-43056 tool_uploadcourse: Add capability to upload courses from file
An entrypoint capability has been added that allows accessing the
upload tool. Further relevant capability checks are then performed
depending on the action being taken during the upload process.

Co-authored-by: Marina Glancy <marina@moodle.com>
2024-01-31 11:29:33 +11:00
Paul Holden 2acfe3c093 MDL-80767 theme_boost: right align process monitor to block drawer. 2024-01-31 00:01:33 +00:00
Paul Holden 87f865ea24 MDL-80768 output: stricter progress bar component percentage type.
Avoid mixing float/string types, where the decimal separator could
vary according to current locale.
2024-01-30 23:11:13 +00:00
Paul Holden 7db305c8f4 MDL-80738 quiz_statistics: ensure tests uses a DB-backed lock class.
Fix the test file/class name too.

Co-authored-by: Andrew Nicols <andrew@nicols.co.uk>
2024-01-30 15:38:35 +00:00
Ferran Recio 15eda1d56a MDL-80553 backup: fix section backup step phpunit 2024-01-30 16:30:03 +01:00
Paul Holden 24b5e80365 MDL-80692 calendar: calculate today relative to users own timezone.
Co-authored-by: Archil Abuladze <armiworker@gmail.com>
2024-01-30 14:37:43 +00:00
info@eWallah.net 8e62bcd9aa MDL-80538 phpdoc: Incorrect dataformat type documentation in table lib 2024-01-30 15:22:53 +01:00
Paul Holden 0ac237d542 MDL-74500 user: method to determine whether to show profile fields.
The new API replaces identical behaviour in existing calling code, but
allows for profile field types to override/separate the logic used to
show the field and determine whether it's empty
2024-01-30 11:33:52 +00:00
Paul Holden 066cfa41a6 MDL-80485 tool_lp: consistent activity icon element styling. 2024-01-30 11:27:22 +00:00
Andrew Nicols 484da7c0e8 MDL-79003 js: Bump stylelint and components
Stylelint 15 deprecates a heap of rules which will be removed in 16.

We can't use 16 because it's ESM and requires a big restructure of our
build process.

We can temporarily silence the deprecations and then when we update our
build tooling we can make use of @stylistic/stylelint-plugin to add the
rules back.

This commit:
- bumps stylelint and related dependencies accordingly
- fixes issues identified with newer sniffs
- temporarily silences deprecation warnings
2024-01-30 12:19:53 +08:00
Andrew Nicols d851f109ef MDL-79003 js: Move rollup ratelimit to generateBundle
There are two phases of a build: Building, and then Outputting.

We were previously listening on the final event for the build phase, but
we should be listening to the final event of the output phase.
2024-01-30 12:19:53 +08:00
Andrew Nicols 516fb90a1f MDL-79003 js: Move browserlist config to package.json 2024-01-30 12:19:52 +08:00
Andrew Nicols 32a39926a9 MDL-79003 js: Standard package bump - glob 2024-01-30 12:19:52 +08:00
Andrew Nicols 5094828180 MDL-79003 js: Standard package bump - async 2024-01-30 12:19:52 +08:00
Andrew Nicols 62242b66c7 MDL-79003 js: Remove grunt-contrib-uglify
We stopped using this when we updated our processes to support ESMs in
MDL-62497. Removal of the dependency was missed at the time.
2024-01-30 12:19:52 +08:00
Andrew Nicols d7c7e8afaf MDL-79003 js: Standard package bump - grunt 2024-01-30 12:19:52 +08:00
Andrew Nicols 00ffcd3a5b MDL-79003 js: Standard package bump - watchman 2024-01-30 12:19:51 +08:00
Andrew Nicols ea380da041 MDL-79003 js: Standard package bump - ajv 2024-01-30 12:19:51 +08:00
Andrew Nicols f457725b3a MDL-79003 js: Use our own jsdoc wrapper
grunt-jsdoc is abandoned and only works with an older version of jsdoc.

This is a very simple wrapper around jsdoc itself.

This commit also includes a fix for broken docs.
2024-01-30 12:19:51 +08:00
Andrew Nicols f9bd195365 MDL-79003 core: Bump eslint 2024-01-30 12:19:51 +08:00
Andrew Nicols 075b0ebd4e MDL-79003 core: Bump NodeJS to lts/iron (NodeJS 20) 2024-01-30 12:19:39 +08:00
Huong Nguyen 980040748c Merge branch 'MDL-80523' of https://github.com/paulholden/moodle 2024-01-30 09:41:35 +07:00
Huong Nguyen 917aba079b Merge branch 'MDL-73545' of https://github.com/paulholden/moodle 2024-01-30 09:38:38 +07:00
Mark Johnson 2f351c5a8e MDL-80736 libraries: Move AWS helper code from factor_sms to core\aws 2024-01-29 09:15:19 +00:00
Laurent David 8ee075d871 MDL-71665 core_courseformat: Sync activity name in the page
* Changing the name of an activity should change the access restriction messages.
* Introduction of a marker as data-cm-name-for to be able to change any
occurence of a course module name in the page when this one changes.
2024-01-29 09:00:30 +01:00
Andrew Nicols 05964ef989 MDL-80753 tiny_premium: Load TinyMCE Premium for the current editor ver 2024-01-29 15:06:03 +08:00
Jun Pataleta 245edd9a11 Merge branch 'MDL-73008-master' of https://github.com/jleyva/moodle 2024-01-29 14:42:08 +08:00
Stefan Hanauska 1a744ccdfa MDL-80716 course: Fix group button position 2024-01-29 06:34:18 +01:00
Huong Nguyen 379e48c1fd MDL-74775 adhoc_task: Do not clear the timecreated of failed tasks 2024-01-29 09:57:33 +07:00
Jun Pataleta 659b219869 Merge branch 'MDL-69225-main' of https://github.com/sarjona/moodle 2024-01-29 10:20:22 +08:00
Jun Pataleta 5bbcc38502 Merge branch 'MDL-78311' of https://github.com/paulholden/moodle 2024-01-29 10:08:37 +08:00
Jun Pataleta 82e73cb8a6 Merge branch 'MDL-79930' of https://github.com/marcusboon/moodle 2024-01-29 10:04:43 +08:00
Marcus Boon 5b6ca13bd7 MDL-79930 mod_forum: Use MUC for forum count discussions 2024-01-29 08:33:18 +10:00
AMOS bot 09bdeabb58 Automatically generated installer lang files 2024-01-27 00:11:34 +00:00
Juan Leyva 94bc97a8b2 MDL-80724 webservice: Return whether competencies are enabled 2024-01-26 13:56:23 +01:00
Sara Arjona 9b83de8185 Merge branch 'MDL-80471-main' of https://github.com/roland04/moodle 2024-01-26 12:41:40 +01:00
Juan Leyva 9c38e28826 MDL-79295 quiz: Return total unasnwered questions via summary WS 2024-01-26 10:31:07 +01:00
Juan Leyva d54086f838 MDL-79295 quiz: Return state class for questions via WS 2024-01-26 10:31:07 +01:00
Juan Leyva 30598cf2a0 MDL-79295 quiz: Add proper WS support for sequential nav. 2024-01-26 10:24:16 +01:00
Mikel Martín bcc95cde2a MDL-80471 theme: Refactor Tags SCSS code 2024-01-26 07:52:43 +01:00
Paul Holden a767e0a78c MDL-78311 core: fix host parameter type cleaning by IPv4 address. 2024-01-25 23:36:06 +00:00
Paul Holden 4efe3927d8 MDL-80727 tool_task: replace hard-coded adhoc task runner strings. 2024-01-25 22:42:25 +00:00
Paul Holden 87091e7b7c MDL-80124 admin: prevent deletion of pre-installed preset definitions. 2024-01-25 21:51:41 +00:00
Sara Arjona 6fb09beb86 MDL-69225 h5pactivity: Review when and which banners display
The UX team proposal is to display two different notifications, to avoid confusion:

1. When the user is in preview mode:
Message: 'You are in preview mode.'
Notification Type: Information (blue), with the information permanently visible and not dismissible,
ensuring continuous awareness.

2. When activity tracking is disabled:
Message: 'Attempt tracking is not enabled for this activity. You can enable it in Settings.'
Notification Type: Warning (yellow) with a close icon for dismissal if tracking is intentionally disabled.

These notifications should only be visible to teachers and content creators, not students.
If a teacher also has a student role, this information should not appear when logged in as a student.

That's why the pre-existing is_tracking_enabled() function has been updated to only check if tracking
is on for an activity, without considering user capabilities (that's why the $user parameter has been
removed from this function too). Besides, a new function called can_submit() has been created to find
out if users are allowed to submit an activity.
2024-01-25 17:46:36 +01:00
Sara Arjona f30110b5eb weekly release 4.4dev 2024-01-25 16:48:23 +01:00
Paul Holden 6f00e3a460 MDL-80660 user: preserve return URL upon role switch from frontpage. 2024-01-25 15:40:52 +00:00
Dani Palou d638bb10cb MDL-80718 quiz: Apply overrides in mod_quiz_get_combined_review_options 2024-01-25 10:03:45 +01:00
Jun Pataleta 8795b5745b Merge branch 'MDL-80656-main' of https://github.com/lameze/moodle 2024-01-25 12:14:05 +08:00
Jun Pataleta 22cccb52d6 Merge branch 'MDL-80673-main' of https://github.com/snake/moodle 2024-01-25 12:06:14 +08:00
Jake Dallimore 9921d5f5ef MDL-80673 mod_forum: fix modal creation when viewing student grades
Fixes a regression caused by MDL-78324.
2024-01-25 12:01:22 +08:00
Huong Nguyen ff96c6f05c Merge branch 'MDL-80224' of https://github.com/paulholden/moodle 2024-01-25 11:01:09 +07:00
Huong Nguyen d6254da301 Merge branch 'MDL-80516' of https://github.com/paulholden/moodle 2024-01-25 10:44:47 +07:00
Huong Nguyen ccc9bf6b60 Merge branch 'MDL-76671-master' of https://github.com/jleyva/moodle 2024-01-25 10:23:56 +07:00
Huong Nguyen aa545904da Merge branch 'MDL-80650' of https://github.com/timhunt/moodle 2024-01-25 09:23:27 +07:00
Ilya Tregubov 32fe5a74ed Merge branch 'MDL-80098' of https://github.com/paulholden/moodle 2024-01-25 10:20:05 +08:00
Huong Nguyen 854ba5dc20 Merge branch 'MDL-80676-main' of https://github.com/junpataleta/moodle 2024-01-25 09:07:25 +07:00
Ilya Tregubov 59cac76dc1 Merge branch 'MDL-79927' of https://github.com/paulholden/moodle 2024-01-25 09:53:21 +08:00
Huong Nguyen 5d9cd397f9 Merge branch 'MDL-76716-master' of https://github.com/stefangub/moodle 2024-01-25 08:50:47 +07:00
Ilya Tregubov 6de142b0a2 Merge branch 'MDL-80409' of https://github.com/paulholden/moodle 2024-01-25 09:49:59 +08:00
Ilya Tregubov 404b7078c0 Merge branch 'MDL-79159-master' of https://github.com/andelacruz/moodle 2024-01-25 09:35:28 +08:00
Ilya Tregubov 62f8ccecdd Merge branch 'MDL-80653' of https://github.com/paulholden/moodle 2024-01-25 09:25:20 +08:00
Sara Arjona 53ad9cdfae Merge branch 'MDL-80429' of https://github.com/paulholden/moodle 2024-01-24 17:18:12 +01:00
Sara Arjona a31646d2d8 Merge branch 'MDL-80458-main' of https://github.com/mickhawkins/moodle 2024-01-24 17:14:53 +01:00
Sara Arjona 5585ccf048 Merge branch 'MDL-71950' of https://github.com/paulholden/moodle 2024-01-24 17:08:59 +01:00
Sara Arjona 6cea979891 Merge branch 'MDL-79681' of https://github.com/paulholden/moodle 2024-01-24 17:02:17 +01:00
Sara Arjona d262a1c49b Merge branch 'MDL-79665' of https://github.com/paulholden/moodle 2024-01-24 16:46:24 +01:00
Sara Arjona e36bc606de Merge branch 'MDL-79666' of https://github.com/paulholden/moodle 2024-01-24 16:35:24 +01:00
Sara Arjona f8dddad89a Merge branch 'MDL-79663' of https://github.com/paulholden/moodle 2024-01-24 16:29:04 +01:00
Paul Holden b037cd5d15 MDL-79666 libraries: upgrade to version 1.12.1 of ScssPhp. 2024-01-24 15:23:07 +00:00
Sara Arjona ce9dc3ff91 Merge branch 'MDL-79662' of https://github.com/paulholden/moodle 2024-01-24 16:06:07 +01:00
Sara Arjona 84c5a2c7ea Merge branch 'MDL-79152-main' of https://github.com/andrewnicols/moodle 2024-01-24 16:02:23 +01:00
Paul Holden 7fa904c9fe MDL-78173 user: correct return URL upon login as from frontpage. 2024-01-24 14:46:19 +00:00
Sara Arjona 38bb991912 Merge branch 'MDL-80668' of https://github.com/pedrojordao/moodle 2024-01-24 15:16:10 +01:00
Sara Arjona 176736c6f9 Merge branch 'MDL-78888' of https://github.com/paulholden/moodle 2024-01-24 13:25:48 +01:00
Sara Arjona 634e3594fe Merge branch 'MDL-76723-main' of https://github.com/junpataleta/moodle 2024-01-24 13:12:15 +01:00
Sara Arjona eb03b6622d Merge branch 'MDL-80396-main' of https://github.com/roland04/moodle 2024-01-24 12:29:50 +01:00
Sara Arjona 31d701b436 Merge branch 'MDL-79940-master' of https://github.com/andelacruz/moodle 2024-01-24 09:22:31 +01:00
Sara Arjona 8b36abdb9d Merge branch 'MDL-80259-main' of https://github.com/roland04/moodle 2024-01-24 09:16:12 +01:00
Angelia Dela Cruz ae3436f905 MDL-79159 mod_lesson: Behat coverage for lesson question max attempts 2024-01-24 16:13:50 +08:00
Ilya Tregubov 9bdc0a2669 Merge branch 'MDL-80270-main' of https://github.com/mihailges/moodle 2024-01-24 13:44:02 +08:00
Michael Hawkins d1d85aa711 MDL-80458 core: Hide MoodleNet share bulk option if feature disabled 2024-01-24 11:52:28 +08:00
Simey Lameze 7e24913339 MDL-80656 behat: remove unnecessary activity duplication steps 2024-01-24 11:07:34 +08:00
Ilya Tregubov ba86cb79aa Merge branch 'MDL-79256' of https://github.com/paulholden/moodle 2024-01-24 09:45:39 +08:00
Srdjan 3079896480 MDL-73703 auth_ldap: Break apart sync_task
Extracted code from sync_users() into separate functions
in order to enable ad-hoc sheduling, and chunking.

Co-authored-by: David Woloszyn <david.woloszyn@moodle.com>
2024-01-24 12:17:53 +11:00
Ilya Tregubov 14b809a017 Merge branch 'MDL-80320-main' of https://github.com/laurentdavid/moodle 2024-01-24 08:56:07 +08:00
Marina Glancy 610f4a55b9 MDL-80706 customfield: php8.1 warning about passing null to strlen 2024-01-23 14:45:59 +00:00
Marina Glancy 87470d1d40 MDL-80694 external: fix return param in inplace_editable WS 2024-01-23 14:15:42 +00:00
Daniel Ziegenberg eec7c87f9b MDL-80648 files: extend xsendfilealiases
Add missing entry for custom $CFG->localrequestdir locations in the
preconfigured array for $CFG->xsendfilealiases in config-dist.php.

Signed-off-by: Daniel Ziegenberg <daniel@ziegenberg.at>
2024-01-23 11:50:56 +01:00
Laurent David 31d4af83c6 MDL-80320 core_courseformat: Disable group selection
* When forced groupmode is enabled for the course:
  - the group selection in the activity card be disabled
  - the activity action menu groupmode will not be visible.
  - only the icon will be visible
* Add new test to check for visibility
2024-01-23 11:31:22 +01:00
Stefan Van der Vyver 719e5dedac MDL-76716 grades: handle open delegated transaction on grade delete 2024-01-23 10:12:24 +00:00
James C 66789055b6 MDL-80576 course: Fix section_info::getIterator()
- section_info::getIterator() failed to fetch course format custom options
  as the section number provided was not recognized
2024-01-23 23:01:48 +13:00
Paul Holden c009abd938 MDL-80512 tool_task: absolute path to required library file. 2024-01-23 09:14:27 +00:00
Huong Nguyen 06946991d2 Merge branch 'MDL-67053-main' of https://github.com/davewoloszyn/moodle 2024-01-23 16:14:27 +07:00
Angelia Dela Cruz bacba4d8f2 MDL-79940 mod_workshop: Behat to confirm review button for reviewers 2024-01-23 16:56:57 +08:00
Paul Holden 010e94f0e0 MDL-80429 task: remove obsolete search form template.
Unused since report conversion in 53ed7abf, let's right that
wrong now!
2024-01-23 08:33:37 +00:00
Jun Pataleta 58036bdb8e Merge branch 'MDL-80271-main' of https://github.com/PhMemmel/moodle 2024-01-23 16:33:04 +08:00
Paul Holden 9cb5d55513 MDL-80324 webservice: correct current page URL for user settings. 2024-01-23 08:22:42 +00:00
Paul Holden e23fbd1cc1 MDL-79256 customfield_textarea: don't autoclean content when editing. 2024-01-23 08:18:58 +00:00
Paul Holden d0cab9a4a0 MDL-79256 customfield: add new valuetrust to data table schema. 2024-01-23 08:18:58 +00:00
Mikel Martín a198884333 MDL-80259 theme_boost: Refactor badge helper classes for Bootstrap 5 2024-01-23 08:27:23 +01:00
Sara Arjona a515bdaef8 Merge branch 'MDL-80339-main' of https://github.com/andelacruz/moodle 2024-01-23 07:48:20 +01:00
Jun Pataleta 154774c061 MDL-80119 webservice: Fix typo for generated webservices_* classes 2024-01-23 14:17:22 +08:00
Jun Pataleta 5cf7f99638 Merge branch 'MDL-80119-master' of https://github.com/andrewnicols/moodle 2024-01-23 14:16:43 +08:00
Jun Pataleta 8811491238 Merge branch 'MDL-78219-main' of https://github.com/snake/moodle 2024-01-23 11:59:36 +08:00
Kevin Percy a0890debe7 MDL-70483 forum: Final deprecation of get_forum_discussions_paginated 2024-01-23 10:20:25 +08:00
Angelia Dela Cruz 963723bc4d MDL-80339 mod_lesson: Behat to confirm grade visibility in lesson 2024-01-23 10:10:44 +08:00
Jun Pataleta 10744550e6 Merge branch 'MDL-79029-main' of https://github.com/ferranrecio/moodle 2024-01-23 09:26:30 +08:00
Sara Arjona 2893dc713c Merge branch 'MDL-80328' of https://github.com/paulholden/moodle 2024-01-22 17:22:50 +01:00
Sara Arjona 9e4366a51d Merge branch 'MDL-80619' of https://github.com/paulholden/moodle 2024-01-22 16:25:40 +01:00
Sara Arjona 0d8535f1cf Merge branch 'MDL-80559' of https://github.com/paulholden/moodle 2024-01-22 16:23:22 +01:00
Sara Arjona 1643b2110e Merge branch 'MDL-80418-main' of https://github.com/aanabit/moodle 2024-01-22 16:13:46 +01:00
sam marshall 975daef935 MDL-80693 core_user: search() fails if no standard identify fields 2024-01-22 11:38:01 +00:00
Paul Holden cfd51dd63c MDL-80202 repository_local: null check when recursing child nodes. 2024-01-22 10:19:39 +00:00
Ferran Recio f4adbc8a11 MDL-79029 behat: replace deprecated behat steps 2024-01-22 11:12:28 +01:00
Ferran Recio a15f0a857b MDL-79029 behat: new add activity steps 2024-01-22 11:12:28 +01:00
Paul Holden 0045a58326 MDL-80653 h5p: handle content type creation errors in test.
See also same in c7d08f85.
2024-01-22 09:46:04 +00:00
Huong Nguyen f888a1200f Merge branch 'MDL-80532' of https://github.com/paulholden/moodle 2024-01-22 15:38:51 +07:00
Huong Nguyen c8d21e63a4 Merge branch 'MDL-80499' of https://github.com/paulholden/moodle 2024-01-22 15:35:52 +07:00
Jun Pataleta f526671228 Merge branch 'MDL-80377-main' of https://github.com/andelacruz/moodle 2024-01-22 16:32:51 +08:00
Jun Pataleta 613d638125 Merge branch 'MDL-80374' of https://github.com/paulholden/moodle 2024-01-22 16:29:32 +08:00
Jun Pataleta 6239519eb8 Merge branch 'MDL-80323' of https://github.com/paulholden/moodle 2024-01-22 16:26:14 +08:00
Jun Pataleta 412db652c7 Merge branch 'MDL-80461-main' of https://github.com/sarjona/moodle 2024-01-22 16:17:21 +08:00
Jun Pataleta e7a947846d Merge branch 'MDL-80248-main' of https://github.com/sarjona/moodle 2024-01-22 15:24:12 +08:00
Jun Pataleta 41e3797c66 Merge branch 'MDL-80232' of https://github.com/paulholden/moodle 2024-01-22 15:04:50 +08:00
Jun Pataleta 21b39e2f53 Merge branch 'MDL-74238' of https://github.com/paulholden/moodle 2024-01-22 15:03:28 +08:00
Paul Holden 27cb7506db MDL-80619 reportbuilder: add capability to allow viewing all reports. 2024-01-19 13:30:23 +00:00
Pedro Jordao 4ad6ca04ef MDL-80668 modal: Change aria roles on modal to improve accessibility.
The roles we were using were no longer the most recommended for modals.
2024-01-19 08:05:43 -03:00
Sara Arjona 9e25f21164 MDL-80248 course: Deprecate get/set_section_number()
The methods core_courseformat\base::set_section_number() and
core_courseformat\base:: get_section_number() have been deprecated
and replaced by core_courseformat\base::set_sectionnum() and
core_courseformat\base::get_sectionnum().
The new methods use the null value when all the sections must be
displayed (instead of 0). That way, section 0, can be displayed on
a single page too.
2024-01-19 12:03:37 +01:00
Sara Arjona 800ddf513d MDL-80248 behat: Fix behat tests 2024-01-19 12:03:36 +01:00
Sara Arjona e6f75b59a3 MDL-80248 course: Display only content for the General section 2024-01-19 12:03:36 +01:00
Paul Holden 2702ab078b MDL-79577 user: better parsing of user menu lang string identifiers. 2024-01-19 09:49:13 +00:00
Matthias Opitz 76f5232c94 MDL-79988 course: checking for cached empty modnames
Check if empty modnames have been cached and if so retrieve them again.
2024-01-19 09:38:47 +00:00
Mikel Martín d98c7eda66 MDL-80396 theme: Refactor media helper class dropped in BS5 2024-01-19 10:38:38 +01:00
Sara Arjona 2a708f985a MDL-80461 courseformat: Use choicedropdown for the format setting
In MDL-79985 a new form element was created to display a new generic
dropdown with extra information like a description or an icon on each
option.

This commits replaces the select for the course format form element in
the Course settings page with this new component.
2024-01-19 09:37:42 +01:00
Sara Arjona 69ee5c3395 MDL-80461 courseformat: Fix tests after replacing topic/week 2024-01-19 08:53:18 +01:00
Sara Arjona 0c71612294 MDL-80461 courseformat: Deprecate unused strings for topics and weeks 2024-01-19 08:53:17 +01:00
Sara Arjona 785d3fd1e7 MDL-80461 courseformat: Replace topics and weeks with section
After UX research, the conclusion is that all formats should use "section"
and not try to use alternative terms such as topic or week.

This commit replaces topic and week references with section. A couple of
considerations:

- Most of the strings in topics and weeks formats have been removed. In that
particular case it's not required to follow the deprecation process because
they will be using the generic ones defined in moodle or courseformat.
- The sectionname will be renamed from "Topic"/"Week" to "New section" in
MDL-80460.
2024-01-19 08:53:16 +01:00
Angelia Dela Cruz 61e8bed77f MDL-80377 block: Behat confirming folder file in recent activity block 2024-01-19 14:26:52 +08:00
Jun Pataleta beadaddcd8 MDL-80676 core: Deprecate \action_menu_link::$instance
\action_menu_link::$instance is only being used to provide unique IDs
for the <span> tag that contains the text within the action menu link's
<a> tag. This <span> tag's ID is then being used for the action menu
link's <a> tag's aria-labelledby attribute which is totally unnecessary
given that the <span> tag is already within the action menu link and
already serves as the default label for the <a> tag.
2024-01-19 14:12:05 +08:00
Jun Pataleta 17647186f9 MDL-80676 core: Remove unnecessary aria-labelledby for action menu links
The aria-labelledby attribute for the action menu link's <a> tag is
unnecessary as the <span> tag containing the action menu link's text
is already within the <a> tag and already serves as the link's label by
default.
2024-01-19 14:11:44 +08:00
Philipp Memmel ca7b355fd8 MDL-80271 core_user: Only update record if necessary 2024-01-19 05:59:21 +00:00
Huong Nguyen 810554ee83 weekly release 4.4dev 2024-01-19 11:23:49 +07:00
Paul Holden e02412b5ff MDL-79514 mod_feedback: ensure base item class library is required. 2024-01-18 20:44:28 +00:00
Paul Holden 31af1ac7e2 MDL-80667 task: preserve environment when running tasks from web.
For sites that rely on environment variables to set configuration,
ensure they are also present when executing task process.

Co-authored-by: Olivier Wenger <olivier.wenger@liip.ch>
2024-01-18 16:47:44 +00:00
Paul Holden 53109820af MDL-79433 tiny_autosave: allow non-logged in user calls to webservice.
Accounts for the editor being added to pages for non-logged in users,
such as the "New account" page.
2024-01-18 10:49:10 +00:00
Paul Holden 49230c1938 MDL-73010 repository_filesystem: fix directory read comparison.
Co-authored-by: Andrew Nicols <andrew@nicols.co.uk>
2024-01-18 10:02:14 +00:00
Tim Hunt f4fc795642 MDL-80650 quiz restore: restore of max marks review option from pre 4.2 2024-01-18 09:25:08 +00:00
Andrew Nicols 81d9f60840 MDL-79152 editor_tiny: Enable browser-based spell-checking 2024-01-18 12:53:20 +08:00
Jun Pataleta f76362e0dc Merge branch 'MDL-80325' of https://github.com/dravek/moodle 2024-01-18 12:00:16 +08:00
Andrew Nicols 746926220f Merge branch 'MDL-80201-main' of https://github.com/junpataleta/moodle 2024-01-18 11:34:16 +08:00
Jun Pataleta 82c9578e36 Merge branch 'MDL-72308' of https://github.com/paulholden/moodle 2024-01-18 11:31:09 +08:00
Huong Nguyen f090dc6236 Merge branch 'MDL-80403-main' of https://github.com/davewoloszyn/moodle 2024-01-18 10:24:51 +07:00
Huong Nguyen b515240f28 Merge branch 'master_MDL-80509' of https://github.com/mattporritt/moodle 2024-01-18 10:01:36 +07:00
Jun Pataleta f2fca2e884 Merge branch 'MDL-79498-main' of https://github.com/junpataleta/moodle 2024-01-18 10:59:31 +08:00
Andrew Nicols d8775cf935 Merge branch 'MDL-80591' of https://github.com/stronk7/moodle 2024-01-18 10:56:13 +08:00
Justus Dieckmann 216047dc18 MDL-79498 javascript: Adjust get_string function signature
Reflect param and lang being optional parameters.
2024-01-18 10:51:02 +08:00
Andrew Nicols f81adf978e Merge branch 'MDL-80041-main' of https://github.com/junpataleta/moodle 2024-01-18 10:29:17 +08:00
Andrew Nicols e955d2b056 Merge branch 'MDL-77054-master' of https://github.com/jleyva/moodle 2024-01-18 09:43:54 +08:00
Sara Arjona c06553f908 Merge branch 'MDL-80058-main' of https://github.com/meirzamoodle/moodle 2024-01-17 18:46:09 +01:00
Sara Arjona e09ef24a7d Merge branch 'MDL-80081-main' of https://github.com/meirzamoodle/moodle 2024-01-17 18:18:05 +01:00
Sara Arjona ff519c1f65 Merge branch 'MDL-80187-main' of https://github.com/ferranrecio/moodle 2024-01-17 17:33:12 +01:00
Sara Arjona a09551b174 Merge branch 'MDL-80255-main' of https://github.com/aanabit/moodle 2024-01-17 11:51:02 +01:00
Ferran Recio 557099a81e MDL-80187 core_courseformat: create and delete section methods 2024-01-17 10:39:13 +01:00
Ferran Recio 141568c30d MDL-80187 core_courseformat: format action classes 2024-01-17 10:39:12 +01:00
Huong Nguyen c60d71d558 Merge branch 'MDL-67335-patch' of https://github.com/ilyatregubov/moodle 2024-01-17 16:24:28 +07:00
Ilya Tregubov 1fdd34a08f MDL-67335 qtype_calculatedmulti: Fix upgrade query. 2024-01-17 17:22:30 +08:00
Paul Holden accb66f905 MDL-78888 tool_uploaduser: case-insensitive email matching on upload. 2024-01-17 09:01:05 +00:00
Jun Pataleta 79494ac32d MDL-80005 core: Whitespace fix for core/param 2024-01-17 17:00:07 +08:00
Paul Holden e187e13947 MDL-80098 core: correct arguments for invalidmoduleid exceptions.
The "invalid module ID" should be passed as the `$a` constructor
argument.
2024-01-17 08:58:49 +00:00
Paul Holden ae4a5864ad MDL-80060 enrol_manual: correct exception constructor arguments. 2024-01-17 08:57:38 +00:00
Paul Holden b2da42527a MDL-78417 tool_uploaduser: handle empty default in custom menu field. 2024-01-17 08:55:48 +00:00
Jun Pataleta 06146da7cb Merge branch 'MDL-80005-main-squashed' of https://github.com/andrewnicols/moodle 2024-01-17 16:52:33 +08:00
Ilya Tregubov ec6b8d5c51 Merge branch 'MDL-67335_master' of https://github.com/PhilippImhof/moodle 2024-01-17 15:42:57 +08:00
Huong Nguyen 66d39e9723 Merge branch 'MDL-79701-main' of https://github.com/rjnl/moodle 2024-01-17 14:07:59 +07:00
Philipp Imhof cf62f5cc76 MDL-67335 qtype_calculatedmulti: allow HTML in answer options 2024-01-17 08:03:14 +01:00
Andrew Nicols 6f23ef183d MDL-80005 core: Formally deprecate PARAM_CLEANFILE 2024-01-17 12:19:57 +08:00
Andrew Nicols b05fc42db9 MDL-80005 core: Emit deprecation notices for params
Most params are formally deprecated here. This was originally planned
for MDL-80042, but I realised that having an emit, and final param is a
very useful option going forward.

This patch also moves the is_deprecated(), and related methods to the
\core\deprecated attribute.
2024-01-17 12:19:45 +08:00
Huong Nguyen 998f54c9c3 Merge branch 'MDL-80498_master' of https://github.com/santoshndev/moodle 2024-01-17 10:37:41 +07:00
Huong Nguyen 95c2217ba6 Merge branch 'MDL-80260' of https://github.com/paulholden/moodle 2024-01-17 10:17:06 +07:00
Amaia Anabitarte c40d85da65 MDL-80255 mod_scorm: Remove 'Completed' as default completion 2024-01-16 16:40:26 +01:00
Andrew Nicols a61658da17 MDL-80005 core: Update coding standards for core\param 2024-01-16 22:54:46 +08:00
Andrew Nicols d937e01550 MDL-80005 core: Move all param validation methods 2024-01-16 22:54:46 +08:00
Andrew Nicols 0d7d5d2e56 MDL-80005 core: Move clean_param and PARAM definitions
Move these into a new enum object which ensures that all content is
together.
2024-01-16 22:53:55 +08:00
Paul Holden a803f23bd2 MDL-72703 profilefield_text: validate field length when editing.
This also means the same validation is applied elsewhere,  such as
in the upload user tool.
2024-01-16 09:54:08 +00:00
Paul Holden 36d842e0e7 MDL-79266 core: require plugins always define subplugin lang strings. 2024-01-16 09:48:48 +00:00
Ilya Tregubov 12203eea69 Merge branch 'MDL-79130-master' of https://github.com/stevandoMoodle/moodle 2024-01-16 16:26:48 +08:00
Sara Arjona 583cd6377e Merge branch 'MDL-80266-main' of https://github.com/andrewnicols/moodle 2024-01-16 07:20:04 +01:00
Andrew Nicols 232e705f60 MDL-80266 mod_forum: Reset subscription caches between behat tests 2024-01-16 13:34:16 +08:00
Ilya Tregubov 75c58549e3 Merge branch 'MDL-69615-main' of https://github.com/HuongNV13/moodle 2024-01-16 10:56:27 +08:00
Huong Nguyen 028c0384a2 MDL-69615 core_backup: Send backup report email once the tasks are done 2024-01-16 09:32:19 +07:00
Ilya Tregubov d3b8694114 Merge branch 'MDL-79076-master-2' of https://github.com/marinaglancy/moodle 2024-01-16 09:48:02 +08:00
Sara Arjona bd2f9abc1e Merge branch 'MDL-59467-main' of https://github.com/andrewnicols/moodle 2024-01-15 17:28:12 +01:00
Sara Arjona 645bd52304 Merge branch 'MDL-79519-master_url_select' of https://github.com/Tsheke/moodle 2024-01-15 17:02:58 +01:00
Marina Glancy e9abb3a5de MDL-79076 output: convert callback before_standard_html_head 2024-01-15 15:33:42 +00:00
Paul Holden 3b2019a3e3 MDL-29261 tool_uploaduser: warn user about invalid data values. 2024-01-15 15:14:56 +00:00
Andrew Nicols 81b8aecab6 MDL-80577 core: Move pull request template 2024-01-15 22:47:45 +08:00
Andrew Nicols ffa1843863 MDL-80577 core: Add a Moodle security policy for GH 2024-01-15 22:47:45 +08:00
Andrew Nicols 76a8b26c43 MDL-80577 core: Rewrite and update README 2024-01-15 22:47:44 +08:00
Andrew Nicols cde12d0e19 MDL-80577 core: Update and rewrite contribution guidelines 2024-01-15 22:47:44 +08:00
Paul Holden e2cb2fa5dc MDL-72308 forms: final removal of legacy formchangechecker YUI. 2024-01-15 14:24:51 +00:00
Paul Holden 2ac0df331c MDL-72308 mod_forum: update legacy uses of formchangechecker module. 2024-01-15 14:24:17 +00:00
Paul Holden 26bc1fa27f MDL-80516 core: more robust plugin update component checking.
Occurs when a plugin in incorrectly removed (via file system only,
rather than following proper uninstall process), and also contains
it's own sub-plugins.

In the above scenario, the update would request and receive back a
response for a plugin whose name was comprised of an empty string,
subsequently causing errors when processing said response.
2024-01-15 14:10:05 +00:00
Juan Leyva db13a26f74 MDL-76671 tool_mobile: Allow OAuth launches after accepting policies 2024-01-15 13:13:09 +01:00
Amaia Anabitarte 4e6d39f539 MDL-80418 core_course: Homogenize titles in modedit 2024-01-15 12:56:16 +01:00
Sara Arjona fd8c759323 Merge branch 'MDL-79091' of https://github.com/jay-oswald/moodle 2024-01-15 12:31:35 +01:00
Sara Arjona 90dea0d6ce Merge branch 'MDL-80244-main' of https://github.com/roland04/moodle 2024-01-15 09:39:46 +01:00
Jake Dallimore 0e74284dfc MDL-78219 enrol_lti: fix auth method usage in base testcase 2024-01-15 15:41:52 +08:00
Jake Dallimore a724bb8fae MDL-78219 auth_lti: ensure user updates happen after authentication
If an existing session is active at the time of launch, that user id
appears in the user_updated log. This log should show the launching user
updating their own record, not someone else. To resolve this, auth the
user before making any record updates so that the event gets the correct
user id.
2024-01-15 15:41:52 +08:00
Jake Dallimore 47703c1109 MDL-78219 auth_lti: force empty session before launch user creation
If an existing session is active at the time of launch, that user id
appears in the user_created log, incorrectly (it should be system/0).
This patch makes sure that any existing session is terminated before
creation of a new user during launches.
2024-01-15 15:41:52 +08:00
Huong Nguyen badf45d722 MDL-69615 privacy: Use task trait for unit tests 2024-01-15 11:18:36 +07:00
Huong Nguyen 50c134a1ad MDL-69615 core_task: Add a task trait 2024-01-15 11:18:36 +07:00
Eloy Lafuente (stronk7) 9f10626533 MDL-80591 phpunit: Coding style cleanup both CLI scripts
While the init.php was cleaned up not long ago, let's
re-review it (small detail only) and proceed to, also,
clean up the util.php one.

Note that both will raise an error about missing MOODLE_INTERNAL
check, but that's expected, they are CLI scripts, independent
from Moodle's bootstrap, so they don't have config.php required
either.
2024-01-13 18:46:45 +01:00
Eloy Lafuente (stronk7) 5f31b37e1d MDL-80591 phpunit: delegate run to phpunit binary
Instead of manually including composer's auto-loading
stuff and then run PHPUnit\TextUI\Command::main(), now
we are using the PHPUnit "binary".

That way behaviour should be 100% the same than
running vendor/bin/phpunit (recommended instead of util.php --run).

Also, note that, for other util.php commands, we still need
composer's auto-loading to happen, so we have moved it immediately
after the --run command.

Finally, a few more file_exists() conditions have been added
to ensure that PHPUnit is properly installed. Redundant but...
2024-01-13 18:13:52 +01:00
Johnny Tsheke 957edb8ed3 MDL-79519 course: remove null to use the default value. 2024-01-12 20:31:10 -05:00
David Carrillo 10d2b5864b MDL-80325 reportbuilder: Update 'Delete' links to red color
- Update all 'Delete' links on RB system report actions to red color
2024-01-12 15:38:19 +01:00
Paul Holden b530b1f436 MDL-70058 customfield: reference field element names correctly.
In the course external create/update methods, we must ensure that
the correct form element names are used. Specifically because the
textarea field type uses non-standard name.
2024-01-12 10:29:19 +00:00
Jun Pataleta be63ec95cb Merge branch 'MDL-80540-main' of https://github.com/sarjona/moodle 2024-01-12 17:47:07 +08:00
Jun Pataleta 24c4e47788 Merge branch 'MDL-80526-master' of https://github.com/ScottVerbeek/moodle 2024-01-12 17:44:38 +08:00
Jun Pataleta bac7b4378a Merge branch 'MDL-80192' of https://github.com/paulholden/moodle 2024-01-12 17:28:41 +08:00
Paul Holden 2097872510 Merge branch 'MDL-80564' of https://github.com/marinaglancy/moodle into main 2024-01-12 09:07:38 +00:00
Santosh Nagargoje bfc9f17686 MDL-80498 group: Added required rule for filepicker field 2024-01-12 14:27:42 +05:30
Paul Holden 6576b1f9ba MDL-80192 reportbuilder: ensure filter form group elements have labels.
This ensures compliance with the following WCAG criterion:

"H71: Providing a description for groups of form controls using fieldset
and legend elements".
2024-01-12 08:39:36 +00:00
Paul Holden 9357a1c583 MDL-80192 forms: implement method to set group element hidden label.
This is consistent with the API used for other form element types,
in order to provide screen-readable text in the fieldset legend while
not necessarily wanting to display said label.

The new class property is automatically exported to the template via
the `templatable_form_element` trait.
2024-01-12 08:33:37 +00:00
Jun Pataleta 7770de1dd1 Merge branch 'MDL-80353' of https://github.com/marinaglancy/moodle 2024-01-12 16:20:51 +08:00
Mikel Martín a8b5044920 MDL-80244 theme_boost: Refactor navbar for Bootstrap 5 2024-01-12 08:46:43 +01:00
meirzamoodle 958b48c54d MDL-80081 editor_tiny: Allow empty content in the i tag 2024-01-12 14:04:17 +07:00
Sara Arjona fdc48c0edd MDL-80540 section_links: Fix link to current section/week
After the changes done in MDL-79986, the "Jump to current topic/week"
link in the Sections links block stopped working.
This patch fixes it and uses the new section.php page.
2024-01-12 07:08:05 +01:00
Ilya Tregubov 580c009cac weekly release 4.4dev 2024-01-12 09:11:31 +08:00
Ilya Tregubov a9b833834a Merge branch 'install_master' of https://git.in.moodle.com/amosbot/moodle-install 2024-01-12 09:11:24 +08:00
Paul Holden bf34adae73 MDL-80575 mod_forum: correct field name for "Notify students" setting. 2024-01-11 11:43:15 +00:00
ScottVerbeek b364ace6c7 MDL-80526 tool_filetypes: Test required icons in test_get_file_icons
The test now checks for the required icons, without needing to specify a count.
Allowing developers to add custom icons to the folder pix/f/mycustomicon.svg without needing to alter any unit test.
2024-01-11 14:45:09 +10:00
Jun Pataleta f25864aa3a Merge branch 'MDL-80246-main' of https://github.com/mihailges/moodle 2024-01-11 11:50:07 +08:00
Huong Nguyen 92f38b9cb5 Merge branch 'MDL-80452-main' of https://github.com/andelacruz/moodle 2024-01-11 10:44:01 +07:00
Huong Nguyen a75e325fdc Merge branch 'MDL-80229-main' of https://github.com/davewoloszyn/moodle 2024-01-11 10:35:42 +07:00
Jun Pataleta d077ba647d Merge branch 'MDL-80313' of https://github.com/stronk7/moodle 2024-01-11 11:32:40 +08:00
Angelia Dela Cruz e27de1d44d MDL-80452 mod_h5pactivity: Behat for H5Pactivity duplication and delete 2024-01-11 11:17:51 +08:00
Ilya Tregubov 8c8f98b244 Merge branch 'MDL-79608' of https://github.com/paulholden/moodle 2024-01-11 11:17:31 +08:00
Jun Pataleta c67b184f4c Merge branch 'MDL-79780' of https://github.com/timhunt/moodle 2024-01-11 10:44:41 +08:00
Ilya Tregubov 8091b684d9 Merge branch 'MDL-80446' of https://github.com/paulholden/moodle 2024-01-11 10:44:07 +08:00
Huong Nguyen a3654984c1 Merge branch 'MDL-79296-main' of https://github.com/rmady/moodle 2024-01-11 09:42:52 +07:00
Ilya Tregubov e75d017f1e Merge branch 'MDL-80357_main' of https://github.com/SimonasAdams/moodle 2024-01-11 10:38:10 +08:00
Ilya Tregubov 0fc2732707 Merge branch 'MDL-80333_master' of https://github.com/santoshndev/moodle 2024-01-11 10:34:07 +08:00
Paul Holden 3f9277723b MDL-80499 datafield_date: specify UTC time when editing field content. 2024-01-10 19:23:08 +00:00
Sara Arjona 502e1a8329 Merge branch 'MDL-71732' of https://github.com/paulholden/moodle 2024-01-10 17:00:02 +01:00
Sara Arjona 53a9613bab Merge branch 'MDL-80014' of https://github.com/paulholden/moodle 2024-01-10 16:10:08 +01:00
Paul Holden 5180861a86 MDL-79665 libraries: upgrade to version 6.6.5 of TCPDF. 2024-01-10 10:10:49 +00:00
Paul Holden 5be06944e4 MDL-80199 report_log: remove duplicate "all logs" breadcrumb. 2024-01-10 10:07:48 +00:00
Santosh Nagargoje ee4a176866 MDL-80333 Authentication: Fixed new login notification adhoc task 2024-01-10 15:32:16 +05:30
Paul Holden 31e671a978 MDL-78621 mod_choice: verify limited responses before showing "full". 2024-01-10 09:47:32 +00:00
Paul Holden a32397feda MDL-80328 user: use modal confirmation for admin deleting users. 2024-01-10 09:06:07 +00:00
Sara Arjona 0293d208f9 Merge branch 'MDL-80340-main' of https://github.com/lameze/moodle 2024-01-10 07:34:57 +01:00
Huong Nguyen b6378ff84d Merge branch 'MDL-80382-main' of https://github.com/andelacruz/moodle 2024-01-10 10:29:50 +07:00
Huong Nguyen 867e104353 Merge branch 'MDL-65403_master' of https://github.com/marxjohnson/moodle 2024-01-10 09:59:32 +07:00
meirzamoodle d744c7f510 MDL-80058 editor_tiny: add preformatted format to the blocks 2024-01-10 09:37:26 +07:00
Stevani Andolo 2425e07db3 MDL-79130 task_adhoc: Defined max retry constant 2024-01-10 10:17:42 +08:00
Ilya Tregubov d27c866dd2 Merge branch 'MDL-79830' of https://github.com/paulholden/moodle 2024-01-10 09:00:54 +08:00
Ilya Tregubov 320cb03ffc Merge branch 'MDL-79532' of https://github.com/paulholden/moodle 2024-01-10 08:57:34 +08:00
Marina Glancy 27c6c174d8 MDL-80564 reportbuilder: Consistent permission check for user full name 2024-01-09 17:50:56 +00:00
Paul Holden cd7b07d743 MDL-80559 badges: set contexturl/name in badge awarded notification. 2024-01-09 17:15:33 +00:00
Simey Lameze 95da5a44a8 MDL-80340 behat: make query to fetch h5p attempts less strict 2024-01-09 16:13:55 +08:00
Brendan Heywood e5741dba1a MDL-80554 task: Force debugdisplay on for task logging 2024-01-09 15:48:40 +11:00
Angelia Dela Cruz e8c8dbc54e MDL-80382 behat: Replace "Frist" typos in Behat tests to "First" 2024-01-09 10:44:15 +08:00
AMOS bot 515cbde593 Automatically generated installer lang files 2024-01-09 00:10:50 +00:00
Sara Arjona 5b350b6ef5 Merge branch 'MDL-80096-main-fix' of https://github.com/sarjona/moodle 2024-01-08 17:17:11 +01:00
Sara Arjona 7b74196dd8 MDL-80096 tool: Remove illegal whitespaces 2024-01-08 17:15:29 +01:00
Sara Arjona 6dc44b0fc2 Merge branch 'MDL-80096-master-v02' of https://github.com/ferranrecio/moodle 2024-01-08 16:58:46 +01:00
Ferran Recio b9f78ef45c MDL-80096 tool_generator: execute behat generators in current instance
This is a new feature in tool_generator to execute a feature file
containing only generator steps. This new tool can be used to prepared
testing scenarios for complex issues that requires manual testing.
2024-01-08 16:47:09 +01:00
Sara Arjona 6288d5cd16 Merge branch 'MDL-78999_master' of https://github.com/santoshndev/moodle 2024-01-08 16:38:29 +01:00
Paul Holden b5cba37893 MDL-80323 h5p: fail content type retrieval task on errors.
It's better for the task to fail gracefully rather than silently
swallow any errors, so that the task API can schedule re-tries.

If the endpoint is temporarily down and/or misbehaving, this will
allow admins to have clearer failures.
2024-01-08 10:06:29 +00:00
Huong Nguyen fe192c8e12 Merge branch 'MDL-73639-main' of https://github.com/lameze/moodle 2024-01-08 16:08:17 +07:00
Sara Arjona 7d2c498211 Merge branch 'MDL-71733' of https://github.com/paulholden/moodle 2024-01-08 09:35:21 +01:00
Simey Lameze 51de4a87fb MDL-73639 behat: improvements to the new recover grades test 2024-01-08 12:48:39 +08:00
Angelia Dela Cruz a039b71583 MDL-73639 core_grades: Behat to test Recover grades default settings 2024-01-08 12:48:39 +08:00
Rajneel Totaram a2bb81a4be MDL-80383 mod_book: Make book content use full width on small screens 2024-01-08 15:36:39 +12:00
Ilya Tregubov 51e52e492d Merge branch 'MDL-69497' of https://github.com/paulholden/moodle 2024-01-08 10:03:47 +08:00
Ilya Tregubov 4179fa2dfc Merge branch 'MDL-79937_fixlessonmatching' of https://github.com/catalystfd/moodle 2024-01-08 09:19:39 +08:00
Eloy Lafuente (stronk7) 22831808cd MDL-80313 behat: remove dupe type attribute
Because of https://github.com/Masterminds/html5-php/issues/242

that duplicate attribute is causing problems. As far as we don't
need it, we proceed to remove leaving only the type=submit that
will make NonJS behat tests (BrowserKit) happy.
2024-01-05 18:57:48 +01:00
Eloy Lafuente (stronk7) 8a18dbe064 MDL-80313 mod_forum: Fix a few steps to use :checked pseudo element
Not sure why the [checked=checked] was working ok, but everywhere I
have looked out there show examples about :checked (and :not(:checked)
being the correct way to use CSS Selectors that are converted to working
XPath expressions.

Curiously, it's only for NonJS steps, JS one already were using
another syntax, just [checked].
2024-01-05 18:57:48 +01:00
Eloy Lafuente (stronk7) a2ff97637f MDL-80313 upgrade: Fix typo, Moodle 4.1.2 is 2022112802
Link: https://moodledev.io/general/releases#moodle-41-lts
2024-01-05 18:57:48 +01:00
Eloy Lafuente (stronk7) 03d75e4f8d MDL-80313 composer: Bump composer stuff to use php81 as minimum
It seems that in MDL-78496 we missed to regenerate the
composer stuff using the new PHP 8.1 requirement.

This commit addresses exactly that, following the instructions:

https://moodledev.io/general/development/tools/composer#how-to-prepare-and-submit-composer-changes

Note it comes with a few updated components:
- friends-of-behat/mink-extension 2.7.4
- oleg-andreyev/mink-phpwebdriver 1.3.1

And a bunch of second (and deeper) level dependencies updated too.
2024-01-05 18:57:47 +01:00
Paul Holden 7f6179fc9d MDL-79681 user: fix participant filter "never accessed" options.
For courses, determine whether "Never accessed" should be available,
and correct the used value to match that expected by the API (-1).
2024-01-05 13:55:47 +00:00
Víctor Déniz 5db1724a05 MDL-79681 user: fix conditional to get the last access to a course 2024-01-05 13:55:47 +00:00
Laurent David f0e5726c44 MDL-80289 mod_bigbluebutton: Fix retrieval of meeting via meetingid 2024-01-05 11:14:46 +01:00
Paul Holden f6c918a50f MDL-79532 blog: add "title with link" column to report entity. 2024-01-05 09:37:56 +00:00
Paul Holden c6963d1c0e MDL-79830 tag: flag count entity reporting via column/filter. 2024-01-05 09:35:39 +00:00
Santosh Nagargoje 1f77d5c1a7 MDL-78999 theme: Fixed site logo issue in small screens 2024-01-05 00:52:04 +05:30
Rajneel Totaram dba4cd4511 MDL-79701 block_calendar_upcoming: Display activity name in tooltip 2024-01-05 07:15:17 +12:00
Paul Holden 126db72671 MDL-80523 mod_label: correct upgrade step select query parameters. 2024-01-04 15:21:55 +00:00
Paul Holden 6e806447e7 MDL-80532 block_myoverview: don't post sesskey to quickstart guide URL. 2024-01-04 14:35:11 +00:00
Paul Holden 24f59a7d32 MDL-79927 files: scope toggleall checkboxes per filemanager instance.
Ensures that when multiple exist on the same page, each operates
independently of the others.
2024-01-04 13:22:33 +00:00
Paul Holden f3846ef735 MDL-80247 files: multi-byte aware filename shortening in exporter.
Also correctly extract the original file extension.

Co-authored-by: Andrew Nicols <andrew@nicols.co.uk>
Co-authored-by: Mazitov Artem <maz@2i.tusur.ru>
2024-01-04 13:20:14 +00:00
Paul Holden b98fd96084 MDL-71733 behat: final removal of deprecated 400 step definitions. 2024-01-04 12:43:52 +00:00
Sara Arjona 9587029a46 weekly release 4.4dev 2024-01-04 12:01:53 +01:00
Sara Arjona c478bdc493 Merge branch 'install_master' of https://git.in.moodle.com/amosbot/moodle-install 2024-01-04 12:01:41 +01:00
Sara Arjona 5f9310dc99 Merge branch 'MDL-79307' of https://github.com/paulholden/moodle 2024-01-03 17:18:16 +01:00
Sara Arjona 4a9214f34f Merge branch 'MDL-80243-main' of https://github.com/lameze/moodle 2024-01-03 16:58:00 +01:00
Sara Arjona 00b4da1aae Merge branch 'MDL-76719' of https://github.com/paulholden/moodle 2024-01-03 16:32:33 +01:00
Matt Porritt 777ff93382 MDL-80509 Site Registration: Prompt to register site after all upgrades
Unregistered sites will now display registration form to admins
after every upgrade, including plugin upgrades.
Registration form will not show for sites that are not set to public.
2024-01-03 11:22:22 +11:00
Shamim Rezaie f11f30375d Merge branch 'MDL-79708-main' of https://github.com/ilyatregubov/moodle 2024-01-03 00:09:17 +11:00
Sara Arjona 58285c6afb Merge branch 'MDL-80186-main' of https://github.com/ferranrecio/moodle 2024-01-02 13:27:27 +01:00
Huong Nguyen 948b96feb5 Merge branch 'MDL-80412' of https://github.com/paulholden/moodle 2023-12-27 17:22:03 +07:00
Huong Nguyen 93b960e6d3 Merge branch 'MDL-77124-main' of https://github.com/roland04/moodle 2023-12-27 17:14:41 +07:00
AMOS bot 78b21f83b5 Automatically generated installer lang files 2023-12-23 00:11:33 +00:00
Tim Hunt 9ee42d0a34 MDL-79780 quiz_statistics: take advantage of get_fieldset method
This updates the MDL-79639 code.
2023-12-22 12:09:42 +00:00
Tim Hunt e8bfeea06c MDL-79780 DML: add the missing get_fieldset method 2023-12-22 12:09:41 +00:00
Paul Holden 7298d0762a MDL-74238 completion: final removal of deprecated navigation methods. 2023-12-21 15:32:05 +00:00
Paul Holden f75881f263 MDL-80409 dataformat: final removal of deprecated download method. 2023-12-21 15:31:00 +00:00
Paul Holden a9d0af8df2 MDL-79608 tool_task: link to adhoc task page from corresponding check. 2023-12-21 15:25:01 +00:00
Jun Pataleta 6c1e7773a1 MDL-80041 gradereport_singleview: Implement grade validation
Implement grade validation for numeric grade overrides by setting
the type attribute for the grade input to number and setting a min
and max attribute values. Submitting the form with invalid values
will trigger built-in validation of the inputs.
2023-12-21 22:15:07 +08:00
Sara Arjona aeb64dbfb5 weekly release 4.4dev 2023-12-21 13:34:12 +01:00
Paul Holden de04d9cfd9 MDL-80450 mod_resource: observe print intro setting when embedding. 2023-12-21 11:22:13 +00:00
Huong Nguyen 8aa49f153d Merge branch 'MDL-71735-main' of https://github.com/sarjona/moodle 2023-12-21 09:04:59 +07:00
Huong Nguyen 1b106e1c69 Merge branch 'MDL-78940-main' of https://github.com/lameze/moodle 2023-12-21 08:46:50 +07:00
Shamim Rezaie 494064288c Merge branch 'MDL-80318-master' of https://github.com/jleyva/moodle 2023-12-21 01:13:20 +11:00
Ferran Recio 837dc7e852 MDL-80186 course: adding new fields to delegate sections logic 2023-12-20 12:02:51 +01:00
Huong Nguyen 7a9f3ae18b Merge branch 'MDL-80151-main' of https://github.com/lameze/moodle 2023-12-20 15:39:37 +07:00
Huong Nguyen a529ee94b3 MDL-80151 behat: Improve viewing site calendar step 2023-12-20 16:31:00 +08:00
Ilya Tregubov e80f5e1f6e Merge branch 'MDL-79128-main' of https://github.com/HuongNV13/moodle 2023-12-20 16:12:35 +08:00
Jun Pataleta 1165da6349 Merge branch 'MDL-68124-main' of https://github.com/sarjona/moodle 2023-12-20 15:00:51 +08:00
Huong Nguyen bd3af64741 MDL-79128 adhoc_task: Added 'Never' status for ad-hoc task Next run
Co-authored-by: Stevani Andolo <stevani.andolo@moodle.com>
2023-12-20 13:55:13 +07:00
Huong Nguyen f13392d230 MDL-79128 adhoc_task: Implement failed ad-hoc task cleanup
Co-authored-by: Stevani Andolo <stevani.andolo@moodle.com>
2023-12-20 13:55:13 +07:00
Huong Nguyen 6c047c40b7 MDL-79128 adhoc_task: Only rerun the allowed task
Co-authored-by: Stevani Andolo <stevani.andolo@moodle.com>
2023-12-20 13:55:13 +07:00
Huong Nguyen a44f14c79e MDL-79128 adhoc_task: Implement no-retry task
Co-authored-by: Stevani Andolo <stevani.andolo@moodle.com>

Including in this commit:
 - Added a new counter called attemptsavailable for ad-hoc task
 - PHPUnit test for the new feature
2023-12-20 13:55:13 +07:00
Ilya Tregubov 1e83b9eba7 Merge branch 'MDL-79985-master' of https://github.com/ferranrecio/moodle 2023-12-20 09:06:08 +08:00
Simon Adams 8c76c55e67 MDL-80357 theme_boost: Correctly interpolate SCSS
Fixes interpolation between SCSS setting and background images SCSS when SCSS setting is a single line comment
2023-12-19 15:13:54 +00:00
Paul Holden 012dd24a43 MDL-80260 tool_mfa: fix all factor report table alignment per auth. 2023-12-19 12:20:34 +00:00
Sara Arjona d4227cd67d Merge branch 'MDL-80052' of https://github.com/dravek/moodle 2023-12-19 11:54:14 +01:00
Jun Pataleta 46815352ec Merge branch 'MDL-80393' of https://github.com/paulholden/moodle 2023-12-19 17:25:15 +08:00
David Carrillo 76bed1480a MDL-80052 badges: Convert Course badges report to use Report builder 2023-12-19 10:23:27 +01:00
David Carrillo 982581d5eb MDL-80052 badges: Convert Badge recipients report to use Report builder 2023-12-19 10:23:26 +01:00
Ferran Recio 3344354641 MDL-79985 forms: add choicedropdown form element
The new quick form field uses a choice list to display a dropdown
component inside a form. Apart from que quick form code, the patch also
include a small improvement to the choicelist class to disable empty
values. This small patch is needed because the quickform field won't
allow empty values.
2023-12-19 09:43:35 +01:00
Ferran Recio 02de5b79fd MDL-79985 output: prepare dropdown components for forms
Add new features to the dropdown components (dialog and status) needed
for using them in quick forms. Now the dialog dropdown have methods to
disable the dropdown button (to disable the field). The status dropdown
has one minor style bugfix and the selected item styles are now stored
as a data attribute.
2023-12-19 09:33:45 +01:00
Paul Holden 114605accc MDL-80446 mod_feedback: stricter selector for getting draggable items.
Ensure we don't also match inner nodes of the label question.
2023-12-19 08:26:47 +00:00
Jun Pataleta f0c5500f83 Merge branch 'MDL-79709-master' of https://github.com/davewoloszyn/moodle 2023-12-19 16:07:24 +08:00
Jun Pataleta 99596c7bc7 MDL-76723 core_tag: Use external_format_value constructor properly
* First parameter should be the field name that the format property
points to.
* No need for VALUE_REQUIRED since it's the default for the $required
parameter.
* Third parameter is the default value and not a description string.
2023-12-19 15:48:08 +08:00
Jun Pataleta 80839957ef MDL-76723 mod_page: Use external_format_value constructor properly
* 'Content format' is passed to the $default parameter which is
incorrect.
* Also removed passing of VALUE_REQUIRED because it's already the
default value for the $required parameter.
2023-12-19 15:48:07 +08:00
Jun Pataleta 9dcffb4a93 MDL-76723 core_external: Handle format properties properly
- If a text format property defines the 'optional' attribute as true,
then the $required parameter that
is passed to \core\external\exporter::get_format_structure() should be
VALUE_OPTIONAL.
- If a default value is provided for a format property,
\core\external\exporter::get_format_structure() should pass the default
value to the external_format_value constructor.
- Added validation for external_format_value for the default parameter.
  Debugging will be shown in case an invalid default value is passed.
- Amended unit tests for better coverage.
2023-12-19 15:48:07 +08:00
Frédéric Massart e0829fe58b MDL-76723 core_external: Test invalid required value for format fields 2023-12-19 15:48:07 +08:00
Paul Holden 3019f4e57c MDL-80393 lang: expose current page language to JS modules.
Since 4be39296 the root HTML element contains the iso6391 language
code of the current language pack. However various JS modules need
access to the original Moodle language pack code, so expose that
in the `M.cfg` structure.
2023-12-19 07:47:15 +00:00
Jun Pataleta 6f28538750 MDL-80201 core: Check for default format value for exporter::export() 2023-12-19 15:42:08 +08:00
Ilya Tregubov c28cdf9ca9 Merge branch 'MDL-69541-master_improve_accessibility_of_post_a_copy_to_all_groups_option' of https://github.com/vtos/moodle 2023-12-19 11:37:24 +08:00
Huong Nguyen b791f70d06 Merge branch 'MDL-78689-master' of https://github.com/safatshahin/moodle 2023-12-19 09:59:10 +07:00
David Woloszyn edffece53c MDL-80403 communication_matrix: Fixed convert power levels to array
The curent patch revealed a bug inside set_matrix_power_levels
where returned user power levels contained an array of objects.
Other methods were failing and giving incorrect responses
as they were expecting arrays.
2023-12-19 12:57:20 +11:00
Andrew Nicols 0a7c58fd8f MDL-59467 core: Use hasHelper instead of catching exception
When xdebug is set to break on exceptions it stops on all exceptions,
including _caught_ exceptions.

As a result we regularly hit this uniqid helper issue if debugging with
xdebug.

The solution is to check if the helper exists using the hasHelper method
instead of catching an exception when it does not exist.
2023-12-19 09:13:53 +08:00
Safat 27a3f34993 MDL-78689 core: Version bump 2023-12-19 11:18:27 +11:00
Safat e7586331a2 MDL-78689 communication_matrix: Add support for sync provider feature 2023-12-19 11:18:27 +11:00
Safat a946b09410 MDL-78689 core_communication: Add sync provider feature 2023-12-19 11:18:27 +11:00
Paul Holden f0efcf9494 MDL-79663 libraries: upgrade to version 1.3.71 of Minify. 2023-12-18 20:10:47 +00:00
Paul Holden 827a00af52 MDL-79662 libraries: upgrade to version 5.22.7 of ADOdb. 2023-12-18 20:05:14 +00:00
Jun Pataleta 8a187ceb53 Merge branch 'MDL-73926-master-v7' of https://github.com/TomoTsuyuki/moodle 2023-12-18 18:00:42 +08:00
Angelia Dela Cruz dcfd8490b5 MDL-80151 mod_chat: Behat for chat repeat times and past session view 2023-12-18 16:10:15 +08:00
Simey Lameze 2321dc3396 MDL-80151 behat: add calendar step to navigate to specific view 2023-12-18 16:10:11 +08:00
Sara Arjona 9d19157b08 MDL-68124 lesson: Fix random behat error with Oracle
This random error was caused because when reviewing an attempt,
the first pageid to display is calculated based on the timeseen
field in the lesson_attempst table.
In Oracle, sometimes it returned the second pageid (because both
had the same timeseen), so which led to these random failures.

Apart from adding 1-second wait when the attempt is created (to
guarantee the first page is returned properly), a few more
improvements have been also made, like removing manual steps for
setting the lesson activity or adding some extra checks to
confirm the information displayed is expected.
2023-12-18 08:21:18 +01:00
Huong Nguyen e6b01af686 Merge branch 'MDL-80329' of https://github.com/paulholden/moodle 2023-12-18 14:02:55 +07:00
Jun Pataleta 92512426a5 Merge branch 'MDL-79786-main' of https://github.com/rmady/moodle 2023-12-18 13:08:54 +08:00
Simey Lameze 8e1fcc268a MDL-80243 behat: make completion step more specific
Credit goes to Matthias Opitz
2023-12-18 09:25:09 +08:00
Simey Lameze af453412e2 MDL-78940 course: create social forum using event observers
This commit also convert manual steps to create discussions on the
Social forum to use data generators.
2023-12-18 09:16:24 +08:00
Paul Holden 58237bb91a MDL-73545 mod_lesson: final removal of reprecated header button method. 2023-12-15 14:31:37 +00:00
Paul Holden 975439b234 MDL-80412 reportbuilder: Behat scenario to view/sort additional names.
Related to fixes from 8f32e623.
2023-12-15 10:50:33 +00:00
Paul Holden 4fb106506d MDL-79552 cohort: add cohort data to user-focused custom reports. 2023-12-15 09:58:19 +00:00
Paul Holden bdbc9e0128 MDL-79552 reportbuilder: improve datasource methods to add elements.
Allow specifying which entity elements to add to a report more easily,
and support wildcard matching of the same.
2023-12-15 09:58:19 +00:00
Huong Nguyen 513f3b02c7 weekly release 4.4dev 2023-12-15 08:44:11 +07:00
Huong Nguyen 599a9f44c1 Merge branch 'install_master' of https://git.in.moodle.com/amosbot/moodle-install 2023-12-15 08:44:08 +07:00
Sara Arjona 8d5dbb56ff Merge branch 'MDL-79270-fix' of https://github.com/paulholden/moodle 2023-12-14 08:41:34 +01:00
David Woloszyn e52a4ef6e5 MDL-80403 communication_matrix: Update membership checks membership 2023-12-14 14:48:48 +11:00
Huong Nguyen b671e89685 Merge branch 'MDL-79828-master' of https://github.com/andelacruz/moodle 2023-12-14 10:14:07 +07:00
Huong Nguyen f9b6266eed Merge branch 'MDL-79050-master' of https://github.com/andelacruz/moodle 2023-12-14 09:56:24 +07:00
Huong Nguyen 0dbd3ffa50 Merge branch 'MDL-80394-main' of https://github.com/ilyatregubov/moodle 2023-12-14 09:22:20 +07:00
Ilya Tregubov 73cfb3b5cd Merge branch 'MDL-72656-main' of https://github.com/sarjona/moodle 2023-12-14 08:56:33 +08:00
Ilya Tregubov 6a300c0850 Merge branch 'MDL-79938-main' of https://github.com/sammarshallou/moodle 2023-12-14 08:49:47 +08:00
Ilya Tregubov 10a8e9536e MDL-78511 tool_mfa: Fix version for sms plugin. 2023-12-14 08:34:09 +08:00
Ilya Tregubov d1024fae70 Merge branch 'MDL-78511-master2' of https://github.com/raortegar/moodle 2023-12-14 08:25:33 +08:00
AMOS bot 330e1cf47c Automatically generated installer lang files 2023-12-14 00:11:15 +00:00
Tomo Tsuyuki f4597c9096 MDL-73926 backup: Add hook to exclude events for triggering backup 2023-12-14 10:01:47 +11:00
Paul Holden 8f32e623bb MDL-79270 reportbuilder: remove duplicate columns from order clause.
This works around a problem in SQL Server, which caused it to throw a
DML exception if the same column is duplicated in `ORDER BY` clause.
2023-12-13 17:17:54 +00:00
Sara Arjona 0c699e9e06 Merge branch 'MDL-74778-main' of https://github.com/roland04/moodle 2023-12-13 17:44:22 +01:00
Sara Arjona 95cd15ea12 Merge branch 'MDL-80360' of https://github.com/paulholden/moodle 2023-12-13 17:05:43 +01:00
Paul Holden e56e9cd6de MDL-80329 reportbuilder: trim whitespace in text filter content. 2023-12-13 10:15:32 +00:00
Paul Holden bf39fc43b4 MDL-80014 reportbuilder: entity method to retrieve all table aliases. 2023-12-13 10:06:19 +00:00
Sara Arjona bffb5524a6 Merge branch 'MDL-80233-main' of https://github.com/aanabit/moodle 2023-12-13 10:21:57 +01:00
Sara Arjona 19957a2882 Merge branch 'MDL-79270-main-behat-fix' of https://github.com/lameze/moodle 2023-12-13 08:19:43 +01:00
Huong Nguyen 9493b23e8d Merge branch 'MDL-74466' of https://github.com/paulholden/moodle 2023-12-13 09:28:24 +07:00
Ilya Tregubov 4051efc119 MDL-80394 core_grades: Revert changes to graded_users_iterator
Third party plugins are using it and change was breaking it
2023-12-13 09:34:13 +08:00
Ilya Tregubov ffe51e3ffa Merge branch 'MDL-80003_master' of https://github.com/PhilippImhof/moodle 2023-12-13 09:21:49 +08:00
Simey Lameze c905067a98 MDL-79270 behat: update tests to match new UI elements 2023-12-13 09:20:20 +08:00
Sara Arjona 2abd1a212d Merge branch 'MDL-77572_master' of https://github.com/santoshndev/moodle 2023-12-12 17:58:48 +01:00
sam marshall c219e1224a MDL-79938 Behat: Add steps to support multiple tabs 2023-12-12 16:42:13 +00:00
Sara Arjona b45cf43e0c Merge branch 'MDL-79270' of https://github.com/dravek/moodle 2023-12-12 17:32:47 +01:00
Santosh Nagargoje 1c5445c6e6 MDL-77572 Course: Added fix for section,activity visibility capabilities 2023-12-12 22:01:46 +05:30
Amaia Anabitarte 3f3dc5a035 MDL-80233 completion: Use default for empty values 2023-12-12 16:31:00 +01:00
Sara Arjona a3645ce501 Merge branch 'MDL-80315-main' of https://github.com/andelacruz/moodle 2023-12-12 14:19:46 +01:00
Sara Arjona 7a8e9f660d Merge branch 'MDL-79835' of https://github.com/timhunt/moodle 2023-12-12 14:11:34 +01:00
Paul Holden 27ef49c277 MDL-80224 tool_uploaduser: better user defaults per site configuration.
Improve use of `core_user` type/default/choice definitions when setting
fields in the "Default values" form, used on upload.
2023-12-12 10:12:52 +00:00
raortegar e894123a4d MDL-78511 tool_mfa: SMS factor include behat tests anf fix validation 2023-12-12 10:49:30 +01:00
raortegar 9e6b1b9118 MDL-78511 tool_mfa: Refactor SMS factor code
In this patch I have refactor the SMS factor code
to not require local_aws as a dependency.
Namespaces and paths from clases copied
from local_aws adapted to the new location.
2023-12-12 10:36:40 +01:00
Angelia Dela Cruz 174878936a MDL-79050 Behat: Add behat coverage to retake lesson activity 2023-12-12 15:52:52 +08:00
Ilya Tregubov 00cb0be5cb Merge branch 'MDL-79397' of https://github.com/paulholden/moodle 2023-12-12 09:28:53 +08:00
Paul Holden c25882e8df MDL-79270 admin: new filter type for filtering users by course role.
Use in the new browse users system report, to which it is quite
specific. The filter itself is a like for like replacement of the
pre-existing filter on the same page, and is really a combination
of existing role/category/course filters.
2023-12-11 12:36:57 +01:00
David Carrillo f76a518cb1 MDL-79270 user: New 'Browse list of users' system report
- The report 'Browse list of users' has been converted to use Report
Builder.
- Behat tests have been fixed and some test have been deleted for not
being relevant anymore.
2023-12-11 12:36:54 +01:00
David Carrillo b0c89b310e MDL-79270 reportbuilder: Add lastip column/filter to user RB entity 2023-12-11 12:35:58 +01:00
Paul Holden d51ebb89f4 MDL-80374 grade: show localised plugin name in report column heading. 2023-12-11 10:26:36 +00:00
Sara Arjona 2119a5a2e5 MDL-71735 core: Remove deprecated renamed classes
The classes that were renamed in 4.0 have been completely
removed in 4.4.
2023-12-11 09:03:45 +01:00
Sara Arjona 165aa2c318 MDL-72656 course_format: Final deprecation for renderers 2023-12-11 09:00:13 +01:00
Ilya Tregubov b642d2710b MDL-79708 question_bank: Fix legacy filter condition.
build_query_from_filter method expects includesubcategories
to be inside filteroptions array
2023-12-11 11:27:21 +08:00
David Woloszyn 4116a75858 MDL-79709 tiny_premium: Capability to access Tiny Premium features 2023-12-11 09:47:31 +11:00
Jwalit Shah 53f28d1f51 MDL-67053 login: Allow bypassing alternateurl config 2023-12-11 09:45:27 +11:00
vtos b3bd8daeb1 MDL-69541 mod_forum: Post a copy to all groups in quick discussion
When sitting behind the 'Advanced' link in discussion creation, the 'Post a copy to all groups' option is not very much visible
for a discussion creator. There were many proposals within the community to bring this option to the quick discussion creation
form.

The current improvement brings the 'Post a copy to all groups' option back to the quick discussion creation form.

A behat tests was added to cover the feature's behavior.
2023-12-10 13:36:30 +01:00
Marina Glancy 1ce0561767 MDL-80353 core_user: announce user selector changes to the screenreader 2023-12-08 15:28:20 +00:00
raortegar d35330a49e MDL-78511 tool_mfa: Include useful code from local_aws
In this patch we have included some useful classes implemented
In the plugin local_aws developed by Catalyst
2023-12-08 15:27:05 +01:00
raortegar 0773c553ec MDL-78511 tool_mfa: Include SMS factor into core
In this patch we have included the SMS factor from "tool_mfa"
developed by Catalyst.

Co-authored-by: Peter Burnett <peterburnett@catalyst-au.net>
Co-authored-by: Misha Golenkov <golenkovm@gmail.com>
Co-authored-by: Brendan Heywood <brendan@catalyst-au.net>
Co-authored-by: Alex Morris <alex.morris@catalyst.net.nz>
Co-authored-by: Dan Marsden <dan@danmarsden.com>
Co-authored-by: Kevin Pham <kevinpham@catalyst-au.net>
Co-authored-by: Chris Pratt <tonyyeb@gmail.com>
Co-authored-by: Andrew Lyons <andrew@nicols.co.uk>
Co-authored-by: Tomo Tsuyuki <tomotsuyuki@catalyst-au.net>
Co-authored-by: Liam Kearney <https://github.com/LiamKearn>
Co-authored-by: Nicholas Hoobin <nicholashoobin@catalyst-au.net>
Co-authored-by: Scott Verbeek <scottverbeek@catalyst-au.net>
Co-authored-by: nomisge <https://github.com/nomisge>
Co-authored-by: Dmitrii Metelkin <dmitriim@catalyst-au.net>
Co-authored-by: Matthew Hilton <matthewhilton@catalyst-au.net>
Co-authored-by: Michael Geering <https://github.com/dryj>
Co-authored-by: alphadijkstra <https://github.com/alphadijkstra>
2023-12-08 15:27:05 +01:00
raortegar f81d6ed426 MDL-78511 lib: Include JmesPath library
JMESPath library is required by AWS SDK for PHP library
2023-12-08 15:27:05 +01:00
raortegar 9b98f78d2a MDL-78511 lib: Include aws-sdk library
Include AWS SDK for PHP library.
This library is used in SMS factor from MFA project
2023-12-08 15:27:05 +01:00
Paul Holden bd63b01cca MDL-80360 mod_assign: fix timemodified assertion in date restore test. 2023-12-08 10:12:21 +00:00
Mihail Geshoski e1ed40385a MDL-80246 tiny_equation: Escape elementid in the data-target attribute
Tabs use the value of the data-target attribute of the active tab link
to find and display the appropriate tab content. In some situations the
elementid value that is used to generate the data-target may contain
certain characters that have a special meaning in the selector context
(e.g. ".", ",", "#") and because of that the target element cannot be
correctly identified. To fix this problem the elementid value needs to
be escaped prior to generating the data-target attribute.
2023-12-08 09:46:48 +08:00
Francis Devine 8380311af6 MDL-79937 mod_lesson: Fix matching pagetype question matching
The addition of text format on the output of the answer responses broke
the matching later when comparing the valid answer against the sent
response, as the answer response was not correspondingly formatted.

I decided to use the un formatted answer response as the key, to keep it
as close as identical to prior behaviour
2023-12-08 09:05:41 +13:00
Paul Holden f875ced123 MDL-80232 forumreport_summary: fix pagination count for summary report. 2023-12-07 17:25:38 +00:00
Paul Holden 3dec3fb8ce MDL-79397 reportbuilder: update reports to use auto-generated aliases.
We no longer need to be concerned about the manual setting of entity
table aliases (e.g. to avoid duplication between entities, or for using
a single entity multiple times), as it's handled transparently for us.
2023-12-07 17:19:01 +00:00
Paul Holden 7143cf4cbc MDL-79397 reportbuilder: update existing entity table definitions. 2023-12-07 17:19:01 +00:00
Paul Holden fb53d081da MDL-79397 reportbuilder: always auto-generate entity table aliases.
As the number of report entity classes has grown, each having their own
manually defined table aliases, it becomes harder to ensure each of the
aliases are always unique across report sources.

We can remove that burden by ensuring table aliases are automatically
generated upon request.
2023-12-07 17:19:01 +00:00
Philipp Imhof b46453e457 MDL-80003 mod_quiz: watch all instances of tinyMCE 2023-12-07 17:29:43 +01:00
Sara Arjona a891866cbd weekly release 4.4dev 2023-12-07 16:22:00 +01:00
Sara Arjona 612a1935ac NOBUG: Fixed SVG browser compatibility 2023-12-07 16:21:57 +01:00
Paul Holden f188214e7e MDL-79980 mod_survey: remove responses link if user cannot access.
Update Behat scenario to match.
2023-12-07 12:08:37 +01:00
Brendan Heywood 76c940134c MDL-80309 tasks: Clean up mtrace logs 2023-12-07 12:08:29 +08:00
Andrew Nicols 2d2dc7e154 Merge branch 'MDL-80257-main' of https://github.com/meirzamoodle/moodle 2023-12-07 11:42:50 +08:00
Huong Nguyen 2b59df00ef Merge branch 'MDL-80341' of https://github.com/timhunt/moodle 2023-12-07 10:27:37 +07:00
Ilya Tregubov 32459ee6e1 Merge branch 'MDL-79931-main' of https://github.com/lucaboesch/moodle 2023-12-07 11:17:25 +08:00
Paul Holden 608bddeb3d MDL-79839 tool_task: clean task classname parameter prior to use. 2023-12-07 10:53:39 +08:00
Huong Nguyen 39a7a380c9 Merge branch 'MDL-79061-main-2' of https://github.com/junpataleta/moodle 2023-12-07 09:52:11 +07:00
Jun Pataleta d953068659 MDL-79061 course: Create a sr-only mutations logger
* Create SRLogger that extends from the default Logger class. This
logger outputs the feedback to a sr-only ARIA live region to allow
screen readers to announce the feedback from mutations.
* Update the course editor to use the SRLogger.
2023-12-07 10:43:28 +08:00
Ferran Recio d8c0e1880f MDL-79061 core: Mechanism for logging mutation feedbacks
* Create a mechanism for logging mutation feedbacks.
* The mutation feedbacks are displayed as a toast by default.
* Apply this logging mechanism on the course homepage to provide
feedback for the results of actions performed on course modules and
course sections.
2023-12-07 10:43:28 +08:00
Huong Nguyen d7416db402 Merge branch 'MDL-68652-master-1' of https://github.com/ilyatregubov/moodle 2023-12-07 09:31:05 +07:00
Jun Pataleta b47a37a4f2 Merge branch 'MDL-80281_main' of https://github.com/marxjohnson/moodle 2023-12-07 10:16:58 +08:00
Huong Nguyen e1d02270eb Merge branch 'MDL-77136-main' of https://github.com/lucaboesch/moodle 2023-12-07 08:36:27 +07:00
Paul Holden e80696b2b6 MDL-79980 mod_survey: respect activity group mode getting report. 2023-12-07 09:32:25 +08:00
Ilya Tregubov 7c207dce1b MDL-68652 core_grades: Only return allowed fields.
Grade iterator should check user permissions.
2023-12-07 09:14:33 +08:00
Ilya Tregubov b3c12c8219 Merge branch 'MOODLE_master_MDL-73378' of https://github.com/danielneis/moodle 2023-12-07 09:01:25 +08:00
Jun Pataleta c8c6f72e58 Merge branch 'MDL-79761-main' of https://github.com/marinaglancy/moodle 2023-12-07 08:54:21 +08:00
Paul Holden b9f97f705e MDL-80239 grade: escape matched data in user search results. 2023-12-07 08:41:32 +08:00
Paul Holden bdbceebb57 MDL-80287 grade: escape current value in search templates. 2023-12-07 08:35:17 +08:00
Tim Hunt 60d9adf0f2 MDL-79835 behat_core_generator: remove misleading error obfuscation 2023-12-06 18:11:48 +00:00
Jun Pataleta a6ee7e7396 Merge branch 'MDL-80127' of https://github.com/timhunt/moodle 2023-12-06 22:12:25 +08:00
Jun Pataleta 030def7a46 Merge branch 'MDL-80079-master' of https://github.com/andrewnicols/moodle 2023-12-06 21:59:47 +08:00
Ilya Tregubov faae0874ce MDL-68652 mod_forum: Only include gradable users in grading 2023-12-06 21:11:28 +08:00
Ilya Tregubov bfb8ad5735 MDL-68652 core_grades: Refactor grades functions.
get_gradable_users now has extra param to retrieve only active
users. Grade reports hase their own grade_report::get_gradable_users
since they decided whether to inlcude active users from report preferences
2023-12-06 21:11:22 +08:00
Luca Bösch 9c2c8c63de MDL-77136 qtype_randomsamatch: Newest versions for shortanswer questions 2023-12-06 14:02:14 +01:00
Luca Bösch b53ab7e800 MDL-77136 core_question: Newest versions get_questions_from_categories 2023-12-06 14:02:14 +01:00
Tim Hunt c69ee049d1 MDL-80341 quiz: unseen descriptions are not unanswered questonis
This was causing confusing in the 'are you sure you want to submit' confirmation pop-up.
2023-12-06 11:11:59 +00:00
Ilya Tregubov 6172d847f5 Merge branch 'MDL-76109-main' of https://github.com/meirzamoodle/moodle 2023-12-06 15:41:19 +08:00
Huong Nguyen a3608ddbbf Merge branch 'MDL-50650-master' of https://github.com/ilyatregubov/moodle 2023-12-06 14:05:25 +07:00
Stephan Robotta dd07c7c042 MDL-41465 reports: In separate group mode, limit to same 2023-12-06 13:53:28 +07:00
Angelia Dela Cruz 901dc7a660 MDL-80315 block_comments: Removed duplicate Behat test
Deleted the duplicated course comments block behat test. The file
blocks/comments/tests/behat/add_comment.feature is deleted as a
result.
2023-12-06 12:56:00 +08:00
David Woloszyn 64a13123f3 MDL-79759 repository_url: Limit css imports and remove fragments
There are checks to urls that attempt to limit recurrsion when
parse_file is called. This is problematic for css import urls that
can call an indefinite amount of nested import urls. An import limit
has been introduced to address this. Fragments have also been removed.
2023-12-06 03:54:20 +01:00
Stevani Andolo 4b5c79f7d2 MDL-80174 tool_log: ensure "other" data is safely unserialized. 2023-12-06 03:54:20 +01:00
Paul Holden c564a8249a MDL-80268 badges: require capability to view awarded badges. 2023-12-06 03:54:20 +01:00
Paul Holden 0f3e5df4b5 MDL-79797 backup: ensure block config is safely unserialized. 2023-12-06 03:54:20 +01:00
Ilya Tregubov b684ef329e Merge branch 'MDL-79692' of https://github.com/paulholden/moodle 2023-12-06 10:49:42 +08:00
Huong Nguyen a75a20f4ea Merge branch 'MDL-80180-master' of https://github.com/jbs1/moodle 2023-12-06 09:16:06 +07:00
Ilya Tregubov eda5aef1fc Merge branch 'MDL-74248-master-fix_mp3_mod_folder' of https://github.com/praxisdigital/moodle 2023-12-06 10:00:26 +08:00
Sara Arjona 02b188d6c9 Merge branch 'MDL-79216' of https://github.com/paulholden/moodle 2023-12-05 16:46:10 +01:00
Sara Arjona b2abc3288d Merge branch 'MDL-80286' of https://github.com/paulholden/moodle 2023-12-05 16:42:09 +01:00
Sara Arjona 51a70cf44e Merge branch 'MDL-79862-master' of https://github.com/aanabit/moodle 2023-12-05 16:35:20 +01:00
Sara Arjona 9cb654b356 Merge branch 'MDL-79979-main' of https://github.com/aanabit/moodle 2023-12-05 16:16:42 +01:00
Jun Pataleta d9b6450a5f Merge branch 'MDL-73974-main' of https://github.com/junpataleta/moodle 2023-12-05 23:09:51 +08:00
Sara Arjona 7ac70d80b2 Merge branch 'MDL-55640-main' of https://github.com/sammarshallou/moodle 2023-12-05 16:01:49 +01:00
Sara Arjona ac573defdd Merge branch 'MDL-80015-main' of https://github.com/roland04/moodle 2023-12-05 15:51:21 +01:00
Karen Holland f947158b94 MDL-73974 tool_brickfield: Processing alpha fontsizes 2023-12-05 22:49:32 +08:00
Sara Arjona d8b6117a4b Merge branch 'MDL-80254' of https://github.com/paulholden/moodle 2023-12-05 15:45:23 +01:00
Paul Holden 4cd9e76175 MDL-79307 assignfeedback_editpdf: more informative task failure.
If ghostscript is not correctly configured the task will never
succeed, so error out earlier with a more informative exception
explaining this.
2023-12-05 12:20:17 +00:00
Juan Leyva 40734d5afc MDL-73008 tool_policy: Bump version for WS 2023-12-05 10:28:29 +01:00
Juan Leyva 6b2806e745 MDL-73008 tool_policy: New WS to set user acceptances 2023-12-05 10:27:31 +01:00
Juan Leyva 7d7ab3aa1c MDL-73008 tool_policy: New WS to retrieve user acceptances 2023-12-05 10:27:31 +01:00
Juan Leyva f40c196e51 MDL-73008 ws: Return current policy acceptance status 2023-12-05 10:12:56 +01:00
Mikel Martín 8566e704c2 MDL-77124 theme_boost: Final removal of dnd unused styles 2023-12-05 09:18:49 +01:00
Jun Pataleta c643ea197d Merge branch 'MDL-79806_master' of https://github.com/marxjohnson/moodle 2023-12-05 12:48:41 +08:00
Huong Nguyen 4319d6ff4b Merge branch 'MDL-71336' of https://github.com/paulholden/moodle 2023-12-05 11:19:25 +07:00
Jun Pataleta 1d9f2dec58 Merge branch 'mdl64431' of https://github.com/danmarsden/moodle 2023-12-05 12:13:45 +08:00
Huong Nguyen f1b276ca4c Merge branch 'main' of https://github.com/dragos5436/moodle 2023-12-05 10:40:10 +07:00
Ilya Tregubov b43ccea792 MDL-68652 core_grades: Add a webservice to retrive only gradable users. 2023-12-05 09:37:24 +08:00
Ilya Tregubov 9f1b1eb427 Merge branch 'MDL-80043-main' of https://github.com/junpataleta/moodle 2023-12-05 09:10:37 +08:00
Ilya Tregubov aefabc50f5 Merge branch 'MDL-80131-main' of https://github.com/junpataleta/moodle 2023-12-05 09:00:06 +08:00
Marina Glancy aad5cd7c6a MDL-79761 navigation: fix default setting during web installation 2023-12-04 13:04:49 +00:00
Mikel Martín cc8d4b1358 MDL-74778 course: Final removal of format.js
The format.js files in format weeks and format topic were deprecated
since 4.0.
Removing those files and code occurrences.
2023-12-04 12:40:39 +01:00
Juan Leyva 5b61a10040 MDL-80318 course: Always check provider when using comm API in WS 2023-12-04 12:04:04 +01:00
Sara Arjona 33ffa3b6a2 Merge branch 'MDL-80185' of https://github.com/paulholden/moodle 2023-12-04 11:00:38 +01:00
Paul Holden 176ed8e798 MDL-80254 reportbuilder: better handling of deleted users in schedules.
We should verify that schedule and audience users are active accounts,
and that we don't try to send report schedules either from/to them if
they aren't.
2023-12-04 09:48:39 +00:00
meirzamoodle f456416318 MDL-80257 editory_tiny: Implement ui_mode: split
Since version 6.4 and later, TinyMCE had a feature `ui_mode: split`.

It enables support for editors in scrollable containers,
and Moodle has some pages, especially the course pages, that are using the scrollable containers.
Therefore, all workaround that is addressed should be replaced by the feature to avoid future problems
regarding the overflow and the z-index issues.
2023-12-04 16:27:47 +07:00
Paul Holden 70323bc04f MDL-74466 repository: avoid passing around sesskey when not required. 2023-12-04 09:22:27 +00:00
meirzamoodle c9517f2180 MDL-80257 editory_tiny: Remove tox-tinymce-aux z-index
Remove .tox-tinymce-aux from style.css because z-index is already defined in TinyMCE skin.css
2023-12-04 15:57:48 +07:00
Jun Pataleta 04bc690557 Merge branch 'MDL-80221-main-enfix' of https://github.com/mudrd8mz/moodle 2023-12-04 16:12:07 +08:00
Ilya Tregubov 01f6b2f988 MDL-50650 core_grades: Validate minimum grade when importing grades
Also add behat test for max and min grade validation.
2023-12-04 16:03:49 +08:00
Jun Pataleta 1d5ee36809 Merge branch 'MDL-79986-main' of https://github.com/sarjona/moodle 2023-12-04 16:01:37 +08:00
Kyle Matter 68ef883354 MDL-50650 core_grades: allow grade imports larger than 100 points 2023-12-04 12:34:44 +08:00
Jun Pataleta e756edf18d Merge branch 'MDL-79726-main' of https://github.com/sarjona/moodle 2023-12-04 12:09:26 +08:00
Ilya Tregubov 6c5e5bc564 Merge branch 'MDL-74417-manage-sesskeys' of https://github.com/bwalkerl/moodle 2023-12-04 11:35:41 +08:00
Huong Nguyen 7d08697fb9 Merge branch 'MDL-79784-master' of https://github.com/jleyva/moodle 2023-12-04 09:25:11 +07:00
Luca Bösch f10d837fce MDL-79931 mod_glossary: Change edit entry icon from gear to pencil. 2023-12-02 15:57:09 +01:00
Jun Pataleta 5672927c28 MDL-80131 mod_data: Make page titles unique 2023-12-02 07:19:16 +08:00
dragos5436 78e3edf3ef MDL-60632 mod_quiz: Fix chart rendering fail in quiz report
If a quiz activity has negative grading enabled for incorrect answers,
students can achieve overall negative grades in this quiz. If at least
one student achieves a negative grade, the chart at the bottom of the
quiz 'Results' tab will fail to display. This patch add a search for
negative results, removes them from the band below 0 and adds them to
the 0 band. This will make the chart render correctly again.

Co-authored-by: Susana Leitão <sleitao@uporto.pt>
Co-authored-by: Matthias Opitz <m.opitz@ucl.ac.uk>

Removed whitespace at end of lines
2023-12-01 15:17:42 +00:00
Paul Holden 44199688e5 MDL-76719 mod_assign: don't try to load user if there are none. 2023-12-01 13:18:26 +00:00
Rodrigo Mady 5a7afb727e MDL-79296 auth_email: Add extendedusernamechars to get_signup_settings 2023-12-01 09:25:33 -03:00
Paul Holden 3f71011668 MDL-69497 mod_assign: amend preference definitions for current user.
Ensure they can always be updated when using the grader.
2023-12-01 10:34:35 +00:00
Sara Arjona 29b2204b02 Merge branch 'MDL-80238-main' of https://github.com/roland04/moodle 2023-12-01 11:07:57 +01:00
Sara Arjona 564031b183 Merge branch 'MDL-80209-main' of https://github.com/aanabit/moodle 2023-12-01 10:56:02 +01:00
Paul Holden 9c8323c932 MDL-79216 reportbuilder: standardize on filter field unit lang string.
Replace/deprecate specific string identifier with generic version that
was introduced in the commit prior.

AMOS BEGIN
 CPY [filterdurationunit,core_reportbuilder],[filterfieldunit,core_reportbuilder]
AMOS END
2023-12-01 09:39:01 +00:00
Paul Holden 0d9b79fb20 MDL-79216 files: new report filter type for filesize data. 2023-12-01 09:39:01 +00:00
Benjamin Walker b833927648 MDL-74417 admin: Remove sesskey from test settings links 2023-12-01 18:41:50 +10:00
Sara Arjona 032f39aeef MDL-79726 completion: Overall should consider pass/fail states too
In MDL-78744, when the overallcompletion state was added to be displayed
in the activity card, only COMPLETE/INCOMPLETE status were considered.
However, depending on the activity completion settings, there are a
couple of states more that should also be included (COMPLETE_FAIL and
COMPLETE_PASS).

A new method has been added to the cm_completion_details class to
calculate whether a module should be considered or not completed,
based on their completion options and the current value for the
overall complete state.
2023-12-01 09:18:36 +01:00
Sara Arjona dd723bae71 MDL-79986 course: Remove $CFG->linkcoursesections setting
Currently, the $CFG->linkcoursesections setting was only used
for the Classic theme, to let admins decide whether the section
names in the Navigation block would be linked or not.

Now that the course/section.php page has been created to display
the content of any single section, and a link to this section page
has been added from the main course page to help users to focus
on the section content, it has been decided to remove the setting
$CFG->linkcoursesections because it's not required anymore.
2023-12-01 09:17:17 +01:00
Sara Arjona 6792a40924 MDL-79986 course: Create new course/section.php page
The page course/section.php has been created, to display the content of a
single section. This page will only accept sectionid (to get rid of the
legacy sectionnumber).

Some features of this page:
- The General section won't be displayed anymore above the selected
section.
- In the main course page content, regardless of the Course layout ("All
sections on one page" vs "One section per page"), all the section names
will link to the new page (except when editing mode is on).
2023-12-01 09:15:48 +01:00
Sara Arjona d53dc05e9e MDL-79986 output: Add view section action 2023-12-01 09:15:48 +01:00
David Mudrák 7f67a96521 MDL-80221 lang: Use fixed strings in the tests, too 2023-12-01 06:27:36 +01:00
Ilya Tregubov abba174fe1 weekly release 4.4dev 2023-12-01 13:12:19 +08:00
Jun Pataleta 9de014bff1 MDL-80043 grade: Add upgrade.txt notes 2023-12-01 09:07:31 +08:00
Jun Pataleta 87c950e0d0 MDL-80043 gradereport_grader: Define editingmode_title lang string 2023-12-01 09:07:30 +08:00
Jun Pataleta 4b4ced22b5 MDL-80043 grade: editingmode_title support for grade report plugins
* Add support for grade report plugins that define an
`editingmode_title` lang string. If the grade report plugin defines this
 language string, it will be used for the page title's unique
 identifying information when editing mode is turned on.
2023-12-01 09:07:30 +08:00
Jun Pataleta 3f75abcb8d MDL-80043 gradereport_singleview: Improve heading wordings
* Make the headings for the single view easier to read and understand
* When on editing mode, update the heading for the grade and user
screens to convey to the user that the page is currently on editing
mode. This is helpful for screen reader users as they can immediately
know the current display mode of the single view report page when this
gets read via the page title.
2023-12-01 09:07:30 +08:00
Jun Pataleta 7c0eece4c6 MDL-80043 grade: Use heading parameter for the page title if provided 2023-12-01 09:02:00 +08:00
Jay Oswald 248f7e91f2 MDL-79091 core_badges: refactor bades cron task
MDL-79091 core_badges: refactor bades cron task
2023-12-01 10:57:36 +11:00
Jay Oswald 5b5e0aab8c MDL-79091 core_badges: use adhoc tasks 2023-12-01 10:57:23 +11:00
sam marshall 2077ae03f8 MDL-55640 setuplib: test_localcachedir fails sporadically 2023-11-30 13:56:11 +00:00
Juan Leyva 89481f9405 MDL-77054 files: Allow CORS in tokenpluginfile.php 2023-11-30 12:22:26 +01:00
Paul Holden 4ae66c58fd MDL-80286 datafield_date: cast field content to real when sorting.
This ensures we don't under/overflow the size of an integer in DB.
2023-11-30 10:03:04 +00:00
Amaia Anabitarte 1a0a86c1c9 MDL-80209 mod_scorm: Save minimum score completion 2023-11-30 10:37:52 +01:00
Mark Johnson d1a4268839 MDL-79806 quiz_statistics: Queue recalculation on attempt_deleted 2023-11-30 08:54:14 +00:00
Mark Johnson 3fd2fefb5f MDL-79806 mod_quiz: Implement new quiz_attempt_deleted callback 2023-11-30 08:51:51 +00:00
Huong Nguyen e65882f706 Merge branch 'MDL-79616-master' of https://github.com/brunobaudry/moodle 2023-11-30 10:50:58 +07:00
Huong Nguyen a86e4ab133 Merge branch 'MDL-79816-main' of https://github.com/rmady/moodle 2023-11-30 10:40:06 +07:00
Meirza 84b053f088 MDL-76109 core: Don't check password policy for guest user
Besides adding the is_guest() check in the check_password_policy() condition,
I also changed the temporary user ID because the temporary user and
the guest must not share the same ID. Otherwise, it will raise an error.

Co-authored-by: Andrei Bautu <abautu@gmail.com>
2023-11-30 10:35:04 +07:00
Huong Nguyen f2237faca5 Merge branch 'MDL-74378_master' of https://github.com/PhilippImhof/moodle 2023-11-30 10:10:12 +07:00
Ilya Tregubov 37737a92d6 Merge branch 'MDL-79890-master' of https://github.com/andrewnicols/moodle 2023-11-30 10:44:35 +08:00
Huong Nguyen 44838c76b1 MDL-77444 communication: Add missing test coverage information 2023-11-30 09:41:26 +07:00
Huong Nguyen 004e88ee3f Merge branch 'MDL-77444-master' of https://github.com/jleyva/moodle 2023-11-30 09:40:07 +07:00
Ilya Tregubov 42f5a6a022 Merge branch 'MDL-78849' of https://github.com/paulholden/moodle 2023-11-30 10:37:28 +08:00
Huong Nguyen 062965c139 Merge branch 'MDL-77038-master' of https://github.com/ferranrecio/moodle 2023-11-30 09:03:25 +07:00
Ilya Tregubov 6c047687a7 Merge branch 'MDL-79325' of https://github.com/paulholden/moodle 2023-11-30 09:34:18 +08:00
Ilya Tregubov 7bc9cecec2 Merge branch 'MDL-79998' of https://github.com/paulholden/moodle 2023-11-30 09:30:57 +08:00
Sara Arjona c3254b89ff Merge branch 'MDL-80205-main' of https://github.com/aanabit/moodle 2023-11-29 18:41:24 +01:00
Sara Arjona a2c036f83f Merge branch 'MDL-80215-main' of https://github.com/andrewnicols/moodle 2023-11-29 18:00:33 +01:00
Sara Arjona 3b025c058d Merge branch 'MDL-80055-main' of https://github.com/roland04/moodle 2023-11-29 17:44:53 +01:00
Sara Arjona bb1f7f97ca Merge branch 'MDL-79999-main' of https://github.com/ferranrecio/moodle 2023-11-29 17:22:24 +01:00
Mihail Geshoski 1ab7801c0e MDL-80270 gradereport_grader: User row as the last row cannot be sticky
In certain scenarios, a user row can be the last row in the grader
report table. The current logic does not take this into account and
always pins the last row regardless of the type.
This change ensures that the last row is not a user row before executing
the logic responsible for pinning this row.
2023-11-30 00:07:18 +08:00
Jun Pataleta 818c118dbd Merge branch 'MDL-79841-master' of https://github.com/laurentdavid/moodle 2023-11-29 23:48:55 +08:00
Sara Arjona b359f97fda Merge branch 'MDL-79610-main' of https://github.com/roland04/moodle 2023-11-29 16:37:03 +01:00
Ferran Recio cf8f4e08e7 MDL-77038 core_courseformat: deprecate state action section_move
The logic behind section_move is ambiguous and unnecessary complex.
The move modal uses section_move_after which presents a more predictable
behaviour. This issue replace the drag&drop use of section_move by
the new section_move_after and deprecate the old method.
2023-11-29 15:51:42 +01:00
Ferran Recio 93cb5b090a MDL-79999 course: save session cache by id
The course modinfo cache now stores sections no matter the section
number. This will be needed when delegated sections will be implemented.
2023-11-29 15:16:36 +01:00
Sara Arjona 75d75c36ca Merge branch 'MDL-79537' of https://github.com/ssj365/moodle 2023-11-29 13:28:51 +01:00
Mikel Martín d94b14d396 MDL-79610 courseformat: Fix availability restrictions rendering
When duplicating a course module, availability restrictions was not rendering
properly. That happened because 'editing' was not being exported for template
for a single course module. This patch adds 'editing' to the cm exported data.
2023-11-29 13:09:49 +01:00
Paul Holden 0f4064d871 Merge branch 'MDL-79967-main-fix' of https://github.com/junpataleta/moodle into main 2023-11-29 12:03:03 +00:00
Jun Pataleta 590822f16f MDL-79967 mod_scorm: Use only the required field for the query 2023-11-29 18:30:52 +08:00
Jun Pataleta 451eeb63da Merge branch 'MDL-80154-main' of https://github.com/roland04/moodle 2023-11-29 18:23:54 +08:00
Jun Pataleta d3d853bc2d Merge branch 'MDL-79915-main' of https://github.com/sarjona/moodle 2023-11-29 18:11:56 +08:00
Sara Arjona 9e3acd9f06 MDL-79915 backup: Improve the Restore main page
Júlia, from the PX team, has suggested a few improvements to make it easier to
understand the Restore main page:

- Displaying a notification instead of the empty table when there are no files
in an area.
- Improve the copy, removing the help buttons and moving this information to the
main page.
- Replacing "Import a backup file" with "Upload a backup file".
- Adding some space between the different areas.
- Displaying a different text in the different "Manage backup files" buttons.
2023-11-29 09:19:46 +01:00
Jun Pataleta 3bdbedb79a Merge branch 'MDL-79148-master' of https://github.com/ssj365/moodle 2023-11-29 15:20:44 +08:00
Jun Pataleta 323be86576 Merge branch 'mdl79967' of https://github.com/danmarsden/moodle 2023-11-29 12:25:27 +08:00
Huong Nguyen ffe7ae8235 Merge branch 'fix-single-button-rendering' of https://github.com/dominicchinkh/moodle 2023-11-29 10:33:06 +07:00
Huong Nguyen dcdacd260e Merge branch 'mdl80004' of https://github.com/danmarsden/moodle 2023-11-29 09:52:28 +07:00
Huong Nguyen f1187c3937 Merge branch 'MDL-80002-master' of https://github.com/roland04/moodle 2023-11-29 09:33:06 +07:00
Huong Nguyen e67c0b87b1 Merge branch 'MDL-79267' of https://github.com/paulholden/moodle 2023-11-29 09:17:23 +07:00
Huong Nguyen 8db6218f7c Merge branch 'MDL-79512-master' of https://github.com/laurentdavid/moodle 2023-11-29 09:07:21 +07:00
Ilya Tregubov abf3f3bec5 Merge branch 'MDL-73626_master' of https://github.com/marxjohnson/moodle 2023-11-29 10:02:36 +08:00
Huong Nguyen eace000aba Merge branch 'MDL-76694-master' of https://github.com/snake/moodle 2023-11-29 09:00:56 +07:00
Jun Pataleta aa9cc4aad1 Merge branch 'MDL-80181-master' of https://github.com/srobotta/moodle 2023-11-29 09:37:53 +08:00
Jeremy Schulz bd14f574d9 MDL-80180 admin: added readonly support for multicheckbox 2023-11-28 14:25:14 -05:00
Pascal Hamar 38ac75d674 MDL-36733 qtype_calculated: Wildcards in calculated question hints
The placeholders for the hints are properly replaced by this change and any formulas present are replaced.

The validation is performed by the existing function qtype_calculated_find_formula_errors(),
which is called by the calculate() function,
which in turn is called by the variable substituter "vs" using the replace_expressions_in_text() function.

vs -> replace_expressions_in_text() -> calculate() -> qtype_calculated_find_formula_errors().
2023-11-28 19:02:27 +01:00
Mark Johnson 0757441874 MDL-80281 session: Don't report long session locks for readonly sessions
Previously, $CFG->sessionlockdebug was reporting long session locks for
all requests, even if they defined READ_ONLY_SESSION. This change
ensures that only sessions with locks are reported.
2023-11-28 16:20:45 +00:00
Paul Holden a5f4a725b8 MDL-71732 core: final removal of deprecated 400 methods. 2023-11-28 09:16:07 +00:00
Sumaiya Javed fac43ca0f2 MDL-73626 mod_assign: release grades when assignment is anonymous
Adds a new setting, markinganonymous, which if enabled together
with anonymous submissions and marking workflow,
allows markers to release individual grades.
2023-11-28 08:58:10 +00:00
Shamiso.Jaravaza 660f9c13ef MDL-79148 mod_bigbluebuttonbn: fix recording link 2023-11-27 23:56:16 -07:00
Ilya Tregubov 1365ec62de Merge branch 'MDL-79603-master' of https://github.com/andelacruz/moodle 2023-11-28 13:52:47 +08:00
Jun Pataleta d3939d8193 MDL-78294 filter_glossary: Use <strong> to convey semantic meaning
It is better to use <strong> instead of <b> for accessibility as
<strong> is a semantic tag that convey to screen reader users that
the Attachments text is important. <b> on the other hand just makes
the text bold and is only for presentation and has no semantic meaning.
2023-11-28 13:16:00 +08:00
Jun Pataleta 0fe5369869 Merge branch 'MDL-78294-master' of https://github.com/mihailges/moodle 2023-11-28 13:15:50 +08:00
Jun Pataleta ca7e0c26df Merge branch 'MDL-80210' of https://github.com/timhunt/moodle 2023-11-28 10:36:17 +08:00
Amaia Anabitarte 506fdc6d36 MDL-80205 mod_scorm: Remove all Pass grade options from completion 2023-11-27 18:06:12 +01:00
Juan Leyva 4b6750c93a MDL-79784 tool_mobile: Add missing external::format_text 2023-11-27 13:37:58 +01:00
Sara Arjona 929edc410c Merge branch 'MDL-80025-master' of https://github.com/aanabit/moodle 2023-11-27 13:36:06 +01:00
Juan Leyva a8150ea45f MDL-77444 communication: Initial mobile app support 2023-11-27 10:59:23 +01:00
Laurent David 4898b9f123 MDL-79841 theme_boost: Do not remove card borders
* When we are in small screensize we had removed the
left and right borders for cards. This is now restored
2023-11-27 07:23:26 +01:00
Mark Johnson 1fd2f91fa2 MDL-65403 notifications: Create additional database indexes
This adds indexes on the timecreated and timeread columns, which greatly
speeds up the queries used by \core\task\messaging_cleanup_task on large
sites.
2023-11-24 16:01:38 +00:00
Stephan Robotta 4e8c6a8691 MDL-80181 wiki: fix width of left column in comments 2023-11-24 11:18:09 +01:00
Amaia Anabitarte 8b12110dfd MDL-79999 course: Improve section meaning in modinfolib classes
section variables and properties in modinfolib classes
sometimes contain sectionid and some others contain sectionnum.
We need to make the variables and properties more consistent and clear.
2023-11-24 11:03:23 +01:00
Bruno Baudry de4a5d71bc MDL-79616 admin: removed unused strings
In MDL-22425 the function that used 'mymoodleredirect' and
'configmymoodleredirect' has been removed.
2023-11-24 09:26:55 +01:00
Mihail Geshoski 8958667c9a MDL-78294 core_external: Generate the file url based on the request
The file url for each returned area file in get_area_files() is now
generated based on the request type. If AJAX request, a standard file
plugin url will be created. Otherwise, a webservice plugin file will be
created.
2023-11-24 15:57:18 +08:00
Mihail Geshoski 0cf04d9caa MDL-78294 mod_glossary: Remove the redundant showentry_ajax.php
Removes the redundant ajax script showentry_ajax.php that was only
used by the old YUI module in the glossary filter. The new AMD
module now uses web services, and therefore, this script is no longer
used nor required.
2023-11-24 15:57:18 +08:00
Mihail Geshoski df1cc4ac93 MDL-78294 filter_glossary: Replace YUI with an AMD module
Replaces the existing YUI module in the glossary filter with an
AMD module. The auto-linked glossary entries are now obtained
through the existing webservices in mod_glossary and displayed
within a modal utilizing the core/modal js module.
2023-11-24 15:57:18 +08:00
Philipp Imhof e1cb2b3e0b MDL-74378 mod_quiz: make sure timer is initialized 2023-11-24 08:51:41 +01:00
Mihail Geshoski 5f10f82301 MDL-78294 core_external: New return value 'icon' in external_files
New return value 'icon' has been added to the webservice structure
external_files. This return value represents the relative icon path
for a given file. Also, get_area_files() from the core external utility
class now includes this information in its return.
2023-11-24 15:02:20 +08:00
Mihail Geshoski 80d82635dc MDL-78294 core_tag: New 'viewurl' property in tag_item_exporter
New additional property 'viewurl' has been added to the pre-defined
structure in tag_item_exporter. This property represents the URL to
view a given tag.
2023-11-24 15:02:20 +08:00
Huong Nguyen 6374475dc3 weekly release 4.4dev 2023-11-24 12:23:08 +07:00
Huong Nguyen 0eda274a0e Merge branch 'install_master' of https://git.in.moodle.com/amosbot/moodle-install 2023-11-24 12:22:57 +07:00
David Woloszyn 09c1a4caa7 MDL-80229 core: Add tolerance to min_get_minimum_revision 2023-11-24 15:49:16 +11:00
Eloy Lafuente (stronk7) be5bafef04 Merge branch 'MDL-79966-main' of https://github.com/sammarshallou/moodle 2023-11-23 23:40:30 +01:00
sam marshall ed46ee3dc7 MDL-79966 core_task: NEVER_RUN_TIME did not fit in 10 digits 2023-11-23 16:22:27 +00:00
Rodrigo Mady 21d99b155b MDL-79816 block_recentlyaccesseditems: Fix modname type in WS 2023-11-23 13:04:45 -03:00
Mikel Martín 7639cea5a8 MDL-80238 core_privacy: Refactor .jumbotron usage 2023-11-23 16:33:01 +01:00
Paul Holden b7205c5c84 MDL-71336 forms: ensure grouped date elements have unique IDs.
Previously they were each taking the ID of their parent group element.
2023-11-23 12:01:24 +00:00
Tim Hunt e7ab65f68e MDL-80210 quiz: fix default for reviewmaxmarks when upgrading
It is correct that the database default should be 0, to match
other similar columns, but when sites are upgraded, we need
to set the settings for all existing quizzes to match the previous
behaviour.
2023-11-23 10:55:10 +00:00
Ilya Tregubov 61c53f00d2 Merge branch 'MDL-69819-master' of https://github.com/davewoloszyn/moodle 2023-11-23 10:35:07 +08:00
Andrew Nicols 71ab68a7d0 Merge branch 'MDL-79966-main' of https://github.com/sammarshallou/moodle 2023-11-23 10:26:53 +08:00
Ilya Tregubov abf2c568be Merge branch 'mdl67898-check-setting-admintree' of https://github.com/matthewhilton/moodle 2023-11-23 10:25:20 +08:00
Huong Nguyen e93a025823 Merge branch 'MDL-78496-main' of https://github.com/andrewnicols/moodle 2023-11-23 09:22:20 +07:00
Jun Pataleta 690d783f14 MDL-79912 backup: Fix alignment of tertiary navigation border 2023-11-23 10:00:52 +08:00
Jun Pataleta 053c1ddc3d Merge branch 'MDL-79912-main' of https://github.com/sarjona/moodle 2023-11-23 09:57:09 +08:00
Ilya Tregubov ae15c3de69 Merge branch 'MDL-80157_storedfileproblem' of https://github.com/leonstr/moodle 2023-11-23 09:46:31 +08:00
Helen Foster de4f02d809 MDL-80221 lang: Import fixed English strings (en_fix) 2023-11-22 22:48:47 +01:00
Sara Arjona 424c9cb1bd MDL-79912 backup: Create Course reuse index page
The backup/view.php page has been created to display the list of
course reuse actions available for users.
That way, the "Course reuse" option in the secondary navigation
will display this page instead of redirecting to the first action
available.

Apart from that, the headers for all the Course reuse actions have
been homogenised and the tertiary navigation selector has been included,
to replace headers and make it easier navigate between actions.
2023-11-22 18:11:43 +01:00
Mikel Martín 7f95e36604 MDL-80055 core_h5p: Re-style 'Edit H5P content' button 2023-11-22 08:20:46 +01:00
Ilya Tregubov dfb7ecbb03 Merge branch 'MDL-79185-master' of https://github.com/dmitriim/moodle 2023-11-22 11:47:30 +08:00
David Woloszyn 6547554ffa MDL-69819 mod_feedback: Param now nullable in feedback_save_tmp_values 2023-11-22 14:46:51 +11:00
David Woloszyn 78131051a1 MDL-69819 mod_feedback: Fix superfluous br tags in Excel
Co-authored-by: David Woloszyn <david.woloszyn@moodle.com>
2023-11-22 14:46:51 +11:00
Huong Nguyen 90835cd8da Merge branch 'MDL-75673-master' of https://github.com/roland04/moodle 2023-11-22 09:47:35 +07:00
Dmitrii Metelkin 68c725f8b1 MDL-79185 cache: don't throw exception if cache data is corrupted 2023-11-22 12:45:48 +11:00
Ilya Tregubov 6d062ab171 Merge branch 'MDL-78670-main' of https://github.com/rmady/moodle 2023-11-22 09:10:25 +08:00
Andrew Nicols 7b7b618b96 MDL-80215 core: Use correct behat constant 2023-11-22 09:00:35 +08:00
Paul Holden 4be39296d6 MDL-80185 lang: use iso6391 language code for HTML lang attributes.
This resolves accessibility issues where Moodle language pack codes
didn't always map to correspondingly named iso6391 codes.

Where this value is defined in the language configuration, it will
now be used.
2023-11-21 21:37:12 +00:00
Juan Leyva 85a5070be1 MDL-79786 mod: Include purpose for setting icons colours 2023-11-21 12:25:30 -03:00
Mikel Martín ae360a1da0 MDL-80015 course: Fix category 'More' dropdown alignment
Co-authored-by: Stephen Sharpe <stephen.sharpe@synergy-learning.com>
2023-11-21 14:15:27 +01:00
Angelia Dela Cruz b445e72c80 MDL-79828 core_badges: Delete already awarded course badges 2023-11-21 16:11:39 +08:00
Amaia Anabitarte f7fa5cbfbb MDL-79979 tool_generator: Use auto-enrol admin in new courses setting 2023-11-21 08:39:29 +01:00
Matthew Hilton dc7953ccff MDL-67898 antivirus: Add check to admin settings 2023-11-21 12:04:42 +10:00
Matthew Hilton 9b8acd44d1 MDL-67898 check: Add check admin setting
This admin setting allows you to display a check anywhere in the admin
tree. It uses a webservice to execute the check, so the impact on the
admin tree performance is as low as possible.

Checks do not necessarily need to be registered in the plugins callback
to be shown here, allowing customisation of what is shown in the
settings versus the reports.
2023-11-21 12:04:42 +10:00
Matthew Hilton bc4df2af71 MDL-67898 check: Get component if not set by manager 2023-11-21 11:47:26 +10:00
sam marshall 1c4d433d5f MDL-79966 core_task: Scheduled task timing (crontab fields) is wrong 2023-11-20 17:13:21 +00:00
Andrew Nicols 45c816064a MDL-78496 core: Do not run GHA on main branch 2023-11-20 20:21:12 +08:00
Juan Olivares 13860394b0 MDL-74248 mod_folder: Fix mp3 files being unaccessible in chrome
Platform users that host mp3 files within a folder are not able to access them using Chrome. This fix allows them to do so.
2023-11-20 11:30:57 +01:00
Dan Marsden 68991e95de MDL-79967 scorm: Fix scorm_insert_track grading calls. 2023-11-20 22:02:22 +13:00
Amaia Anabitarte b4816367b7 MDL-79862 completion: Improve error handling for default completion 2023-11-20 09:51:21 +01:00
Amaia Anabitarte b21d8e6f34 MDL-80025 core_contentbank: Update delete button colour to text-danger 2023-11-20 09:50:58 +01:00
Huong Nguyen 5b78268593 Merge branch 'MDL-80037-master' of https://github.com/junpataleta/moodle 2023-11-20 14:48:04 +07:00
Huong Nguyen 9623c6be03 Merge branch 'MDL-78426-master' of https://github.com/davewoloszyn/moodle 2023-11-20 14:15:26 +07:00
Huong Nguyen 6d0f351b99 Merge branch 'MDL-79783' of https://github.com/paulholden/moodle 2023-11-20 14:04:55 +07:00
Huong Nguyen b74b80ade1 Merge branch 'MDL-79604-master' of https://github.com/srobotta/moodle 2023-11-20 14:01:02 +07:00
David Woloszyn cbbcacdd8f MDL-78426 core_theme: Move theme's settings to theme card
Theme selector and theme settings have been renamed. Theme admin
section has been removed and contents merged into Appearance category.
2023-11-20 17:05:35 +11:00
Laurent David 2b2cf76577 MDL-79512 mod_feedback: Add toast dialog when saved
* Add notification to notify the user once the changes have been
successfully saved
2023-11-20 06:51:56 +01:00
Laurent David 33391e08c2 MDL-79512 mod_feedback: Fix issue with drag and drop
* A teacher can not change the order of the questions in feedback
as the order is not saved.
2023-11-20 06:51:56 +01:00
AMOS bot 160e36a5c9 Automatically generated installer lang files 2023-11-20 00:10:46 +00:00
Andrew Nicols 525212f2d2 MDL-78496 core: Address phpcs issues with upgrade.php files 2023-11-19 21:20:53 +08:00
Rodrigo Mady 22c114d21d MDL-78670 mod_quiz: Add offline atempt rule for sequential navigation 2023-11-17 20:16:01 -03:00
Andrew Nicols 545b36cd4a MDL-78496 upgrade: remove all the < 4.1.0 upgrade steps
Also includes an upgrade step to prevent upgrading from any
version < 2021112802 (v4.1.0) as anti-cheating measure.
2023-11-17 23:25:36 +08:00
Andrew Nicols 5c68be9b96 MDL-78496 environment: Moodle 4.4 requirements
The only changes to requirements since Moodle 4.3 are increases to:

* the minimum PHP version required; and
* the minimum required Moodle version.
2023-11-17 21:50:28 +08:00
Leon Stringer a1a8facb9b MDL-80157 file: Exception message spelling 2023-11-17 12:49:42 +00:00
Mikel Martín 39a144fedc MDL-80154 theme_boost: Add 'since' version to the deprecated styles 2023-11-17 13:10:58 +01:00
Paul Holden cffa5199b5 MDL-79325 group: consistent name formatting in overview page/export. 2023-11-17 09:48:01 +00:00
Jun Pataleta 181902853c MDL-80037 theme: Indicate when $CFG->theme is defined in config.php
* And prevent selection of theme if $CFG->theme is defined in config.php
2023-11-17 09:25:20 +08:00
Shamiso.Jaravaza 7d9e53bf8f MDL-79537 mod_bigbluebuttonbn: remove size hint 2023-11-16 11:36:30 -07:00
Mikel Martín 712b0b622c MDL-75673 forumreport_summary: Migrate to PopperJS v2 2023-11-16 17:45:42 +01:00
Mikel Martín 1a7732b195 MDL-75673 core: Add popper v2.11.8 lib 2023-11-16 17:45:41 +01:00
Sara Arjona b58d1fd4e2 weekly release 4.4dev 2023-11-16 16:22:29 +01:00
Sara Arjona 4705f52eaf NOBUG: Fixed SVG browser compatibility 2023-11-16 16:22:24 +01:00
Sara Arjona 303cf93cf7 Merge branch 'install_master' of https://git.in.moodle.com/amosbot/moodle-install 2023-11-16 16:22:23 +01:00
Paul Holden 2f213c96ce MDL-78849 user: correct logical operator behaviour for guest button.
Apart from being banned per MDL-74990, it causes a subtle bug here
due to operator precedence.

Co-authored-by: Tom Mayfield <tmayfield@costrack.com>
2023-11-16 11:30:39 +00:00
Huong Nguyen cd2ccc683c Merge branch 'MDL-76457-master' of https://github.com/roland04/moodle 2023-11-16 10:57:59 +07:00
Huong Nguyen 3aa5c60399 Merge branch 'MDL-79714-master' of https://github.com/meirzamoodle/moodle 2023-11-16 10:55:22 +07:00
Huong Nguyen 4cf3f384c3 Merge branch 'MDL-80066' of https://github.com/elza3ym/moodle 2023-11-16 10:52:48 +07:00
Jun Pataleta 79a35d2c90 Merge branch 'MDL-79974-master-3' of https://github.com/andrewnicols/moodle 2023-11-16 11:16:33 +08:00
Ilya Tregubov ddd19a3bf2 Merge branch 'MDL-80121-main' of https://github.com/junpataleta/moodle 2023-11-16 10:00:39 +08:00
Ilya Tregubov 247d5d2823 Merge branch 'MDL-79564_master_v2' of https://github.com/TomoTsuyuki/moodle 2023-11-16 09:33:14 +08:00
Ilya Tregubov 105ae8942a Merge branch 'MDL-79987-master' of https://github.com/sarjona/moodle 2023-11-16 09:29:00 +08:00
Ilya Tregubov fbcf939527 Merge branch 'MDL-75616-master' of https://github.com/davewoloszyn/moodle 2023-11-16 09:22:43 +08:00
Tim Hunt 0336443db6 MDL-80127 question engine: prevent fatal errors from old bad data 2023-11-15 16:34:35 +00:00
Tim Hunt 64bac5f4cc MDL-80127 question engine: don't convert null to '' before storing 2023-11-15 16:34:35 +00:00
Sara Arjona 17ff705d7a Merge branch 'MDL-79981-master' of https://github.com/andrewnicols/moodle 2023-11-15 17:09:52 +01:00
Sara Arjona 638f9fd482 Merge branch 'MDL-79962' of https://github.com/paulholden/moodle 2023-11-15 16:47:33 +01:00
Sara Arjona 2135bbcfe6 Merge branch 'MDL-79697-master' of https://github.com/andrewnicols/moodle 2023-11-15 16:15:40 +01:00
Paul Holden 80ddffea97 MDL-71950 completion: final removal of deprecated help_icon methods. 2023-11-15 15:06:17 +00:00
Andrew Nicols 846892ab07 MDL-79697 core: Coding style updates 2023-11-15 21:24:31 +08:00
Andrew Nicols db556a4ce8 MDL-79697 core: PSR-4 NS can be spread across multiple dirs
The PSR-4 specification does not preclude a single namespaces from
having multiple sources. This is the case for several PSR standards
including standard packagist packages distributed by PSR:

- PSR-7 - HTTP Message Interfaces: \Psr\Http\Message
- PSR-17 - HTTP Factories: \Psr\Http\Message
- PSR-15 - http-server-handler: \Psr\Http\Server
- PSR-15 - http-server-middleware: \Psr\Http\Server
2023-11-15 21:23:27 +08:00
Sara Arjona 242fa32b46 Merge branch 'MDL-80045-master' of https://github.com/roland04/moodle 2023-11-15 13:47:04 +01:00
Sara Arjona ef7bf5a8cd Merge branch 'MDL-79956-master' of https://github.com/ssj365/moodle 2023-11-15 13:31:38 +01:00
Jun Pataleta 3bb574b35a MDL-80121 gradereport_singleview: Increase zero-state heading level
With the h2 heading not being rendered on the zero-state pages of the
Single view report, we need to increase the heading level of the
"Search for a user to view all their grades" and
"Select a grade item above" headings from h3 to h2.
2023-11-15 19:22:57 +08:00
Jun Pataleta 51a6181e16 MDL-80121 grade: Trim heading
In order to prevent rendering an empty heading <h2>, we need to make
sure that the $heading parameter passed to print_grade_page_head() is
not an empty string.
2023-11-15 19:20:55 +08:00
Stephan Robotta 42ef700aff MDL-79604 mod_data: exception if mandatory checkox list is missing 2023-11-15 12:18:41 +01:00
Ilya Tregubov 357fd47e68 Merge branch 'MDL-79996' of https://github.com/paulholden/moodle 2023-11-15 15:23:58 +08:00
Ilya Tregubov 83ec64b4ec Merge branch 'MDL-79949-master' of https://github.com/brunobaudry/moodle 2023-11-15 15:19:37 +08:00
Ilya Tregubov 38f385e450 Merge branch 'MDL-79728' of https://github.com/paulholden/moodle 2023-11-15 15:13:49 +08:00
Tomo Tsuyuki 453eaf6c57 MDL-79564 cli: Add import CLI 2023-11-15 17:36:06 +11:00
Dan Marsden 211cf56a8c MDL-64431 assignfeedback_editpdf: Flatten PDF files 2023-11-15 19:26:08 +13:00
Jake Dallimore c65f392532 Merge branch 'MDL-76588-master-2' of https://github.com/ilyatregubov/moodle 2023-11-15 12:10:59 +08:00
Huong Nguyen 011a606c13 Merge branch 'MDL-73852-master' of https://github.com/ilyatregubov/moodle 2023-11-15 09:32:09 +07:00
Huong Nguyen 2bd28efcbf Merge branch 'MDL-79648-master' of https://github.com/SergioComeron/moodle 2023-11-15 09:13:21 +07:00
Huong Nguyen a8de3289c0 Merge branch 'MDL-79601-master' of https://github.com/roland04/moodle 2023-11-15 09:08:39 +07:00
Andrew Nicols 53416b1c1e MDL-80119 core: Address issues with saner inc/dec operators 2023-11-15 09:16:13 +08:00
Andrew Nicols 75587e23c6 MDL-79890 core: Update uses of array_keys with multiple params
These now call the newly minted `moodle_array_keys_filter` method.
2023-11-15 09:14:40 +08:00
Andrew Nicols 0efbc79e5f MDL-79890 core: Add polyfill for array_keys with filter
This is a Moodle version of a proposed function `array_keys_filter`.

Since this method has not yet been created in upstream PHP, I have
elected to name it with a Moodle prefix as the signature is not known.

In the future, if and when this method is created, we can replace its
content with new method and deprecate it.
2023-11-15 09:14:40 +08:00
Andrew Nicols e734858e55 MDL-79890 core: Session handlers must implement SessionHandlerInterface 2023-11-15 09:14:40 +08:00
Andrew Nicols dfccb3f3c4 MDL-79890 core: Stop using get_class() without args
PHP 8.3 deprecates the use of `get_class()` without arguments. The
following alternatives should instead be used as appropriate:

- `get_class($this)` - The equivalent for instance methods
- `self::class` - The current class

Note that the behaviour of `get_class()` in a static method was
equivalent to `self::class` and _not_ `static::class`. That is to say
that the previous behaviour did not respect late static binding.
2023-11-15 09:14:40 +08:00
Andrew Nicols 898ac0ab6d MDL-79890 core: ReflectionProperties::setValue() should take 2 args
Since PHP 8.3 setValue() must be called with null as the first arg if
called statically.
2023-11-15 09:14:34 +08:00
Angelia Dela Cruz 3443c74ddf MDL-79603 mod_scorm: Behat coverage for Scorm package display options 2023-11-15 08:48:28 +08:00
Sara Arjona f9afe1e273 Merge branch 'MDL-77581-main-fix' of https://github.com/sarjona/moodle 2023-11-14 16:24:09 +01:00
Sara Arjona b957254b3b MDL-77581 lesson: Fix behat random failures 2023-11-14 15:54:56 +01:00
Andrew Nicols dde3333eaa MDL-80079 core: Correct incorrect arg to format_text::$options 2023-11-14 22:28:55 +08:00
Andrew Nicols dab4a2b66f MDL-80079 core: Correct incorrect arg to format_string::$options 2023-11-14 22:28:55 +08:00
Bruno Baudry 2aaba738d1 MDL-79949 admin: removed unused strings
In MDL-25499 a string was added (sub MDL-25505) but never used.
It could be deprecated.
2023-11-14 13:49:51 +01:00
Sara Arjona a70bec51b4 Merge branch 'MDL-77581-master' of https://github.com/dpalou/moodle 2023-11-14 11:52:45 +01:00
Dani Palou 37727401fe MDL-77581 lesson: Fix generator unit tests in oracle 2023-11-14 11:06:20 +01:00
Ilya Tregubov e319f16302 Merge branch 'MDL-79563_master_v2' of https://github.com/TomoTsuyuki/moodle 2023-11-14 16:22:27 +08:00
SergioComeron fe58194444 MDL-79648 core_course: 29 October repeating day 2023-11-13 18:38:44 +01:00
Sara Arjona ff518d3e71 Merge branch 'MDL-77581-master' of https://github.com/dpalou/moodle 2023-11-13 17:19:02 +01:00
meirzamoodle 3ee7968552 MDL-79714 message: Enable all default notifications 2023-11-13 22:15:29 +07:00
Mikel Martín ee3eddc48e MDL-80045 block_starredcourses: Fix cards alignment in small screens 2023-11-13 13:30:56 +01:00
Paul Holden 1807aa1946 MDL-79692 enrol_meta: check for group validity when adding members. 2023-11-13 10:23:08 +00:00
Huong Nguyen dd2e009ad1 Merge branch 'MDL-78334-master' of https://github.com/roland04/moodle 2023-11-13 10:49:08 +07:00
Jun Pataleta 46d3660891 Merge branch 'MDL-77660-master' of https://github.com/call-learning/moodle 2023-11-13 11:46:39 +08:00
Huong Nguyen 9bb5d89ac5 Merge branch 'MDL-74129-master' of https://github.com/sarjona/moodle 2023-11-13 10:43:00 +07:00
David Saylor 863b0822b2 MDL-75616 backup: Use standard temp directory for extraction 2023-11-13 11:04:17 +11:00
AMOS bot 605c4a4dce Automatically generated installer lang files 2023-11-12 00:10:24 +00:00
Sara Arjona 8410cf05e0 MDL-79987 course: Improve one section per page course layout
The following changes have been implemented:
- Activities count instead of group by type.
- Icons before Activities and Progress.
- Arrow icon to navigate to the section.
- Other styling improvements, such as the color for the section name and no hover,
and a separator between the activities summary information and the list of activities
for the highlighted section.
2023-11-10 16:13:45 +01:00
Sara Arjona a0ba7d282a MDL-79987 output: Add i/activities icon 2023-11-10 16:09:10 +01:00
Mikel Martín ce1eefb979 MDL-76457 tool_usertours: Fix tour popovers in RTL 2023-11-10 12:57:23 +01:00
Mikel Martín 76b05082d6 MDL-76457 theme_boost: Fix bootstrap popovers in RTL
- Fix the arrow placement for bootstrap popovers in RTL mode.
- Remove unneded css parser workaround for popover arrows.
  After MDL-67386 was integrated those changes were not needed anymore.
2023-11-10 12:00:06 +01:00
Paul Holden 6a9eadceb6 MDL-79998 reportbuilder: user entity method to get identity fields. 2023-11-10 10:22:51 +00:00
Sara Arjona cb4d9cdcb6 MDL-74129 h5p: Preserve metadata information
The metadata information was not restored when an H5P file was uploaded
(it was saved when it was edited directly from the Content bank, but the
original information in the H5P file was lost).
This patch includes all the metadata fields and its values in the original
H5P file to preserve this information too.
2023-11-10 10:33:06 +01:00
Ilya Tregubov 14414fe253 weekly release 4.4dev 2023-11-10 09:17:11 +08:00
Tomo Tsuyuki 839bf730b9 MDL-79563 cli: Add options for backup/restore CLI 2023-11-10 10:16:31 +11:00
Paul Holden 7c76e9223b MDL-79962 roles: consistent sorting of role entity name column.
The "name" field is typically omitted for default/pre-defined roles,
which should be accounted for when sorting.
2023-11-09 17:03:04 +00:00
Mikel Martín 8bca00cd59 MDL-78334 course: Deprecate .togglecompletion SCSS styles 2023-11-09 17:36:09 +01:00
Mohamed Shehata 52b9a59d79 MDL-80066 form: fix date picker on small screens 2023-11-09 17:39:10 +02:00
Mikel Martín c9c3a34bf1 MDL-78334 behat: Make SCSS deprecation check optional 2023-11-09 13:42:21 +01:00
Mikel Martín eab94ea4c8 MDL-78334 core: Add a mechanism to deprecate SCSS code 2023-11-09 13:42:18 +01:00
Dani Palou c7e7bdf778 MDL-77581 behat: Test create lesson pages using UI 2023-11-09 11:30:57 +01:00
Dani Palou f037f26a62 MDL-77581 behat: Apply new lesson cluster generators to existing tests 2023-11-09 11:30:57 +01:00
Dani Palou cfbfeacae5 MDL-77581 behat: Create generators for lesson clusters 2023-11-09 11:30:57 +01:00
Dani Palou 71dcb7bcc5 MDL-77581 lesson: Fix wrong PHPDoc in some generator functions
While creating the new perform_create_page function I noticed that the PHPDoc return type of the existing functions was wrong
2023-11-09 10:18:43 +01:00
Dani Palou 46088b01c1 MDL-77581 behat: Remove lesson_student_dashboard test file
After f7c476bac5 was integrated, these tests didn't assert anything specific and similar steps are already tested in lesson_navigation
2023-11-09 10:18:43 +01:00
Dani Palou 273251d765 MDL-77581 behat: Apply new lesson generators to existing tests 2023-11-09 10:18:43 +01:00
Dani Palou cec4403678 MDL-77581 behat: Create generators for lesson pages and answers 2023-11-09 10:18:43 +01:00
Laurent David 27f8796c22 MDL-77660 mod_bigbluebuttonbn: Add completion for subplugins
* Add callback to the mod edit form
* Refactor completion class to use addons
* Add new behat and phpunit tests
2023-11-09 08:11:06 +01:00
Shamiso.Jaravaza 7fd20bbbd3 MDL-79956 mod_bigbluebuttonbn: fix import links 2023-11-08 21:49:06 -07:00
Jun Pataleta 23cb36c671 MDL-77325 upgrade: Bump upgrade version number to current day 2023-11-09 12:01:14 +08:00
Jun Pataleta 0bc81f6430 Merge branch 'MDL-77325-master' of https://github.com/davewoloszyn/moodle 2023-11-09 11:42:40 +08:00
Jun Pataleta 1f780ceb90 Merge branch 'MDL-80030-master' of https://github.com/micaherne/moodle 2023-11-09 11:13:16 +08:00
Ilya Tregubov 34b44d2aa0 Merge branch 'MDL-79992-master' of https://github.com/sarjona/moodle 2023-11-09 09:55:26 +08:00
Andrew Nicols 735c40ca73 Merge branch 'MDL-79629-fix' of https://github.com/paulholden/moodle 2023-11-09 08:56:39 +08:00
Dominic Chin 5853645aa5 MDL-80035 theme_boost: Fix fourth argument of single_button constructor 2023-11-09 10:03:32 +11:00
Paul Holden 58d9babe56 MDL-79629 javascript: native promises enhancing autocomplete module.
Preserve existing `enhance` method return of jQuery style promises to
allow calling code to continue relying on that (e.g. when calling old
style `.done` and `.fail`).

Co-authored-by: Andrew Nicols <andrew@nicols.co.uk>
2023-11-08 20:05:35 +00:00
Sara Arjona c94a681c7d Merge branch 'MDL-79827' of https://github.com/paulholden/moodle 2023-11-08 18:10:39 +01:00
Sara Arjona 0688cb5173 Merge branch 'MDL-79975' of https://github.com/paulholden/moodle 2023-11-08 18:02:58 +01:00
Sara Arjona 6f8fcaacd5 Merge branch 'MDL-79620-master' of https://github.com/brunobaudry/moodle 2023-11-08 17:26:16 +01:00
Sara Arjona e537b5c913 Merge branch 'MDL-79781' of https://github.com/paulholden/moodle 2023-11-08 17:19:45 +01:00
Sara Arjona 02838dfae9 Merge branch 'MDL-76555-master' of https://github.com/pmaneggia/moodle 2023-11-08 17:06:12 +01:00
Mikel Martín b340a1395b MDL-79601 report_completion: Fix RTL First/Last name alignment 2023-11-08 16:23:01 +01:00
Mikel Martín 7e02b4baef MDL-79601 report_progress: Fix RTL First/Last name alignment 2023-11-08 16:22:20 +01:00
Dani Palou 869de41ab2 MDL-77581 behat: Support finish_generate_ in generators 2023-11-08 10:15:36 +01:00
Sara Arjona 2fc405aa35 Merge branch 'MDL-79629' of https://github.com/paulholden/moodle 2023-11-08 09:57:30 +01:00
Michael Aherne ec7a03985a MDL-80030 filelib: Fix info type. 2023-11-08 08:51:26 +00:00
Huong Nguyen 5e0b16fa29 MDL-66546 caching: Improve Redis help text 2023-11-08 11:17:45 +07:00
Huong Nguyen 4e112d7f3e Merge branch 'MDL-66546' of https://github.com/mcabro/moodle 2023-11-08 11:15:03 +07:00
Ilya Tregubov 4df21a5ad8 Merge branch 'MDL-79615_master' of https://github.com/marxjohnson/moodle 2023-11-08 10:42:10 +08:00
Huong Nguyen 36677cd883 Merge branch 'MDL-79739-master' of https://github.com/andrewnicols/moodle 2023-11-08 09:23:37 +07:00
Huong Nguyen 400fa8c521 Merge branch 'MDL-79840' of https://github.com/paulholden/moodle 2023-11-08 09:22:57 +07:00
Huong Nguyen 9c0e8ed95d Merge branch 'MDL-78335-master' of https://github.com/elza3ym/moodle 2023-11-08 09:22:25 +07:00
Jun Pataleta fdb78d6431 MDL-78425 admin: Point Clear theme caches to correct URL
* Plus remove unnecessary call to require_once() in theme/index.php
2023-11-08 10:16:35 +08:00
Jun Pataleta 1ad89120ab Merge branch 'MDL-78425-master' of https://github.com/davewoloszyn/moodle 2023-11-08 10:14:11 +08:00
Ilya Tregubov 419c760967 Merge branch 'MDL-79858' of https://github.com/paulholden/moodle 2023-11-08 09:48:50 +08:00
David Woloszyn 103c2bb512 MDL-78425 core_theme: Theme selection now uses cards and modal 2023-11-08 11:10:41 +11:00
Paul Holden 34cc409680 MDL-79267 mod_forum: define report subplugin type language strings. 2023-11-07 09:49:49 +00:00
Huong Nguyen 1e256012a1 Merge branch 'MDL-78953' of https://github.com/pedrojordao/moodle 2023-11-07 15:33:29 +07:00
Andrew Nicols 2f0aac01fb MDL-79981 core: Add ability to manually run and filter phpunit on GHA 2023-11-07 16:14:14 +08:00
Jun Pataleta f5e4a1f487 MDL-80019 mod_bigbluebuttonbn: Use updated completion field names
Field names for the completion conditions have been updated since 4.3.
So the fields names should also be updated in the test.
2023-11-07 13:11:36 +08:00
Jun Pataleta b72a0b28ec Merge branch 'MDL-80019-master' of https://github.com/call-learning/moodle 2023-11-07 13:10:54 +08:00
Laurent David 11aa2dd086 MDL-80019 mod_bigbluebuttonbn: Completion form freeze fix
* When the completion is locked, we should not be able to edit the completion elements
2023-11-06 22:10:16 +01:00
Bruno Baudry 596539aa83 MDL-79620 admin: removed unused strings
In MDL-20204 the function that used 'smartpix' and
'configsmartpix' has been removed.
2023-11-06 16:45:05 +01:00
Paul Holden fd3ae99540 MDL-79728 communication_matrix: deprecate refresh token config strings. 2023-11-06 13:37:11 +00:00
Sara Arjona 48c4fe03c1 Merge branch 'MDL-79646' of https://github.com/paulholden/moodle 2023-11-06 12:45:54 +01:00
Huong Nguyen 49a90873b0 Merge branch 'MDL-77805-master' of https://github.com/roland04/moodle 2023-11-06 16:21:38 +07:00
Sara Arjona 83525446ed Merge branch 'mdl-78650-master-alt-fix' of https://github.com/Fragonite/moodle 2023-11-06 09:50:54 +01:00
Ilya Tregubov 44f1937c57 Merge branch 'MDL-71941-master' of https://github.com/lucaboesch/moodle 2023-11-06 13:43:43 +08:00
David Woloszyn 299b5748ea MDL-77325 core: Upgrades will make Tiny the default editor 2023-11-06 16:28:24 +11:00
Huong Nguyen dfa2fd8445 Merge branch 'MDL-79062-master-2' of https://github.com/junpataleta/moodle 2023-11-06 10:51:05 +07:00
Ilya Tregubov c53b560619 Merge branch 'MDL-79536' of https://github.com/paulholden/moodle 2023-11-06 09:17:14 +08:00
Ilya Tregubov 8d7511b230 Merge branch 'MDL-79446' of https://github.com/paulholden/moodle 2023-11-06 09:13:47 +08:00
Dan Marsden 2f6685dfc7 MDL-80004 scorm: add missing require locallib during course reset. 2023-11-06 11:57:10 +13:00
Andrew Nicols eddae1808b MDL-79974 core: Add Whoops when debugging
Whoops will only be used under the following conditions:

- Not an AJAX request
- Not a CLI usage
- debugdisplay is set
- composer dependencies are installed
- Whoops is available
- The configuration setting is enabled
2023-11-05 21:23:18 +08:00
Paola Maneggia 44d2db0de1 MDL-76555 mod_resource: Fix PHP8.0 type error (legacy resources) 2023-11-05 13:46:04 +01:00
Mikel Martín e6a3598c59 MDL-80002 forumreport_summary: Fix summary report date filtering 2023-11-03 15:45:24 +01:00
Paul Holden 73143443b8 MDL-79996 communication: valid instance checks during user deletion. 2023-11-03 12:54:00 +00:00
Sara Arjona 78f239c890 MDL-79992 backup: Display course backups from activity restore
The Course backup area was not displaying the course backups when
accessing to the Restore page for an activity because the context
was not updated properly for this area.
2023-11-03 12:21:06 +01:00
Ilya Tregubov e37eb30a09 MDL-76588 gradereport_summary: Summary report hack
This is a hack since average is not correct for summary report
when we have suspended users. But since we don't want to change
display to user - it is set to match 4.1 behavior.
2023-11-03 13:46:43 +08:00
Ilya Tregubov 4cae211e4a MDL-76588 gradereport_user: Deprecate calculate_averages
Calculate_average is used instead.
2023-11-03 12:40:55 +08:00
Ilya Tregubov 4a0770d0ca MDL-76588 gradereport_grader: Deprecate get_right_avg_row
Calculate_average is used instead.
2023-11-03 12:40:50 +08:00
Ilya Tregubov d47c36b28b MDL-76588 core_grades: Refactor calculate_average for hidden grades case.
On grader report we include hidden grades in averages calculations.
On user report we don't include hidden grades. So to allow using of
calculate_averages it needs to be refactored for this case.

We also have to add group id param to calculate_average since for
grader report we calculate both overall average and group average
2023-11-03 12:40:46 +08:00
Jake Dallimore 832e394322 MDL-76694 core_comment: exit the js init if the element cannot be found
In pages which result in the theme_boost/embedded template being used,
blocks may be rendered and the resulting HTML ignored, leaving any JS
they may have added to run without a corresponding DOM element to act
on. This fixes that case for comments, making sure we exit gracefully
during the init if the element can't be found.
2023-11-03 10:04:32 +08:00
Ilya Tregubov bf51836399 MDL-73852 enrol_meta: Enable meta enrolment for course upload. 2023-11-03 08:52:15 +08:00
Pedro Jordao 2d73818742 MDL-78953 autocomplete: Add only one empty option when deselecting item.
Each option that was deselected was prepending an empty option in the select.
2023-11-02 18:35:21 -03:00
Mikel Martín 136fa1ef0c MDL-77805 reportbuilder: Improve filter dropdown UI
- Modify the filters dropdown UI to have a fixed height and inner scroll.
This will improve displaying long filter dropdowns.
- Modify the filters dropdown buttons to be always displayed sticked to the bottom.
- Clean unused styles in filters dropdown
2023-11-02 18:08:05 +01:00
Juan Carrera 63a7ce5108 MDL-66546 caching: Add support to unix:// connections to redis. 2023-11-02 16:04:54 +01:00
Luca Bösch 9593d46512 MDL-71941 quiz_grading: use 'gradeverb' core string 2023-11-02 16:02:32 +01:00
Luca Bösch 1e2300fbd6 MDL-71941 core_grades: use 'gradenoun' core string 2023-11-02 16:02:32 +01:00
Luca Bösch 2c9d117574 MDL-71941 mod_lesson: Deprecate 'Grade' string 2023-11-02 16:02:32 +01:00
Luca Bösch 628cb13e87 MDL-71941 mod_quiz: use 'gradenoun' core string 2023-11-02 16:02:32 +01:00
Paul Holden 07bf09c063 MDL-79646 reportbuilder: transition effect after drag/drop in editor. 2023-11-02 14:58:52 +00:00
Paul Holden 4fff2059b8 MDL-79646 javascript: add class to dropped item after drag/drop. 2023-11-02 14:56:26 +00:00
Paul Holden aa304792f9 MDL-79629 reportbuilder: enhance condition/filter selection in editor.
Enhance the select element used for each with the autocomplete module.

Co-authored-by: Mikel Martín <mikel@moodle.com>
2023-11-02 14:50:10 +00:00
Mikel Martín 2ea44fb45e MDL-79629 core_question: Improve autocomplete categories UI 2023-11-02 14:50:10 +00:00
Mikel Martín e9afd7f072 MDL-79629 forms: Improvements to autocomplete form element
- Preserve autocomplete input options classes to the autocomplete suggestions
- Add new styles for suggestions headings
- Add a new class selector form-autocomplete-input so input can be easily selected
  for styling.

Various improvements to make the module more re-usable elsewhere:
change event bubbling, promise argument support when enhancing.

Co-authored-by: Paul Holden <paulh@moodle.com>
2023-11-02 14:50:10 +00:00
Paul Holden 96fc3577f4 MDL-79975 tool_task: correct class attribute table cell property. 2023-11-02 13:15:05 +00:00
Sara Arjona e4d1369475 weekly release 4.4dev 2023-11-02 13:40:38 +01:00
Paul Holden 6b712f5b46 MDL-79536 blog: clarify language around published report column/filter.
Avoid the use of "Yourself" when refering to the draft state of a blog
post, as it can mistakenly be interpreted as referring to the current
user (rather than the user who authored the blog post).
2023-11-02 10:48:11 +00:00
Jun Pataleta 99bcfc1cdb MDL-79062 grade: Behat test fixes
* Feature: We can use a minimum grade different than zero
  - Use correct minimum input values.
  - Use data generators for faster test execution.
* Scenario: Disable category overriding
  - Use the field name to ensure that the correct field is being tested.
2023-11-02 17:33:31 +08:00
Jun Pataleta a8dcfdcbce MDL-79062 grades: Sort-by-name menu item accessibility fixes
* <h6> tags cannot be in table cells. Replace them with <div> tags.
* Group the ascending/descending sort menu items to better indicate
where they belong to.
2023-11-02 17:33:31 +08:00
Jun Pataleta 8b39ae9369 MDL-79062 gradereport_grader: Set numeric type for grade value inputs
* Set grade inputs for grade items with type set to GRADE_VALUE to
number and add min and max input attributes, where necessary.
2023-11-02 17:33:31 +08:00
Paul Holden 28134fe199 MDL-79446 reportbuilder: native support for parameter name suffixes. 2023-11-02 09:27:07 +00:00
Huong Nguyen 279b619f45 Merge branch 'MDL-78903-master' of https://github.com/meirzamoodle/moodle 2023-11-02 10:17:57 +07:00
Huong Nguyen f1278334d8 Merge branch 'MDL-79801' of https://github.com/paulholden/moodle 2023-11-02 10:14:12 +07:00
Ilya Tregubov 540dc05e1c Merge branch 'MDL-70760-master' of https://github.com/vietlx426/moodle-1 2023-11-02 10:20:29 +08:00
Huong Nguyen 2a82f72385 Merge branch 'MDL-79617_master' of https://github.com/marxjohnson/moodle 2023-11-02 09:05:53 +07:00
Jun Pataleta ab08ac740c MDL-79062 gradereport_grader: Remove setting of tabindex >= 1
Tab indices that are greater than or equal to 1 break the natural
tab order of the document and may cause problems for keyboard users.
2023-11-02 09:50:00 +08:00
viettruongq 2375b00a08 MDL-70760 admin: Limited length config setting validate client-side 2023-11-01 22:02:58 +07:00
Alexander Van der Bellen cf021d12c5 MDL-78650 mod_assign: Improve group submission action event handling
Don't return an event action when a group submission has already been submitted
by another student.
2023-11-01 20:24:24 +08:00
Alexander Van der Bellen e77df62887 MDL-78650 mod_assign: Add Behat test 2023-11-01 20:24:24 +08:00
Ilya Tregubov 884efcabd2 Merge branch 'MDL-79337_master' of https://github.com/t-schroeder/moodle 2023-11-01 13:50:33 +08:00
Huong Nguyen 37b7726fce Merge branch 'MDL-79619_master' of https://github.com/marxjohnson/moodle 2023-11-01 09:19:51 +07:00
Huong Nguyen bef72e927b Merge branch 'MDL-79618_master' of https://github.com/marcusgreen/moodle 2023-11-01 09:15:24 +07:00
Daniel Neis Araujo 3632537b5b MDL-73378 gradebook: Category grade null when all subgrades are null 2023-10-31 13:54:04 -03:00
Tim Schroeder b6759e1986 MDL-79337 theme: removed unnecessary setuserpref 2023-10-31 16:58:24 +01:00
Sara Arjona 7eb48b8368 Merge branch 'MDL-79856' of https://github.com/paulholden/moodle 2023-10-31 13:26:22 +01:00
Sara Arjona 78300ba8e3 Merge branch 'MDL-79849-master' of https://github.com/jleyva/moodle 2023-10-31 13:08:10 +01:00
Bruno Baudry 56bee4757c MDL-79606 admin: removed unused strings
In MDL-19430 the function that used 'mycoursesperpage' and
'configmycoursesperpage' strings was removed, so they can
be removed too.
2023-10-31 12:54:31 +01:00
Sara Arjona 70d0295880 Merge branch 'MDL-401-master_brief_name' of https://github.com/oliviervalentin/moodle 2023-10-31 09:59:58 +01:00
Jun Pataleta 5059461e7a Merge branch 'MDL-79853-master' of https://github.com/andrewnicols/moodle 2023-10-31 16:46:12 +08:00
Huong Nguyen ea3a4f296d Merge branch 'MDL-79735-master' of https://github.com/andrewnicols/moodle 2023-10-31 12:48:43 +08:00
Huong Nguyen 4ee2af64dd Merge branch 'MDL-79807_master' of https://github.com/marxjohnson/moodle 2023-10-31 12:48:43 +08:00
Huong Nguyen 6d7c78b7f1 Merge branch 'MDL-79460-master' of https://github.com/HuongNV13/moodle 2023-10-31 12:48:42 +08:00
David Woloszyn 4ecea7c09f MDL-79460 communication_matrix: Re-enabled tests that use new sync route 2023-10-31 09:31:54 +07:00
Jun Pataleta cf2cae4671 Merge branch 'MDL-77326-master-1' of https://github.com/ilyatregubov/moodle 2023-10-31 10:19:01 +08:00
Ilya Tregubov 02878ebd9c MDL-77326 gradereport_summary: Fix modinfo.
Also deprecate methods properly.
2023-10-31 10:15:06 +08:00
Ilya Tregubov 9df50931e0 MDL-77326 gradereport_summary: Use appropriate icons. 2023-10-31 10:15:06 +08:00
Ilya Tregubov f44338eda0 MDL-77326 core_grades: Refactor grade report functions.
Those should be reusable
2023-10-31 10:15:05 +08:00
Meirza 48608e78cd MDL-78903 tiny_h5p: show repositories if editor filepicker type set 2023-10-30 23:30:51 +07:00
Meirza f79e3f450b MDL-78903 tiny_media: show repositories if editor filepicker type set 2023-10-30 23:30:40 +07:00
Sara Arjona 5f03727ce7 Merge branch 'MDL-43820-master' of https://github.com/ilyatregubov/moodle 2023-10-30 10:24:10 +01:00
Jun Pataleta f50d6f1902 Merge branch 'MDL-77274-master' of https://github.com/laurentdavid/moodle 2023-10-30 17:14:59 +08:00
Jun Pataleta 294e3ae41a Merge branch 'MDL-79800-master' of https://github.com/roland04/moodle 2023-10-30 16:40:20 +08:00
Laurent David bef0cb7a34 MDL-77274 core_renderer: Respect full name format in letter avatars
* Make sure that we respect the fullnamedisplay and alternativefullnameformat
parameters to decide on the initials for a given user
* Add further tests

Co-authored-by: Tatsunori Uchino <tats.u@live.jp>
2023-10-30 06:14:18 +01:00
Huong Nguyen 8bb3f25c4f Merge branch 'MDL-79639_master' of https://github.com/marxjohnson/moodle 2023-10-30 11:22:09 +07:00
Jun Pataleta c011fc194d Merge branch 'MDL-79200' of https://github.com/paulholden/moodle 2023-10-27 23:42:07 +08:00
Jun Pataleta e6ea75570d Merge branch 'MDL-78285-master' of https://github.com/sarjona/moodle 2023-10-27 23:39:16 +08:00
Jun Pataleta a634f92b4d Merge branch 'MDL-77804-master' of https://github.com/roland04/moodle 2023-10-27 23:37:00 +08:00
Jun Pataleta c5b11f6eb4 Merge branch 'MDL-79194-master' of https://github.com/laurentdavid/moodle 2023-10-27 23:34:07 +08:00
Marcus Green ebe2c3c5cc MDL-79618 block_timeline: Set web services to read-only
Set the web service functions core_calendar_get_action_events_by_timesort
and core_calendar_get_action_events_by_timesort to use read only
sessions. These functions can hold long session locks
and read-only sessions will prevent them blocking other requests.
2023-10-27 12:59:34 +01:00
Mark Johnson f3fc03e90c MDL-79615 course: Improve efficency of cache rebuilds
When bulk-updating course module visibility, set_coursemodule_visibily
was triggering a partial cache purge and rebuild for each course module.
This potentially led to 2 cache sets each requiring a lock to be
acquired and released per course module, plus any other cache updates
for other changes to the course in the same request.

This adds a new $rebuildcache paramter to the
set_coursemodule_visibilty, which is true by default to retain the
existing behaviour. If set false, it will skip doing the partial purge
and rebuild for that course module, and it is up to the calling code to
ensure the cache is updated as requried.

To assist with this, there is a new
course_modinfo::purge_course_module_cache_multiple() method, which
allows multiple course modules to be purged from the cache in a single
cache set.
2023-10-27 10:50:40 +01:00
Ilya Tregubov 70546d9c1d Merge branch 'MDL-79693' of https://github.com/paulholden/moodle 2023-10-27 16:45:10 +08:00
Jun Pataleta 8709691624 Merge branch 'MDL-77364-master' of https://github.com/sarjona/moodle 2023-10-27 16:34:04 +08:00
Mark Johnson 27edba5d10 MDL-79619 core_message: Set instant messaging web service read-only
Set the web service function core_message_send_instant_messages to use
read-only sessions. This function can take a few seconds to process if
it is sending messages to lots of users, and setting it to use read-only
sessions will prevent it from blocking other requests.
2023-10-27 09:23:06 +01:00
Sara Arjona a5d6a73778 MDL-78285 resource: Reintroduce file icon
The new activity card design, planned for Moodle 4.3, reintroduces
the resource MIME icon that was removed in Moodle 4.0.
2023-10-27 09:44:00 +02:00
Sara Arjona ee59693beb MDL-77364 myoverview: Display course name tooltip
Based on the feedback given by the UX team:
- The text has been increased to display more (50 vs 55).
- A tooltip has been added to display the full course name on hover,
following the accessibility guidelines.
2023-10-27 07:23:53 +02:00
Jun Pataleta 859df15e73 weekly release 4.4dev 2023-10-27 09:43:01 +08:00
Jun Pataleta e6fd239a93 NOBUG: Fixed SVG browser compatibility 2023-10-27 09:42:59 +08:00
Jun Pataleta 60659913c6 Merge branch 'MDL-79768-master-fix' of https://github.com/andelacruz/moodle 2023-10-26 23:06:03 +08:00
Mark Johnson 4552591eaa MDL-79807 quiz_statistics: Clear stats cache when question added/removed 2023-10-26 13:45:14 +01:00
Paul Holden 9e50ae8276 MDL-79858 block_myoverview: correctly export request course button. 2023-10-26 13:33:55 +01:00
Paul Holden 78b841dcd2 MDL-79781 course: detect invalid creator role for pending courses. 2023-10-26 13:16:22 +01:00
Paul Holden 296923845f MDL-79856 roles: use role localname when confirming deletion. 2023-10-26 11:56:26 +01:00
Angelia Dela Cruz 261a39d8e2 MDL-79768 fix: Fixed random failing Behat due to time difference 2023-10-26 18:09:16 +08:00
Ferran Recio 3cb49765a4 MDL-79194 core_courseformat: optimize section reload
* When reloading a section, we also forced the reloading of
course modules, resulting in doing the same work twice (once for
the section reload and once for the course module reload)
* Debounce the reloading process so prevent unwanted duplicate
reloads
2023-10-26 11:03:52 +02:00
Laurent David bbd992dcb6 MDL-79194 core_course: Refresh modules menus with section changes
* Whenever a section is hidden, we need to refresh all contextual (hamburger)
menus of each course modules.
2023-10-26 11:03:52 +02:00
Andrew Nicols a03b0d8927 MDL-79853 core: Add phpunit options to manual runs 2023-10-26 14:48:17 +08:00
Ilya Tregubov 93b2db25ba MDL-43820 enrol_cohort: Override find_instance
For cohort enrol method we can have multiple instances. We can match
those by cohort idnumber and role provided.

Also adding some extra validation and update tests.
2023-10-26 14:27:06 +08:00
Ilya Tregubov b70c7b141f MDL-43820 enrol_self: Override find_instance
This one is bit tricky. find_instance will find first available since
results are not unique...
2023-10-26 14:27:05 +08:00
Ilya Tregubov 200886f8a6 MDL-43820 enrol_manual: Override find_instance
For manual enrol method there can be just one instance.
So we can just match by type
2023-10-26 14:27:04 +08:00
Ilya Tregubov 3ea15bcef1 MDL-43820 enrol_guest: Override find_instance
For guest enrol method there can be just one instance.
So we can just match by type
2023-10-26 14:27:03 +08:00
Ilya Tregubov bf7ff76bcd MDL-43820 enrol: Add method to find plugin enrol instance
When upload courses we need to match instance with provided data.
2023-10-26 14:27:02 +08:00
Jun Pataleta 0b2c6009e4 Merge branch 'MDL-67987-master' of https://github.com/rmady/moodle 2023-10-26 10:58:32 +08:00
Jun Pataleta f84ec259a7 Merge branch 'MDL-79768-master' of https://github.com/andelacruz/moodle 2023-10-26 10:48:25 +08:00
Jun Pataleta 759ea1e49d Merge branch 'MDL-42189-master' of https://github.com/davewoloszyn/moodle 2023-10-26 10:32:18 +08:00
Paul Holden fa3aeb2ef8 MDL-79762 javascript: correct upgrade note fix version. 2023-10-25 23:57:30 +01:00
Paul Holden 5036ebd7d1 Merge branch 'MDL-79762-master' of https://github.com/kabalin/moodle 2023-10-25 23:55:52 +01:00
Juan Leyva cf413635d8 MDL-79849 tool_mobile: Add search disabled features 2023-10-25 17:28:53 +02:00
Ruslan Kabalin afe7f76e14 MDL-79762 core: Add possibility to define modal type for modalform
If `moduleName` param is passed in config object for modalform, it will be
used to instantiate modal class, otherwise 'core/modal_save_cancel' is
used.

Co-authored-by: Marina Glancy <marina@moodle.com>
2023-10-25 15:56:33 +01:00
Mohamed Shehata 5d4f7ab46e MDL-78335 completion: standarize date format based on language 2023-10-25 16:44:01 +03:00
Alexander Van der Bellen 0db9a0d5a1 MDL-78650 mod_assign: Add unit test 2023-10-25 16:45:34 +08:00
Paul Holden 212d668c7a MDL-79840 contentbank: fix references to invalid icon images. 2023-10-25 08:44:30 +01:00
Jun Pataleta f78f1c550a Merge branch 'MDL-79346' of https://github.com/paulholden/moodle 2023-10-25 13:47:00 +08:00
Jun Pataleta 7a38bf77df Merge branch 'MDL-75572-master' of https://github.com/sarjona/moodle 2023-10-25 13:44:44 +08:00
Sara Arjona 95e50b59ea MDL-75572 criteria: Only award badges to sucessfull completions
The UX team confirmed a badge shouldn't be awarded when the criteria
use a passing grade and the user gets a failing grade.
So the COMPLETION_COMPLETE_FAIL status won't be considered
completed for activities with completion that require a passing
grade.
2023-10-25 07:08:03 +02:00
Ilya Tregubov db5bb3e7f6 Merge branch 'MDL-79637-master-fix' of https://github.com/junpataleta/moodle 2023-10-25 09:43:47 +08:00
Jun Pataleta fdbc37c813 Merge branch 'MDL-79782-master' of https://github.com/roland04/moodle 2023-10-24 22:47:54 +08:00
Jun Pataleta 6dc8d74ac5 MDL-79637 core: Fix mistyped and replacement 2023-10-24 21:49:27 +08:00
Jun Pataleta 4cf1da1073 Merge branch 'MDL-79767' of https://github.com/paulholden/moodle 2023-10-24 16:23:26 +08:00
Jun Pataleta 73267a7848 Merge branch 'MDL-79637-master' of https://github.com/andrewnicols/moodle 2023-10-24 10:48:43 +08:00
Paul Holden 9790527f26 MDL-79827 tiny_link: show repositories only if editor filepicker set. 2023-10-23 21:58:59 +01:00
Mark Johnson 9af16bf2bd MDL-79617 repository_upload: Close session early in upload process 2023-10-23 15:31:48 +01:00
Angelia Dela Cruz 46f31447f2 MDL-79768 mod_data: Test for student can see upcoming data activity 2023-10-23 08:52:19 +08:00
David Woloszyn b3b45e31cd MDL-42189 gradereport_overview: Report hidden from suspended enrolments 2023-10-23 09:45:27 +11:00
Paul Holden 2c296861bc MDL-79801 tag: fix report entity flagged column/filter query.
The "flag" field isn't a boolean state (1/0), it's a cumulative
count of how many times the tag has been flagged by users. This
should be accounted for to ensure that column aggregation and
filtering performs correctly.
2023-10-20 14:19:36 +01:00
Mikel Martín 79431c7f3a MDL-79800 courseformat: Fix activity cards right elements margins
- Fix margins in elements displayed in the right side of activity cards.
Replace right margins with left margins to avoid extra space when editing
mode is off and action menu is not displayed.
- Fix groupmode icon spacing when displayed in small resolutions with edit
mode disabled
2023-10-20 15:14:19 +02:00
Paul Holden 72e0fcb156 MDL-79200 files: mimetype filter, plus icon column in report entity. 2023-10-20 13:52:37 +01:00
Paul Holden 259b8f2f97 MDL-79200 theme_boost: styling for medium size icon elements. 2023-10-20 13:52:37 +01:00
Sara Arjona d76e211be6 weekly release 4.4dev 2023-10-20 12:16:08 +02:00
Sara Arjona a10708f37e Merge branch 'install_master' of https://git.in.moodle.com/amosbot/moodle-install 2023-10-20 12:16:04 +02:00
Huong Nguyen 13f1247bc0 Merge branch 'MDL-78775-master' of https://github.com/ilyatregubov/moodle 2023-10-20 09:29:15 +07:00
Ilya Tregubov ff4f9bf9a2 MDL-78775 gradereport_grade: Fix Behat.
Sort by lastname before doing any assertions.
2023-10-20 09:55:20 +08:00
Mikel Martín 3d8dec19f7 MDL-79782 pix: Replace angles- SVGs with Free versions 2023-10-19 15:42:50 +02:00
Paul Holden 5b50a15a9d MDL-79783 theme_boost: remove form-check padding inside table cells. 2023-10-19 14:09:57 +01:00
Mark Johnson 58c0f91375 MDL-79639 quiz_statistics: Prevent database deadlocks
This changes the cache purge code to select IDs for deletion
first, rather than using a subquery in a DELETE, since this
risks causing a deadlock in MySQL.
2023-10-19 08:59:07 +01:00
Huong Nguyen c71df58802 Merge branch 'MDL-79689-master' of https://github.com/andelacruz/moodle 2023-10-19 10:02:45 +07:00
Paul Holden 39c7a685b1 MDL-79767 communication: correct arguments when loading instance. 2023-10-18 22:37:03 +01:00
Sara Arjona 298d136e98 Merge branch 'MDL-79635' of https://github.com/paulholden/moodle 2023-10-18 19:55:42 +02:00
Sara Arjona a8f4a57fc2 Merge branch 'MDL-77651-master' of https://github.com/junpataleta/moodle 2023-10-18 15:47:05 +02:00
Sara Arjona 54b5902f1c Merge branch 'MDL-79747' of https://github.com/timhunt/moodle 2023-10-18 10:28:52 +02:00
Huong Nguyen 2f147dcd30 Merge branch 'MDL-78775-master' of https://github.com/ilyatregubov/moodle 2023-10-18 12:55:22 +07:00
Ilya Tregubov cb2cf0602d MDL-78775 core_grades: Fix Behat 2023-10-18 12:54:28 +08:00
Huong Nguyen 0b9e0e1b1a Merge branch 'MDL-79705' of https://github.com/paulholden/moodle 2023-10-18 09:35:45 +07:00
Huong Nguyen 96c8642ed8 Merge branch 'MDL-78979' of https://github.com/paulholden/moodle 2023-10-18 09:22:58 +07:00
AMOS bot a61532759d Automatically generated installer lang files 2023-10-18 00:11:13 +00:00
Rodrigo Mady bdbe9e2dc1 MDL-67987 core: Deprecate unused password recovery strings 2023-10-17 20:20:22 -03:00
Paul Holden da6ef4ac1d MDL-79705 reportbuilder: remove checkbox field callback handling.
We no longer need special handling of this field type, because it
now returns language strings rather than HTML markup for a checkbox
element on display.
2023-10-17 16:51:26 +01:00
Paul Holden cb32f17584 MDL-79705 profilefield_checkbox: display data as simple Yes/No. 2023-10-17 16:51:26 +01:00
Jun Pataleta 7ad1f922f3 MDL-77651 calendar: Hide left/right arrow characters
* Hide the arrow characters for the calendar templates so they won't be
read out by screen readers and avoid confusion for screen reader users.
2023-10-17 23:51:24 +08:00
Jun Pataleta 1310401056 MDL-77651 core: Hide left/right arrow characters for link_arrow_xx()
* The arrow characters in link_arrow_right() and link_arrow_left()
functions get announced by screen readers. This causes confusion
and is unnecessary.
2023-10-17 23:51:23 +08:00
Tim Hunt ec0c4e18ad MDL-79747 quiz stats: task should run as admin the right way
The correct way to get an ad-hoc task to run as the main admin account
is to leave userid as null.

Setting it causes fatal errors if the main admin account is set to
auth: nologin.
2023-10-17 16:38:44 +01:00
Sara Arjona cc02c2eae3 Merge branch 'MDL-78481-master' of https://github.com/iarenaza/moodle 2023-10-17 17:15:09 +02:00
Paul Holden 5bec400483 MDL-79693 output: remove embedded toast region from clipboard modal.
This was causing the toast notification upon the clipboard action
result to immediately disappear as the modal was closed. The toast
module can happily handle this for us itself, so remove from the
template.
2023-10-17 08:20:54 +01:00
Andrew Nicols 06965b823e MDL-79739 core: Only run some tests in separate processes 2023-10-17 12:18:37 +08:00
Huong Nguyen b3f32d6ad7 Merge branch 'MDL-78775-master' of https://github.com/ilyatregubov/moodle 2023-10-17 10:46:25 +07:00
Ilya Tregubov f51b23bdec Merge branch 'MDL-79691-master' of https://github.com/andelacruz/moodle 2023-10-17 10:28:07 +08:00
Huong Nguyen 347e53c07b Merge branch 'MDL-79367-master' of https://github.com/sarjona/moodle 2023-10-17 09:17:30 +07:00
Angelia Dela Cruz 90fff90a68 MDL-79689 mod_assign: Behat for enabling anonymous submissions 2023-10-17 09:54:18 +08:00
Andrew Nicols 0e05d93d3a MDL-79735 core: Drop PHP 7 support for component_callback 2023-10-17 09:48:48 +08:00
Paul Holden 944e158d35 MDL-78979 mod_data: correct restore decode rule for data view page. 2023-10-16 20:52:19 +01:00
Angelia Dela Cruz 2888997710 MDL-79691 mod_h5pactivity: Behat coverage for H5P activity grades reset 2023-10-16 16:45:47 +08:00
Sara Arjona 8556acde4c Merge branch 'MDL-79566-master' of https://github.com/HuongNV13/moodle 2023-10-16 09:53:42 +02:00
Ilya Tregubov cdd95d883f Merge branch 'MDL-79365' of https://github.com/paulholden/moodle 2023-10-16 14:07:32 +08:00
Sara Arjona 9ced468959 MDL-79367 availability: Fail grade does not mark activities as completed
The UX team confirmed that an activity shouldn't be considered completed
when the criteria use a passing grade and the user gets a failing grade.
So the COMPLETION_COMPLETE_FAIL status won't be considered
completed from now on.
2023-10-16 07:51:27 +02:00
Huong Nguyen 5209baef9e Merge branch 'MDL-79698-master' of https://github.com/andrewnicols/moodle 2023-10-16 11:39:39 +07:00
Huong Nguyen 7d55464846 Merge branch 'MDL-79653-master' of https://github.com/andelacruz/moodle 2023-10-16 10:54:15 +07:00
Huong Nguyen 29ca85b924 Merge branch 'MDL-79352' of https://github.com/paulholden/moodle 2023-10-16 10:41:04 +07:00
Huong Nguyen bacd506fdf MDL-79566 tiny_autosave: Add Javascript submission handler 2023-10-16 09:29:10 +07:00
Paul Holden bfbee3a279 MDL-79365 customfield_textarea: ensure field uniqueness is correct. 2023-10-13 14:29:57 +01:00
Andrew Nicols 37092a6485 MDL-79693 core: Move toast regions to document on modal close 2023-10-13 14:16:52 +01:00
Paul Holden 934a851705 MDL-79346 cohort: add "visible" filter/condition to report source.
Add to report as part of default setup.
2023-10-13 10:52:22 +01:00
Andrew Nicols 9942c14856 MDL-79698 core: Correct duplicate array key in test provider 2023-10-13 15:43:47 +08:00
Ilya Tregubov 9048eb1e53 MDL-78775 core_grades: Fix saving on grader report page
When we have a pagination on grader page and search for user
that is not on first page, saving was throwing an error
since page didn't have enough data
2023-10-13 14:08:31 +08:00
Ilya Tregubov 23b86254d3 weekly on-sync release 4.4dev 2023-10-13 13:40:31 +08:00
Angelia Dela Cruz 2f728f2c0f MDL-79653 gradingform_guide: Behat coverage for deleting marking guide 2023-10-13 10:31:38 +08:00
Huong Nguyen c3e2142af6 Merge branch 'MDL-79638-master' of https://github.com/andrewnicols/moodle 2023-10-12 11:06:39 +07:00
Ilya Tregubov 1a884ac0f1 Merge branch 'MDL-79160-master' of https://github.com/danghieu1407/moodle 2023-10-12 09:43:16 +08:00
Ilya Tregubov a996991f80 Merge branch 'MDL-79422-master' of https://github.com/andrewnicols/moodle 2023-10-12 09:09:09 +08:00
Ilya Tregubov 4941a8d50f Merge branch 'MDL-79562-master' of https://github.com/lameze/moodle 2023-10-12 09:06:05 +08:00
Simey Lameze 5ea4bbe1b9 MDL-79562 behat: make verification step more specific 2023-10-12 08:12:59 +08:00
Paul Holden e19c4e89d1 MDL-79446 reportbuilder: optional $suffix for generated alias/params.
Allows for, and documents, intended usage when the result of these
methods is used elsewhere (e.g. in `$DB->get_in_or_equal`).
2023-10-11 15:10:39 +01:00
Jun Pataleta fe671e36ae Merge branch 'MDL-79611' of https://github.com/paulholden/moodle 2023-10-11 18:16:29 +08:00
Jun Pataleta 52e614ebda Merge branch 'MDL-79633' of https://github.com/paulholden/moodle 2023-10-11 13:40:43 +08:00
Huong Nguyen 765e24d907 Merge branch 'MDL-78103-master' of https://github.com/HuongNV13/moodle 2023-10-11 11:24:18 +07:00
chen levy 370b349aa3 MDL-78103 theme: Fixed dropdown menu size by the content 2023-10-11 11:07:32 +07:00
Jun Pataleta 7fed0da5a3 Merge branch 'MDL-79614-master' of https://github.com/safatshahin/moodle 2023-10-11 11:04:09 +08:00
Andrew Nicols 49fc711a07 MDL-79637 testing: Update for current coding standards 2023-10-11 09:39:53 +08:00
Andrew Nicols 99a6cd12b2 MDL-79637 phpunit: Do not reset DB during init of isolated tests
During the bootstrap of PHPUnit we ensure that the database has been
reset to its initial state.

We do this by checking the internally-stored DB write count between
runs. If the count is not yet set (null), or it has been increased, we
force a reset.

When running an isolated test the test runner resets the database, it
then sets up a new isolated test environment by writing a new PHPUnit
test case and passing it to a new PHP Process using standard in. As part
of this, the bootstrap is run for that process.

Because we are in a new process, the db write count is fresh and not yet
set. This has been leading to an additional db reset before the isolated
test.

To handle this we want to _not_ perform a reset during the
initialisation for isolated runs. We know that the DB is in a fresh
state before we start the run.

To support this we need to know whether the test is an isolated test
during the bootstrap, which means we cannot use the previous approach to
calculating this.

Instead we look at the PHP_SELF value. PHP sets this to "Standard input
code" when run from stdin, instead of running a file.

There should not be any other legitimate reason to run a PHPUnit
bootstrap via this stdin approach.

Unfortunately this approach is a little bit risky as it depends on the
presence of a specific string, however this string has been in place
since 2016, and there is no legitimate way of calculating this.

I did consider looking at whether the called script included `/vendor/`
and `/phpunit`, but this is also likely a risky approach if someone
calls PHPUnit in an unexpected way.

This approach is itself unit tested so any change to PHP's stdin string
before we deprecate this approach entirely in 12 months time will be
caught.
2023-10-11 09:29:26 +08:00
Paul Holden 9117e62a4d Merge branch 'MDL-79642-q_tags_off' of https://github.com/leonstr/moodle 2023-10-10 21:18:53 +01:00
Andrew Nicols e6b32722ac MDL-79638 phpunit: Add unit test for increment resets 2023-10-11 00:10:33 +08:00
Andrew Nicols 9741db47f7 MDL-79638 phpunit: Remove mysql/mariadb hack
This hack was introduced to work around a bug in MySQL 5.6.14 and
MariaDB at the time.

https://bugs.mysql.com/bug.php?id=69882

It was addressed a few months later in 5.6.16, and 5.7.4.
MariaDB merged version 5.6.16 of MySQL's InnoDB engine in MariaDB
10.0.11 and got hte patch from there.

Moodle has required MySQL 8.0, and MariaDB 10.6.7 since Moodle 4.2 and
it is therefore safe to remove these hacks.
2023-10-10 23:35:26 +08:00
Sara Arjona 512bc8d126 Merge branch 'MDL-79623-master' of https://github.com/PhMemmel/moodle 2023-10-10 16:19:14 +02:00
Mikel Martín c5ee19b29c MDL-77804 reportbuilder: Improve horizontal filter forms UI
- Separate Inline forms styles in a different section and improve them
- Re-organize the styles and comments to improve readability and mantainability
- Make defined variables overridable
2023-10-10 15:15:13 +02:00
Sara Arjona 7b83434dbf Merge branch 'MDL-79626-master' of https://github.com/junpataleta/moodle 2023-10-10 15:13:02 +02:00
Sara Arjona 0b8668c793 Merge branch 'MDL-79625-master' of https://github.com/junpataleta/moodle 2023-10-10 13:29:56 +02:00
Leon Stringer 35c7163184 MDL-79642 qbank_tagquestion: Fix Return type err
Previously if $CFG->usetags was not enabled the course question bank
page would show:

  Exception - qbank_tagquestion\plugin_feature::get_question_filters():
  Return value must be of type array, none returned

This is now fixed.
2023-10-10 12:14:34 +01:00
Paul Holden be8f3f2788 MDL-79635 group: ensure unique params used to determine visibility.
Or we'll trigger DML "Incorrect number of query parameters" exception.
2023-10-10 10:06:06 +01:00
Sara Arjona c43017e1f9 Merge branch 'MDL-77816' of https://github.com/paulholden/moodle 2023-10-10 09:21:21 +02:00
Ilya Tregubov 1a34928531 Merge branch 'MDL-79501-master' of https://github.com/geichelberger/moodle 2023-10-10 15:05:32 +08:00
Ilya Tregubov d79e8052fb Merge branch 'MDL-79279' of https://github.com/timhunt/moodle 2023-10-10 11:19:27 +08:00
Jun Pataleta 9beff03a96 MDL-79626 upgrade: add the 4.3.0 separation line to all upgrade scripts 2023-10-10 10:44:17 +08:00
Ilya Tregubov f54071f922 Merge branch 'MDL-71414-master' of https://github.com/laurentdavid/moodle 2023-10-10 10:09:05 +08:00
Jun Pataleta ecde0bb902 MDL-79625 backup: Bump release to 4.3 2023-10-10 10:06:51 +08:00
Paul Holden 2a07f77406 MDL-79633 mod_data: correct timemodified tag replacement attribute. 2023-10-09 19:26:10 +01:00
Paul Holden 3893c99825 MDL-79352 admin: fix links to tool plugin management page. 2023-10-09 15:11:11 +01:00
Paul Holden dc01be8c54 MDL-79611 group: early exit getting members of non-existing group. 2023-10-09 15:00:14 +01:00
Paul Holden 4df9222f51 MDL-77816 mod_bigbluebuttonbn: feedback when validating completion. 2023-10-09 14:58:03 +01:00
Yannick Schillinger cad2aedf59 MDL-77816 mod_bigbluebuttonbn: Fix completionValidate argument format 2023-10-09 14:58:03 +01:00
Laurent David 753909325d MDL-71414 mod_h5pactivity: Add a new "None" message
* In matching types of questions, sometimes the user does not answer all
questions. We now display "None" in the result report. The answer can
be either correct or incorrect.
* Fix "unknown" answer constant name.
2023-10-09 11:44:30 +02:00
Laurent David 830b19649e MDL-71414 mod_h5pactivity: Fix issue with drop down report
* Drag and Drop report were missing answers when target could be dropped on multiple
drop zones.
2023-10-09 11:44:29 +02:00
Jun Pataleta 769c67045f weekly back-to-dev release 4.4dev 2023-10-07 12:00:36 +08:00
Philipp Memmel 8c8a11939b MDL-79623 tool_componentlibrary: Fix correct modal content attribute 2023-10-06 13:15:36 +00:00
Safat f3dba5b195 MDL-79614 communication_matrix: Add missing call for sync flag 2023-10-06 17:46:08 +11:00
danghieu1407 5174e4e36d MDL-79160 Question: Answer field overflows parent width with large size 2023-10-05 10:57:51 +07:00
Gregor Eichelberger 91135c5305 MDL-79501 tiny: Fix editing multiple videos
The selection gets lost while opening the modal dialogue to update an
embedded media. Caching the current selection allows us to update the
previously selected node instead of updating the first embedded media.

Signed-off-by: Gregor Eichelberger <gregor.eichelberger@tuwien.ac.at>
2023-09-29 14:07:44 +02:00
oliviervalentin 634d1a3dcd MDL-79510 report_configlog : implement filtering by plugin. 2023-09-28 16:28:54 +02:00
Andrew Nicols 3720532cb2 MDL-79422 ajax: Update service.php for coding style 2023-09-20 16:03:12 +08:00
Andrew Nicols 7f569fc1f1 MDL-79422 ajax: Allow no-login WS calls to fetch after a failure 2023-09-20 16:02:31 +08:00
Tim Hunt 1437ed51ef MDL-79279 qformat_xml: multianswer import should support idnumber
Fix suggested by Georg Maißer.
2023-09-07 11:40:48 +01:00
Luca Bösch 8cfb805e3c MDL-68674 theme: Have block headers have h3 class="h5". 2023-08-12 07:27:57 +02:00
Iñaki Arenaza ca93d7eccc MDL-78481 mod_lesson: matching pagetype applying filters fix 2023-07-31 16:22:30 +02:00
19205 changed files with 880135 additions and 706054 deletions
+3 -1
View File
@@ -1,3 +1,5 @@
**/yui/build/** -diff
**/amd/build/** -diff
lib/dml/oci_native_moodle_package.sql text eol=lf
**.js.map -diff
**-min.js -diff
**.min.js -diff
+1 -1
View File
@@ -1,2 +1,2 @@
# Primary donations pages.
custom: ["https://moodle.com/donations/", moodle.org]
custom: ["https://moodle.com/donations/", "https://fund.moodle.org"]
+7
View File
@@ -0,0 +1,7 @@
*** PLEASE DO NOT OPEN PULL REQUESTS VIA GITHUB ***
The moodle.git repository at Github is just a mirror of the official repository. We do not accept pull requests at Github.
See CONTRIBUTING.md guidelines for how to contribute patches for Moodle. Thank you.
--
+6
View File
@@ -0,0 +1,6 @@
> [!IMPORTANT]
> PLEASE DO NOT PUBLISH SECURITY FINDINGS PUBLICLY.
If you discover a potential security issue, please report it via our [Security Submission Form](https://moodle.org/security/report).
For more information about our security processes and responsible disclosure policy, see the [Security Procedures documentation](https://moodledev.io/general/development/process/security).
+1
View File
@@ -0,0 +1 @@
<svg id="Layer_1" data-name="Layer 1" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1231.24 314.44" preserveAspectRatio="xMinYMid meet"><defs><style>.cls-1{fill:#f48020;}.cls-2,.cls-3{fill:#383738;stroke:#4a4a4c;}.cls-2{stroke-width:2.37px;}.cls-3{stroke-width:2.38px;}.cls-4{fill:#585858;}</style></defs><title>Moodle_Logo_UseonBlack_RGB</title><path class="cls-1" d="M1086.3,235.34a53.42,53.42,0,0,0,16.71,29q13.26,12.27,29.48,12.27,11.29,0,24.56-5.89,16.23-6.88,16.22-16.22l58-.49q-12.29,29-41.76,45.2-27.52,15.23-60.43,15.24-42.25,0-70-26.29t-27.75-68.54q0-43.73,27.75-69.51t72-25.8q48.15,0,75.17,31.94,25.07,29.47,25.06,79.1Zm89.91-33.91q-3.43-17.69-14.73-29-12.8-12.28-29.49-12.29-17.21,0-28.74,11.79t-15.47,29.48Z"/><path class="cls-1" d="M965.45,308.54V0h55V308.54Z"/><path class="cls-1" d="M892.69,308.54V290.36q-7.38,9.83-25.06,15.72a92.31,92.31,0,0,1-30,5.41q-39.31,0-63.13-27T750.7,217.65q0-39.3,23.34-65.84t62.15-26.53q43.71,0,56.5,23.58V0h53.55V308.54Zm0-102.68q0-14.75-14-28.26t-28.74-13.51q-21.12,0-33.41,17.2-10.8,15.24-10.8,37.33,0,21.63,10.8,36.85,12.29,17.71,33.41,17.69,12.78,0,27.76-12t15-24.81Z"/><path class="cls-1" d="M647,313.45q-41.77,0-69-26.53t-27.27-68.3q0-41.73,27.27-68.28t69-26.53q41.75,0,69.27,26.53t27.52,68.28q0,41.79-27.52,68.3T647,313.45ZM647,168q-19.89,0-30.58,15.07t-10.68,35.79q0,20.73,9.94,35.05,11.43,16.31,31.32,16.28t31.32-16.28q10.44-14.31,10.44-35.05t-9.94-35Q667.42,168,647,168Z"/><path class="cls-1" d="M448.07,313.45q-41.76,0-69-26.53t-27.27-68.3q0-41.73,27.27-68.28t69-26.53q41.74,0,69.28,26.53t27.5,68.28q0,41.79-27.5,68.3T448.07,313.45Zm0-145.43q-19.89,0-30.59,15.07t-10.69,35.79q0,20.73,9.94,35.05,11.43,16.31,31.34,16.28t31.32-16.28q10.42-14.31,10.44-35.05t-9.94-35Q468.45,168,448.07,168Z"/><path class="cls-1" d="M288.89,309.11V201q0-33.9-28-33.9t-28,33.9V309.11h-55V201q0-33.9-27.52-33.9-28,0-28,33.9V309.11h-55V194.65q0-35.37,24.56-53.54,21.61-16.22,58.46-16.22,37.35,0,55,19.16,15.23-19.16,55.51-19.16,36.86,0,58.45,16.22,24.57,18.16,24.57,53.54V309.11Z"/><path class="cls-2" d="M.76,145.76"/><path class="cls-3" d="M1.73,145.32"/><path class="cls-4" d="M173.86,116.85l55.08-40.1-.7-2.44C135,83.92,80.42,96.44,0,144.13l.73,2.38,21-.67c15.17.52,30.85,1.26,46,1.32-1,24.09.83,32.65.83,32.65,51.92,17.58,101.22,1.53,127.14-43.9A248.72,248.72,0,0,0,173.86,116.85Z"/><path class="cls-4" d="M113.78,110c-.3-1.08-2.23-1.48-4.28-.9a4.73,4.73,0,0,0-3.14,2.19c-18.53,5-49.16,13.72-70.73,21l-1.33.45c-16.68,5.61-24.73,8.49-25.22,12.55-2.29,18.44-.87,42.18-.86,42.48l.19,6.4c-9.74,27.56.06,49.6,8.38,69.77.06-24.92,1.07-45.22-6-71-.2-3.82-1.49-30.36.61-47.34.34-2.75,11.65-6.56,23.63-10.59l1.33-.44c22-7.42,53.57-16.39,71.9-21.29a6.75,6.75,0,0,0,2.29-.25C112.64,112.43,114.08,111.09,113.78,110Z"/></svg>

After

Width:  |  Height:  |  Size: 2.7 KiB

+31
View File
@@ -0,0 +1,31 @@
name: 'Close Pull Requests'
on:
pull_request_target:
types: opened
workflow_dispatch:
jobs:
close:
# Avoid forks to run this job
if: github.repository_owner == 'moodle'
name: Close Pull Requests
runs-on: ubuntu-latest
steps:
- uses: dessant/repo-lockdown@v4
with:
process-only: prs
close-pr: true
skip-closed-pr-comment: true
pr-comment: >
**Please, don't open pull requests via GitHub.**
This repository (moodle.git) at GitHub is just a mirror of the official Moodle repository.
For how to contribute patches for Moodle see
[CONTRIBUTING.md](https://github.com/moodle/moodle/blob/main/CONTRIBUTING.md).
Closing this pull request.
+1 -1
View File
@@ -45,7 +45,7 @@ $CFG->admin = 'admin';
$CFG->directorypermissions = 0777;
// Debug options - possible to be controlled by flag in future.
$CFG->debug = (E_ALL | E_STRICT); // DEBUG_DEVELOPER.
$CFG->debug = (E_ALL); // DEBUG_DEVELOPER.
$CFG->debugdisplay = 1;
$CFG->debugstringids = 1; // Add strings=1 to url to get string ids.
$CFG->perfdebug = 15;
+143
View File
@@ -0,0 +1,143 @@
name: One by One Testing
# Run all the individual unit tests one by one, with
# fully independent PHPUnit executions. Useful to
# detect issues with some tests that are using stuff
# that has been made available by others, but is not
# available when running individually.
#
# Note that we aren't using PHPUnit's own isolation
# here but completely separated runs, one for each
# test.
#
# The workflow will fail reporting all the tests
# that have failed (and will pass if no failure is
# detected, of course).
#
# It's only executed via workflow dispatch (automated
# or manual), not by push/tag. And acceptd configuration
# of phpunit, specially useful to run it with PHPUnit's
# own isolation or any other option.
on:
workflow_dispatch:
inputs:
phpunit_extra_options:
description: Additional options to apply to PHPUnit
required: false
default: ''
env:
chunks: 7
jobs:
collect:
name: Collect individual unit tests
runs-on: ubuntu-latest
outputs:
matrix: ${{steps.individual-tests.outputs.matrix }}
steps:
- name: Checking out code
uses: actions/checkout@v4
- name: Looking for all individual tests
id: individual-tests
run: |
count=0 # Number of individual tests found.
while read -r testfile; do # For each test file.
while read -r testname; do # For each unit test in a file.
count=$((count + 1))
# Sent it to the correct chunk file.
chunk=$(((($count % $chunks)) + 1))
echo "$testname $testfile" >> ./chunk_$chunk.txt
done < <(grep "function test_" "${testfile}" | sed -r "s/^.*function (test_[a-zA-Z0-9_]+).*/\1/")
done < <(find . -name "*_test.php")
# Generate the matrix to run tests.
echo "matrix=$(ls -1 chunk_*.txt | jq -R -s -c 'split("\n")[:-1]')" >> $GITHUB_OUTPUT
echo "$count individual tests collected in $chunks files"
- name: Upload individual tests files
uses: actions/upload-artifact@v4
with:
name: individual_tests
path: chunk_*.txt
retention-days: 1
test:
name: Run tests
needs: collect
runs-on: ubuntu-latest
services:
exttests:
image: moodlehq/moodle-exttests
ports:
- 8080:80
redis:
image: redis
ports:
- 6379:6379
strategy:
fail-fast: false
matrix:
file: ${{ fromJson(needs.collect.outputs.matrix) }}
steps:
- name: Setting up DB pgsql
uses: m4nu56/postgresql-action@v1
with:
postgresql version: 14
postgresql db: test
postgresql user: test
postgresql password: test
- name: Setting up PHP
uses: shivammathur/setup-php@v2
with:
php-version: 8.4
ini-values: max_input_vars=5000
coverage: none
- name: Checking out code
uses: actions/checkout@v4
- name: Download individual test files
uses: actions/download-artifact@v4
with:
name: individual_tests # Make all the chunk files available for the next steps.
- name: Setting up PHPUnit
env:
dbtype: pgsql
run: |
echo "pathtophp=$(which php)" >> $GITHUB_ENV
cp .github/workflows/config-template.php config.php
mkdir ../moodledata
sudo locale-gen en_AU.UTF-8
php admin/tool/phpunit/cli/init.php --no-composer-self-update
- name: Run PHPUnit test (one by one)
env:
dbtype: pgsql
run: |
status=0
count=0
while read -r line; do # For each line in the chunk file
count=$((count + 1))
filter="${line% *}"
file="${line#* }"
# Run the individual unit test and report problems if needed to.
if ! php vendor/bin/phpunit \
--fail-on-empty-test-suite \
--fail-on-warning \
--fail-on-risky \
--filter "$filter" ${{ inputs.phpunit_extra_options }} \
"$file" >/dev/null 2>&1; then
if [ $status -eq 0 ]; then
echo "Problems found, list of PHPUnit commands failing:"
fi
echo "vendor/bin/phpunit --filter '${filter}' ${{ inputs.phpunit_extra_options }} $file"
status=$((status + 1))
fi
done < ${{ matrix.file }}
echo "Finished: $count individual tests executed, $status tests failed"
exit $status
+19 -10
View File
@@ -3,13 +3,19 @@ name: Core
on:
push:
branches-ignore:
- master
- main
- MOODLE_[0-9]+_STABLE
tags-ignore:
- v[0-9]+.[0-9]+.[0-9]+*
workflow_dispatch:
inputs:
phpunit_extra_options:
description: Additional options to apply to PHPUnit
required: false
default: ''
env:
php: 8.2
php: 8.4
jobs:
Grunt:
@@ -17,10 +23,10 @@ jobs:
steps:
- name: Checking out code
uses: actions/checkout@v3
uses: actions/checkout@v4
- name: Configuring node & npm
uses: actions/setup-node@v3
uses: actions/setup-node@v4
with:
node-version-file: '.nvmrc'
@@ -56,12 +62,12 @@ jobs:
include:
# MySQL builds always run with the lowest PHP supported version.
- os: ubuntu-22.04
php: 8.0
php: 8.2
extensions:
db: mysqli
# PostgreSQL builds always run with the highest PHP supported version.
- os: ubuntu-22.04
php: 8.2
php: 8.4
db: pgsql
steps:
@@ -70,7 +76,7 @@ jobs:
uses: moodlehq/mysql-action@v1
with:
collation server: utf8mb4_bin
mysql version: 8.0
mysql version: 8.4
mysql database: test
mysql user: test
mysql password: test
@@ -82,7 +88,7 @@ jobs:
if: ${{ matrix.db == 'pgsql' }}
uses: m4nu56/postgresql-action@v1
with:
postgresql version: 13
postgresql version: 14
postgresql db: test
postgresql user: test
postgresql password: test
@@ -99,7 +105,7 @@ jobs:
coverage: none
- name: Checking out code from ${{ env.GITHUB_REF_SLUG }}
uses: actions/checkout@v3
uses: actions/checkout@v4
- name: Setting up PHPUnit
env:
@@ -115,4 +121,7 @@ jobs:
env:
dbtype: ${{ matrix.db }}
phpunit_options: ${{ secrets.phpunit_options }}
run: vendor/bin/phpunit $phpunit_options
run: vendor/bin/phpunit $phpunit_options ${{ inputs.phpunit_extra_options }}
- name: Git status
run: git status
+23
View File
@@ -0,0 +1,23 @@
name: Web Installer Testing
on:
workflow_dispatch:
jobs:
InstallationTest:
runs-on: ${{ matrix.os }}
strategy:
fail-fast: false
matrix:
os: [ubuntu-latest]
php: [8.2, 8.4]
steps:
- name: Construct repository URL
run: echo "REPOSITORY_URL=${GITHUB_SERVER_URL}/${GITHUB_REPOSITORY}" >> $GITHUB_ENV
shell: bash
- uses: moodlehq/moodle-webinstaller-test@main
with:
repository: ${{ env.REPOSITORY_URL }}
branch: ${{ github.ref_name }}
php: ${{ matrix.php }}
+16 -11
View File
@@ -1,9 +1,14 @@
name: Windows Testing
on:
workflow_dispatch
workflow_dispatch:
inputs:
phpunit_extra_options:
description: Additional options to apply to PHPUnit
required: false
default: ''
env:
php: 8.2
php: 8.4
jobs:
Grunt:
@@ -16,10 +21,10 @@ jobs:
git config --global core.eol lf
- name: Checking out code
uses: actions/checkout@v3
uses: actions/checkout@v4
- name: Configuring node & npm
uses: actions/setup-node@v3
uses: actions/setup-node@v4
with:
node-version-file: '.nvmrc'
@@ -46,7 +51,7 @@ jobs:
matrix:
include:
- os: windows-latest
php: 8.2
php: 8.4
# Ideally we should use mysql/mariadb, but they are 4x slower without tweaks and configuration
# so let's run only postgres (1.5h vs 6h) only, If some day we want to improve the mysql runs,
# this is the place to enable them.
@@ -54,16 +59,16 @@ jobs:
db: pgsql
extensions: exif, fileinfo, gd, intl, pgsql, mysql, redis, soap, sodium, zip
- os: windows-latest
php: 8.0
php: 8.2
db: pgsql
extensions: exif, fileinfo, gd, intl, pgsql, mysql, redis, soap, sodium
extensions: exif, fileinfo, gd, intl, pgsql, mysql, redis, soap, sodium, zip
steps:
- name: Setting up DB mysql
if: ${{ matrix.db == 'mysqli' }}
uses: shogo82148/actions-setup-mysql@v1
with:
mysql-version: 8.0
mysql-version: 8.4
user: test
password: test
@@ -112,7 +117,7 @@ jobs:
git config --global core.eol lf
- name: Checking out code from ${{ env.GITHUB_REF_SLUG }}
uses: actions/checkout@v3
uses: actions/checkout@v4
# Needs to be done after php is available, git configured and Moodle checkout has happened.
- name: Setting up moodle-exttests service
@@ -123,7 +128,7 @@ jobs:
- name: Setting up redis service
run: |
choco install redis-64 --version 3.0.503 --no-progress
choco install redis --version 5.0.7 --no-progress
nssm install redis redis-server
nssm start redis
@@ -141,4 +146,4 @@ jobs:
env:
dbtype: ${{ matrix.db }}
phpunit_options: ${{ secrets.phpunit_options }}
run: vendor/bin/phpunit $phpunit_options
run: vendor/bin/phpunit $phpunit_options ${{ inputs.phpunit_extra_options }}
+5
View File
@@ -26,6 +26,9 @@
/.patches/
/.idea/
.phpstorm.*
!/.phpstorm.meta.php/
/.phpstorm.meta.php/*
!/.phpstorm.meta.php/di.php
/nbproject/
CVS
.DS_Store
@@ -55,3 +58,5 @@ moodle-plugin-ci.phar
.hugo_build.lock
phpcs.xml
jsconfig.json
UPGRADING-CURRENT.md
.phpunit.cache
+49 -11
View File
@@ -40,9 +40,20 @@ const fetchComponentData = () => {
if (!Object.entries(componentData).length) {
componentData.subsystems = {};
componentData.pathList = [];
componentData.components = {};
componentData.standardComponents = {};
// Fetch the component definiitions from the distributed JSON file.
const components = JSON.parse(fs.readFileSync(`${gruntFilePath}/lib/components.json`));
const pluginData = JSON.parse(fs.readFileSync(`${gruntFilePath}/lib/plugins.json`));
componentData.pluginTypes = components.plugintypes;
const standardPlugins = Object.entries(pluginData.standard).map(
([pluginType, pluginNames]) => {
return pluginNames.map(pluginName => `${pluginType}_${pluginName}`);
}
).reduce((acc, val) => acc.concat(val), []);
// Build the list of moodle subsystems.
componentData.subsystems.lib = 'core';
@@ -55,8 +66,19 @@ const fetchComponentData = () => {
}
}
// The list of components incldues the list of subsystems.
componentData.components = componentData.subsystems;
// The list of components includes the list of subsystems.
componentData.components = {...componentData.subsystems};
const subpluginAdder = (subpluginType, subpluginTypePath) => {
glob.sync(`${subpluginTypePath}/*/version.php`).forEach(versionPath => {
const componentPath = fs.realpathSync(path.dirname(versionPath));
const componentName = path.basename(componentPath);
const frankenstyleName = `${subpluginType}_${componentName}`;
componentData.components[`${subpluginTypePath}/${componentName}`] = frankenstyleName;
componentData.pathList.push(componentPath);
});
};
// Go through each of the plugintypes.
Object.entries(components.plugintypes).forEach(([pluginType, pluginTypePath]) => {
@@ -73,20 +95,36 @@ const fetchComponentData = () => {
if (fs.existsSync(subPluginConfigurationFile)) {
const subpluginList = JSON.parse(fs.readFileSync(fs.realpathSync(subPluginConfigurationFile)));
Object.entries(subpluginList.plugintypes).forEach(([subpluginType, subpluginTypePath]) => {
glob.sync(`${subpluginTypePath}/*/version.php`).forEach(versionPath => {
const componentPath = fs.realpathSync(path.dirname(versionPath));
const componentName = path.basename(componentPath);
const frankenstyleName = `${subpluginType}_${componentName}`;
componentData.components[`${subpluginTypePath}/${componentName}`] = frankenstyleName;
componentData.pathList.push(componentPath);
if (subpluginList.subplugintypes) {
Object.entries(subpluginList.subplugintypes).forEach(([subpluginType, subpluginTypePath]) => {
subpluginAdder(
subpluginType,
`${pluginTypePath}/${componentName}/${subpluginTypePath}`
);
});
});
} else if (subpluginList.plugintypes) {
Object.entries(subpluginList.plugintypes).forEach(([subpluginType, subpluginTypePath]) => {
subpluginAdder(subpluginType, subpluginTypePath);
});
}
}
});
});
// Create a list of the standard subsystem and plugins.
componentData.standardComponents = Object.fromEntries(
Object.entries(componentData.components).filter(([, name]) => {
if (name === 'core' || name.startsWith('core_')) {
return true;
}
return standardPlugins.indexOf(name) !== -1;
})
);
componentData.componentMapping = Object.fromEntries(
Object.entries(componentData.components).map(([path, name]) => [name, path])
);
}
return componentData;
+138
View File
@@ -0,0 +1,138 @@
// This file is part of Moodle - http://moodle.org/
//
// Moodle is free software: you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
// the Free Software Foundation, either version 3 of the License, or
// (at your option) any later version.
//
// Moodle is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License for more details.
//
// You should have received a copy of the GNU General Public License
// along with Moodle. If not, see <http://www.gnu.org/licenses/>.
import * as Components from '../../components.js';
const componentData = Components.fetchComponentData();
/**
* The standard components shipped with core Moodle.
*
* @type {Object}
*/
export const standardComponents = componentData.standardComponents;
/**
* All components of the current Moodle instance.
*
* @type {Object}
*/
export const allComponents = componentData.components;
/**
* Get all components of the current Moodle instance.
*
* @returns {Array}
*/
export const getAllComponents = () => {
let components = new Map(Object.entries(componentData.pluginTypes).map(([value, path]) => ([path,{
path,
value,
name: `${value} (plugin type)`,
}])));
Object
.entries(componentData.components)
.filter(([path, value]) => Object.values(componentData.standardComponents).includes(value))
.forEach(([path, value]) => {
const entry = {
path,
value,
name: value,
};
if (Object.values(componentData.subsystems).includes(value)) {
if (components.has(path)) {
entry.name = `${value} (subsystem / plugintype)`;
} else {
entry.name = `${value} (subsystem)`;
}
}
components.set(path, entry);
});
return Array.from(components.values());
};
/**
* Whether the specified component is a standard component shipped with core Moodle.
*
* @param {string} componentName
* @returns {boolean}
*/
export const isStandardComponent = (componentName) => {
if (Object.values(componentData.standardComponents).includes(componentName)) {
return true;
}
if (Object.keys(componentData.pluginTypes).includes(componentName)) {
return true;
}
return false;
};
export const rewritePlugintypeAsSubsystem = (componentName) => {
if (Object.keys(componentData.pluginTypes).includes(componentName)) {
const pluginTypePath = componentData.pluginTypes[componentName];
if (Object.keys(componentData.subsystems).includes(pluginTypePath)) {
return true;
}
}
return false;
};
/**
* Whether the specified component is a community component.
*
* @param {string} componentName
* @returns {boolean}
*/
export const isCommunityComponent = (componentName) => {
if (isStandardComponent(componentName)) {
return false;
}
return Object.values(componentData.components).indexOf(componentName) !== -1;
};
/**
* Sort method for components.
*
* This method sorts components putting `core` first, followed by core subsystems, then everything else.
*
* @param {String} a
* @param {String} b
* @returns {Number}
*/
export const sortComponents = (a, b) => {
// Always put 'core' first.
if (a === 'core') {
return -1;
} else if (b === 'core') {
return 1;
}
// Put core subsystems next.
if (a.startsWith('core_') && !b.startsWith('core_')) {
return -1;
} else if (b.startsWith('core_') && !a.startsWith('core_')) {
return 1;
}
// Sort alphabetically for everything else.
return a.localeCompare(b);
};
+85
View File
@@ -0,0 +1,85 @@
#!/usr/bin/env node
// This file is part of Moodle - http://moodle.org/
//
// Moodle is free software: you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
// the Free Software Foundation, either version 3 of the License, or
// (at your option) any later version.
//
// Moodle is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License for more details.
//
// You should have received a copy of the GNU General Public License
// along with Moodle. If not, see <http://www.gnu.org/licenses/>.
import inquirer from 'inquirer';
import chalk from 'chalk';
import { createNote } from './note.mjs';
import { getInitialValues } from './helpers.mjs';
import * as Prompts from './prompts.mjs';
import logger from './logger.mjs';
export default async (options) => {
// Processs the initial values.
const initialValues = getInitialValues(options);
// Fetch information.
const messages = [];
const { issueNumber } = await inquirer.prompt([
Prompts.getIssuePrompt(),
], initialValues);
let selection = {};
let notePath;
do {
selection = {};
selection = await inquirer.prompt([
Prompts.getComponentsPrompt(),
Prompts.getTypePrompt(),
Prompts.getMessagePromptInput(),
], initialValues);
if (selection.message === '') {
selection = Object.assign(
selection,
await inquirer.prompt([
Prompts.getMessagePromptEditor(),
]),
);
}
logger.info(`
Creating upgrade note with the following options:
- Issue: ${chalk.bold(issueNumber)}
- Component: ${chalk.bold(selection.components)}
- Type: ${chalk.bold(selection.type)}
- Message:
${chalk.bold(selection.message)}
`);
messages.push({
components: [selection.components],
type: selection.type,
message: selection.message,
});
// Save the note so far.
if (notePath) {
await createNote(issueNumber, messages, notePath);
logger.info(`Updated note at: ${chalk.underline(chalk.bold(notePath))}`);
} else {
notePath = await createNote(issueNumber, messages);
logger.info(`Note created at: ${chalk.underline(chalk.bold(notePath))}`);
}
selection = Object.assign(
selection,
await inquirer.prompt([
Prompts.getAddAnotherPrompt(),
], initialValues),
);
} while (selection.addAnother);
};
+357
View File
@@ -0,0 +1,357 @@
#!/usr/bin/env node
// This file is part of Moodle - http://moodle.org/
//
// Moodle is free software: you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
// the Free Software Foundation, either version 3 of the License, or
// (at your option) any later version.
//
// Moodle is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License for more details.
//
// You should have received a copy of the GNU General Public License
// along with Moodle. If not, see <http://www.gnu.org/licenses/>.
import chalk from 'chalk';
import { getAllComponents } from './components.mjs';
import { getCombinedNotesByComponent, deleteAllNotes } from './note.mjs';
import { getNoteName } from './noteTypes.mjs';
import { writeFile, readFile, unlink } from 'fs/promises';
import { join as joinPath } from 'path';
import logger from './logger.mjs';
import { getCurrentVersion } from './helpers.mjs';
/**
* Helper to fetch the current notes from a file.
*
* @param {string} file
* @returns {Promise<string>}
*/
const getCurrentNotes = async (file) => {
try {
return await readFile(file, 'utf8');
} catch (error) {
return null;
}
}
/**
* Update the UPGRADING.md file.
*
* @param {string} upgradeNotes
* @param {Object} options
* @param {boolean} options.deleteNotes
* @returns {Promise<void>}
*/
const updateUpgradeNotes = async (upgradeNotes, options) => {
const fileName = 'UPGRADING.md';
// Write the notes to a file.
logger.info(`Writing notes to ${chalk.underline(chalk.bold(fileName))}`);
// Prepend to the existing file.
const existingContent = await getCurrentNotes(fileName);
if (existingContent) {
await writeFile(fileName, getUpdatedNotes(existingContent, upgradeNotes));
} else {
// This should not normally happen.
await writeFile(fileName, upgradeNotes);
}
if (options.deleteNotes) {
logger.warn(`>>> Deleting all notes <<<`)
// Delete the notes.
deleteAllNotes();
}
};
/**
* Create the current summary notes.
*
* @param {string} upgradeNotes
* @returns {Promise<void>}
*/
const createCurrentSummary = async (upgradeNotes) => {
const fileName = 'UPGRADING-CURRENT.md';
const notes = `# Moodle upgrade notes\n\n${upgradeNotes}`;
await writeFile(fileName, notes);
logger.info(`Running upgrade notes written to ${chalk.underline(chalk.bold(fileName))}`);
};
/**
* Get the indexes of the lines that contain the version headings.
*
* @param {array<string>} lines
* @returns {array<object>}
*/
const getVersionLineIndexes = (lines) => {
const h2Indexes = [];
lines.forEach((line, index) => {
const matches = line.match(/^##\s(?<version>.*)$/);
if (matches) {
h2Indexes.push({
index,
line,
version: matches.groups.version,
});
}
});
return h2Indexes;
};
/**
* Find the index of the Unreleased heading.
*
* @param {array<object>} versionHeadings
* @returns {number}
*/
const findUnreleasedHeadingIndex = (versionHeadings) => versionHeadings.findIndex((heading) => {
if (heading.version === 'Unreleased') {
// Used if version cannot be guessed.
return true;
}
if (heading.version.endsWith('+')) {
// Weekly release for a stable branch.
return true;
}
if (heading.version.match(/beta|rc\d/)) {
// Beta and RC rolls are treated as weeklies.
return true;
}
if (heading.version.endsWith('dev')) {
// Development version.
return true;
}
return false;
});
/**
* Get the before and after content, to facilitate replacing any existing Unreleased notes.
*
* @param {array<string>} lines
* @returns {Object} {beforeContent: string, afterContent: string}
*/
const getBeforeAndAfterContent = (lines) => {
const existingLines = lines.split('\n');
const versionHeadings = getVersionLineIndexes(existingLines);
if (versionHeadings.length > 0) {
const unreleasedHeadingIndex = findUnreleasedHeadingIndex(versionHeadings);
if (unreleasedHeadingIndex !== -1) {
const beforeContent = existingLines.slice(0, versionHeadings[unreleasedHeadingIndex].index).join('\n');
if (versionHeadings.length > unreleasedHeadingIndex + 1) {
const afterContent = existingLines.slice(versionHeadings[unreleasedHeadingIndex + 1].index).join('\n');
return {
beforeContent,
afterContent,
};
}
return {
beforeContent,
afterContent: '',
};
}
return {
beforeContent: existingLines.slice(0, versionHeadings[0].index).join('\n'),
afterContent: existingLines.slice(versionHeadings[0].index).join('\n'),
};
}
return {
beforeContent: existingLines.join('\n'),
afterContent: '',
}
};
/**
* Get the notes for the component.
*
* @param {string} types
* @param {Number} headingLevel
* @returns {string}
*/
const getNotesForComponent = (types, headingLevel) => {
let upgradeNotes = '';
Object.entries(types).forEach(([type, notes]) => {
upgradeNotes += '#'.repeat(headingLevel);
upgradeNotes += ` ${getNoteName(type)}\n\n`;
notes.forEach(({ message, issueNumber }) => {
// Split the message into lines, removing empty lines.
const messageLines = message
.split('\n')
// Remove empty lines between tables, and list entries, but not after lists.
.filter((line, index, lines) => {
if (line.trim().length === 0) {
// This line is empty.
// If it's the first line in the file, remove it.
if (index === 0) {
return false;
}
// This is the last line in the file, remove it.
if (index === lines.length - 1) {
return false;
}
// If the previous line relates to a table, remove this line.
if (lines[index - 1].match(/^\s*\|/)) {
return false;
}
// If the next line is also empty, do not remove this line.
if (lines[index + 1].trim().length === 0) {
return true;
}
// Do not remove the line if the previous line was a list item.
if (lines[index - 1].match(/^\s*[-*]\s/)) {
return true;
}
if (lines[index - 1].match(/^\s*\d+\.\s/)) {
return true;
}
// Preserve all other empty lines by default.
return true;
}
// Keep any line which has content.
return true;
});
const firstLine = messageLines.shift().trim();
upgradeNotes += `- ${firstLine}\n`;
messageLines
.forEach((line) => {
upgradeNotes += ` ${line}`.trimEnd() + `\n`;
});
upgradeNotes += `\n For more information see [${issueNumber}](https://tracker.moodle.org/browse/${issueNumber})\n`;
});
upgradeNotes += '\n';
});
return upgradeNotes;
};
/**
* Get the updated notes mixed with existing content.
*
* @param {string} existingContent
* @param {string} upgradeNotes
*/
const getUpdatedNotes = (existingContent, upgradeNotes) => {
const { beforeContent, afterContent } = getBeforeAndAfterContent(existingContent);
const newContent = `${beforeContent}\n${upgradeNotes}\n${afterContent}`
.split('\n')
.filter((line, index, lines) => {
if (line === '' && lines[index - 1] === '') {
// Remove multiple consecutive empty lines.
return false;
}
return true;
})
.join('\n');
return newContent;
};
/**
* Update the notes for each component.
*/
const updateComponentNotes = (
notes,
version,
notesFileName = 'UPGRADING.md',
removeEmpty = false,
) => {
return getAllComponents().map(async (component) => {
logger.verbose(`Updating notes for ${component.name} into ${component.path}`);
const fileName = joinPath(component.path, notesFileName);
const existingContent = await getCurrentNotes(fileName);
if (!existingContent) {
if (!notes[component.value]) {
// No existing notes, and no new notes to add.
return;
}
} else {
if (!notes[component.value]) {
// There is existing content, but nothing to add.
if (removeEmpty) {
logger.verbose(`Removing empty notes file ${fileName}`);
await unlink(fileName);
}
return;
}
}
const componentNotes = notes[component.value];
let upgradeNotes = `## ${version}\n\n`;
upgradeNotes += getNotesForComponent(componentNotes, 3);
if (existingContent) {
await writeFile(fileName, getUpdatedNotes(existingContent, upgradeNotes));
} else {
await writeFile(
fileName,
`# ${component.name} Upgrade notes\n\n${upgradeNotes}`,
);
}
});
}
/**
* Generate the upgrade notes for a new release.
*
* @param {string|undefined} version
* @param {Object} options
* @param {boolean} options.generateUpgradeNotes
* @param {boolean} options.deleteNotes
* @returns {Promise<void>}
*/
export default async (version, options = {}) => {
const notes = await getCombinedNotesByComponent();
if (Object.keys(notes).length === 0) {
logger.warn('No notes to generate');
return;
}
if (!version) {
version = await getCurrentVersion();
}
// Generate the upgrade notes for this release.
// We have
// - a title with the release name
// - the change types
// - which contain the components
// - which document each change
let upgradeNotes = `## ${version}\n\n`;
Object.entries(notes).forEach(([component, types]) => {
upgradeNotes += `### ${component}\n\n`;
upgradeNotes += getNotesForComponent(types, 4);
});
await Promise.all([
createCurrentSummary(upgradeNotes),
...updateComponentNotes(notes, version, 'UPGRADING-CURRENT.md', true),
]);
if (options.generateUpgradeNotes) {
await Promise.all(updateComponentNotes(notes, version));
await updateUpgradeNotes(upgradeNotes, options);
}
};
+230
View File
@@ -0,0 +1,230 @@
// This file is part of Moodle - http://moodle.org/
//
// Moodle is free software: you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
// the Free Software Foundation, either version 3 of the License, or
// (at your option) any later version.
//
// Moodle is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License for more details.
//
// You should have received a copy of the GNU General Public License
// along with Moodle. If not, see <http://www.gnu.org/licenses/>.
import chalk from 'chalk';
import { isStandardComponent, isCommunityComponent, rewritePlugintypeAsSubsystem } from './components.mjs';
import { isValidNoteName } from './noteTypes.mjs';
import logger from './logger.mjs';
import { readFile } from 'fs/promises';
/**
* Validate an issue number input
*
* @param {string} input
* @returns {string|boolean}
*/
export const validateIssueNumber = (input) => {
if (!input) {
return 'You must provide a tracker issue number';
}
if (input.match(/^[a-zA-Z]*-\d+$/)) {
return true;
}
if (input.match(/^\d+$/)) {
return true;
}
return 'The issue number was not recognised as a valid issue number';
};
/**
* Format an issue number input.
*
* @param {string} input
* @returns {string}
*/
export const formatIssueNumber = (input) => {
if (input.match(/^[a-zA-Z]*-\d+$/)) {
return input;
}
if (input.match(/^\d+$/)) {
return `MDL-${input}`;
}
return input;
};
/**
* Validate a component.
*
* @param {string} input
* @returns {string|boolean}
*/
export const validateComponent = (input) => {
if (isStandardComponent(input)) {
return true;
}
if (isCommunityComponent(input)) {
return 'Currently only core plugins are supported.';
}
return 'The component was not recognised as a standard component';
};
export const formatComponent = (input) => {
if (rewritePlugintypeAsSubsystem(input)) {
return `core_${input}`;
}
return input;
}
/**
* Get the initial values from the options.
*
* @param {object} options
* @returns {object}
*/
export const getInitialValues = (options) => {
const initialValues = {};
const type = getInitialTypeValue(options);
if (type) {
initialValues.type = type;
}
const issueNumber = getInitialIssueValue(options);
if (issueNumber) {
initialValues.issueNumber = issueNumber;
}
const component = getInitialComponentValue(options);
if (component) {
initialValues.components = component;
}
const message = getInitialMessageValue(options);
if (message) {
initialValues.message = message
initialValues.addAnother = false;
}
return initialValues;
};
/**
* Get the initial type value.
*
* @param {Object} options
* @returns {string|undefined}
*/
const getInitialTypeValue = (options) => {
if (!options.type) {
return;
}
options.type = options.type.trim().toLowerCase();
if (isValidNoteName(options.type)) {
return options.type;
}
logger.warn(`Note type "${chalk.underline(chalk.red(options.type))}" is not valid.`);
};
/**
* Get the initial issue number value.
*
* @param {Object} options
* @returns {string|undefined}
*/
const getInitialIssueValue = (options) => {
if (!options.issue) {
return;
}
options.issue = options.issue.trim().toUpperCase();
const issueNumberValidated = validateIssueNumber(options.issue);
if (issueNumberValidated === true) {
const issueNumber = formatIssueNumber(options.issue);
if (issueNumber !== options.issue) {
logger.warn(
`Issue number "${chalk.underline(chalk.red(options.issue))}" was updated to ` +
`"${chalk.underline(chalk.green(issueNumber))}"`
);
}
return issueNumber;
} else {
logger.warn(`Issue number "${chalk.underline(chalk.red(options.issue))}" is not valid: ${issueNumberValidated}`);
}
};
/**
* Get the initial component value.
*
* @param {Object} options
* @returns {string|undefined}
*/
const getInitialComponentValue = (options) => {
if (!options.component) {
return;
}
options.component = options.component.trim().toLowerCase();
const componentValidated = validateComponent(options.component);
if (componentValidated === true) {
const component = formatComponent(options.component);
if (component !== options.component) {
logger.warn(
`Component "${chalk.underline(chalk.red(options.component))}" was updated to ` +
`"${chalk.underline(chalk.green(component))}"`
);
}
return component;
} else {
logger.warn(`Component "${chalk.underline(chalk.red(options.component))}" is not valid: ${componentValidated}`);
}
};
/**
* Get the initial message value.
*
* @param {Object} options
* @returns {string|undefined}
*/
const getInitialMessageValue = (options) => {
if (!options.message) {
return;
}
return options.message.trim();
};
/**
* Get the current version from the project /version.php file.
*
* @returns {Promise<string>}
*/
export const getCurrentVersion = async () => {
const versionRegex = new RegExp(/^ *\$release *= *['\"](?<release>[^ \+]+\+?) *\(Build:.*/m);
try {
const versionFile = await readFile('version.php', 'utf8');
const match = versionFile.match(versionRegex);
if (match) {
return match.groups.release;
}
} catch(error) {
logger.error('Unable to read the version file');
}
return "Unreleased";
}
+30
View File
@@ -0,0 +1,30 @@
#!/usr/bin/env node
// This file is part of Moodle - http://moodle.org/
//
// Moodle is free software: you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
// the Free Software Foundation, either version 3 of the License, or
// (at your option) any later version.
//
// Moodle is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License for more details.
//
// You should have received a copy of the GNU General Public License
// along with Moodle. If not, see <http://www.gnu.org/licenses/>.
import winston from 'winston';
const logger = winston.createLogger({
level: 'info',
format: winston.format.combine(
winston.format.colorize(),
winston.format.simple()
),
transports: [
new winston.transports.Console(),
],
});
export default logger;
+194
View File
@@ -0,0 +1,194 @@
// This file is part of Moodle - http://moodle.org/
//
// Moodle is free software: you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
// the Free Software Foundation, either version 3 of the License, or
// (at your option) any later version.
//
// Moodle is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License for more details.
//
// You should have received a copy of the GNU General Public License
// along with Moodle. If not, see <http://www.gnu.org/licenses/>.
import yaml from 'js-yaml';
import path from 'path';
import { writeFile, mkdir, readdir, readFile, unlink } from 'fs/promises';
import { isValidNoteName, sortNoteTypes } from './noteTypes.mjs';
import { sortComponents } from './components.mjs';
const unreleasedPath = path.resolve('.upgradenotes');
/**
* Get the filename for the note.
*
* @param {string} issueNumnber The issue number
* @returns {string}
*/
const getFilename = (issueNumber) => {
const dateTimeFormat = new Intl.DateTimeFormat(undefined, {
year: 'numeric',
month: '2-digit',
day: '2-digit',
hour: '2-digit',
minute: '2-digit',
second: '2-digit',
fractionalSecondDigits: 2,
timeZone: 'UTC',
});
const date = Object.fromEntries(
dateTimeFormat.formatToParts(new Date())
.filter((p) => p.type !== 'literal')
.map((p) => ([p.type, p.value]))
);
const dateString = [
date.year,
date.month,
date.day,
date.hour,
date.minute,
date.second,
date.fractionalSecond,
].join('');
return `${issueNumber}-${dateString}.yml`;
};
/**
* Create a new note.
*
* @param {string} issueNumber
* @param {[type: string]: {message: string}} messages
* @returns {string} The path to the note on disk
*/
export const createNote = async (
issueNumber,
messages,
notePath,
) => {
const note = {
issueNumber,
notes: {},
};
messages.forEach(({components, type, message}) => {
note.notes[components] = note.notes[components] || [];
note.notes[components].push({message, type});
});
if (!notePath) {
notePath = path.resolve(unreleasedPath, getFilename(issueNumber));
}
const noteContent = yaml.dump(note);
await mkdir(unreleasedPath, {recursive: true});
await writeFile(notePath, noteContent);
return notePath;
};
/**
* Get all unreleased notes.
*
* @returns {Promise<{issueNumber: string, components: string[], types: {[type: string]: {message: string}[]}}[]>
*/
export const getAllNotes = async () => {
const files = await readdir(unreleasedPath);
const notes = files
.filter((file) => file.endsWith('.yml'))
.map(async (file) => {
const filePath = path.resolve(unreleasedPath, file);
const fileContent = await readFile(filePath, 'utf8');
return {
...yaml.load(fileContent),
filePath,
};
});
return Promise.all(notes);
};
/**
* Get the list of notes, grouped by note type, then component.
*
* @returns {Promise<{[type: string]: {[components: string]: {message: string, issueNumber: string}[]}}>}
*/
export const getCombinedNotes = async () => {
const notes = await getAllNotes();
const combinedNotes = {};
notes.forEach((note) => {
Object.entries(note.notes).forEach(([components, data]) => {
data.forEach((entry) => {
if (!isValidNoteName(entry.type)) {
throw new Error(`Invalid note type: "${entry.type}" in file ${note.filePath}`);
}
combinedNotes[entry.type] = combinedNotes[entry.type] || {};
combinedNotes[entry.type][components] = combinedNotes[entry.type][components] || [];
combinedNotes[entry.type][components].push({message: entry.message, issueNumber: note.issueNumber});
});
});
});
return combinedNotes;
};
/**
* Get the list of notes, grouped by component, then by note type.
*
* @returns {Promise<{[component: string]: {[type: string]: {message: string, issueNumber: string}[]}}>}
*/
export const getCombinedNotesByComponent = async () => {
const notes = await getAllNotes();
const combinedNotes = {};
notes.forEach((note) => {
Object.entries(note.notes).forEach(([component, data]) => {
combinedNotes[component] = combinedNotes[component] || {};
data.forEach((entry) => {
if (!isValidNoteName(entry.type)) {
throw new Error(`Invalid note type: "${entry.type}" in file ${note.filePath}`);
}
combinedNotes[component][entry.type] = combinedNotes[component][entry.type] || [];
combinedNotes[component][entry.type].push({
component,
message: entry.message,
issueNumber: note.issueNumber,
type: entry.type,
});
});
});
});
// Sort notes by note type.
Object.entries(combinedNotes).forEach(([component, types]) => {
combinedNotes[component] = Object.fromEntries(
Object.entries(types).sort(([a], [b]) => sortNoteTypes(a, b))
);
});
// Sort components.
return Object.fromEntries(
Object.entries(combinedNotes).sort(([a], [b]) => sortComponents(a, b))
);
};
/**
* Delete all unreleased notes.
*
* @returns {Promise<void>}
*/
export const deleteAllNotes = async () => {
const files = await readdir(unreleasedPath);
return Promise.all(
files
.filter((item, index) => files.indexOf(item) === index)
.filter((file) => file.endsWith('.yml'))
.map((file) => unlink(`${unreleasedPath}/${file}`))
);
};
+80
View File
@@ -0,0 +1,80 @@
// This file is part of Moodle - http://moodle.org/
//
// Moodle is free software: you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
// the Free Software Foundation, either version 3 of the License, or
// (at your option) any later version.
//
// Moodle is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License for more details.
//
// You should have received a copy of the GNU General Public License
// along with Moodle. If not, see <http://www.gnu.org/licenses/>.
/**
* The note types.
*
* Matches the suggested order in https://keepachangelog.com/en/1.1.0/.
* @type {Object<string, string>}
*/
const noteTypes = {
'improved': 'Added',
'changed': 'Changed',
'deprecated': 'Deprecated',
'removed': 'Removed',
'fixed': 'Fixed',
};
/**
* The preferred order of note types.
*
* @type {string[]}
*/
const preferredOrder = Object.keys(noteTypes);
/**
* Comparison method to sort note types.
*
* @param {String} a
* @param {String} b
* @returns {Number}
*/
export const sortNoteTypes = (a, b) => {
const aIndex = preferredOrder.indexOf(a);
const bIndex = preferredOrder.indexOf(b);
if (aIndex === -1) {
return 1;
}
if (bIndex === -1) {
return -1;
}
return aIndex - bIndex;
};
/**
* Get the note names.
*
* @returns {string[]}
*/
export const getNoteNames = () => Object.keys(noteTypes);
/**
* Get the human-readable note name.
*
* @param {string} type
* @returns {string}
*/
export const getNoteName = (type) => noteTypes[type];
/**
* Whether the note name is valid.
*
* @param {string} type
* @returns {boolean}
*/
export const isValidNoteName = (type) => noteTypes[type] !== undefined;
+153
View File
@@ -0,0 +1,153 @@
// This file is part of Moodle - http://moodle.org/
//
// Moodle is free software: you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
// the Free Software Foundation, either version 3 of the License, or
// (at your option) any later version.
//
// Moodle is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License for more details.
//
// You should have received a copy of the GNU General Public License
// along with Moodle. If not, see <http://www.gnu.org/licenses/>.
import inquirer from 'inquirer';
import SearchList from 'inquirer-search-list';
import { getNoteNames } from './noteTypes.mjs';
import { getAllComponents } from './components.mjs';
import {
formatComponent,
formatIssueNumber,
validateComponent,
validateIssueNumber,
} from './helpers.mjs';
/**
* A Search List which accepts an initial value.
*/
class SearchListWithInitialValue extends SearchList {
constructor(options, ...args) {
super(options, ...args);
if (options.default) {
const pointer = this.filterList.findIndex((item) => {
return item.value === options.default;
});
if (pointer > -1) {
this.pointer = pointer;
}
}
}
}
inquirer.registerPrompt('search-list', SearchListWithInitialValue);
/**
* Get the issue type prompt.
*
* @param {string} defaultData The initially selected value
* @returns {Object}
*/
export const getTypePrompt = (defaultData) => ({
default: defaultData,
type: 'search-list',
message: 'Type of change',
name: 'type',
choices: getNoteNames(),
validate: (selection) => {
if (selection.length < 1) {
return 'You must select at least one type of change';
}
return true;
},
});
/**
* Get the component prompt.
*
* @param {string} [defaultValue='core'] The initally selected value.
* @returns
*/
export const getComponentsPrompt = (defaultValue) => {
if (!defaultValue ) {
defaultValue = 'core';
}
return {
choices: getAllComponents(),
default: defaultValue,
type: 'search-list',
message: 'Component',
name: 'components',
validate: validateComponent,
filter: formatComponent,
};
};
/**
* Get the issue number prompt as an inline input.
*
* @param {string} defaultData
* @returns {object}
*/
export const getIssuePrompt = (defaultData) => ({
default: defaultData,
type: 'input',
message: 'Tracker issue number',
name: 'issueNumber',
validate: validateIssueNumber,
filter: formatIssueNumber,
});
/**
* Get a message prompt.
*
* @param {string} defaultData
* @returns
*/
export const getMessagePromptEditor = (defaultData) => ({
default: defaultData,
type: process.stdin.isTTY ? 'editor' : 'input',
postfix: '.md',
message: 'Message',
name: 'message',
waitUserInput: false,
validate: (input) => {
if (!input) {
return 'You must provide a message';
}
return true;
},
// Remove any trailing whitespace.
filter: (input) => input.split('\n').map((line) => line.trimEnd()).join('\n'),
});
/**
* Get a message prompt.
*
* @param {string} defaultData
* @returns
*/
export const getMessagePromptInput = (defaultData) => ({
default: defaultData,
type: 'input',
message: 'Message (leave empty to use editor)',
name: 'message',
filter: (input) => input.trim(),
});
/**
* Get a prompt to ask the user if they wish to add another entry.
*
* @returns {Object}
*/
export const getAddAnotherPrompt = () => ({
type: 'confirm',
message: 'Do you want to add another note?',
default: false,
name: 'addAnother',
});
+6 -14
View File
@@ -21,7 +21,7 @@
*/
/**
* Function to generate the destination for the uglify task
* Function to generate the destination for the minification task
* (e.g. build/file.min.js). This function will be passed to
* the rename property of files array when building dynamically:
* http://gruntjs.com/configuring-tasks#building-the-files-object-dynamically
@@ -60,7 +60,6 @@ module.exports = grunt => {
grunt.registerTask('js', ['amd', 'yui']);
// Register NPM tasks.
grunt.loadNpmTasks('grunt-contrib-uglify');
grunt.loadNpmTasks('grunt-contrib-watch');
grunt.loadNpmTasks('grunt-rollup');
@@ -104,6 +103,7 @@ module.exports = grunt => {
// The queue runner will run the next `size` items in the queue.
const runQueue = (size = 1) => {
queue.splice(0, size).forEach(resolve => {
grunt.log.debug(`Item resolved. Kicking off next one.`);
resolve();
});
};
@@ -113,15 +113,17 @@ module.exports = grunt => {
// The options hook is run in parallel.
// We can return an unresolved Promise which is queued for later resolution.
options: async() => {
options: async(options) => {
return new Promise(resolve => {
queue.push(resolve);
startQueue();
return options;
});
},
// When an item in the queue completes, start the next item in the queue.
buildEnd: () => {
generateBundle: (options, bundle) => {
grunt.log.debug(`Finished output phase for ${Object.keys(bundle).join(', ')}`);
runQueue();
},
};
@@ -155,16 +157,6 @@ module.exports = grunt => {
],
presets: [
['@babel/preset-env', {
targets: {
browsers: [
">0.3%",
"last 2 versions",
"not ie >= 0",
"not op_mini all",
"not Opera > 0",
"not dead"
]
},
modules: false,
useBuiltIns: false
}]
+28 -12
View File
@@ -20,17 +20,33 @@
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
*/
module.exports = grunt => {
// Project configuration.
grunt.config.merge({
jsdoc: {
dist: {
options: {
configure: ".grunt/jsdoc/jsdoc.conf.js",
},
},
},
});
module.exports = (grunt) => {
const path = require('path');
grunt.loadNpmTasks('grunt-jsdoc');
grunt.registerTask('jsdoc', 'Generate JavaScript documentation using jsdoc', function() {
const done = this.async();
const configuration = path.resolve('.grunt/jsdoc/jsdoc.conf.js');
grunt.util.spawn({
cmd: 'jsdoc',
args: [
'--configure',
configuration,
]
}, function(error, result, code) {
if (result.stdout) {
grunt.log.write(result.stdout);
}
if (result.stderr) {
grunt.log.error(result.stderr);
}
if (error) {
grunt.fail.fatal(`JSDoc failed with error code ${code}`);
} else {
grunt.log.write('JSDoc completed successfully'.green);
}
done();
});
});
};
+5 -1
View File
@@ -29,6 +29,7 @@ module.exports = grunt => {
// Use a fully-qualified path.
src: files,
options: {
quietDeprecationWarnings: true,
configOverrides: {
rules: {
// These rules have to be disabled in .stylelintrc for scss compat.
@@ -45,7 +46,10 @@ module.exports = grunt => {
return {
stylelint: {
scss: {
options: {syntax: 'scss'},
options: {
quietDeprecationWarnings: true,
customSyntax: 'postcss-scss',
},
src: files,
},
},
+103
View File
@@ -0,0 +1,103 @@
#!/usr/bin/env node
// This file is part of Moodle - http://moodle.org/
//
// Moodle is free software: you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
// the Free Software Foundation, either version 3 of the License, or
// (at your option) any later version.
//
// Moodle is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License for more details.
//
// You should have received a copy of the GNU General Public License
// along with Moodle. If not, see <http://www.gnu.org/licenses/>.
import { Argument, Option, program } from 'commander';
import chalk from 'chalk';
import { getNoteNames } from './notes/src/noteTypes.mjs';
import createAction from './notes/src/create.mjs';
import generateAction from './notes/src/generate.mjs';
import logger from './notes/src/logger.mjs';
console.log(`
${chalk.bold(chalk.underline(chalk.green('Moodle Upgrade Notes Generator')))}
This tool is used to generate the upgrade notes for changes you make in Moodle.
Please remember that the intended audience of these changes is
${chalk.italic('plugin developers')} who need to know how to update their plugins
for a new Moodle version.
Upgrade notes should not be used to document changes for site administrators, or
for internal API changes which are not expected to be used outside of the
relevant component.
`)
program.configureHelp({
helpWidth: 100,
});
program.on('option:verbose', () => {
logger.level = 'verbose';
});
program.addOption(
new Option(
'-v, --verbose',
'Output more information during the generation process',
)
.default(false)
);
// Define the command line options.
program
.command('create')
.summary('Generate a new upgrade note')
.addOption(
new Option('-t, --type <type>', `The type of change to document. Valid types are: ${getNoteNames().join(', ')}`)
)
.addOption(new Option('-i, --issue <issue>', 'The tracker issue number'))
.addOption(new Option('-c, --component <component>', 'The component to write a note for'))
.addOption(new Option(
'-m, --message <message>',
'The message to use for the upgrade note',
))
.action((options) => createAction(options));
program
.command('summary')
.summary('Generate a local copy of the upgrade notes summary')
.addArgument(
new Argument('[version]', 'The Moodle version to create the summary notes for')
)
.action((version) => generateAction(version));
program
.command('release')
.summary('Generate the markdown copies of the upgrade notes for a Moodle release')
.addArgument(
new Argument('[version]', 'The Moodle version to create the release notes for')
)
.addOption(
new Option(
'--generate-upgrade-notes',
'Generate the UPGRADING.md notes for the release. ' +
'Note: This option is intended for use by the release manager when generating the upgrade notes.',
)
.default(true)
)
.addOption(
new Option(
'-d, --delete-notes',
'Delete the notes after generating the UPGRADING.md notes for the release. ' +
'Note: This option is intended for use by the release manager when generating the upgrade notes.' +
'This option has no effect unless --generate-upgrade-notes is also set.'
)
.default(false)
)
.action((version, options) => generateAction(version, options));
program.parse();
+1 -1
View File
@@ -1 +1 @@
lts/gallium
lts/jod
+40
View File
@@ -0,0 +1,40 @@
<?php
// This file is part of Moodle - http://moodle.org/
//
// Moodle is free software: you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
// the Free Software Foundation, either version 3 of the License, or
// (at your option) any later version.
//
// Moodle is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License for more details.
//
// You should have received a copy of the GNU General Public License
// along with Moodle. If not, see <http://www.gnu.org/licenses/>.
/**
* Helper file for PhpStorm, and other IDEs, to provide better code completion.
*
* @package core
* @copyright 2024 Andrew Lyons <andrew@nicols.co.uk>
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
*/
namespace PHPSTORM_META;
// Assume that anything returned by \core\di::get('...') is an instance of the first argument.
override(\core\di::get(0), map([
'' => '@',
]));
// Assume that anything returned by \Psr\Container\ContainerInterface::get('...') is an instance of the first argument.
override(\Psr\Container\ContainerInterface::get(0), map([
'' => '@',
]));
// Assume that anything returned by \DI\Container::get('...') is an instance of the first argument.
override(\DI\Container::get(0), map([
'' => '@',
]));
+16 -4
View File
@@ -1,9 +1,14 @@
{
"customSyntax": "postcss-scss",
"plugins": [
"stylelint-csstree-validator"
],
"rules": {
"csstree/validator": true,
"csstree/validator": {
"syntaxExtensions": [
"sass"
]
},
"at-rule-empty-line-before": [ "always",
{"except": [ "blockless-after-blockless"], ignore: ["after-comment", "inside-block"]}
],
@@ -45,7 +50,7 @@
"function-name-case": "lower",
"function-parentheses-newline-inside": "always-multi-line",
"function-parentheses-space-inside": "never-single-line",
"function-url-scheme-blacklist": ["data"],
"function-url-scheme-disallowed-list": ["data"],
"function-whitespace-after": "always",
"indentation": 4,
"keyframe-declaration-no-important": true,
@@ -84,12 +89,19 @@
"selector-type-no-unknown": true,
"string-no-newline": true,
"time-min-milliseconds": 100,
"unit-blacklist": ["pt"],
"unit-disallowed-list": ["pt"],
"unit-case": "lower",
"unit-no-unknown": true,
"value-keyword-case": ["lower", {"ignoreKeywords": ["/(@|$)/"]}],
"value-list-comma-newline-after": "always-multi-line",
"value-list-comma-space-after": "always-single-line",
"value-list-comma-space-before": "never",
}
},
"overrides": [
{
"files": ["**/yui/**/*.css"],
"rules": {
}
}
]
}
+52
View File
@@ -0,0 +1,52 @@
# Contributing to Moodle
[Moodle][1] is made by people like you. We are members of a big worldwide community of developers, designers, teachers, testers, translators and many more. We work in universities, schools, companies and other places. You are very welcome to join us and contribute to the project.
There are many ways that you can contribute to Moodle, not just through development. See our [community contribution guide][2] for some of the many ways that you can help.
## Github
> [!NOTE]
> Please do not open pull requests via Github.
All issues should be reported via, and patched provided to the [Moodle Tracker][3].
The Moodle [Github][4] repository is a clone of the official Moodle repository, whcih can be found at https://git.moodle.org.
## Moodle core bug fixes and new features
Over the years, Moodle has developed a mature process for reporting, reviewing, and accepting patches. This is fully documented in our [documentation on development processes][6], but in summary:
- Every bug fix or new feature must have a tracker issue.
- You publish the branch implementing the fix or new feature in your public clone of the moodle.git repository (typically on Github).
- Your patch is peer-reviewed, discussed, integrated, tested and then released as a part of one of our weekly releases.
- New features are developed on the `main` branch. Bug fixes are also backported to currently supported maintenance (stable) branches.
> [!IMPORTANT]
> Please do not publish security issues, or patches releating to them publicly.
> See our [Responsible Disclosure Policy][5] for more information.
## Moodle plugins
Moodle has a framework for additional plugins to extend its functionality. We
have a Moodle plugins directory <https://moodle.org/plugins/> where you can
register and maintain your plugin. Plugins hosted in the plugins directory can
be easily installed and updated via the Moodle administration interface.
* You are expected to have a public source code repository with your plugin
code.
* After registering your plugin in the plugins directory it is reviewed before
being published.
* You are expected to continuously release updated versions of the plugin via
the plugins directory. We do not pull from your code repository; you must do
it explicitly.
For further details, see <https://moodledev.io/general/community/plugincontribution>.
[1]: https://moodle.org
[2]: https://moodledev.io/general/community/contribute
[3]: https://tracker.moodle.org
[4]: https://github.com/moodle/moodle
[5]: https://moodledev.io/general/development/process/security
[6]: https://moodledev.io/general/development/process
-56
View File
@@ -1,56 +0,0 @@
CONTRIBUTING TO MOODLE
======================
Moodle is made by people like you. We are members of a big worldwide community
of developers, designers, teachers, testers, translators and other users. We
work in universities, schools, companies and other places. You are very welcome
to join us and contribute to the project.
See <https://moodledev.io/general/community/contribute> for the many ways you
can help, not only with coding.
Moodle is open to community contributions to core, though all code must go
through peer-review, automated behaviour testing, continuous integration and
human post-integration checks.
Pull requests
-------------
Please do not open pull requests via Github. The repository there is just a
mirror of the official repository at <https://git.moodle.org>. Issues are
reported and patches provided via <https://tracker.moodle.org>. See below for
more information.
Moodle core bug fixes and new features
--------------------------------------
During the years of intensive development, a mature process of including
submitted patches has evolved.
* Every bug fix or new feature must have a tracker issue.
* You publish the branch implementing the fix or new feature in your public
clone of the moodle.git repository (typically on Github).
* Your patch is peer-reviewed, discussed, integrated, tested and then released
as a part of moodle.git.
* New features are developed on the master branch. Bug fixes are also
backported to currently supported maintenance (stable) branches.
For further details, see <https://moodledev.io/general/development/process>.
Moodle plugins
--------------
Moodle has a framework for additional plugins to extend its functionality. We
have a Moodle plugins directory <https://moodle.org/plugins/> where you can
register and maintain your plugin. Plugins hosted in the plugins directory can
be easily installed and updated via the Moodle administration interface.
* You are expected to have a public source code repository with your plugin
code.
* After registering your plugin in the plugins directory it is reviewed before
being published.
* You are expected to continuously release updated versions of the plugin via
the plugins directory. We do not pull from your code repository; you must do
it explicitly.
For further details, see <https://moodledev.io/general/community/plugincontribution>.
-7
View File
@@ -1,7 +0,0 @@
*** PLEASE DO NOT OPEN PULL REQUESTS VIA GITHUB ***
The moodle.git repository at Github is just a mirror of the official repository. We do not accept pull requests at Github.
See CONTRIBUTING.txt guidelines for how to contribute patches for Moodle. Thank you.
--
+48
View File
@@ -0,0 +1,48 @@
# Moodle
<p align="center"><a href="https://moodle.org" target="_blank" title="Moodle Website">
<img src="https://raw.githubusercontent.com/moodle/moodle/main/.github/moodlelogo.svg" alt="The Moodle Logo">
</a></p>
[Moodle][1] is the World's Open Source Learning Platform, widely used around the world by countless universities, schools, companies, and all manner of organisations and individuals.
Moodle is designed to allow educators, administrators and learners to create personalised learning environments with a single robust, secure and integrated system.
## Documentation
- Read our [User documentation][3]
- Discover our [developer documentation][5]
- Take a look at our [demo site][4]
## Community
[moodle.org][1] is the central hub for the Moodle Community, with spaces for educators, administrators and developers to meet and work together.
You may also be interested in:
- attending a [Moodle Moot][6]
- our regular series of [developer meetings][7]
- the [Moodle User Association][8]
## Installation and hosting
Moodle is Free, and Open Source software. You can easily [download Moodle][9] and run it on your own web server, however you may prefer to work with one of our experienced [Moodle Partners][10].
Moodle also offers hosting through both [MoodleCloud][11], and our [partner network][10].
## License
Moodle is provided freely as open source software, under version 3 of the GNU General Public License. For more information on our license see
[1]: https://moodle.org
[2]: https://moodle.com
[3]: https://docs.moodle.org/
[4]: https://sandbox.moodledemo.net/
[5]: https://moodledev.io
[6]: https://moodle.com/events/mootglobal/
[7]: https://moodledev.io/general/community/meetings
[8]: https://moodleassociation.org/
[9]: https://download.moodle.org
[10]: https://moodle.com/partners
[11]: https://moodle.com/cloud
[12]: https://moodledev.io/general/license
-28
View File
@@ -1,28 +0,0 @@
.-..-.
_____ | || |
/____/-.---_ .---. .---. .-.| || | .---.
| | _ _ |/ _ \/ _ \/ _ || |/ __ \
* | | | | | || |_| || |_| || |_| || || |___/
|_| |_| |_|\_____/\_____/\_____||_|\_____)
Moodle - the world's open source learning platform
Moodle <https://moodle.org> is a learning platform designed to provide
educators, administrators and learners with a single robust, secure and
integrated system to create personalised learning environments.
You can download Moodle <https://download.moodle.org> and run it on your own
web server, ask one of our Moodle Partners <https://moodle.com/partners/> to
assist you, or have a MoodleCloud site <https://moodle.com/cloud/> set up for
you.
Moodle is widely used around the world by universities, schools, companies and
all manner of organisations and individuals.
Moodle is provided freely as open source software, under the GNU General Public
License <https://moodledev.io/general/license>.
Moodle is written in PHP and JavaScript and uses an SQL database for storing
the data.
See <https://docs.moodle.org> for details of Moodle's many features.
+2555
View File
File diff suppressed because it is too large Load Diff
+9
View File
@@ -0,0 +1,9 @@
# core_admin (subsystem) Upgrade notes
## 4.5rc1
### Removed
- The HTTP Server setting "Use slash arguments" (slasharguments) configuration setting and related to it has been removed. Calling the option with $CFG->slasharguments or get_config('slasharguments') is no longer available.
For more information see [MDL-62640](https://tracker.moodle.org/browse/MDL-62640)
+65
View File
@@ -0,0 +1,65 @@
<?php
// This file is part of Moodle - http://moodle.org/
//
// Moodle is free software: you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
// the Free Software Foundation, either version 3 of the License, or
// (at your option) any later version.
//
// Moodle is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License for more details.
//
// You should have received a copy of the GNU General Public License
// along with Moodle. If not, see <http://www.gnu.org/licenses/>.
/**
* Manage AI subsystem plugins settings.
*
* @package core_admin
* @copyright 2024 Matt Porritt <matt.porritt@moodle.com>
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
*/
require_once('../config.php');
require_once($CFG->libdir . '/adminlib.php');
$action = required_param('action', PARAM_ALPHANUMEXT);
$type = required_param('type', PARAM_PLUGIN); // Must be provider or placement.
$name = required_param('name', PARAM_PLUGIN); // Plugin name, e.g openai.
$syscontext = context_system::instance();
$PAGE->set_url('/admin/ai.php');
$PAGE->set_context($syscontext);
require_admin();
require_sesskey();
$return = new moodle_url('/admin/settings.php', ['section' => "aisettings$type"]);
$plugins = core_plugin_manager::instance()->get_plugins_of_type("ai$type");
$sortorder = array_flip(array_keys($plugins));
if (!isset($plugins[$name])) {
throw new moodle_exception('aipluginnotfound', 'core_ai', $return, $name);
}
$plugintypename = $plugins[$name]->type . '_' . $plugins[$name]->name;
switch ($action) {
case 'disable':
if ($plugins[$name]->is_enabled()) {
$class = core_plugin_manager::resolve_plugininfo_class("aisettings$type");
$class::enable_plugin($name, false);
}
break;
case 'enable':
if (!$plugins[$name]->is_enabled()) {
$class = core_plugin_manager::resolve_plugininfo_class("aisettings$type");
$class::enable_plugin($name, true);
}
break;
}
redirect($return);
+10
View File
@@ -0,0 +1,10 @@
define("core_admin/bulk_user_actions",["exports","core_reportbuilder/local/selectors","core_table/local/dynamic/events","core_form/changechecker","core/custom_interaction_events","jquery"],(function(_exports,reportSelectors,tableEvents,FormChangeChecker,CustomEvents,_jquery){var obj;function _getRequireWildcardCache(nodeInterop){if("function"!=typeof WeakMap)return null;var cacheBabelInterop=new WeakMap,cacheNodeInterop=new WeakMap;return(_getRequireWildcardCache=function(nodeInterop){return nodeInterop?cacheNodeInterop:cacheBabelInterop})(nodeInterop)}function _interopRequireWildcard(obj,nodeInterop){if(!nodeInterop&&obj&&obj.__esModule)return obj;if(null===obj||"object"!=typeof obj&&"function"!=typeof obj)return{default:obj};var cache=_getRequireWildcardCache(nodeInterop);if(cache&&cache.has(obj))return cache.get(obj);var newObj={},hasPropertyDescriptor=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var key in obj)if("default"!==key&&Object.prototype.hasOwnProperty.call(obj,key)){var desc=hasPropertyDescriptor?Object.getOwnPropertyDescriptor(obj,key):null;desc&&(desc.get||desc.set)?Object.defineProperty(newObj,key,desc):newObj[key]=obj[key]}return newObj.default=obj,cache&&cache.set(obj,newObj),newObj}
/**
* Add bulk actions to the users list report
*
* @module core_admin/bulk_user_actions
* @copyright 2024 Marina Glancy
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
*/Object.defineProperty(_exports,"__esModule",{value:!0}),_exports.init=void 0,reportSelectors=_interopRequireWildcard(reportSelectors),tableEvents=_interopRequireWildcard(tableEvents),FormChangeChecker=_interopRequireWildcard(FormChangeChecker),CustomEvents=_interopRequireWildcard(CustomEvents),_jquery=(obj=_jquery)&&obj.__esModule?obj:{default:obj};const Selectors_bulkActionsForm="form#user-bulk-action-form",Selectors_userReportWrapper='[data-region="report-user-list-wrapper"]',Selectors_checkbox='input[type="checkbox"][data-togglegroup="report-select-all"][data-toggle="slave"]',Selectors_masterCheckbox='input[type="checkbox"][data-togglegroup="report-select-all"][data-toggle="master"]',Selectors_checkedRows='[data-togglegroup="report-select-all"][data-toggle="slave"]:checked';_exports.init=()=>{var _userBulkForm$closest;const userBulkForm=document.querySelector(Selectors_bulkActionsForm),userReport=null==userBulkForm||null===(_userBulkForm$closest=userBulkForm.closest(Selectors_userReportWrapper))||void 0===_userBulkForm$closest?void 0:_userBulkForm$closest.querySelector(reportSelectors.regions.report);if(!userBulkForm||!userReport)return;const actionSelect=userBulkForm.querySelector("select");CustomEvents.define(actionSelect,[CustomEvents.events.accessibleChange]),(0,_jquery.default)(actionSelect).on(CustomEvents.events.accessibleChange,(event=>{if(event.target.value&&"0"!=="".concat(event.target.value)){const e=new Event("submit",{cancelable:!0});userBulkForm.dispatchEvent(e),e.defaultPrevented||(FormChangeChecker.markFormSubmitted(userBulkForm),userBulkForm.submit())}}));const updateUserIds=()=>{const selectedUsers=[...userReport.querySelectorAll(Selectors_checkedRows)],selectedUserIds=selectedUsers.map((check=>parseInt(check.value)));userBulkForm.querySelector('[name="userids"]').value=selectedUserIds.join(","),actionSelect.disabled=0===selectedUsers.length,actionSelect.disabled&&(actionSelect.value="0");const selectedUsersNames=selectedUsers.map((check=>document.querySelector('label[for="'.concat(check.id,'"]')).textContent));userBulkForm.data={userids:selectedUserIds,usernames:selectedUsersNames}};updateUserIds(),document.addEventListener("change",(event=>{(event.target.matches(Selectors_checkbox)||event.target.matches(Selectors_masterCheckbox))&&userReport.contains(event.target)&&updateUserIds()})),document.addEventListener(tableEvents.tableContentRefreshed,(event=>{userReport.contains(event.target)&&updateUserIds()}))}}));
//# sourceMappingURL=bulk_user_actions.min.js.map
File diff suppressed because one or more lines are too long
+12
View File
@@ -0,0 +1,12 @@
define("core_admin/expand_hash",["exports"],(function(_exports){Object.defineProperty(_exports,"__esModule",{value:!0}),_exports.init=_exports.expandSection=void 0;
/**
* Expand the collapse section element.
*
* @module core_admin/expand_hash
* @copyright Meirza <meirza.arson@moodle.com>
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
* @since 4.5
*/
const SELECTORS_COLLAPSE_ELEMENTS='[data-bs-toggle="collapse"]',SELECTORS_FOCUSTHENEXPAND_ELEMENTS=".focus-expand";_exports.init=()=>{const focusexpand=document.querySelector(SELECTORS_FOCUSTHENEXPAND_ELEMENTS);null==focusexpand||focusexpand.addEventListener("click",(()=>{expandSection("".concat(focusexpand.getAttribute("href")))}))};const expandSection=hash=>{const container=document.querySelector(hash),targetContainer=null==container?void 0:container.querySelector(SELECTORS_COLLAPSE_ELEMENTS);if("false"===(null==targetContainer?void 0:targetContainer.getAttribute("aria-expanded"))){const collapseId=targetContainer.getAttribute("aria-controls"),collapseContainer=document.getElementById(collapseId);collapseContainer.classList.remove("collapse"),collapseContainer.classList.add("show"),targetContainer.setAttribute("aria-expanded","true"),targetContainer.classList.remove("collapsed");const collapseElement=document.querySelector(".collapseexpand.collapsemenu");collapseElement.setAttribute("aria-expanded","true"),collapseElement.classList.remove("collapsed")}};_exports.expandSection=expandSection}));
//# sourceMappingURL=expand_hash.min.js.map
+1
View File
@@ -0,0 +1 @@
{"version":3,"file":"expand_hash.min.js","sources":["../src/expand_hash.js"],"sourcesContent":["// This file is part of Moodle - http://moodle.org/\n//\n// Moodle is free software: you can redistribute it and/or modify\n// it under the terms of the GNU General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// Moodle is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU General Public License for more details.\n//\n// You should have received a copy of the GNU General Public License\n// along with Moodle. If not, see <http://www.gnu.org/licenses/>.\n\n/**\n * Expand the collapse section element.\n *\n * @module core_admin/expand_hash\n * @copyright Meirza <meirza.arson@moodle.com>\n * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later\n * @since 4.5\n */\n\nconst SELECTORS = {\n COLLAPSE_ELEMENTS: '[data-bs-toggle=\"collapse\"]',\n FOCUSTHENEXPAND_ELEMENTS: '.focus-expand',\n};\n\n/**\n * Initializes the focus and expand functionality.\n */\nexport const init = () => {\n // Select all collapsible elements only.\n const focusexpand = document.querySelector(SELECTORS.FOCUSTHENEXPAND_ELEMENTS);\n\n // Add click event listener to the anchor element\n focusexpand?.addEventListener('click', () => {\n expandSection(`${focusexpand.getAttribute('href')}`);\n });\n};\n\n/**\n * Expands a section based on the provided URL hash.\n *\n * This function takes a hash string, finds the corresponding element in the DOM,\n * and expands it if it is currently collapsed. It updates the necessary ARIA\n * attributes and classes to reflect the expanded state.\n *\n * @param {string} hash - The hash (e.g., '#elementId') of the element to expand.\n */\nexport const expandSection = (hash) => {\n const container = document.querySelector(hash);\n const targetContainer = container?.querySelector(SELECTORS.COLLAPSE_ELEMENTS);\n\n if (targetContainer?.getAttribute('aria-expanded') === 'false') {\n const collapseId = targetContainer.getAttribute('aria-controls');\n const collapseContainer = document.getElementById(collapseId);\n\n // Show the content.\n collapseContainer.classList.remove('collapse');\n collapseContainer.classList.add('show');\n\n // Update aria-expanded attribute to reflect the new state.\n targetContainer.setAttribute('aria-expanded', 'true');\n targetContainer.classList.remove('collapsed');\n\n // Get collapse expand menu element.\n const collapseElement = document.querySelector('.collapseexpand.collapsemenu');\n // Ensure it gets noticed to make it work.\n collapseElement.setAttribute('aria-expanded', 'true');\n collapseElement.classList.remove('collapsed');\n }\n};\n"],"names":["SELECTORS","focusexpand","document","querySelector","addEventListener","expandSection","getAttribute","hash","container","targetContainer","collapseId","collapseContainer","getElementById","classList","remove","add","setAttribute","collapseElement"],"mappings":";;;;;;;;;MAwBMA,4BACiB,8BADjBA,mCAEwB,8BAMV,WAEVC,YAAcC,SAASC,cAAcH,oCAG3CC,MAAAA,aAAAA,YAAaG,iBAAiB,SAAS,KACnCC,wBAAiBJ,YAAYK,aAAa,oBAarCD,cAAiBE,aACpBC,UAAYN,SAASC,cAAcI,MACnCE,gBAAkBD,MAAAA,iBAAAA,UAAWL,cAAcH,gCAEM,WAAnDS,MAAAA,uBAAAA,gBAAiBH,aAAa,kBAA8B,OACtDI,WAAaD,gBAAgBH,aAAa,iBAC1CK,kBAAoBT,SAASU,eAAeF,YAGlDC,kBAAkBE,UAAUC,OAAO,YACnCH,kBAAkBE,UAAUE,IAAI,QAGhCN,gBAAgBO,aAAa,gBAAiB,QAC9CP,gBAAgBI,UAAUC,OAAO,mBAG3BG,gBAAkBf,SAASC,cAAc,gCAE/Cc,gBAAgBD,aAAa,gBAAiB,QAC9CC,gBAAgBJ,UAAUC,OAAO"}
+1 -1
View File
@@ -1,3 +1,3 @@
define("core_admin/plugin_management_table",["exports","core_table/dynamic","core_table/local/dynamic/selectors","core/ajax","core/pending","core/notification"],(function(_exports,_dynamic,Selectors,_ajax,_pending,_notification){var obj;function _getRequireWildcardCache(nodeInterop){if("function"!=typeof WeakMap)return null;var cacheBabelInterop=new WeakMap,cacheNodeInterop=new WeakMap;return(_getRequireWildcardCache=function(nodeInterop){return nodeInterop?cacheNodeInterop:cacheBabelInterop})(nodeInterop)}Object.defineProperty(_exports,"__esModule",{value:!0}),_exports.default=void 0,Selectors=function(obj,nodeInterop){if(!nodeInterop&&obj&&obj.__esModule)return obj;if(null===obj||"object"!=typeof obj&&"function"!=typeof obj)return{default:obj};var cache=_getRequireWildcardCache(nodeInterop);if(cache&&cache.has(obj))return cache.get(obj);var newObj={},hasPropertyDescriptor=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var key in obj)if("default"!==key&&Object.prototype.hasOwnProperty.call(obj,key)){var desc=hasPropertyDescriptor?Object.getOwnPropertyDescriptor(obj,key):null;desc&&(desc.get||desc.set)?Object.defineProperty(newObj,key,desc):newObj[key]=obj[key]}newObj.default=obj,cache&&cache.set(obj,newObj);return newObj}(Selectors),_pending=(obj=_pending)&&obj.__esModule?obj:{default:obj};let watching=!1;return _exports.default=class{constructor(){!function(obj,key,value){key in obj?Object.defineProperty(obj,key,{value:value,enumerable:!0,configurable:!0,writable:!0}):obj[key]=value}(this,"clickHandlers",[]),this.addClickHandler(this.handleStateToggle),this.addClickHandler(this.handleMoveUpDown),this.registerEventListeners()}static init(){watching||(watching=!0,new this)}addClickHandler(handler){this.clickHandlers.push(handler.bind(this))}registerEventListeners(){document.addEventListener("click",function(e){const tableRoot=this.getTableRoot(e);tableRoot&&this.clickHandlers.forEach((handler=>handler(tableRoot,e)))}.bind(this))}getTableRoot(e){const tableRoot=e.target.closest(Selectors.main.region);return tableRoot||!1}setPluginState(methodname,plugin,state){return(0,_ajax.call)([{methodname:methodname,args:{plugin:plugin,state:state}}])[0]}setPluginOrder(methodname,plugin,direction){return(0,_ajax.call)([{methodname:methodname,args:{plugin:plugin,direction:direction}}])[0]}async handleStateToggle(tableRoot,e){const stateToggle=e.target.closest('[data-action="togglestate"][data-toggle-method]');if(stateToggle){e.preventDefault();const pendingPromise=new _pending.default("core_table/dynamic:togglestate");await this.setPluginState(stateToggle.dataset.toggleMethod,stateToggle.dataset.plugin,"1"===stateToggle.dataset.state?0:1);const[updatedRoot]=await Promise.all([(0,_dynamic.refreshTableContent)(tableRoot),(0,_notification.fetchNotifications)()]);updatedRoot.querySelector('[data-action="togglestate"][data-plugin="'.concat(stateToggle.dataset.plugin,'"]')).focus(),pendingPromise.resolve()}}async handleMoveUpDown(tableRoot,e){const actionLink=e.target.closest('[data-action="move"][data-method][data-direction]');if(!actionLink)return;e.preventDefault();const pendingPromise=new _pending.default("core_table/dynamic:processAction");await this.setPluginOrder(actionLink.dataset.method,actionLink.dataset.plugin,"up"===actionLink.dataset.direction?-1:1);const[updatedRoot]=await Promise.all([(0,_dynamic.refreshTableContent)(tableRoot),(0,_notification.fetchNotifications)()]),exactMatch=updatedRoot.querySelector('[data-action="move"][data-plugin="'.concat(actionLink.dataset.plugin,'"][data-direction="').concat(actionLink.dataset.direction,'"]'));var _updatedRoot$querySel;exactMatch?exactMatch.focus():null===(_updatedRoot$querySel=updatedRoot.querySelector('[data-action="move"][data-plugin="'.concat(actionLink.dataset.plugin,'"]')))||void 0===_updatedRoot$querySel||_updatedRoot$querySel.focus();pendingPromise.resolve()}},_exports.default}));
define("core_admin/plugin_management_table",["exports","core_table/dynamic","core_table/local/dynamic/selectors","core/ajax","core/pending","core/notification"],(function(_exports,_dynamic,Selectors,_ajax,_pending,_notification){var obj;function _getRequireWildcardCache(nodeInterop){if("function"!=typeof WeakMap)return null;var cacheBabelInterop=new WeakMap,cacheNodeInterop=new WeakMap;return(_getRequireWildcardCache=function(nodeInterop){return nodeInterop?cacheNodeInterop:cacheBabelInterop})(nodeInterop)}Object.defineProperty(_exports,"__esModule",{value:!0}),_exports.default=void 0,Selectors=function(obj,nodeInterop){if(!nodeInterop&&obj&&obj.__esModule)return obj;if(null===obj||"object"!=typeof obj&&"function"!=typeof obj)return{default:obj};var cache=_getRequireWildcardCache(nodeInterop);if(cache&&cache.has(obj))return cache.get(obj);var newObj={},hasPropertyDescriptor=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var key in obj)if("default"!==key&&Object.prototype.hasOwnProperty.call(obj,key)){var desc=hasPropertyDescriptor?Object.getOwnPropertyDescriptor(obj,key):null;desc&&(desc.get||desc.set)?Object.defineProperty(newObj,key,desc):newObj[key]=obj[key]}newObj.default=obj,cache&&cache.set(obj,newObj);return newObj}(Selectors),_pending=(obj=_pending)&&obj.__esModule?obj:{default:obj};let watching=!1;return _exports.default=class{constructor(){!function(obj,key,value){key in obj?Object.defineProperty(obj,key,{value:value,enumerable:!0,configurable:!0,writable:!0}):obj[key]=value}(this,"clickHandlers",[]),this.addClickHandler(this.handleStateToggle),this.addClickHandler(this.handleMoveUpDown),this.registerEventListeners()}static init(){watching||(watching=!0,new this)}addClickHandler(handler){this.clickHandlers.push(handler.bind(this))}registerEventListeners(){document.addEventListener("click",function(e){const tableRoot=this.getTableRoot(e);tableRoot&&this.clickHandlers.forEach((handler=>handler(tableRoot,e)))}.bind(this))}getTableRoot(e){const tableRoot=e.target.closest(Selectors.main.region);return tableRoot||!1}setPluginState(methodname,plugin,state){return(0,_ajax.call)([{methodname:methodname,args:{plugin:plugin,state:state}}])[0]}setPluginOrder(methodname,plugin,direction){return(0,_ajax.call)([{methodname:methodname,args:{plugin:plugin,direction:direction}}])[0]}async handleStateToggle(tableRoot,e){const stateToggle=e.target.closest('[data-action="togglestate"][data-toggle-method]');if(stateToggle){e.preventDefault();const pendingPromise=new _pending.default("core_table/dynamic:togglestate");await this.setPluginState(stateToggle.dataset.toggleMethod,stateToggle.dataset.plugin,"1"===stateToggle.dataset.state?0:1);const[updatedRoot]=await Promise.all([(0,_dynamic.refreshTableContent)(tableRoot),(0,_notification.fetchNotifications)()]);updatedRoot.querySelector('[data-action="togglestate"][data-plugin="'.concat(stateToggle.dataset.plugin,'"]')).focus(),this.removeTooltips(),pendingPromise.resolve()}}async handleMoveUpDown(tableRoot,e){const actionLink=e.target.closest('[data-action="move"][data-method][data-direction]');if(!actionLink)return;e.preventDefault();const pendingPromise=new _pending.default("core_table/dynamic:processAction");await this.setPluginOrder(actionLink.dataset.method,actionLink.dataset.plugin,"up"===actionLink.dataset.direction?-1:1);const[updatedRoot]=await Promise.all([(0,_dynamic.refreshTableContent)(tableRoot),(0,_notification.fetchNotifications)()]),exactMatch=updatedRoot.querySelector('[data-action="move"][data-plugin="'.concat(actionLink.dataset.plugin,'"][data-direction="').concat(actionLink.dataset.direction,'"]'));var _updatedRoot$querySel;exactMatch?exactMatch.focus():null===(_updatedRoot$querySel=updatedRoot.querySelector('[data-action="move"][data-plugin="'.concat(actionLink.dataset.plugin,'"]')))||void 0===_updatedRoot$querySel||_updatedRoot$querySel.focus();pendingPromise.resolve()}removeTooltips(){const tooltips=document.querySelectorAll('[id*="tooltip"]');tooltips.length>0&&tooltips.forEach((tooltip=>{tooltip.remove()}))}},_exports.default}));
//# sourceMappingURL=plugin_management_table.min.js.map
File diff suppressed because one or more lines are too long
+11
View File
@@ -0,0 +1,11 @@
define("core_admin/plugins_overview",["exports"],(function(_exports){Object.defineProperty(_exports,"__esModule",{value:!0}),_exports.init=function(){const filters=document.querySelectorAll(SELECTORS_PLUGIN_FILTERS),pluginRows=document.querySelectorAll(SELECTORS_PLUGIN_ROWS),pluginTypeRows=document.querySelectorAll(SELECTORS_PLUGIN_TYPE_ROWS),filterPlugins=target=>{const filterBy=target.getAttribute("data-filterby"),headerVisibility={};for(const row of pluginRows){const type=[...row.classList].find((s=>s.startsWith("type-"))),visible="all"===filterBy||row.classList.contains(filterBy);row.style.display=visible?null:"none",visible&&type&&(headerVisibility[type]=!0)}for(const row of pluginTypeRows){const type=[...row.classList].find((s=>s.startsWith("type-")));if(type){const visible="all"===filterBy||headerVisibility[type];row.style.display=visible?null:"none"}}filters.forEach((el=>el.classList.remove("active"))),target.classList.add("active")};if(filters.forEach((target=>target.addEventListener("click",(e=>{e.preventDefault(),window.history.replaceState({},null,e.target.href),filterPlugins(target)})))),window.location.hash.length>1){const anchor=window.location.hash.substring(1),target=[...filters].find((t=>t.getAttribute("data-filterby")===anchor));target&&filterPlugins(target)}};
/**
* Allows to filter the plugin list on plugins overview page
*
* @module core_admin/plugins_overview
* @copyright 2024 Marina Glancy
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
*/
const SELECTORS_PLUGIN_FILTERS="#plugins-overview-panel [data-filterby]",SELECTORS_PLUGIN_ROWS="table#plugins-control-panel tbody tr:not(.plugintypeheader)",SELECTORS_PLUGIN_TYPE_ROWS="table#plugins-control-panel tbody tr.plugintypeheader"}));
//# sourceMappingURL=plugins_overview.min.js.map
@@ -0,0 +1 @@
{"version":3,"file":"plugins_overview.min.js","sources":["../src/plugins_overview.js"],"sourcesContent":["// This file is part of Moodle - http://moodle.org/\n//\n// Moodle is free software: you can redistribute it and/or modify\n// it under the terms of the GNU General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// Moodle is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU General Public License for more details.\n//\n// You should have received a copy of the GNU General Public License\n// along with Moodle. If not, see <http://www.gnu.org/licenses/>.\n\n/**\n * Allows to filter the plugin list on plugins overview page\n *\n * @module core_admin/plugins_overview\n * @copyright 2024 Marina Glancy\n * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later\n */\n\nconst SELECTORS = {\n PLUGIN_FILTERS: '#plugins-overview-panel [data-filterby]',\n PLUGIN_ROWS: 'table#plugins-control-panel tbody tr:not(.plugintypeheader)',\n PLUGIN_TYPE_ROWS: 'table#plugins-control-panel tbody tr.plugintypeheader',\n};\n\n/**\n * Initialise filters for the \"Plugins overview\" page\n */\nexport function init() {\n const filters = document.querySelectorAll(SELECTORS.PLUGIN_FILTERS);\n const pluginRows = document.querySelectorAll(SELECTORS.PLUGIN_ROWS);\n const pluginTypeRows = document.querySelectorAll(SELECTORS.PLUGIN_TYPE_ROWS);\n\n const filterPlugins = (target) => {\n const filterBy = target.getAttribute('data-filterby');\n const headerVisibility = {};\n\n // Hide all plugin rows in the plugin table that do not match the filter and show all others.\n for (const row of pluginRows) {\n const type = [...row.classList].find(s => s.startsWith('type-'));\n const visible = filterBy === 'all' ? true : row.classList.contains(filterBy);\n row.style.display = visible ? null : 'none';\n if (visible && type) {\n headerVisibility[type] = true;\n }\n }\n\n // Hide all the plugin type headers that do not have any visible plugins and show all others.\n for (const row of pluginTypeRows) {\n const type = [...row.classList].find(s => s.startsWith('type-'));\n if (type) {\n const visible = filterBy === 'all' || headerVisibility[type];\n row.style.display = visible ? null : 'none';\n }\n }\n\n // Toggle 'active' class for the selected filter.\n filters.forEach(el => el.classList.remove('active'));\n target.classList.add('active');\n };\n\n // Add event listeners for the links changing plugins filters.\n filters\n .forEach(target => target.addEventListener('click', (e) => {\n e.preventDefault();\n window.history.replaceState({}, null, e.target.href);\n filterPlugins(target);\n }));\n\n // Pre-filter plugins based on the current url anchor.\n if (window.location.hash.length > 1) {\n const anchor = window.location.hash.substring(1);\n const target = [...filters].find(t => t.getAttribute('data-filterby') === anchor);\n if (target) {\n filterPlugins(target);\n }\n }\n}\n"],"names":["filters","document","querySelectorAll","SELECTORS","pluginRows","pluginTypeRows","filterPlugins","target","filterBy","getAttribute","headerVisibility","row","type","classList","find","s","startsWith","visible","contains","style","display","forEach","el","remove","add","addEventListener","e","preventDefault","window","history","replaceState","href","location","hash","length","anchor","substring","t"],"mappings":"4JAiCUA,QAAUC,SAASC,iBAAiBC,0BACpCC,WAAaH,SAASC,iBAAiBC,uBACvCE,eAAiBJ,SAASC,iBAAiBC,4BAE3CG,cAAiBC,eACbC,SAAWD,OAAOE,aAAa,iBAC/BC,iBAAmB,OAGpB,MAAMC,OAAOP,WAAY,OACpBQ,KAAO,IAAID,IAAIE,WAAWC,MAAKC,GAAKA,EAAEC,WAAW,WACjDC,QAAuB,QAAbT,UAA4BG,IAAIE,UAAUK,SAASV,UACnEG,IAAIQ,MAAMC,QAAUH,QAAU,KAAO,OACjCA,SAAWL,OACXF,iBAAiBE,OAAQ,OAK5B,MAAMD,OAAON,eAAgB,OACxBO,KAAO,IAAID,IAAIE,WAAWC,MAAKC,GAAKA,EAAEC,WAAW,cACnDJ,KAAM,OACAK,QAAuB,QAAbT,UAAsBE,iBAAiBE,MACvDD,IAAIQ,MAAMC,QAAUH,QAAU,KAAO,QAK7CjB,QAAQqB,SAAQC,IAAMA,GAAGT,UAAUU,OAAO,YAC1ChB,OAAOM,UAAUW,IAAI,cAIzBxB,QACCqB,SAAQd,QAAUA,OAAOkB,iBAAiB,SAAUC,IACjDA,EAAEC,iBACFC,OAAOC,QAAQC,aAAa,GAAI,KAAMJ,EAAEnB,OAAOwB,MAC/CzB,cAAcC,aAIdqB,OAAOI,SAASC,KAAKC,OAAS,EAAG,OAC3BC,OAASP,OAAOI,SAASC,KAAKG,UAAU,GACxC7B,OAAS,IAAIP,SAASc,MAAKuB,GAAKA,EAAE5B,aAAa,mBAAqB0B,SACtE5B,QACAD,cAAcC;;;;;;;;MAvDpBJ,yBACc,0CADdA,sBAEW,8DAFXA,2BAGgB"}
+10
View File
@@ -0,0 +1,10 @@
define("core_admin/themeselector/preview_modal",["exports","core/modal_events","core/modal_cancel","core/modal_save_cancel","core/notification","core/templates","core/str"],(function(_exports,_modal_events,_modal_cancel,_modal_save_cancel,_notification,_templates,_str){function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}
/**
* Modal for theme previews.
*
* @module core_admin/themeselector/preview_modal
* @copyright 2023 David Woloszyn <david.woloszyn@moodle.com>
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
*/Object.defineProperty(_exports,"__esModule",{value:!0}),_exports.init=void 0,_modal_events=_interopRequireDefault(_modal_events),_modal_cancel=_interopRequireDefault(_modal_cancel),_modal_save_cancel=_interopRequireDefault(_modal_save_cancel),_notification=_interopRequireDefault(_notification),_templates=_interopRequireDefault(_templates);const SELECTORS_THEMES_CONTAINER="themelist",SELECTORS_PREVIEW='[data-action="preview"]';_exports.init=()=>{registerListenerEvents()};const registerListenerEvents=()=>{document.addEventListener("click",(e=>{const preview=e.target.closest(SELECTORS_PREVIEW);preview&&buildModal(preview).catch(_notification.default.exception)}))},buildModal=async element=>{let description=await(0,_str.getString)("choosereadme","theme_"+element.getAttribute("data-choose"));const themesContainer=document.getElementById(SELECTORS_THEMES_CONTAINER),definedInConfig=parseInt(themesContainer.dataset.definedinconfig),data={name:element.getAttribute("data-name"),image:element.getAttribute("data-image"),description:description.replace(/<[^>]+>/g," "),current:element.getAttribute("data-current"),actionurl:element.getAttribute("data-actionurl"),choose:element.getAttribute("data-choose"),sesskey:element.getAttribute("data-sesskey"),definedinconfig:definedInConfig};let modalTemplate=_modal_save_cancel.default;(data.current||data.definedinconfig)&&(modalTemplate=_modal_cancel.default);const modal=await modalTemplate.create({title:data.name,body:_templates.default.render("core_admin/themeselector/theme_preview_modal",data),large:!0,buttons:{save:(0,_str.getString)("selecttheme","moodle"),cancel:(0,_str.getString)("closebuttontitle","moodle")},show:!0});modal.getRoot().on(_modal_events.default.save,(()=>{modal.getRoot().find("form").submit()}))}}));
//# sourceMappingURL=preview_modal.min.js.map
@@ -0,0 +1 @@
{"version":3,"file":"preview_modal.min.js","sources":["../../src/themeselector/preview_modal.js"],"sourcesContent":["// This file is part of Moodle - http://moodle.org/\n//\n// Moodle is free software: you can redistribute it and/or modify\n// it under the terms of the GNU General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// Moodle is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU General Public License for more details.\n//\n// You should have received a copy of the GNU General Public License\n// along with Moodle. If not, see <http://www.gnu.org/licenses/>.\n\n/**\n * Modal for theme previews.\n *\n * @module core_admin/themeselector/preview_modal\n * @copyright 2023 David Woloszyn <david.woloszyn@moodle.com>\n * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later\n */\n\nimport ModalEvents from 'core/modal_events';\nimport ModalCancel from 'core/modal_cancel';\nimport ModalSaveCancel from 'core/modal_save_cancel';\nimport Notification from 'core/notification';\nimport Templates from 'core/templates';\nimport {getString} from 'core/str';\n\nconst SELECTORS = {\n THEMES_CONTAINER: 'themelist',\n PREVIEW: '[data-action=\"preview\"]',\n};\n\n/**\n * Entrypoint of the js.\n *\n * @method init\n */\nexport const init = () => {\n registerListenerEvents();\n};\n\n/**\n * Register theme related event listeners.\n *\n * @method registerListenerEvents\n */\nconst registerListenerEvents = () => {\n document.addEventListener('click', (e) => {\n const preview = e.target.closest(SELECTORS.PREVIEW);\n if (preview) {\n buildModal(preview).catch(Notification.exception);\n }\n });\n};\n\n/**\n * Build the modal with the provided data.\n *\n * @method buildModal\n * @param {object} element\n */\nconst buildModal = async(element) => {\n\n // This string can be long. We will fetch it with JS as opposed to passing it as an attribute.\n let description = await getString('choosereadme', 'theme_' + element.getAttribute('data-choose'));\n\n const themesContainer = document.getElementById(SELECTORS.THEMES_CONTAINER);\n const definedInConfig = parseInt(themesContainer.dataset.definedinconfig);\n // Prepare data for modal.\n const data = {\n name: element.getAttribute('data-name'),\n image: element.getAttribute('data-image'),\n description: description.replace(/<[^>]+>/g, ' '), // Strip out HTML tags.\n current: element.getAttribute('data-current'),\n actionurl: element.getAttribute('data-actionurl'),\n choose: element.getAttribute('data-choose'),\n sesskey: element.getAttribute('data-sesskey'),\n definedinconfig: definedInConfig,\n };\n\n // Determine which modal template we should use.\n let modalTemplate = ModalSaveCancel;\n if (data.current || data.definedinconfig) {\n modalTemplate = ModalCancel;\n }\n\n const modal = await modalTemplate.create({\n title: data.name,\n body: Templates.render('core_admin/themeselector/theme_preview_modal', data),\n large: true,\n buttons: {\n 'save': getString('selecttheme', 'moodle'),\n 'cancel': getString('closebuttontitle', 'moodle'),\n },\n show: true,\n });\n\n modal.getRoot().on(ModalEvents.save, () => {\n modal.getRoot().find('form').submit();\n });\n};\n"],"names":["SELECTORS","registerListenerEvents","document","addEventListener","e","preview","target","closest","buildModal","catch","Notification","exception","async","description","element","getAttribute","themesContainer","getElementById","definedInConfig","parseInt","dataset","definedinconfig","data","name","image","replace","current","actionurl","choose","sesskey","modalTemplate","ModalSaveCancel","ModalCancel","modal","create","title","body","Templates","render","large","buttons","show","getRoot","on","ModalEvents","save","find","submit"],"mappings":";;;;;;;gWA8BMA,2BACgB,YADhBA,kBAEO,wCAQO,KAChBC,gCAQEA,uBAAyB,KAC3BC,SAASC,iBAAiB,SAAUC,UAC1BC,QAAUD,EAAEE,OAAOC,QAAQP,mBAC7BK,SACAG,WAAWH,SAASI,MAAMC,sBAAaC,eAW7CH,WAAaI,MAAAA,cAGXC,kBAAoB,kBAAU,eAAgB,SAAWC,QAAQC,aAAa,sBAE5EC,gBAAkBd,SAASe,eAAejB,4BAC1CkB,gBAAkBC,SAASH,gBAAgBI,QAAQC,iBAEnDC,KAAO,CACTC,KAAMT,QAAQC,aAAa,aAC3BS,MAAOV,QAAQC,aAAa,cAC5BF,YAAaA,YAAYY,QAAQ,WAAY,KAC7CC,QAASZ,QAAQC,aAAa,gBAC9BY,UAAWb,QAAQC,aAAa,kBAChCa,OAAQd,QAAQC,aAAa,eAC7Bc,QAASf,QAAQC,aAAa,gBAC9BM,gBAAiBH,qBAIjBY,cAAgBC,4BAChBT,KAAKI,SAAWJ,KAAKD,mBACrBS,cAAgBE,6BAGdC,YAAcH,cAAcI,OAAO,CACrCC,MAAOb,KAAKC,KACZa,KAAMC,mBAAUC,OAAO,+CAAgDhB,MACvEiB,OAAO,EACPC,QAAS,OACG,kBAAU,cAAe,kBACvB,kBAAU,mBAAoB,WAE5CC,MAAM,IAGVR,MAAMS,UAAUC,GAAGC,sBAAYC,MAAM,KACjCZ,MAAMS,UAAUI,KAAK,QAAQC"}
+97
View File
@@ -0,0 +1,97 @@
// This file is part of Moodle - http://moodle.org/
//
// Moodle is free software: you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
// the Free Software Foundation, either version 3 of the License, or
// (at your option) any later version.
//
// Moodle is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License for more details.
//
// You should have received a copy of the GNU General Public License
// along with Moodle. If not, see <http://www.gnu.org/licenses/>.
/**
* Add bulk actions to the users list report
*
* @module core_admin/bulk_user_actions
* @copyright 2024 Marina Glancy
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
*/
import * as reportSelectors from 'core_reportbuilder/local/selectors';
import * as tableEvents from 'core_table/local/dynamic/events';
import * as FormChangeChecker from 'core_form/changechecker';
import * as CustomEvents from 'core/custom_interaction_events';
import jQuery from 'jquery';
const Selectors = {
bulkActionsForm: 'form#user-bulk-action-form',
userReportWrapper: '[data-region="report-user-list-wrapper"]',
checkbox: 'input[type="checkbox"][data-togglegroup="report-select-all"][data-toggle="slave"]',
masterCheckbox: 'input[type="checkbox"][data-togglegroup="report-select-all"][data-toggle="master"]',
checkedRows: '[data-togglegroup="report-select-all"][data-toggle="slave"]:checked',
};
/**
* Initialise module
*/
export const init = () => {
const userBulkForm = document.querySelector(Selectors.bulkActionsForm);
const userReport = userBulkForm?.closest(Selectors.userReportWrapper)?.querySelector(reportSelectors.regions.report);
if (!userBulkForm || !userReport) {
return;
}
const actionSelect = userBulkForm.querySelector('select');
CustomEvents.define(actionSelect, [CustomEvents.events.accessibleChange]);
jQuery(actionSelect).on(CustomEvents.events.accessibleChange, event => {
if (event.target.value && `${event.target.value}` !== "0") {
const e = new Event('submit', {cancelable: true});
userBulkForm.dispatchEvent(e);
if (!e.defaultPrevented) {
FormChangeChecker.markFormSubmitted(userBulkForm);
userBulkForm.submit();
}
}
});
// Every time the checkboxes in the report are changed, update the list of users in the form values
// and enable/disable the action select.
const updateUserIds = () => {
const selectedUsers = [...userReport.querySelectorAll(Selectors.checkedRows)];
const selectedUserIds = selectedUsers.map(check => parseInt(check.value));
userBulkForm.querySelector('[name="userids"]').value = selectedUserIds.join(',');
// Disable the action selector if nothing selected, and reset the current selection.
actionSelect.disabled = selectedUsers.length === 0;
if (actionSelect.disabled) {
actionSelect.value = "0";
}
const selectedUsersNames = selectedUsers.map(check => document.querySelector(`label[for="${check.id}"]`).textContent);
// Add the user ids and names to the form data attributes so they can be available from the
// other JS modules that listen to the form submit event.
userBulkForm.data = {userids: selectedUserIds, usernames: selectedUsersNames};
};
updateUserIds();
document.addEventListener('change', event => {
// When checkboxes are checked next to individual users or the master toggle (Select all/none).
if ((event.target.matches(Selectors.checkbox) || event.target.matches(Selectors.masterCheckbox))
&& userReport.contains(event.target)) {
updateUserIds();
}
});
document.addEventListener(tableEvents.tableContentRefreshed, event => {
// When the report contents is updated (i.e. page is changed, filters applied, etc).
if (userReport.contains(event.target)) {
updateUserIds();
}
});
};
+74
View File
@@ -0,0 +1,74 @@
// This file is part of Moodle - http://moodle.org/
//
// Moodle is free software: you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
// the Free Software Foundation, either version 3 of the License, or
// (at your option) any later version.
//
// Moodle is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License for more details.
//
// You should have received a copy of the GNU General Public License
// along with Moodle. If not, see <http://www.gnu.org/licenses/>.
/**
* Expand the collapse section element.
*
* @module core_admin/expand_hash
* @copyright Meirza <meirza.arson@moodle.com>
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
* @since 4.5
*/
const SELECTORS = {
COLLAPSE_ELEMENTS: '[data-bs-toggle="collapse"]',
FOCUSTHENEXPAND_ELEMENTS: '.focus-expand',
};
/**
* Initializes the focus and expand functionality.
*/
export const init = () => {
// Select all collapsible elements only.
const focusexpand = document.querySelector(SELECTORS.FOCUSTHENEXPAND_ELEMENTS);
// Add click event listener to the anchor element
focusexpand?.addEventListener('click', () => {
expandSection(`${focusexpand.getAttribute('href')}`);
});
};
/**
* Expands a section based on the provided URL hash.
*
* This function takes a hash string, finds the corresponding element in the DOM,
* and expands it if it is currently collapsed. It updates the necessary ARIA
* attributes and classes to reflect the expanded state.
*
* @param {string} hash - The hash (e.g., '#elementId') of the element to expand.
*/
export const expandSection = (hash) => {
const container = document.querySelector(hash);
const targetContainer = container?.querySelector(SELECTORS.COLLAPSE_ELEMENTS);
if (targetContainer?.getAttribute('aria-expanded') === 'false') {
const collapseId = targetContainer.getAttribute('aria-controls');
const collapseContainer = document.getElementById(collapseId);
// Show the content.
collapseContainer.classList.remove('collapse');
collapseContainer.classList.add('show');
// Update aria-expanded attribute to reflect the new state.
targetContainer.setAttribute('aria-expanded', 'true');
targetContainer.classList.remove('collapsed');
// Get collapse expand menu element.
const collapseElement = document.querySelector('.collapseexpand.collapsemenu');
// Ensure it gets noticed to make it work.
collapseElement.setAttribute('aria-expanded', 'true');
collapseElement.classList.remove('collapsed');
}
};
+16
View File
@@ -138,6 +138,10 @@ export default class {
// Refocus on the link that as pressed in the first place.
updatedRoot.querySelector(`[data-action="togglestate"][data-plugin="${stateToggle.dataset.plugin}"]`).focus();
// When clicking the toggle and it remains focused, a new tooltip will be generated.
// Therefore, the old tooltip should be removed.
this.removeTooltips();
pendingPromise.resolve();
}
}
@@ -176,4 +180,16 @@ export default class {
pendingPromise.resolve();
}
/**
* Remove tooltips.
*/
removeTooltips() {
const tooltips = document.querySelectorAll('[id*="tooltip"]');
if (tooltips.length > 0) {
tooltips.forEach(tooltip => {
tooltip.remove();
});
}
}
}
+82
View File
@@ -0,0 +1,82 @@
// This file is part of Moodle - http://moodle.org/
//
// Moodle is free software: you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
// the Free Software Foundation, either version 3 of the License, or
// (at your option) any later version.
//
// Moodle is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License for more details.
//
// You should have received a copy of the GNU General Public License
// along with Moodle. If not, see <http://www.gnu.org/licenses/>.
/**
* Allows to filter the plugin list on plugins overview page
*
* @module core_admin/plugins_overview
* @copyright 2024 Marina Glancy
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
*/
const SELECTORS = {
PLUGIN_FILTERS: '#plugins-overview-panel [data-filterby]',
PLUGIN_ROWS: 'table#plugins-control-panel tbody tr:not(.plugintypeheader)',
PLUGIN_TYPE_ROWS: 'table#plugins-control-panel tbody tr.plugintypeheader',
};
/**
* Initialise filters for the "Plugins overview" page
*/
export function init() {
const filters = document.querySelectorAll(SELECTORS.PLUGIN_FILTERS);
const pluginRows = document.querySelectorAll(SELECTORS.PLUGIN_ROWS);
const pluginTypeRows = document.querySelectorAll(SELECTORS.PLUGIN_TYPE_ROWS);
const filterPlugins = (target) => {
const filterBy = target.getAttribute('data-filterby');
const headerVisibility = {};
// Hide all plugin rows in the plugin table that do not match the filter and show all others.
for (const row of pluginRows) {
const type = [...row.classList].find(s => s.startsWith('type-'));
const visible = filterBy === 'all' ? true : row.classList.contains(filterBy);
row.style.display = visible ? null : 'none';
if (visible && type) {
headerVisibility[type] = true;
}
}
// Hide all the plugin type headers that do not have any visible plugins and show all others.
for (const row of pluginTypeRows) {
const type = [...row.classList].find(s => s.startsWith('type-'));
if (type) {
const visible = filterBy === 'all' || headerVisibility[type];
row.style.display = visible ? null : 'none';
}
}
// Toggle 'active' class for the selected filter.
filters.forEach(el => el.classList.remove('active'));
target.classList.add('active');
};
// Add event listeners for the links changing plugins filters.
filters
.forEach(target => target.addEventListener('click', (e) => {
e.preventDefault();
window.history.replaceState({}, null, e.target.href);
filterPlugins(target);
}));
// Pre-filter plugins based on the current url anchor.
if (window.location.hash.length > 1) {
const anchor = window.location.hash.substring(1);
const target = [...filters].find(t => t.getAttribute('data-filterby') === anchor);
if (target) {
filterPlugins(target);
}
}
}
@@ -0,0 +1,104 @@
// This file is part of Moodle - http://moodle.org/
//
// Moodle is free software: you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
// the Free Software Foundation, either version 3 of the License, or
// (at your option) any later version.
//
// Moodle is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License for more details.
//
// You should have received a copy of the GNU General Public License
// along with Moodle. If not, see <http://www.gnu.org/licenses/>.
/**
* Modal for theme previews.
*
* @module core_admin/themeselector/preview_modal
* @copyright 2023 David Woloszyn <david.woloszyn@moodle.com>
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
*/
import ModalEvents from 'core/modal_events';
import ModalCancel from 'core/modal_cancel';
import ModalSaveCancel from 'core/modal_save_cancel';
import Notification from 'core/notification';
import Templates from 'core/templates';
import {getString} from 'core/str';
const SELECTORS = {
THEMES_CONTAINER: 'themelist',
PREVIEW: '[data-action="preview"]',
};
/**
* Entrypoint of the js.
*
* @method init
*/
export const init = () => {
registerListenerEvents();
};
/**
* Register theme related event listeners.
*
* @method registerListenerEvents
*/
const registerListenerEvents = () => {
document.addEventListener('click', (e) => {
const preview = e.target.closest(SELECTORS.PREVIEW);
if (preview) {
buildModal(preview).catch(Notification.exception);
}
});
};
/**
* Build the modal with the provided data.
*
* @method buildModal
* @param {object} element
*/
const buildModal = async(element) => {
// This string can be long. We will fetch it with JS as opposed to passing it as an attribute.
let description = await getString('choosereadme', 'theme_' + element.getAttribute('data-choose'));
const themesContainer = document.getElementById(SELECTORS.THEMES_CONTAINER);
const definedInConfig = parseInt(themesContainer.dataset.definedinconfig);
// Prepare data for modal.
const data = {
name: element.getAttribute('data-name'),
image: element.getAttribute('data-image'),
description: description.replace(/<[^>]+>/g, ' '), // Strip out HTML tags.
current: element.getAttribute('data-current'),
actionurl: element.getAttribute('data-actionurl'),
choose: element.getAttribute('data-choose'),
sesskey: element.getAttribute('data-sesskey'),
definedinconfig: definedInConfig,
};
// Determine which modal template we should use.
let modalTemplate = ModalSaveCancel;
if (data.current || data.definedinconfig) {
modalTemplate = ModalCancel;
}
const modal = await modalTemplate.create({
title: data.name,
body: Templates.render('core_admin/themeselector/theme_preview_modal', data),
large: true,
buttons: {
'save': getString('selecttheme', 'moodle'),
'cancel': getString('closebuttontitle', 'moodle'),
},
show: true,
});
modal.getRoot().on(ModalEvents.save, () => {
modal.getRoot().find('form').submit();
});
};
+4
View File
@@ -118,6 +118,10 @@ foreach ($settingspage->children as $childpage) {
}
$outputhtml .= html_writer::tag('div', '<!-- -->', array('class' => 'clearer'));
$outputhtml .= $setting->output_html($data);
if ($childpage->has_dependencies()) {
$opts = ['dependencies' => $childpage->get_dependencies_for_javascript()];
$PAGE->requires->js_call_amd('core/showhidesettings', 'init', [$opts]);
}
}
$outputhtml .= html_writer::end_tag('fieldset');
}
@@ -0,0 +1,73 @@
<?php
// This file is part of Moodle - http://moodle.org/
//
// Moodle is free software: you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
// the Free Software Foundation, either version 3 of the License, or
// (at your option) any later version.
//
// Moodle is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License for more details.
//
// You should have received a copy of the GNU General Public License
// along with Moodle. If not, see <http://www.gnu.org/licenses/>.
namespace core_admin\admin;
use admin_setting;
/**
* Render a template as part of other admin settings.
* Use for rendering additional html in settings.
*
* @package core_admin
* @subpackage admin
* @copyright 2024 Matt Porritt <matt.porritt@moodle.com>
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
*/
class admin_setting_template_render extends admin_setting {
/**
* Constructor.
*
* @param string $name The name of the setting.
* @param string $templatename The name of the template to render.
* @param array|\stdClass $context The context to pass to the template.
*/
public function __construct(
string $name,
/** @var string The name of the template to render. */
protected string $templatename,
/** @var array|\stdClass The context to pass to the template. */
protected array|\stdClass $context
) {
$this->nosave = true;
parent::__construct($name, $templatename, '', '');
}
#[\Override]
public function get_setting(): bool {
return true;
}
#[\Override]
public function get_defaultsetting(): bool {
return true;
}
#[\Override]
// phpcs:disable VariableAnalysis.CodeAnalysis.VariableAnalysis.UnusedVariable
public function write_setting($data): string {
// Do not write any setting.
return '';
}
#[\Override]
public function output_html($data, $query = ''): string {
global $OUTPUT;
return $OUTPUT->render_from_template($this->templatename, $this->context);
}
}
+1
View File
@@ -48,6 +48,7 @@ class purge_caches extends \moodleform {
$mform->addElement('header', 'purgecacheheader', get_string('purgeselectedcaches', 'admin'));
$checkboxes = [
$mform->createElement('advcheckbox', 'theme', '', get_string('purgethemecache', 'admin')),
$mform->createElement('advcheckbox', 'courses', '', get_string('purgecoursecache', 'admin')),
$mform->createElement('advcheckbox', 'lang', '', get_string('purgelangcache', 'admin')),
$mform->createElement('advcheckbox', 'js', '', get_string('purgejscache', 'admin')),
$mform->createElement('advcheckbox', 'template', '', get_string('purgetemplates', 'admin')),
+1 -1
View File
@@ -62,7 +62,7 @@ class filesize extends \admin_setting {
* @param int|null $defaultunit GB, MB, etc. (in bytes)
*/
public function __construct(string $name, string $visiblename, string $description,
int $defaultvalue = null, int $defaultunit = null) {
?int $defaultvalue = null, ?int $defaultunit = null) {
$defaultsetting = self::parse_bytes($defaultvalue);
+71
View File
@@ -0,0 +1,71 @@
<?php
// This file is part of Moodle - http://moodle.org/
//
// Moodle is free software: you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
// the Free Software Foundation, either version 3 of the License, or
// (at your option) any later version.
//
// Moodle is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License for more details.
//
// You should have received a copy of the GNU General Public License
// along with Moodle. If not, see <http://www.gnu.org/licenses/>.
namespace core_admin\output;
use moodle_url;
use renderable;
use renderer_base;
use stdClass;
use templatable;
/**
* Theme selector renderable.
*
* @package core_admin
* @copyright 2023 David Woloszyn <david.woloszyn@moodle.com>
* @license https://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
*/
class theme_selector implements renderable, templatable {
/** @var array $themedata Theme data to pass to the template. */
private $themedata = null;
/** @var bool Whether $CFG->theme is defined in config.php. */
private $definedinconfig;
/**
* Constructor.
*
* @param array $themedata Theme data used for template.
* @param bool $definedinconfig Whether $CFG->theme is defined in config.php.
*/
public function __construct(array $themedata, bool $definedinconfig = false) {
$this->themedata = $themedata;
$this->definedinconfig = $definedinconfig;
}
/**
* Export this data so it can be used as the context for a mustache template.
*
* @param renderer_base $output Renderer base.
* @return stdClass
*/
public function export_for_template(renderer_base $output): stdClass {
$data = new stdClass();
// Theme data used to populate cards and modal.
$data->themes = $this->themedata;
// Reset theme caches button.
$reseturl = new moodle_url('/admin/themeselector.php', ['sesskey' => sesskey(), 'reset' => 1]);
$resetbutton = new \single_button($reseturl, get_string('themeresetcaches', 'admin'), 'post',
\single_button::BUTTON_SECONDARY);
$data->resetbutton = $resetbutton->export_for_template($output);
$data->definedinconfig = $this->definedinconfig;
return $data;
}
}
+1 -1
View File
@@ -35,7 +35,7 @@ class provider implements \core_privacy\local\metadata\null_provider {
*
* @return string
*/
public static function get_reason() : string {
public static function get_reason(): string {
return 'privacy:metadata';
}
}
@@ -46,12 +46,14 @@ class task_log extends base {
protected const FAILED = 1;
/**
* Database tables that this entity uses and their default aliases
* Database tables that this entity uses
*
* @return array
* @return string[]
*/
protected function get_default_table_aliases(): array {
return ['task_log' => 'tl'];
protected function get_default_tables(): array {
return [
'task_log',
];
}
/**
@@ -103,7 +105,7 @@ class task_log extends base {
))
->add_joins($this->get_joins())
->set_type(column::TYPE_TEXT)
->add_field("$tablealias.classname")
->add_field("{$tablealias}.classname")
->set_is_sortable(true)
->add_callback(static function(string $classname): string {
$output = '';
@@ -181,15 +183,7 @@ class task_log extends base {
->set_type(column::TYPE_FLOAT)
->add_field("{$tablealias}.timeend - {$tablealias}.timestart", 'duration')
->set_is_sortable(true)
->add_callback(static function(float $value): string {
$duration = round($value, 2);
if (empty($duration)) {
// The format_time function returns 'now' when the difference is exactly 0.
// Note: format_time performs concatenation in exactly this fashion so we should do this for consistency.
return '0 ' . get_string('secs', 'moodle');
}
return format_time($duration);
});
->add_callback([format::class, 'format_time'], 2);
// Hostname column.
$columns[] = (new column(
@@ -209,11 +203,8 @@ class task_log extends base {
$this->get_entity_name()
))
->add_joins($this->get_joins())
->set_type(column::TYPE_INTEGER)
->add_field("{$tablealias}.pid")
->set_is_sortable(true)
// Although this is an integer column, it doesn't make sense to perform numeric aggregation on it.
->set_disabled_aggregation(['avg', 'count', 'countdistinct', 'max', 'min', 'sum']);
->set_is_sortable(true);
// Database column.
$columns[] = (new column(
@@ -222,17 +213,14 @@ class task_log extends base {
$this->get_entity_name()
))
->add_joins($this->get_joins())
->set_type(column::TYPE_INTEGER)
->add_fields("{$tablealias}.dbreads, {$tablealias}.dbwrites")
->set_is_sortable(true, ["{$tablealias}.dbreads", "{$tablealias}.dbwrites"])
->add_callback(static function(int $value, stdClass $row): string {
->add_callback(static function($value, stdClass $row): string {
$output = '';
$output .= \html_writer::div(get_string('task_stats:dbreads', 'admin', $row->dbreads));
$output .= \html_writer::div(get_string('task_stats:dbwrites', 'admin', $row->dbwrites));
return $output;
})
// Although this is an integer column, it doesn't make sense to perform numeric aggregation on it.
->set_disabled_aggregation(['avg', 'count', 'countdistinct', 'max', 'min', 'sum']);
});
// Database reads column.
$columns[] = (new column(
@@ -283,8 +271,6 @@ class task_log extends base {
* @return filter[]
*/
protected function get_all_filters(): array {
global $DB;
$tablealias = $this->get_table_alias('task_log');
// Name filter (Filter by classname).
@@ -342,7 +328,7 @@ class task_log extends base {
'output',
new lang_string('task_logoutput', 'admin'),
$this->get_entity_name(),
$DB->sql_cast_to_char("{$tablealias}.output")
"{$tablealias}.output"
))
->add_joins($this->get_joins());
@@ -0,0 +1,108 @@
<?php
// This file is part of Moodle - http://moodle.org/
//
// Moodle is free software: you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
// the Free Software Foundation, either version 3 of the License, or
// (at your option) any later version.
//
// Moodle is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License for more details.
//
// You should have received a copy of the GNU General Public License
// along with Moodle. If not, see <http://www.gnu.org/licenses/>.
declare(strict_types=1);
namespace core_admin\reportbuilder\local\filters;
use core\context\system;
use core_course_category;
use MoodleQuickForm;
use core_reportbuilder\local\filters\base;
use core_reportbuilder\local\helpers\database;
/**
* Course role report filter (by role, category, course)
*
* The provided filter field SQL must refer/return an expression for the user ID (e.g. "{$user}.id")
*
* @package core_admin
* @copyright 2023 Paul Holden <paulh@moodle.com>
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
*/
class courserole extends base {
/**
* Setup form
*
* @param MoodleQuickForm $mform
*/
public function setup_form(MoodleQuickForm $mform): void {
$elements = [];
// Role.
$elements['role'] = $mform->createElement('select', "{$this->name}_role", get_string('rolefullname', 'core_role'),
[0 => get_string('anyrole', 'core_filters')] + get_default_enrol_roles(system::instance()));
// Category.
$elements['category'] = $mform->createElement('select', "{$this->name}_category", get_string('category'),
[0 => get_string('anycategory', 'core_filters')] + core_course_category::make_categories_list());
// Course.
$elements['course'] = $mform->createElement('text', "{$this->name}_course", get_string('shortnamecourse'));
$mform->setType("{$this->name}_course", PARAM_RAW_TRIMMED);
$mform->addGroup($elements, "{$this->name}_group", $this->get_header(), '', false)
->setHiddenLabel(true);
}
/**
* Return filter SQL
*
* @param array $values
* @return array
*/
public function get_sql_filter(array $values): array {
[$fieldsql, $params] = $this->filter->get_field_sql_and_params();
[$contextalias, $rolealias, $coursealias] = database::generate_aliases(3);
[$roleparam, $categoryparam, $courseparam] = database::generate_param_names(3);
// Role.
$role = (int) ($values["{$this->name}_role"] ?? 0);
if ($role > 0) {
$selects[] = "{$rolealias}.roleid = :{$roleparam}";
$params[$roleparam] = $role;
}
// Category.
$category = (int) ($values["{$this->name}_category"] ?? 0);
if ($category > 0) {
$selects[] = "{$coursealias}.category = :{$categoryparam}";
$params[$categoryparam] = $category;
}
// Course.
$course = trim($values["{$this->name}_course"] ?? '');
if ($course !== '') {
$selects[] = "{$coursealias}.shortname = :{$courseparam}";
$params[$courseparam] = $course;
}
// Filter values are not set.
if (empty($selects)) {
return ['', []];
}
return ["{$fieldsql} IN (
SELECT {$rolealias}.userid
FROM {role_assignments} {$rolealias}
JOIN {context} {$contextalias} ON {$contextalias}.id = {$rolealias}.contextid AND {$contextalias}.contextlevel = 50
JOIN {course} {$coursealias} ON {$coursealias}.id = {$contextalias}.instanceid
WHERE " . implode(' AND ', $selects) . "
)", $params];
}
}
@@ -20,10 +20,12 @@ use context_system;
use core_admin\reportbuilder\local\entities\task_log;
use core_reportbuilder\local\entities\user;
use core_reportbuilder\local\report\action;
use core_reportbuilder\system_report;
use html_writer;
use lang_string;
use moodle_url;
use pix_icon;
use core_reportbuilder\system_report;
use stdClass;
/**
* Task logs system report class implementation
@@ -89,7 +91,9 @@ class task_logs extends system_report {
* unique identifier
*/
public function add_columns(): void {
$columns = [
$entitymainalias = $this->get_entity('task_log')->get_table_alias('task_log');
$this->add_columns_from_entities([
'task_log:name',
'task_log:type',
'user:fullname',
@@ -99,14 +103,18 @@ class task_logs extends system_report {
'task_log:pid',
'task_log:database',
'task_log:result',
];
]);
$this->add_columns_from_entities($columns);
// Wrap the task name in a link.
$this->get_column('task_log:name')
->add_field("{$entitymainalias}.id")
->add_callback(static function(string $output, stdClass $row): string {
return html_writer::link(new moodle_url('/admin/tasklogs.php', ['logid' => $row->id]), $output);
});
// It's possible to override the display name of a column, if you don't want to use the value provided by the entity.
if ($column = $this->get_column('user:fullname')) {
$column->set_title(new lang_string('user', 'admin'));
}
// Rename the user fullname column.
$this->get_column('user:fullname')
->set_title(new lang_string('user', 'admin'));
// It's possible to set a default initial sort direction for one column.
$this->set_initial_sort_column('task_log:starttime', SORT_DESC);
@@ -119,16 +127,14 @@ class task_logs extends system_report {
* unique identifier
*/
protected function add_filters(): void {
$filters = [
$this->add_filters_from_entities([
'task_log:name',
'task_log:type',
'task_log:output',
'task_log:result',
'task_log:timestart',
'task_log:duration',
];
$this->add_filters_from_entities($filters);
]);
}
/**
@@ -143,7 +149,7 @@ class task_logs extends system_report {
new moodle_url('/admin/tasklogs.php', ['logid' => ':id']),
new pix_icon('e/search', ''),
[],
true,
false,
new lang_string('view'),
)));
@@ -0,0 +1,417 @@
<?php
// This file is part of Moodle - http://moodle.org/
//
// Moodle is free software: you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
// the Free Software Foundation, either version 3 of the License, or
// (at your option) any later version.
//
// Moodle is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License for more details.
//
// You should have received a copy of the GNU General Public License
// along with Moodle. If not, see <http://www.gnu.org/licenses/>.
namespace core_admin\reportbuilder\local\systemreports;
use core_admin\reportbuilder\local\filters\courserole;
use core\context\system;
use core_cohort\reportbuilder\local\entities\cohort;
use core_cohort\reportbuilder\local\entities\cohort_member;
use core_reportbuilder\local\entities\user;
use core_reportbuilder\local\filters\boolean_select;
use core_reportbuilder\local\helpers\database;
use core_reportbuilder\local\helpers\user_profile_fields;
use core_reportbuilder\local\report\action;
use core_reportbuilder\local\report\filter;
use core_reportbuilder\system_report;
use core_role\reportbuilder\local\entities\role;
use core_user\fields;
use lang_string;
use moodle_url;
use pix_icon;
defined('MOODLE_INTERNAL') || die();
require_once($CFG->libdir.'/adminlib.php');
require_once($CFG->libdir.'/authlib.php');
require_once($CFG->libdir.'/enrollib.php');
require_once($CFG->dirroot.'/user/lib.php');
/**
* Browse users system report class implementation
*
* @package core_admin
* @copyright 2023 David Carrillo <davidmc@moodle.com>
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
*/
class users extends system_report {
/**
* Initialise report, we need to set the main table, load our entities and set columns/filters
*/
protected function initialise(): void {
global $CFG;
// Our main entity, it contains all of the column definitions that we need.
$entityuser = new user();
$entityuseralias = $entityuser->get_table_alias('user');
$this->set_main_table('user', $entityuseralias);
$this->add_entity($entityuser);
// Any columns required by actions should be defined here to ensure they're always available.
$fullnamefields = array_map(fn($field) => "{$entityuseralias}.{$field}", fields::get_name_fields());
$this->add_base_fields("{$entityuseralias}.id, {$entityuseralias}.confirmed, {$entityuseralias}.mnethostid,
{$entityuseralias}.suspended, {$entityuseralias}.username, " . implode(', ', $fullnamefields));
if ($this->get_parameter('withcheckboxes', false, PARAM_BOOL)) {
$canviewfullnames = has_capability('moodle/site:viewfullnames', \context_system::instance());
$this->set_checkbox_toggleall(static function(\stdClass $row) use ($canviewfullnames): array {
return [$row->id, fullname($row, $canviewfullnames)];
});
}
$paramguest = database::generate_param_name();
$this->add_base_condition_sql("{$entityuseralias}.deleted <> 1 AND {$entityuseralias}.id <> :{$paramguest}",
[$paramguest => $CFG->siteguest]);
$entitycohortmember = new cohort_member();
$entitycohortmemberalias = $entitycohortmember->get_table_alias('cohort_members');
$this->add_entity($entitycohortmember
->add_joins($entitycohortmember->get_joins())
->add_join("LEFT JOIN {cohort_members} {$entitycohortmemberalias}
ON {$entityuseralias}.id = {$entitycohortmemberalias}.userid")
);
$entitycohort = new cohort();
$entitycohortalias = $entitycohort->get_table_alias('cohort');
$this->add_entity($entitycohort
->add_joins($entitycohort->get_joins())
->add_joins($entitycohortmember->get_joins())
->add_join("LEFT JOIN {cohort} {$entitycohortalias}
ON {$entitycohortalias}.id = {$entitycohortmemberalias}.cohortid")
);
// Join the role entity (Needed for the system role filter).
$roleentity = new role();
$role = $roleentity->get_table_alias('role');
$this->add_entity($roleentity
->add_join("LEFT JOIN (
SELECT DISTINCT r0.id, ras.userid
FROM {role} r0
JOIN {role_assignments} ras ON ras.roleid = r0.id
WHERE ras.contextid = ".SYSCONTEXTID."
) {$role} ON {$role}.userid = {$entityuseralias}.id")
);
// Now we can call our helper methods to add the content we want to include in the report.
$this->add_columns();
$this->add_filters();
$this->add_actions();
// Set if report can be downloaded.
$this->set_downloadable(true);
}
/**
* Validates access to view this report
*
* @return bool
*/
protected function can_view(): bool {
return has_any_capability(['moodle/user:update', 'moodle/user:delete'], system::instance());
}
/**
* Adds the columns we want to display in the report
*
* They are all provided by the entities we previously added in the {@see initialise} method, referencing each by their
* unique identifier
*/
public function add_columns(): void {
$entityuser = $this->get_entity('user');
$entityuseralias = $entityuser->get_table_alias('user');
$this->add_column($entityuser->get_column('fullnamewithpicturelink'));
// Include identity field columns.
$identitycolumns = $entityuser->get_identity_columns($this->get_context());
foreach ($identitycolumns as $identitycolumn) {
$this->add_column($identitycolumn);
}
// Add "Last access" column.
$this->add_column(($entityuser->get_column('lastaccess'))
->set_callback(static function ($value, \stdClass $row): string {
if ($row->lastaccess) {
return format_time(time() - $row->lastaccess);
}
return get_string('never');
})
);
if ($column = $this->get_column('user:fullnamewithpicturelink')) {
$column
->add_fields("{$entityuseralias}.suspended, {$entityuseralias}.confirmed")
->add_callback(static function(string $fullname, \stdClass $row): string {
if ($row->suspended) {
$fullname .= ' ' . \html_writer::tag('span', get_string('suspended', 'moodle'),
['class' => 'badge text-bg-secondary ms-1']);
}
if (!$row->confirmed) {
$fullname .= ' ' . \html_writer::tag('span', get_string('confirmationpending', 'admin'),
['class' => 'badge text-bg-danger ms-1']);
}
return $fullname;
});
}
$this->set_initial_sort_column('user:fullnamewithpicturelink', SORT_ASC);
$this->set_default_no_results_notice(new lang_string('nousersfound', 'moodle'));
}
/**
* Adds the filters we want to display in the report
*
* They are all provided by the entities we previously added in the {@see initialise} method, referencing each by their
* unique identifier
*/
protected function add_filters(): void {
$entityuser = $this->get_entity('user');
$entityuseralias = $entityuser->get_table_alias('user');
$filters = [
'user:fullname',
'user:firstname',
'user:lastname',
'user:username',
'user:idnumber',
'user:email',
'user:department',
'user:institution',
'user:city',
'user:country',
'user:confirmed',
'user:suspended',
'user:timecreated',
'user:lastaccess',
'user:timemodified',
'user:auth',
'user:lastip',
'cohort:idnumber',
'role:name',
];
$this->add_filters_from_entities($filters);
// Enrolled in any course filter.
$ue = database::generate_alias();
[$now1, $now2] = database::generate_param_names(2);
$now = time();
$sql = "CASE WHEN ({$entityuseralias}.id IN (
SELECT userid FROM {user_enrolments} {$ue}
WHERE {$ue}.status = " . ENROL_USER_ACTIVE . "
AND ({$ue}.timestart = 0 OR {$ue}.timestart < :{$now1})
AND ({$ue}.timeend = 0 OR {$ue}.timeend > :{$now2})
)) THEN 1 ELSE 0 END";
$this->add_filter((new filter(
boolean_select::class,
'enrolledinanycourse',
new lang_string('anycourses', 'filters'),
$this->get_entity('user')->get_entity_name(),
))
->set_field_sql($sql, [
$now1 => $now,
$now2 => $now,
])
);
// Course role filter.
$this->add_filter((new filter(
courserole::class,
'courserole',
new lang_string('courserole', 'filters'),
$this->get_entity('user')->get_entity_name(),
))
->set_field_sql("{$entityuseralias}.id")
);
// Add user profile fields filters.
$userprofilefields = new user_profile_fields($entityuseralias . '.id', $entityuser->get_entity_name());
foreach ($userprofilefields->get_filters() as $filter) {
$this->add_filter($filter);
}
// Set options for system role filter.
if ($filter = $this->get_filter('role:name')) {
$filter
->set_header(new lang_string('globalrole', 'role'))
->set_options(get_assignable_roles(system::instance()));
}
}
/**
* Add the system report actions. An extra column will be appended to each row, containing all actions added here
*
* Note the use of ":id" placeholder which will be substituted according to actual values in the row
*/
protected function add_actions(): void {
global $DB, $USER;
$contextsystem = system::instance();
// Action to edit users.
$this->add_action((new action(
new moodle_url('/user/editadvanced.php', ['id' => ':id', 'course' => get_site()->id]),
new pix_icon('t/edit', ''),
[],
false,
new lang_string('edit', 'moodle'),
))->add_callback(static function(\stdclass $row) use ($USER, $contextsystem): bool {
return has_capability('moodle/user:update', $contextsystem) && (is_siteadmin($USER) || !is_siteadmin($row));
}));
// Action to suspend users (non mnet remote users).
$this->add_action((new action(
new moodle_url('/admin/user.php', ['suspend' => ':id', 'sesskey' => sesskey()]),
new pix_icon('t/show', ''),
[],
false,
new lang_string('suspenduser', 'admin'),
))->add_callback(static function(\stdclass $row) use ($USER, $contextsystem): bool {
return has_capability('moodle/user:update', $contextsystem) && !$row->suspended && !is_mnet_remote_user($row) &&
!($row->id == $USER->id || is_siteadmin($row));
}));
// Action to unsuspend users (non mnet remote users).
$this->add_action((new action(
new moodle_url('/admin/user.php', ['unsuspend' => ':id', 'sesskey' => sesskey()]),
new pix_icon('t/hide', ''),
[],
false,
new lang_string('unsuspenduser', 'admin'),
))->add_callback(static function(\stdclass $row) use ($USER, $contextsystem): bool {
return has_capability('moodle/user:update', $contextsystem) && $row->suspended && !is_mnet_remote_user($row) &&
!($row->id == $USER->id || is_siteadmin($row));
}));
// Action to unlock users (non mnet remote users).
$this->add_action((new action(
new moodle_url('/admin/user.php', ['unlock' => ':id', 'sesskey' => sesskey()]),
new pix_icon('t/unlock', ''),
[],
false,
new lang_string('unlockaccount', 'admin'),
))->add_callback(static function(\stdclass $row) use ($contextsystem): bool {
return has_capability('moodle/user:update', $contextsystem) && !is_mnet_remote_user($row) &&
login_is_lockedout($row);
}));
// Action to suspend users (mnet remote users).
$this->add_action((new action(
new moodle_url('/admin/user.php', ['acl' => ':id', 'sesskey' => sesskey(), 'accessctrl' => 'deny']),
new pix_icon('t/show', ''),
[],
false,
new lang_string('denyaccess', 'mnet'),
))->add_callback(static function(\stdclass $row) use ($DB, $contextsystem): bool {
if (!$accessctrl = $DB->get_field(table: 'mnet_sso_access_control', return: 'accessctrl',
conditions: ['username' => $row->username, 'mnet_host_id' => $row->mnethostid]
)) {
$accessctrl = 'allow';
}
return has_capability('moodle/user:update', $contextsystem) && !$row->suspended &&
is_mnet_remote_user($row) && $accessctrl == 'allow';
}));
// Action to unsuspend users (mnet remote users).
$this->add_action((new action(
new moodle_url('/admin/user.php', ['acl' => ':id', 'sesskey' => sesskey(), 'accessctrl' => 'allow']),
new pix_icon('t/hide', ''),
[],
false,
new lang_string('allowaccess', 'mnet'),
))->add_callback(static function(\stdclass $row) use ($DB, $contextsystem): bool {
if (!$accessctrl = $DB->get_field(table: 'mnet_sso_access_control', return: 'accessctrl',
conditions: ['username' => $row->username, 'mnet_host_id' => $row->mnethostid]
)) {
$accessctrl = 'allow';
}
return has_capability('moodle/user:update', $contextsystem) && !$row->suspended &&
is_mnet_remote_user($row) && $accessctrl == 'deny';
}));
// Action to delete users.
$this->add_action((new action(
new moodle_url('/admin/user.php', ['delete' => ':id', 'sesskey' => sesskey()]),
new pix_icon('t/delete', ''),
[
'class' => 'text-danger',
'data-modal' => 'confirmation',
'data-modal-title-str' => json_encode(['deleteuser', 'admin']),
'data-modal-content-str' => ':deletestr',
'data-modal-yes-button-str' => json_encode(['delete', 'core']),
'data-modal-destination' => ':deleteurl',
],
false,
new lang_string('delete', 'moodle'),
))->add_callback(static function(\stdclass $row) use ($USER, $contextsystem): bool {
// Populate deletion modal attributes.
$row->deletestr = json_encode([
'deletecheckfull',
'moodle',
fullname($row, true),
]);
$row->deleteurl = (new moodle_url('/admin/user.php', [
'delete' => $row->id,
'confirm' => md5($row->id),
'sesskey' => sesskey(),
]))->out(false);
return has_capability('moodle/user:delete', $contextsystem) &&
!is_mnet_remote_user($row) && $row->id != $USER->id && !is_siteadmin($row);
}));
$this->add_action_divider();
// Action to confirm users.
$this->add_action((new action(
new moodle_url('/admin/user.php', ['confirmuser' => ':id', 'sesskey' => sesskey()]),
new pix_icon('t/check', ''),
[],
false,
new lang_string('confirmaccount', 'moodle'),
))->add_callback(static function(\stdclass $row) use ($contextsystem): bool {
return has_capability('moodle/user:update', $contextsystem) && !$row->confirmed;
}));
// Action to resend email.
$this->add_action((new action(
new moodle_url('/admin/user.php', ['resendemail' => ':id', 'sesskey' => sesskey()]),
new pix_icon('t/email', ''),
[],
false,
new lang_string('resendemail', 'moodle'),
))->add_callback(static function(\stdclass $row): bool {
return !$row->confirmed && !is_mnet_remote_user($row);
}));
}
/**
* Row class
*
* @param \stdClass $row
* @return string
*/
public function get_row_class(\stdClass $row): string {
return $row->suspended ? 'text-muted' : '';
}
}
@@ -0,0 +1,85 @@
<?php
// This file is part of Moodle - http://moodle.org/
//
// Moodle is free software: you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
// the Free Software Foundation, either version 3 of the License, or
// (at your option) any later version.
//
// Moodle is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License for more details.
//
// You should have received a copy of the GNU General Public License
// along with Moodle. If not, see <http://www.gnu.org/licenses/>.
namespace core_admin\table;
use moodle_url;
use stdClass;
use html_writer;
use get_string_manager;
/**
* Availability admin settings.
*
* @package core_admin
* @copyright 2024 The Open University
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
*/
class availability_management_table extends plugin_management_table {
protected function get_table_id(): string {
return 'availabilityconditions_administration_table';
}
protected function get_plugintype(): string {
return 'availability';
}
protected function get_action_url(array $params = []): moodle_url {
return new moodle_url('/admin/tool/availabilityconditions/', $params);
}
public function guess_base_url(): void {
$this->define_baseurl(
new moodle_url('/admin/tool/availabilityconditions/')
);
}
protected function get_column_list(): array {
return [
'name' => get_string('plugin'),
'version' => get_string('version'),
'enabled' => get_string('enabled', 'admin'),
'defaultdisplaymode' => get_string('defaultdisplaymode', 'tool_availabilityconditions'),
];
}
public function setup(): void {
$this->set_attribute('id', 'availabilityconditions_administration_table');
$this->set_attribute('class', 'admintable generaltable');
parent::setup();
}
protected function col_name(stdClass $row): string {
return html_writer::span(
get_string('pluginname', 'availability_' . $row->plugininfo->name)
);
}
protected function col_defaultdisplaymode(stdClass $row): string {
global $OUTPUT, $CFG;
$displaymode = get_config('availability_' . $row->plugininfo->name, 'defaultdisplaymode') ? 'show' : 'hide';
$paramsdisplaymode = [
'sesskey' => sesskey(),
'plugin' => $row->plugininfo->name,
'displaymode' => $displaymode,
];
$urldisplaymode = new moodle_url('/' . $CFG->admin . '/tool/availabilityconditions/', $paramsdisplaymode);
return html_writer::link($urldisplaymode, $OUTPUT->pix_icon('t/' . $displaymode,
get_string($displaymode)), ['class' => 'display-mode-' . $row->plugininfo->name]);
}
}
+4 -8
View File
@@ -91,7 +91,7 @@ class hook_list_table extends flexible_table {
*/
public function out(): void {
// All hook consumers referenced from the db/hooks.php files.
$hookmanager = \core\hook\manager::get_instance();
$hookmanager = \core\di::get(\core\hook\manager::class);
$allhooks = (array)$hookmanager->get_all_callbacks();
// Add any unused hooks.
@@ -154,11 +154,7 @@ class hook_list_table extends flexible_table {
return '';
}
$rc = new \ReflectionClass($row->classname);
if (!$rc->implementsInterface(\core\hook\deprecated_callback_replacement::class)) {
return '';
}
$deprecates = call_user_func([$row->classname, 'get_deprecated_plugin_callbacks']);
$deprecates = \core\hook\manager::get_replaced_callbacks($row->classname);
if (count($deprecates) === 0) {
return '';
}
@@ -236,7 +232,7 @@ class hook_list_table extends flexible_table {
}
if ($tooltip) {
$attributes['data-toggle'] = 'tooltip';
$attributes['data-bs-toggle'] = 'tooltip';
$attributes['title'] = $tooltip;
}
return html_writer::span($tag, "badge badge-{$type}", $attributes);
@@ -273,7 +269,7 @@ class hook_list_table extends flexible_table {
if (is_array($tag)) {
return $this->get_tag(...$tag);
}
return $this->get_tag($tag, 'badge badge-info');
return $this->get_tag($tag, 'badge bg-info text-white');
}, $tags);
return implode("\n", $taglist);
+29 -17
View File
@@ -303,28 +303,29 @@ abstract class plugin_management_table extends flexible_table implements dynamic
global $OUTPUT;
$enabled = $row->plugininfo->is_enabled();
$params = [
'sesskey' => sesskey(),
'plugin' => $row->plugininfo->name,
'action' => $enabled ? 'disable' : 'enable',
];
if ($enabled) {
$icon = $OUTPUT->pix_icon('t/hide', get_string('disableplugin', 'core_admin', $row->plugininfo->displayname));
$labelstr = get_string('disableplugin', 'core_admin', $row->plugininfo->displayname);
} else {
$icon = $OUTPUT->pix_icon('t/show', get_string('enableplugin', 'core_admin', $row->plugininfo->displayname));
$labelstr = get_string('enableplugin', 'core_admin', $row->plugininfo->displayname);
}
return html_writer::link(
$this->get_action_url($params),
$icon,
[
'data-toggle-method' => $this->get_toggle_service(),
'data-action' => 'togglestate',
'data-plugin' => $row->plugin,
'data-state' => $enabled ? 1 : 0,
$params = [
'id' => 'admin-toggle-' . $row->plugininfo->name,
'checked' => $enabled,
'dataattributes' => [
'name' => 'id',
'value' => $row->plugininfo->name,
'toggle-method' => $this->get_toggle_service(),
'action' => 'togglestate',
'plugin' => $row->plugin,
'state' => $enabled ? 1 : 0,
],
);
'title' => $labelstr,
'label' => $labelstr,
'labelclasses' => 'visually-hidden',
];
return $OUTPUT->render_from_template('core_admin/setting_configtoggle', $params);
}
protected function col_order(stdClass $row): string {
@@ -500,4 +501,15 @@ abstract class plugin_management_table extends flexible_table implements dynamic
protected function supports_ordering(): bool {
return $this->plugininfoclass::plugintype_supports_ordering();
}
/**
* Check if the user has the capability to access this table.
*
* Default implementation for plugin management tables is to require 'moodle/site:config' capability
*
* @return bool Return true if capability check passed.
*/
public function has_capability(): bool {
return has_capability('moodle/site:config', $this->get_context());
}
}
@@ -19,7 +19,7 @@ namespace core_admin\table;
use moodle_url;
/**
* Tiny admin settings.
* Admin tool settings.
*
* @package core_admin
* @copyright 2023 Andrew Lyons <andrew@nicols.co.uk>
@@ -30,12 +30,6 @@ class tool_plugin_management_table extends \core_admin\table\plugin_management_t
return 'tool';
}
public function guess_base_url(): void {
$this->define_baseurl(
new moodle_url('/admin/tools.php')
);
}
protected function get_column_list(): array {
$columns = parent::get_column_list();
@@ -45,6 +39,6 @@ class tool_plugin_management_table extends \core_admin\table\plugin_management_t
}
protected function get_action_url(array $params = []): moodle_url {
return new moodle_url('/admin/tool.php', $params);
return new moodle_url('/admin/settings.php', array_merge(['section' => 'toolsmanagement'], $params));
}
}
+1 -1
View File
@@ -71,7 +71,7 @@ Example:
exit(0);
}
error_reporting(E_ALL | E_STRICT);
error_reporting(E_ALL);
ini_set('display_errors', 1);
$content = core_component::get_cache_content();
+23 -7
View File
@@ -33,6 +33,7 @@ require_once($CFG->dirroot . '/backup/util/includes/backup_includes.php');
list($options, $unrecognized) = cli_get_params(array(
'courseid' => false,
'courseshortname' => '',
'cmid' => false,
'destination' => '',
'help' => false,
), array('h' => 'help'));
@@ -42,13 +43,14 @@ if ($unrecognized) {
cli_error(get_string('cliunknowoption', 'admin', $unrecognized));
}
if ($options['help'] || !($options['courseid'] || $options['courseshortname'])) {
if ($options['help'] || !($options['courseid'] || $options['courseshortname'] || $options['cmid'])) {
$help = <<<EOL
Perform backup of the given course.
Perform backup of the given course or course module.
Options:
--courseid=INTEGER Course ID for backup.
--courseshortname=STRING Course shortname for backup.
--courseshortname=STRING Course shortname for backup. This option is ignored if courseid is set.
--cmid=INTEGER Course module ID for backup. This option is ignored if courseid or courseshortname is set.
--destination=STRING Path where to store backup file. If not set the backup
will be stored within the course backup file area.
-h, --help Print out this help.
@@ -76,16 +78,26 @@ if (!empty($dir)) {
}
}
// Check that the course exists.
// Check that the course or course module exists.
if ($options['courseid']) {
$course = $DB->get_record('course', array('id' => $options['courseid']), '*', MUST_EXIST);
} else if ($options['courseshortname']) {
$course = $DB->get_record('course', array('shortname' => $options['courseshortname']), '*', MUST_EXIST);
} else if ($options['cmid']) {
$cm = $DB->get_record('course_modules', ['id' => $options['cmid']], '*', MUST_EXIST);
}
cli_heading('Performing backup...');
$bc = new backup_controller(backup::TYPE_1COURSE, $course->id, backup::FORMAT_MOODLE,
backup::INTERACTIVE_YES, backup::MODE_GENERAL, $admin->id);
if (!empty($course)) {
$bc = new backup_controller(backup::TYPE_1COURSE, $course->id, backup::FORMAT_MOODLE,
backup::INTERACTIVE_YES, backup::MODE_GENERAL, $admin->id);
} else if (!empty($cm)) {
$bc = new backup_controller(backup::TYPE_1ACTIVITY, $cm->id, backup::FORMAT_MOODLE,
backup::INTERACTIVE_YES, backup::MODE_GENERAL, $admin->id);
} else {
throw new \moodle_exception('invalidoption');
}
// Set the default filename.
$format = $bc->get_format();
$type = $bc->get_type();
@@ -113,7 +125,11 @@ if (!empty($dir)) {
}
}
} else {
mtrace("Backup completed, the new file is listed in the backup area of the given course");
if (!empty($course)) {
mtrace("Backup completed, the new file is listed in the backup area of the given course");
} else {
mtrace("Backup completed, the new file is listed in the backup area of the given module");
}
}
$bc->destroy();
exit(0);
+132
View File
@@ -0,0 +1,132 @@
<?php
// This file is part of Moodle - http://moodle.org/
//
// Moodle is free software: you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
// the Free Software Foundation, either version 3 of the License, or
// (at your option) any later version.
//
// Moodle is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License for more details.
//
// You should have received a copy of the GNU General Public License
// along with Moodle. If not, see <http://www.gnu.org/licenses/>.
/**
* This script allows to import a course from CLI.
*
* @package core
* @subpackage cli
* @author Tomo Tsuyuki <tomotsuyuki@catalyst-au.net>
* @copyright 2023 Catalyst IT
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
*/
define('CLI_SCRIPT', 1);
require(__DIR__ . '/../../config.php');
require_once($CFG->libdir . '/clilib.php');
require_once($CFG->dirroot . '/backup/util/includes/backup_includes.php');
require_once($CFG->dirroot . "/backup/util/includes/restore_includes.php");
list($options, $unrecognized) = cli_get_params([
'srccourseid' => '',
'srccmid' => '',
'dstcourseid' => '',
'showdebugging' => false,
'help' => false,
], [
's' => 'showdebugging',
'h' => 'help',
]);
if ($unrecognized) {
$unrecognized = implode("\n ", $unrecognized);
cli_error(get_string('cliunknowoption', 'admin', $unrecognized));
}
if ($options['help'] ||
!(($options['srccourseid'] && $options['dstcourseid'])
|| ($options['srccmid'] && $options['dstcourseid']))) {
$help = <<<EOL
Import course or course module into provided course.
Options:
--srccourseid=INT Source course ID to backup.
--srccmid=INT Source course module ID to backup.
--dstcourseid=INT Destination course ID to restore.
-s, --showdebugging Show developer level debugging information
-h, --help Print out this help.
Example1: (Import from a course into another course)
\$sudo -u www-data /usr/bin/php admin/cli/import.php --srccourseid=12 --dstcourseid=13\n
Example2: (Import from a course module into a course)
\$sudo -u www-data /usr/bin/php admin/cli/import.php --srccmid=21 --dstcourseid=11\n
EOL;
echo $help;
exit(0);
}
if ($options['showdebugging']) {
set_debugging(DEBUG_DEVELOPER, true);
}
if (!$admin = get_admin()) {
throw new \moodle_exception('noadmins');
}
if (!empty($options['srccourseid']) && !empty($options['dstcourseid'])) {
// Import from course into course.
if (!$srccourse = $DB->get_record('course', ['id' => $options['srccourseid']], 'id')) {
throw new \moodle_exception('invalidcourseid');
}
if (!$dstcourse = $DB->get_record('course', ['id' => $options['dstcourseid']], 'id')) {
throw new \moodle_exception('invalidcourseid');
}
cli_heading(get_string('importfromcoursetocourse', 'backup', (object)$options));
$bc = new backup_controller(backup::TYPE_1COURSE, $srccourse->id, backup::FORMAT_MOODLE,
backup::INTERACTIVE_NO, backup::MODE_IMPORT, $admin->id);
$backupid = $bc->get_backupid();
$bc->execute_plan();
$bc->destroy();
cli_heading(get_string('backupthenrestore', 'backup'));
$rc = new restore_controller($backupid, $dstcourse->id, backup::INTERACTIVE_NO,
backup::MODE_SAMESITE, $admin->id, backup::TARGET_EXISTING_ADDING);
$rc->execute_precheck();
$rc->execute_plan();
$rc->destroy();
cli_heading(get_string('restoredcourseid', 'backup', $dstcourse->id));
} else if (!empty($options['srccmid']) && !empty($options['dstcourseid'])) {
// Import from course module into course.
if (!$cm = $DB->get_record('course_modules', ['id' => $options['srccmid']], 'id')) {
throw new \moodle_exception('invalidcoursemoduleid', 'error', '', $options['srccmid']);
}
if (!$course = $DB->get_record('course', ['id' => $options['dstcourseid']], 'id')) {
throw new \moodle_exception('invalidcourseid');
}
cli_heading(get_string('importfromccmidtocourse', 'backup', (object)$options));
$bc = new backup_controller(backup::TYPE_1ACTIVITY, $cm->id, backup::FORMAT_MOODLE,
backup::INTERACTIVE_NO, backup::MODE_IMPORT, $admin->id);
$backupid = $bc->get_backupid();
$bc->execute_plan();
$bc->destroy();
cli_heading(get_string('backupthenrestore', 'backup'));
$rc = new restore_controller($backupid, $course->id, backup::INTERACTIVE_NO,
backup::MODE_SAMESITE, $admin->id, backup::TARGET_EXISTING_ADDING);
$rc->execute_precheck();
$rc->execute_plan();
$rc->destroy();
cli_heading(get_string('restoredcourseid', 'backup', $course->id));
} else {
throw new \moodle_exception('invalidoption');
}
exit(0);
+9 -14
View File
@@ -30,6 +30,7 @@
*/
define('CLI_SCRIPT', true);
define('NO_DEBUG_DISPLAY', false);
// extra execution prevention - we can not just require config.php here
if (isset($_SERVER['REMOTE_ADDR'])) {
@@ -165,18 +166,23 @@ $CFG->running_installer = true;
$CFG->early_install_lang = true;
$CFG->ostype = (stristr(PHP_OS, 'win') && !stristr(PHP_OS, 'darwin')) ? 'WINDOWS' : 'UNIX';
$CFG->dboptions = array();
$CFG->debug = (E_ALL | E_STRICT);
$CFG->debug = (E_ALL);
$CFG->debugdisplay = true;
$CFG->debugdeveloper = true;
$parts = explode('/', str_replace('\\', '/', dirname(__DIR__)));
$CFG->admin = array_pop($parts);
//point pear include path to moodles lib/pear so that includes and requires will search there for files before anywhere else
//the problem is that we need specific version of quickforms and hacked excel files :-(
// Point pear include path to moodles lib/pear so that includes and requires will search there for files before anywhere else
// the problem is that we need specific version of quickforms and hacked excel files :-(.
ini_set('include_path', $CFG->libdir.'/pear' . PATH_SEPARATOR . ini_get('include_path'));
// The core_component class can be used in any scripts, it does not need anything else.
require_once($CFG->libdir.'/classes/component.php');
// Register our classloader.
\core\component::register_autoloader();
require_once($CFG->libdir.'/classes/text.php');
require_once($CFG->libdir.'/classes/string_manager.php');
require_once($CFG->libdir.'/classes/string_manager_install.php');
@@ -190,15 +196,6 @@ require_once($CFG->libdir.'/moodlelib.php');
require_once($CFG->libdir.'/deprecatedlib.php');
require_once($CFG->libdir.'/adminlib.php');
require_once($CFG->libdir.'/componentlib.class.php');
require_once($CFG->dirroot.'/cache/lib.php');
// Register our classloader, in theory somebody might want to replace it to load other hacked core classes.
// Required because the database checks below lead to session interaction which is going to lead us to requiring autoloaded classes.
if (defined('COMPONENT_CLASSLOADER')) {
spl_autoload_register(COMPONENT_CLASSLOADER);
} else {
spl_autoload_register('core_component::classloader');
}
require($CFG->dirroot.'/version.php');
$CFG->target_release = $release;
@@ -220,7 +217,6 @@ $databases = array('mysqli' => moodle_database::get_driver_instance('mysqli', 'n
'auroramysql' => moodle_database::get_driver_instance('auroramysql', 'native'),
'mariadb'=> moodle_database::get_driver_instance('mariadb', 'native'),
'pgsql' => moodle_database::get_driver_instance('pgsql', 'native'),
'oci' => moodle_database::get_driver_instance('oci', 'native'),
'sqlsrv' => moodle_database::get_driver_instance('sqlsrv', 'native'), // MS SQL*Server PHP driver
);
foreach ($databases as $type=>$database) {
@@ -564,7 +560,6 @@ do {
if ($interactive) {
cli_separator();
cli_heading(get_string('dbprefix', 'install'));
//TODO: solve somehow the prefix trouble for oci.
if ($options['prefix'] !== '') {
$prompt = get_string('clitypevaluedefault', 'admin', $options['prefix']);
} else {
+1 -1
View File
@@ -50,6 +50,6 @@ Example:
exit(0);
}
\core\session\manager::kill_all_sessions();
\core\session\manager::destroy_all();
exit(0);
+3
View File
@@ -31,6 +31,7 @@ require_once($CFG->libdir.'/clilib.php');
$longoptions = [
'help' => false,
'muc' => false,
'courses' => false,
'theme' => false,
'lang' => false,
'js' => false,
@@ -55,6 +56,8 @@ all caches will be purged.
Options:
-h, --help Print out this help
--muc Purge all MUC caches (includes lang cache)
--courses Purge all course caches (or only those specified by a comma-separated list).
e.g. --courses=4,67,145
--theme Purge theme cache
--lang Purge language string cache
--js Purge JavaScript cache
+68 -17
View File
@@ -32,11 +32,13 @@ require_once($CFG->dirroot . "/backup/util/includes/restore_includes.php");
list($options, $unrecognized) = cli_get_params([
'file' => '',
'categoryid' => '',
'courseid' => '',
'showdebugging' => false,
'help' => false,
], [
'f' => 'file',
'c' => 'categoryid',
'C' => 'courseid',
's' => 'showdebugging',
'h' => 'help',
]);
@@ -46,18 +48,21 @@ if ($unrecognized) {
cli_error(get_string('cliunknowoption', 'admin', $unrecognized));
}
if ($options['help'] || !($options['file']) || !($options['categoryid'])) {
if ($options['help'] || !($options['file']) || !($options['categoryid'] || $options['courseid'])) {
$help = <<<EOL
Restore backup into provided category.
Restore backup into provided category or course.
If courseid is set, course module/s will be added into the course.
Options:
-f, --file=STRING Path to the backup file.
-c, --categoryid=INT ID of the category to restore too.
-s, --showdebugging Show developer level debugging information
-h, --help Print out this help.
-f, --file=STRING Path to the backup file.
-c, --categoryid=INT ID of the course category to restore to. This option is ignored when restoring an activity and courseid is set.
-C, --courseid=INT ID of the course to restore to. This option is ignored when restoring a course and the categoryid is set.
-s, --showdebugging Show developer level debugging information
-h, --help Print out this help.
Example:
\$sudo -u www-data /usr/bin/php admin/cli/restore_backup.php --file=/path/to/backup/file.mbz --categoryid=1\n
\$sudo -u www-data /usr/bin/php admin/cli/restore_backup.php --file=/path/to/backup/coursebackup.mbz --categoryid=1\n
\$sudo -u www-data /usr/bin/php admin/cli/restore_backup.php --file=/path/to/backup/activitybackup.mbz --courseid=1\n
EOL;
echo $help;
@@ -76,29 +81,75 @@ if (!file_exists($options['file'])) {
throw new \moodle_exception('filenotfound');
}
if (!$category = $DB->get_record('course_categories', ['id' => $options['categoryid']], 'id')) {
throw new \moodle_exception('invalidcategoryid');
if ($options['categoryid']) {
if (!$category = $DB->get_record('course_categories', ['id' => $options['categoryid']], 'id')) {
throw new \moodle_exception('invalidcategoryid');
}
}
$backupdir = "restore_" . uniqid();
$path = $CFG->tempdir . DIRECTORY_SEPARATOR . "backup" . DIRECTORY_SEPARATOR . $backupdir;
if ($options['courseid']) {
if (!$course = $DB->get_record('course', ['id' => $options['courseid']], 'id')) {
throw new \moodle_exception('invalidcourseid');
}
}
if (empty($category) && empty($course)) {
throw new \moodle_exception('invalidoption');
}
$backupdir = restore_controller::get_tempdir_name(SITEID, $USER->id);
$path = make_backup_temp_directory($backupdir);
cli_heading(get_string('extractingbackupfileto', 'backup', $path));
$fp = get_file_packer('application/vnd.moodle.backup');
$fp->extract_to_pathname($options['file'], $path);
cli_heading(get_string('preprocessingbackupfile'));
try {
list($fullname, $shortname) = restore_dbops::calculate_course_names(0, get_string('restoringcourse', 'backup'),
get_string('restoringcourseshortname', 'backup'));
// Create a temporary restore controller to determine the restore type.
$tmprc = new restore_controller($backupdir, SITEID, backup::INTERACTIVE_NO,
backup::MODE_GENERAL, $admin->id, backup::TARGET_EXISTING_ADDING);
// Restore the backup into a new course if:
// - It is a course backup and the category is set.
// - It is an activity backup and the course is not set.
$restoreasnewcourse = ($tmprc->get_type() === backup::TYPE_1COURSE && !empty($category)) ||
($tmprc->get_type() !== backup::TYPE_1COURSE && empty($course));
// Make sure to clean up the temporary restore controller.
$tmprc->destroy();
$courseid = restore_dbops::create_new_course($fullname, $shortname, $category->id);
$rc = new restore_controller($backupdir, $courseid, backup::INTERACTIVE_NO,
backup::MODE_GENERAL, $admin->id, backup::TARGET_NEW_COURSE);
if ($restoreasnewcourse) {
list($fullname, $shortname) = restore_dbops::calculate_course_names(0, get_string('restoringcourse', 'backup'),
get_string('restoringcourseshortname', 'backup'));
$courseid = restore_dbops::create_new_course($fullname, $shortname, $category->id);
$rc = new restore_controller($backupdir, $courseid, backup::INTERACTIVE_NO,
backup::MODE_GENERAL, $admin->id, backup::TARGET_NEW_COURSE);
} else {
$courseid = $course->id;
$rc = new restore_controller($backupdir, $courseid, backup::INTERACTIVE_NO,
backup::MODE_GENERAL, $admin->id, backup::TARGET_EXISTING_ADDING);
}
$rc->execute_precheck();
$rc->execute_plan();
$rc->destroy();
// Rename the course's full and short names with the backup file's original names if the backup file is an activity backup
// that is restored to a new course.
if ($restoreasnewcourse && $rc->get_type() !== backup::TYPE_1COURSE) {
$course = get_course($courseid);
$backupinfo = $rc->get_info();
$tmpfullname = $backupinfo->original_course_fullname ?? get_string('restoretonewcourse', 'backup');
$tmpshortname = $backupinfo->original_course_shortname ?? get_string('newcourse');
list($fullname, $shortname) = restore_dbops::calculate_course_names(
courseid: 0,
fullname: $tmpfullname,
shortname: $tmpshortname,
);
$course->fullname = $fullname;
$course->shortname = $shortname;
$course->visible = 1;
$DB->update_record('course', $course);
}
} catch (Exception $e) {
cli_heading(get_string('cleaningtempdata'));
fulldelete($path);
+1 -5
View File
@@ -189,11 +189,7 @@ if ($disable = $options['disable']) {
}
$task->set_lock($lock);
if (!$task->is_blocking()) {
$cronlock->release();
} else {
$task->set_cron_lock($cronlock);
}
$cronlock->release();
\core\cron::run_inner_scheduled_task($task);
}
+789
View File
@@ -3923,6 +3923,8 @@
</CUSTOM_CHECK>
<CUSTOM_CHECK file="lib/upgradelib.php" function="check_xmlrpc_usage" level="optional">
</CUSTOM_CHECK>
<CUSTOM_CHECK file="lib/upgradelib.php" function="check_oracle_usage" level="optional">
</CUSTOM_CHECK>
</CUSTOM_CHECKS>
</MOODLE>
<MOODLE version="4.2" requires="3.11.8">
@@ -3939,6 +3941,7 @@
<VENDOR name="oracle" version="19" />
</DATABASE>
<PHP version="8.0.0" level="required">
<RESTRICT function="restrict_php_version_83" message="unsupportedphpversion83" />
</PHP>
<PCREUNICODE level="optional">
<FEEDBACK>
@@ -4112,6 +4115,8 @@
</CUSTOM_CHECK>
<CUSTOM_CHECK file="lib/upgradelib.php" function="check_mod_assignment" level="required">
</CUSTOM_CHECK>
<CUSTOM_CHECK file="lib/upgradelib.php" function="check_oracle_usage" level="optional">
</CUSTOM_CHECK>
</CUSTOM_CHECKS>
</MOODLE>
<MOODLE version="4.3" requires="3.11.8">
@@ -4128,6 +4133,7 @@
<VENDOR name="oracle" version="19" />
</DATABASE>
<PHP version="8.0.0" level="required">
<RESTRICT function="restrict_php_version_83" message="unsupportedphpversion83" />
</PHP>
<PCREUNICODE level="optional">
<FEEDBACK>
@@ -4303,6 +4309,789 @@
</CUSTOM_CHECK>
<CUSTOM_CHECK file="lib/upgradelib.php" function="check_db_prefix_length" level="required">
</CUSTOM_CHECK>
<CUSTOM_CHECK file="lib/upgradelib.php" function="check_oracle_usage" level="optional">
</CUSTOM_CHECK>
</CUSTOM_CHECKS>
</MOODLE>
<MOODLE version="4.4" requires="4.1.2">
<UNICODE level="required">
<FEEDBACK>
<ON_ERROR message="unicoderequired" />
</FEEDBACK>
</UNICODE>
<DATABASE level="required">
<VENDOR name="mariadb" version="10.6.7" />
<VENDOR name="mysql" version="8.0" />
<VENDOR name="postgres" version="13" />
<VENDOR name="mssql" version="14.0" />
<VENDOR name="oracle" version="19" />
</DATABASE>
<PHP version="8.1.0" level="required">
<RESTRICT function="restrict_php_version_84" message="unsupportedphpversion84" />
</PHP>
<PCREUNICODE level="optional">
<FEEDBACK>
<ON_CHECK message="pcreunicodewarning" />
</FEEDBACK>
</PCREUNICODE>
<PHP_EXTENSIONS>
<PHP_EXTENSION name="iconv" level="required">
<FEEDBACK>
<ON_ERROR message="iconvrequired" />
</FEEDBACK>
</PHP_EXTENSION>
<PHP_EXTENSION name="mbstring" level="required">
<FEEDBACK>
<ON_ERROR message="mbstringrequired" />
</FEEDBACK>
</PHP_EXTENSION>
<PHP_EXTENSION name="curl" level="required">
<FEEDBACK>
<ON_ERROR message="curlrequired" />
</FEEDBACK>
</PHP_EXTENSION>
<PHP_EXTENSION name="openssl" level="required">
<FEEDBACK>
<ON_ERROR message="opensslrequired" />
</FEEDBACK>
</PHP_EXTENSION>
<PHP_EXTENSION name="tokenizer" level="optional">
<FEEDBACK>
<ON_CHECK message="tokenizerrecommended" />
</FEEDBACK>
</PHP_EXTENSION>
<PHP_EXTENSION name="soap" level="optional">
<FEEDBACK>
<ON_CHECK message="soaprecommended" />
</FEEDBACK>
</PHP_EXTENSION>
<PHP_EXTENSION name="ctype" level="required">
<FEEDBACK>
<ON_ERROR message="ctyperequired" />
</FEEDBACK>
</PHP_EXTENSION>
<PHP_EXTENSION name="zip" level="required">
<FEEDBACK>
<ON_ERROR message="ziprequired" />
</FEEDBACK>
</PHP_EXTENSION>
<PHP_EXTENSION name="zlib" level="required">
</PHP_EXTENSION>
<PHP_EXTENSION name="gd" level="required">
<FEEDBACK>
<ON_ERROR message="gdrequired" />
</FEEDBACK>
</PHP_EXTENSION>
<PHP_EXTENSION name="simplexml" level="required">
<FEEDBACK>
<ON_ERROR message="simplexmlrequired" />
</FEEDBACK>
</PHP_EXTENSION>
<PHP_EXTENSION name="spl" level="required">
<FEEDBACK>
<ON_ERROR message="splrequired" />
</FEEDBACK>
</PHP_EXTENSION>
<PHP_EXTENSION name="pcre" level="required">
</PHP_EXTENSION>
<PHP_EXTENSION name="dom" level="required">
</PHP_EXTENSION>
<PHP_EXTENSION name="xml" level="required">
</PHP_EXTENSION>
<PHP_EXTENSION name="xmlreader" level="required">
</PHP_EXTENSION>
<PHP_EXTENSION name="intl" level="required">
<FEEDBACK>
<ON_ERROR message="intlrequired" />
</FEEDBACK>
</PHP_EXTENSION>
<PHP_EXTENSION name="json" level="required">
</PHP_EXTENSION>
<PHP_EXTENSION name="hash" level="required"/>
<PHP_EXTENSION name="fileinfo" level="required"/>
<PHP_EXTENSION name="sodium" level="required"/>
<PHP_EXTENSION name="exif" level="optional"/>
</PHP_EXTENSIONS>
<PHP_SETTINGS>
<PHP_SETTING name="memory_limit" value="96M" level="required">
<FEEDBACK>
<ON_ERROR message="settingmemorylimit" />
</FEEDBACK>
</PHP_SETTING>
<PHP_SETTING name="file_uploads" value="1" level="optional">
<FEEDBACK>
<ON_CHECK message="settingfileuploads" />
</FEEDBACK>
</PHP_SETTING>
<PHP_SETTING name="opcache.enable" value="1" level="optional">
<FEEDBACK>
<ON_CHECK message="opcacherecommended" />
</FEEDBACK>
</PHP_SETTING>
</PHP_SETTINGS>
<CUSTOM_CHECKS>
<CUSTOM_CHECK file="lib/upgradelib.php" function="check_database_storage_engine" level="required">
<FEEDBACK>
<ON_ERROR message="unsupporteddbstorageengine" />
</FEEDBACK>
</CUSTOM_CHECK>
<CUSTOM_CHECK file="question/engine/upgrade/upgradelib.php" function="quiz_attempts_upgraded" level="required">
<FEEDBACK>
<ON_ERROR message="quizattemptsupgradedmessage" />
</FEEDBACK>
</CUSTOM_CHECK>
<CUSTOM_CHECK file="lib/upgradelib.php" function="check_slasharguments" level="optional">
<FEEDBACK>
<ON_CHECK message="slashargumentswarning" />
</FEEDBACK>
</CUSTOM_CHECK>
<CUSTOM_CHECK file="lib/upgradelib.php" function="check_database_tables_row_format" level="optional">
<FEEDBACK>
<ON_CHECK message="unsupporteddbtablerowformat" />
</FEEDBACK>
</CUSTOM_CHECK>
<CUSTOM_CHECK file="lib/upgradelib.php" function="check_unoconv_version" level="optional">
<FEEDBACK>
<ON_CHECK message="unoconvwarning" />
</FEEDBACK>
</CUSTOM_CHECK>
<CUSTOM_CHECK file="lib/upgradelib.php" function="check_libcurl_version" level="optional">
<FEEDBACK>
<ON_CHECK message="libcurlwarning" />
</FEEDBACK>
</CUSTOM_CHECK>
<CUSTOM_CHECK file="lib/upgradelib.php" function="check_mysql_file_format" level="required">
<FEEDBACK>
<ON_ERROR message="unsupporteddbfileformat" />
</FEEDBACK>
</CUSTOM_CHECK>
<CUSTOM_CHECK file="lib/upgradelib.php" function="check_mysql_file_per_table" level="required">
<FEEDBACK>
<ON_ERROR message="unsupporteddbfilepertable" />
</FEEDBACK>
</CUSTOM_CHECK>
<CUSTOM_CHECK file="lib/upgradelib.php" function="check_mysql_large_prefix" level="required">
<FEEDBACK>
<ON_ERROR message="unsupporteddblargeprefix" />
</FEEDBACK>
</CUSTOM_CHECK>
<CUSTOM_CHECK file="lib/upgradelib.php" function="check_is_https" level="optional">
<FEEDBACK>
<ON_CHECK message="ishttpswarning" />
</FEEDBACK>
</CUSTOM_CHECK>
<CUSTOM_CHECK file="lib/upgradelib.php" function="check_mysql_incomplete_unicode_support" level="optional">
<FEEDBACK>
<ON_CHECK message="incompleteunicodesupport" />
</FEEDBACK>
</CUSTOM_CHECK>
<CUSTOM_CHECK file="lib/upgradelib.php" function="check_sixtyfour_bits" level="required">
<FEEDBACK>
<ON_ERROR message="sixtyfourbitsrequired" />
</FEEDBACK>
</CUSTOM_CHECK>
<CUSTOM_CHECK file="lib/upgradelib.php" function="check_max_input_vars" level="optional">
</CUSTOM_CHECK>
<CUSTOM_CHECK file="lib/upgradelib.php" function="check_admin_dir_usage" level="optional">
<FEEDBACK>
<ON_CHECK message="iscustomadminwarnings" />
</FEEDBACK>
</CUSTOM_CHECK>
<CUSTOM_CHECK file="lib/upgradelib.php" function="check_xmlrpc_usage" level="optional">
</CUSTOM_CHECK>
<CUSTOM_CHECK file="lib/upgradelib.php" function="check_mod_assignment" level="required">
</CUSTOM_CHECK>
<CUSTOM_CHECK file="lib/upgradelib.php" function="check_db_prefix_length" level="required">
</CUSTOM_CHECK>
<CUSTOM_CHECK file="lib/upgradelib.php" function="check_oracle_usage" level="optional">
</CUSTOM_CHECK>
<CUSTOM_CHECK file="lib/upgradelib.php" function="check_async_backup" level="recommended">
</CUSTOM_CHECK>
</CUSTOM_CHECKS>
</MOODLE>
<MOODLE version="4.5" requires="4.1.2">
<UNICODE level="required">
<FEEDBACK>
<ON_ERROR message="unicoderequired" />
</FEEDBACK>
</UNICODE>
<DATABASE level="required">
<VENDOR name="mariadb" version="10.6.7" />
<VENDOR name="mysql" version="8.0" />
<VENDOR name="postgres" version="13" />
<VENDOR name="mssql" version="14.0" />
<VENDOR name="oracle" version="19" />
</DATABASE>
<PHP version="8.1.0" level="required">
<RESTRICT function="restrict_php_version_84" message="unsupportedphpversion84" />
</PHP>
<PCREUNICODE level="optional">
<FEEDBACK>
<ON_CHECK message="pcreunicodewarning" />
</FEEDBACK>
</PCREUNICODE>
<PHP_EXTENSIONS>
<PHP_EXTENSION name="iconv" level="required">
<FEEDBACK>
<ON_ERROR message="iconvrequired" />
</FEEDBACK>
</PHP_EXTENSION>
<PHP_EXTENSION name="mbstring" level="required">
<FEEDBACK>
<ON_ERROR message="mbstringrequired" />
</FEEDBACK>
</PHP_EXTENSION>
<PHP_EXTENSION name="curl" level="required">
<FEEDBACK>
<ON_ERROR message="curlrequired" />
</FEEDBACK>
</PHP_EXTENSION>
<PHP_EXTENSION name="openssl" level="required">
<FEEDBACK>
<ON_ERROR message="opensslrequired" />
</FEEDBACK>
</PHP_EXTENSION>
<PHP_EXTENSION name="tokenizer" level="optional">
<FEEDBACK>
<ON_CHECK message="tokenizerrecommended" />
</FEEDBACK>
</PHP_EXTENSION>
<PHP_EXTENSION name="soap" level="optional">
<FEEDBACK>
<ON_CHECK message="soaprecommended" />
</FEEDBACK>
</PHP_EXTENSION>
<PHP_EXTENSION name="ctype" level="required">
<FEEDBACK>
<ON_ERROR message="ctyperequired" />
</FEEDBACK>
</PHP_EXTENSION>
<PHP_EXTENSION name="zip" level="required">
<FEEDBACK>
<ON_ERROR message="ziprequired" />
</FEEDBACK>
</PHP_EXTENSION>
<PHP_EXTENSION name="zlib" level="required">
</PHP_EXTENSION>
<PHP_EXTENSION name="gd" level="required">
<FEEDBACK>
<ON_ERROR message="gdrequired" />
</FEEDBACK>
</PHP_EXTENSION>
<PHP_EXTENSION name="simplexml" level="required">
<FEEDBACK>
<ON_ERROR message="simplexmlrequired" />
</FEEDBACK>
</PHP_EXTENSION>
<PHP_EXTENSION name="spl" level="required">
<FEEDBACK>
<ON_ERROR message="splrequired" />
</FEEDBACK>
</PHP_EXTENSION>
<PHP_EXTENSION name="pcre" level="required">
</PHP_EXTENSION>
<PHP_EXTENSION name="dom" level="required">
</PHP_EXTENSION>
<PHP_EXTENSION name="xml" level="required">
</PHP_EXTENSION>
<PHP_EXTENSION name="xmlreader" level="required">
</PHP_EXTENSION>
<PHP_EXTENSION name="intl" level="required">
<FEEDBACK>
<ON_ERROR message="intlrequired" />
</FEEDBACK>
</PHP_EXTENSION>
<PHP_EXTENSION name="json" level="required">
</PHP_EXTENSION>
<PHP_EXTENSION name="hash" level="required"/>
<PHP_EXTENSION name="fileinfo" level="required"/>
<PHP_EXTENSION name="sodium" level="required"/>
<PHP_EXTENSION name="exif" level="optional"/>
</PHP_EXTENSIONS>
<PHP_SETTINGS>
<PHP_SETTING name="memory_limit" value="96M" level="required">
<FEEDBACK>
<ON_ERROR message="settingmemorylimit" />
</FEEDBACK>
</PHP_SETTING>
<PHP_SETTING name="file_uploads" value="1" level="optional">
<FEEDBACK>
<ON_CHECK message="settingfileuploads" />
</FEEDBACK>
</PHP_SETTING>
<PHP_SETTING name="opcache.enable" value="1" level="optional">
<FEEDBACK>
<ON_CHECK message="opcacherecommended" />
</FEEDBACK>
</PHP_SETTING>
</PHP_SETTINGS>
<CUSTOM_CHECKS>
<CUSTOM_CHECK file="lib/upgradelib.php" function="check_database_storage_engine" level="required">
<FEEDBACK>
<ON_ERROR message="unsupporteddbstorageengine" />
</FEEDBACK>
</CUSTOM_CHECK>
<CUSTOM_CHECK file="question/engine/upgrade/upgradelib.php" function="quiz_attempts_upgraded" level="required">
<FEEDBACK>
<ON_ERROR message="quizattemptsupgradedmessage" />
</FEEDBACK>
</CUSTOM_CHECK>
<CUSTOM_CHECK file="lib/upgradelib.php" function="check_slasharguments" level="optional">
<FEEDBACK>
<ON_CHECK message="slashargumentswarning" />
</FEEDBACK>
</CUSTOM_CHECK>
<CUSTOM_CHECK file="lib/upgradelib.php" function="check_database_tables_row_format" level="optional">
<FEEDBACK>
<ON_CHECK message="unsupporteddbtablerowformat" />
</FEEDBACK>
</CUSTOM_CHECK>
<CUSTOM_CHECK file="lib/upgradelib.php" function="check_unoconv_version" level="optional">
<FEEDBACK>
<ON_CHECK message="unoconvwarning" />
</FEEDBACK>
</CUSTOM_CHECK>
<CUSTOM_CHECK file="lib/upgradelib.php" function="check_libcurl_version" level="optional">
<FEEDBACK>
<ON_CHECK message="libcurlwarning" />
</FEEDBACK>
</CUSTOM_CHECK>
<CUSTOM_CHECK file="lib/upgradelib.php" function="check_mysql_file_format" level="required">
<FEEDBACK>
<ON_ERROR message="unsupporteddbfileformat" />
</FEEDBACK>
</CUSTOM_CHECK>
<CUSTOM_CHECK file="lib/upgradelib.php" function="check_mysql_file_per_table" level="required">
<FEEDBACK>
<ON_ERROR message="unsupporteddbfilepertable" />
</FEEDBACK>
</CUSTOM_CHECK>
<CUSTOM_CHECK file="lib/upgradelib.php" function="check_mysql_large_prefix" level="required">
<FEEDBACK>
<ON_ERROR message="unsupporteddblargeprefix" />
</FEEDBACK>
</CUSTOM_CHECK>
<CUSTOM_CHECK file="lib/upgradelib.php" function="check_is_https" level="optional">
<FEEDBACK>
<ON_CHECK message="ishttpswarning" />
</FEEDBACK>
</CUSTOM_CHECK>
<CUSTOM_CHECK file="lib/upgradelib.php" function="check_mysql_incomplete_unicode_support" level="optional">
<FEEDBACK>
<ON_CHECK message="incompleteunicodesupport" />
</FEEDBACK>
</CUSTOM_CHECK>
<CUSTOM_CHECK file="lib/upgradelib.php" function="check_sixtyfour_bits" level="required">
<FEEDBACK>
<ON_ERROR message="sixtyfourbitsrequired" />
</FEEDBACK>
</CUSTOM_CHECK>
<CUSTOM_CHECK file="lib/upgradelib.php" function="check_max_input_vars" level="optional">
</CUSTOM_CHECK>
<CUSTOM_CHECK file="lib/upgradelib.php" function="check_admin_dir_usage" level="optional">
<FEEDBACK>
<ON_CHECK message="iscustomadminwarnings" />
</FEEDBACK>
</CUSTOM_CHECK>
<CUSTOM_CHECK file="lib/upgradelib.php" function="check_xmlrpc_usage" level="optional">
</CUSTOM_CHECK>
<CUSTOM_CHECK file="lib/upgradelib.php" function="check_mod_assignment" level="required">
</CUSTOM_CHECK>
<CUSTOM_CHECK file="lib/upgradelib.php" function="check_db_prefix_length" level="required">
</CUSTOM_CHECK>
<CUSTOM_CHECK file="lib/upgradelib.php" function="check_oracle_usage" level="optional">
</CUSTOM_CHECK>
<CUSTOM_CHECK file="lib/upgradelib.php" function="check_async_backup" level="recommended">
</CUSTOM_CHECK>
</CUSTOM_CHECKS>
</MOODLE>
<MOODLE version="5.0" requires="4.2.3">
<UNICODE level="required">
<FEEDBACK>
<ON_ERROR message="unicoderequired" />
</FEEDBACK>
</UNICODE>
<DATABASE level="required">
<VENDOR name="mariadb" version="10.11.0" />
<VENDOR name="mysql" version="8.4" />
<VENDOR name="postgres" version="14" />
<VENDOR name="mssql" version="14.0" />
</DATABASE>
<PHP version="8.2.0" level="required">
</PHP>
<PCREUNICODE level="optional">
<FEEDBACK>
<ON_CHECK message="pcreunicodewarning" />
</FEEDBACK>
</PCREUNICODE>
<PHP_EXTENSIONS>
<PHP_EXTENSION name="iconv" level="required">
<FEEDBACK>
<ON_ERROR message="iconvrequired" />
</FEEDBACK>
</PHP_EXTENSION>
<PHP_EXTENSION name="mbstring" level="required">
<FEEDBACK>
<ON_ERROR message="mbstringrequired" />
</FEEDBACK>
</PHP_EXTENSION>
<PHP_EXTENSION name="curl" level="required">
<FEEDBACK>
<ON_ERROR message="curlrequired" />
</FEEDBACK>
</PHP_EXTENSION>
<PHP_EXTENSION name="openssl" level="required">
<FEEDBACK>
<ON_ERROR message="opensslrequired" />
</FEEDBACK>
</PHP_EXTENSION>
<PHP_EXTENSION name="tokenizer" level="optional">
<FEEDBACK>
<ON_CHECK message="tokenizerrecommended" />
</FEEDBACK>
</PHP_EXTENSION>
<PHP_EXTENSION name="soap" level="optional">
<FEEDBACK>
<ON_CHECK message="soaprecommended" />
</FEEDBACK>
</PHP_EXTENSION>
<PHP_EXTENSION name="ctype" level="required">
<FEEDBACK>
<ON_ERROR message="ctyperequired" />
</FEEDBACK>
</PHP_EXTENSION>
<PHP_EXTENSION name="zip" level="required">
<FEEDBACK>
<ON_ERROR message="ziprequired" />
</FEEDBACK>
</PHP_EXTENSION>
<PHP_EXTENSION name="zlib" level="required">
</PHP_EXTENSION>
<PHP_EXTENSION name="gd" level="required">
<FEEDBACK>
<ON_ERROR message="gdrequired" />
</FEEDBACK>
</PHP_EXTENSION>
<PHP_EXTENSION name="simplexml" level="required">
<FEEDBACK>
<ON_ERROR message="simplexmlrequired" />
</FEEDBACK>
</PHP_EXTENSION>
<PHP_EXTENSION name="spl" level="required">
<FEEDBACK>
<ON_ERROR message="splrequired" />
</FEEDBACK>
</PHP_EXTENSION>
<PHP_EXTENSION name="pcre" level="required">
</PHP_EXTENSION>
<PHP_EXTENSION name="dom" level="required">
</PHP_EXTENSION>
<PHP_EXTENSION name="xml" level="required">
</PHP_EXTENSION>
<PHP_EXTENSION name="xmlreader" level="required">
</PHP_EXTENSION>
<PHP_EXTENSION name="intl" level="required">
<FEEDBACK>
<ON_ERROR message="intlrequired" />
</FEEDBACK>
</PHP_EXTENSION>
<PHP_EXTENSION name="json" level="required">
</PHP_EXTENSION>
<PHP_EXTENSION name="hash" level="required"/>
<PHP_EXTENSION name="fileinfo" level="required"/>
<PHP_EXTENSION name="sodium" level="required"/>
<PHP_EXTENSION name="exif" level="optional"/>
</PHP_EXTENSIONS>
<PHP_SETTINGS>
<PHP_SETTING name="memory_limit" value="96M" level="required">
<FEEDBACK>
<ON_ERROR message="settingmemorylimit" />
</FEEDBACK>
</PHP_SETTING>
<PHP_SETTING name="file_uploads" value="1" level="optional">
<FEEDBACK>
<ON_CHECK message="settingfileuploads" />
</FEEDBACK>
</PHP_SETTING>
<PHP_SETTING name="opcache.enable" value="1" level="optional">
<FEEDBACK>
<ON_CHECK message="opcacherecommended" />
</FEEDBACK>
</PHP_SETTING>
</PHP_SETTINGS>
<CUSTOM_CHECKS>
<CUSTOM_CHECK file="lib/upgradelib.php" function="check_database_storage_engine" level="required">
<FEEDBACK>
<ON_ERROR message="unsupporteddbstorageengine" />
</FEEDBACK>
</CUSTOM_CHECK>
<CUSTOM_CHECK file="question/engine/upgrade/upgradelib.php" function="quiz_attempts_upgraded" level="required">
<FEEDBACK>
<ON_ERROR message="quizattemptsupgradedmessage" />
</FEEDBACK>
</CUSTOM_CHECK>
<CUSTOM_CHECK file="lib/upgradelib.php" function="check_slasharguments" level="optional">
<FEEDBACK>
<ON_CHECK message="slashargumentswarning" />
</FEEDBACK>
</CUSTOM_CHECK>
<CUSTOM_CHECK file="lib/upgradelib.php" function="check_database_tables_row_format" level="optional">
<FEEDBACK>
<ON_CHECK message="unsupporteddbtablerowformat" />
</FEEDBACK>
</CUSTOM_CHECK>
<CUSTOM_CHECK file="lib/upgradelib.php" function="check_unoconv_version" level="optional">
<FEEDBACK>
<ON_CHECK message="unoconvwarning" />
</FEEDBACK>
</CUSTOM_CHECK>
<CUSTOM_CHECK file="lib/upgradelib.php" function="check_libcurl_version" level="optional">
<FEEDBACK>
<ON_CHECK message="libcurlwarning" />
</FEEDBACK>
</CUSTOM_CHECK>
<CUSTOM_CHECK file="lib/upgradelib.php" function="check_mysql_file_format" level="required">
<FEEDBACK>
<ON_ERROR message="unsupporteddbfileformat" />
</FEEDBACK>
</CUSTOM_CHECK>
<CUSTOM_CHECK file="lib/upgradelib.php" function="check_mysql_file_per_table" level="required">
<FEEDBACK>
<ON_ERROR message="unsupporteddbfilepertable" />
</FEEDBACK>
</CUSTOM_CHECK>
<CUSTOM_CHECK file="lib/upgradelib.php" function="check_mysql_large_prefix" level="required">
<FEEDBACK>
<ON_ERROR message="unsupporteddblargeprefix" />
</FEEDBACK>
</CUSTOM_CHECK>
<CUSTOM_CHECK file="lib/upgradelib.php" function="check_is_https" level="optional">
<FEEDBACK>
<ON_CHECK message="ishttpswarning" />
</FEEDBACK>
</CUSTOM_CHECK>
<CUSTOM_CHECK file="lib/upgradelib.php" function="check_mysql_incomplete_unicode_support" level="optional">
<FEEDBACK>
<ON_CHECK message="incompleteunicodesupport" />
</FEEDBACK>
</CUSTOM_CHECK>
<CUSTOM_CHECK file="lib/upgradelib.php" function="check_sixtyfour_bits" level="required">
<FEEDBACK>
<ON_ERROR message="sixtyfourbitsrequired" />
</FEEDBACK>
</CUSTOM_CHECK>
<CUSTOM_CHECK file="lib/upgradelib.php" function="check_max_input_vars" level="optional">
</CUSTOM_CHECK>
<CUSTOM_CHECK file="lib/upgradelib.php" function="check_admin_dir_usage" level="optional">
<FEEDBACK>
<ON_CHECK message="iscustomadminwarnings" />
</FEEDBACK>
</CUSTOM_CHECK>
<CUSTOM_CHECK file="lib/upgradelib.php" function="check_xmlrpc_usage" level="optional">
</CUSTOM_CHECK>
<CUSTOM_CHECK file="lib/upgradelib.php" function="check_mod_assignment" level="required">
</CUSTOM_CHECK>
<CUSTOM_CHECK file="lib/upgradelib.php" function="check_db_prefix_length" level="required">
</CUSTOM_CHECK>
<CUSTOM_CHECK file="lib/upgradelib.php" function="check_async_backup" level="recommended">
</CUSTOM_CHECK>
</CUSTOM_CHECKS>
</MOODLE>
<MOODLE version="5.1" requires="4.2.3">
<UNICODE level="required">
<FEEDBACK>
<ON_ERROR message="unicoderequired" />
</FEEDBACK>
</UNICODE>
<DATABASE level="required">
<VENDOR name="mariadb" version="10.11.0" />
<VENDOR name="mysql" version="8.4" />
<VENDOR name="postgres" version="14" />
<VENDOR name="mssql" version="14.0" />
</DATABASE>
<PHP version="8.2.0" level="required">
</PHP>
<PCREUNICODE level="optional">
<FEEDBACK>
<ON_CHECK message="pcreunicodewarning" />
</FEEDBACK>
</PCREUNICODE>
<PHP_EXTENSIONS>
<PHP_EXTENSION name="iconv" level="required">
<FEEDBACK>
<ON_ERROR message="iconvrequired" />
</FEEDBACK>
</PHP_EXTENSION>
<PHP_EXTENSION name="mbstring" level="required">
<FEEDBACK>
<ON_ERROR message="mbstringrequired" />
</FEEDBACK>
</PHP_EXTENSION>
<PHP_EXTENSION name="curl" level="required">
<FEEDBACK>
<ON_ERROR message="curlrequired" />
</FEEDBACK>
</PHP_EXTENSION>
<PHP_EXTENSION name="openssl" level="required">
<FEEDBACK>
<ON_ERROR message="opensslrequired" />
</FEEDBACK>
</PHP_EXTENSION>
<PHP_EXTENSION name="tokenizer" level="optional">
<FEEDBACK>
<ON_CHECK message="tokenizerrecommended" />
</FEEDBACK>
</PHP_EXTENSION>
<PHP_EXTENSION name="soap" level="optional">
<FEEDBACK>
<ON_CHECK message="soaprecommended" />
</FEEDBACK>
</PHP_EXTENSION>
<PHP_EXTENSION name="ctype" level="required">
<FEEDBACK>
<ON_ERROR message="ctyperequired" />
</FEEDBACK>
</PHP_EXTENSION>
<PHP_EXTENSION name="zip" level="required">
<FEEDBACK>
<ON_ERROR message="ziprequired" />
</FEEDBACK>
</PHP_EXTENSION>
<PHP_EXTENSION name="zlib" level="required">
</PHP_EXTENSION>
<PHP_EXTENSION name="gd" level="required">
<FEEDBACK>
<ON_ERROR message="gdrequired" />
</FEEDBACK>
</PHP_EXTENSION>
<PHP_EXTENSION name="simplexml" level="required">
<FEEDBACK>
<ON_ERROR message="simplexmlrequired" />
</FEEDBACK>
</PHP_EXTENSION>
<PHP_EXTENSION name="spl" level="required">
<FEEDBACK>
<ON_ERROR message="splrequired" />
</FEEDBACK>
</PHP_EXTENSION>
<PHP_EXTENSION name="pcre" level="required">
</PHP_EXTENSION>
<PHP_EXTENSION name="dom" level="required">
</PHP_EXTENSION>
<PHP_EXTENSION name="xml" level="required">
</PHP_EXTENSION>
<PHP_EXTENSION name="xmlreader" level="required">
</PHP_EXTENSION>
<PHP_EXTENSION name="intl" level="required">
<FEEDBACK>
<ON_ERROR message="intlrequired" />
</FEEDBACK>
</PHP_EXTENSION>
<PHP_EXTENSION name="json" level="required">
</PHP_EXTENSION>
<PHP_EXTENSION name="hash" level="required"/>
<PHP_EXTENSION name="fileinfo" level="required"/>
<PHP_EXTENSION name="sodium" level="required"/>
<PHP_EXTENSION name="exif" level="optional"/>
</PHP_EXTENSIONS>
<PHP_SETTINGS>
<PHP_SETTING name="memory_limit" value="96M" level="required">
<FEEDBACK>
<ON_ERROR message="settingmemorylimit" />
</FEEDBACK>
</PHP_SETTING>
<PHP_SETTING name="file_uploads" value="1" level="optional">
<FEEDBACK>
<ON_CHECK message="settingfileuploads" />
</FEEDBACK>
</PHP_SETTING>
<PHP_SETTING name="opcache.enable" value="1" level="optional">
<FEEDBACK>
<ON_CHECK message="opcacherecommended" />
</FEEDBACK>
</PHP_SETTING>
<PHP_SETTING name="zend.exception_ignore_args" value="1" level="optional">
<FEEDBACK>
<ON_CHECK message="settingzendexceptionignoreargs" />
</FEEDBACK>
</PHP_SETTING>
</PHP_SETTINGS>
<CUSTOM_CHECKS>
<CUSTOM_CHECK file="lib/upgradelib.php" function="check_database_storage_engine" level="required">
<FEEDBACK>
<ON_ERROR message="unsupporteddbstorageengine" />
</FEEDBACK>
</CUSTOM_CHECK>
<CUSTOM_CHECK file="question/engine/upgrade/upgradelib.php" function="quiz_attempts_upgraded" level="required">
<FEEDBACK>
<ON_ERROR message="quizattemptsupgradedmessage" />
</FEEDBACK>
</CUSTOM_CHECK>
<CUSTOM_CHECK file="lib/upgradelib.php" function="check_slasharguments" level="optional">
<FEEDBACK>
<ON_CHECK message="slashargumentswarning" />
</FEEDBACK>
</CUSTOM_CHECK>
<CUSTOM_CHECK file="lib/upgradelib.php" function="check_database_tables_row_format" level="optional">
<FEEDBACK>
<ON_CHECK message="unsupporteddbtablerowformat" />
</FEEDBACK>
</CUSTOM_CHECK>
<CUSTOM_CHECK file="lib/upgradelib.php" function="check_unoconv_version" level="optional">
<FEEDBACK>
<ON_CHECK message="unoconvwarning" />
</FEEDBACK>
</CUSTOM_CHECK>
<CUSTOM_CHECK file="lib/upgradelib.php" function="check_libcurl_version" level="optional">
<FEEDBACK>
<ON_CHECK message="libcurlwarning" />
</FEEDBACK>
</CUSTOM_CHECK>
<CUSTOM_CHECK file="lib/upgradelib.php" function="check_mysql_file_format" level="required">
<FEEDBACK>
<ON_ERROR message="unsupporteddbfileformat" />
</FEEDBACK>
</CUSTOM_CHECK>
<CUSTOM_CHECK file="lib/upgradelib.php" function="check_mysql_file_per_table" level="required">
<FEEDBACK>
<ON_ERROR message="unsupporteddbfilepertable" />
</FEEDBACK>
</CUSTOM_CHECK>
<CUSTOM_CHECK file="lib/upgradelib.php" function="check_mysql_large_prefix" level="required">
<FEEDBACK>
<ON_ERROR message="unsupporteddblargeprefix" />
</FEEDBACK>
</CUSTOM_CHECK>
<CUSTOM_CHECK file="lib/upgradelib.php" function="check_is_https" level="optional">
<FEEDBACK>
<ON_CHECK message="ishttpswarning" />
</FEEDBACK>
</CUSTOM_CHECK>
<CUSTOM_CHECK file="lib/upgradelib.php" function="check_mysql_incomplete_unicode_support" level="optional">
<FEEDBACK>
<ON_CHECK message="incompleteunicodesupport" />
</FEEDBACK>
</CUSTOM_CHECK>
<CUSTOM_CHECK file="lib/upgradelib.php" function="check_sixtyfour_bits" level="required">
<FEEDBACK>
<ON_ERROR message="sixtyfourbitsrequired" />
</FEEDBACK>
</CUSTOM_CHECK>
<CUSTOM_CHECK file="lib/upgradelib.php" function="check_max_input_vars" level="optional">
</CUSTOM_CHECK>
<CUSTOM_CHECK file="lib/upgradelib.php" function="check_admin_dir_usage" level="optional">
<FEEDBACK>
<ON_CHECK message="iscustomadminwarnings" />
</FEEDBACK>
</CUSTOM_CHECK>
<CUSTOM_CHECK file="lib/upgradelib.php" function="check_xmlrpc_usage" level="optional">
</CUSTOM_CHECK>
<CUSTOM_CHECK file="lib/upgradelib.php" function="check_mod_assignment" level="required">
</CUSTOM_CHECK>
<CUSTOM_CHECK file="lib/upgradelib.php" function="check_db_prefix_length" level="required">
</CUSTOM_CHECK>
<CUSTOM_CHECK file="lib/upgradelib.php" function="check_async_backup" level="recommended">
</CUSTOM_CHECK>
</CUSTOM_CHECKS>
</MOODLE>
</COMPATIBILITY_MATRIX>
+1 -1
View File
@@ -30,7 +30,7 @@ require_once($CFG->libdir . '/tablelib.php');
admin_externalpage_setup('hooksoverview');
require_capability('moodle/site:config', \core\context\system::instance());
$hookmanager = \core\hook\manager::get_instance();
$hookmanager = \core\di::get(\core\hook\manager::class);
echo $OUTPUT->header();
echo $OUTPUT->heading(get_string('hooksoverview', 'core_admin'));
-7
View File
@@ -40,13 +40,6 @@ if (!function_exists('iconv')) {
die();
}
// Make sure php5-json is available.
if (!function_exists('json_encode') || !function_exists('json_decode')) {
// This also shouldn't happen.
echo 'Moodle requires the json PHP extension. Please install or enable the json extension.';
die();
}
// Make sure xml extension is available.
if (!extension_loaded('xml')) {
echo 'Moodle requires the xml PHP extension. Please install or enable the xml extension.';
+1 -69
View File
@@ -43,61 +43,6 @@ $providers = get_message_providers();
$preferences = get_message_output_default_preferences();
if (($form = data_submitted()) && confirm_sesskey()) {
$newpreferences = array();
// Prepare default message outputs settings.
foreach ($providers as $provider) {
$componentproviderbase = $provider->component.'_'.$provider->name;
$disableprovidersetting = $componentproviderbase.'_disable';
if (!isset($form->$disableprovidersetting)) {
$newpreferences[$disableprovidersetting] = 1;
} else {
$newpreferences[$disableprovidersetting] = 0;
}
$componentprovidersetting = $componentproviderbase.'_locked';
foreach ($processors as $processor) {
$value = 0;
if (isset($form->{$componentprovidersetting}[$processor->name])) {
$value = $form->{$componentprovidersetting}[$processor->name];
if ($value == 'on') {
$value = 1;
}
}
// Record the site preference.
$newpreferences[$processor->name.'_provider_'.$componentprovidersetting] = $value;
}
$componentprovidersetting = $componentproviderbase.'_enabled';
$newsettings = [];
if (isset($form->$componentprovidersetting)) {
// Store defined comma-separated processors as setting value.
// Using array_filter eliminates elements set to 0 above.
$newsettings = array_keys(array_filter($form->{$componentprovidersetting}));
}
// Let's join existing setting values for disabled processors.
$property = 'message_provider_'.$componentprovidersetting;
if (property_exists($preferences, $property)) {
$existingsetting = $preferences->$property;
foreach ($disabledprocessors as $disable) {
if (strpos($existingsetting, $disable->name) > -1) {
$newsettings[] = $disable->name;
}
}
}
$value = join(',', $newsettings);
if (empty($value)) {
$value = null;
}
// Record the site preference.
$newpreferences['message_provider_'.$componentprovidersetting] = $value;
}
// Update database.
$transaction = $DB->start_delegated_transaction();
// Save processors enabled/disabled status.
foreach ($allprocessors as $processor) {
@@ -106,24 +51,11 @@ if (($form = data_submitted()) && confirm_sesskey()) {
$class::enable_plugin($processor->name, $enabled);
}
foreach ($newpreferences as $name => $value) {
$old = isset($preferences->$name) ? $preferences->$name : '';
if ($old != $value) {
add_to_config_log($name, $old, $value, 'core');
}
set_config($name, $value, 'message');
}
$transaction->allow_commit();
core_plugin_manager::reset_caches();
$url = new moodle_url('message.php');
redirect($url);
}
// Page settings
// Page settings.
$PAGE->set_context(context_system::instance());
$renderer = $PAGE->get_renderer('core', 'message');
+2 -1
View File
@@ -91,7 +91,8 @@ if (!empty($hostid) && array_key_exists($hostid, $hosts)) {
// this query is horrible and has to be remapped afterwards, because of the non-uniqueness
// of the remoterep service (it has two plugins so far that use it)
// it's possible to get a unique list back using a subquery with LIMIT but that would break oracle
// so it's best to just do this small query and then remap the results afterwards
// so it's best to just do this small query and then remap the results afterwards.
// TODO: Optimise the query, as Oracle-specific constraints no longer apply.
$sql = '
SELECT DISTINCT
' . $DB->sql_concat('r.plugintype', "'_'", 'r.pluginname', "'_'", 's.name') . ' AS uniqueid,
+4 -7
View File
@@ -29,8 +29,6 @@ require_once($CFG->libdir . '/adminlib.php');
require_once($CFG->libdir . '/filelib.php');
$fetchupdates = optional_param('fetchupdates', false, PARAM_BOOL); // Check for available plugins updates.
$updatesonly = optional_param('updatesonly', false, PARAM_BOOL); // Show updateable plugins only.
$contribonly = optional_param('contribonly', false, PARAM_BOOL); // Show additional plugins only.
$uninstall = optional_param('uninstall', '', PARAM_COMPONENT); // Uninstall the plugin.
$delete = optional_param('delete', '', PARAM_COMPONENT); // Delete the plugin folder after it is uninstalled.
$confirmed = optional_param('confirm', false, PARAM_BOOL); // Confirm the uninstall/delete action.
@@ -47,8 +45,7 @@ require_admin();
$syscontext = context_system::instance();
// URL params we want to maintain on redirects.
$pageparams = array('updatesonly' => $updatesonly, 'contribonly' => $contribonly);
$pageurl = new moodle_url('/admin/plugins.php', $pageparams);
$pageurl = new moodle_url('/admin/plugins.php');
$pluginman = core_plugin_manager::instance();
@@ -57,7 +54,7 @@ $PAGE->set_primary_active_tab('siteadminnode');
if ($uninstall) {
if (!$confirmed) {
admin_externalpage_setup('pluginsoverview', '', $pageparams);
admin_externalpage_setup('pluginsoverview');
} else {
$PAGE->set_url($pageurl);
$PAGE->set_context($syscontext);
@@ -201,7 +198,7 @@ if ($installupdate and $installupdateversion) {
}
}
admin_externalpage_setup('pluginsoverview', '', $pageparams);
admin_externalpage_setup('pluginsoverview');
/** @var core_admin_renderer $output */
$output = $PAGE->get_renderer('core', 'admin');
@@ -214,4 +211,4 @@ if ($fetchupdates) {
redirect($PAGE->url);
}
echo $output->plugin_management_page($pluginman, $checker, $pageparams);
echo $output->plugin_management_page($pluginman, $checker);
+12
View File
@@ -0,0 +1,12 @@
# core_adminpresets (subsystem) Upgrade notes
## 5.0
### Removed
- Remove chat and survey from Adminpresets.
For more information see [MDL-82457](https://tracker.moodle.org/browse/MDL-82457)
- Removed block_mnet_hosts from admin presets
For more information see [MDL-84309](https://tracker.moodle.org/browse/MDL-84309)
+5 -11
View File
@@ -193,14 +193,12 @@ class helper {
// Set Activity chooser tabs to "Starred, Recommended, All".
static::add_item($presetid, 'activitychoosertabmode', '4');
// Modules: Hide chat, database, external tool (lti), IMS content package (imscp), lesson, SCORM, survey, wiki, workshop.
static::add_plugin($presetid, 'mod', 'chat', false);
// Modules: Hide database, external tool (lti), IMS content package (imscp), lesson, SCORM, wiki, workshop.
static::add_plugin($presetid, 'mod', 'data', false);
static::add_plugin($presetid, 'mod', 'lti', false);
static::add_plugin($presetid, 'mod', 'imscp', false);
static::add_plugin($presetid, 'mod', 'lesson', false);
static::add_plugin($presetid, 'mod', 'scorm', false);
static::add_plugin($presetid, 'mod', 'survey', false);
static::add_plugin($presetid, 'mod', 'wiki', false);
static::add_plugin($presetid, 'mod', 'workshop', false);
@@ -209,7 +207,7 @@ class helper {
static::add_plugin($presetid, 'availability', 'profile', false);
// Blocks: Hide Activities, Blog menu, Blog tags, Comments, Course completion status, Courses, Flickr,
// Global search, Latest badges, Learning plans, Logged in user, Login, Main menu, Mentees, Network servers, Online users,
// Global search, Latest badges, Learning plans, Logged in user, Login, Main menu, Mentees, Online users,
// Private files, Recent blog entries, Recently accessed courses, Search forums, Section links, Social activities,
// Starred courses, Tags, YouTube.
// Hidden by default: Course/site summary, RSS feeds, Self completion, Feedback.
@@ -228,7 +226,6 @@ class helper {
static::add_plugin($presetid, 'block', 'login', false);
static::add_plugin($presetid, 'block', 'site_main_menu', false);
static::add_plugin($presetid, 'block', 'mentees', false);
static::add_plugin($presetid, 'block', 'mnet_hosts', false);
static::add_plugin($presetid, 'block', 'private_files', false);
static::add_plugin($presetid, 'block', 'blog_recent', false);
static::add_plugin($presetid, 'block', 'rss_client', false);
@@ -292,7 +289,7 @@ class helper {
static::add_item($presetid, 'enablenotes', '1');
static::add_item($presetid, 'enableblogs', '1');
static::add_item($presetid, 'enablebadges', '1');
static::add_item($presetid, 'enableanalytics', '1');
static::add_item($presetid, 'enableanalytics', '0');
static::add_item($presetid, 'enabled', '1', 'core_competency');
static::add_item($presetid, 'pushcourseratingstouserplans', '1', 'core_competency');
static::add_item($presetid, 'showdataretentionsummary', '1', 'tool_dataprivacy');
@@ -301,14 +298,12 @@ class helper {
// Set Activity chooser tabs to the default value ("Starred, Recommended, All, Activities, Resources").
static::add_item($presetid, 'activitychoosertabmode', '3');
// Modules: Enable chat, database, external tool (lti), IMS content package (imscp), lesson, SCORM, survey, wiki, workshop.
static::add_plugin($presetid, 'mod', 'chat', true);
// Modules: Enable database, external tool (lti), IMS content package (imscp), lesson, SCORM, wiki, workshop.
static::add_plugin($presetid, 'mod', 'data', true);
static::add_plugin($presetid, 'mod', 'lti', true);
static::add_plugin($presetid, 'mod', 'imscp', true);
static::add_plugin($presetid, 'mod', 'lesson', true);
static::add_plugin($presetid, 'mod', 'scorm', true);
static::add_plugin($presetid, 'mod', 'survey', true);
static::add_plugin($presetid, 'mod', 'wiki', true);
static::add_plugin($presetid, 'mod', 'workshop', true);
@@ -317,7 +312,7 @@ class helper {
static::add_plugin($presetid, 'availability', 'profile', true);
// Blocks: Enable Activities, Blog menu, Blog tags, Comments, Course completion status, Courses, Flickr,
// Global search, Latest badges, Learning plans, Logged in user, Login, Main menu, Mentees, Network servers, Online users,
// Global search, Latest badges, Learning plans, Logged in user, Login, Main menu, Mentees, Online users,
// Private files, Recent blog entries, Recently accessed courses, Search forums, Section links, Social activities,
// Starred courses, Tags, YouTube.
// Hidden by default: Course/site summary, RSS feeds, Self completion, Feedback.
@@ -335,7 +330,6 @@ class helper {
static::add_plugin($presetid, 'block', 'login', true);
static::add_plugin($presetid, 'block', 'site_main_menu', true);
static::add_plugin($presetid, 'block', 'mentees', true);
static::add_plugin($presetid, 'block', 'mnet_hosts', true);
static::add_plugin($presetid, 'block', 'private_files', true);
static::add_plugin($presetid, 'block', 'blog_recent', true);
static::add_plugin($presetid, 'block', 'search_forums', true);
+7 -2
View File
@@ -761,8 +761,8 @@ class manager {
public function delete_preset(int $presetid): void {
global $DB;
// Check the preset exists.
$preset = $DB->get_record('adminpresets', ['id' => $presetid]);
// Check the preset exists (cannot delete the pre-installed core "Starter" and "Full" presets).
$preset = $DB->get_record('adminpresets', ['id' => $presetid, 'iscore' => self::NONCORE_PRESET]);
if (!$preset) {
throw new moodle_exception('errordeleting', 'core_adminpresets');
}
@@ -1133,6 +1133,11 @@ class manager {
'visiblevalue' => $visiblevalue,
];
if ($plugininfo && $plugininfo->is_deprecated()) {
$skipped[] = $data;
continue;
}
if ($pluginclass == '\core\plugininfo\orphaned') {
$skipped[] = $data;
continue;
+2 -2
View File
@@ -41,7 +41,7 @@ class provider implements
* @param collection $collection A list of information about this component
* @return collection The collection object filled out with information about this component.
*/
public static function get_metadata(collection $collection) : collection {
public static function get_metadata(collection $collection): collection {
// These tables are really data about site configuration and not user data.
// The adminpresets includes information about which user performed a configuration change using the admin_presets
@@ -74,7 +74,7 @@ class provider implements
* @param int $userid The user to search.
* @return contextlist $contextlist The contextlist containing the list of contexts used in this plugin.
*/
public static function get_contexts_for_userid(int $userid) : contextlist {
public static function get_contexts_for_userid(int $userid): contextlist {
return new contextlist();
}
+2 -2
View File
@@ -1,7 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
<PRESET>
<NAME>Imported preset</NAME>
<COMMENTS>&lt;p dir="ltr" style="text-align:left;"&gt;Porfolios enabled, Emojipicker enabled, Lesson media width set to 900 and maxanswers set to 2 and disabled advanced. Plugins: disabled block_html, mod_database and mod_chat plugins and enabled atto_html, block_activity_modules and mod_lesson.&lt;/p&gt;</COMMENTS>
<COMMENTS>&lt;p dir="ltr" style="text-align:left;"&gt;Porfolios enabled, Emojipicker enabled, Lesson media width set to 900 and maxanswers set to 2 and disabled advanced. Plugins: disabled block_html, mod_database and mod_page plugins and enabled atto_html, block_activity_modules and mod_lesson.&lt;/p&gt;</COMMENTS>
<PRESET_DATE>1631615985</PRESET_DATE>
<SITE_URL>http://demo.moodle</SITE_URL>
<AUTHOR>Ada Lovelace</AUTHOR>
@@ -30,7 +30,7 @@
<ACTIVITY_MODULES>1</ACTIVITY_MODULES>
</BLOCK>
<MOD>
<CHAT>0</CHAT>
<PAGE>0</PAGE>
<DATA>0</DATA>
<LESSON>1</LESSON>
</MOD>
+2 -2
View File
@@ -1,7 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
<PRESET>
<NAME>Starter</NAME>
<COMMENTS>&lt;p dir="ltr" style="text-align:left;"&gt;Badges disabled, Emojipicker enabled, Lesson media width set to 900 and maxanswers set to 2 and disabled advanced. Plugins: disabled block_html, mod_database and mod_chat plugins and enabled atto_html and block_activity_modules.&lt;/p&gt;</COMMENTS>
<COMMENTS>&lt;p dir="ltr" style="text-align:left;"&gt;Badges disabled, Emojipicker enabled, Lesson media width set to 900 and maxanswers set to 2 and disabled advanced. Plugins: disabled block_html, mod_database and mod_page plugins and enabled atto_html and block_activity_modules.&lt;/p&gt;</COMMENTS>
<PRESET_DATE>1631615985</PRESET_DATE>
<SITE_URL>http://demo.moodle</SITE_URL>
<AUTHOR>Ada Lovelace</AUTHOR>
@@ -30,7 +30,7 @@
<ACTIVITY_MODULES>1</ACTIVITY_MODULES>
</BLOCK>
<MOD>
<CHAT>0</CHAT>
<PAGE>0</PAGE>
<DATA>0</DATA>
<LESSON>1</LESSON>
</MOD>
-2
View File
@@ -227,7 +227,6 @@ class core_adminpresets_generator extends \component_generator_base {
public function access_protected($object, string $property) {
$reflection = new ReflectionClass($object);
$property = $reflection->getProperty($property);
$property->setAccessible(true);
return $property->getValue($object);
}
@@ -244,7 +243,6 @@ class core_adminpresets_generator extends \component_generator_base {
// Set method accessibility.
$method = new ReflectionMethod(manager::class, 'get_setting');
$method->setAccessible(true);
// Get the proper adminpresets_setting instance.
$settingpage = $adminroot->locate($category);
+2 -2
View File
@@ -25,7 +25,7 @@ namespace core_adminpresets;
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
* @coversDefaultClass core_adminpresets_generator
*/
class generator_test extends \advanced_testcase {
final class generator_test extends \advanced_testcase {
/**
* Test the behaviour of create_preset() method.
@@ -180,7 +180,7 @@ class generator_test extends \advanced_testcase {
*
* @return array
*/
public function create_preset_provider(): array {
public static function create_preset_provider(): array {
return [
'Default values' => [
],
+15 -12
View File
@@ -23,9 +23,9 @@ namespace core_adminpresets;
* @category test
* @copyright 2021 Sara Arjona (sara@moodle.com)
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
* @coversDefaultClass helper
* @coversDefaultClass \core_adminpresets\helper
*/
class helper_test extends \advanced_testcase {
final class helper_test extends \advanced_testcase {
/**
* Test the behaviour of create_preset() method.
@@ -84,7 +84,7 @@ class helper_test extends \advanced_testcase {
*
* @return array
*/
public function create_preset_provider(): array {
public static function create_preset_provider(): array {
return [
'Default values' => [
],
@@ -177,7 +177,7 @@ class helper_test extends \advanced_testcase {
*
* @return array
*/
public function add_item_provider(): array {
public static function add_item_provider(): array {
return [
'Setting without plugin' => [
'name' => 'settingname',
@@ -239,7 +239,7 @@ class helper_test extends \advanced_testcase {
*
* @return array
*/
public function add_plugin_provider(): array {
public static function add_plugin_provider(): array {
return [
'Plugin: enabled (using int)' => [
'type' => 'plugintype',
@@ -285,12 +285,15 @@ class helper_test extends \advanced_testcase {
// We need to change some of the default values; otherwise, the full preset won't be applied, because all the settings
// and plugins are the same.
set_config('enableanalytics', '0');
set_config('enableanalytics', '1');
$generator = $this->getDataGenerator()->get_plugin_generator('core_adminpresets');
$generator->create_preset(['name' => 'Preset 1']);
$invokable = self::get_invokable();
set_error_handler($invokable, E_WARNING);
$presetid = helper::change_default_preset($preset);
restore_error_handler();
if (empty($settings) && empty($plugins)) {
// The preset hasn't been applied.
@@ -321,7 +324,7 @@ class helper_test extends \advanced_testcase {
*
* @return array
*/
public function change_default_preset_provider(): array {
public static function change_default_preset_provider(): array {
return [
'Starter preset' => [
'preset' => 'starter',
@@ -331,7 +334,7 @@ class helper_test extends \advanced_testcase {
],
'plugins' => [
'assign' => 1,
'chat' => 0,
'wiki' => 0,
'data' => 0,
'lesson' => 0,
],
@@ -344,7 +347,7 @@ class helper_test extends \advanced_testcase {
],
'plugins' => [
'assign' => 1,
'chat' => 1,
'book' => 1,
'data' => 1,
'lesson' => 1,
],
@@ -364,20 +367,20 @@ class helper_test extends \advanced_testcase {
'preset' => 'unexisting',
],
'Valid XML file' => [
'preset' => __DIR__ . '/fixtures/import_settings_plugins.xml',
'preset' => self::get_fixture_path(__NAMESPACE__, 'import_settings_plugins.xml'),
'settings' => [
'allowemojipicker' => 1,
'enableportfolios' => 1,
],
'plugins' => [
'assign' => 1,
'chat' => 0,
'page' => 0,
'data' => 0,
'lesson' => 1,
],
],
'Invalid XML file' => [
'preset' => __DIR__ . '/fixtures/invalid_xml_file.xml',
'preset' => self::get_fixture_path(__NAMESPACE__, 'invalid_xml_file.xml'),
],
'Unexisting XML file' => [
'preset' => __DIR__ . '/fixtures/unexisting.xml',
@@ -25,7 +25,7 @@ namespace core_adminpresets\local\setting;
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
* @coversDefaultClass \core_adminpresets\local\setting\adminpresets_admin_setting_bloglevel
*/
class adminpresets_admin_setting_bloglevel_test extends \advanced_testcase {
final class adminpresets_admin_setting_bloglevel_test extends \advanced_testcase {
/**
* Test the behaviour of save_value() method.
@@ -72,18 +72,18 @@ class adminpresets_admin_setting_bloglevel_test extends \advanced_testcase {
*
* @return array
*/
public function save_value_provider(): array {
public static function save_value_provider(): array {
return [
'Save the bloglevel and set blog_menu block visibility to true' => [
'setttingvalue' => BLOG_USER_LEVEL,
'settingvalue' => BLOG_USER_LEVEL,
'expectedsaved' => true,
],
'Same value to bloglevel, so it will not be saved' => [
'setttingvalue' => BLOG_SITE_LEVEL,
'settingvalue' => BLOG_SITE_LEVEL,
'expectedsaved' => false,
],
'Save the bloglevel and set blog_menu block visibility to false' => [
'setttingvalue' => 0,
'settingvalue' => 0,
'expectedsaved' => true,
],
];
@@ -25,7 +25,7 @@ namespace core_adminpresets\local\setting;
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
* @coversDefaultClass \core_adminpresets\local\setting\adminpresets_admin_setting_sitesettext
*/
class adminpresets_admin_setting_sitesettext_test extends \advanced_testcase {
final class adminpresets_admin_setting_sitesettext_test extends \advanced_testcase {
/**
* Test the behaviour of save_value() method.
@@ -66,26 +66,26 @@ class adminpresets_admin_setting_sitesettext_test extends \advanced_testcase {
*
* @return array
*/
public function save_value_provider(): array {
public static function save_value_provider(): array {
return [
'Fullname: different value' => [
'settingname' => 'fullname',
'setttingvalue' => 'New site fullname',
'settingvalue' => 'New site fullname',
'expectedsaved' => true,
],
'Fullname: same value' => [
'settingname' => 'fullname',
'setttingvalue' => 'PHPUnit test site',
'settingvalue' => 'PHPUnit test site',
'expectedsaved' => false,
],
'Summary: different value' => [
'settingname' => 'summary',
'setttingvalue' => 'This is a new site summary.',
'settingvalue' => 'This is a new site summary.',
'expectedsaved' => true,
],
'Summary: same value' => [
'settingname' => 'summary',
'setttingvalue' => '',
'settingvalue' => '',
'expectedsaved' => false,
],
];
@@ -25,7 +25,7 @@ namespace core_adminpresets\local\setting;
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
* @coversDefaultClass \core_adminpresets\local\setting\adminpresets_setting
*/
class adminpresets_setting_test extends \advanced_testcase {
final class adminpresets_setting_test extends \advanced_testcase {
/**
* Test the behaviour of save_value() method.
@@ -77,34 +77,34 @@ class adminpresets_setting_test extends \advanced_testcase {
*
* @return array
*/
public function save_value_provider(): array {
public static function save_value_provider(): array {
return [
'Core setting with the same value is not saved' => [
'category' => 'optionalsubsystems',
'settingplugin' => 'core',
'settingname' => 'enablebadges',
'setttingvalue' => '1',
'settingvalue' => '1',
'expectedsaved' => false,
],
'Core setting with a different value is saved' => [
'category' => 'optionalsubsystems',
'settingplugin' => 'core',
'settingname' => 'enablebadges',
'setttingvalue' => '0',
'settingvalue' => '0',
'expectedsaved' => true,
],
'Plugin setting with the same value is not saved' => [
'category' => 'modsettinglesson',
'settingplugin' => 'mod_lesson',
'settingname' => 'mediawidth',
'setttingvalue' => '640',
'settingvalue' => '640',
'expectedsaved' => false,
],
'Plugin setting with different value is saved' => [
'category' => 'modsettinglesson',
'settingplugin' => 'mod_lesson',
'settingname' => 'mediawidth',
'setttingvalue' => '900',
'settingvalue' => '900',
'expectedsaved' => true,
],
];
@@ -167,14 +167,14 @@ class adminpresets_setting_test extends \advanced_testcase {
*
* @return array
*/
public function save_attributes_values_provider(): array {
public static function save_attributes_values_provider(): array {
return [
'Plugin setting with the same value is not saved' => [
'category' => 'modsettinglesson',
'settingplugin' => 'mod_lesson',
'settingname' => 'maxanswers',
'advsettingname' => 'maxanswers_adv',
'advsetttingvalue' => '1',
'advsettingvalue' => '1',
'expectedsaved' => false,
],
'Plugin setting with different value is saved' => [
@@ -182,7 +182,7 @@ class adminpresets_setting_test extends \advanced_testcase {
'settingplugin' => 'mod_lesson',
'settingname' => 'maxanswers',
'advsettingname' => 'maxanswers_adv',
'advsetttingvalue' => '0',
'advsettingvalue' => '0',
'expectedsaved' => true,
],
'Plugin setting without advanced attributes are not saved' => [
@@ -190,7 +190,7 @@ class adminpresets_setting_test extends \advanced_testcase {
'settingplugin' => 'mod_lesson',
'settingname' => 'maxanswers',
'advsettingname' => null,
'advsetttingvalue' => '0',
'advsettingvalue' => '0',
'expectedsaved' => false,
],
];
+95 -14
View File
@@ -16,6 +16,7 @@
namespace core_adminpresets;
use moodle_exception;
use stdClass;
/**
@@ -27,7 +28,16 @@ use stdClass;
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
* @coversDefaultClass \core_adminpresets\manager
*/
class manager_test extends \advanced_testcase {
final class manager_test extends \advanced_testcase {
/**
* Include required libraries.
*/
public static function setUpBeforeClass(): void {
global $CFG;
require_once($CFG->libdir.'/adminlib.php');
parent::setUpBeforeClass();
}
/**
* Test the behaviour of protected get_site_settings method.
*
@@ -358,7 +368,7 @@ class manager_test extends \advanced_testcase {
*
* @return array
*/
public function export_preset_provider(): array {
public static function export_preset_provider(): array {
return [
'Export settings and plugins, excluding sensible' => [
'includesensible' => false,
@@ -414,7 +424,7 @@ class manager_test extends \advanced_testcase {
* @param string|null $expectedpresetname Expected preset name.
*/
public function test_import_preset(string $filecontents, bool $expectedpreset, bool $expectedsettings = false,
bool $expectedplugins = false, bool $expecteddebugging = false, string $expectedexception = null,
bool $expectedplugins = false, bool $expecteddebugging = false, ?string $expectedexception = null,
string $expectedpresetname = 'Imported preset'): void {
global $DB;
@@ -428,7 +438,10 @@ class manager_test extends \advanced_testcase {
// Call the method to be tested.
$manager = new manager();
try {
$invokable = self::get_invokable();
set_error_handler($invokable, E_WARNING);
list($xml, $preset, $settingsfound, $pluginsfound) = $manager->import_preset($filecontents);
restore_error_handler();
} catch (\exception $e) {
if ($expectedexception) {
$this->assertInstanceOf($expectedexception, $e);
@@ -496,7 +509,7 @@ class manager_test extends \advanced_testcase {
'activity_modules' => 1,
],
'mod' => [
'chat' => 0,
'page' => 0,
'data' => 0,
'lesson' => 1,
],
@@ -521,26 +534,32 @@ class manager_test extends \advanced_testcase {
*
* @return array
*/
public function import_preset_provider(): array {
public static function import_preset_provider(): array {
return [
'Import settings from an empty file' => [
'filecontents' => '',
'expectedpreset' => false,
],
'Import settings and plugins from a valid XML file' => [
'filecontents' => file_get_contents(__DIR__ . '/fixtures/import_settings_plugins.xml'),
'filecontents' => file_get_contents(
filename: self::get_fixture_path(__NAMESPACE__, 'import_settings_plugins.xml')
),
'expectedpreset' => true,
'expectedsettings' => true,
'expectedplugins' => true,
],
'Import only settings from a valid XML file' => [
'filecontents' => file_get_contents(__DIR__ . '/fixtures/import_settings.xml'),
'filecontents' => file_get_contents(
filename: self::get_fixture_path(__NAMESPACE__, 'import_settings.xml')
),
'expectedpreset' => true,
'expectedsettings' => true,
'expectedplugins' => false,
],
'Import settings and plugins from a valid XML file with Starter name, which will be marked as non-core' => [
'filecontents' => file_get_contents(__DIR__ . '/fixtures/import_starter_name.xml'),
'filecontents' => file_get_contents(
filename: self::get_fixture_path(__NAMESPACE__, 'import_starter_name.xml')
),
'expectedpreset' => true,
'expectedsettings' => true,
'expectedplugins' => true,
@@ -549,7 +568,9 @@ class manager_test extends \advanced_testcase {
'expectedpresetname' => 'Starter',
],
'Import settings from an invalid XML file' => [
'filecontents' => file_get_contents(__DIR__ . '/fixtures/invalid_xml_file.xml'),
'filecontents' => file_get_contents(
filename: self::get_fixture_path(__NAMESPACE__, 'invalid_xml_file.xml')
),
'expectedpreset' => false,
'expectedsettings' => false,
'expectedplugins' => false,
@@ -557,20 +578,26 @@ class manager_test extends \advanced_testcase {
'expectedexception' => \Exception::class,
],
'Import unexisting settings category' => [
'filecontents' => file_get_contents(__DIR__ . '/fixtures/unexisting_category.xml'),
'filecontents' => file_get_contents(
filename: self::get_fixture_path(__NAMESPACE__, 'unexisting_category.xml')
),
'expectedpreset' => false,
'expectedsettings' => false,
'expectedplugins' => false,
],
'Import unexisting setting' => [
'filecontents' => file_get_contents(__DIR__ . '/fixtures/unexisting_setting.xml'),
'filecontents' => file_get_contents(
filename: self::get_fixture_path(__NAMESPACE__, 'unexisting_setting.xml')
),
'expectedpreset' => false,
'expectedsettings' => false,
'expectedplugins' => false,
'expecteddebugging' => true,
],
'Import valid settings with one unexisting setting too' => [
'filecontents' => file_get_contents(__DIR__ . '/fixtures/import_settings_with_unexisting_setting.xml'),
'filecontents' => file_get_contents(
filename: self::get_fixture_path(__NAMESPACE__, 'import_settings_with_unexisting_setting.xml'),
),
'expectedpreset' => true,
'expectedsettings' => false,
'expectedplugins' => false,
@@ -579,7 +606,6 @@ class manager_test extends \advanced_testcase {
];
}
/**
* Test the behaviour of delete_preset() method when the preset id doesn't exist.
*
@@ -599,10 +625,28 @@ class manager_test extends \advanced_testcase {
$manager = new manager();
$this->expectException(\moodle_exception::class);
$this->expectException(moodle_exception::class);
$this->expectExceptionMessage('Error deleting from database');
$manager->delete_preset($unexistingid);
}
/**
* Test trying to delete the core/pre-defined presets
*
* @covers ::delete_preset
*/
public function test_delete_preset_core(): void {
global $DB;
$this->resetAfterTest();
$starterpreset = $DB->get_record('adminpresets', ['iscore' => manager::STARTER_PRESET]);
$this->expectException(moodle_exception::class);
$this->expectExceptionMessage('Error deleting from database');
(new manager())->delete_preset($starterpreset->id);
}
/**
* Test the behaviour of delete_preset() method.
*
@@ -768,4 +812,41 @@ class manager_test extends \advanced_testcase {
$enabledplugins = \core\plugininfo\qtype::get_enabled_plugins();
$this->assertArrayHasKey('truefalse', $enabledplugins);
}
/**
* Test apply_preset for a deprecated plugin type.
*
* @runInSeparateProcess
*
* @covers ::apply_preset
* @return void
*/
public function test_apply_preset_deprecated_plugintype(): void {
global $CFG;
$this->resetAfterTest();
// Create a preset.
$generator = $this->getDataGenerator()->get_plugin_generator('core_adminpresets');
$presetid = $generator->create_preset();
// Add a mock plugin into the preset. This plugin will be mocked and deprecated below.
helper::add_plugin($presetid, 'fake', 'fullfeatured', true);
// Inject the mock plugin type + plugin, and deprecate it.
$this->add_mocked_plugintype('fake', "$CFG->libdir/tests/fixtures/fakeplugins/fake", true);
$this->add_mocked_plugin('fake', 'fullfeatured', $CFG->libdir . '/tests/fixtures/fakeplugins/fake/fullfeatured');
// Pre-flight check to ensure that the plugin is deprecated.
$pluginman = \core\plugin_manager::instance();
$plugininfo = $pluginman->get_plugin_info('fake_fullfeatured');
// Expected, unit-test-only debugging, since \core\plugin_manager isn't aware of the mock plugininfo class for this type.
$this->assertDebuggingCalled();
$this->assertTrue($plugininfo->is_deprecated());
// Finally, check apply_preset method, verifying the deprecated plugin is skipped.
$manager = new manager();
[$applied, $skipped] = $manager->apply_preset($presetid);
$this->assertdebuggingcalledcount(2); // Expected unit-test-only debugging, as above.
$this->assertContains('fake', array_column($skipped, 'plugin'));
}
}
@@ -30,13 +30,13 @@ use core_privacy\tests\provider_testcase;
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
* @coversDefaultClass \core_adminpresets\privacy\provider
*/
class privacy_provider_test extends provider_testcase {
final class privacy_provider_test extends provider_testcase {
/**
* Test for provider::get_metadata().
* @covers ::get_metadata
*/
public function test_get_metadata() {
public function test_get_metadata(): void {
$collection = new collection('core_adminpresets');
$newcollection = provider::get_metadata($collection);
$itemcollection = $newcollection->get_collection();
@@ -49,7 +49,7 @@ class privacy_provider_test extends provider_testcase {
* Test for provider::get_contexts_for_userid() doesn't return any context.
* @covers ::get_contexts_for_userid
*/
public function test_get_contexts_for_userid() {
public function test_get_contexts_for_userid(): void {
global $USER;
$this->resetAfterTest();
@@ -67,7 +67,7 @@ class privacy_provider_test extends provider_testcase {
* Test for provider::get_users_in_context() doesn't return any user.
* @covers ::get_users_in_context
*/
public function test_get_users_in_context() {
public function test_get_users_in_context(): void {
global $USER;
$this->resetAfterTest();
@@ -88,7 +88,7 @@ class privacy_provider_test extends provider_testcase {
* Test for provider::export_user_data().
* @covers ::export_user_data
*/
public function test_export_user_data() {
public function test_export_user_data(): void {
global $USER;
$this->resetAfterTest();
@@ -121,7 +121,7 @@ class privacy_provider_test extends provider_testcase {
* Test for provider::delete_data_for_all_users_in_context().
* @covers ::delete_data_for_all_users_in_context
*/
public function test_delete_data_for_all_users_in_context() {
public function test_delete_data_for_all_users_in_context(): void {
global $DB, $USER;
$this->resetAfterTest();
@@ -146,7 +146,7 @@ class privacy_provider_test extends provider_testcase {
* Test for provider::delete_data_for_user().
* @covers ::delete_data_for_user
*/
public function test_delete_data_for_user() {
public function test_delete_data_for_user(): void {
global $DB, $USER;
$this->resetAfterTest();
-80
View File
@@ -1,80 +0,0 @@
#!/usr/bin/php -f
<?php
//error_reporting(0);
//ini_set('display_errors',0);
require_once(__DIR__ . '/../config.php');
$tmp = explode('@',$_ENV['RECIPIENT']);
$address = $tmp[0];
// BOUNCE EMAILS TO NOREPLY
if ($_ENV['RECIPIENT'] == $CFG->noreplyaddress) {
$user = new stdClass();
$user->email = $_ENV['SENDER'];
if (!validate_email($user->email)) {
die();
}
$site = get_site();
$subject = get_string('noreplybouncesubject','moodle',format_string($site->fullname));
$body = get_string('noreplybouncemessage','moodle',format_string($site->fullname))."\n\n";
$fd = fopen('php://stdin','r');
if ($fd) {
while(!feof($fd)) {
$body .= fgets($fd);
}
fclose($fd);
}
$user->id = 0; // to prevent anything annoying happening
$from->firstname = null;
$from->lastname = null;
$from->email = '<>';
$from->maildisplay = true;
email_to_user($user,$from,$subject,$body);
die ();
}
/// ALL OTHER PROCESSING
// we need to split up the address
$prefix = substr($address,0,4);
$mod = substr($address,4,2);
$modargs = substr($address,6,-16);
$hash = substr($address,-16);
if (substr(md5($prefix.$mod.$modargs.$CFG->siteidentifier),0,16) != $hash) {
die("HASH DIDN'T MATCH!\n");
}
list(,$modid) = unpack('C',base64_decode($mod.'=='));
if ($modid == '0') { // special
$modname = 'moodle';
}
else {
$modname = $DB->get_field("modules", "name", array("id"=>$modid));
include_once('mod/'.$modname.'/lib.php');
}
$function = $modname.'_process_email';
if (!function_exists($function)) {
die();
}
$fd = fopen('php://stdin','r');
if (!$fd) {
exit();
}
while(!feof($fd)) {
$body .= fgets($fd);
}
$function($modargs,$body);
fclose($fd);
+5 -1
View File
@@ -42,7 +42,11 @@ if ($data = $form->get_data()) {
purge_caches();
$message = get_string('purgecachesfinished', 'admin');
} else {
purge_caches($data->purgeselectedoptions);
// When passing selected options, ensure each is cast to boolean for strict comparison.
purge_caches(array_map(
fn($option) => (bool) $option,
$data->purgeselectedoptions,
));
$message = get_string('purgeselectedcachesfinished', 'admin');
}
+10 -5
View File
@@ -34,8 +34,10 @@ admin_externalpage_setup('registrationmoodleorg');
$unregistration = optional_param('unregistration', false, PARAM_BOOL);
$confirm = optional_param('confirm', false, PARAM_BOOL);
// Consider the site 'registered' if records exist locally and at the hub.
$siteisregistered = \core\hub\registration::is_registered() && core\hub\api::is_site_registered_in_hub();
if ($unregistration && \core\hub\registration::is_registered()) {
if ($unregistration && $siteisregistered) {
if ($confirm) {
require_sesskey();
\core\hub\registration::unregister(false, false);
@@ -60,7 +62,7 @@ if (!$returnurl = optional_param('returnurl', null, PARAM_LOCALURL)) {
$returnurl = $isinitialregistration ? '/admin/index.php' : '/admin/registration/index.php';
}
$siteregistrationform = new \core\hub\site_registration_form();
$siteregistrationform = new \core\hub\site_registration_form(null, ['registered' => $siteisregistered]);
$siteregistrationform->set_data(['returnurl' => $returnurl]);
if ($fromform = $siteregistrationform->get_data()) {
@@ -86,7 +88,7 @@ echo $OUTPUT->header();
// Current status of registration.
$notificationtype = \core\output\notification::NOTIFY_ERROR;
if (\core\hub\registration::is_registered()) {
if ($siteisregistered) {
$lastupdated = \core\hub\registration::get_last_updated();
if ($lastupdated == 0) {
$registrationmessage = get_string('pleaserefreshregistrationunknown', 'admin');
@@ -104,7 +106,7 @@ if (\core\hub\registration::is_registered()) {
}
// Heading.
if (\core\hub\registration::is_registered()) {
if ($siteisregistered) {
echo $OUTPUT->heading(get_string('registerwithmoodleorgupdate', 'core_hub'));
} else if ($isinitialregistration) {
echo $OUTPUT->heading(get_string('registerwithmoodleorgcomplete', 'core_hub'));
@@ -117,7 +119,7 @@ echo $renderer->moodleorg_registration_message();
$siteregistrationform->display();
if (\core\hub\registration::is_registered()) {
if ($siteisregistered) {
// Unregister link.
$unregisterhuburl = new moodle_url("/admin/registration/index.php", ['unregistration' => 1]);
echo html_writer::div(html_writer::link($unregisterhuburl, get_string('unregister', 'hub')), 'unregister mt-2');
@@ -125,4 +127,7 @@ if (\core\hub\registration::is_registered()) {
echo html_writer::div(html_writer::link(new moodle_url($returnurl), get_string('skipregistration', 'hub')),
'skipregistration mt-2');
}
$PAGE->requires->js_call_amd('core_admin/expand_hash', 'init');
echo $OUTPUT->footer();
+203 -121
View File
@@ -617,7 +617,7 @@ class core_admin_renderer extends plugin_renderer_base {
* @param bool $croninfrequent
* @return string HTML to output.
*/
public function cron_infrequent_warning(bool $croninfrequent) : string {
public function cron_infrequent_warning(bool $croninfrequent): string {
global $CFG;
if (!$croninfrequent) {
@@ -843,14 +843,14 @@ class core_admin_renderer extends plugin_renderer_base {
$registerbutton = $this->single_button(new moodle_url('/admin/registration/index.php'),
get_string('register', 'admin'));
$str = 'registrationwarning';
$type = 'error alert alert-danger';
} else {
$registerbutton = '';
$str = 'registrationwarningcontactadmin';
$type = 'info';
}
return $this->warning( get_string($str, 'admin')
. '&nbsp;' . $this->help_icon('registration', 'admin') . $registerbutton ,
'error alert alert-danger');
return $this->warning( get_string($str, 'admin') . '&nbsp;' . $registerbutton , $type);
}
return '';
@@ -874,8 +874,8 @@ class core_admin_renderer extends plugin_renderer_base {
protected function mobile_configuration_warning($mobileconfigured) {
$output = '';
if (!$mobileconfigured) {
$settingslink = new moodle_url('/admin/settings.php', ['section' => 'mobilesettings']);
$configurebutton = $this->single_button($settingslink, get_string('enablemobilewebservice', 'admin'));
$settingslink = new moodle_url('/admin/search.php', ['query' => 'enablemobilewebservice']);
$configurebutton = $this->single_button($settingslink, get_string('enablemobilewebservice', 'admin'), 'get');
$output .= $this->warning(get_string('mobilenotconfiguredwarning', 'admin') . '&nbsp;' . $configurebutton);
}
@@ -1004,7 +1004,7 @@ class core_admin_renderer extends plugin_renderer_base {
function upgrade_reload($url) {
return html_writer::empty_tag('br') .
html_writer::tag('div',
html_writer::link($url, $this->pix_icon('i/reload', '', '', array('class' => 'icon icon-pre')) .
html_writer::link($url, $this->pix_icon('i/reload', '', '', ['class' => 'icon']) .
get_string('reload'), array('title' => get_string('reload'))),
array('class' => 'continuebutton')) . html_writer::empty_tag('br');
}
@@ -1024,7 +1024,7 @@ class core_admin_renderer extends plugin_renderer_base {
*/
public function plugins_check_table(core_plugin_manager $pluginman, $version, array $options = array()) {
global $CFG;
$plugininfo = $pluginman->get_plugins();
$plugininfo = $pluginman->get_plugins(true);
if (empty($plugininfo)) {
return '';
@@ -1059,6 +1059,20 @@ class core_admin_renderer extends plugin_renderer_base {
$upgradeabortable = $pluginman->list_restorable_archives();
foreach ($plugininfo as $type => $plugins) {
// Skip deleted plugin types.
if (\core_component::is_deleted_plugin_type($type)) {
continue;
}
// Skip deprecated plugintypes having no installed plugins, in which case there is nothing to report.
if (\core_component::is_deprecated_plugin_type($type)) {
$reportableplugins = array_filter($plugins, function($plugininfo) {
return $plugininfo->versiondb != null;
});
if (empty($reportableplugins)) {
continue;
}
}
$header = new html_table_cell($pluginman->plugintype_name_plural($type));
$header->header = true;
@@ -1107,14 +1121,15 @@ class core_admin_renderer extends plugin_renderer_base {
);
$versiondb = new html_table_cell($plugin->versiondb);
$versiondisk = new html_table_cell($plugin->versiondisk);
$versiondisk = $plugin->is_deprecated() ? new html_table_cell() : new html_table_cell($plugin->versiondisk);
if ($isstandard = $plugin->is_standard()) {
$row->attributes['class'] .= ' standard';
$sourcelabel = html_writer::span(get_string('sourcestd', 'core_plugin'), 'sourcetext badge badge-secondary');
$sourcelabel = html_writer::span(get_string('sourcestd', 'core_plugin'),
'sourcetext badge bg-secondary text-dark');
} else {
$row->attributes['class'] .= ' extension';
$sourcelabel = html_writer::span(get_string('sourceext', 'core_plugin'), 'sourcetext badge badge-info');
$sourcelabel = html_writer::span(get_string('sourceext', 'core_plugin'), 'sourcetext badge bg-info text-white');
}
$coredependency = $plugin->is_core_dependency_satisfied($version);
@@ -1125,26 +1140,41 @@ class core_admin_renderer extends plugin_renderer_base {
$statuscode = $plugin->get_status();
$row->attributes['class'] .= ' status-' . $statuscode;
if ($plugin->is_deprecated()) {
$row->attributes['class'] .= ' deprecatedtype';
}
$statusclass = 'statustext badge ';
switch ($statuscode) {
case core_plugin_manager::PLUGIN_STATUS_NEW:
$statusclass .= $dependenciesok ? 'badge-success' : 'badge-warning';
$statusclass .= $dependenciesok ? 'bg-success text-white' : 'bg-warning text-dark';
break;
case core_plugin_manager::PLUGIN_STATUS_UPGRADE:
$statusclass .= $dependenciesok ? 'badge-info' : 'badge-warning';
$statusclass .= $dependenciesok ? 'bg-info text-white' : 'bg-warning text-dark';
break;
case core_plugin_manager::PLUGIN_STATUS_MISSING:
case core_plugin_manager::PLUGIN_STATUS_DOWNGRADE:
case core_plugin_manager::PLUGIN_STATUS_DELETE:
$statusclass .= 'badge-danger';
$statusclass .= 'bg-danger text-white';
break;
case core_plugin_manager::PLUGIN_STATUS_NODB:
case core_plugin_manager::PLUGIN_STATUS_UPTODATE:
$statusclass .= $dependenciesok ? 'badge-light' : 'badge-warning';
$statusclass .= $dependenciesok ? 'bg-light text-dark' : 'bg-warning text-dark';
break;
}
$status = html_writer::span(get_string('status_' . $statuscode, 'core_plugin'), $statusclass);
$deprecatedstatus = '';
if ($plugin->is_deprecated()) {
// During upgrade, omit the status for deprecated plugin types, unless it's 'missing from disk'.
// Deprecated plugins cannot be installed, upgraded, downgraded, and won't be automatically deleted.
$status = in_array($statuscode,
[core_plugin_manager::PLUGIN_STATUS_MISSING, core_plugin_manager::PLUGIN_STATUS_DELETE]) ? $status : '';
$deprecatedstatus = html_writer::span(
get_string('deprecated_type', 'core_plugin'),
'statustext badge bg-danger text-white'
);
}
if (!empty($installabortable[$plugin->component])) {
$status .= $this->output->single_button(
new moodle_url($this->page->url, array('abortinstall' => $plugin->component, 'confirmplugincheck' => 0)),
@@ -1170,7 +1200,7 @@ class core_admin_renderer extends plugin_renderer_base {
}
}
$status = new html_table_cell($sourcelabel.' '.$status);
$status = new html_table_cell($sourcelabel.' '.$status.' '.$deprecatedstatus);
if ($plugin->pluginsupported != null) {
$requires = new html_table_cell($this->required_column($plugin, $pluginman, $version, $CFG->branch));
} else {
@@ -1178,7 +1208,8 @@ class core_admin_renderer extends plugin_renderer_base {
}
$statusisboring = in_array($statuscode, array(
core_plugin_manager::PLUGIN_STATUS_NODB, core_plugin_manager::PLUGIN_STATUS_UPTODATE));
core_plugin_manager::PLUGIN_STATUS_NODB, core_plugin_manager::PLUGIN_STATUS_UPTODATE))
&& !$plugin->is_deprecated();
if ($options['xdep']) {
// we want to see only plugins with failed dependencies
@@ -1240,7 +1271,7 @@ class core_admin_renderer extends plugin_renderer_base {
new moodle_url($this->page->url, array('installupdatex' => 1)),
get_string('updateavailableinstallall', 'core_admin', count($installableupdates)),
'post',
array('class' => 'singlebutton updateavailableinstallall mr-1')
array('class' => 'singlebutton updateavailableinstallall me-1')
);
}
@@ -1249,7 +1280,7 @@ class core_admin_renderer extends plugin_renderer_base {
new moodle_url($this->page->url, array('abortinstallx' => 1, 'confirmplugincheck' => 0)),
get_string('cancelinstallall', 'core_plugin', count($installabortable)),
'post',
array('class' => 'singlebutton cancelinstallall mr-1')
array('class' => 'singlebutton cancelinstallall me-1')
);
}
@@ -1258,17 +1289,17 @@ class core_admin_renderer extends plugin_renderer_base {
new moodle_url($this->page->url, array('abortupgradex' => 1)),
get_string('cancelupgradeall', 'core_plugin', count($upgradeabortable)),
'post',
array('class' => 'singlebutton cancelupgradeall mr-1')
array('class' => 'singlebutton cancelupgradeall me-1')
);
}
$out .= html_writer::div(html_writer::link(new moodle_url($this->page->url, array('showallplugins' => 0)),
get_string('plugincheckattention', 'core_plugin')).' '.html_writer::span($sumattention, 'badge badge-light'),
'btn btn-link mr-1');
get_string('plugincheckattention', 'core_plugin')).' '.html_writer::span($sumattention, 'badge bg-light text-dark'),
'btn btn-link me-1');
$out .= html_writer::div(html_writer::link(new moodle_url($this->page->url, array('showallplugins' => 1)),
get_string('plugincheckall', 'core_plugin')).' '.html_writer::span($sumtotal, 'badge badge-light'),
'btn btn-link mr-1');
get_string('plugincheckall', 'core_plugin')).' '.html_writer::span($sumtotal, 'badge bg-light text-dark'),
'btn btn-link me-1');
$out .= $this->output->container_end(); // End of .actions container.
$out .= $this->output->container_end(); // End of #plugins-check-info container.
@@ -1287,7 +1318,7 @@ class core_admin_renderer extends plugin_renderer_base {
* @param null|moodle_url $cancel URL for the cancel link, defaults to the current page
* @return string HTML
*/
public function plugins_management_confirm_buttons(moodle_url $continue=null, moodle_url $cancel=null) {
public function plugins_management_confirm_buttons(?moodle_url $continue=null, ?moodle_url $cancel=null) {
$out = html_writer::start_div('plugins-management-confirm-buttons');
@@ -1375,13 +1406,13 @@ class core_admin_renderer extends plugin_renderer_base {
new moodle_url($this->page->url, array('installdepx' => 1)),
get_string('dependencyinstallmissing', 'core_plugin', count($installable)),
'post',
array('class' => 'singlebutton dependencyinstallmissing d-inline-block mr-1')
array('class' => 'singlebutton dependencyinstallmissing d-inline-block me-1')
);
}
$out .= html_writer::div(html_writer::link(new moodle_url('/admin/tool/installaddon/'),
get_string('dependencyuploadmissing', 'core_plugin'), array('class' => 'btn btn-link')),
'dependencyuploadmissing d-inline-block mr-1');
'dependencyuploadmissing d-inline-block me-1');
$out .= $this->output->container_end(); // End of .plugins-check-dependencies-actions container.
@@ -1420,9 +1451,9 @@ class core_admin_renderer extends plugin_renderer_base {
$supportedmoodles = array();
foreach ($plugin->version->supportedmoodles as $moodle) {
if ($CFG->branch == str_replace('.', '', $moodle->release)) {
$supportedmoodles[] = html_writer::span($moodle->release, 'badge badge-success');
$supportedmoodles[] = html_writer::span($moodle->release, 'badge bg-success text-white');
} else {
$supportedmoodles[] = html_writer::span($moodle->release, 'badge badge-light');
$supportedmoodles[] = html_writer::span($moodle->release, 'badge bg-light text-dark');
}
}
@@ -1447,29 +1478,29 @@ class core_admin_renderer extends plugin_renderer_base {
$info .= html_writer::div(
html_writer::link('https://moodle.org/plugins/view.php?plugin='.$plugin->component,
get_string('misdepinfoplugin', 'core_plugin')),
'misdepinfoplugin d-inline-block mr-3 mb-1'
'misdepinfoplugin d-inline-block me-3 mb-1'
);
$info .= html_writer::div(
html_writer::link('https://moodle.org/plugins/pluginversion.php?id='.$plugin->version->id,
get_string('misdepinfoversion', 'core_plugin')),
'misdepinfoversion d-inline-block mr-3 mb-1'
'misdepinfoversion d-inline-block me-3 mb-1'
);
$info .= html_writer::div(html_writer::link($plugin->version->downloadurl, get_string('download')),
'misdepdownload d-inline-block mr-3 mb-1');
'misdepdownload d-inline-block me-3 mb-1');
if ($pluginman->is_remote_plugin_installable($plugin->component, $plugin->version->version, $reason)) {
$info .= $this->output->single_button(
new moodle_url($this->page->url, array('installdep' => $plugin->component)),
get_string('dependencyinstall', 'core_plugin'),
'post',
array('class' => 'singlebutton dependencyinstall mr-3 mb-1')
array('class' => 'singlebutton dependencyinstall me-3 mb-1')
);
} else {
$reasonhelp = $this->info_remote_plugin_not_installable($reason);
if ($reasonhelp) {
$info .= html_writer::div($reasonhelp, 'reasonhelp dependencyinstall d-inline-block mr-3 mb-1');
$info .= html_writer::div($reasonhelp, 'reasonhelp dependencyinstall d-inline-block me-3 mb-1');
}
}
@@ -1528,7 +1559,7 @@ class core_admin_renderer extends plugin_renderer_base {
$label = '';
} else {
$class = 'requires-failed';
$label = html_writer::span(get_string('dependencyfails', 'core_plugin'), 'badge badge-danger');
$label = html_writer::span(get_string('dependencyfails', 'core_plugin'), 'badge bg-danger text-white');
}
if ($branch != null && !$plugin->is_core_compatible_satisfied($branch)) {
@@ -1557,8 +1588,10 @@ class core_admin_renderer extends plugin_renderer_base {
} else if ($reqinfo->status == $pluginman::REQUIREMENT_STATUS_MISSING) {
if ($reqinfo->availability == $pluginman::REQUIREMENT_AVAILABLE) {
$label = html_writer::span(get_string('dependencymissing', 'core_plugin'), 'badge badge-warning');
$label .= ' '.html_writer::span(get_string('dependencyavailable', 'core_plugin'), 'badge badge-warning');
$label = html_writer::span(get_string('dependencymissing', 'core_plugin'),
'badge bg-warning text-dark');
$label .= ' '.html_writer::span(get_string('dependencyavailable', 'core_plugin'),
'badge bg-warning text-dark');
$class = 'requires-failed requires-missing requires-available';
$actions[] = html_writer::link(
new moodle_url('https://moodle.org/plugins/view.php', array('plugin' => $reqname)),
@@ -1566,24 +1599,25 @@ class core_admin_renderer extends plugin_renderer_base {
);
} else {
$label = html_writer::span(get_string('dependencymissing', 'core_plugin'), 'badge badge-danger');
$label = html_writer::span(get_string('dependencymissing', 'core_plugin'), 'badge bg-danger text-white');
$label .= ' '.html_writer::span(get_string('dependencyunavailable', 'core_plugin'),
'badge badge-danger');
'badge bg-danger text-white');
$class = 'requires-failed requires-missing requires-unavailable';
}
$displayuploadlink = true;
} else if ($reqinfo->status == $pluginman::REQUIREMENT_STATUS_OUTDATED) {
if ($reqinfo->availability == $pluginman::REQUIREMENT_AVAILABLE) {
$label = html_writer::span(get_string('dependencyfails', 'core_plugin'), 'badge badge-warning');
$label .= ' '.html_writer::span(get_string('dependencyavailable', 'core_plugin'), 'badge badge-warning');
$label = html_writer::span(get_string('dependencyfails', 'core_plugin'), 'badge bg-warning text-dark');
$label .= ' '.html_writer::span(get_string('dependencyavailable', 'core_plugin'),
'badge bg-warning text-dark');
$class = 'requires-failed requires-outdated requires-available';
$displayupdateslink = true;
} else {
$label = html_writer::span(get_string('dependencyfails', 'core_plugin'), 'badge badge-danger');
$label = html_writer::span(get_string('dependencyfails', 'core_plugin'), 'badge bg-danger text-white');
$label .= ' '.html_writer::span(get_string('dependencyunavailable', 'core_plugin'),
'badge badge-danger');
'badge bg-danger text-white');
$class = 'requires-failed requires-outdated requires-unavailable';
}
$displayuploadlink = true;
@@ -1651,11 +1685,26 @@ class core_admin_renderer extends plugin_renderer_base {
*/
public function plugins_overview_panel(core_plugin_manager $pluginman, array $options = array()) {
$plugininfo = $pluginman->get_plugins();
$plugininfo = $pluginman->get_plugins(true);
$this->page->requires->js_call_amd('core_admin/plugins_overview', 'init');
$numtotal = $numextension = $numupdatable = $numinstallable = 0;
$numtotal = $numextension = $numupdatable = $numinstallable = $nummissing = $numnew = 0;
foreach ($plugininfo as $type => $plugins) {
if (\core_component::is_deleted_plugin_type($type)) {
continue;
}
// Skip deprecated plugintypes having no installed plugins, in which case there is nothing to report.
if (\core_component::is_deprecated_plugin_type($type)) {
$reportableplugins = array_filter($plugins, function($plugininfo) {
return $plugininfo->versiondb != null;
});
if (empty($reportableplugins)) {
continue;
}
}
foreach ($plugins as $name => $plugin) {
if ($res = $plugin->available_updates()) {
$numupdatable++;
@@ -1667,8 +1716,12 @@ class core_admin_renderer extends plugin_renderer_base {
}
}
if ($plugin->get_status() === core_plugin_manager::PLUGIN_STATUS_MISSING) {
$nummissing++;
continue;
}
if ($plugin->get_status() === core_plugin_manager::PLUGIN_STATUS_NEW) {
$numnew++;
}
$numtotal++;
if (!$plugin->is_standard()) {
$numextension++;
@@ -1677,36 +1730,50 @@ class core_admin_renderer extends plugin_renderer_base {
}
$infoall = html_writer::link(
new moodle_url($this->page->url, array('contribonly' => 0, 'updatesonly' => 0)),
$this->page->url,
get_string('overviewall', 'core_plugin'),
array('title' => get_string('filterall', 'core_plugin'))
).' '.html_writer::span($numtotal, 'badge number number-all');
['title' => get_string('filterall', 'core_plugin'), 'data-filterby' => 'all', 'class' => 'active']
).' '.html_writer::span($numtotal, 'badge text-dark number number-all');
$infoext = html_writer::link(
new moodle_url($this->page->url, array('contribonly' => 1, 'updatesonly' => 0)),
new moodle_url($this->page->url, [], 'additional'),
get_string('overviewext', 'core_plugin'),
array('title' => get_string('filtercontribonly', 'core_plugin'))
).' '.html_writer::span($numextension, 'badge number number-additional');
['title' => get_string('filtercontribonly', 'core_plugin'), 'data-filterby' => 'additional']
).' '.html_writer::span($numextension, 'badge text-dark number number-additional');
if ($numupdatable) {
$infoupdatable = html_writer::link(
new moodle_url($this->page->url, array('contribonly' => 0, 'updatesonly' => 1)),
new moodle_url($this->page->url, [], 'updatable'),
get_string('overviewupdatable', 'core_plugin'),
array('title' => get_string('filterupdatesonly', 'core_plugin'))
).' '.html_writer::span($numupdatable, 'badge badge-info number number-updatable');
['title' => get_string('filterupdatesonly', 'core_plugin'), 'data-filterby' => 'updatable']
).' '.html_writer::span($numupdatable, 'badge bg-info text-white number number-updatable');
} else {
// No updates, or the notifications disabled.
$infoupdatable = '';
}
$out = html_writer::start_div('', array('id' => 'plugins-overview-panel'));
if (!empty($options['updatesonly'])) {
$out .= $this->output->heading(get_string('overviewupdatable', 'core_plugin'), 3);
} else if (!empty($options['contribonly'])) {
$out .= $this->output->heading(get_string('overviewext', 'core_plugin'), 3);
if ($numnew) {
$infonew = html_writer::link(
new moodle_url($this->page->url, [], 'newplugin'),
get_string('status_new', 'plugin'),
['title' => get_string('filternewpluginsonly', 'core_plugin'), 'data-filterby' => 'newplugin']
).' '.html_writer::span($numnew, 'badge bg-success text-white number number-newplugin');
} else {
$infonew = '';
}
if ($nummissing) {
$infomissing = html_writer::link(
new moodle_url($this->page->url, [], 'missing'),
get_string('status_missing', 'plugin'),
['title' => get_string('filtermissingonly', 'core_plugin'), 'data-filterby' => 'missing']
).' '.html_writer::span($nummissing, 'badge bg-danger text-white number number-missing');
} else {
$infomissing = '';
}
$out = html_writer::start_div('', ['id' => 'plugins-overview-panel']);
if ($numinstallable) {
$out .= $this->output->single_button(
new moodle_url($this->page->url, array('installupdatex' => 1)),
@@ -1717,8 +1784,10 @@ class core_admin_renderer extends plugin_renderer_base {
}
$out .= html_writer::div($infoall, 'info info-all').
html_writer::div($infoext, 'info info-ext').
html_writer::div($infoupdatable, 'info info-updatable');
html_writer::div($infoext, 'info info-additional').
html_writer::div($infoupdatable, 'info info-updatable').
html_writer::div($infonew, 'info info-newplugin').
html_writer::div($infomissing, 'info info-missing');
$out .= html_writer::end_div(); // End of #plugins-overview-panel block.
@@ -1736,39 +1805,7 @@ class core_admin_renderer extends plugin_renderer_base {
*/
public function plugins_control_panel(core_plugin_manager $pluginman, array $options = array()) {
$plugininfo = $pluginman->get_plugins();
// Filter the list of plugins according the options.
if (!empty($options['updatesonly'])) {
$updateable = array();
foreach ($plugininfo as $plugintype => $pluginnames) {
foreach ($pluginnames as $pluginname => $pluginfo) {
$pluginavailableupdates = $pluginfo->available_updates();
if (!empty($pluginavailableupdates)) {
foreach ($pluginavailableupdates as $pluginavailableupdate) {
$updateable[$plugintype][$pluginname] = $pluginfo;
}
}
}
}
$plugininfo = $updateable;
}
if (!empty($options['contribonly'])) {
$contribs = array();
foreach ($plugininfo as $plugintype => $pluginnames) {
foreach ($pluginnames as $pluginname => $pluginfo) {
if (!$pluginfo->is_standard()) {
$contribs[$plugintype][$pluginname] = $pluginfo;
}
}
}
$plugininfo = $contribs;
}
if (empty($plugininfo)) {
return '';
}
$plugininfo = $pluginman->get_plugins(true);
$table = new html_table();
$table->id = 'plugins-control-panel';
@@ -1785,6 +1822,20 @@ class core_admin_renderer extends plugin_renderer_base {
);
foreach ($plugininfo as $type => $plugins) {
if (\core_component::is_deleted_plugin_type($type)) {
continue;
}
// Skip deprecated plugintypes having no installed plugins, in which case there is nothing to report.
if (\core_component::is_deprecated_plugin_type($type)) {
$reportableplugins = array_filter($plugins, function($plugininfo) {
return $plugininfo->versiondb != null;
});
if (empty($reportableplugins)) {
continue;
}
}
$heading = $pluginman->plugintype_name_plural($type);
$pluginclass = core_plugin_manager::resolve_plugininfo_class($type);
if ($manageurl = $pluginclass::get_manage_url()) {
@@ -1827,6 +1878,9 @@ class core_admin_renderer extends plugin_renderer_base {
}
$status = $plugin->get_status();
$row->attributes['class'] .= ' status-'.$status;
if ($plugin->is_deprecated()) {
$row->attributes['class'] .= ' deprecatedtype';
}
$pluginname = html_writer::tag('div', $icon.$plugin->displayname, array('class' => 'displayname')).
html_writer::tag('div', $plugin->component, array('class' => 'componentname'));
$pluginname = new html_table_cell($pluginname);
@@ -1867,18 +1921,30 @@ class core_admin_renderer extends plugin_renderer_base {
$row->attributes['class'] .= ' standard';
$source = '';
} else {
$row->attributes['class'] .= ' extension';
$source = html_writer::div(get_string('sourceext', 'core_plugin'), 'source badge badge-info');
$row->attributes['class'] .= ' additional';
$source = html_writer::div(get_string('sourceext', 'core_plugin'), 'source badge me-1 text-bg-info');
}
if ($status === core_plugin_manager::PLUGIN_STATUS_MISSING) {
$msg = html_writer::div(get_string('status_missing', 'core_plugin'), 'statusmsg badge badge-danger');
$row->attributes['class'] .= ' missing';
$msg = html_writer::div(get_string('status_missing', 'core_plugin'), 'statusmsg badge text-bg-danger');
} else if ($status === core_plugin_manager::PLUGIN_STATUS_NEW) {
$msg = html_writer::div(get_string('status_new', 'core_plugin'), 'statusmsg badge badge-success');
$row->attributes['class'] .= ' newplugin';
$msg = html_writer::div(get_string('status_new', 'core_plugin'), 'statusmsg badge text-bg-success');
} else {
$msg = '';
}
$deprecatedmsg = '';
if ($plugin->is_deprecated()) {
// Omit the status for deprecated plugin types, unless it's 'missing from disk'.
$msg = $status == core_plugin_manager::PLUGIN_STATUS_MISSING ? $msg : '';
$deprecatedmsg = html_writer::div(
get_string('deprecated_type', 'core_plugin'),
'statusmsg badge bg-danger text-white'
);
}
$requriedby = $pluginman->other_plugins_that_require($plugin->component);
if ($requriedby) {
$requiredby = html_writer::tag('div', get_string('requiredby', 'core_plugin', implode(', ', $requriedby)),
@@ -1889,12 +1955,13 @@ class core_admin_renderer extends plugin_renderer_base {
$updateinfo = '';
if (is_array($plugin->available_updates())) {
$row->attributes['class'] .= ' updatable';
foreach ($plugin->available_updates() as $availableupdate) {
$updateinfo .= $this->plugin_available_update_info($pluginman, $availableupdate);
}
}
$notes = new html_table_cell($source.$msg.$requiredby.$updateinfo);
$notes = new html_table_cell($source.' '.$msg.' '.$deprecatedmsg.$requiredby.$updateinfo);
$row->cells = array(
$pluginname, $version, $availability, $settings, $uninstall, $notes
@@ -1996,7 +2063,7 @@ class core_admin_renderer extends plugin_renderer_base {
get_string('status'),
);
$servertable->colclasses = array('centeralign name', 'centeralign info', 'leftalign report', 'leftalign plugin', 'centeralign status');
$servertable->attributes['class'] = 'admintable environmenttable generaltable table-sm';
$servertable->attributes['class'] = 'table table-striped admintable environmenttable generaltable table-sm';
$servertable->id = 'serverstatus';
$serverdata = array('ok'=>array(), 'warn'=>array(), 'error'=>array());
@@ -2009,7 +2076,7 @@ class core_admin_renderer extends plugin_renderer_base {
get_string('status'),
);
$othertable->colclasses = array('aligncenter info', 'alignleft report', 'alignleft plugin', 'aligncenter status');
$othertable->attributes['class'] = 'admintable environmenttable generaltable table-sm';
$othertable->attributes['class'] = 'table table-striped admintable environmenttable generaltable table-sm';
$othertable->id = 'otherserverstatus';
$otherdata = array('ok'=>array(), 'warn'=>array(), 'error'=>array());
@@ -2051,8 +2118,10 @@ class core_admin_renderer extends plugin_renderer_base {
// We are checking installed & enabled things
if ($environment_result->getLevel() == 'required') {
$stringtouse = 'environmentrequirecustomcheck';
} else {
} else if ($environment_result->getLevel() == 'optional') {
$stringtouse = 'environmentrecommendcustomcheck';
} else {
$stringtouse = 'environmentshouldfixcustomcheck';
}
} else if ($environment_result->getPart() == 'php_setting') {
@@ -2083,7 +2152,8 @@ class core_admin_renderer extends plugin_renderer_base {
if ($status) { //Handle ok result (ok)
$status = get_string('statusok');
} else {
if ($environment_result->getLevel() == 'optional') {//Handle check result (warning)
// Handle check result (warning).
if (in_array($environment_result->getLevel(), ['optional', 'recommended'])) {
$status = get_string('check');
$warningline = true;
} else { //Handle error result (error)
@@ -2107,29 +2177,33 @@ class core_admin_renderer extends plugin_renderer_base {
} else {
$report = $this->doc_link(join('/', $linkparts), get_string($stringtouse, 'admin', $rec), true);
}
// Enclose report text in div so feedback text will be displayed underneath it.
$report = html_writer::div($report);
// Format error or warning line
if ($errorline) {
$messagetype = 'error';
$statusclass = 'badge-danger';
$statusclass = 'bg-danger text-white';
$feedbackclass = 'alert-danger';
} else if ($warningline) {
$messagetype = 'warn';
$statusclass = 'badge-warning';
$statusclass = 'bg-warning text-dark';
$feedbackclass = 'alert-warning';
} else {
$messagetype = 'ok';
$statusclass = 'badge-success';
$statusclass = 'bg-success text-white';
$feedbackclass = 'alert-success';
}
$status = html_writer::span($status, 'badge ' . $statusclass);
// Here we'll store all the feedback found
$feedbacktext = '';
// Append the feedback if there is some
$feedbacktext .= $environment_result->strToReport($environment_result->getFeedbackStr(), $messagetype);
$feedbacktext .= $environment_result->strToReport($environment_result->getFeedbackStr(),
"alert {$feedbackclass} px-2 py-1 m-1");
//Append the bypass if there is some
$feedbacktext .= $environment_result->strToReport($environment_result->getBypassStr(), 'warn');
$feedbacktext .= $environment_result->strToReport($environment_result->getBypassStr(),
'alert alert-warning px-2 py-1 m-1');
//Append the restrict if there is some
$feedbacktext .= $environment_result->strToReport($environment_result->getRestrictStr(), 'error');
$feedbacktext .= $environment_result->strToReport($environment_result->getRestrictStr(),
'alert alert-danger px-2 py-1 m-1');
$report .= $feedbacktext;
@@ -2173,10 +2247,11 @@ class core_admin_renderer extends plugin_renderer_base {
$output = '';
$output .= $this->header();
$output .= $this->container_start('upgradekeyreq');
$output .= $this->heading(get_string('upgradekeyreq', 'core_admin'));
$output .= $this->container_start('upgradekeyreq w-25');
$output .= html_writer::start_tag('form', array('method' => 'POST', 'action' => $url));
$output .= html_writer::empty_tag('input', [
'id' => 'upgradekey',
'name' => 'upgradekey',
'type' => 'password',
'class' => 'form-control w-auto',
@@ -2199,14 +2274,10 @@ class core_admin_renderer extends plugin_renderer_base {
* @return string
*/
public function moodleorg_registration_message() {
$out = format_text(get_string('registerwithmoodleorginfo', 'core_hub'), FORMAT_MARKDOWN);
$out .= html_writer::link(
new moodle_url('/admin/settings.php', ['section' => 'moodleservices']),
$this->output->pix_icon('i/info', '').' '.get_string('registerwithmoodleorginfoapp', 'core_hub'),
['class' => 'btn btn-link', 'role' => 'opener', 'target' => '_href']
);
$a = new stdClass();
$a->moreinformation = '#id_sitestats'; // More information anchor.
$a->moodleapp = HUB_MOODLEORGHUBURL . '/solutions/moodle-app/';
$out = format_text(get_string('registerwithmoodleorginfo', 'core_hub', $a), FORMAT_MARKDOWN);
$out .= html_writer::link(
HUB_MOODLEORGHUBURL,
@@ -2253,4 +2324,15 @@ class core_admin_renderer extends plugin_renderer_base {
return $this->warning($xmlrpcwarning);
}
/**
* Renders the theme selector list.
*
* @param core_admin\output\theme_selector $themeselector
* @return string HTML
*/
public function theme_selector_list(core_admin\output\theme_selector $themeselector): string {
$renderable = $themeselector->export_for_template($this);
return $this->render_from_template('core_admin/themeselector/theme_selector', $renderable);
}
}
+32 -43
View File
@@ -49,26 +49,11 @@ if ($action == 'newon') {
admin_externalpage_setup($pagename);
$sesskeyurl = $CFG->wwwroot.'/'.$CFG->admin.'/repository.php?sesskey=' . sesskey();
$baseurl = $CFG->wwwroot.'/'.$CFG->admin.'/repository.php';
$configstr = get_string('manage', 'repository');
// The URL used for redirection, and that all edit related URLs will be based off.
$baseurl = new moodle_url('/admin/repository.php');
$return = true;
if (!empty($action)) {
require_sesskey();
}
/**
* Helper function that generates a moodle_url object
* relevant to the repository
*/
function repository_action_url($repository) {
global $baseurl;
return new moodle_url($baseurl, array('sesskey'=>sesskey(), 'repos'=>$repository));
}
if (($action == 'edit') || ($action == 'new')) {
$pluginname = '';
if ($action == 'edit') {
@@ -182,16 +167,12 @@ if (($action == 'edit') || ($action == 'new')) {
}
}
} else if ($action == 'show') {
if (!confirm_sesskey()) {
throw new \moodle_exception('confirmsesskeybad', '', $baseurl);
}
require_sesskey();
$class = \core_plugin_manager::resolve_plugininfo_class('repository');
$class::enable_plugin($repository, 1);
$return = true;
} else if ($action == 'hide') {
if (!confirm_sesskey()) {
throw new \moodle_exception('confirmsesskeybad', '', $baseurl);
}
require_sesskey();
$class = \core_plugin_manager::resolve_plugininfo_class('repository');
$class::enable_plugin($repository, 0);
$return = true;
@@ -199,9 +180,7 @@ if (($action == 'edit') || ($action == 'new')) {
$repositorytype = repository::get_type_by_typename($repository);
if ($sure) {
$PAGE->set_pagetype('admin-repository-' . $repository);
if (!confirm_sesskey()) {
throw new \moodle_exception('confirmsesskeybad', '', $baseurl);
}
require_sesskey();
if ($repositorytype->delete($downloadcontents)) {
// Include this information into config changes table.
@@ -220,20 +199,15 @@ if (($action == 'edit') || ($action == 'new')) {
$output = $OUTPUT->box_start('generalbox', 'notice');
$output .= html_writer::tag('p', $message);
$removeurl = new moodle_url($sesskeyurl);
$removeurl->params(array(
$removeurl = new moodle_url($baseurl, [
'action' =>'delete',
'repos' => $repository,
'sure' => 'yes',
));
]);
$removeanddownloadurl = new moodle_url($sesskeyurl);
$removeanddownloadurl->params(array(
'action' =>'delete',
'repos'=> $repository,
'sure' => 'yes',
$removeanddownloadurl = new moodle_url($removeurl, [
'downloadcontents' => 1,
));
]);
$output .= $OUTPUT->single_button($removeurl, get_string('continueuninstall', 'repository'));
$output .= $OUTPUT->single_button($removeanddownloadurl, get_string('continueuninstallanddownload', 'repository'));
@@ -245,9 +219,11 @@ if (($action == 'edit') || ($action == 'new')) {
$return = false;
}
} else if ($action == 'moveup') {
require_sesskey();
$repositorytype = repository::get_type_by_typename($repository);
$repositorytype->move_order('up');
} else if ($action == 'movedown') {
require_sesskey();
$repositorytype = repository::get_type_by_typename($repository);
$repositorytype->move_order('down');
} else {
@@ -339,8 +315,7 @@ if (($action == 'edit') || ($action == 'new')) {
$userinstancenumbertext = "";
}
$settings .= '<a href="' . $sesskeyurl . '&amp;action=edit&amp;repos=' . $typename . '">' . $settingsstr .'</a>';
$settings = html_writer::link(new moodle_url($baseurl, ['action' => 'edit', 'repos' => $typename]), $settingsstr);
$settings .= $OUTPUT->container_start('mdl-left');
$settings .= '<br/>';
$settings .= $admininstancenumbertext;
@@ -357,22 +332,34 @@ if (($action == 'edit') || ($action == 'new')) {
$currentaction = 'hide';
}
$select = new single_select(repository_action_url($typename, 'repos'), 'action', $actionchoicesforexisting, $currentaction, null, 'applyto' . basename($typename));
// Active toggle.
$selectaction = new moodle_url($baseurl, ['sesskey' => sesskey(), 'repos' => $typename]);
$select = new single_select($selectaction, 'action', $actionchoicesforexisting, $currentaction, null,
'applyto' . basename($typename));
$select->set_label(get_string('action'), array('class' => 'accesshide'));
// Display up/down link
$updown = '';
$spacer = $OUTPUT->spacer(array('height'=>15, 'width'=>15)); // should be done with CSS instead
if ($updowncount > 1) {
$updown .= "<a href=\"$sesskeyurl&amp;action=moveup&amp;repos=".$typename."\">";
$updown .= $OUTPUT->pix_icon('t/up', get_string('moveup')) . "</a>&nbsp;";
$moveupaction = new moodle_url($baseurl, [
'sesskey' => sesskey(),
'action' => 'moveup',
'repos' => $typename,
]);
$updown .= html_writer::link($moveupaction, $OUTPUT->pix_icon('t/up', get_string('moveup'))) . '&nbsp;';
}
else {
$updown .= $spacer;
}
if ($updowncount < $totalrepositorytypes) {
$updown .= "<a href=\"$sesskeyurl&amp;action=movedown&amp;repos=".$typename."\">";
$updown .= $OUTPUT->pix_icon('t/down', get_string('movedown')) . "</a>&nbsp;";
$movedownaction = new moodle_url($baseurl, [
'sesskey' => sesskey(),
'action' => 'movedown',
'repos' => $typename,
]);
$updown .= html_writer::link($movedownaction, $OUTPUT->pix_icon('t/down', get_string('movedown'))) . '&nbsp;';
}
else {
$updown .= $spacer;
@@ -400,7 +387,9 @@ if (($action == 'edit') || ($action == 'new')) {
foreach ($plugins as $plugin => $dir) {
// Check that it has not already been listed
if (!in_array($plugin, $alreadyplugins)) {
$select = new single_select(repository_action_url($plugin, 'repos'), 'action', $actionchoicesfornew, 'delete', null, 'applyto' . basename($plugin));
$selectaction = new moodle_url($baseurl, ['sesskey' => sesskey(), 'repos' => $plugin]);
$select = new single_select($selectaction, 'action', $actionchoicesfornew, 'delete', null,
'applyto' . basename($plugin));
$select->set_label(get_string('action'), array('class' => 'accesshide'));
$uninstall = '';
if ($uninstallurl = core_plugin_manager::instance()->get_uninstall_url('repository_' . $plugin, 'manage')) {
+9 -10
View File
@@ -18,8 +18,6 @@ require_once(__DIR__ . '/../config.php');
require_once($CFG->dirroot . '/repository/lib.php');
require_once($CFG->libdir . '/adminlib.php');
require_sesskey();
// id of repository
$edit = optional_param('edit', 0, PARAM_INT);
$new = optional_param('new', '', PARAM_PLUGIN);
@@ -43,12 +41,8 @@ if ($edit){
admin_externalpage_setup($pagename, '', null, new moodle_url('/admin/repositoryinstance.php'));
$baseurl = new moodle_url("/$CFG->admin/repositoryinstance.php", array('sesskey'=>sesskey()));
$parenturl = new moodle_url("/$CFG->admin/repository.php", array(
'sesskey'=>sesskey(),
'action'=>'edit',
));
// The URL used for redirection, and that all edit related URLs will be based off.
$parenturl = new moodle_url('/admin/repository.php', ['action' => 'edit']);
if ($new) {
$parenturl->param('repos', $new);
@@ -116,6 +110,7 @@ if (!empty($edit) || !empty($new)) {
$return = false;
}
} else if (!empty($hide)) {
require_sesskey();
$instance = repository::get_type_by_typename($hide);
$instance->hide();
core_plugin_manager::reset_caches();
@@ -129,6 +124,7 @@ if (!empty($edit) || !empty($new)) {
throw new repository_exception('nopermissiontoaccess', 'repository');
}
if ($sure) {
require_sesskey();
if ($instance->delete($downloadcontents)) {
$deletedstr = get_string('instancedeleted', 'repository');
core_plugin_manager::reset_caches();
@@ -141,14 +137,17 @@ if (!empty($edit) || !empty($new)) {
echo $OUTPUT->header();
echo $OUTPUT->box_start('generalbox', 'notice');
$continueurl = new moodle_url($baseurl, array(
$continueurl = new moodle_url($PAGE->url, [
'type' => $type,
'delete' => $delete,
'sure' => 'yes',
));
]);
$continueanddownloadurl = new moodle_url($continueurl, array(
'downloadcontents' => 1
));
$message = get_string('confirmdelete', 'repository', $instance->name);
echo html_writer::tag('p', $message);

Some files were not shown because too many files have changed in this diff Show More