Compare commits

...

722 Commits

Author SHA1 Message Date
Huong Nguyen df1157bb84 Moodle release 4.1.22 2025-12-07 08:05:28 +07:00
Huong Nguyen 6e3f6a9cb9 weekly release 4.1.21+ 2025-12-05 08:09:28 +07:00
Huong Nguyen 98f72dee05 Merge branch 'MDL-87068-401' of https://github.com/lameze/moodle into MOODLE_401_STABLE 2025-12-04 10:02:27 +07:00
Angelia Dela Cruz 4284ff971e MDL-87068 contentbank_h5p: Behat for restoring course contentbank 2025-12-04 10:34:32 +08:00
Huong Nguyen ec20fc4868 MDL-72744 table: Improve PHPUnit test 2025-12-04 08:56:40 +07:00
David Woloszyn e2f12b1e7a MDL-72744 core_grades: Escape formulas when exporting spreadsheets 2025-12-04 08:56:40 +07:00
David Woloszyn 347e10c764 MDL-72744 dataformat: Escape formulas when exporting spreadsheets
Co-authored-by: Huong Nguyen <huongnv13@gmail.com>
2025-12-04 08:56:40 +07:00
Huong Nguyen 191365e09f MDL-86087 core: Use correct required version 2025-12-04 08:37:48 +07:00
Huong Nguyen 04b3e9d359 Merge branch 'MDL-87091-401' of https://github.com/lameze/moodle into MOODLE_401_STABLE 2025-12-03 16:11:48 +07:00
mioyu-ubiq 4419db89d2 MDL-87091 behat: Test authloginviaemail setting behavior 2025-12-03 15:56:41 +08:00
Huong Nguyen a5aeb2ef10 MDL-87353 core: Safer unserializing of file references 2025-12-03 14:18:16 +08:00
Jun Pataleta c4e2106834 Merge branch 'MDL-86087-401' of https://github.com/HuongNV13/moodle into MOODLE_401_STABLE 2025-12-03 14:09:45 +08:00
Stefan Hanauska 906f0191aa MDL-86960 mod_glossary: Check user 2025-12-03 13:45:50 +08:00
Stefan Hanauska 6a0b2ee174 MDL-86960 mod_data: Check user 2025-12-03 13:45:43 +08:00
Stefan Hanauska 1e54b2a86b MDL-86960 mod_forum: Check user 2025-12-03 13:45:37 +08:00
Jake Dallimore 8f31bda522 MDL-87286 enrol_lti: prevent suspended user account auth in legacy LTI 2025-12-03 15:52:20 +11:00
Jake Dallimore bdeba5416a MDL-87286 auth_lti: prevent suspended user account auth in LTI1p3 2025-12-03 15:52:20 +11:00
Mihail Geshoski 238bc8bf87 MDL-82808 assign: Use blindid during submission removal in blind marking 2025-12-03 09:50:48 +08:00
Rajneel Totaram 20388bbdac MDL-82808 mod_assign: replace userid with blindid in anonymous marking 2025-12-03 09:50:48 +08:00
Huong Nguyen 2354627702 MDL-86087 core: Define environment requirements for Moodle 5.2 2025-11-28 09:10:05 +07:00
David Woloszyn 592dcf7f7f MDL-86544 lib: Adjust checks on local URL params 2025-11-27 11:50:19 +00:00
Eric Merrill 0f54245988 MDL-80317 auth_oauth2: Restrict login redirect to local url 2025-11-27 11:50:19 +00:00
David Woloszyn 22f722d2d0 MDL-85557 atto_equation: Sanitise equation preview input 2025-11-27 11:50:19 +00:00
David Woloszyn ec12af83dd MDL-85557 tiny_equation: Sanitise equation preview input 2025-11-27 11:50:19 +00:00
Stefan Hanauska 4e47698ca9 MDL-86507 badge: Check if role is assigned 2025-11-27 11:50:19 +00:00
yusufwib01 e6651b7bde MDL-86326 auth: Enhance validation logic in resend_confirmation_email 2025-11-27 11:50:19 +00:00
Mihail Geshoski d0dc60895c weekly release 4.1.21+ 2025-11-27 19:41:09 +08:00
Mihail Geshoski 3512c1fe32 Merge branch 'install_401_STABLE' of https://git.in.moodle.com/amosbot/moodle-install into MOODLE_401_STABLE 2025-11-27 19:41:04 +08:00
Andrew Nicols 26bea242d9 Merge branch 'MDL-86255-401' of https://github.com/paulholden/moodle into MOODLE_401_STABLE 2025-11-27 11:12:13 +08:00
Mihail Geshoski c6672aa58c Merge branch 'MDL-87149-401' of https://github.com/junpataleta/moodle into MOODLE_401_STABLE 2025-11-26 17:31:53 +08:00
Paul Holden c0e2de83b2 Merge branch 'MDL-87046-401' of https://github.com/andrewnicols/moodle into MOODLE_401_STABLE 2025-11-25 15:25:39 +00:00
AMOS bot 6dfc4a77eb Automatically generated installer lang files 2025-11-23 00:08:06 +00:00
Huong Nguyen 6dc2d2b9ec weekly release 4.1.21+ 2025-11-21 14:34:04 +07:00
Huong Nguyen 3046f836aa Merge branch 'MDL-87048-401' of https://github.com/lameze/moodle into MOODLE_401_STABLE 2025-11-21 08:17:53 +07:00
Huong Nguyen 54e1488821 Merge branch 'MDL-84735-401' of https://github.com/lameze/moodle into MOODLE_401_STABLE 2025-11-21 08:17:53 +07:00
Andrew Nicols b7cd590de7 MDL-87046 core: Fix shutdown manager early return
If the `\core_shutdown_manager::initialize` method is called multiple
times, it should only succeed once.

Unfortunately whilst logging existed, the shutdown manager did not
actually exit.
2025-11-21 08:53:03 +08:00
Angelia Dela Cruz ffa968a34a MDL-87048 tool_lp: Behat for synchronising cohort with learning plan 2025-11-20 10:28:55 +08:00
Angelia Dela Cruz cd4c94ca68 MDL-84735 gradingform: Behat for modifying marking guide criterion 2025-11-20 07:09:05 +08:00
Julien Boulen f8b2bf5a3f MDL-86320 core: Fix unit test qrcode_test 2025-11-19 10:06:29 +07:00
Huong Nguyen 63ab738ae2 Merge branch 'MDL-86907-401' of https://github.com/mioyu-ubiq/moodle into MOODLE_401_STABLE 2025-11-19 10:03:33 +07:00
mioyu-ubiq f0c327b94c MDL-86907 mod_choice: Behat test for adding multiple choice responses 2025-11-18 15:05:20 +08:00
Simey Lameze 18065046f4 MDL-87050 behat: use src for img xpath selector 2025-11-18 10:51:13 +07:00
Huong Nguyen 0d58c33e7d Merge branch 'MDL-87050-401' of https://github.com/andelacruz/moodle into MOODLE_401_STABLE 2025-11-17 15:58:32 +07:00
Jun Pataleta bc575ee1ac MDL-87149 mod_feedback: Generate dependent questions
Allow the generator to create questions that depend on other questions.
2025-11-17 12:47:54 +08:00
Mihail Geshoski f087c4eb99 weekly release 4.1.21+ 2025-11-13 18:49:39 +08:00
Angelia Dela Cruz 60bc55dc8c MDL-87050 mod_folder: Behat for preventing forced file downloads 2025-11-13 16:53:02 +08:00
Huong Nguyen f04d7d4a3f Merge branch 'MDL-86895-401' of https://github.com/mioyu-ubiq/moodle into MOODLE_401_STABLE 2025-11-13 10:44:22 +07:00
Huong Nguyen 6c06fab0a1 Merge branch 'MDL-79249-401' of https://github.com/andelacruz/moodle into MOODLE_401_STABLE 2025-11-13 10:20:54 +07:00
Huong Nguyen 291e340b9a Merge branch 'MDL-87047-401' of https://github.com/andelacruz/moodle into MOODLE_401_STABLE 2025-11-13 10:17:10 +07:00
Mihail Geshoski 90d176b2d5 Merge branch 'MDL-86963-401' of https://github.com/andelacruz/moodle into MOODLE_401_STABLE 2025-11-12 17:17:42 +08:00
Mihail Geshoski 86a7753def Merge branch 'MDL-85686-401' of https://github.com/lameze/moodle into MOODLE_401_STABLE 2025-11-12 17:05:01 +08:00
Angelia Dela Cruz 4563fd2fe2 MDL-87047 tool_lp: Behat optimisation 2025-11-12 16:40:22 +08:00
Mihail Geshoski da14987cbf Merge branch 'MDL-86886-401' of https://github.com/andelacruz/moodle into MOODLE_401_STABLE 2025-11-12 16:40:11 +08:00
Angelia Dela Cruz 035f84ee8c MDL-87047 tool_lp: Behat to complete a learning plan and alter it 2025-11-12 16:35:20 +08:00
Angelia Dela Cruz 3e0a272b74 MDL-86963 tool_lp: Behat to perform CRUD operations on competencies 2025-11-12 16:01:07 +08:00
Angelia Dela Cruz f3a499a129 MDL-86886 tool_lp: Behat to move and cross-reference competencies 2025-11-11 16:10:15 +08:00
Mio Yu 629338999b MDL-86895 core_grades: Behat to verify listing and grading submissions 2025-11-11 12:59:00 +08:00
Simey Lameze 75f2b6ad5d MDL-85686 mod_quiz: unit test coverage for questions shuffle 2025-11-11 11:38:44 +08:00
Huong Nguyen 637a6bdb45 weekly release 4.1.21+ 2025-11-07 14:49:44 +07:00
Huong Nguyen 7c7ae75b1f Merge branch 'install_401_STABLE' of https://git.in.moodle.com/amosbot/moodle-install into MOODLE_401_STABLE 2025-11-07 14:49:42 +07:00
Huong Nguyen fb3d29e53d MDL-69226 environment: filter extension required for 4.1 2025-11-06 18:23:12 +08:00
Mihail Geshoski 6f77d3c5b0 Merge branch 'MDL-87073-401' of https://github.com/HuongNV13/moodle into MOODLE_401_STABLE 2025-11-06 17:09:54 +08:00
Huong Nguyen 4b7ccd75d8 MDL-87073 PHPUnit: Use non-DST timezone for comparing
Including in this commit
 - Use America/New_York instead of US/Eastern
2025-11-06 15:47:30 +07:00
Huong Nguyen 053e93b18a Merge branch 'MDL-87049-401' of https://github.com/lameze/moodle into MOODLE_401_STABLE 2025-11-06 15:40:48 +07:00
Huong Nguyen e84c2d821a Merge branch 'MDL-87079-401' of https://github.com/andrewnicols/moodle into MOODLE_401_STABLE 2025-11-06 15:38:23 +07:00
Simey Lameze a6d9be042d MDL-87049 behat: read showcampaigncontent setting when running behat 2025-11-06 08:52:30 +08:00
Angelia Dela Cruz a255637c74 MDL-87049 core: Behat to toggle campaign content banner display 2025-11-06 08:52:30 +08:00
AMOS bot b19752f929 Automatically generated installer lang files 2025-11-06 00:07:40 +00:00
Andrew Nicols c9ce233f08 MDL-87079 core: Call existing pcntl handlers
Whilst `register_shutdown_function` works as a queue, `pcntl_signal`
does not.

To preserve the behaviour of existing signal handlers, as are typically
found in CLI wrappers like PHPUnit and Behat, we should store any
existing handler
2025-11-05 08:52:34 +08:00
Jun Pataleta 7f5911b137 Merge branch 'MDL-86833-401' of https://github.com/paulholden/moodle into MOODLE_401_STABLE 2025-11-04 13:29:35 +08:00
Angelia Dela Cruz 2ca67ce948 MDL-79249 core_filepicker: Cancel file and folder upload using X button 2025-11-03 11:32:37 +08:00
Huong Nguyen ccbfbbc3bf Merge branch 'MDL-69226-M401_verify-that-the-filter-php-extension-is-present' of https://github.com/ziegenberg/moodle into MOODLE_401_STABLE 2025-11-03 09:02:33 +07:00
AMOS bot 9c4134efca Automatically generated installer lang files 2025-11-01 00:07:40 +00:00
Mihail Geshoski 752ed6e63e weekly release 4.1.21+ 2025-10-30 18:11:54 +08:00
Mihail Geshoski 7ed44dc763 Merge branch 'install_401_STABLE' of https://git.in.moodle.com/amosbot/moodle-install into MOODLE_401_STABLE 2025-10-30 18:11:50 +08:00
Mihail Geshoski ba295cac53 Merge branch 'MDL-86894-401' of https://github.com/Kredelirious/moodle into MOODLE_401_STABLE 2025-10-29 10:19:41 +08:00
Daniel Ziegenberg ef0c245178 MDL-69226 environment: filter extension required
Signed-off-by: Daniel Ziegenberg <daniel@ziegenberg.at>
2025-10-28 19:40:35 +01:00
Kim Jared Lucas f3fcc635e9 MDL-86894 mod_forum: Behat to verify default forum RSS settings 2025-10-28 13:15:27 +08:00
AMOS bot e375cbc024 Automatically generated installer lang files 2025-10-28 00:09:30 +00:00
Amaia Anabitarte be83232f57 Merge branch 'MDL-86971-401' of https://github.com/bhect0/moodle into MOODLE_401_STABLE 2025-10-27 18:12:26 +01:00
Héctor Benedicte 3a3d251c91 MDL-86971 core: replace str_contains() for PHP 7.4 compatibility. 2025-10-27 12:38:30 +01:00
Huong Nguyen 7135adf77c weekly release 4.1.21+ 2025-10-24 11:00:52 +07:00
Huong Nguyen 3a53982564 Merge branch 'install_401_STABLE' of https://git.in.moodle.com/amosbot/moodle-install into MOODLE_401_STABLE 2025-10-24 11:00:51 +07:00
ferran 52d8c7259b Merge branch 'MDL-86969-401' of https://github.com/sarjona/moodle into MOODLE_401_STABLE 2025-10-22 14:16:59 +02:00
Sara Arjona 95a93ab74d MDL-86969 badges: Replace str_contains with PHP7.4 compatible method 2025-10-22 06:47:55 +02:00
Paul Holden 40736ec563 MDL-86255 behat: implement methods to assert date/time field value. 2025-10-21 11:34:58 +01:00
Mihail Geshoski 3b37608523 Merge branch 'MDL-85696-401' of https://github.com/andelacruz/moodle into MOODLE_401_STABLE 2025-10-20 10:30:48 +08:00
Angelia Dela Cruz adcb52a66c MDL-85696 mod_quiz: Behat to attempt password and time restricted quiz 2025-10-17 17:47:37 +08:00
AMOS bot c899c6fb5a Automatically generated installer lang files 2025-10-15 00:09:17 +00:00
AMOS bot 6d6fea6c3e Automatically generated installer lang files 2025-10-09 00:08:55 +00:00
Paul Holden 9a257e13c2 MDL-86833 behat: remove stray upgrade notes file. 2025-10-06 09:13:25 +01:00
Huong Nguyen 239be346a1 Moodle release 4.1.21 2025-10-04 09:02:50 +07:00
AMOS bot e23a5c6b85 Automatically generated installer lang files 2025-10-04 00:07:41 +00:00
Shamim Rezaie fd6667f694 weekly release 4.1.20+ 2025-10-03 20:02:43 +10:00
Mihail Geshoski 6d990ff157 MDL-75087 mod_assign: Fix failing behat tests in classic 2025-10-03 14:23:15 +07:00
Mihail Geshoski 5ad39879ea MDL-75087 mod_assign: Fix failing unit test 2025-10-02 18:10:13 +07:00
Rajneel Totaram 0e8027d3dd MDL-75087 mod_assign: Respect assignment timer
This patch has better handling of timed assignments.
Users cannot directly access the submission page without
confirming to begin a timed assignment.
2025-10-02 10:48:05 +08:00
Mihail Geshoski 13ab8ce3f6 Merge branch 'MDL-86637-401' of https://github.com/cameron1729/moodle into MOODLE_401_STABLE 2025-10-02 01:31:42 +08:00
yusufwib01 321f20bde4 MDL-86353 mod_assign: Sync exception handling in PdfType and PdfReader 2025-09-30 09:24:29 +07:00
Paul Holden ccb94debcf MDL-85421 cohort: limit requests for all cohorts to system context. 2025-09-29 13:34:09 +07:00
David Woloszyn 596f290ca7 MDL-86327 auth_webservice: Stricter check on login 2025-09-29 08:24:56 +07:00
yusufwib01 3cf753aea9 MDL-86261 calendar: Improve event form to show accessible groups 2025-09-26 12:00:20 +00:00
cescobedo 2689a8fdd3 weekly release 4.1.20+ 2025-09-26 13:44:36 +02:00
AMOS bot 0ef7b2853d Automatically generated installer lang files 2025-09-25 00:07:39 +00:00
Sara Arjona 3389ddbe77 weekly release 4.1.20+ 2025-09-23 17:21:20 +02:00
Huong Nguyen 9c0d3f8037 Merge branch 'MDL-84870-401' of https://github.com/andimendunia/moodle into MOODLE_401_STABLE 2025-09-22 08:29:01 +07:00
Huong Nguyen 7b5bdf9b6e weekly release 4.1.20+ 2025-09-18 08:34:34 +07:00
Huong Nguyen 78468dffaa Merge branch 'install_401_STABLE' of https://git.in.moodle.com/amosbot/moodle-install into MOODLE_401_STABLE 2025-09-18 08:34:32 +07:00
Huong Nguyen d314c4719d MDL-86495 core: Improve PHPUnit for IPLookup 2025-09-16 08:52:18 +07:00
Andi Permana 4b30d08025 MDL-84870 core: Update security.txt expiry 2025-09-15 13:04:41 +07:00
Cameron Ball bc29ef5d9e MDL-86637 core: Use ReflectionProperty to access static navigation data
In PHP 7.4.0, ReflectionClass and static properties don't play nicely
together. Using ReflectionProperty side steps the issue.
2025-09-15 13:01:56 +08:00
Huong Nguyen 3030cde4ba MDL-86495 core: Better errors handling for IP Lookup
- Since `Geoplugin` is not free anymore, a new admin setting called `GeoPlugin API key` has been added for user to input
  their API key if they still want to use `Geoplugin` service.
- The `iplookup_find_location()` method has been improved to handle error responses more effectively.
2025-09-09 08:47:14 +07:00
AMOS bot bfef5e4581 Automatically generated installer lang files 2025-09-06 00:07:42 +00:00
AMOS bot 17c4412033 Automatically generated installer lang files 2025-09-03 00:07:39 +00:00
AMOS bot 5b9e5416d5 Automatically generated installer lang files 2025-09-01 00:07:35 +00:00
cescobedo d3777d8a06 weekly release 4.1.20+ 2025-08-29 15:01:25 +02:00
Huong Nguyen 3613faf8d6 Merge branch 'MDL-86452-401' of https://github.com/andrewnicols/moodle into MOODLE_401_STABLE 2025-08-29 08:46:43 +07:00
Andrew Nicols 9b060f43ce MDL-86452 core: Reset navigation data between tests 2025-08-28 13:13:05 +08:00
cescobedo d63b359944 weekly release 4.1.20+ 2025-08-26 15:54:21 +02:00
cescobedo 144c57c4ff Merge branch 'install_401_STABLE' of https://git.in.moodle.com/amosbot/moodle-install into MOODLE_401_STABLE 2025-08-26 15:54:19 +02:00
Mihail Geshoski 9956df769b Merge branch 'MDL-85677-401' of https://github.com/lameze/moodle into MOODLE_401_STABLE 2025-08-26 11:55:55 +08:00
Huong Nguyen b2fab52908 Merge branch 'MDL-86315-401' of https://github.com/davewoloszyn/moodle into MOODLE_401_STABLE 2025-08-26 09:23:42 +07:00
Simey Lameze 787199fa99 MDL-85677 behat: test to verify SEB download link visibility 2025-08-26 09:19:15 +08:00
Mihail Geshoski 0afa5bfdb5 Merge branch 'MDL-85676-401' of https://github.com/lameze/moodle into MOODLE_401_STABLE 2025-08-26 00:42:17 +08:00
Simey Lameze 9247cf1bd6 MDL-85676 behat: validate SEB attempt message 2025-08-25 14:08:20 +08:00
AMOS bot 42eeec6261 Automatically generated installer lang files 2025-08-24 00:09:44 +00:00
Mihail Geshoski 8b234f6690 weekly release 4.1.20+ 2025-08-22 20:40:46 +08:00
Mihail Geshoski f4795ade4a Merge branch 'install_401_STABLE' of https://git.in.moodle.com/amosbot/moodle-install into MOODLE_401_STABLE 2025-08-22 20:40:42 +08:00
Huong Nguyen fc1a79d882 Merge branch 'MDL-86231-401' of https://github.com/andrewnicols/moodle into MOODLE_401_STABLE 2025-08-22 08:47:08 +07:00
AMOS bot 6b715e7e7f Automatically generated installer lang files 2025-08-16 00:07:39 +00:00
David Woloszyn bd96199040 MDL-86315 registration: Unset emails in hub when dependant value not set 2025-08-15 13:01:17 +10:00
AMOS bot 127b856a73 Automatically generated installer lang files 2025-08-14 00:07:47 +00:00
AMOS bot 28f675da81 Automatically generated installer lang files 2025-08-13 00:07:48 +00:00
Andrew Nicols f2552bb9c4 MDL-86231 behat: Support array callable syntax in execute method 2025-08-08 11:42:26 +08:00
Mihail Geshoski 3966291cd5 Moodle release 4.1.20 2025-08-08 10:48:50 +08:00
Sara Arjona 0c9f0c4bbf weekly release 4.1.19+ 2025-08-07 16:45:26 +02:00
Sara Arjona 35edd02d74 Merge branch 'install_401_STABLE' of https://git.in.moodle.com/amosbot/moodle-install into MOODLE_401_STABLE 2025-08-07 16:45:23 +02:00
Ilya Tregubov be2c290b2f MDL-63395 user: Fix profile visibility check.
It needs to be done in user_get_user_details as well.
2025-08-07 10:31:15 +07:00
Jun Pataleta 9ec4f4b386 Merge branch 'MDL-85674-401' of https://github.com/lameze/moodle into MOODLE_401_STABLE 2025-08-07 10:43:57 +08:00
AMOS bot 52d90156aa Automatically generated installer lang files 2025-08-07 00:07:42 +00:00
ferran 44757023a1 Merge branch 'MDL-86176-401' of https://github.com/sarjona/moodle into MOODLE_401_STABLE 2025-08-06 16:22:04 +02:00
Sara Arjona 061049e5cf MDL-86176 badges: Adjust badges due to Canvas Credentials changes
This change addresses necessary adjustments to how OBV2.0 badges are
sent to backpacks, specifically to ensure compatibility and correct
functionality following recent updates to Canvas Credentials' conditions.

It ensures our badge integration continues to operate smoothly despite
these external changes.
2025-08-06 15:21:40 +02:00
Simey Lameze 1ce514e02f MDL-85674 behat: replace multiple steps by a single table step 2025-08-06 18:29:58 +08:00
andelacruz 5eb65b8a7c MDL-85674 mod_grade: Behat test for multiple questions manual grading 2025-08-06 18:21:03 +08:00
Huong Nguyen 2b41fcb73d MDL-84464 report_log: Fix EOF 2025-08-06 10:39:58 +07:00
Laurent David 5f2880ea13 MDL-84464 report_loglive: Hide report for teacher without groups 2025-08-06 10:23:12 +07:00
Laurent David edd9c78756 MDL-84464 report_log: Hide report for teachers without groups
* Teachers without groups in SEPARATEGROUP mode should not see the report log page nor access it
2025-08-06 10:23:12 +07:00
Laurent David 7c3b3af98c MDL-84463 mod_feedback: Fix behat test
* Fix typo in test description
* Use the right step to edit questions
2025-08-05 03:40:26 +00:00
Laurent David 3d3f842be3 MDL-84463 mod_feedback: Fix users in no group and email
* Non editing teachers in no group should not receive feedback emails
from students in no group
2025-08-05 03:40:26 +00:00
Laurent David 4fd6963185 MDL-84463 mod_feedback: Fix show entries and nonrespondents
* Non editing teachers not in a groups should not see entries
from other users
2025-08-05 03:40:26 +00:00
raortegar 4e7263a65a MDL-85704 mod_bigbluebuttonbn: Update sesskey handling for compatibility 2025-08-05 03:40:26 +00:00
Mihail Geshoski 5cb86be37b Merge branch 'MDL-85565_401' of https://github.com/PhilippImhof/moodle into MOODLE_401_STABLE 2025-08-05 11:33:34 +08:00
Sara Arjona a9cf9eb991 weekly release 4.1.19+ 2025-07-31 16:08:52 +02:00
Sara Arjona 9269de8830 Merge branch 'install_401_STABLE' of https://git.in.moodle.com/amosbot/moodle-install into MOODLE_401_STABLE 2025-07-31 16:08:49 +02:00
Michael Hawkins 4d2b0e8e17 Merge branch 'MDL-85362-401' of https://github.com/HuongNV13/moodle into MOODLE_401_STABLE 2025-07-31 14:43:17 +08:00
Huong Nguyen 71a794bec6 Merge branch 'MDL-84485-Select-webservice-in-wstoken-behat-breadcrumb-401' of https://github.com/farhan6318/moodle into MOODLE_401_STABLE 2025-07-31 10:18:05 +07:00
AMOS bot ba9ed2e56e Automatically generated installer lang files 2025-07-31 00:07:46 +00:00
Mihail Geshoski ae15c3d214 Merge branch 'MDL-86113-401' of https://github.com/snake/moodle into MOODLE_401_STABLE 2025-07-30 23:28:04 +08:00
Farhan Karmali 80c8402050 MDL-84485 webservice: Add Behat step for mobile web service selection 2025-07-29 16:09:02 +05:30
AMOS bot 53e2ba10f2 Automatically generated installer lang files 2025-07-28 13:16:42 +00:00
Philipp Imhof ccf93c9b86 MDL-85565 phpunit: check for <select> before <option>
Make sure that assert_select_options() will fail when the output does
not contain a <select> and therefore does not have the given options.
2025-07-25 13:14:16 +02:00
Jake Dallimore dfa1545e4c MDL-86113 mod_lti: skip slow network calls during tests
This check exists to determine whether a given tool URL is a cartridge,
specifically when the URL does not end in .xml. It hits the URL to
determine this. In tests, we have many mock tool URLs, which won't
resolve, and running this code causes large hangs and random failures.
Any tests covering cartridge support still work fine, provided they
continue to use URLs ending in .xml; this change only skips the check
during tests for other non-xml URLs.
2025-07-25 16:52:18 +08:00
Michael Hawkins 206a64a376 weekly release 4.1.19+ 2025-07-25 12:14:56 +08:00
Huong Nguyen 1a2eab4adb Merge branch 'MDL-86049-401' of https://github.com/andrewnicols/moodle into MOODLE_401_STABLE 2025-07-24 09:48:04 +07:00
Huong Nguyen 3a68cb5ec1 MDL-85362 core: Define environment requirements for Moodle 5.1 2025-07-22 10:54:31 +07:00
Andrew Nicols 7b79251c63 MDL-86049 core: Do not use the component cache before purge
When trying to resolve a corrupt cache where it is not possible to
complete the Moodle setup/bootstrap, it is necessary to ignore the
current cache to load the cache purging infrastructure.
2025-07-21 12:25:26 +08:00
Mihail Geshoski 8adb42acb7 weekly release 4.1.19+ 2025-07-18 14:53:06 +08:00
Mihail Geshoski 3491e73f43 Merge branch 'install_401_STABLE' of https://git.in.moodle.com/amosbot/moodle-install into MOODLE_401_STABLE 2025-07-18 14:53:03 +08:00
Huong Nguyen 16fe869164 Merge branch 'MDL-86016-401' of https://github.com/andrewnicols/moodle into MOODLE_401_STABLE 2025-07-15 09:56:54 +07:00
Andrew Nicols 6b56bfbb2f MDL-86016 core: Remove xmldb test in favour of unit test 2025-07-15 09:33:19 +08:00
Andrew Nicols 6e37aba2f1 MDL-86016 tests: Make install.xml test less restrictive 2025-07-15 09:33:19 +08:00
AMOS bot ad38a2d971 Automatically generated installer lang files 2025-07-12 00:07:38 +00:00
Michael Hawkins 5f47dc23ff weekly release 4.1.19+ 2025-07-11 12:49:45 +08:00
Mihail Geshoski 70fe9e2361 Merge branch 'MDL-85689-401' of https://github.com/andelacruz/moodle into MOODLE_401_STABLE 2025-07-10 11:36:06 +08:00
andelacruz 3dada91163 MDL-85689 mod_quiz: Behat for adding and deleting page from quiz 2025-07-09 16:32:44 +08:00
Huong Nguyen 34309b79a3 Merge branch 'MDL-85697-401' of https://github.com/andelacruz/moodle into MOODLE_401_STABLE 2025-07-09 09:11:07 +07:00
Huong Nguyen 4f5a6d3c5b Merge branch 'MDL-85947-M401_bump-GHA-ubuntu-24-04' of https://github.com/ziegenberg/moodle into MOODLE_401_STABLE 2025-07-08 17:36:03 +07:00
andelacruz 2eb2524353 MDL-85697 mod_lesson: Behat for lesson group and user overrides 2025-07-08 17:29:52 +08:00
andelacruz f669d7619b MDL-85697 mod_assign: Behat for assignment group and user overrides 2025-07-08 17:28:35 +08:00
andelacruz 93c7b15257 MDL-85697 mod_quiz: Behat for quiz group and user overrides 2025-07-08 17:23:44 +08:00
Daniel Ziegenberg 88d3c6e72b MDL-85947 ci: Bump GHA to Ubuntu 24.04
Signed-off-by: Daniel Ziegenberg <daniel@ziegenberg.at>
2025-07-07 16:17:54 +02:00
Mihail Geshoski 3342f23b29 weekly release 4.1.19+ 2025-07-06 09:31:13 +08:00
Mihail Geshoski d450f05832 Merge branch 'install_401_STABLE' of https://git.in.moodle.com/amosbot/moodle-install into MOODLE_401_STABLE 2025-07-06 09:31:09 +08:00
Mihail Geshoski c5900cbe2e Merge branch 'patch/MDL-85666-401' of https://github.com/skodak/moodle into MOODLE_401_STABLE 2025-07-03 09:53:02 +08:00
Petr Skoda 220d1d7a23 MDL-85666 phpunit: add general plugin tests
This defines new group which can be used
to limit execution of these tests to one plugin only.

For example to execute all tests for Label module use:

phpunit --testsuite=mod_label_testsuite
phpunit --group=plugin_checks --filter=mod_label

or

phpunit --filter=mod_label
2025-07-02 07:11:25 +02:00
AMOS bot b56058f1d5 Automatically generated installer lang files 2025-07-02 00:09:35 +00:00
Huong Nguyen 27396dc954 weekly release 4.1.19+ 2025-06-29 16:19:04 +07:00
Huong Nguyen f489998aec Merge branch 'install_401_STABLE' of https://git.in.moodle.com/amosbot/moodle-install into MOODLE_401_STABLE 2025-06-29 16:19:02 +07:00
Mihail Geshoski 8b2c1e4297 Merge branch 'MDL-85665-401' of https://github.com/andelacruz/moodle into MOODLE_401_STABLE 2025-06-26 10:41:33 +08:00
andelacruz 44f0e44d8b MDL-85665 mod_quiz: Behat to build quiz in single activity format course 2025-06-24 18:26:15 +08:00
AMOS bot 7251cc06d3 Automatically generated installer lang files 2025-06-15 00:09:37 +00:00
Mihail Geshoski 4f61b2974b weekly release 4.1.19+ 2025-06-13 14:43:57 +08:00
Huong Nguyen 88d166ba77 MDL-85316 dml: Revert DB vendor changes 2025-06-12 17:11:49 +07:00
Huong Nguyen 13a23c43aa Merge branch 'MDL-85316-401-mysql-version' of https://github.com/meirzamoodle/moodle into MOODLE_401_STABLE 2025-06-11 13:34:10 +07:00
meirzamoodle 4e3a28c454 MDL-85316 admin: Add environment check for AWS Aurora database 2025-06-11 10:49:13 +07:00
Mihail Geshoski a0a0458154 Moodle release 4.1.19 2025-06-06 12:26:16 +08:00
Sara Arjona 58d1571e08 weekly release 4.1.18+ 2025-06-05 16:43:46 +02:00
Michael Hawkins 75283557ad MDL-83762 core_files: Bind resolve IPs and ports to cURL calls 2025-06-05 12:10:26 +07:00
Vincent Schneider 7d23d3ae3a MDL-84518 course: improved course visibility state handling 2025-06-05 11:23:19 +07:00
Mark Johnson af2c368089 MDL-85323 core: Don't cache the login page 2025-06-05 11:02:54 +07:00
meirzamoodle 3b7f2aa473 MDL-85375 libraries: Escaping a query parameter on pg_insert_id() 2025-06-02 09:55:58 +07:00
Vincent Schneider 00bef0f91d MDL-84706 bigbluebuttonbn: improved authorization and mitigate CSRF risks 2025-05-30 08:40:21 +00:00
Huong Nguyen 26e53e8cc2 MDL-79993 course: Fix PHPUnit failure 2025-05-30 08:40:21 +00:00
raortegar be0dea2892 MDL-79993 course: Improve user access to recent courses service 2025-05-30 08:40:21 +00:00
Vincent Schneider e522e7fc67 MDL-84497 badges: fix missing action sesskey checks. 2025-05-30 08:40:21 +00:00
Michael Hawkins 7e19a2a640 weekly release 4.1.18+ 2025-05-30 16:29:50 +08:00
Michael Hawkins 724275abbc Merge branch 'install_401_STABLE' of https://git.in.moodle.com/amosbot/moodle-install into MOODLE_401_STABLE 2025-05-30 16:29:43 +08:00
Huong Nguyen ea79441d28 Merge branch 'MDL-85525-401' of https://github.com/andelacruz/moodle into MOODLE_401_STABLE 2025-05-29 09:52:08 +07:00
Huong Nguyen ca580b25b9 Merge branch 'MDL-85400-401' of https://github.com/lameze/moodle into MOODLE_401_STABLE 2025-05-29 09:00:17 +07:00
Huong Nguyen 2f785afb00 Merge branch 'MDL-85389-401' of https://github.com/andelacruz/moodle into MOODLE_401_STABLE 2025-05-29 08:53:08 +07:00
AMOS bot 7b6fddd811 Automatically generated installer lang files 2025-05-29 00:07:40 +00:00
andelacruz ac77c1c217 MDL-85525 mod_quiz: Behat test for quiz attempt page block display 2025-05-28 16:20:56 +08:00
andelacruz 71bbfc2495 MDL-85389 mod_lesson: Behat for filtering lesson reports/essays by group 2025-05-28 15:42:08 +08:00
sam marshall c56c08e9ce 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 13:14:34 +08:00
Huong Nguyen 4c3df551a4 weekly release 4.1.18+ 2025-05-23 11:04:05 +07:00
Huong Nguyen 516b81954a Merge branch 'install_401_STABLE' of https://git.in.moodle.com/amosbot/moodle-install into MOODLE_401_STABLE 2025-05-23 11:04:04 +07:00
Huong Nguyen 4caed80b37 Merge branch 'MDL-84793-m401' of https://github.com/sammarshallou/moodle into MOODLE_401_STABLE 2025-05-22 10:49:00 +07:00
Huong Nguyen 7f6e49af41 Merge branch 'MDL-84918-401' of https://github.com/HuongNV13/moodle into MOODLE_401_STABLE 2025-05-22 10:35:05 +07:00
David Woloszyn 69cca28118 MDL-84918 core: Add zend.exception_ignore_args environment check 2025-05-22 10:12:03 +07:00
Huong Nguyen 3e30033749 MDL-84918 core: Add initial environment requirements for Moodle 5.1 2025-05-22 10:12:03 +07:00
Huong Nguyen d61b9111fa Merge branch 'MDL-85374-401' of https://github.com/andrewnicols/moodle into MOODLE_401_STABLE 2025-05-21 09:56:32 +07:00
AMOS bot 07a30d6650 Automatically generated installer lang files 2025-05-21 00:07:37 +00:00
Andrew Nicols 6f25549278 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 13:09:53 +08:00
Mihail Geshoski 5ee4098ce5 weekly release 4.1.18+ 2025-05-16 12:59:25 +08:00
Mihail Geshoski 44956b2463 Merge branch 'install_401_STABLE' of https://git.in.moodle.com/amosbot/moodle-install into MOODLE_401_STABLE 2025-05-16 12:59:18 +08:00
sam marshall e65075c421 MDL-84793 Behat: Allow CLI scripts to run on Behat instance 2025-05-15 08:51:54 +01:00
Huong Nguyen 3d95f94ca6 Merge branch 'MDL-85279-401' of https://github.com/andelacruz/moodle into MOODLE_401_STABLE 2025-05-15 11:43:10 +07:00
andelacruz 1b51d716e2 MDL-85279 mod_assign: Renamed behat test to a more specific name 2025-05-14 15:17:01 +08:00
andelacruz 7602fa7ad9 MDL-85279 mod_page: Fix behat to match the expected behaviour 2025-05-14 15:13:15 +08:00
AMOS bot f2ef4c6808 Automatically generated installer lang files 2025-05-10 00:07:38 +00:00
Huong Nguyen 757f0a56c9 weekly release 4.1.18+ 2025-05-09 09:50:36 +07:00
Huong Nguyen e22f3d47c2 Merge branch 'install_401_STABLE' of https://git.in.moodle.com/amosbot/moodle-install into MOODLE_401_STABLE 2025-05-09 09:50:35 +07:00
Huong Nguyen 1ef498d989 Merge branch 'MDL-84654-401' of https://github.com/andelacruz/moodle into MOODLE_401_STABLE 2025-05-08 08:44:56 +07:00
AMOS bot 747fff61c4 Automatically generated installer lang files 2025-05-07 00:07:33 +00:00
Angelia Dela Cruz 0f368a42cc MDL-84654 mod_assign: Assignment additional files can be hidden 2025-05-06 13:24:37 +08:00
Huong Nguyen 186284ec1f Merge branch 'MDL-85310-401' of https://github.com/andelacruz/moodle into MOODLE_401_STABLE 2025-05-06 10:32:40 +07:00
Huong Nguyen cdfdfc30d9 Merge branch 'MDL-85226-401' of https://github.com/mackensen/moodle into MOODLE_401_STABLE 2025-05-06 10:30:38 +07:00
AMOS bot 6c95086bc9 Automatically generated installer lang files 2025-05-01 00:07:39 +00:00
Angelia Dela Cruz 45ef55471b MDL-85310 qtype: Renamed duplicate scenario names to fix warning 2025-04-30 13:36:18 +08:00
AMOS bot ac270cb26f Automatically generated installer lang files 2025-04-23 00:07:39 +00:00
AMOS bot b2ba6624ce Automatically generated installer lang files 2025-04-20 00:08:01 +00:00
AMOS bot b57eb5dd88 Automatically generated installer lang files 2025-04-19 00:07:37 +00:00
AMOS bot 9bf42e7aad Automatically generated installer lang files 2025-04-18 00:07:40 +00:00
Charles Fulton 4318e21563 MDL-85226 gha: Pin mongodb extension version 2025-04-16 15:28:57 -04:00
Jun Pataleta 2a900d6ed9 Moodle release 4.1.18 2025-04-13 09:52:10 +08:00
Huong Nguyen 385721f105 weekly release 4.1.17+ 2025-04-11 22:02:30 +07:00
Huong Nguyen 83c5af5001 Merge branch 'install_401_STABLE' of https://git.in.moodle.com/amosbot/moodle-install into MOODLE_401_STABLE 2025-04-11 22:02:29 +07:00
Sara Arjona 1b995b811d MDL-83994 course: Adapt PHPUnit to lower PHP versions 2025-04-11 19:24:57 +08:00
Huong Nguyen 52ad957d74 MDL-72704 message: Fix fetching for user has already contacted 2025-04-11 17:46:51 +08:00
Paul Holden edb68975d1 MDL-84865 cohort: improve system report validation of parameters. 2025-04-11 12:47:07 +08:00
Jun Pataleta 9d84286479 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:19:28 +08:00
Stevani Andolo 7b8be76dd9 MDL-72704 message: Fix fetching of conversation member info 2025-04-11 12:19:28 +08:00
raortegar c2bcdedbd6 MDL-85104 lib: Add additional check to local URLs params. 2025-04-11 10:22:58 +07:00
James C ca40241461 MDL-83994 course: Respect course_can_delete_section() in AJAX 2025-04-11 13:07:26 +10:00
Paul Holden 5e7ec29c65 MDL-84473 repository_equella: safer unserializing of file references. 2025-04-11 09:52:40 +07:00
Paul Holden 193e6b0fad MDL-84475 repository_dropbox: safer unserializing of file references. 2025-04-11 09:34:44 +07:00
Michael Hawkins b7a8375e65 MDL-85152 filter_tex: Update deny list and slash handling 2025-04-10 14:21:39 +08:00
Paul Holden 10e93d074b MDL-84478 tool_brickfield: verify sesskey prior to course analysis. 2025-04-10 13:07:36 +08:00
Paul Holden 0e6246db29 MDL-84499 block_rss_client: user access checks for viewing feed. 2025-04-10 12:32:57 +08:00
Paul Holden 58efa0fa10 MDL-65356 mod_data: update entry editing/deletion to not leak sesskey. 2025-04-10 10:08:23 +07:00
Paul Holden afc3bfc296 MDL-84750 course: require user be able to view course participants. 2025-04-10 09:31:11 +08:00
Paul Holden 9af8958b03 MDL-84479 tool_usertours: verify sesskey prior to tour duplication. 2025-04-08 16:16:42 +07:00
AMOS bot 896da8f473 Automatically generated installer lang files 2025-04-08 00:07:36 +00:00
Huong Nguyen 90fa1113f2 weekly release 4.1.17+ 2025-04-04 22:20:22 +07:00
Jun Pataleta aaf985001e Merge branch 'MDL-84907-401' of https://github.com/HuongNV13/moodle into MOODLE_401_STABLE 2025-04-04 11:31:11 +08:00
Shamim Rezaie 9b81be597c Merge branch 'MDL-85000-401' of https://github.com/HuongNV13/moodle into MOODLE_401_STABLE 2025-04-03 06:14:42 +11:00
Huong Nguyen 998f6ce060 MDL-85000 media_videojs: Enable Ogv.JS Tech for all browsers 2025-04-02 13:10:37 +07:00
Sara Arjona 881ad82c44 weekly release 4.1.17+ 2025-03-28 12:48:32 +01:00
Sara Arjona 5c163fff89 Merge branch 'install_401_STABLE' of https://git.in.moodle.com/amosbot/moodle-install into MOODLE_401_STABLE 2025-03-28 12:48:31 +01:00
Paul Holden 1ac64c87f9 MDL-85048 core: define mapping for new America/Coyhaique zone.
Follows same process as other timezone additions in d5ec3594.
2025-03-28 08:58:49 +00:00
Huong Nguyen ce35013ebf Merge branch 'MDL-85048-401' of https://github.com/lameze/moodle into MOODLE_401_STABLE 2025-03-28 15:01:38 +07:00
Simey Lameze 8de6b2d6f4 MDL-85048 phpunit: add america/coyhaique timezone 2025-03-28 15:00:39 +08:00
AMOS bot 81fc25e7fa Automatically generated installer lang files 2025-03-28 00:08:28 +00:00
Huong Nguyen 5efe1cbf3c weekly release 4.1.17+ 2025-03-26 08:56:13 +07:00
Huong Nguyen 5deff67cea Merge branch 'install_401_STABLE' of https://git.in.moodle.com/amosbot/moodle-install into MOODLE_401_STABLE 2025-03-26 08:56:12 +07:00
Huong Nguyen 14cb950ff3 Merge branch 'MDL-83160-401' of https://github.com/mickhawkins/moodle into MOODLE_401_STABLE 2025-03-24 14:55:08 +07:00
AMOS bot 374028b418 Automatically generated installer lang files 2025-03-22 00:07:37 +00:00
Huong Nguyen f0133eaae1 weekly release 4.1.17+ 2025-03-21 22:04:26 +07:00
Huong Nguyen 18998a6051 Merge branch 'install_401_STABLE' of https://git.in.moodle.com/amosbot/moodle-install into MOODLE_401_STABLE 2025-03-21 22:04:25 +07:00
AMOS bot 00b94dec34 Automatically generated installer lang files 2025-03-21 00:07:37 +00:00
Huong Nguyen 71269d9c8f MDL-84905 Behat: Fix I set the following administration settings failure 2025-03-19 09:17:38 +07:00
Huong Nguyen 61c44c40d8 MDL-84907 backup: Fix invalid CTRL characters regex 2025-03-18 14:13:52 +07:00
Jun Pataleta b05bd11a84 Moodle release 4.1.17 2025-03-15 20:19:11 +08:00
Ilya Tregubov 57fc983d37 MDL-81945 gradereport_singleview: Fix hidden grade handling.
Seems to become broken after IR refactoring.
2025-03-14 15:20:15 +00:00
Ilya Tregubov eef27680b9 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:20:15 +00:00
Ilya Tregubov c57def5dd1 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:20:15 +00:00
Sara Arjona 67c6b85e1f weekly release 4.1.16+ 2025-03-14 16:14:21 +01:00
Sara Arjona 57daa7a932 Merge branch 'install_401_STABLE' of https://git.in.moodle.com/amosbot/moodle-install into MOODLE_401_STABLE 2025-03-14 16:14:18 +01:00
Michael Hawkins 4629c45815 MDL-83160 core: Update security.txt expiry 2025-03-13 20:36:10 +08:00
Huong Nguyen 0fcd9f04cc Merge branch 'MDL-84640-401' of https://github.com/andelacruz/moodle into MOODLE_401_STABLE 2025-03-12 16:32:53 +07:00
Angelia Dela Cruz 2342c3f0c8 MDL-84640 analytics: Behat for obtaining prediction models insights 2025-03-12 17:01:32 +08:00
Sara Arjona 5bf1fb6564 Merge branch 'MDL-84801-401' of https://github.com/HuongNV13/moodle into MOODLE_401_STABLE 2025-03-11 17:26:42 +01:00
Huong Nguyen 4a719ac83a MDL-84801 Behat: Fix Expand all fieldsets and advanced elements failure 2025-03-11 09:25:08 +07:00
AMOS bot df1e1b6fb2 Automatically generated installer lang files 2025-03-11 00:07:39 +00:00
AMOS bot dc57f7a253 Automatically generated installer lang files 2025-03-10 00:07:29 +00:00
Jun Pataleta 509b1110d3 weekly release 4.1.16+ 2025-03-08 11:44:46 +08:00
Andrew Nicols 45cc6fe44d Merge branch 'MDL-84723-401' of https://github.com/lameze/moodle into MOODLE_401_STABLE 2025-03-06 11:51:50 +08:00
Simey Lameze 593e08c20d 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:24:27 +08:00
Angelia Dela Cruz d6841046f1 MDL-84723 gradingform: Behat for maximum grade mismatch in marking guide 2025-03-06 11:24:27 +08:00
Huong Nguyen e768e90859 Merge branch 'MDL-84425-401' of https://github.com/andelacruz/moodle into MOODLE_401_STABLE 2025-03-05 10:52:13 +07:00
Angelia Dela Cruz 0ad8ac1c3b MDL-84425 theme_boost: Behat for course section selector unavailable 2025-03-05 11:21:20 +08:00
Sara Arjona 8bd8b19e00 weekly release 4.1.16+ 2025-03-04 16:13:54 +01:00
Sara Arjona 023694ac28 Merge branch 'install_401_STABLE' of https://git.in.moodle.com/amosbot/moodle-install into MOODLE_401_STABLE 2025-03-04 16:13:52 +01:00
Huong Nguyen ed789da14a Merge branch 'MDL-84595-401' of https://github.com/HuongNV13/moodle into MOODLE_401_STABLE 2025-03-04 10:56:16 +07:00
Andrew Nicols 0d78d3dde0 MDL-84595 tool_behat: Allow accessibility tests to run for a single Node 2025-03-04 10:24:29 +07:00
AMOS bot 648f9ab53e Automatically generated installer lang files 2025-03-02 00:08:01 +00:00
Sara Arjona 99445f3724 weekly release 4.1.16+ 2025-02-27 16:55:01 +01:00
Simey Lameze abe5b83ef4 MDL-84424 behat: add template_competencies generator and improve test 2025-02-27 07:59:56 +08:00
Angelia Dela Cruz 244db143eb MDL-84424 tool_lp: admin can create learning plans from template 2025-02-27 07:58:57 +08:00
Sara Arjona baa20b3778 Merge branch 'MDL-84609-401' of https://github.com/lameze/moodle into MOODLE_401_STABLE 2025-02-26 16:20:06 +01:00
Simey Lameze 0e45b4e1e1 MDL-84609 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-02-25 11:55:03 +08:00
Angelia Dela Cruz 70fc4013bd MDL-84609 tool: Replaced tool_lp generators with standard generators 2025-02-25 11:55:03 +08:00
Huong Nguyen 75f6669217 weekly release 4.1.16+ 2025-02-21 10:15:22 +07:00
Jun Pataleta b498552116 Merge branch 'MDL-84448-401' of https://github.com/lameze/moodle into MOODLE_401_STABLE 2025-02-20 12:10:10 +08:00
Simey Lameze 346e9a792b MDL-84448 behat: return null if theme has no config 2025-02-20 12:00:59 +08:00
Amanda Doughty 0fe4411848 MDL-84448 lib: Fixed behat context check for grandchild themes 2025-02-20 12:00:59 +08:00
Jun Pataleta f74a599586 Merge branch 'MDL-84592-401' of https://github.com/andrewnicols/moodle into MOODLE_401_STABLE 2025-02-20 11:45:48 +08:00
Jun Pataleta cbc56fd8f3 Merge branch 'MDL-84590-401' of https://github.com/andrewnicols/moodle into MOODLE_401_STABLE 2025-02-20 10:50:04 +08:00
Andrew Nicols b3e26daa43 MDL-84592 tool_behat: Improve accessibility failure information 2025-02-20 10:26:46 +08:00
Huong Nguyen 737a3ea643 Merge branch 'MDL-84498-401' of https://github.com/lameze/moodle into MOODLE_401_STABLE 2025-02-20 09:22:56 +07:00
Andrew Nicols 5742a54a93 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 10:00:05 +08:00
Jason Den Dulk 30c1019ab3 MDL-84498 lib: Fix reflection property regression. 2025-02-20 09:37:46 +08:00
Jun Pataleta d328504273 weekly release 4.1.16+ 2025-02-14 09:54:09 +08:00
Jun Pataleta c89cedc548 Merge branch 'install_401_STABLE' of https://git.in.moodle.com/amosbot/moodle-install into MOODLE_401_STABLE 2025-02-14 09:54:06 +08:00
Jun Pataleta 38657e7cab Merge branch 'MDL-84102-401' of https://github.com/andelacruz/moodle into MOODLE_401_STABLE 2025-02-13 11:49:07 +08:00
Angelia Dela Cruz 92cab9906d MDL-84102 message: Behat for setting default notification preferences 2025-02-12 15:37:51 +08:00
Huong Nguyen 2b58d92bac Merge branch 'MDL-84414-401' of https://github.com/andelacruz/moodle into MOODLE_401_STABLE 2025-02-11 11:18:15 +07:00
Angelia Dela Cruz 16c162352d MDL-84414 gradingform_guide: Behat test to set marking guide as ready 2025-02-11 11:30:29 +08:00
AMOS bot affa5dbfb3 Automatically generated installer lang files 2025-02-11 00:09:05 +00:00
Sara Arjona 4ab2ebfd52 Moodle release 4.1.16 2025-02-07 12:18:13 +01:00
Sara Arjona 7e75e0f6e6 weekly release 4.1.15+ 2025-02-06 16:21:54 +01:00
Laurent David 44971ebf69 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:18:52 +08:00
Paul Holden acaabbd33a MDL-84003 mod_glossary: capability check restoring trusted entry text. 2025-02-06 10:52:36 +08:00
Paul Holden 284d10b1a0 MDL-84145 report_loglive: format event description as plain text. 2025-02-06 09:45:01 +07:00
Leon Stringer 14c8090b55 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:15:26 +01:00
Paul Holden 9e03548e75 MDL-84239 badges: correct context check when disabling badge. 2025-02-04 15:20:48 +08:00
David Woloszyn 68377be294 MDL-84136 filter_tex: Improve sanitization of forbidden items 2025-02-04 11:36:14 +07:00
meirzamoodle 0c1a24258e MDL-84023 lib: Update requirejs to 2.3.7 2025-01-31 02:30:25 +00:00
Marina Glancy 88e8a31d77 MDL-83941 tags: prevent users from browsing unsearchable collections 2025-01-31 02:30:25 +00:00
Mihail Geshoski 875d4627ee 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-01-31 02:30:25 +00:00
Huong Nguyen ddf5aa14c0 weekly release 4.1.15+ 2025-01-31 09:20:50 +07:00
Huong Nguyen 33b1fce7ed Merge branch 'install_401_STABLE' of https://git.in.moodle.com/amosbot/moodle-install into MOODLE_401_STABLE 2025-01-31 09:20:48 +07:00
Huong Nguyen 2eb2f70d5b Merge branch 'MDL-84103-401' of https://github.com/andelacruz/moodle into MOODLE_401_STABLE 2025-01-30 11:10:43 +07:00
Angelia Dela Cruz 56a423e014 MDL-84103 imscc: Behat test for import IMS Cartridge to course 2025-01-30 11:32:47 +08:00
Sara Arjona 6a47c68934 Merge branch 'MDL-84355-401' of https://github.com/andrewnicols/moodle into MOODLE_401_STABLE 2025-01-29 08:10:11 +01:00
Andrew Nicols 14917f6e76 MDL-84355 phpunit: Exclude fixtures from testsuite search 2025-01-29 11:46:01 +08:00
Andrew Nicols b8f287220e MDL-84355 phpunit: Correct test path for component configs 2025-01-29 11:46:01 +08:00
AMOS bot 7557fbb2b1 Automatically generated installer lang files 2025-01-28 00:07:34 +00:00
Sara Arjona 2a753faf06 weekly release 4.1.15+ 2025-01-23 17:35:10 +01:00
Sara Arjona cb763e4270 Merge branch 'install_401_STABLE' of https://git.in.moodle.com/amosbot/moodle-install into MOODLE_401_STABLE 2025-01-23 17:35:08 +01:00
Huong Nguyen 16d54354e1 Merge branch 'MDL-84101-401' of https://github.com/lameze/moodle into MOODLE_401_STABLE 2025-01-23 09:10:02 +07:00
Huong Nguyen 9ac07d439b Merge branch 'MDL-84249-401' of https://github.com/lameze/moodle into MOODLE_401_STABLE 2025-01-23 09:03:17 +07:00
Simey Lameze 2eea1e66aa MDL-84101 behat: add step to save changes
Signed-off-by: Simey Lameze <simey@moodle.com>
2025-01-23 07:28:20 +08:00
Angelia Dela Cruz 4ff4908e9c MDL-84101 message: Behat test for managing notification options 2025-01-23 07:28:20 +08:00
Simey Lameze 12e921f0ca MDL-84249 behat: remove unnecessary javascript tag
This commit also make the repeated scenario names unique.
2025-01-20 13:01:25 +08:00
Jun Pataleta 5a14c6fdb1 Merge branch 'MDL-83814-401' of https://github.com/andrewnicols/moodle into MOODLE_401_STABLE 2025-01-20 09:58:21 +08:00
AMOS bot b634baaca3 Automatically generated installer lang files 2025-01-17 00:07:36 +00:00
Huong Nguyen 263b3c3f0e weekly release 4.1.15+ 2025-01-16 23:47:01 +07:00
Huong Nguyen e41dad9423 Merge branch 'install_401_STABLE' of https://git.in.moodle.com/amosbot/moodle-install into MOODLE_401_STABLE 2025-01-16 23:46:59 +07:00
Jun Pataleta 80bd52733a Merge branch 'MDL-83826-401' of https://github.com/lameze/moodle into MOODLE_401_STABLE 2025-01-16 10:22:15 +08:00
Jun Pataleta 4c69d9d3b6 Merge branch 'MDL-83172-401-test' of https://github.com/meirzamoodle/moodle into MOODLE_401_STABLE 2025-01-15 17:02:28 +08:00
Angelia Dela Cruz 79fcb4562d MDL-83826 core_admin: Behat coverage for plugins overview for admins 2025-01-15 14:02:52 +08:00
meirzamoodle b12debf39d MDL-83172 environment: Fix undefined array key error 2025-01-14 16:34:54 +07:00
meirzamoodle 6148d59278 MDL-83172 environment: Remove Oracle from LMS 2025-01-14 16:34:54 +07:00
Jun Pataleta e438eac610 Merge branch 'MDL-84124-401' of https://github.com/andrewnicols/moodle into MOODLE_401_STABLE 2025-01-14 11:12:39 +08:00
AMOS bot b201cd1603 Automatically generated installer lang files 2025-01-14 00:07:28 +00:00
Andrew Nicols ed0ebd5aaf MDL-83814 core: Bump Node to latest LTS 2025-01-13 09:07:11 +08:00
AMOS bot f2095ad725 Automatically generated installer lang files 2025-01-13 00:07:36 +00:00
Andrew Nicols 3814817723 MDL-84152 tests: Remove extraneous / in external file URL generation 2025-01-10 14:54:12 +08:00
AMOS bot a1f26cacb7 Automatically generated installer lang files 2025-01-09 00:09:41 +00:00
Andrew Nicols 61a36cf0f8 MDL-84124 cache: Purge Redis cache between tests 2025-01-09 08:00:58 +08:00
AMOS bot 02b8c94671 Automatically generated installer lang files 2025-01-08 00:07:32 +00:00
Huong Nguyen f1fbfdf610 weekly release 4.1.15+ 2025-01-03 13:54:27 +07:00
Huong Nguyen 98ecdb47bc Merge branch 'install_401_STABLE' of https://git.in.moodle.com/amosbot/moodle-install into MOODLE_401_STABLE 2025-01-03 13:54:25 +07:00
AMOS bot 3bd7bbbcba Automatically generated installer lang files 2025-01-01 00:07:35 +00:00
AMOS bot 87020c31c0 Automatically generated installer lang files 2024-12-25 00:09:41 +00:00
Huong Nguyen 5eb2c8adc5 Merge branch 'MDL-83988-401' of https://github.com/andrewnicols/moodle into MOODLE_401_STABLE 2024-12-24 09:30:23 +07:00
AMOS bot 59dd6799e0 Automatically generated installer lang files 2024-12-22 00:07:52 +00:00
AMOS bot 07bdf06dd0 Automatically generated installer lang files 2024-12-21 00:07:27 +00:00
AMOS bot 2c408afd03 Automatically generated installer lang files 2024-12-20 00:07:30 +00:00
Jun Pataleta a413dc47c8 weekly release 4.1.15+ 2024-12-19 20:08:33 +08:00
Jun Pataleta 353e63d902 Merge branch 'install_401_STABLE' of https://git.in.moodle.com/amosbot/moodle-install into MOODLE_401_STABLE 2024-12-19 20:08:31 +08:00
Jun Pataleta 1979f51374 Merge branch 'MDL-84026-401' of https://github.com/andrewnicols/moodle into MOODLE_401_STABLE 2024-12-18 13:24:36 +08:00
Andrew Nicols e63a6df97e Merge branch 'MDL-84018-401' of https://github.com/lameze/moodle into MOODLE_401_STABLE 2024-12-18 10:59:15 +08:00
Andrew Nicols 59d0291ff5 MDL-84026 core: Update GitHub Funding to point to fund.moodle.org 2024-12-18 10:46:11 +08:00
Huong Nguyen 9f9cad60e4 Merge branch 'MDL-84000-401' of https://github.com/paulholden/moodle into MOODLE_401_STABLE 2024-12-18 09:05:40 +07:00
Sara Arjona 181630c47b Merge branch 'MDL-83696-401' of https://github.com/andelacruz/moodle into MOODLE_401_STABLE 2024-12-17 07:42:15 +01:00
Angelia Dela Cruz fc71e94526 MDL-83696 core_tag: Added behat for book chapter and glossary entry tags 2024-12-17 10:11:12 +08:00
Simey Lameze a2b4d0cf9b MDL-84018 phpunit: extend test class to advanced_testcase
Signed-off-by: Simey Lameze <simey@moodle.com>
2024-12-17 07:08:42 +08:00
AMOS bot f37a6cecc8 Automatically generated installer lang files 2024-12-15 00:08:09 +00:00
Paul Holden 534b2b1c69 MDL-84000 reportbuilder: move testcase helper to autoloaded namespace.
Clean up some class imports while we're at it.
2024-12-13 12:49:00 +00:00
Huong Nguyen 7648029803 weekly release 4.1.15+ 2024-12-13 08:58:42 +07:00
Huong Nguyen a82da7dc45 Merge branch 'install_401_STABLE' of https://git.in.moodle.com/amosbot/moodle-install into MOODLE_401_STABLE 2024-12-13 08:58:40 +07:00
Andrew Nicols 4ce1d4e0b7 MDL-83988 core: Hide common machine-read files 2024-12-11 23:36:03 +08:00
Andrew Nicols 84cdeff486 MDL-81520 mod_assign: Update tests to not extend assign_provider test 2024-12-11 12:30:21 +08:00
Andrew Nicols 5be481d1d0 MDL-81520 core: Fix test finality 2024-12-11 12:30:21 +08:00
AMOS bot 76d4b498db Automatically generated installer lang files 2024-12-11 00:07:34 +00:00
AMOS bot f0c5dc196d Automatically generated installer lang files 2024-12-10 00:07:34 +00:00
AMOS bot f08bf60442 Automatically generated installer lang files 2024-12-08 00:07:52 +00:00
Huong Nguyen 3d7496dacd Moodle release 4.1.15 2024-12-06 13:12:41 +07:00
Huong Nguyen 253eece808 weekly release 4.1.14+ 2024-12-05 22:33:11 +07:00
Huong Nguyen 65e7470b92 MDL-83921 competency: Update unit tests with latest changes 2024-12-05 18:42:42 +08:00
Huong Nguyen bd115c5e1a MDL-82379 core_user: Move email change token to user private access key 2024-12-05 13:38:54 +08:00
Huong Nguyen 3b680fa554 MDL-83921 competency: Bump version 2024-12-05 11:22:32 +07:00
Michael Hawkins 0b0f121e89 MDL-83921 competency: Match web service capability check with page check 2024-12-05 11:22:25 +07:00
Huong Nguyen 7c98470586 MDL-82963 Tag: Improve validation for users tagged with sepecified tag 2024-12-05 11:03:37 +08:00
Laurent David 6807076172 MDL-82757 mod_data: Improve group access handling
* Improved handling of group access to ensure correct visibility of records.
2024-12-04 02:50:19 +00:00
Jun Pataleta b34c006bfd MDL-61316 core: Fix session gc unit tests 2024-12-04 02:50:19 +00:00
meirzamoodle 9555192935 MDL-61316 core: Removed 5x multiplier from guest session expiration 2024-12-04 02:50:19 +00:00
Huong Nguyen e25bcf9ede Merge branch 'MDL-82946-401' of https://github.com/lameze/moodle into MOODLE_401_STABLE 2024-12-04 09:40:19 +07:00
Angelia Dela Cruz 311adf5f6f MDL-82946 qbank: Behat coverage for questions bulk actions 2024-12-03 10:44:28 +08:00
Sara Arjona 6fb1e19c1e weekly release 4.1.14+ 2024-11-29 12:37:13 +01:00
Jun Pataleta 585780a182 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:06:46 +07:00
Huong Nguyen 52ce316caa Merge branch 'MDL-83470-401' of https://github.com/junpataleta/moodle into MOODLE_401_STABLE 2024-11-28 11:04:39 +07:00
Huong Nguyen bb31fe88fb Merge branch 'MDL-83643-401' of https://github.com/lameze/moodle into MOODLE_401_STABLE 2024-11-28 09:22:37 +07:00
Andrew Nicols 4fdafd4263 MDL-83788 mod_glossary: Correct assertions for assertArrayHasKey 2024-11-27 13:26:01 +11:00
Jun Pataleta 6374ec5013 weekly release 4.1.14+ 2024-11-22 22:27:13 +08:00
Jun Pataleta 329357ccff MDL-83470 core: Define environment requirements for Moodle 5.0 2024-11-21 17:35:43 +08:00
Andrew Nicols 2d69b8442e Merge branch 'MDL-83551-401' of https://github.com/lameze/moodle into MOODLE_401_STABLE 2024-11-21 12:27:21 +08:00
Jun Pataleta 953d1b8254 Merge branch 'MDL-81521-401' of https://github.com/andrewnicols/moodle into MOODLE_401_STABLE 2024-11-19 15:15:36 +08:00
Huong Nguyen 693115bebb Merge branch 'MDL-83610-401' of https://github.com/marinaglancy/moodle into MOODLE_401_STABLE 2024-11-19 09:29:29 +07:00
Andrew Nicols 76d24aed1e MDL-81521 mod_quiz: Fix attempt walkthrough tests 2024-11-19 09:30:51 +08:00
Andrew Nicols 3d51aed3e2 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-19 09:30:51 +08:00
Marina Glancy 7a16d88a4e MDL-83610 behat: allow to set date fields in groups 2024-11-18 10:37:43 +00:00
Huong Nguyen eaa25cf51b weekly release 4.1.14+ 2024-11-15 09:21:49 +07:00
Jun Pataleta 249bc5b8f9 Merge branch 'MDL-80926-401' of https://github.com/lameze/moodle into MOODLE_401_STABLE 2024-11-14 12:05:28 +08:00
Huong Nguyen c519d282f4 Merge branch 'MDL-80689_401' of https://github.com/timhunt/moodle into MOODLE_401_STABLE 2024-11-13 14:01:34 +07:00
Simey Lameze 660bdcc5ec MDL-83643 behat: make manual completion scenario names unique 2024-11-13 07:19:22 +08:00
Simey Lameze 3e906fea06 MDL-83551 behat: make duplicated scenario names unique 2024-11-13 07:03:02 +08:00
Huong Nguyen 6f07919b5f weekly release 4.1.14+ 2024-11-08 13:56:59 +07:00
Huong Nguyen 89e9b922aa Merge branch 'MDL-83619-401' of https://github.com/lameze/moodle into MOODLE_401_STABLE 2024-11-07 11:06:21 +07:00
Huong Nguyen 3087133bb6 Merge branch 'MDL-83611-401' of https://github.com/lameze/moodle into MOODLE_401_STABLE 2024-11-07 11:03:09 +07:00
Simey Lameze 364460d796 MDL-80926 behat: fix random and improve h5p completion test 2024-11-06 13:37:19 +08:00
Simey Lameze 7cde7d004f MDL-83611 behat: increase window size to avoid randoms 2024-11-05 13:21:41 +08:00
Simey Lameze 644b843a94 MDL-83619 behat: enable bbb module early in the test 2024-11-05 10:23:51 +08:00
Huong Nguyen ddade6e964 weekly release 4.1.14+ 2024-11-01 14:29:39 +07:00
Huong Nguyen 672602d1e7 Merge branch 'install_401_STABLE' of https://git.in.moodle.com/amosbot/moodle-install into MOODLE_401_STABLE 2024-11-01 14:29:37 +07:00
Huong Nguyen 60a0d854ba Merge branch 'MDL-82911-401-fix' of https://github.com/lameze/moodle into MOODLE_401_STABLE 2024-10-31 14:15:21 +07:00
Simey Lameze 925c451f1a MDL-82911 behat: change future times example to minutes 2024-10-31 14:16:01 +08:00
Huong Nguyen dc92cc0e20 Merge branch 'MDL-82911-401' of https://github.com/andelacruz/moodle into MOODLE_401_STABLE 2024-10-31 11:04:10 +07:00
Huong Nguyen 3c8b723fdb Merge branch 'MDL-83414-401' of https://github.com/lameze/moodle into MOODLE_401_STABLE 2024-10-31 10:39:17 +07:00
Angelia Dela Cruz 24d86db351 MDL-83414 core_grades: Behat to test custom scale display 2024-10-31 10:10:19 +08:00
Tim Hunt 68b4f0ea52 MDL-80689 behat: add a transformation to get dirroot
Also, back-port #wwwroot# from MDL-78619 which was not backported at the time.
2024-10-30 14:05:01 +00:00
Angelia Dela Cruz 319efddb99 MDL-82911 mod_bigbluebuttonbn: Behat for BBB open and close date time 2024-10-29 12:48:50 +08:00
AMOS bot b0496fb383 Automatically generated installer lang files 2024-10-29 00:07:37 +00:00
Shamim Rezaie a6117d4b44 weekly release 4.1.14+ 2024-10-18 23:29:10 +11:00
Shamim Rezaie f7d43b77b1 Merge branch 'install_401_STABLE' of https://git.in.moodle.com/amosbot/moodle-install into MOODLE_401_STABLE 2024-10-18 23:29:09 +11:00
Jun Pataleta cae79de01c Merge branch 'MDL-83002-401' of https://github.com/marinaglancy/moodle into MOODLE_401_STABLE 2024-10-16 20:32:41 +08:00
AMOS bot 8ce983c55b Automatically generated installer lang files 2024-10-15 00:09:20 +00:00
AMOS bot 84d15d73a5 Automatically generated installer lang files 2024-10-13 00:07:42 +00:00
Jake Dallimore c783413759 weekly release 4.1.14+ 2024-10-11 10:55:14 +08:00
Jake Dallimore e3c328c91f Merge branch 'install_401_STABLE' of https://git.in.moodle.com/amosbot/moodle-install into MOODLE_401_STABLE 2024-10-11 10:55:13 +08:00
Jun Pataleta 8b772d1436 Merge branch 'MDL-82912-401' of https://github.com/andelacruz/moodle into MOODLE_401_STABLE 2024-10-10 10:35:16 +08:00
Angelia Dela Cruz a29d0ee99c MDL-82912 mod_workshop: Behat to view assessment after workshop close 2024-10-09 17:23:28 +08:00
Huong Nguyen fd5ddee7ed Merge branch 'MDL-83331_401' of https://github.com/timhunt/moodle into MOODLE_401_STABLE 2024-10-09 14:47:46 +07:00
AMOS bot ba88242f5f Automatically generated installer lang files 2024-10-09 00:09:14 +00:00
AMOS bot 0c9999bd22 Automatically generated installer lang files 2024-10-08 00:07:36 +00:00
Tim Hunt 29dc0bb3f6 MDL-83331 behat: enable navigation direct to mod/.../index.php 2024-10-07 12:06:07 +01:00
Jun Pataleta d56aa41e9e Moodle release 4.1.14 2024-10-05 14:46:30 +08:00
AMOS bot 5778558dae Automatically generated installer lang files 2024-10-05 00:07:35 +00:00
Huong Nguyen b7bf868042 weekly release 4.1.13+ 2024-10-04 20:48:25 +07:00
Huong Nguyen 06c20c4675 Merge branch 'install_401_STABLE' of https://git.in.moodle.com/amosbot/moodle-install into MOODLE_401_STABLE 2024-10-04 20:48:23 +07:00
AMOS bot f30a2bb18e Automatically generated installer lang files 2024-10-04 00:07:34 +00:00
Marina Glancy 5733851176 MDL-83002 theme_boost: tell behat to wait when initialising drawers 2024-10-03 16:02:13 +01:00
Michael Hawkins 92a2dcc96a MDL-83352 message: Update usercantbemessaged string 2024-10-03 17:48:46 +07:00
Shamim Rezaie 3a694fd6bf Merge branch 'MDL-83332-401' of https://github.com/meirzamoodle/moodle into MOODLE_401_STABLE 2024-10-03 02:25:33 +10:00
Paul Holden bb6a65da42 MDL-83180 reportbuilder: correct access check for viewing schedules. 2024-10-02 16:50:08 +08:00
meirzamoodle a11ffea697 MDL-83332 environment: Reverts the slashargument removal on MDL-62640
We are encountering Behat failures on MacOS and possibly Windows.

This reverts commit 3202109780.
2024-10-02 13:32:43 +07:00
Paul Holden 90d7307872 MDL-83181 reportbuilder: ensure audience correctness before delete. 2024-09-30 15:34:03 +07:00
Paul Holden 453dfc4f94 MDL-82386 block_rss_client: user access checks for feed edit/delete. 2024-09-27 11:50:19 +00:00
Huong Nguyen 75bffe9d96 weekly release 4.1.13+ 2024-09-27 18:44:25 +07:00
Huong Nguyen 22dc6301f0 Merge branch 'install_401_STABLE' of https://git.in.moodle.com/amosbot/moodle-install into MOODLE_401_STABLE 2024-09-27 18:44:23 +07:00
AMOS bot 7266fa1524 Automatically generated installer lang files 2024-09-27 00:07:35 +00:00
Jun Pataleta e0a09f31b1 Merge branch 'MDL-79288-401_blockaccessreview_colourcontrastcheck' of https://github.com/brickfield/moodle into MOODLE_401_STABLE 2024-09-26 19:45:12 +08:00
Michael Pound 72526c6f49 MDL-79288 block_accessreview: Improve heatmap colour contrast. 2024-09-26 08:14:55 +00:00
Huong Nguyen 5c0f33209e Merge branch 'MDL-62640-401' of https://github.com/meirzamoodle/moodle into MOODLE_401_STABLE 2024-09-26 11:08:03 +07:00
Sara Arjona 943ee4d484 weekly release 4.1.13+ 2024-09-24 16:52:22 +02:00
meirzamoodle acd31294f4 MDL-62640 environment: Remove the deprecated slash argument check 2024-09-23 13:08:45 +07:00
Sara Arjona b409287479 Merge branch 'MDL-81612_401' of https://github.com/timhunt/moodle into MOODLE_401_STABLE 2024-09-23 07:35:48 +02:00
Sara Arjona 13d98b9f6e weekly release 4.1.13+ 2024-09-20 16:36:32 +02:00
Sara Arjona 2b19e45d49 Merge branch 'install_401_STABLE' of https://git.in.moodle.com/amosbot/moodle-install into MOODLE_401_STABLE 2024-09-20 16:36:25 +02:00
Tim Hunt 7bde04468b 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-19 16:09:12 +01:00
AMOS bot 80b23a2afd Automatically generated installer lang files 2024-09-19 00:09:22 +00:00
Huong Nguyen da8e201e17 Merge branch 'MDL-81278-401' of https://github.com/mickhawkins/moodle into MOODLE_401_STABLE 2024-09-18 16:09:39 +07:00
AMOS bot d6950db0d9 Automatically generated installer lang files 2024-09-18 00:07:33 +00:00
Sara Arjona 661d66b452 Merge branch 'MDL-83076-401-v2' of https://github.com/lameze/moodle into MOODLE_401_STABLE 2024-09-17 17:21:40 +02:00
Simey Lameze 74a5cc0965 MDL-83076 behat: workaround Firefox 130.0 failure 2024-09-17 11:08:24 +08:00
Michael Hawkins 768a82b583 MDL-81278 core: Update security.txt expiry 2024-09-16 14:51:06 +08:00
AMOS bot 04d3db34ee Automatically generated installer lang files 2024-09-12 00:07:33 +00:00
AMOS bot c871b4d5f8 Automatically generated installer lang files 2024-09-11 00:07:36 +00:00
Huong Nguyen d3749a82ab weekly release 4.1.13+ 2024-09-10 20:03:11 +07:00
Huong Nguyen d7610a257f Merge branch 'MDL-83047-401' of https://github.com/junpataleta/moodle into MOODLE_401_STABLE 2024-09-10 10:48:21 +07:00
Jun Pataleta 62b840648d MDL-83047 theme_boost: Add upgrade note for theme plugins 2024-09-10 10:34:15 +08:00
Jun Pataleta 5f93e6ab03 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:01:33 +08:00
Jun Pataleta 69beec3d2a weekly release 4.1.13+ 2024-09-07 06:45:53 +08:00
Jun Pataleta d2c9c79c0e Merge branch 'MDL-63399-401' of https://github.com/lameze/moodle into MOODLE_401_STABLE 2024-09-06 12:29:34 +08:00
Simey Lameze 1ce15ab9b1 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:19:56 +08:00
Simey Lameze a24d8a0d2a MDL-63399 behat: new steps to verify downloads
Co-authored-by: Tim Hunt <T.J.Hunt@open.ac.uk>
2024-09-06 12:18:26 +08:00
Huong Nguyen 8835ecef16 Merge branch 'MDL-82948-401' of https://github.com/junpataleta/moodle into MOODLE_401_STABLE 2024-09-06 11:01:41 +07:00
Huong Nguyen 86c79ed091 Merge branch 'MDL-82677-401' of https://github.com/junpataleta/moodle into MOODLE_401_STABLE 2024-09-06 10:51:25 +07:00
Huong Nguyen d4f5e92ee1 Moodle release 4.1.13 2024-08-30 13:50:56 +07:00
Huong Nguyen 2c58f9533b weekly release 4.1.12+ 2024-08-29 18:10:13 +07:00
Jun Pataleta 34077a9190 MDL-82948 theme_boost: Make <blockquote>'s border a bit darker 2024-08-29 16:04:52 +08:00
Paul Holden 42726d645c MDL-82365 mod_lesson: stricter equality checks of activity password. 2024-08-29 12:13:57 +08:00
Jun Pataleta 02d08d2e4d Merge branch 'MDL-82651-401' of https://github.com/lameze/moodle into MOODLE_401_STABLE 2024-08-29 11:59:49 +08:00
Jun Pataleta 9b90cf6584 Merge branch 'MDL-82802-401' of https://github.com/paulholden/moodle into MOODLE_401_STABLE 2024-08-29 11:40:09 +08:00
Huong Nguyen bdbc077efc Merge branch 'MDL-82898-401' of https://github.com/andelacruz/moodle into MOODLE_401_STABLE 2024-08-29 09:50:58 +07:00
Paul Holden fb06894e75 MDL-76962 auth_oauth2: users can only delete their own linked logins. 2024-08-29 10:33:39 +08:00
Simey Lameze 6b4946e0a8 MDL-82651 behat: remove unnecessary steps 2024-08-28 13:10:20 +08:00
Simey Lameze 057f63909f MDL-82651 behat: wait for button to exist before clicking 2024-08-28 13:10:20 +08:00
Angelia Dela Cruz ea84a13152 MDL-82898 enrol_self: Behat to test student enrolment using key 2024-08-28 12:14:27 +08:00
Marina Glancy 9639feb9a3 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-24 06:30:25 +00:00
Shamim Rezaie f009e2621e Merge branch 'MDL-82006-401' of https://github.com/paulholden/moodle into MOODLE_401_STABLE 2024-08-24 16:21:45 +10:00
Sara Arjona 3449379bca weekly release 4.1.12+ 2024-08-23 16:04:18 +02:00
Sara Arjona c77d6a79ec Merge branch 'install_401_STABLE' of https://git.in.moodle.com/amosbot/moodle-install into MOODLE_401_STABLE 2024-08-23 16:04:13 +02:00
Jake Dallimore d8558b1d42 Merge branch 'MDL-82787-401' of https://github.com/andrewnicols/moodle into MOODLE_401_STABLE 2024-08-23 11:52:07 +08:00
Huong Nguyen b8614dee98 Merge branch 'MDL-82841-401' of https://github.com/andelacruz/moodle into MOODLE_401_STABLE 2024-08-22 08:44:26 +07:00
Sara Arjona b852d34285 Merge branch 'MDL-82655-401' of https://github.com/andelacruz/moodle into MOODLE_401_STABLE 2024-08-21 15:54:42 +02:00
Angelia Dela Cruz 250ef211f0 MDL-82841 mod_workshop: Behat for submissions with set # of attachments 2024-08-21 19:28:12 +08:00
Angelia Dela Cruz 2ebcdda606 MDL-82655 mod_workshop: Behat test for manual and random allocation 2024-08-21 18:21:57 +08:00
Andrew Nicols ce89c63b0b MDL-82787 behat: Correct stop of webdriver on failure 2024-08-21 08:46:34 +08:00
AMOS bot 8acc343fb8 Automatically generated installer lang files 2024-08-19 00:07:37 +00:00
Huong Nguyen 15a54747b9 weekly release 4.1.12+ 2024-08-16 08:40:46 +07:00
Paul Holden 7666131199 MDL-82006 reportbuilder: move filter Behat scenarios inside component. 2024-08-15 13:54:13 +01:00
Paul Holden 8b54213ad0 MDL-82802 tool_xmldb: allow numeric characters in table names. 2024-08-15 12:00:51 +01:00
Jun Pataleta 561a371423 Merge branch 'MDL-82782-401' of https://github.com/andrewnicols/moodle into MOODLE_401_STABLE 2024-08-15 11:48:17 +08:00
Jun Pataleta 6cc39f8e94 Merge branch 'MDL-82798-401' of https://github.com/HuongNV13/moodle into MOODLE_401_STABLE 2024-08-15 11:12:43 +08:00
Huong Nguyen 58e54a3d33 Merge branch 'MDL-82758-401' of https://github.com/junpataleta/moodle into MOODLE_401_STABLE 2024-08-15 09:38:41 +07:00
Huong Nguyen eb1c1e79a1 MDL-82798 qtype_ddmarker: Fix Behat failure 2024-08-15 09:17:41 +07:00
Jun Pataleta e7c973a195 Merge branch 'MDL-82792-401' of https://github.com/sarjona/moodle into MOODLE_401_STABLE 2024-08-15 10:14:24 +08:00
Andrew Nicols a982ebad0c MDL-82782 behat: Support runtime scaling of Behat windows 2024-08-14 21:51:36 +08:00
Sara Arjona 27692e70b5 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:18:47 +02:00
Sara Arjona 05db16c24d Merge branch 'MDL-82682-401' of https://github.com/lameze/moodle into MOODLE_401_STABLE 2024-08-14 09:13:41 +02:00
Simey Lameze 0aaf7fe953 MDL-82682 behat: increase window size to avoid fails 2024-08-14 10:02:20 +08:00
Ilya Tregubov aea9770cfc Moodle release 4.1.12 2024-08-10 14:54:42 +08:00
Jun Pataleta 05fe39a88f MDL-82758 gha: Remove reference to the master branch 2024-08-09 16:18:06 +08:00
Ilya Tregubov 44305df587 weekly release 4.1.11+ 2024-08-09 09:34:41 +08:00
Huong Nguyen 638caa1355 MDL-82745 filter_tex: Improve PHPUnit test 2024-08-08 21:08:59 +08:00
Michael Hawkins 6d29dc587e MDL-82745 filter_tex: Improve filter deny list 2024-08-08 11:41:11 +07:00
Michael Hawkins 0f03ac03b5 MDL-82576 qtype_calculated: Improve formula regexes 2024-08-08 11:12:28 +07:00
Safat a11b849ebe MDL-82395 tool_xmldb: Table layout update 2024-08-08 10:02:00 +07:00
Jun Pataleta 4cfa5bca7c Merge branch 'MDL-82560-401' of https://github.com/lameze/moodle into MOODLE_401_STABLE 2024-08-08 10:44:33 +08:00
Paul Holden 19ad8459d7 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:23:20 +07:00
Angelia Dela Cruz 3f6919adc7 MDL-82560 mod_forum: Test that students can only start one discussion 2024-08-08 10:18:48 +08:00
Jun Pataleta 5d2ce59559 Merge branch 'MDL-77784-401' of https://github.com/paulholden/moodle into MOODLE_401_STABLE 2024-08-08 09:47:32 +08:00
Paul Holden e08dd90c32 MDL-81394 restore: format backup file metadata details safely. 2024-08-07 14:05:20 +08:00
raortegar 26d7f16686 MDL-81718 core: Improve localstorage validation 2024-08-06 10:36:01 +07:00
Paul Holden 5b168b055f MDL-82558 h5p: escape template error/exception content. 2024-08-05 11:03:03 +08:00
Jun Pataleta 7ad936dcbf 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:25:12 +08:00
Paul Holden 29ab56c4d2 MDL-82392 blocks: consistent cleaning of block instance names. 2024-08-02 01:40:24 +00:00
Paul Holden 6c640dacf4 MDL-82261 mod_feedback: ensure only non-respondents can be messaged. 2024-08-02 01:40:24 +00:00
Paul Holden 234d24dfea MDL-82390 badges: correct context check when deleting badges. 2024-08-02 01:40:24 +00:00
meirzamoodle 835505681c 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-02 01:40:24 +00:00
Paul Holden e930abfcf8 MDL-82262 mod_feedback: fix broken bulk message sesskey checks. 2024-08-02 01:40:24 +00:00
Paul Holden cb06a0a271 MDL-64984 mod_glossary: capability check when restoring global type. 2024-08-02 01:40:24 +00:00
Ilya Tregubov f8f19a4d8e MDL-79541 core_grades: Add missing user info to search services.
Seems just fullname is not enough. So added all name fields.
2024-08-02 01:40:24 +00:00
Ilya Tregubov e2a8d063ee MDL-79541 core_grades: Fix singleview and user report selectors. 2024-08-02 01:40:24 +00:00
Ilya Tregubov 1fd2f0364c 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-02 01:40:24 +00:00
Ilya Tregubov 7f450dcea3 weekly release 4.1.11+ 2024-08-02 09:31:07 +08:00
Ilya Tregubov c39a3357ed Merge branch 'install_401_STABLE' of https://git.in.moodle.com/amosbot/moodle-install into MOODLE_401_STABLE 2024-08-02 09:31:04 +08:00
Paul Holden cc10212366 MDL-77784 quiz_grading: editor agnostic Behat scenario steps. 2024-08-01 14:19:30 +01:00
Huong Nguyen df2b3113d9 Merge branch 'MDL-82598-401' of https://github.com/lameze/moodle into MOODLE_401_STABLE 2024-08-01 10:27:40 +07:00
AMOS bot d4f428311a Automatically generated installer lang files 2024-08-01 00:07:26 +00:00
Sara Arjona e2c677c3e8 Merge branch 'MDL-72876-401' of https://github.com/junpataleta/moodle into MOODLE_401_STABLE 2024-07-31 17:15:38 +02:00
Sara Arjona 80b3cb4951 Merge branch 'MDL-82596-401' of https://github.com/paulholden/moodle into MOODLE_401_STABLE 2024-07-31 16:46:29 +02:00
Simey Lameze dfa5124909 MDL-82598 behat: improve example submission test 2024-07-31 09:29:01 +08:00
AMOS bot d3a6c97a43 Automatically generated installer lang files 2024-07-31 00:07:24 +00:00
Jun Pataleta 316a50f2b7 MDL-72876 theme_classic: Enclose welcome message in Bootstrap card 2024-07-30 19:40:41 +08:00
Ilya Tregubov 2883fd28e4 Merge branch 'MDL-80345-401' of https://github.com/MartinGauk/moodle into MOODLE_401_STABLE 2024-07-29 11:35:36 +08:00
Paul Holden aa7f8f9e09 MDL-82596 behat: switch manual private files upload to generator. 2024-07-28 19:29:54 +01:00
Paul Holden c4b56bb393 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-28 19:15:19 +01:00
Jun Pataleta 156d214635 weekly release 4.1.11+ 2024-07-26 13:36:00 +08:00
Jun Pataleta 31b07a6298 Merge branch 'install_401_STABLE' of https://git.in.moodle.com/amosbot/moodle-install into MOODLE_401_STABLE 2024-07-26 13:35:57 +08:00
Jun Pataleta 2c82466444 Merge branch 'MDL-82373-401' of https://github.com/andrewnicols/moodle into MOODLE_401_STABLE 2024-07-26 13:18:50 +08:00
Andrew Nicols 91e70280a2 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:45:30 +08:00
Huong Nguyen 68e93dbfee Merge branch 'MDL-82527-401' of https://github.com/paulholden/moodle into MOODLE_401_STABLE 2024-07-25 10:50:00 +07:00
Jun Pataleta c12d07d9d4 Merge branch 'MDL-82373-401' of https://github.com/andrewnicols/moodle into MOODLE_401_STABLE 2024-07-25 11:30:52 +08:00
Jun Pataleta a29ef48500 Merge branch 'MDL-77706-401' of https://github.com/andrewnicols/moodle into MOODLE_401_STABLE 2024-07-25 11:02:16 +08:00
Huong Nguyen 0fae681a7c Merge branch 'MDL-82553-401' of https://github.com/junpataleta/moodle into MOODLE_401_STABLE 2024-07-25 09:18:16 +07:00
Shamim Rezaie 149df44e29 Merge branch 'MDL-82551-401' of https://github.com/junpataleta/moodle into MOODLE_401_STABLE 2024-07-25 11:53:53 +10:00
Huong Nguyen da1fafe59d Merge branch 'MDL-82422-401' of https://github.com/andelacruz/moodle into MOODLE_401_STABLE 2024-07-25 08:37:31 +07:00
AMOS bot 3821c707b8 Automatically generated installer lang files 2024-07-25 00:07:59 +00:00
Jun Pataleta 1c7a5d9972 Merge branch 'MDL-81803-401' of https://github.com/paulholden/moodle into MOODLE_401_STABLE 2024-07-24 16:57:26 +08:00
Angelia Dela Cruz 0fdbf26fd0 MDL-82422 mod_workshop: Behat for how strict assessment comparison is 2024-07-24 14:35:06 +08:00
Jun Pataleta 4f3c3432cd MDL-82551 block_recentlyaccesseditems: Mark up decorative image properly
This change applies the same change in MDL-70829 to make the
accessibility Behat test for the welcome message to pass.
2024-07-24 12:05:25 +08:00
Jun Pataleta b6715bb1ae MDL-82553 behat: Run accessibility tests using WCAG 2.2 success criteria 2024-07-22 14:38:19 +08:00
Jun Pataleta 40094ddbe0 MDL-82551 core: Set welcome message heading to level 1 2024-07-22 14:21:22 +08:00
AMOS bot 8535c32bf3 Automatically generated installer lang files 2024-07-21 00:07:33 +00:00
Ilya Tregubov 6b90c69bda weekly release 4.1.11+ 2024-07-19 09:30:44 +08:00
Paul Holden 6f3337dcba 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:45:53 +01:00
Sara Arjona ff33f82ac2 Merge branch 'MDL-82353-401' of https://github.com/andelacruz/moodle into MOODLE_401_STABLE 2024-07-17 17:08:31 +02:00
Andrew Nicols bf6cf572ca MDL-82373 grade_singleview: Run behat tests in large window
For recent versions of Chrome, we must use a bigger window to avoid
Chrome chrome issues.
2024-07-17 22:58:57 +08:00
Andrew Nicols 433109e2ac 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 14:45:23 +08:00
Andrew Nicols 07bfca9041 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 14:45:22 +08:00
Andrew Nicols b2320ccd71 MDL-82373 behat: Wait for alerts before accepting/dismissing them 2024-07-17 14:45:22 +08:00
Andrew Nicols 5e4ba1f036 MDL-82373 core: Make CollapsibleRegion more tolerant to behat 2024-07-17 14:45:22 +08:00
Andrew Nicols 7e17945088 MDL-82373 tool_usertours: Ensure that behat waits for tours to show/hide 2024-07-17 14:45:22 +08:00
Andrew Nicols 535e970ad3 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 14:45:21 +08:00
Andrew Nicols dd8595035f 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 14:45:21 +08:00
Andrew Nicols 06ae387ca5 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 14:45:21 +08:00
Angelia Dela Cruz df48a73c5c MDL-82353 gradingform: Behat to verify marking guide can be set to draft 2024-07-16 17:30:44 +08:00
Andrew Nicols 70bbb44030 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:38:21 +08:00
Andrew Nicols 70ab78478f MDL-66903 core: Check PHPUNIT_TEST defined before using 2024-07-15 13:42:10 +07:00
Huong Nguyen 8a66b2b99a Merge branch 'MDL-66903-401' of https://github.com/andrewnicols/moodle into MOODLE_401_STABLE 2024-07-15 13:22:51 +07:00
Andrew Nicols ee5ac3f1f3 MDL-66903 core: Introduce \core_component::reset to 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 12:22:20 +08:00
Andrew Nicols 9e71503ab3 MDL-66903 core: Add option to get core in list of components
Note: This change is backported from MDL-81063.
2024-07-15 12:22:19 +08:00
Andrew Nicols 651ecb52d9 MDL-66903 core: Add helper to get component name from classname
Note: This change is backported from MDL-81063.
2024-07-15 12:22:19 +08:00
Andrew Nicols 85845b13d7 MDL-66903 testing: Helper to load fixture files 2024-07-15 12:22:17 +08:00
Andrew Nicols 7b0946129c 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 12:21:54 +08:00
Paul Holden 7d7cfee0b7 MDL-81803 tool_dataprivacy: observe disabled expiration time.
A non-positive integer value should indicate "No time limit".
2024-07-12 11:05:19 +01:00
Huong Nguyen 6751ba6500 weekly release 4.1.11+ 2024-07-12 08:42:21 +07:00
Jun Pataleta 6d387e4b2b Merge branch 'MDL-81265-401' of https://github.com/junpataleta/moodle into MOODLE_401_STABLE 2024-07-11 12:08:30 +08:00
Jun Pataleta ed3b73d9fc MDL-81265 mod_workshop: Verify "Setup phase" heading with "should exist" 2024-07-11 11:54:39 +08:00
Laurent David f95b010ec5 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-11 11:54:39 +08:00
Andrew Nicols 97060da478 Merge branch 'MDL-82431-401' of https://github.com/paulholden/moodle into MOODLE_401_STABLE 2024-07-11 11:47:18 +08:00
Huong Nguyen 9715fd56da Merge branch 'MDL-79717-401' of https://github.com/paulholden/moodle into MOODLE_401_STABLE 2024-07-11 09:36:07 +07:00
Huong Nguyen 7e3d7fb02d Merge branch 'MDL-76654-401' of https://github.com/lameze/moodle into MOODLE_401_STABLE 2024-07-11 09:20:23 +07:00
Paul Holden a9cc2ebb6e 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:11 +01:00
Paul Holden 1a7ec4cf3d 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:09:00 +01:00
Huong Nguyen 7715c626ad Merge branch 'MDL-82236-401' of https://github.com/andelacruz/moodle into MOODLE_401_STABLE 2024-07-10 09:05:01 +07:00
Angelia Dela Cruz 1c9098aeb8 MDL-82236 mod_data: Behat to display DB activity entry rating 2024-07-09 16:28:28 +08:00
Sara Arjona 5d18431087 Merge branch 'MDL-81296-401' of https://github.com/andelacruz/moodle into MOODLE_401_STABLE 2024-07-09 08:50:54 +02:00
Angelia Dela Cruz 0d27c76e34 MDL-81296 mod_data: Behat test for data activity readonly availability 2024-07-09 13:06:35 +08:00
Simey Lameze 8deeed9771 MDL-76654 behat: fixes and improvements to self assessment test 2024-07-08 11:22:39 +08:00
Angelia Dela Cruz 7893a34171 MDL-76654 behat: Coverage for workshop self-assessment 2024-07-08 11:22:39 +08:00
Andrew Nicols e6966b7ae7 MDL-66903 testing: Fix whitespace 2024-07-05 22:06:09 +08:00
Andrew Nicols 3e81ebecb6 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-05 22:06:09 +08:00
Ilya Tregubov f9c5802f4e weekly release 4.1.11+ 2024-07-05 09:02:18 +08:00
Sara Arjona e6ee7a5b1c Merge branch 'MDL-80907-401' of https://github.com/HuongNV13/moodle into MOODLE_401_STABLE 2024-07-04 11:19:14 +02:00
Huong Nguyen 17081ee902 MDL-80907 behat: Fix incorrect column selectors 2024-07-04 16:01:53 +07:00
Huong Nguyen e817dd70db Merge branch 'MDL-80907-401' of https://github.com/marinaglancy/moodle into MOODLE_401_STABLE 2024-07-04 11:14:56 +07:00
Ilya Tregubov bc30a904f4 Merge branch 'MDL-63670-401' of https://github.com/andrewnicols/moodle into MOODLE_401_STABLE 2024-07-04 10:58:57 +08:00
Sara Arjona b2d9c6ff81 Merge branch 'MDL-82363-401' of https://github.com/HuongNV13/moodle into MOODLE_401_STABLE 2024-07-03 08:24:03 +02:00
Huong Nguyen 18dae18e20 MDL-82363 Calendar: Responsiveness improvement for calendar block
Hide the month name if the screen is too small
2024-07-03 11:03:02 +07:00
Sara Arjona 18c7f3cdf3 weekly release 4.1.11+ 2024-06-27 16:37:06 +02:00
Sara Arjona f0b462209a Merge branch 'install_401_STABLE' of https://git.in.moodle.com/amosbot/moodle-install into MOODLE_401_STABLE 2024-06-27 16:37:02 +02:00
Jun Pataleta 974db25816 Merge branch 'MDL-79809-401' of https://github.com/HuongNV13/moodle into MOODLE_401_STABLE 2024-06-27 11:00:52 +08:00
Andrew Nicols 7a02ae5644 MDL-63670 core_message: Tests should not use another testcase as base 2024-06-27 11:00:49 +08:00
Huong Nguyen a9f24ce125 MDL-79809 environment: Moodle 4.5 requirements 2024-06-24 09:37:38 +07:00
Huong Nguyen a68fcabc65 MDL-79809 environment: Add missing Moodle 4.4 requirements 2024-06-24 09:37:38 +07:00
Huong Nguyen 2978ffc4a5 MDL-79809 environment: Add recommended custom check
Add support for custom environment checks to have a recommended
option in addition to required an optional.
2024-06-24 09:37:38 +07:00
AMOS bot a694661d5c Automatically generated installer lang files 2024-06-22 00:13:59 +00:00
Martin Gauk 7d77854fd6 MDL-80345 core_lock: deal with hash collisions in postgres_lock_factory 2024-06-20 17:44:24 +02:00
Sara Arjona 17124e62a9 weekly release 4.1.11+ 2024-06-20 16:31:16 +02:00
Sara Arjona d9ae012d15 Merge branch 'install_401_STABLE' of https://git.in.moodle.com/amosbot/moodle-install into MOODLE_401_STABLE 2024-06-20 16:31:12 +02:00
AMOS bot c03706fafb Automatically generated installer lang files 2024-06-20 00:16:13 +00:00
Huong Nguyen f77aa8c4a7 Merge branch 'MDL-81249-401' of https://github.com/andelacruz/moodle into MOODLE_401_STABLE 2024-06-19 09:19:35 +07:00
Angelia Dela Cruz 4044abd156 MDL-81249 gradingform: Behat test that grades are retained 2024-06-18 20:11:33 +08:00
Angelia Dela Cruz 6164556c85 MDL-81249 gradingform: Enhance Behat test for deleting marking guide 2024-06-18 17:47:06 +08:00
Huong Nguyen 69a8f920d4 Merge branch 'MDL-82148_401' of https://github.com/stronk7/moodle into MOODLE_401_STABLE 2024-06-18 16:28:34 +07:00
Eloy Lafuente (stronk7) ff263b6dbc MDL-82148 phpunit: Remove all cases of multiple @coversDefaultClass
Only one by class is allowed (to be used as shortcut exclusively).
2024-06-14 16:05:48 +02:00
Ilya Tregubov 763c71194b weekly release 4.1.11+ 2024-06-14 08:57:21 +08:00
Huong Nguyen 19ac0728f2 Merge branch 'MDL-81332-401' of https://github.com/andelacruz/moodle into MOODLE_401_STABLE 2024-06-12 13:16:45 +07:00
Angelia Dela Cruz 39cb2a03e5 MDL-81332 core_course: Behat test for grade and activity reports display 2024-06-11 16:57:53 +08:00
Andrew Nicols c8c84b4af1 Moodle release 4.1.11 2024-06-07 14:55:32 +08:00
Jun Pataleta 5ec01a7226 weekly release 4.1.10+ 2024-06-06 22:30:50 +08:00
Jun Pataleta f878e05d62 NOBUG: Fixed file access permissions 2024-06-06 22:30:49 +08:00
Huong Nguyen aa0e2cffdd Merge branch 'MDL-81989-401' of https://github.com/lameze/moodle into MOODLE_401_STABLE 2024-06-06 22:23:26 +08:00
meirzamoodle c18b59808c MDL-81890 assign: confirm_sesskey fixed in view_fix_rescaled_null_grades 2024-06-06 22:23:26 +08:00
meirzamoodle a0d8c025f7 MDL-81890 enrol_lti: Fix sesskey checks 2024-06-06 22:23:25 +08:00
meirzamoodle 137d311fd1 MDL-81890 course: Fix sesskey checks 2024-06-06 22:23:25 +08:00
meirzamoodle 57f20b6cb3 MDL-81890 tool_moodlenet: Fix sesskey checks 2024-06-06 22:23:25 +08:00
Paul Holden a10506b8d7 MDL-81778 mod_bigbluebuttonbn: access checks when getting meeting URL. 2024-06-06 22:23:25 +08:00
Stevani Andolo 28b8fc9896 MDL-81412 calendar: Sanitise calendar event names 2024-06-06 22:22:49 +08:00
lameze f55b829f44 MDL-81989 install: remove unnecessary closing div tags 2024-06-05 14:06:23 +08:00
Cameron Ball 836b2c23a2 MDL-81774 curl: Strip auth headers when redirecting to different host 2024-06-05 02:00:21 +00:00
Huong Nguyen 0068701bc6 Merge branch 'MDL-81751-MOODLE_401_STABLE' of https://github.com/durzo/moodle into MOODLE_401_STABLE 2024-06-05 08:57:27 +07:00
Huong Nguyen 83a978d1cd Merge branch 'MDL-81955-401' of https://github.com/paulholden/moodle into MOODLE_401_STABLE 2024-06-04 10:34:35 +07:00
Juan Leyva d05795db8e MDL-80959 tool_mobile: Use different user keys for QR and auto login 2024-06-04 10:34:50 +08:00
Paul Holden 629a7066be MDL-81955 assignfeedback_editpdf: ensure ghostscript present in tests. 2024-05-31 07:14:17 +01:00
Ilya Tregubov 058b11e57b Merge branch 'MDL-77685-401' of https://github.com/paulholden/moodle into MOODLE_401_STABLE 2024-05-31 09:06:09 +08:00
Sara Arjona aa230649d9 weekly release 4.1.10+ 2024-05-30 17:00:42 +02:00
Paul Holden f8cce391b2 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-30 09:43:11 +01:00
Mihail Geshoski a7d476c35f MDL-77685 core_grades: Fix row_column_of_table_should_contain()
Backport from MDL-77632.
2024-05-30 09:42:26 +01:00
Andrew Nicols 5425fb3d79 MDL-81897 tool_mobile: Coding style fix 2024-05-28 11:45:05 +08:00
Andrew Nicols 587d737690 Merge branch 'MDL-81897-401' of https://github.com/jleyva/moodle into MOODLE_401_STABLE 2024-05-28 11:44:49 +08:00
Juan Leyva 31b68a2b5d MDL-81897 tool_mobile: Force partitioned cookies on inapp browser 2024-05-17 10:23:24 +02:00
Jordan Tomkinson a48f00d940 MDL-81751 ddl: new reserved keywords in Aurora MySQL database engine 2024-05-16 13:41:25 +01:00
Huong Nguyen f7da739ea0 weekly release 4.1.10+ 2024-05-16 18:25:49 +07:00
Huong Nguyen ebb346cd8e Merge branch 'install_401_STABLE' of https://git.in.moodle.com/amosbot/moodle-install into MOODLE_401_STABLE 2024-05-16 18:25:48 +07:00
Huong Nguyen b39d8d5027 Merge branch 'MDL-79838-401' of https://github.com/andelacruz/moodle into MOODLE_401_STABLE 2024-05-16 09:22:50 +07:00
Angelia Dela Cruz cf48f359ad MDL-79838 mod_h5pactivity: Behat for H5P activity grade settings control 2024-05-15 17:00:50 +08:00
Sara Arjona 8ac29c9422 Merge branch 'MDL-81805-401' of https://github.com/lameze/moodle into MOODLE_401_STABLE 2024-05-14 17:05:57 +02:00
AMOS bot 7f3617860c Automatically generated installer lang files 2024-05-12 00:14:21 +00:00
Ilya Tregubov b35f70ce14 weekly release 4.1.10+ 2024-05-10 09:09:52 +08:00
Jun Pataleta 77d0c0caa9 Merge branch 'MDL-80972-401' of https://github.com/lameze/moodle into MOODLE_401_STABLE 2024-05-09 11:42:40 +08:00
info@eWallah.net c2193308a6 MDL-80972 behat: Behat check_server_status can provide better info. 2024-05-09 11:08:04 +08:00
Huong Nguyen 9456911fe9 Merge branch 'MDL-80453-401' of https://github.com/andelacruz/moodle into MOODLE_401_STABLE 2024-05-09 09:49:19 +07:00
Huong Nguyen bd2c8fdd54 Merge branch 'MDL-79702-401' of https://github.com/lameze/moodle into MOODLE_401_STABLE 2024-05-09 09:34:41 +07:00
Angelia Dela Cruz 234d81e39b MDL-80453 mod_glossary: Behat for different glossary format display 2024-05-08 17:41:08 +08:00
Marina Glancy 9747b5b26b MDL-80907 various: fixes to incorrect column selectors in behat 2024-05-07 19:33:47 +01:00
Marina Glancy 508d462fa7 MDL-80907 behat: be more precise in selecting table rows 2024-05-07 19:33:35 +01:00
Simey Lameze f687e02dec MDL-81805 behat: remove unnecessary @javascript from tests 2024-05-07 09:45:17 +08:00
Simey Lameze 72c3038925 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 20:02:57 +08:00
Angelia Dela Cruz d393030c58 MDL-79702 core_tag: Behat for activity tags deletion during course reset 2024-05-06 20:02:57 +08:00
Huong Nguyen d68ea84924 Merge branch 'MDL-80589-401' of https://github.com/lameze/moodle into MOODLE_401_STABLE 2024-05-06 09:37:52 +07:00
Ilya Tregubov 85825dcc55 weekly release 4.1.10+ 2024-05-03 08:22:54 +08:00
Ilya Tregubov 80f152296c Merge branch 'install_401_STABLE' of https://git.in.moodle.com/amosbot/moodle-install into MOODLE_401_STABLE 2024-05-03 08:22:51 +08:00
AMOS bot 48aa9aae56 Automatically generated installer lang files 2024-05-03 00:10:35 +00:00
Simey Lameze 025065daf5 MDL-80589 behat: fixes and improvements to new tests 2024-05-02 13:34:16 +08:00
Angelia Dela Cruz 49be0febdc MDL-80589 qtype_numerical: Behat to add, edit, preview numeric question 2024-05-02 13:34:16 +08:00
Huong Nguyen 73f57aab98 Merge branch 'MDL-79851-401' of https://github.com/lameze/moodle into MOODLE_401_STABLE 2024-05-01 16:12:51 +07:00
Angelia Dela Cruz 457f0e9384 MDL-79851 mod_h5pactivity: Behat for h5p activity access control 2024-05-01 14:26:40 +08:00
Sara Arjona 4b15c803e2 Merge branch 'MDL-81632-401' of https://github.com/paulholden/moodle into MOODLE_401_STABLE 2024-04-30 15:09:54 +02:00
Huong Nguyen 50aff515b7 Merge branch 'MDL-79149-401' of https://github.com/paulholden/moodle into MOODLE_401_STABLE 2024-04-30 11:49:03 +07:00
Paul Holden 5b33398f07 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:10:22 +01:00
Sara Arjona 47568f31c5 Merge branch 'MDL-77445-401' of https://github.com/andelacruz/moodle into MOODLE_401_STABLE 2024-04-26 10:40:50 +02:00
Sara Arjona eba83406da weekly release 4.1.10+ 2024-04-25 15:43:45 +02:00
Sara Arjona 137c6f36bb Merge branch 'install_401_STABLE' of https://git.in.moodle.com/amosbot/moodle-install into MOODLE_401_STABLE 2024-04-25 15:43:41 +02:00
Huong Nguyen d9043b324d MDL-77998 Behat: Fix Behat failure 2024-04-25 10:38:18 +07:00
Paul Holden e57e560385 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:46 +01:00
Sara Arjona eebd5742b6 Merge branch 'MDL-77998-401' of https://github.com/andelacruz/moodle into MOODLE_401_STABLE 2024-04-24 14:48:16 +02:00
Angelia Dela Cruz 0837a24c05 MDL-77998 Behat: Add behat coverage for preferences navigation 2024-04-24 19:49:26 +08:00
Angelia Dela Cruz f2e48b39f6 MDL-77445 Behat: Coverage for activity chooser navigation 2024-04-24 18:09:22 +08:00
Huong Nguyen 5060c53176 Merge branch 'MDL-80107-401' of https://github.com/andelacruz/moodle into MOODLE_401_STABLE 2024-04-24 08:36:46 +07:00
Sara Arjona 3f392e934e Merge branch 'MDL-81209-401' of https://github.com/andrewnicols/moodle into MOODLE_401_STABLE 2024-04-23 15:32:42 +02:00
Sara Arjona c1e4679ed5 Merge branch 'MDL-81457-401' of https://github.com/andrewnicols/moodle into MOODLE_401_STABLE 2024-04-23 14:57:51 +02:00
Pol Torrent i Soler 9254b7e75a MDL-81622 core: fix str_contains usage in cookie_helper 2024-04-23 12:52:58 +02:00
Angelia Dela Cruz 1d609ca0ee MDL-80107 gradingform: Behat test for defining marking guide 2024-04-23 15:40:26 +08:00
AMOS bot 61fabd3e73 Automatically generated installer lang files 2024-04-22 00:10:24 +00:00
Andrew Nicols 58acb96ee6 MDL-81209 core: Unit test should not care about plugin details 2024-04-08 20:54:25 +08:00
Andrew Nicols b564a40d74 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:47:29 +08:00
2653 changed files with 19546 additions and 8718 deletions
+3
View File
@@ -1,3 +1,6 @@
**/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"]
+5 -4
View File
@@ -3,7 +3,7 @@ name: Core
on:
push:
branches-ignore:
- master
- main
- MOODLE_[0-9]+_STABLE
tags-ignore:
- v[0-9]+.[0-9]+.[0-9]+*
@@ -19,7 +19,7 @@ env:
jobs:
Grunt:
runs-on: ubuntu-22.04
runs-on: ubuntu-24.04
steps:
- name: Checking out code
@@ -60,11 +60,12 @@ jobs:
fail-fast: false
matrix:
include:
- os: ubuntu-22.04
- os: ubuntu-24.04
php: 7.4
extensions:
db: mysqli
- os: ubuntu-22.04
- os: ubuntu-24.04
extensions: mongodb-1.19.4
php: 8.1
db: pgsql
+1 -1
View File
@@ -1 +1 @@
lts/iron
lts/jod
+1
View File
@@ -24,6 +24,7 @@
*/
define('CLI_SCRIPT', true);
define('IGNORE_COMPONENT_CACHE', true);
require(__DIR__.'/../../config.php');
require_once($CFG->libdir.'/clilib.php');
+801
View File
@@ -3835,6 +3835,7 @@
<PHP_EXTENSION name="fileinfo" level="required"/>
<PHP_EXTENSION name="sodium" level="optional"/>
<PHP_EXTENSION name="exif" level="optional"/>
<PHP_EXTENSION name="filter" level="required"/>
</PHP_EXTENSIONS>
<PHP_SETTINGS>
<PHP_SETTING name="memory_limit" value="96M" level="required">
@@ -4410,6 +4411,7 @@
<PHP_EXTENSION name="fileinfo" level="required"/>
<PHP_EXTENSION name="sodium" level="required"/>
<PHP_EXTENSION name="exif" level="optional"/>
<PHP_EXTENSION name="filter" level="required"/>
</PHP_EXTENSIONS>
<PHP_SETTINGS>
<PHP_SETTING name="memory_limit" value="96M" level="required">
@@ -4504,6 +4506,805 @@
</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">
</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_EXTENSION name="filter" level="required"/>
</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" />
<VENDOR name="auroramysql" version="8.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_EXTENSION name="filter" level="required"/>
</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_CHECK file="lib/upgradelib.php" function="check_aurora_version" level="optional">
</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="15" />
<VENDOR name="mssql" version="14.0" />
<VENDOR name="auroramysql" version="8.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_EXTENSION name="filter" level="required"/>
</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_CHECK file="lib/upgradelib.php" function="check_aurora_version" level="optional">
</CUSTOM_CHECK>
</CUSTOM_CHECKS>
</MOODLE>
<MOODLE version="5.2" requires="4.4">
<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="16" />
<VENDOR name="mssql" version="15.0" />
<VENDOR name="auroramysql" version="8.0" />
</DATABASE>
<PHP version="8.3.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_EXTENSION name="filter" level="required"/>
</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 function="\core\environment::check_composer_dependencies_installed" level="optional" />
<CUSTOM_CHECK function="\core\environment::check_composer_developer_dependencies_not_installed" level="optional" />
<CUSTOM_CHECK function="\core\environment::check_composer_dependencies_optimised" level="optional" />
<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_CHECK file="lib/upgradelib.php" function="check_aurora_version" level="optional">
</CUSTOM_CHECK>
</CUSTOM_CHECKS>
</MOODLE>
</COMPATIBILITY_MATRIX>
+8 -2
View File
@@ -916,8 +916,14 @@ if (empty($CFG->disabledevlibdirscheck) && (is_dir($CFG->dirroot.'/vendor') || i
// Check if the site is being foced onto ssl.
$overridetossl = !empty($CFG->overridetossl);
// Check if moodle campaign content setting is enabled or not.
$showcampaigncontent = !isset($CFG->showcampaigncontent) || $CFG->showcampaigncontent;
if (defined('BEHAT_SITE_RUNNING') && BEHAT_SITE_RUNNING) {
// We need to add this in order to be able to verify the showcampaigncontent setting behaviour during behat tests.
$showcampaigncontent = get_config('core', 'showcampaigncontent');
$showcampaigncontent = $showcampaigncontent === 'true';
} else {
// Check if moodle campaign content setting is enabled or not.
$showcampaigncontent = !isset($CFG->showcampaigncontent) || $CFG->showcampaigncontent;
}
// Encourage admins to enable the user feedback feature if it is not enabled already.
$showfeedbackencouragement = empty($CFG->enableuserfeedback);
+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' => [
],
+5 -5
View File
@@ -25,7 +25,7 @@ namespace core_adminpresets;
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
* @coversDefaultClass 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',
@@ -321,7 +321,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',
@@ -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,7 +72,7 @@ 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,
@@ -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,7 +66,7 @@ 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',
@@ -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,7 +77,7 @@ 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',
@@ -167,7 +167,7 @@ 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',
+3 -3
View File
@@ -27,7 +27,7 @@ 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 {
/**
* Test the behaviour of protected get_site_settings method.
*
@@ -358,7 +358,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,
@@ -521,7 +521,7 @@ 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' => '',
@@ -30,7 +30,7 @@ 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().
+2
View File
@@ -23,6 +23,8 @@
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
*/
define('IGNORE_COMPONENT_CACHE', true);
require_once('../config.php');
require_once($CFG->libdir.'/adminlib.php');
+5 -2
View File
@@ -2052,8 +2052,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') {
@@ -2084,7 +2086,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)
+2 -2
View File
@@ -26,8 +26,8 @@ use core_role_preset;
* @copyright 2013 Petr Skoda {@link http://skodak.org}
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
*/
class preset_test extends \advanced_testcase {
public function test_xml() {
final class preset_test extends \advanced_testcase {
public function test_xml(): void {
global $DB;
$roles = $DB->get_records('role');
+1 -1
View File
@@ -40,7 +40,7 @@ use core_privacy\local\request\approved_userlist;
* @copyright 2018 Carlos Escobedo <carlos@moodle.com>
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
*/
class provider_test extends provider_testcase {
final class provider_test extends provider_testcase {
/**
* Test to check export_user_preferences.
* returns user preferences data.
+8
View File
@@ -51,6 +51,14 @@ if ($hassiteconfig) {
$temp->add(new admin_setting_countrycodes('allcountrycodes', new lang_string('allcountrycodes', 'core_admin'),
new lang_string('configallcountrycodes', 'core_admin')));
$temp->add(new admin_setting_configtext(
'geopluginapikey',
new lang_string('geopluginapikey', 'core_admin'),
new lang_string('geopluginapikey_desc', 'core_admin'),
'',
PARAM_TEXT,
));
}
$ADMIN->add('location', $temp);
+2 -1
View File
@@ -152,7 +152,8 @@ if ($hassiteconfig) { // speedup for non-admins, add all caps used on this page
$sensiblesettingsdefault .= 'server_password@@search_solr, ssl_keypassword@@search_solr, ';
$sensiblesettingsdefault .= 'alternateserver_password@@search_solr, alternatessl_keypassword@@search_solr, ';
$sensiblesettingsdefault .= 'test_password@@cachestore_redis, password@@mlbackend_python, ';
$sensiblesettingsdefault .= 'badges_badgesalt@@none, calendar_exportsalt@@none';
$sensiblesettingsdefault .= 'badges_badgesalt@@none, calendar_exportsalt@@none, ';
$sensiblesettingsdefault .= 'bigbluebuttonbn_shared_secret@@none';
$temp->add(new admin_setting_configtextarea('adminpresets/sensiblesettings',
get_string('sensiblesettings', 'core_adminpresets'),
get_string('sensiblesettingstext', 'core_adminpresets'),
+2
View File
@@ -82,6 +82,8 @@ class behat_admin extends behat_base {
$this->execute('behat_forms::i_set_the_field_with_xpath_to', [$fieldxpath, $value]);
$this->execute("behat_general::i_click_on", [get_string('savechanges'), 'button']);
// Wait for the page to be redirected.
$this->execute("behat_general::i_wait_to_be_redirected");
}
}
+3 -3
View File
@@ -18,7 +18,7 @@ Feature: An administrator can browse user accounts
When I navigate to "Users > Accounts > Browse list of users" in site administration
# Name field always present, email field is default for showidentity.
Then the following should exist in the "users" table:
| First name / Last name | Email address |
| First name | Email address |
| User One | one@example.com |
| User Two | two@example.com |
# Should not see other identity fields or non-default name fields.
@@ -34,7 +34,7 @@ Feature: An administrator can browse user accounts
| alternativefullnameformat | firstnamephonetic lastname |
When I navigate to "Users > Accounts > Browse list of users" in site administration
Then the following should exist in the "users" table:
| First name - phonetic / Last name | Email address |
| First name - phonetic | Email address |
| Yewzer One | one@example.com |
| Yoozare Two | two@example.com |
@@ -43,7 +43,7 @@ Feature: An administrator can browse user accounts
| showuseridentity | department,profile_field_frog |
When I navigate to "Users > Accounts > Browse list of users" in site administration
Then the following should exist in the "users" table:
| First name / Last name | Favourite frog | Department |
| First name | Favourite frog | Department |
| User One | Kermit | Attack |
| User Two | Tree | Defence |
And I should not see "Email address" in the "table" "css_element"
@@ -0,0 +1,40 @@
@core @core_admin
Feature: Plugins overview page
In order to manage plugin and settings
As an admin
I can access the plugins overview page
Background:
Given I am logged in as "admin"
And I navigate to "Plugins > Plugins overview" in site administration
Scenario: An administrator can view plugins overview page
Then "Plugins overview" "text" should exist
And "Check for available updates" "button" should exist
And "All plugins" "link" should exist
And "Additional plugins" "link" should exist
Scenario: An administrator can access list of activities when activity modules cog icon is pressed
When I click on "Settings" "link" in the "Activity modules" "table_row"
Then "Activities" "text" should exist
And "Manage activities" "text" should exist in the ".breadcrumb" "css_element"
And "Activity modules" "link" should exist in the ".breadcrumb" "css_element"
Scenario: An administrator can access plugin settings
When I click on "Settings" "link" in the "Assignment" "table_row"
Then "Assignment settings" "text" should exist
And "Assignment settings" "text" should exist in the ".breadcrumb" "css_element"
And "Assignment" "link" should exist in the ".breadcrumb" "css_element"
And "Activity modules" "link" should exist in the ".breadcrumb" "css_element"
Scenario: Plugins with dependencies cannot be uninstalled
When I navigate to "Plugins > Plugins overview" in site administration
Then "Uninstall" "link" should not exist in the "Database" "table_row"
And "Required by: filter_data" "text" should exist in the "Database" "table_row"
Scenario: Cancelling plugin uninstall does not uninstall the selected plugin
When I click on "Uninstall" "link" in the "Assignment" "table_row"
Then "Uninstalling Assignment" "text" should exist
And "You are about to uninstall the plugin Assignment. This will completely delete everything in the database associated with this plugin, including its configuration, log records, user files managed by the plugin etc. There is no way back and Moodle itself does not create any recovery backup. Are you SURE you want to continue?" "text" should exist
And I click on "Cancel" "button"
And "Uninstall" "link" should exist in the "Assignment" "table_row"
@@ -18,6 +18,7 @@ Feature: Verify the breadcrumbs in webservice tokens site administration pages
And "Manage tokens" "link" should exist in the ".breadcrumb" "css_element"
And "Web services" "link" should exist in the ".breadcrumb" "css_element"
And I set the field "User" to "John Doe"
And I set the field "Service" to "Moodle mobile web service"
And I press "Save changes"
When I click on "Delete" "link"
Then "Delete token" "text" should exist in the ".breadcrumb" "css_element"
-22
View File
@@ -48,25 +48,3 @@ Feature: View task logs report and use its filters
| operator | shouldornotsee |
| Less than | should not see |
| Greater than | should see |
@javascript
Scenario: Reset task log filters
Given I log in as "admin"
And I change window size to "large"
And I navigate to "Server > Tasks > Task logs" in site administration
When I click on "Filters" "button"
And I set the following fields in the "Result" "core_reportbuilder > Filter" to these values:
| Result operator | Is equal to |
| Result value | Fail |
And I click on "Apply" "button" in the "[data-region='report-filters']" "css_element"
Then I should see "Filters applied"
And I should see "Filters (1)" in the "#dropdownFiltersButton" "css_element"
And I should see "Nothing to display"
And I click on "Reset all" "button" in the "[data-region='report-filters']" "css_element"
And I should see "Filters reset"
And I should not see "Filters (1)" in the "#dropdownFiltersButton" "css_element"
And I should see "Filters" in the "#dropdownFiltersButton" "css_element"
And "[data-region='report-filters']" "css_element" should be visible
And the following fields in the "Result" "core_reportbuilder > Filter" match these values:
| Result operator | Is any value |
And I should not see "Nothing to display"
@@ -0,0 +1,17 @@
@core @core_admin
Feature: Toggle campaign banner visibility
In order to control the visibility of the campaign banner content
As an admin
I need to be able to disable the campaign banner display
Scenario Outline: Admin can disable the campaign banner display
Given the following config values are set as admin:
| showcampaigncontent | <showcampaigncontent> |
And I log in as "admin"
When I navigate to "Notifications" in site administration
Then "//iframe[@id='campaign-content']" "xpath_element" <display> exist
Examples:
| showcampaigncontent | display |
| true | should |
| false | should not |
@@ -20,14 +20,9 @@ namespace core_admin\reportbuilder\datasource;
use core\task\database_logger;
use core_reportbuilder_generator;
use core_reportbuilder_testcase;
use core_reportbuilder\local\filters\{boolean_select, date, duration, number, select, text};
use core_reportbuilder\task\send_schedules;
defined('MOODLE_INTERNAL') || die();
global $CFG;
require_once("{$CFG->dirroot}/reportbuilder/tests/helpers.php");
use core_reportbuilder\tests\core_reportbuilder_testcase;
/**
* Unit tests for task logs datasource
@@ -37,7 +32,7 @@ require_once("{$CFG->dirroot}/reportbuilder/tests/helpers.php");
* @copyright 2022 Paul Holden <paulh@moodle.com>
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
*/
class task_logs_test extends core_reportbuilder_testcase {
final class task_logs_test extends core_reportbuilder_testcase {
/**
* Test default datasource
@@ -103,7 +98,7 @@ class task_logs_test extends core_reportbuilder_testcase {
*
* @return array[]
*/
public function datasource_filters_provider(): array {
public static function datasource_filters_provider(): array {
return [
'Filter name' => ['task_log:name', [
'task_log:name_values' => [send_schedules::class],
@@ -5,16 +5,18 @@ Feature: I can download a preset
| name |
| Custom preset |
@javascript
Scenario: Custom preset settings can be downloaded
Given I log in as "admin"
And I navigate to "Site admin presets" in site administration
When I open the action menu in "Custom preset" "table_row"
Then following "Download" "link" in the "Custom preset" "table_row" should download between "0" and "5000" bytes
Then following "Download" in the "Custom preset" "table_row" should download a file that:
| Has mimetype | text/xml |
| Contains text in xml element | Custom preset |
@javascript
Scenario: Core preset settings can be downloaded
Given I log in as "admin"
And I navigate to "Site admin presets" in site administration
When I open the action menu in "Starter" "table_row"
Then following "Download" "link" in the "Starter" "table_row" should download between "0" and "5000" bytes
Then following "Download" in the "Starter" "table_row" should download a file that:
| Has mimetype | text/xml |
| Contains text in xml element | Starter |
@@ -25,7 +25,7 @@ namespace tool_admin_presets\event;
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
* @covers \tool_admin_presets\event\preset_deleted
*/
class preset_deleted_test extends \advanced_testcase {
final class preset_deleted_test extends \advanced_testcase {
/**
* Test preset_deleted event.
@@ -25,7 +25,7 @@ namespace tool_admin_presets\event;
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
* @covers \tool_admin_presets\event\preset_downloaded
*/
class preset_downloaded_test extends \advanced_testcase {
final class preset_downloaded_test extends \advanced_testcase {
/**
* Test preset_downloaded event.
@@ -25,7 +25,7 @@ namespace tool_admin_presets\event;
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
* @covers \tool_admin_presets\event\preset_exported
*/
class preset_exported_test extends \advanced_testcase {
final class preset_exported_test extends \advanced_testcase {
/**
* Test preset_exported event.
@@ -25,7 +25,7 @@ namespace tool_admin_presets\event;
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
* @covers \tool_admin_presets\event\preset_imported
*/
class preset_imported_test extends \advanced_testcase {
final class preset_imported_test extends \advanced_testcase {
/**
* Test preset_imported event.
@@ -25,7 +25,7 @@ namespace tool_admin_presets\event;
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
* @covers \tool_admin_presets\event\preset_loaded
*/
class preset_loaded_test extends \advanced_testcase {
final class preset_loaded_test extends \advanced_testcase {
/**
* Test preset_loaded event.
@@ -25,7 +25,7 @@ namespace tool_admin_presets\event;
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
* @covers \tool_admin_presets\event\preset_previewed
*/
class preset_previewed_test extends \advanced_testcase {
final class preset_previewed_test extends \advanced_testcase {
/**
* Test preset_previewed event.
@@ -25,7 +25,7 @@ namespace tool_admin_presets\event;
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
* @covers \tool_admin_presets\event\preset_reverted
*/
class preset_reverted_test extends \advanced_testcase {
final class preset_reverted_test extends \advanced_testcase {
/**
* Test preset_reverted event.
@@ -25,7 +25,7 @@ namespace tool_admin_presets\event;
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
* @covers \tool_admin_presets\event\presets_listed
*/
class presets_listed_test extends \advanced_testcase {
final class presets_listed_test extends \advanced_testcase {
/**
* Test presets_listed event.
@@ -25,7 +25,7 @@ namespace tool_admin_presets\local\action;
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
* @coversDefaultClass \tool_admin_presets\local\action\base
*/
class base_test extends \advanced_testcase {
final class base_test extends \advanced_testcase {
/**
* Test the behaviour of log() method.
@@ -70,7 +70,7 @@ class base_test extends \advanced_testcase {
*
* @return array
*/
public function log_provider(): array {
public static function log_provider(): array {
return [
// Action = base.
'action=base and mode = show' => [
@@ -25,7 +25,7 @@ namespace tool_admin_presets\local\action;
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
* @coversDefaultClass \tool_admin_presets\local\action\delete
*/
class delete_test extends \advanced_testcase {
final class delete_test extends \advanced_testcase {
/**
* Test the behaviour of execute() method.
@@ -27,7 +27,7 @@ use core_adminpresets\manager;
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
* @coversDefaultClass \tool_admin_presets\local\action\export
*/
class export_test extends \advanced_testcase {
final class export_test extends \advanced_testcase {
/**
* Test the behaviour of execute() method.
@@ -156,7 +156,7 @@ class export_test extends \advanced_testcase {
*
* @return array
*/
public function export_execute_provider(): array {
public static function export_execute_provider(): array {
return [
'Export settings and plugins, excluding sensible' => [
'includesensible' => false,
@@ -27,7 +27,7 @@ use core_adminpresets\manager;
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
* @coversDefaultClass \tool_admin_presets\local\action\import
*/
class import_test extends \advanced_testcase {
final class import_test extends \advanced_testcase {
/**
* Test the behaviour of execute() method.
@@ -190,7 +190,7 @@ class import_test extends \advanced_testcase {
*
* @return array
*/
public function import_execute_provider(): array {
public static function import_execute_provider(): array {
$fixturesfolder = __DIR__ . '/../../../../../presets/tests/fixtures/';
return [
@@ -25,7 +25,7 @@ namespace tool_admin_presets\local\action;
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
* @coversDefaultClass \tool_admin_presets\local\action\load
*/
class load_test extends \advanced_testcase {
final class load_test extends \advanced_testcase {
/**
* Test the behaviour of show() method when the preset id doesn't exist.
@@ -25,7 +25,7 @@ namespace tool_admin_presets\local\action;
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
* @coversDefaultClass \tool_admin_presets\local\action\rollback
*/
class rollback_test extends \advanced_testcase {
final class rollback_test extends \advanced_testcase {
/**
* Test the behaviour of execute() method.
@@ -0,0 +1,79 @@
@tool @tool_analytics
Feature: Manager can obtain prediction models insights
In order to view prediction models insights
As a manager
I should be able to obtain the prediction models insights
Background:
Given the following "users" exist:
| username | firstname | lastname | email |
| s1 | Student | One | s1@example.com |
| m1 | Manager | One | m1@example.com |
| m2 | Manager | Two | m2@example.com |
| t1 | Teacher | One | t1@example.com |
And the following "role assigns" exist:
| user | role | contextlevel | reference |
| m1 | manager | System | |
| m2 | manager | System | |
# To ensure that course start date is in the future, set course start date to "tomorrow".
And the following "courses" exist:
| fullname | shortname | startdate |
| Course 1 | C1 | ##tomorrow## |
| Course 2 | C2 | ##tomorrow## |
| Course 3 | C3 | ##tomorrow## |
And the following "course enrolments" exist:
| user | course | role |
| s1 | C1 | student |
| s1 | C2 | student |
| s1 | C3 | student |
| t1 | C3 | editingteacher |
# Disable "Analytics processes execution via command line only".
And the following config values are set as admin:
| onlycli | 0 | analytics |
@javascript
Scenario: Manager can obtain prediction models insights
Given I log in as "m1"
And I navigate to "Analytics > Analytics models" in site administration
And I click on "Actions" "link" in the "Courses at risk of not starting" "table_row"
And I click on "Execute scheduled analysis" "link" in the "Courses at risk of not starting" "table_row"
And I press "Continue"
When I select "All predictions" from the "contextid" singleselect
# Confirm that only courses without teachers, Course 1 and Course 2, are listed.
Then "Course 1" "text" should exist
And "Course 2" "text" should exist
And "Course 3" "text" should not exist
And I click on "Select Course 1 for bulk action" "checkbox"
And I press "Not applicable"
And I press "Confirm"
# After m1 marks Course 1 as Not applicable, only Course 2 should be listed in the predictions for manager 1.
And "Course 1" "text" should not exist
And "Course 2" "text" should exist
And I log in as "m2"
And I click on ".popover-region-notifications" "css_element"
# Notification of new insight exists.
And "Upcoming courses have no teachers or students" "text" should exist
And I click on "View full notification" "link" in the ".popover-region-notifications" "css_element"
And I click on "View insight" "link"
# Course 1, previously marked as Not applicable by manager 1, is still listed for manager 2.
And "Course 1" "text" should exist
And I click on "View details" "link" in the "Course 1" "table_row"
# Prediction details and indicators are displayed for the selected course.
And the following should exist in the "insights-list" table:
| Description |
| Course 1 |
And the following should exist in the "prediction-calculations" table:
| -1- | -2- |
| Teacher availability | No |
| Student enrolments | Yes |
# Date of prediction analysis execution.
And "##today##%A, %d %B %Y##" "text" should exist in the "Time predicted" "table_row"
And I click on "Select Course 1 for bulk action" "checkbox"
And I press "Accept"
And I press "Confirm"
# Verify that you end up on the page listing predictions for 'No teaching'.
And "Courses at risk of not starting" "text" should exist
And "The following courses due to start in the upcoming days are at risk of not starting because they don't have teachers or students enrolled." "text" should exist
And the following should not exist in the "insights-list" table:
| Description |
| Course 1 |
+1 -1
View File
@@ -45,7 +45,7 @@ require_once($CFG->dirroot . '/analytics/tests/fixtures/test_target_course_level
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
* @since Moodle 3.8
*/
class external_test extends externallib_advanced_testcase {
final class external_test extends externallib_advanced_testcase {
/**
* test_potential_contexts description
+4
View File
@@ -36,6 +36,10 @@ if (function_exists('opcache_reset')) {
define('CLI_SCRIPT', true);
define('CACHE_DISABLE_ALL', true);
// It makes no sense to use BEHAT_CLI for this script (the Behat launch scripts expect to start
// from the normal environment), so in case user has set tne environment variable, disable it.
putenv('BEHAT_CLI=0');
// Basic functions.
require_once(__DIR__ . '/../../../../lib/clilib.php');
require_once(__DIR__ . '/../../../../lib/behat/lib.php');
+4
View File
@@ -31,6 +31,10 @@ define('ABORT_AFTER_CONFIG', true);
define('CACHE_DISABLE_ALL', true);
define('NO_OUTPUT_BUFFERING', true);
// It makes no sense to use BEHAT_CLI for this script (the Behat launch scripts expect to start
// from the normal environment), so in case user has set tne environment variable, disable it.
putenv('BEHAT_CLI=0');
require_once(__DIR__ .'/../../../../config.php');
require_once(__DIR__.'/../../../../lib/clilib.php');
require_once(__DIR__.'/../../../../lib/behat/lib.php');
+4
View File
@@ -39,6 +39,10 @@ define('NO_OUTPUT_BUFFERING', true);
define('IGNORE_COMPONENT_CACHE', true);
define('ABORT_AFTER_CONFIG', true);
// It makes no sense to use BEHAT_CLI for this script (the Behat launch scripts expect to start
// from the normal environment), so in case user has set tne environment variable, disable it.
putenv('BEHAT_CLI=0');
require_once(__DIR__ . '/../../../../lib/clilib.php');
// CLI options.
+4
View File
@@ -33,6 +33,10 @@ if (isset($_SERVER['REMOTE_ADDR'])) {
die(); // No access from web!.
}
// It makes no sense to use BEHAT_CLI for this script (the Behat launch scripts expect to start
// from the normal environment), so in case user has set tne environment variable, disable it.
putenv('BEHAT_CLI=0');
// Basic functions.
require_once(__DIR__ . '/../../../../lib/clilib.php');
require_once(__DIR__ . '/../../../../lib/behat/lib.php');
@@ -46,14 +46,14 @@ require_once($CFG->libdir . '/behat/form_field/behat_form_text.php');
* @covers \behat_form_text
* @covers \behat_form_field
*/
class behat_form_text_test extends \basic_testcase {
final class behat_form_text_test extends \basic_testcase {
/**
* Data provider for the test_set_get_value() method.
*
* @return array of value and expectation pairs to be tested.
*/
public function provider_test_set_get_value() {
public static function provider_test_set_get_value(): array {
return [
'null' => [null, null],
'int' => [3, 3],
@@ -68,7 +68,7 @@ class behat_form_text_test extends \basic_testcase {
*
* @param mixed $value value to be set.
* @param mixed $expectation value to be checked.
* @dataProvider provider_test_set_get_value()
* @dataProvider provider_test_set_get_value
*/
public function test_set_get_value($value, $expectation) {
$session = $this->createMock(Session::class);
@@ -85,7 +85,7 @@ class behat_form_text_test extends \basic_testcase {
*
* @return array of decsep, value, match and result pairs to be tested.
*/
public function provider_test_matches() {
public static function provider_test_matches(): array {
return [
'lazy true' => ['.', 'hello', 'hello', true],
'lazy false' => ['.', 'hello', 'bye', false],
@@ -113,7 +113,7 @@ class behat_form_text_test extends \basic_testcase {
* @param mixed $value value to be set.
* @param mixed $match value to be matched.
* @param bool $result expected return status of the function.
* @dataProvider provider_test_matches()
* @dataProvider provider_test_matches
*/
public function test_matches($decsep, $value, $match, $result) {
global $CFG;
@@ -30,7 +30,7 @@ namespace tool_behat\external;
*
* @covers \tool_behat\external\get_entity_generator
*/
class get_entity_generator_test extends \advanced_testcase {
final class get_entity_generator_test extends \advanced_testcase {
/**
* Log in as admin
+1 -5
View File
@@ -1,7 +1,4 @@
<?php
// phpcs:ignoreFile
// @codeCoverageIgnoreStart
// This file is part of Moodle - http://moodle.org/
//
// Moodle is free software: you can redistribute it and/or modify
@@ -39,8 +36,7 @@ require_once($CFG->libdir . '/behat/classes/behat_config_manager.php');
* @copyright 2016 Rajesh Taneja
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
*/
class tool_behat_manager_util_testcase extends advanced_testcase {
final class manager_util_test extends \advanced_testcase {
/** @var array Fixtures features which are available. */
private $featurepaths = array(
'default' => array(
+1
View File
@@ -87,6 +87,7 @@ $action = optional_param('action', '', PARAM_ALPHA);
// Handle any single operation actions.
if ($action == 'requestanalysis') {
if ($courseid != 0) {
require_sesskey();
scheduler::request_course_analysis($courseid);
if ($courseid == SITEID) {
redirect(accessibility::get_plugin_url());
@@ -26,7 +26,7 @@ use tool_brickfield\local\tool\filter;
* @author Jay Churchward (jay@brickfieldlabs.ie)
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
*/
class accessibility_test extends \advanced_testcase {
final class accessibility_test extends \advanced_testcase {
/**
* Test get_title().
+1 -1
View File
@@ -28,7 +28,7 @@ require_once($CFG->dirroot . '/admin/tool/brickfield/tests/area_test_base.php');
* @copyright 2020 onward: Brickfield Education Labs, https://www.brickfield.ie
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
*/
class area_test extends area_test_base {
final class area_test extends area_test_base {
/**
* Test for the area assign intro
*/
+2 -2
View File
@@ -26,8 +26,8 @@ use tool_brickfield\local\tool\filter;
* @author Jay Churchward (jay.churchward@poetopensource.org)
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
*/
class filters_test extends \advanced_testcase {
public function test_constructor() {
final class filters_test extends \advanced_testcase {
public function test_constructor(): void {
$this->resetAfterTest();
// Variables.
@@ -23,7 +23,7 @@ namespace tool_brickfield\local\areas\core_question;
* @copyright 2020 onward: Brickfield Education Labs, https://www.brickfield.ie
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
*/
class questionanswers_test extends \advanced_testcase {
final class questionanswers_test extends \advanced_testcase {
/**
* Set up before class.
@@ -30,7 +30,7 @@ use tool_brickfield\area_test_base;
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
* @coversDefaultClass \tool_brickfield\local\areas\core_question\base
*/
class questiontext_test extends area_test_base {
final class questiontext_test extends area_test_base {
/**
* Set up before class.
*/
@@ -31,7 +31,7 @@ require_once('all_checks.php');
/**
* Class a_links_dont_open_new_window_testcase
*/
class a_links_dont_open_new_window_test extends all_checks {
final class a_links_dont_open_new_window_test extends all_checks {
/** @var string Check type */
protected $checktype = 'a_links_dont_open_new_window';
@@ -31,7 +31,7 @@ require_once('all_checks.php');
/**
* Class a_must_contain_text_testcase
*/
class a_must_contain_text_test extends all_checks {
final class a_must_contain_text_test extends all_checks {
/** @var string Check type */
protected $checktype = 'a_must_contain_text';
@@ -31,7 +31,7 @@ require_once('all_checks.php');
/**
* Class a_suspicious_link_text
*/
class a_suspicious_link_text_test extends all_checks {
final class a_suspicious_link_text_test extends all_checks {
/** @var string Check type */
protected $checktype = 'a_suspicious_link_text';
@@ -31,7 +31,7 @@ require_once('all_checks.php');
/**
* Class area_dont_open_new_window_testcase
*/
class area_dont_open_new_window_test extends all_checks {
final class area_dont_open_new_window_test extends all_checks {
/** @var string Check type */
protected $checktype = 'area_dont_open_new_window';
@@ -31,7 +31,7 @@ require_once('all_checks.php');
/**
* Class area_has_alt_value_testcase
*/
class area_has_alt_value_test extends all_checks {
final class area_has_alt_value_test extends all_checks {
/** @var string Check type */
protected $checktype = 'area_has_alt_value';
@@ -31,7 +31,7 @@ require_once('all_checks.php');
/**
* Class basefont_is_not_used_testcase
*/
class basefont_is_not_used_test extends all_checks {
final class basefont_is_not_used_test extends all_checks {
/** @var string Check type */
protected $checktype = 'basefont_is_not_used';
@@ -31,7 +31,7 @@ require_once('all_checks.php');
/**
* Class blink_is_not_used_testcase
*/
class blink_is_not_used_test extends all_checks {
final class blink_is_not_used_test extends all_checks {
/** @var string Check type */
protected $checktype = 'blink_is_not_used';
@@ -31,7 +31,7 @@ require_once('all_checks.php');
/**
* Class bold_is_not_used_testcase
*/
class bold_is_not_used_test extends all_checks {
final class bold_is_not_used_test extends all_checks {
/** @var string Check type */
protected $checktype = 'bold_is_not_used';
@@ -31,7 +31,7 @@ require_once('all_checks.php');
/**
* Class content_too_long_testcase
*/
class content_too_long_test extends all_checks {
final class content_too_long_test extends all_checks {
/** @var string Check type */
protected $checktype = 'content_too_long';
@@ -31,7 +31,7 @@ require_once('all_checks.php');
/**
* Class embed_has_associated_no_embed_testcase
*/
class embed_has_associated_no_embed_test extends all_checks {
final class embed_has_associated_no_embed_test extends all_checks {
/** @var string Check type */
protected $checktype = 'embed_has_associated_no_embed';
@@ -31,7 +31,7 @@ require_once('all_checks.php');
/**
* Class header_h3_testcase
*/
class header_h3_test extends all_checks {
final class header_h3_test extends all_checks {
/** @var string Check type */
protected $checktype = 'header_h3';
@@ -31,7 +31,7 @@ require_once('all_checks.php');
/**
* Class headers_have_text_testcase
*/
class headers_have_text_test extends all_checks {
final class headers_have_text_test extends all_checks {
/** @var string Check type */
protected $checktype = 'headers_have_text';
@@ -31,7 +31,7 @@ require_once('all_checks.php');
/**
* Class i_is_not_used_testcase
*/
class i_is_not_used_test extends all_checks {
final class i_is_not_used_test extends all_checks {
/** @var string Check type */
protected $checktype = 'i_is_not_used';
@@ -31,7 +31,7 @@ require_once('all_checks.php');
/**
* Class img_alt_is_different_testcase
*/
class img_alt_is_different_test extends all_checks {
final class img_alt_is_different_test extends all_checks {
/** @var string Check type */
protected $checktype = 'img_alt_is_different';
@@ -31,7 +31,7 @@ require_once('all_checks.php');
/**
* Class img_alt_is_too_long_testcase
*/
class img_alt_is_too_long_test extends all_checks {
final class img_alt_is_too_long_test extends all_checks {
/** @var string Check type */
protected $checktype = 'img_alt_is_too_long';
@@ -31,7 +31,7 @@ require_once('all_checks.php');
/**
* Class img_alt_not_empty_in_anchor_testcase
*/
class img_alt_not_empty_in_anchor_test extends all_checks {
final class img_alt_not_empty_in_anchor_test extends all_checks {
/** @var string Check type */
protected $checktype = 'img_alt_not_empty_in_anchor';
@@ -31,7 +31,7 @@ require_once('all_checks.php');
/**
* Class img_alt_not_placeholder_testcase
*/
class img_alt_not_place_holder_test extends all_checks {
final class img_alt_not_place_holder_test extends all_checks {
/** @var string Check type */
protected $checktype = 'img_alt_not_place_holder';
@@ -31,7 +31,7 @@ require_once('all_checks.php');
/**
* Class test_css_text_has_contrast_testcase
*/
class img_has_alt_test extends all_checks {
final class img_has_alt_test extends all_checks {
/** @var string Check type */
public $checktype = 'img_has_alt';
@@ -31,7 +31,7 @@ require_once('all_checks.php');
/**
* Class img_with_map_has_use_map_test
*/
class img_with_map_has_use_map_test extends all_checks {
final class img_with_map_has_use_map_test extends all_checks {
/** @var string Check type */
public $checktype = 'img_with_map_has_use_map';
@@ -31,7 +31,7 @@ require_once('all_checks.php');
/**
* Class legend_text_not_empty_test
*/
class legend_text_not_empty_test extends all_checks {
final class legend_text_not_empty_test extends all_checks {
/** @var string Check type */
public $checktype = 'legend_text_not_empty';
@@ -31,7 +31,7 @@ require_once('all_checks.php');
/**
* Class no_headings_test
*/
class no_headings_test extends all_checks {
final class no_headings_test extends all_checks {
/** @var string Check type */
public $checktype = 'no_headings';
@@ -31,7 +31,7 @@ require_once('all_checks.php');
/**
* Class object_must_have_embeded_test
*/
class object_must_have_embed_test extends all_checks {
final class object_must_have_embed_test extends all_checks {
/** @var string Check type */
public $checktype = 'object_must_have_embed';
@@ -31,7 +31,7 @@ require_once('all_checks.php');
/**
* Class object_must_have_title_test
*/
class object_must_have_title_test extends all_checks {
final class object_must_have_title_test extends all_checks {
/** @var string Check type */
public $checktype = 'object_must_have_title';
@@ -31,7 +31,7 @@ require_once('all_checks.php');
/**
* Class object_must_have_valid_title_test
*/
class object_must_have_valid_title_test extends all_checks {
final class object_must_have_valid_title_test extends all_checks {
/** @var string Check type */
public $checktype = 'object_must_have_valid_title';
@@ -31,7 +31,7 @@ require_once('all_checks.php');
/**
* Class strike_is_not_used_testcase
*/
class strike_is_not_used_test extends all_checks {
final class strike_is_not_used_test extends all_checks {
/** @var string Check type */
public $checktype = 'strike_is_not_used';
@@ -31,7 +31,7 @@ require_once('all_checks.php');
/**
* Class table_data_should_have_th_test
*/
class table_data_should_have_th_test extends all_checks {
final class table_data_should_have_th_test extends all_checks {
/** @var string Check type */
public $checktype = 'table_data_should_have_th';
@@ -31,7 +31,7 @@ require_once('all_checks.php');
/**
* Class table_summary_does_not_duplicate_caption_test
*/
class table_summary_does_not_duplicate_caption_test extends all_checks {
final class table_summary_does_not_duplicate_caption_test extends all_checks {
/** @var string Check type */
public $checktype = 'table_summary_does_not_duplicate_caption';
@@ -31,7 +31,7 @@ require_once('all_checks.php');
/**
* Class table_td_should_not_merge_test
*/
class table_td_should_not_merge_test extends all_checks {
final class table_td_should_not_merge_test extends all_checks {
/** @var string Check type */
public $checktype = 'table_td_should_not_merge';
@@ -31,7 +31,7 @@ require_once('all_checks.php');
/**
* Class table_th_should_have_scope_test
*/
class table_th_should_have_scope_test extends all_checks {
final class table_th_should_have_scope_test extends all_checks {
/** @var string Check type */
public $checktype = 'table_th_should_have_scope';
@@ -24,7 +24,7 @@ namespace tool_brickfield\local\tool;
* @author Jay Churchward (jay.churchward@poetopensource.org)
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
*/
class activityresults_test extends \advanced_testcase {
final class activityresults_test extends \advanced_testcase {
public function test_toolname() {
$this->resetAfterTest();
@@ -24,7 +24,7 @@ namespace tool_brickfield\local\tool;
* @author Jay Churchward (jay.churchward@poetopensource.org)
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
*/
class checktyperesults_test extends \advanced_testcase {
final class checktyperesults_test extends \advanced_testcase {
public function test_toolname() {
$this->resetAfterTest();
@@ -24,7 +24,7 @@ namespace tool_brickfield\local\tool;
* @author Jay Churchward (jay.churchward@poetopensource.org)
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
*/
class errors_test extends \advanced_testcase {
final class errors_test extends \advanced_testcase {
public function test_toolname() {
$this->resetAfterTest();
@@ -24,7 +24,7 @@ namespace tool_brickfield\local\tool;
* @author Jay Churchward (jay.churchward@poetopensource.org)
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
*/
class printable_test extends \advanced_testcase {
final class printable_test extends \advanced_testcase {
/**
* Test tool name.
+1 -1
View File
@@ -23,7 +23,7 @@ namespace tool_brickfield;
* @copyright 2020 onward: Brickfield Education Labs, https://www.brickfield.ie
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
*/
class manager_test extends \advanced_testcase {
final class manager_test extends \advanced_testcase {
/**
* Tests for the function manager::get_all_areas()
@@ -28,7 +28,7 @@ namespace tool_brickfield;
* Unit tests for {@registration tool_brickfield\registration.php}.
* @group tool_brickfield
*/
class registration_test extends \advanced_testcase {
final class registration_test extends \advanced_testcase {
public static function setUpBeforeClass(): void {
global $CFG;
@@ -24,7 +24,7 @@ namespace tool_brickfield;
* @author Jay Churchward (jay@brickfieldlabs.ie)
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
*/
class scheduler_test extends \advanced_testcase {
final class scheduler_test extends \advanced_testcase {
public function test_request_analysis() {
$this->resetAfterTest();
+6 -6
View File
@@ -27,10 +27,10 @@ use tool_brickfield\local\tool\tool;
* @author Jay Churchward (jay.churchward@poetopensource.org)
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
*/
class tool_test extends \advanced_testcase {
final class tool_test extends \advanced_testcase {
/** @var string base 64 image */
protected $base64img = <<<EOF
protected static string $base64img = <<<EOF
<img src="data:image/gif;base64,R0lGODlhPQBEAPeoAJosM//AwO/AwHVYZ/z595kzAP/s7P+goOXMv8+fhw/v739/f+8PD98fH/
8mJl+fn/9ZWb8/PzWlwv///6wWGbImAPgTEMImIN9gUFCEm/gDALULDN8PAD6atYdCTX9gUNKlj8wZAKUsAOzZz+UMAOsJAP/Z2ccMDA8PD/95eX5N
WvsJCOVNQPtfX/8zM8+QePLl38MGBr8JCP+zs9myn/8GBqwpAP/GxgwJCPny78lzYLgjAJ8vAP9fX/+MjMUcAN8zM/9wcM8ZGcATEL+QePdZWf/29u
@@ -118,11 +118,11 @@ EOF;
* Base64 image provider.
* @return array
*/
public function base64_img_provider(): array {
public static function base64_img_provider(): array {
$img = '<img src="myimage.jpg" />';
return [
'Image tag alone (base64)' => [
$this->base64img,
self::$base64img,
true,
],
'Image tag alone (link)' => [
@@ -130,7 +130,7 @@ EOF;
false,
],
'Image tag in string (base64)' => [
"This is my image {$this->base64img}.",
"This is my image " . self::$base64img,
true,
],
'Image tag in string (link)' => [
@@ -162,7 +162,7 @@ EOF;
}
public function test_truncate_base64() {
$truncated = tool::truncate_base64($this->base64img);
$truncated = tool::truncate_base64(self::$base64img);
$this->assertStringContainsString('<img src="data:image/gif;base64..."', $truncated);
}
}
@@ -31,7 +31,7 @@ namespace tool_capability\event;
* @copyright 2014 Petr Skoda
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later.
*/
class events_test extends \advanced_testcase {
final class events_test extends \advanced_testcase {
/**
* Setup testcase.
@@ -31,7 +31,7 @@ require_once($CFG->dirroot . '/' . $CFG->admin . '/tool/capability/locallib.php'
/**
* Tests for the capability overview helper functions.
*/
class locallib_test extends \advanced_testcase {
final class locallib_test extends \advanced_testcase {
/**
* Test the function that gets the data - simple case.
@@ -0,0 +1,70 @@
<?php
// This file is part of Moodle - https://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 <https://www.gnu.org/licenses/>.
namespace tool_capability;
// phpcs:disable moodle.PHPUnit.TestCaseProvider.dataProviderSyntaxMethodNotFound
/**
* Detect common problems in capability definitions of plugins.
*
* @group plugin_checks
* @package tool_capability
* @copyright 2025 Petr Skoda
* @license https://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
*/
final class plugin_checks_test extends \core\tests\plugin_checks_testcase {
/**
* Verify contents of plugin db/access.php file.
*
* @dataProvider all_plugins_provider
* @coversNothing
*
* @param string $component
* @param string $plugintype
* @param string $pluginname
* @param string $dir
*/
public function test_db_access_file(string $component, string $plugintype, string $pluginname, string $dir): void {
global $CFG;
$stringmanager = get_string_manager();
$corerolefile = "$CFG->dirroot/lang/en/role.php";
$langfile = "$dir/lang/en/$component.php";
$file = "$dir/db/access.php";
$capabilities = $this->fetch_array_from_file($file, 'capabilities');
if (!$capabilities) {
$this->expectNotToPerformAssertions();
return;
}
foreach ($capabilities as $capname => $capability) {
if ($plugintype === 'qbank' && str_starts_with($capname, 'moodle/question:')) {
// Question bank capabilities are irregular.
$strname = explode('/', $capname, 2)[1];
$this->assertTrue($stringmanager->string_exists($strname, 'core_role'),
"Missing capability name string '$strname' in $corerolefile");
continue;
}
$this->assertMatchesRegularExpression("|^$plugintype/$pluginname:[a-z0-9_]+$|", $capname);
$strname = substr($capname, strlen($plugintype) + 1);
$this->assertTrue($stringmanager->string_exists($strname, $component),
"Missing capability name string '$strname' in $langfile");
$this->assertSame($capname, clean_param($capname, PARAM_CAPABILITY));
}
}
}
+1 -1
View File
@@ -23,7 +23,7 @@ namespace tool_cohortroles;
* @copyright 2015 Damyon Wiese
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
*/
class api_test extends \advanced_testcase {
final class api_test extends \advanced_testcase {
/** @var \stdClass $cohort */
protected $cohort = null;
@@ -39,7 +39,7 @@ use core_privacy\local\request\approved_userlist;
* @copyright 2018 Zig Tan <zig@moodle.com>
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
*/
class provider_test extends \core_privacy\tests\provider_testcase {
final class provider_test extends \core_privacy\tests\provider_testcase {
/**
* Overriding setUp() function to always reset after tests.
@@ -36,7 +36,7 @@ use moodle_exception;
* @copyright 2020 Ferran Recio <ferran@moodle.com>
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
*/
class langstring_test extends advanced_testcase {
final class langstring_test extends advanced_testcase {
/**
* Sanity 1.x string
@@ -60,7 +60,7 @@ class langstring_test extends advanced_testcase {
*
* @return array
*/
public function fix_syntax_data() : array {
public static function fix_syntax_data(): array {
return [
// Syntax sanity v1 strings.
[

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