Compare commits

...

8920 Commits

Author SHA1 Message Date
Jun Pataleta 52c0da7c64 Moodle release 4.5 2024-10-05 15:10:56 +08:00
Jun Pataleta 5b421c6db6 NOBUG: Add upgrade notes 2024-10-05 15:08:28 +08:00
AMOS bot 572b972869 Automatically generated installer lang files 2024-10-05 00:07:53 +00:00
Huong Nguyen 5fdbd507a4 Moodle release 4.5rc2 2024-10-04 21:07:32 +07:00
Huong Nguyen 3a6640c461 NOBUG: Add upgrade notes 2024-10-04 21:06:11 +07:00
Huong Nguyen 166408a13a NOBUG: Fixed SVG browser compatibility 2024-10-04 21:02:58 +07:00
Huong Nguyen 00af6298b1 Merge branch 'install_main' of https://git.in.moodle.com/amosbot/moodle-install 2024-10-04 21:02:58 +07:00
Andrew Nicols e8c5c84403 MDL-83351 upgradenotes: Correct invalid components 2024-10-04 16:07:10 +07:00
Jun Pataleta 3d60012841 MDL-83309 aiplacement_courseassist: Bump plugin maturity to stable 2024-10-04 11:54:58 +07:00
AMOS bot 813cad3b24 Automatically generated installer lang files 2024-10-04 00:07:49 +00:00
Sara Arjona 315416e197 Merge branch 'MDL-83351-main' of https://github.com/andrewnicols/moodle 2024-10-03 17:20:54 +02:00
Andrew Nicols 807731743d MDL-83351 navigation: Convert final deprecation to non-final 2024-10-03 23:01:32 +08:00
Andrew Nicols a865529d7a MDL-83351 upgradenote: Remove unnecessary notes 2024-10-03 23:01:31 +08:00
Andrew Nicols 1d88b57bba MDL-83351 upgradenotes: Clarify upgrade notes 2024-10-03 23:01:31 +08:00
Jun Pataleta b576bb4a0e Merge branch 'MDL-83353' of https://github.com/paulholden/moodle 2024-10-03 20:28:07 +08:00
Michael Hawkins f3189c1e1a MDL-83352 message: Update usercantbemessaged string 2024-10-03 17:46:03 +07:00
Paul Holden 8d318b1b05 MDL-83353 output: fix icon output in classic activity navigation.
Prevent `$PAGE` debugging when loading navigation branches.
2024-10-03 10:14:48 +01:00
Sara Arjona f4202b26cd Merge branch 'MDL-83312-main' of https://github.com/davewoloszyn/moodle 2024-10-03 10:24:58 +02:00
Jun Pataleta 62b8b3709d Merge branch 'MDL-83238-main-enfix' of https://github.com/mudrd8mz/moodle 2024-10-03 16:01:53 +08:00
Sara Arjona d7f28e0c93 Merge branch 'MDL-83309-main' of https://github.com/junpataleta/moodle 2024-10-03 08:22:26 +02:00
Sara Arjona 3f9087a161 Merge branch 'MDL-83318-main' of https://github.com/aanabit/moodle 2024-10-03 08:11:10 +02:00
Huong Nguyen d1cced3864 Merge branch 'MDL-83296' of https://github.com/marinaglancy/moodle 2024-10-03 08:44:21 +07:00
Andrew Nicols 0d19dd6491 Merge branch 'MDL-83293-main' of https://github.com/junpataleta/moodle 2024-10-03 08:46:16 +08:00
David Woloszyn 3b23f4db26 MDL-83312 AI: Check provider has minimal config 2024-10-03 10:25:23 +10:00
David Carrillo 07ad4b8ebc MDL-83179 badges: Get type and courseid from context instead of params 2024-10-03 08:11:51 +08:00
Jun Pataleta f173a7026a MDL-83293 core: Fix path separator when guessing the base path
Ensure that path separator for the script when guessing the base path
uses forward slash instead of the OS' directory separator.
(e.g. "\" in Windows)
2024-10-03 08:01:30 +08:00
Shamim Rezaie 6399179739 MDL-83332 core: Remove slasharguments config modification lines
MDL-62640 removed the 'slasharguments' config, and 3229dda3 attempted to
restore it by setting it to 1. This could unintentionally reset the
'slasharguments' config for all sites upgrading to 4.5.
2024-10-03 02:16:32 +10:00
Shamim Rezaie 83526c7a2d Merge branch 'MDL-83332-main-new' of https://github.com/meirzamoodle/moodle 2024-10-03 02:15:03 +10:00
Amaia Anabitarte 76f84a929d MDL-83318 pix: Recover previous and next icons 2024-10-02 15:14:36 +02:00
meirzamoodle 3229dda3d6 MDL-83332 core: Revert the slashargument removal on MDL-62640
Removing the option causes issues on MacOS.
2024-10-02 18:36:14 +07:00
Jun Pataleta 7f0b254022 MDL-83309 mod_subsection: Remove $plugin->release
* Release names ($plugin->release) are only for non-core plugins
2024-10-02 17:18:28 +08:00
Jun Pataleta 5c09d2c905 MDL-83309 versions: Main version bump 2024-10-02 17:05:39 +08:00
Jun Pataleta f24e0ecf53 MDL-83309 versions: Bump all versions and requires near release 2024-10-02 17:04:53 +08:00
Paul Holden 1a040098e3 MDL-83180 reportbuilder: correct access check for viewing schedules. 2024-10-02 16:49:09 +08:00
Huong Nguyen 13fdeab15e Merge branch 'MDL-83327_main' of https://github.com/marxjohnson/moodle 2024-10-02 14:28:08 +07:00
Huong Nguyen 4a53eda14e Merge branch 'MDL-83328_main' of https://github.com/marxjohnson/moodle 2024-10-02 13:48:41 +07:00
David Carrillo a25ee4ebb9 MDL-83178 reportbuilder: correct access check to view badge recipients 2024-10-02 13:57:53 +08:00
Jun Pataleta f332842df1 Merge branch 'mdl83310' of https://github.com/danmarsden/moodle 2024-10-02 12:31:17 +08:00
Paul Holden e724d59d35 MDL-83181 reportbuilder: ensure audience correctness before delete. 2024-10-02 03:04:18 +00:00
Paul Holden c8bf6bc4a8 MDL-82386 block_rss_client: user access checks for feed edit/delete. 2024-10-02 03:04:18 +00:00
Huong Nguyen d421ca9ccd Merge branch 'mdl83176' of https://github.com/danmarsden/moodle 2024-10-02 10:00:18 +07:00
Mark Johnson 89a87b7d4e MDL-83328 qbank_managecategories: Fix move dialogue for single child 2024-10-01 14:45:33 +01:00
Mark Johnson 8c1c013f78 MDL-83327 qbank_managecategories: Fix invalid parameter when moving
Clicking on the "Move" label of the move button resulted in an
incorrectly titled dialog and an "invalid parameter" error.
2024-10-01 14:35:05 +01:00
Huong Nguyen 0eacab846e Moodle release 4.5rc1 2024-10-01 19:37:23 +07:00
Huong Nguyen 4d1c0cb04b NOBUG: Add upgrade notes 2024-10-01 19:37:15 +07:00
Dan Marsden 14254008fd MDL-83310 course: remove hard-coded list of course formats from test. 2024-10-01 19:57:46 +13:00
Huong Nguyen 6332ffc0dd Merge branch 'MDL-83298-main' of https://github.com/andrewnicols/moodle 2024-10-01 13:05:15 +07:00
Jun Pataleta faa06503b1 Merge branch 'MDL-83264-main-1' of https://github.com/mihailges/moodle 2024-10-01 12:47:09 +08:00
Huong Nguyen 838a9abb73 Merge branch 'MDL-82900-main' of https://github.com/mickhawkins/moodle 2024-10-01 11:40:37 +07:00
Michael Hawkins e50249fbea MDL-82900 AI: Update language strings 2024-10-01 12:33:38 +08:00
Mihail Geshoski d0056ae0b0 MDL-83264 mod_quiz: Return the correct name for top categories 2024-10-01 09:40:47 +08:00
David Mudrák cdd3b4648f MDL-83238 lang: Fix the changed strings in the tests, too 2024-09-30 20:04:54 +02:00
Helen Foster 8e8267144d MDL-83238 lang: Import fixed English strings (en_fix) 2024-09-30 19:42:49 +02:00
Shamim Rezaie 5dbe3fa789 Merge branch 'MDL-82693' of https://github.com/paulholden/moodle 2024-09-30 23:41:31 +10:00
Shamim Rezaie c24a0554d2 Merge branch 'MDL-83295-main' of https://github.com/junpataleta/moodle 2024-09-30 23:08:17 +10:00
Shamim Rezaie f7db1fabbb Merge branch 'MDL-81590-main' of https://github.com/junpataleta/moodle 2024-09-30 23:01:06 +10:00
Sara Arjona 0cde4a8842 Merge branch 'MDL-83276-main' of https://github.com/HuongNV13/moodle 2024-09-30 11:20:30 +02:00
Dan Marsden 1ba9fb88d9 MDL-83176 cache: Include formslib as it doesn't autoload 2024-09-30 20:39:48 +13:00
Sara Arjona f608faef01 Merge branch 'MDL-82939-main' of https://github.com/mickhawkins/moodle 2024-09-30 07:41:37 +02:00
Huong Nguyen ce2c4775f8 Merge branch 'MDL-83277-main' of https://github.com/raortegar/moodle 2024-09-30 11:29:02 +07:00
Marina Glancy 7015c67d7c MDL-83296 user: store defaulthomepage as a relative url 2024-09-27 14:31:26 +01:00
Huong Nguyen 30692df849 Moodle release 4.5beta 2024-09-27 19:16:56 +07:00
Huong Nguyen 282421ce6c NOBUG: Change upgrade notes version 2024-09-27 19:16:56 +07:00
Andrew Nicols 116b0975c7 MDL-83298 core: Trim trailing whitespace on upgrade notes 2024-09-27 20:05:58 +08:00
Huong Nguyen 7b4ed9096f NOBUG: Add upgrade notes 2024-09-27 18:45:07 +07:00
Huong Nguyen d4822bf0fb Moodle release 4.5beta 2024-09-27 18:45:07 +07:00
Huong Nguyen c72e5f2ae7 NOBUG: Fixed SVG browser compatibility 2024-09-27 18:44:53 +07:00
Huong Nguyen 2c2b04fea1 Merge branch 'install_main' of https://git.in.moodle.com/amosbot/moodle-install 2024-09-27 18:44:53 +07:00
Jun Pataleta a2dd139baf MDL-83295 core: Use pattern matching for expected task output 2024-09-27 17:28:26 +08:00
Huong Nguyen c2dafca314 MDL-83276 AI: Extra checks for provider and placement actions 2024-09-27 15:48:42 +07:00
raortegar 9825a4129a MDL-83277 AI: Placement Text Editor - Remove browser console log 2024-09-27 09:55:11 +02:00
raortegar e9c2e52c9d MDL-83277 AI: Course Assistance - Remove browser console log 2024-09-27 09:55:11 +02:00
Jun Pataleta a6975e6dc4 MDL-81590 core: Build the context path without using DIRECTORY_SEPARATOR 2024-09-27 15:39:38 +08:00
Michael Hawkins c7810fd7ce MDL-82939 core_sms: Update lang strings
Also fixed a bug where the gateways page didnt render the correct title.
2024-09-27 13:38:55 +08:00
Jun Pataleta ddfd7353bc Merge branch 'MDL-80929' of https://github.com/paulholden/moodle 2024-09-27 12:40:12 +08:00
Huong Nguyen 955f04af77 Merge branch 'MDL-83205-main' of https://github.com/andrewnicols/moodle 2024-09-27 11:26:42 +07:00
Huong Nguyen cf4fe9d924 Merge branch 'MDL-82483' of https://github.com/paulholden/moodle 2024-09-27 11:15:40 +07:00
Jun Pataleta b3943152f6 Merge branch 'MDL-82602' of https://github.com/paulholden/moodle 2024-09-27 12:10:41 +08:00
Huong Nguyen 762aa5ada8 Merge branch 'MDL-80974-main' of https://github.com/sh-csg/moodle 2024-09-27 11:08:36 +07:00
Jun Pataleta 4fd625c4fd Merge branch 'MDL-82973' of https://github.com/paulholden/moodle 2024-09-27 12:05:56 +08:00
Jun Pataleta 75888b351f Merge branch 'MDL-83163-main' of https://github.com/sammarshallou/moodle 2024-09-27 11:59:22 +08:00
Andrew Nicols bc44c50481 Merge branch 'MDL-83094' of https://github.com/paulholden/moodle 2024-09-27 11:05:34 +08:00
Huong Nguyen ea4336279b Merge branch 'MDL-82231' of https://github.com/paulholden/moodle 2024-09-27 09:51:14 +07:00
Jun Pataleta 1e93072906 Merge branch 'MDL-81157' of https://github.com/paulholden/moodle 2024-09-27 10:28:20 +08:00
Jun Pataleta 25c8f5b429 Merge branch 'MDL-82581' of https://github.com/paulholden/moodle 2024-09-27 10:10:39 +08:00
AMOS bot 034ed3e0ed Automatically generated installer lang files 2024-09-27 00:07:49 +00:00
Sara Arjona 9a83df73a5 Merge branch 'MDL-82872' of https://github.com/jfederico/moodle 2024-09-26 17:59:54 +02:00
jfedericobn 43542cbcb4 MDL-82872 mod_bigbluebuttonbn: Extend meeting_events with subplugins 2024-09-26 15:33:10 +00:00
Jun Pataleta 4152849273 Merge branch 'MDL-79288-main_blockaccessreview_colourcontrastcheck' of https://github.com/brickfield/moodle 2024-09-26 19:44:58 +08:00
Jun Pataleta 18095f2478 Merge branch 'MDL-83263-main' of https://github.com/mihailges/moodle 2024-09-26 16:28:42 +08:00
Michael Pound f96c9b68a1 MDL-79288 block_accessreview: Improve heatmap colour contrast. 2024-09-26 04:08:02 -04:00
Andrew Nicols 25398dc129 Merge branch 'MDL-83268-main' of https://github.com/sarjona/moodle 2024-09-26 15:58:38 +08:00
Andrew Nicols 52e64f0890 Merge branch 'MDL-83245-main-fix' of https://github.com/HuongNV13/moodle 2024-09-26 15:57:50 +08:00
Huong Nguyen a7e4cec6b7 MDL-83245 core_files: Fix incorrect setting name 2024-09-26 14:49:51 +07:00
Sara Arjona eec4c5948c MDL-83268 core_h5p: Remove unused font files
In https://h5ptechnology.atlassian.net/browse/HFP-4105, the
fonts/h5p-core-29.svg was merged with some conflicts.
Looking at the patch there, it seems all the h5p-core-29* fonts
can be removed because the ones used by the library are the
h5p-core-30-*.

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

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

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

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

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

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

Originally implemented as MDL-81732 and MDL-82660.

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

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

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

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

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

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

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

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

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

Originally implemented in MDL-80891

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

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

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

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

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

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

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

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

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

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

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

Notable upstream changes:

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

    node .grunt/upgradenotes.mjs

      OR

    npm run upgradenote

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

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

        OR

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

Summary Markdown files can be created using:

    node .grunt/upgradenotes.mjs summary

Weekly release files can be created using:

    node .grunt/upgradenotes.mjs release

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

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

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

This brings PHP 8.3 support for Guzzle.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

* Rebuild JavaScript

* Fix behat test failing in Moodle 4.0

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

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

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

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

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

* Fix grunt errors

* Fix unreliability in the preview Behat tests

* Fix Moodle 4.0-style regrading

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

* Update CI config

---------

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

* function question_register_questiontype() not needed in questiontype.php

* Code checker issues in questiontype.php

* Code checker issues in question.php

* Code checker issues in renderer.php

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

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

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

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

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

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

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

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

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

So we replace all instances of assertObjectHasAttribute with
assertObjectHasProperty.

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

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

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

So we replace all instances of assertObjectNotHasAttribute with
assertObjectNotHasProperty.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

It will also cause some additional contexts to be returned:

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Instead you can do:

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

Or better still:

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

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

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

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

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

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

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

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

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

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

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

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

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

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

This is a very simple wrapper around jsdoc itself.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

This commit addresses exactly that, following the instructions:

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

This is now fixed.
2023-10-10 12:14:34 +01:00
Paul Holden be8f3f2788 MDL-79635 group: ensure unique params used to determine visibility.
Or we'll trigger DML "Incorrect number of query parameters" exception.
2023-10-10 10:06:06 +01:00
Sara Arjona c43017e1f9 Merge branch 'MDL-77816' of https://github.com/paulholden/moodle 2023-10-10 09:21:21 +02:00
Ilya Tregubov 1a34928531 Merge branch 'MDL-79501-master' of https://github.com/geichelberger/moodle 2023-10-10 15:05:32 +08:00
Ilya Tregubov d79e8052fb Merge branch 'MDL-79279' of https://github.com/timhunt/moodle 2023-10-10 11:19:27 +08:00
Jun Pataleta 9beff03a96 MDL-79626 upgrade: add the 4.3.0 separation line to all upgrade scripts 2023-10-10 10:44:17 +08:00
Ilya Tregubov f54071f922 Merge branch 'MDL-71414-master' of https://github.com/laurentdavid/moodle 2023-10-10 10:09:05 +08:00
Jun Pataleta ecde0bb902 MDL-79625 backup: Bump release to 4.3 2023-10-10 10:06:51 +08:00
Paul Holden 2a07f77406 MDL-79633 mod_data: correct timemodified tag replacement attribute. 2023-10-09 19:26:10 +01:00
Paul Holden 3893c99825 MDL-79352 admin: fix links to tool plugin management page. 2023-10-09 15:11:11 +01:00
Paul Holden dc01be8c54 MDL-79611 group: early exit getting members of non-existing group. 2023-10-09 15:00:14 +01:00
Paul Holden 4df9222f51 MDL-77816 mod_bigbluebuttonbn: feedback when validating completion. 2023-10-09 14:58:03 +01:00
Yannick Schillinger cad2aedf59 MDL-77816 mod_bigbluebuttonbn: Fix completionValidate argument format 2023-10-09 14:58:03 +01:00
Laurent David 753909325d MDL-71414 mod_h5pactivity: Add a new "None" message
* In matching types of questions, sometimes the user does not answer all
questions. We now display "None" in the result report. The answer can
be either correct or incorrect.
* Fix "unknown" answer constant name.
2023-10-09 11:44:30 +02:00
Laurent David 830b19649e MDL-71414 mod_h5pactivity: Fix issue with drop down report
* Drag and Drop report were missing answers when target could be dropped on multiple
drop zones.
2023-10-09 11:44:29 +02:00
Jun Pataleta 769c67045f weekly back-to-dev release 4.4dev 2023-10-07 12:00:36 +08:00
Jun Pataleta fe7aff8093 Moodle release 4.3 2023-10-07 11:31:00 +08:00
Philipp Memmel 8c8a11939b MDL-79623 tool_componentlibrary: Fix correct modal content attribute 2023-10-06 13:15:36 +00:00
Sara Arjona c765bb3b52 Moodle release 4.3rc2 2023-10-06 14:03:06 +02:00
Sara Arjona cacdbac650 NOBUG: Fixed SVG browser compatibility 2023-10-06 14:03:03 +02:00
Sara Arjona d06fa181f9 Merge branch 'MDL-79581-master' of https://github.com/sarjona/moodle 2023-10-06 12:24:35 +02:00
Sara Arjona 89d3f66c2f MDL-79581 communication: Adding missing index to install 2023-10-06 12:18:03 +02:00
Safat f3dba5b195 MDL-79614 communication_matrix: Add missing call for sync flag 2023-10-06 17:46:08 +11:00
Sara Arjona 02d5e79b6f Merge branch 'MDL-79613-master' of https://github.com/snake/moodle 2023-10-06 08:31:11 +02:00
Huong Nguyen 73769bdd4f Merge branch 'MDL-79573-master-int' of https://github.com/mickhawkins/moodle 2023-10-06 13:04:36 +07:00
Jake Dallimore 12fa9a8d22 MDL-79613 core_grade: revert the removal of searchwidget templates
These templates are needed by plugins which use the now-deprecated
searchwidget (located in grade/amd/src/searchwidget/basewidget.js)
in order to keep that deprecated widget working during the deprecation
time period. This also clarifies the js deprecation notice.
2023-10-06 12:22:33 +08:00
Michael Hawkins acc48db386 MDL-79573 communication: Load form data for the correct provider fields 2023-10-06 11:10:09 +08:00
Ilya Tregubov b1774ab520 Merge branch 'MDL-79570-master' of https://github.com/ferranrecio/moodle 2023-10-06 11:09:29 +08:00
Ferran Recio 2824913f42 MDL-79570 tool_usertours: fix tours for fixed z-index elements 2023-10-06 05:00:15 +02:00
Ilya Tregubov 2b4041f93c Merge branch 'MDL-79586-master' of https://github.com/safatshahin/moodle 2023-10-06 10:25:39 +08:00
Michael Hawkins 329a9e97d2 MDL-79573 communication: Support new records for each provider type
Previously, we replaced information in the same communication record
in the database, now there will be a unique record per provider.
This ensures when switching between different providers, the correct
actions such as room member management can be actioned for the correct
provider.

This also includes the required updates for the instances to no
longer assume a provider must be enabled to be relevant. Specifying a
provider is optional to fetch a specific provider instance, the default
will use the currently enabled provider.
2023-10-06 09:54:32 +08:00
Ilya Tregubov f9d75f083f Merge branch 'MDL-79570-master' of https://github.com/ferranrecio/moodle 2023-10-06 08:40:33 +08:00
Ilya Tregubov 0cfac00031 Merge branch 'MDL-79589-master' of https://github.com/ferranrecio/moodle 2023-10-06 07:54:49 +08:00
Sara Arjona 1cdb5d2d20 Merge branch 'MDL-79599-master' of https://github.com/ferranrecio/moodle 2023-10-05 19:59:45 +02:00
Ferran Recio 74b61956ca MDL-79570 tool_usertours: fix drawers tour position 2023-10-05 18:03:33 +02:00
Ferran Recio 2e1506f42c MDL-79570 theme_boost: fix drawers z-index
Drawers are floating elements that should cover the page content but not
the top navbar or the sticky footer. This patch gives the drawer a
consistent z-index of $zindex-fixed -1 as oposed to the $zindex-fixed
used in the rest of floating elements.

However, in mobile the drawers acts a standard web drawer, covering the
full page content, event the other floating elements. This is why in
mobile the z-index should be higher than $zindex-fixed.
2023-10-05 18:03:33 +02:00
Sara Arjona 1bb937140f Merge branch 'MDL-79600-master' of https://github.com/roland04/moodle 2023-10-05 14:05:22 +02:00
Ferran Recio 28c7558884 MDL-79599 theme_boost: fix drawers in RTL 2023-10-05 13:44:38 +02:00
Sara Arjona 563851857f Merge branch 'MDL-79602-master' of https://github.com/HuongNV13/moodle 2023-10-05 13:03:46 +02:00
Jun Pataleta 9071c03b41 Merge branch 'MDL-79381-master' of https://github.com/HuongNV13/moodle 2023-10-05 18:18:33 +08:00
Mikel Martín 7e3c732d17 MDL-79600 course: Fix courseindex collapseall icon in RTL
- Add new fa-angles-{left|right|down|up} icons to the icon system
- Fix course index collapseall icon in RTL
2023-10-05 11:29:50 +02:00
Huong Nguyen 8e242a78a0 Merge branch 'MDL-79584-master' of https://github.com/snake/moodle 2023-10-05 14:53:05 +07:00
Andrew Nicols 46f5547308 MDL-79581 communication: Work around inconsistency in DB SET FROM upgrade 2023-10-05 14:05:38 +07:00
Safat 75cae1dede MDL-79586 communication: Restrict the use of non-configured providers 2023-10-05 16:53:50 +11:00
Safat 73f342233a MDL-79586 core: Resolve regression of disabled matrix plugin 2023-10-05 16:22:02 +11:00
Huong Nguyen d0294388d7 MDL-79602 core: Handle empty selection for MoodleNet 2023-10-05 12:10:11 +07:00
Jake Dallimore ffb85e63f7 MDL-79584 core_payment: wait for processPayment promise to resolve
This fixes a regression introduced by MDL-78324 in which the
notification was being called before the promise had resolved. This
change just reverts that.
2023-10-05 12:56:15 +08:00
Jake Dallimore dc2721083c MDL-79584 core_payment: load strings in js and pass to template
This template shouldn't really be using string helpers inside string
helpers like it does, and this is unsupported in 4.3. This just moves
the string resolution to js land and then passes that resolved string
into the template instead.
2023-10-05 12:56:14 +08:00
Jake Dallimore 230c2961fc MDL-79584 core_payment: fix modal content insertion in payment modal
Instead of replacing the body, revert to the desired behavior in which
the payment methods are injected into the body, retaining the desired
markup classes, etc.
2023-10-05 12:50:06 +08:00
Huong Nguyen 0d6204d29c Merge branch 'MDL-79581-master' of https://github.com/andrewnicols/moodle 2023-10-05 11:37:09 +07:00
danghieu1407 5174e4e36d MDL-79160 Question: Answer field overflows parent width with large size 2023-10-05 10:57:51 +07:00
Eloy Lafuente (stronk7) a48504f8fb MDL-79381 core: MoodleNet PHPUnit with the new controllers
Basically the changes imply that:
- For some tests that are using reflection, we need to ensure
  that the backup controller is passed.
- And, whenever used explicitly in tests, it has to be destroyed.
  (note that this leaves out tests running get_package(), because
  that method now instantiates and destroys the controller by itself.
  only tests that get a controller need to destroy it).
- Move from some old functions to the new ones introduced in the issue.
2023-10-05 10:40:33 +07:00
Eloy Lafuente (stronk7) ace315370f MDL-79381 core: Refactor MoodleNet controller
Including in this commit:
 - Moved the backup controller instantiation out of the constructor
 - Created a new get_backup_controller() method to retreive the controller when needed
 - Removed some constructor-promoted properties
 - Added resourcefilename to resource_packager constructor
 - Made resource_packager to abstract class (cannot be instantiated)
 - Removed constructor-promoted properties and declare them "normally"
 - Backup controller is called and destroyed in get_package() method.
   Only PHPUnit tests will need to play with the destroy method because
   they use the reflection method
 - Made course_partial_packager extend course_packager and removed constructor-promoted properties
 - Removed the get_all_task_settings() method and replaced it with get_all_activity_tasks() method
 - Fixed bugs related to Partial course sharing
2023-10-05 10:40:32 +07:00
Huong Nguyen 5ab3d0a02f Merge branch 'MDL-79591-master' of https://github.com/sarjona/moodle 2023-10-05 09:35:10 +07:00
Andrew Nicols 805ebbb434 Merge branch 'MDL-79276-master' of https://github.com/raortegar/moodle 2023-10-05 08:55:14 +08:00
Jun Pataleta 98ac14eecb Merge branch 'MDL-79531-master-1' of https://github.com/mihailges/moodle 2023-10-05 07:37:02 +08:00
Ferran Recio 312806fd5c MDL-79589 course: fix availability subpanel selected option 2023-10-04 17:05:42 +02:00
Sara Arjona 69d4f0db33 Merge branch 'MDL-79583-master' of https://github.com/andrewnicols/moodle 2023-10-04 16:47:19 +02:00
Sara Arjona d113c7f00e MDL-79591 quiz: Fix the string for the completion condition 2023-10-04 16:40:40 +02:00
Andrew Nicols 5ee0a5f760 MDL-79581 core_communication: Linting fixes 2023-10-04 20:37:58 +08:00
Andrew Nicols 166d137407 MDL-79581 communication_matrix: Use the contextid from the API 2023-10-04 20:37:57 +08:00
Andrew Nicols 99c1543aa8 MDL-79581 communication: Context is a mandatory field
The API was incorrectly assuming that all uses of the API were for a
course, and that the instanceid of the communication instance was a
course id. These assumptions are both entirely wrong.

The API is intended to support a range of uses including use at the
site, user, and activity levels.

Furthermore, if a group were to be used, then the instanceid should be
of that group's id, and therefore the contextid would need to be fetched
or that group's course instead.

The only solution here is to add a new contextid field to the table, and
implement it all parts of the API.
2023-10-04 20:37:57 +08:00
Ilya Tregubov f2ba761bef Merge branch 'MDL-79157-master' of https://github.com/ferranrecio/moodle 2023-10-04 18:49:19 +08:00
Mihail Geshoski bef518efb8 MDL-79531 mod_quiz: Create only one random question in new category 2023-10-04 12:31:12 +02:00
Mihail Geshoski 451614016e MDL-79531 mod_quiz: Fix exception when adding random questions
Moves the data-filtercondition property to an element that always
exists regardless of whether the selected category from the filter
has questions or not. This will effectively solve the exception
that is being thrown due to the non-existing element and also
enable creation of random questions in a category that does not
have any questions yet. Also, the data-filtercondition attribute
is no longer used when creating a random question in a new category
as this value is not relevant in this case. Instead, a default
filter condition is generated in the webservice for the random
question based on the newly created category.
2023-10-04 12:31:12 +02:00
Sara Arjona 9877a06246 Merge branch 'MDL-79551-master-rc' of https://github.com/junpataleta/moodle 2023-10-04 12:28:14 +02:00
Sara Arjona 396fef601b Merge branch 'MDL-79565' of https://github.com/paulholden/moodle 2023-10-04 11:55:41 +02:00
Ferran Recio 0c6a581f1e MDL-79157 output: fix menu subpanels keyboard navigation 2023-10-04 11:07:45 +02:00
Paul Holden 894b7ef422 MDL-79565 dml: replace hardcoded length SQL with appropriate API.
SQL Server uses `LEN(..)`, meaning we cause a DML exception when
trying to call invalid method.
2023-10-04 09:13:51 +01:00
Paul Holden 2bb6c551cf MDL-79310 enrol: restrict searched users to those user can view. 2023-10-04 14:30:45 +08:00
Paul Holden b91feb0b23 MDL-79310 forumreport_summary: report only on users who can be viewed. 2023-10-04 14:30:45 +08:00
Paul Holden 6de45d2c9f MDL-79310 mod_forum: ensure only visible users can be exported. 2023-10-04 14:30:45 +08:00
Andrew Nicols c81cf6a7b7 MDL-79583 core_badges: Remove unused AMD module
This module was removed by removed by MDL-78324, but added back due to a
merge conflict in MDL-79064.
2023-10-04 14:28:30 +08:00
Jun Pataleta d5d7835a0a MDL-79551 versions: Make CiBoT happy
* Use array short syntax for $plugin->dependencies
* Add trailing comma for multi-line $plugin->dependencies array
2023-10-04 14:04:29 +08:00
Jun Pataleta 3d55b4a865 MDL-79551 tiny_html: Remove unnecessary $plugin->release 2023-10-04 14:01:27 +08:00
Jun Pataleta cfc48251c2 MDL-79551 versions: Main version bump 2023-10-04 13:59:41 +08:00
Jun Pataleta 94bc2cd38b MDL-79551 versions: bump all versions and requires near release 2023-10-04 13:57:17 +08:00
Sara Arjona 4101c5ee2a Merge branch 'MDL-69119_angle_bracket_character_in_answers_not_escaped_in_moodle_xml_export_of_multiple_choice_calculated_questions' of https://github.com/ziegenberg/moodle 2023-10-04 07:51:30 +02:00
Huong Nguyen 7ac2a960e9 Merge branch 'MDL-79539-master' of https://github.com/meirzamoodle/moodle 2023-10-04 10:53:57 +07:00
Huong Nguyen 5602cc2488 Merge branch 'MDL-79548-master' of https://github.com/mickhawkins/moodle 2023-10-04 10:21:41 +07:00
Jake Dallimore e430e16c44 Merge branch 'MDL-79466_master' of https://github.com/marxjohnson/moodle 2023-10-04 10:21:08 +08:00
Mikel Martín 5fec728be9 MDL-79509 mod_wiki: Improve comment editing 2023-10-04 01:24:20 +00:00
Paul Holden 77766f9c8a MDL-72249 message: stricter cleaning of processor type parameter. 2023-10-04 01:24:20 +00:00
Mark Johnson b0bb97ee3b MDL-79213 groups: Add visibility checks in groups_get_members_join()
Group visibility was not taken into account when
generating SQL for getting enrolled users restricted
to a list of groups. This may have allowed users to
infer membership of groups they were not allowed to
see members of.
2023-10-04 01:24:20 +00:00
Paul Holden f5f6ce375e MDL-79426 gradeimport_csv: safely preview CSV content during import. 2023-10-04 01:24:20 +00:00
Paul Holden 833e818f02 MDL-79455 tool_uploadcourse: clean course data fields individually. 2023-10-04 01:24:20 +00:00
Paul Holden ef67f43c67 MDL-79455 tool_uploadcourse: safe preview of uploaded course data. 2023-10-04 01:24:20 +00:00
Paul Holden 3400ae6510 MDL-79409 mod_imscp: appropriate unserialization of package structure. 2023-10-04 01:24:20 +00:00
Paul Holden ba974a4add MDL-79408 mod_lesson: safer unserializing/comparison of properties. 2023-10-04 01:24:19 +00:00
David Woloszyn 7679452caf MDL-77846 core: Make endpoint revision number checks stricter
In some places we prevented cache poisoning, in others we did not. We
also did not place any restriction on the minimum value for a revision.

This change introduces a new set of functions for configonly endpoints
which validates the revision numbers passed in. If the revision is
either too old, or too new, it is rejected and the file content is not
cached. The content is still served, but caching headers are not sent,
and any local storage caching is prevented.

The current time is used as the maximum version, with 60 seconds added
to allow for any clock skew between cluster nodes. Previously some
locations used one hour, but there should never be such a large clock
skew on a correctly configured system.

Co-authored-by: Andrew Nicols <andrew@nicols.co.uk>
2023-10-04 01:24:19 +00:00
Huong Nguyen 5a765e124c MDL-66730 core_course: Improve permission check for category moving
Co-authored-by: Erica Bithell <egb10@cam.ac.uk>
2023-10-04 01:24:19 +00:00
Laurent David a20997441d MDL-77795 mod_bigbluebuttonbn: Change meetingID on duplicate
* We need to set a different meetingID when duplicating or importing a
BigBlueButtonBN activity to prevent unwanted sharing of recordings between
meetings.
2023-10-04 01:24:19 +00:00
Paul Holden 100ac7c646 MDL-78820 h5p: use fullname of current user as the xAPI actor name. 2023-10-04 01:24:19 +00:00
meirzamoodle 0adb58ec9c MDL-78969 oauth2: remove auto-login after successful confirmation
With the new flow, users can go to the login page from the confirmed page,
and if the user successfully logs in, the user will be directed to the confirmed page.
To avoid that, the confirmed page can only be seen by users who are not logged in.
2023-10-04 01:24:19 +00:00
Paul Holden aa8ab48521 MDL-78971 quiz_grading: escape user identity fields on display. 2023-10-04 01:24:19 +00:00
Jun Pataleta b19a93b989 Merge branch 'MDL-79507_master' of https://github.com/marxjohnson/moodle 2023-10-04 09:15:45 +08:00
Jun Pataleta 1724362afc Moodle release 4.3rc1 2023-10-04 07:58:44 +08:00
Jun Pataleta c3ec88f12d Merge branch 'install_master' of https://git.in.moodle.com/amosbot/moodle-install 2023-10-04 07:58:41 +08:00
raortegar 789c7c207b MDL-79276 core: Fix output renderer error in the shutdown handler.
Render the output in shutdown handler was causing
issues in phpunit test_psr_classloader
This is an small fix to check that the output has been started.
2023-10-03 14:14:32 +02:00
Ferran Recio 3f985bf3cf MDL-79458 output: fix subpanels in classic 2023-10-03 13:32:27 +02:00
Michael Hawkins 83998b9ba9 MDL-79548 core: Update MoodleNet modal strings so they can be translated
Previously, the type of share (course/activity) was being injected into
the string, but not from a translation, so did not fully translate. The
MoodleNet type (resource) was working, but has also been replaced here
to avoid inserting one string into another (this was also unnecessary
while resource is the only possible option). This also meant the latter
string could be deprecated.
2023-10-03 18:52:38 +08:00
Daniel Ziegenberg 55ef05579b MDL-69119 qformat_xml: fix mc calculated export
The Moodle XML export of multiple choice calculated questions was
missing proper escaping of answers. Also the indentation of the
generated xml was off.

Signed-off-by: Daniel Ziegenberg <daniel@ziegenberg.at>
2023-10-03 12:18:11 +02:00
Jun Pataleta b896c303f3 Merge branch 'MDL-79557-master' of https://github.com/jleyva/moodle 2023-10-03 12:18:13 +08:00
Jake Dallimore d7c348cfe1 Merge branch 'MDL-79056-master' of https://github.com/junpataleta/moodle 2023-10-03 12:02:52 +08:00
Andrew Nicols 213fd0cdb3 MDL-78580 mod_quiz: Do not concatenate lang strings 2023-10-03 12:02:29 +08:00
Andrew Nicols be8093e2c7 Merge branch 'MDL-78580_master' of https://github.com/marxjohnson/moodle 2023-10-03 11:05:42 +08:00
Huong Nguyen 6d6ed6822f Merge branch 'MDL-79247' of https://github.com/stronk7/moodle 2023-10-03 09:56:55 +07:00
Huong Nguyen 96b03bc501 Merge branch 'MDL-79555-master' of https://github.com/ilyatregubov/moodle 2023-10-03 09:44:04 +07:00
Huong Nguyen 4a7259f236 Merge branch 'MDL-79224_master' of https://github.com/marxjohnson/moodle 2023-10-03 09:38:53 +07:00
Jun Pataleta 6ee9522dfa Merge branch 'MDL-79254_master' of https://github.com/marxjohnson/moodle 2023-10-03 09:42:25 +08:00
Ilya Tregubov 9938ee3a04 Merge branch 'MDL-79534' of https://github.com/paulholden/moodle 2023-10-03 09:34:14 +08:00
Jun Pataleta cfc14c45bb Merge branch 'MDL-79535' of https://github.com/paulholden/moodle 2023-10-03 09:21:12 +08:00
Jun Pataleta 88b78ea367 Merge branch 'MDL-79364-master' of https://github.com/ilyatregubov/moodle 2023-10-03 09:16:38 +08:00
meirzamoodle 66e8bde8b3 MDL-79539 core: handling negative input to get the upper value
Co-authored-by: Alain Corbière <alain.corbiere@univ-lemans.fr>
2023-10-02 20:51:02 +07:00
Mark Johnson 7daa40f468 MDL-79466 qbank_history: Filters not applied correctly in History view
Filters were not being passed from the question bank when viewing a question's history,
mearning that questions not visible with the default filters applied would not have
any version shown on this history view unless the required filters were re-applied manually.

This change ensures the filters are passed in the URL to history.php. It also removes the Filter
UI from the History view, since it doesn't make sense to change the filters that are passed.
2023-10-02 13:30:33 +01:00
Brendan Heywood 08780b449f MDL-79276 core: Auto close streaming elements in shutdown handler 2023-10-02 21:11:44 +10:00
Brendan Heywood 21b5ad1555 MDL-79276 core: Fix perfdebug footer bug in non html pages 2023-10-02 21:11:44 +10:00
Brendan Heywood 79c2e4bdae MDL-79276 core: Fix html validation with streaming api 2023-10-02 21:11:44 +10:00
Brendan Heywood 10dd816af1 Revert "MDL-79320 mod_forum: remove use of buffering constant when exporting."
This reverts commit 4aeb85b988.
2023-10-02 21:11:44 +10:00
Juan Leyva 83461bcf5f MDL-79557 message: Clean subject field content for get_messages WS 2023-10-02 13:10:52 +02:00
Mark Johnson 6401ca4959 MDL-79224 core: Make Binary datafilter redisplay selected value
The Binary datafilter was returning a single value where all parts of
the API expect an array of values. This was working in most places by
fluke as this value was a single-character string, so doing $value[0]
returned the value. However, it was not working when deciding which
option to mark as selected when re-displaying the filter.

This change makes the filter return an array containing a single integer
value to match the rest of the API, then internally selects that single
value for comparison when deciding if an option should be selected.
2023-10-02 11:50:44 +01:00
Ilya Tregubov f591de2b58 MDL-79555 core_grades: Remove copy pasted code.
Seems that data from form was overridden for no reason.
2023-10-02 17:31:43 +08:00
Ilya Tregubov 94a13aeeff MDL-79364 backup: Fix conversion for 1.9 backups.
1.9 backups used current plugin version as oldversion.
But quiz uses some hardcoded version numbers when processing
restore which is lower then current plugin number, so some quiz
logic was ignored.

See define_structure(), process_quiz_question_instance() within
restore_quiz_stepslib.php
2023-10-02 15:26:50 +08:00
meirzamoodle 9c4b38b8d5 MDL-79539 messageinbound: avoiding a null parameter value 2023-10-02 14:26:04 +07:00
Ilya Tregubov c80e366051 Merge branch 'MDL-79458-master' of https://github.com/ferranrecio/moodle 2023-10-02 13:30:07 +08:00
Huong Nguyen 0d6fb2546d MDL-79344 tool_mfa: Use core/log for factor_webauthn 2023-10-02 11:41:53 +07:00
Huong Nguyen 8b395dcfc3 Merge branch 'MDL-79344-master' of https://github.com/stevandoMoodle/moodle 2023-10-02 11:36:59 +07:00
Eloy Lafuente (stronk7) f284cd9eaf MDL-79247 forum: Workaround same-time discussion modified dates bug
Within the forum_get_discussion_neighbours() function of forum
when the discussions timemodified (last post) is the same, there
is a bug that does strange things when calculating the prev and
next discussions.

Note that, in real life, this is really hard to achieve, but in tests,
when multiple discussions and post can be created by generators in the
same second (specially when the test machine is quick), chances of
facing that problem are higher.

By adding 1 second wait, we ensure that the discussions won't have
the same timemodified (last post) and workaround the problem.

No mater of that, the problem deserves an issue to be created
so we guarantee from code that it also works ok when the same
timemodified (last post) situation happens.
2023-10-01 23:23:30 +02:00
Eloy Lafuente (stronk7) 4fcb52cd45 MDL-79247 forum: Make discussion list ordering deterministic
Note that normally this doesn't matter much, but there are situations
when we want the discussion list ordering fully consistent /
deterministic.

Specifically, when discussions (or forum posts )are created in the
same second, or when the discussion titles are repeated, or 2
discussions have the same number of votes... (any criteria in general),
in the context of testing, we don't want the order
to be non-consistent, so we need to provide an extra sorting
criterion to make it fully deterministic.

So, in this case, we are adding a sort by discussion.id <<DIRECTION>>
that is an unique value, primary key... so cheap to calculate and,
that way, when the 1st sorting column has repeated values, the id
will decide.
2023-10-01 18:34:09 +02:00
AMOS bot 2e7514f4b0 Automatically generated installer lang files 2023-09-30 00:10:37 +00:00
Jun Pataleta 43d5aec47e on-demand release 4.3beta+ 2023-09-29 22:21:20 +08:00
Jun Pataleta 36b7d90e5e Merge branch 'install_master' of https://git.in.moodle.com/amosbot/moodle-install 2023-09-29 22:21:17 +08:00
Gregor Eichelberger 91135c5305 MDL-79501 tiny: Fix editing multiple videos
The selection gets lost while opening the modal dialogue to update an
embedded media. Caching the current selection allows us to update the
previously selected node instead of updating the first embedded media.

Signed-off-by: Gregor Eichelberger <gregor.eichelberger@tuwien.ac.at>
2023-09-29 14:07:44 +02:00
Mark Johnson f462a48202 MDL-79507 quiz: Hide version info when rendering blocked questions 2023-09-29 09:31:36 +01:00
Jun Pataleta 7cf8ef39ad Merge branch 'MDL-79487-do-not-delete-refresh-token-master' of https://github.com/individual-it/moodle 2023-09-29 12:14:25 +08:00
Jun Pataleta 336ec5580a Merge branch 'MDL-79041-master-2' of https://github.com/HuongNV13/moodle 2023-09-29 11:59:39 +08:00
Jun Pataleta 7998d80302 MDL-79056 gradereport_user: Make column heading IDs unique
Associate column headings of user report tables to the user ID that the
report is being generated for. This will prevent duplicate IDs for the
report columns when multiple user report tables are displayed on the
User report page.
2023-09-29 11:03:14 +08:00
Jun Pataleta af22c038b7 MDL-79056 gradereport_user: Set grade category and item names as th
* The table cells mentioned in the `headers` attribute of other table
cells need to be using the table header <th> tag. Otherwise, HTML
validation fails.
2023-09-29 11:03:14 +08:00
Ilya Tregubov bd380a11ec Merge branch 'MDL-79280' of https://github.com/paulholden/moodle 2023-09-29 09:53:35 +08:00
Ilya Tregubov 45031e8205 Merge branch 'MDL-79521-master' of https://github.com/meirzamoodle/moodle 2023-09-29 09:21:40 +08:00
AMOS bot 96aac92ddc Automatically generated installer lang files 2023-09-29 00:08:13 +00:00
Paul Holden a8c8967055 MDL-79535 mod_quiz: use dummy URL in random questions external call.
It's not required by the external method, however its absence causes
debugging warnings about missing page URL in the error logs.
2023-09-28 19:08:47 +01:00
Paul Holden d7db5f08b0 MDL-79534 contenttype_h5p: correct fallback file used for icons. 2023-09-28 17:39:28 +01:00
oliviervalentin 634d1a3dcd MDL-79510 report_configlog : implement filtering by plugin. 2023-09-28 16:28:54 +02:00
Sara Arjona 458172696f Merge branch 'MDL-79511-master' of https://github.com/meirzamoodle/moodle 2023-09-28 16:15:47 +02:00
Sara Arjona d5bf67a67a Merge branch 'MDL-79499-master' of https://github.com/mihailges/moodle 2023-09-28 16:05:25 +02:00
Sara Arjona 3839d226ca Merge branch 'MDL-79482' of https://github.com/paulholden/moodle 2023-09-28 13:33:20 +02:00
Artur Neumann d4709d817e MDL-79487 oauth2: do not delete refresh token
when `log_out` is called from `\core\oauth2\client` it will delete the refresh token,
what it actually needs to use it to get a new access token
actually logging out is not needed here, the only thing we need to make sure is,
the invalid access token is removed from the session
that is done by storing `null`
2023-09-28 15:57:12 +05:45
Huong Nguyen 0094121765 Merge branch 'MDL-79274_master' of https://github.com/catalystfd/moodle 2023-09-28 15:48:49 +07:00
Sara Arjona f1721161c3 Merge branch 'MDL-79490' of https://github.com/paulholden/moodle 2023-09-28 10:46:17 +02:00
Ilya Tregubov 4f6240f630 Merge branch 'MDL-79502-master' of https://github.com/roland04/moodle 2023-09-28 16:45:07 +08:00
Ilya Tregubov 12b5c2e952 Merge branch 'MDL-79463' of https://github.com/paulholden/moodle 2023-09-28 16:40:35 +08:00
Sara Arjona 3f8a1b0107 Merge branch 'MDL-79477' of https://github.com/paulholden/moodle 2023-09-28 10:17:33 +02:00
Sara Arjona c571d3a0da Merge branch 'MDL-78918-master' of https://github.com/ssj365/moodle 2023-09-28 09:52:08 +02:00
Stevani Andolo 492fded0ec MDL-79344 tool_mfa: Fixed factor_webauthn request timeout handler 2023-09-28 15:48:34 +08:00
Stevani Andolo 369fee885f MDL-78750 communication_matrix: Fixed available providers 2023-09-28 09:13:22 +02:00
Meirza 3cda11b55c MDL-79521 tool_analytics: Export modal should use the ModalSaveCancel 2023-09-28 12:51:54 +07:00
Stevani Andolo a78921005f MDL-78750 communication_matrix: Dynamic settings 2023-09-28 07:51:35 +02:00
Sara Arjona 89eae3a811 Merge branch 'MDL-79350-master' of https://github.com/daledavies/moodle 2023-09-28 07:47:55 +02:00
Huong Nguyen f61b060182 Merge branch 'MDL-78813-master' of https://github.com/mihailges/moodle 2023-09-28 12:01:25 +07:00
Huong Nguyen 5c131030fd MDL-79041 core: Fix typo for MoodleNet resource URL 2023-09-28 11:33:00 +07:00
Huong Nguyen 202d57eef7 MDL-79041 core: Fix PHPDoc for prepare_file_share_request_data() 2023-09-28 11:33:00 +07:00
Huong Nguyen 1dda6c86b8 MDL-79041 core: Better handling of the MoodleNet resource URL
- Switch use PARAM_TEXT instead of PARAM_URL for resource URL
 - Added noreferrer to the Go to MoodleNet drafts button, to avoid the risks associated with opening in
   _blank without removing access to the referrer and opener
2023-09-28 11:32:59 +07:00
Meirza 0e8cb9c10b MDL-79511 lib: Allow dynamic properties for ADOFieldObject class 2023-09-28 10:15:48 +07:00
Huong Nguyen d2ad5c8c03 Merge branch 'MDL-75329' of https://github.com/paulholden/moodle 2023-09-28 09:35:44 +07:00
Ilya Tregubov 98d07e8514 Merge branch 'MDL-79285' of https://github.com/stronk7/moodle 2023-09-28 10:20:12 +08:00
Ilya Tregubov 78cbb2204d Merge branch 'MDL-79360/403' of https://github.com/skodak/moodle 2023-09-28 09:37:34 +08:00
Shamiso.Jaravaza d1c1acb155 MDL-78918 mod_bigbluebuttonbn: Fix notifications 2023-09-27 12:30:16 -06:00
Jun Pataleta e02ea67301 Merge branch 'MDL-77891-master' of https://github.com/snake/moodle 2023-09-27 23:50:32 +08:00
Jun Pataleta 3c7b5c983e Merge branch 'MDL-78905-master' of https://github.com/mihailges/moodle 2023-09-27 23:34:05 +08:00
Mark Johnson e5a7a18ae2 MDL-79254 quiz_statistics: Convert recalculate task to ad-hoc
Previously, quiz statistics processing happened on a scheduled task.
This task looked for all quizzes with completed attempts, then
determined if those quizzes had a statistics calculation that's newer
than the most recent attempt, then ran the statistics calculation if
needed. It was hard coded to stop processing after 1 hour.

The queries involved in determining which quizzes needed processing
weren't terribly efficient, and combined with the 1 hour limit this made
the statistics unusable on large sites, where they are the most useful.

This converts the scheduled task to an ad-hoc task, and uses an event
observer for mod_quiz\event\attempt_submitted to queue a task when
it is needed. This removes the need for a query to work out what needs
processing, and allows the task processing to be scaled up as needed.
2023-09-27 15:43:15 +01:00
Shamim Rezaie d22da878f1 MDL-79486 qbank_columnsortorder: Document get_data_from_datamethod 2023-09-27 22:59:04 +10:00
Shamim Rezaie 1ecb374344 Merge branch 'MDL-79486-master' of https://github.com/andrewnicols/moodle 2023-09-27 22:57:46 +10:00
Meirza 5dd79c7781 MDL-79511 auth: Avoid errors on the dynamic properties creation
Currently, Moodle uses fetchOBject() from ADOdb to get the table columns.
Sadly, the current ADOdb, especially the fetchObject() function, still creates dynamic properties.
Altering the fetchObject() with fetchRow() to avoid the dynamic properties deprecation error on PHP 8.2
2023-09-27 16:43:15 +07:00
Meirza a72d935dbc MDL-79511 enrol: Avoid errors on the dynamic properties creation
Currently, Moodle uses fetchOBject() from ADOdb to get the table columns.
Sadly, the current ADOdb, especially the fetchObject() function, still creates dynamic properties.
Altering the fetchObject() with fetchRow() to avoid the dynamic properties deprecation error on PHP 8.2
2023-09-27 16:42:50 +07:00
Sara Arjona 346fe1f78a Merge branch 'MDL-79432-master' of https://github.com/junpataleta/moodle 2023-09-27 10:22:21 +02:00
Mihail Geshoski 65b75f18cc MDL-78813 gradereport_grader: Revert border-top-width css change
Revert the modification of the border-top-width css attribute
to the grader table and the table header. This change seems to
be unnecessary.
2023-09-27 10:02:03 +02:00
Mihail Geshoski 8b9efc3135 MDL-78813 gradereport_grader: Make the average row sticky again
After MDL-75762 the overall average row in the grader report
was no longer properly pinned and hidden behind the sticky footer.
This change ensures that the overall average row is pinned again
at the top of the sticky footer when vertically scrolling. Also,
leveragning on the new sticky footer 'toggled' event it is making
sure that the row is properly pinned on narrower screens where the
sticky footer appears and disappears dynamically when scrolling.
2023-09-27 10:02:03 +02:00
Mihail Geshoski 4fa621a62f MDL-78813 core: Event to notify when the sticky footer has been toggled
New event in core/sticky-footer that is fired when the sticky footer has
been enabled or disabled. Leveraging this event, modules can create
event listeners and execute actions once the sticky footer has been
toggled.
2023-09-27 10:02:03 +02:00
Kevin Percy 01687d9125 MDL-78813 gradereport_grader: Fixed help icon covering course average 2023-09-27 10:02:03 +02:00
Mihail Geshoski 867e05ea34 MDL-78905 grades: Carry over form data without validation
Avoids validating form data which is carried over from the
simple dynamic form to the advanced form page when creating
or editing grade items, categories and outcomes in the
Gradebook setup.
2023-09-27 09:19:40 +02:00
Huong Nguyen 48f29f73e0 Merge branch 'MDL-79493-master' of https://github.com/ilyatregubov/moodle 2023-09-27 13:37:25 +07:00
Andrew Nicols 9a4a2df0e4 MDL-78750 communication: Fix missing test properties 2023-09-27 14:12:53 +08:00
Andrew Nicols 9739399741 Merge branch 'MDL-78750-master-int' of https://github.com/stevandoMoodle/moodle 2023-09-27 14:09:13 +08:00
Ilya Tregubov 1fbe7c1113 Merge branch 'MDL-79100-master' of https://github.com/meirzamoodle/moodle 2023-09-27 13:44:14 +08:00
Shamim Rezaie 2f29bac4f9 Merge branch 'MDL-78239-master' of https://github.com/HuongNV13/moodle 2023-09-27 14:39:54 +10:00
Huong Nguyen 9f0778ddb2 Merge branch 'MDL-79255-master' of https://github.com/call-learning/moodle 2023-09-27 11:12:39 +07:00
Huong Nguyen 08a669cba0 Merge branch 'MDL-79480' of https://github.com/paulholden/moodle 2023-09-27 11:10:35 +07:00
Huong Nguyen 82b661d8fa Merge branch 'MDL-79467' of https://github.com/paulholden/moodle 2023-09-27 10:44:02 +07:00
Jun Pataleta 6459f9f6b8 Merge branch 'MDL-78937-master' of https://github.com/meirzamoodle/moodle 2023-09-27 11:40:32 +08:00
Meirza d561e151e5 MDL-78937 lib: Set default value to $component property
We encountered errors on the plugin check page while upgrading from version 3.11 to 4.3.
The plugins marked with the status "To be deleted" have a null value for the $component property,
which results in the following error message:
"Deprecated: strpos(): Passing null to parameter #1 ($haystack) of type string is
deprecated in lib/classes/component.php on line 1056."
To avoid this error, we need to set an empty string as the default value for the $component property.
2023-09-27 09:53:47 +07:00
Ilya Tregubov 53717729a5 Merge branch 'MDL-79451' of https://github.com/paulholden/moodle 2023-09-27 10:01:37 +08:00
Andrew Nicols 3da39da392 Merge branch 'MDL-78847-master' of https://github.com/aanabit/moodle 2023-09-27 09:55:33 +08:00
Ilya Tregubov 386f29a46d Merge branch 'MDL-77708-master' of https://github.com/sarjona/moodle 2023-09-27 09:07:10 +08:00
Eloy Lafuente (stronk7) 71bc684c41 MDL-79285 xhprof: Add support for optional "reducedata" parameter
This new parameter / property will decide if we want to reduce
the run data before processing it:
- By default it will be disabled in table mode.
- By default it will be enabled in graph mode.
- The defaults can be changed by adding reducedata=[0|1] in the URLs
- Once data reduction is enabled, it stays enabled while
  navigating within the xhprof reports.
2023-09-26 19:39:48 +02:00
Eloy Lafuente (stronk7) 8ef2974af1 MDL-79285 xhprof: Cover the new functions with unit tests
This covers the 2 new functions with unit tests:
- xhprof_topo_sort()
- reduce_run_data()

Note that the example graph used in the provider is the
one shown in the issue to explain the reduction procedure.
2023-09-26 19:39:47 +02:00
Eloy Lafuente (stronk7) bc70bd69ed MDL-79285 xhprof: Enable reducing runs data for quicker use
Here we are reducing the xhprof runs data by removing the
__Mustache==>__Mustache calls and all the orphaned data.

To save N iterations what we are doing is:

0. The information is "topologically" sorted, so we ensure that
   all the parents in the data are processed before the children.
   (this will help a lot when cleaning orphaned data, see below).
1. First pass, all the candidate (by regexp) calls are removed
   from the run data.
2. Second pass, all the orphaned information (calls that have
   ended losing his parent) are also removed, so data is consistent.
   Note that, normally we would need N passes to remove all the
   orphaned data (because each pass creates new orphan candidates),
   but, as far as we have ensured that the information is topologically
   sorted (see point 0 above), all this can be done in one unique pass.

TODO:
  - Add unit tests.
  - Enable some system to be able to decide which utilities we
    want to get the data reduced and which ones will continue
    using the complete data. Right now the reduction is being
    applied to all the utilities (both table and graph views).
  - Document the change and, if implemented, the way to select
    between complete/reduced data.
  - Consider adding some caching to speed-up the reduction process
    (some TODOs have been left in the code pointing to the critical
    points).
2023-09-26 19:39:47 +02:00
Paul Holden c16587f52f MDL-79480 repository_wikimedia: drop deprecated image size parameter. 2023-09-26 16:21:43 +01:00
Paul Holden 4fd6045c2a MDL-79482 qbank_columnsortorder: improve resize column modal header. 2023-09-26 16:20:10 +01:00
Mikel Martín fbc7a8f5f3 MDL-79502 courseformat: Fix completion button colour contrast 2023-09-26 16:51:06 +02:00
Sara Arjona c6e727732a Moodle release 4.3beta 2023-09-26 16:19:45 +02:00
Mihail Geshoski abfff66a86 MDL-79499 gradereport_grader: Pin properly the user name column
After modifying the 'overflow-y' css attribute of the #page element
in MDL-75762, the user name column is no longer properly pinned.
The existing 'top' css attribute on the column cells does not work
well with the newly assigned overlow on the #page element and
causes the columns to be partially cut off by the page when
scrolling horizontally. Re-adjusting the 'top' css attribute to '0'
solves this problem.
2023-09-26 15:27:11 +02:00
Ferran Recio 0184a477d5 MDL-79458 output: fix action menu subpanel behats 2023-09-26 13:22:51 +02:00
Paul Holden 6de6f64199 MDL-75329 course: defensive counting of course sections.
Avoids errors due to pre-existing integrity issues with course
data, where the absence entirely of section data would result in
PHP errors.
2023-09-26 12:18:32 +01:00
Paul Holden 2aa56c770d MDL-79477 tool_moodlenet: better handling of network download test.
We can't assume the presense of `Content-Length` header in response
to a HEAD request. Modify test assertion to account for this.
2023-09-26 11:14:46 +01:00
Amaia Anabitarte 8874725c53 MDL-78847 mod_folder: Fix inline folder renderer 2023-09-26 10:39:35 +02:00
Sara Arjona cc9430929d MDL-77708 docs: Update references from docs.moodle.org/dev 2023-09-26 10:30:19 +02:00
Huong Nguyen e38aa09dee MDL-78239 editor_tiny: Calculate correct height for non-visible editors 2023-09-26 14:50:13 +07:00
Ilya Tregubov 0f4efffb76 MDL-79493 core_grades: Fix Behat tests. 2023-09-26 15:49:43 +08:00
meirzamoodle 6246db3d30 MDL-79100 core_communication: Update communication-related lang strings 2023-09-26 12:12:38 +07:00
Jun Pataleta 4cb2b3c758 Merge branch 'MDL-79484' of https://github.com/paulholden/moodle 2023-09-26 12:22:52 +08:00
Jun Pataleta 4569711e18 Merge branch 'MDL-79485' of https://github.com/paulholden/moodle 2023-09-26 12:08:12 +08:00
Jun Pataleta 535747fbc7 Merge branch 'MDL-79481' of https://github.com/paulholden/moodle 2023-09-26 12:06:16 +08:00
Jun Pataleta 2f3033646c Merge branch 'MDL-76713-master' of https://github.com/laurentdavid/moodle 2023-09-26 11:57:24 +08:00
Jun Pataleta a24e9872ef Merge branch 'MDL-79442-master' of https://github.com/snake/moodle 2023-09-26 11:48:31 +08:00
Jun Pataleta 3c2589fb58 Merge branch 'MDL-79400-master' of https://github.com/HuongNV13/moodle 2023-09-26 11:20:02 +08:00
Jun Pataleta 7a369aa0a8 Merge branch 'MDL-79420-master' of https://github.com/HuongNV13/moodle 2023-09-26 10:57:46 +08:00
Huong Nguyen a26954ce4a Merge branch 'MDL-79483' of https://github.com/paulholden/moodle 2023-09-26 09:18:31 +07:00
Stevani Andolo d644c3d89d MDL-78750 communication_matrix: Dynamic settings 2023-09-26 09:55:54 +08:00
Paul Holden acc510ced7 MDL-79490 communication_matrix: include required test library. 2023-09-25 18:31:52 +01:00
Huong Nguyen 440bf51af2 Merge branch 'MDL-79444-master' of https://github.com/meirzamoodle/moodle 2023-09-25 15:24:47 +07:00
Laurent David 8790501437 MDL-76713 core_availability: Fix date restriction conflict
* Use a unique ID the date nodes in the HTML tree to be able to find the current node.
* Look for nodes in the same tree "leaf" and work on conflicts in this single leaf/branch.
2023-09-25 10:16:44 +02:00
Huong Nguyen df76743906 Merge branch 'MDL-79322-master' of https://github.com/mickhawkins/moodle 2023-09-25 15:04:15 +07:00
Huong Nguyen b27f6b0eca Merge branch 'MDL-79440-master' of https://github.com/snake/moodle 2023-09-25 14:56:49 +07:00
Shamim Rezaie 832ee471be Merge branch 'MDL-75928-master' of https://github.com/lameze/moodle 2023-09-25 17:51:29 +10:00
Shamim Rezaie 9e9dab8045 Merge branch 'MDL-79348-master' of https://github.com/roland04/moodle 2023-09-25 17:39:41 +10:00
Andrew Nicols 9c07defb77 MDL-79486 qbank_columnsortorder: Data providers must not create data 2023-09-25 14:34:56 +08:00
Paul Holden 3f6dd17042 MDL-79485 tool_mfa: replace hard-coded verification lang strings. 2023-09-24 21:21:54 +01:00
Paul Holden 4cbce0bae2 MDL-79484 tool_mfa: remove hard-coded assumption of "and" lang string. 2023-09-24 18:56:24 +01:00
Paul Holden bf6dcc5779 MDL-79483 qbank_columnsortorder: set pix_icon for each column action. 2023-09-24 16:54:20 +01:00
Paul Holden 76a0561f91 MDL-79481 question: replace hard-coded template language strings. 2023-09-24 16:09:40 +01:00
Andrew Nicols 83b4c96cad Moodle release 4.3beta 2023-09-23 21:38:52 +08:00
Andrew Nicols b9172e35e7 MDL-74054 qbank_columnsortorder: Rebuild amd 2023-09-22 23:13:06 +08:00
Mark Johnson 0ac2936c11 MDL-74054 questions: Fix question bank header widths
Chrome ignores min-width on table headers with table-layout:fixed,
meaning that question bank headers could be resized so that the controls
were overlapping, and could be too narrow by default.

This removes min-width: min-content in the headers and instead uses
Javascript to calculate a constrain a min width based on the content of
the headers.
2023-09-22 22:52:36 +08:00
Paul Holden 379bac1fe7 MDL-79467 output: handle empty sitename display during installation.
Causes PHP warnings when null on PHP 8.1.
2023-09-22 14:32:11 +01:00
Ilya Tregubov 216060b637 Merge branch 'MDL-78217-master' of https://github.com/rezaies/moodle 2023-09-22 18:06:25 +08:00
Shamim Rezaie 7b8aa2daf1 MDL-78217 grade: Fixing invalid input as early as possible 2023-09-22 19:40:13 +10:00
Ilya Tregubov 403b62a06b Merge branch 'MDL-77035-integration-master' of https://github.com/mihailges/moodle 2023-09-22 17:37:15 +08:00
Paul Holden efe3e377b6 MDL-79280 mod_quiz: Behat scenario for adding multiple user overrides. 2023-09-22 10:31:59 +01:00
Tim Hunt 83e840b8e7 MDL-79280 mod_quiz: consistently store ->cm as a cm_info 2023-09-22 10:31:59 +01:00
Mihail Geshoski 6a4cf000b3 MDL-77035 grades: Fix checkbox spacing to satisfy accessibility criteria 2023-09-22 11:29:53 +02:00
Paul Holden c518c78ca4 MDL-79463 output: invert logic in url_select change event.
Avoids eslint `consistent-return` errors (because we previously only
returned from the conditional branch).
2023-09-22 10:21:44 +01:00
Mikel Martín 5a5c6ff179 MDL-79348 courseformat: Fix focus indicator of edit restrictions link 2023-09-22 08:34:24 +02:00
Huong Nguyen 67db7b900b Merge branch 'MDL-78129-behat-remove' of https://github.com/HuongNV13/moodle 2023-09-22 13:18:49 +07:00
Huong Nguyen 9a517653b1 MDL-78129 communication_matrix: Remove Behat test
This change requires a change in the mock server which we don't have
    time to do before Beta. This will be done in the coming days and this
    commit content reverted.
This one will be re-introduced in MDL-79460
2023-09-22 13:17:21 +07:00
Huong Nguyen af14974b13 Merge branch 'MDL-78129-behat' of https://github.com/HuongNV13/moodle 2023-09-22 11:48:08 +07:00
Huong Nguyen 436e522cd8 MDL-78129 communication_matrix: Skip Behat test
This change requires a change in the mock server which we don't have
time to do before Beta. This will be done in the coming days and this
commit content reverted.
2023-09-22 11:42:28 +07:00
Michael Hawkins 81a1695e71 MDL-79322 core: Update MoodleNet course sharing to use course fullname
Previously this was using course short name, which is inconsistent and
less informative than the course full name.
2023-09-22 11:42:28 +08:00
Huong Nguyen bd323aede7 Merge branch 'MDL-78129-master' of https://github.com/andrewnicols/moodle 2023-09-22 10:29:54 +07:00
Andrew Nicols 84cfc8beeb MDL-78129 communication: Fix all phpcs isuses
This is a brand new subsystem, plugin-type, and plugin. They are written
from the ground up by us. They should not contain any coding style
violations.
2023-09-22 11:08:04 +08:00
Ilya Tregubov d22800ca42 Merge branch 'MDL-78217-master' of https://github.com/rezaies/moodle 2023-09-22 10:53:55 +08:00
Andrew Nicols e36d84ee31 Merge branch 'MDL-74054-master-fixes' of https://github.com/marxjohnson/moodle 2023-09-22 10:53:55 +08:00
Mark Johnson 4630043f46 MDL-74054 qbank_columnsortorder: Improve and expand unit tests 2023-09-22 10:53:54 +08:00
Mark Johnson 330908868b MDL-74054 qbank_columnsortorder: Fix column reset by allowing null values 2023-09-22 10:53:54 +08:00
Andrew Nicols 697ac9b913 MDL-74054 qbank_customfields: Fix behat tests 2023-09-22 10:53:54 +08:00
Andrew Nicols a3cfd50482 MDL-74054 qbank: Miscellaneous coding style fixes 2023-09-22 10:53:53 +08:00
Andrew Nicols 813c2441a1 MDL-74054 qbank_columnsortorder: Correct dataProvider name 2023-09-22 10:53:53 +08:00
Andrew Nicols 94de1567c3 MDL-74054 qbank_columnsortorder: Move away from ModalFactory 2023-09-22 10:53:53 +08:00
Mark Johnson 33e52fe4ed MDL-74054 qbank_viewquestiontext: Convert from filter to question bank control
This replaces the "Show question text in the question list?" filter, which was
never really a filter, with a new widget displayed alongside other question bank
controls like "Create a new question" and "Reset columns".

It also refactors the logic of displaying the question text field or not, so that
it is all handled within the qbank_viewquestiontext plugin rather than relying on
code in the view.
2023-09-22 10:53:53 +08:00
Mark Johnson 63894ec2fe MDL-74054 qbank_columnsortorder: Progressively enhance question bank actions
This modifies the question_data fragment used by the filter code to make its
parameters closer to the URL parameters of the question/edit.php page. This
Allows us to progressively enhance the add, remove and reset actions on the
question bank page, using this same fragment to reload the question table after
each change. This re-uses the same actions.js module used for enhancing these
actions on the qbank_columnsortorder admin screen.
2023-09-22 10:53:52 +08:00
Mark Johnson 3685a3355f MDL-74054 qbank: Updates to plugins to support qbank customisation 2023-09-22 10:53:52 +08:00
Mark Johnson 82599bef84 MDL-74054 mod_quiz: Prevent question bank customisations in custom view 2023-09-22 10:53:52 +08:00
Mark Johnson 93ca1cdc32 MDL-74054 theme: Style changes to support question bank UI cusomisation 2023-09-22 10:53:52 +08:00
Mark Johnson 37d69fff6b MDL-74054 qbank_columnsortorder: Implement add, remove and resize
This updates the admin interface, and hooks into the question bank view
for users to override admin defaults with their preferences.
2023-09-22 10:53:52 +08:00
Mark Johnson 6001ee3dfd MDL-74054 core_question: Define unique question bank column IDs
This also resolves MDL-78829.
Some question bank plugins use a separate class for each plugin they
define. However, qbank_customfields (and potentially others in the
future) uses a single class to define multiple fields. Using the class
name as an ID for the column doesn't give us a way of reliable
instantiating an object for the column. Previously, qbank_customfields
appended the field name as though it was a namespaced class, but this
had to be manually constructed and deconstructed by detecting this
particular column class.

This change introduces a standard way of constructing a unique ID for
each question bank column, in the form
pluginname\columnclass-columnname. This ensures that the ID will be
unique for each column, and the ID can be used to instatiate the
column's object.
2023-09-22 10:53:51 +08:00
Nathan Nguyen 2be0e10a80 MDL-74054 core_question: Add additional plugin points
This refactors the question bank view class to support new plugin points
required for the question bank UI customisation features.
2023-09-22 10:53:51 +08:00
Mark Johnson feef716c91 MDL-74054 core_question: Re-apply filters when performing a qbank action
This changes the root element used by the fragment when
applying filters, so that the whole of display_question_list()
is reloaded.

This ensures that the returnurl will be updated correctly on the
question actions and bulk actions without manipulating then
further in Javascript.
2023-09-22 10:53:46 +08:00
Andrew Nicols 2a096dc5ad MDL-78129 communication_matrix: Skip unit test
This change requires a change in the mock server which we don't have
time to do before Beta. This will be done in the coming days and this
commit content reverted.
2023-09-22 10:51:50 +08:00
Andrew Nicols 07e0094f8c MDL-78129 communication_matrix: Persist any user with a non-moodle power level 2023-09-22 10:44:04 +08:00
Andrew Nicols 01a3461bbb MDL-78129 communication_matrix: Simplify power level setting
This change introduces a new API call to fetch the current power levels.

The result of this are used to fetch current admin users so as not to
remove them.

The update of existing users is simplified to only set users who do not
have the default level.
2023-09-22 10:44:04 +08:00
Andrew Nicols eb991355fe MDL-78129 communication_matrix: Stop marking users as synced
No need to sync users for role changes.

Power level changes do not need to happen after being added to a room.
They can happen in any order and persist after a user is removed.
2023-09-22 10:44:04 +08:00
Andrew Nicols 01679678cf MDL-78129 communication_matrix: Coding style fixes 2023-09-22 10:44:03 +08:00
Andrew Nicols d72ebf1bf2 MDL-78129 communication_matrix: Update room membership on unennrol 2023-09-22 10:44:03 +08:00
Andrew Nicols 2dc30d662e MDL-78129 communication_matrix: Tidy up API calls 2023-09-22 10:44:03 +08:00
Safat e9743431a6 MDL-78129 communication_matrix: Add support for matrix power level 2023-09-22 10:44:02 +08:00
Jake Dallimore 72e867f9e6 MDL-79440 mod_lti: fix missing array key warning on LTI 2 edit
These fields only exist for LTI 1.1 and LTI 1.3 edits, so can be
ignored in LTI 2.0 edits. This change fixes this for the tool
type edit (edit_form) and for the tool instance form (mod_form).
2023-09-22 10:15:20 +08:00
Jake Dallimore 26d0ac156e MDL-79442 mod_lti: launch container should inherit from tool config
Specifically in the case where multiple content items are returned, and
when we hit the content_item_to_form() method, ensure that content-item-
specific values do not influence the final value of launchcontainer,
which must use the value set in tool configuration.
2023-09-22 10:13:56 +08:00
Shamim Rezaie 59046ab0d2 Merge branch 'MDL-77035-master-2' of https://github.com/mihailges/moodle 2023-09-22 06:44:56 +10:00
meirzamoodle b7fbbaf7f4 MDL-79444 theme: Move the autocomplete list above the TinyMCE editor 2023-09-22 03:15:55 +07:00
Shamim Rezaie c428c0195a MDL-78217 grade: Keep category total updated in the UI 2023-09-22 05:36:22 +10:00
Shamim Rezaie aa30501b80 MDL-78217 grade: Recalculate Parent Weights on Zero Child Weights
The maximum grade for that category is considered as zero when all child
weights within a category are zero.
2023-09-22 05:36:22 +10:00
Shamim Rezaie 6aa05cfb9a MDL-78217 grade: Refine front-end weight handling and add validation
In this commit, the front-end experience for grade item weights in the
gradebook setup page is refined, building upon the improvements made in
the previous commit.

Firstly, overridden weights are excluded from automatic adjustments.
This enhancement guarantees that user-specified weights remain unchanged
by front-end calculations, thereby preserving the flexibility of custom
weight assignments.

Additionally, front-end form validation has been introduced to enhance
the user experience. Now, users will see validation errors if they
submit invalid values, giving them the opportunity to correct the values
themselves. This ensures that weights are not automatically normalised
by the back-end code, preserving the values as entered by the user.
2023-09-22 05:36:16 +10:00
Andrew Nicols 148e779651 Merge branch 'MDL-78649-master' of https://github.com/meirzamoodle/moodle 2023-09-21 22:25:14 +08:00
Paul Holden d7d8119201 MDL-79451 mod_bigbluebuttonbn: fix request action dialog cancelling. 2023-09-21 14:37:49 +01:00
Jun Pataleta e2f900b2ad Merge branch 'MDL-79323-master-enfix' of https://github.com/vmdef/moodle 2023-09-21 15:29:40 +02:00
Ilya Tregubov e25dd12c5c Merge branch 'MDL-79341' of https://github.com/paulholden/moodle 2023-09-21 14:50:28 +08:00
Safat 3e47253787 MDL-78129 core_communication: Add update membership api 2023-09-21 13:28:20 +08:00
Ilya Tregubov 69b347d1e1 Merge branch 'MDL-71955' of https://github.com/paulholden/moodle 2023-09-21 09:14:33 +08:00
Ilya Tregubov f647af9cc6 Merge branch 'MDL-79301-master' of https://github.com/NashTechOpenUniversity/moodle 2023-09-21 09:00:14 +08:00
Ilya Tregubov b27e31b60d Merge branch 'MDL-68712' of https://github.com/paulholden/moodle 2023-09-21 08:47:19 +08:00
Mathew May 7f33dfc887 MDL-77035 grades: Update toggleall for a11y 2023-09-20 23:53:44 +02:00
Mihail Geshoski 255165f786 MDL-77035 grades: Fix PHP coding style issues
Fixes some preexisting PHP coding style problems in
grade/edit/tree/index.php.
2023-09-20 23:53:44 +02:00
Mihail Geshoski cda31407e7 MDL-77035 grades: Fix accessibility violation in modals
Adds the aria-labelledby attribute to the .modal element in order to
comply with the modal accessibility requirements.
2023-09-20 23:53:44 +02:00
Mihail Geshoski d8837e51c4 MDL-77035 grades: Fix accessibility violation in gradebook setup
Fixes an accessibility violation in the gradebook setup page
related to the insufficient spacing between the select checkbox
elements and the 'move' icon.
2023-09-20 23:53:44 +02:00
Mihail Geshoski b882a113f2 MDL-77035 grades: Behat tests for the bulk actions in gradebook setup
Introduces new behat tests to cover in detail the bulk action features
in the gradebook setup and also fixes some of the preexisting tests.
2023-09-20 23:53:43 +02:00
Mihail Geshoski 0062aed025 MDL-77035 grades: Bulk actions area implementation in gradebook setup
Implements the bulk actions area in the gradebook setup page.
2023-09-20 23:53:43 +02:00
Mihail Geshoski 9dcc17ce11 MDL-77035 grades: Bulk move action implementation in gradebook setup
Introduces a JS class for the bulk move action in the gradebook setup
and the relavant templates.
2023-09-20 23:53:43 +02:00
Mihail Geshoski c2628ac3b9 MDL-77035 core: Base js class for a bulk action
Implements a base js class that each individual bulk action
implementation needs to extend. This class contains all common event
listeners, methods (including abstract) that each implementation need
to use. Also, it introduces a default mustache template for the bulk
action trigger elements.
2023-09-20 23:53:43 +02:00
Mihail Geshoski 662a2fca9c MDL-77035 core: Base js class for a bulk actions area
Introduces a base js class that bulk actions area implementations need
to extend. This class contains all common selectors, event listeners,
methods (including abstract) that each implementation would use.
Also, introduces a common template for the bulk actions area.
2023-09-20 23:53:43 +02:00
Mihail Geshoski 6cf7908652 MDL-77035 grades: WS that returns the grade tree structure in a course 2023-09-20 23:53:43 +02:00
Jun Pataleta 9c4435e874 Merge branch 'MDL-79423-master' of https://github.com/snake/moodle 2023-09-20 16:22:53 +02:00
Shamim Rezaie a342c9d546 Merge branch 'MDL-78895' of https://github.com/paulholden/moodle 2023-09-20 23:43:01 +10:00
Jun Pataleta 54226e8157 MDL-79432 calendar: Deprecate unused functions
* calendar_get_link_previous() and calendar_get_link_next() are no
longer used anywhere except from the already deprecated
calendar_top_controls() so we should deprecate these as well.
2023-09-20 15:39:46 +02:00
Jun Pataleta ba0cb9c6e6 Merge branch 'MDL-79398' of https://github.com/paulholden/moodle 2023-09-20 15:05:03 +02:00
Laurent David 0304eacfd5 MDL-79255 mod_bigbluebuttonbn: Allow subplugins to be uninstalled
* Allow subplugins to be uninstalled
2023-09-20 14:56:50 +02:00
Paul Holden 57c4b58fd5 MDL-68712 enrol_self: improve detection/re-use of group enrolment keys. 2023-09-20 13:30:59 +01:00
Jake Dallimore fa6928250e MDL-79423 mod_lti: add tool state filtering to LTI tools report
The report should only include those tools which are fully configured,
per the LTI_TOOL_STATE_CONFIGURED constant.
2023-09-20 20:13:26 +08:00
Jake Dallimore 38668033ff MDL-77891 core_calendar: support display of mod iconurl
This affects:
- event_item.mustache (day view)
- event_icon.mustache (used by month_mini and month_mini and
month_detailed templates)
2023-09-20 17:03:08 +08:00
Andrew Nicols 3720532cb2 MDL-79422 ajax: Update service.php for coding style 2023-09-20 16:03:12 +08:00
Andrew Nicols 7f569fc1f1 MDL-79422 ajax: Allow no-login WS calls to fetch after a failure 2023-09-20 16:02:31 +08:00
Huong Nguyen 90e3a3d994 MDL-79420 core: Remove invalid MoodleNet template call 2023-09-20 11:38:54 +07:00
Ilya Tregubov 9890e67e6d on-demand release 4.3dev+ 2023-09-20 09:03:45 +08:00
Víctor Déniz 0b838f6977 MDL-79323 lang: Fix Behat tests regressions after merging en_fix strings 2023-09-19 13:42:10 +01:00
Shamim Rezaie 22a97437d1 MDL-78217 grade: Improve front-end grade item weight calculations
This change enhances the user experience in the grade report grader by
moving grade item weight calculations to the front-end. Previously,
these calculations were done on form submission, resulting in slower
performance and less interactivity.

With this improvement, grade item weights are now calculated dynamically
in the browser as users make changes, providing instant feedback and a
more responsive interface. This change improves the usability and
efficiency of the grade report grader.

This is only applicable to natural aggregation type.
2023-09-19 21:00:15 +10:00
Helen Foster 13b7ea5d44 MDL-79323 lang: Import fixed English strings (en_fix) 2023-09-19 10:24:37 +01:00
Huong Nguyen dee9c195fe Merge branch 'MDL-79395' of https://github.com/stronk7/moodle 2023-09-19 14:29:58 +08:00
Huong Nguyen 267462f99c Merge branch 'MDL-79370' of https://github.com/paulholden/moodle 2023-09-19 14:29:57 +08:00
Jake Dallimore 1b768a1f64 Merge branch 'MDL-79186' of https://github.com/paulholden/moodle 2023-09-19 11:12:24 +08:00
Ilya Tregubov 69a243f18c Merge branch 'MDL-79390' of https://github.com/paulholden/moodle 2023-09-19 11:03:37 +08:00
Ilya Tregubov eb96238d36 Merge branch 'MDL-79384-master' of https://github.com/snake/moodle 2023-09-19 10:54:13 +08:00
Ilya Tregubov 7d6129be45 Merge branch 'MDL-79338' of https://github.com/skodak/moodle 2023-09-19 10:40:54 +08:00
Huong Nguyen 0c49449efa Merge branch 'MDL-79347-master-2' of https://github.com/junpataleta/moodle 2023-09-19 09:19:25 +07:00
Huong Nguyen 2bc1598138 MDL-79400 Calendar: Use catch() for native Promise 2023-09-19 09:10:45 +07:00
Jake Dallimore 9c6891e73a MDL-79384 tool_analytics: remove extraneous param from modal create call 2023-09-19 09:41:20 +08:00
Jake Dallimore 4476164613 MDL-79384 mod_lti: fix tool configuration details modal 2023-09-19 09:41:19 +08:00
Paul Holden f96caa3ee0 MDL-79398 tool_mfa: remove unused enabled configuration help string. 2023-09-18 19:10:09 +01:00
Jun Pataleta 678ec36716 Merge branch 'MDL-79327' of https://github.com/paulholden/moodle 2023-09-18 19:38:39 +02:00
Paul Holden 92957ab97f MDL-79327 gradereport_grader: fix markup in collapsed columns dialog. 2023-09-18 18:36:05 +01:00
Eloy Lafuente (stronk7) b7c2415522 MDL-79395 install: update the list of stale files for 4.3 2023-09-18 16:26:46 +02:00
Dale Davies 06a9b91e17 MDL-79350 core: Do not store lang in session when readonly 2023-09-18 14:30:14 +01:00
Huong Nguyen 1ed52c0019 Merge branch 'MDL-79332' of https://github.com/timhunt/moodle 2023-09-18 18:55:53 +07:00
Paul Holden 310b29441c MDL-79390 mod_glossary: right-align export menu dropdown menu. 2023-09-18 11:03:27 +01:00
Huong Nguyen 7ac9c99c74 Merge branch 'MDL-79351-master' of https://github.com/ferranrecio/moodle 2023-09-18 16:10:17 +07:00
Paul Holden c230741457 Merge branch 'MDL-78955-patch' of https://github.com/ilyatregubov/moodle 2023-09-18 09:59:36 +01:00
Paul Holden 4e13a9e892 MDL-79370 user: set profile page URL earlier, avoid subsequent error.
Co-authored-by: Dominique Palumbo <domenico.palumbo@uclouvain.be>
2023-09-18 09:25:22 +01:00
Jake Dallimore 6b214f1c81 MDL-79384 core: fix modal footer logic when rendering it from template
If the footer property is a Templates.render() promise, and the modal is
set to show immediately (show=true), the show() logic - which contains
the footer show/hide logic - can run before the footer content is set
(i.e. before the promise chain is complete). In such cases, the footer
will be marked as hidden and must be made visible again.
2023-09-18 16:04:58 +08:00
Ilya Tregubov 553567e16c MDL-78955 lib: Fix unit test. 2023-09-18 14:47:24 +08:00
Ilya Tregubov 2b69eaf942 Merge branch 'MDL-79047-master' of https://github.com/junpataleta/moodle 2023-09-18 12:24:51 +08:00
Ilya Tregubov 826ef1f915 Merge branch 'MDL-79336' of https://github.com/skodak/moodle 2023-09-18 11:12:22 +08:00
Ilya Tregubov c2d59f626e Merge branch 'MDL-78955-master-v03' of https://github.com/ilyatregubov/moodle 2023-09-18 10:42:34 +08:00
Ferran Recio 4dcac269be MDL-78955 lib: fix choice list styling 2023-09-18 10:41:24 +08:00
Ferran Recio 6b6f71ea6f MDL-78955 lib: merge choicelist templates 2023-09-18 10:41:14 +08:00
Jun Pataleta f35e2080af MDL-79047 grade: Use the gradebook plugin name for the page title
* Use the appropriate gradebook plugin string for the page title.
* Improve gradebook page titles set by grade_get_plugin_info() by
listing the unique identifying information for the page first
(e.g. the gradebook plugin name), followed by broader information
(Grades + Course name), separating these bits of information using the
pipe `|` character.

For more information, check out
https://www.w3.org/WAI/WCAG21/Techniques/general/G88
2023-09-18 03:40:43 +02:00
Simey Lameze 9d607df0d9 MDL-75928 format_week: improve get_section_dates one week calc 2023-09-18 00:09:57 +08:00
Sara Arjona ecddfa6ccd on-demand release 4.3dev+ 2023-09-15 18:41:22 +02:00
Sara Arjona 6e2534047a weekly release 4.3dev+ 2023-09-15 17:33:29 +02:00
Sara Arjona 3079511dc7 NOBUG: Fixed SVG browser compatibility 2023-09-15 17:33:23 +02:00
Mark Johnson a92e5c5770 MDL-78580 report_statistics: Prevent database deadlocks when viewing
If a quiz had a long job to calculate statstics running, this would
cause pages that may also attempt a recalculation (the statistics report
page or question bank) to load very slowly, and possibly result in a
database deadlock.

This change will firstly prevent the question bank page performing
analysis calculations at all, since these are not required for this
page, which will speed up loading and prevent deadlocks on this page.

Secondly, this adds a lock to the recalcuation process so that it cannot
run twice concurrently. This will present the user with a message to
indicate that it is waiting for a running calculation until it is
complete, and eventually it will timeout with a message and debugging.
2023-09-15 15:16:52 +01:00
Petr Skoda f35b2d1cb3 MDL-79360 filter: fix nolink tag regression from MDL-77525 2023-09-15 12:44:09 +02:00
Ilya Tregubov 259ec50af6 Merge branch 'luca-branch' of https://github.com/ilyatregubov/moodle 2023-09-15 17:05:27 +08:00
Shamim Rezaie 24a063bd67 Merge branch 'MDL-78833-master' of https://github.com/ilyatregubov/moodle 2023-09-15 16:58:00 +08:00
Huong Nguyen c73c1d1d6b Merge branch 'MDL-79283' of https://github.com/paulholden/moodle 2023-09-15 16:58:00 +08:00
Jun Pataleta ced2753bff Merge branch 'MDL-79291' of https://github.com/paulholden/moodle 2023-09-15 16:58:00 +08:00
Huong Nguyen fb56acd3a7 Merge branch 'MDL-79320' of https://github.com/paulholden/moodle 2023-09-15 16:58:00 +08:00
Jun Pataleta e510b7bed8 Merge branch 'MDL-78916-master' of https://github.com/junpataleta/moodle 2023-09-15 16:57:57 +08:00
Ilya Tregubov 4355e38e88 Merge branch 'MDL-78312-master' of https://github.com/NashTechOpenUniversity/moodle 2023-09-15 16:56:22 +08:00
Huong Nguyen b65724480b Merge branch 'MDL-79057-master' of https://github.com/junpataleta/moodle 2023-09-15 16:54:09 +08:00
Huong Nguyen 0f1a65723f Merge branch 'MDL-79313-master' of https://github.com/junpataleta/moodle 2023-09-15 16:54:09 +08:00
Huong Nguyen 632e603304 Merge branch 'MDL-78728' of https://github.com/paulholden/moodle 2023-09-15 16:19:27 +08:00
Jun Pataleta 62a91c861c Merge branch 'MDL-78467-master' of https://github.com/sammarshallou/moodle 2023-09-15 16:19:26 +08:00
Jun Pataleta 4370887449 Merge branch 'MDL-78916-master' of https://github.com/junpataleta/moodle 2023-09-15 16:19:06 +08:00
Ilya Tregubov 8f8ea5a4d1 Merge branch 'MDL-78312-master' of https://github.com/NashTechOpenUniversity/moodle 2023-09-15 16:19:04 +08:00
Huong Nguyen 9fc4c35ca7 Merge branch 'MDL-79057-master' of https://github.com/junpataleta/moodle 2023-09-15 16:16:21 +08:00
Huong Nguyen 58ff81ac83 Merge branch 'MDL-79313-master' of https://github.com/junpataleta/moodle 2023-09-15 16:16:21 +08:00
Jun Pataleta bb4bcf6165 MDL-79347 course_format: Fix focus outline for Edit conditions link
Use `btn btn-sm` classes to provide a default focus outline for the
Edit conditions link.
2023-09-15 15:05:13 +08:00
Jake Dallimore 4464e46336 MDL-78916 mod_lti: deprecate and remove unused strings and files
These strings and files supported the old way of creating course-level
tools, which has now been fully replaced.
2023-09-15 10:47:10 +08:00
Jake Dallimore f41a0dcacf MDL-78916 mod_lti: remove delegate option for name and email sharing
These settings are no longer configurable on a per-instance basis, so
'delegate to teacher' needs to be removed from the options list for the
relevant fields in the tool type edit form. For existing tool types,
allow 'delegate to teacher' to continue to be used only if it's the
currently set value of these fields. If changed, it cannot be set again.
2023-09-15 10:47:10 +08:00
Jake Dallimore 3cabbfd00f MDL-78916 mod_lti: update behat tests to test new instance form 2023-09-15 10:47:10 +08:00
Jake Dallimore 630066c4f5 MDL-78916 mod_lti: update add/edit instance form to new design
This form layout applies when adding or editing any instance which is
based on a preconfigured tool (course or site). That is now the only
supported way of configuring a mod_lti instance.
2023-09-15 10:47:10 +08:00
Ilya Tregubov 5da0cee324 Merge branch 'MDL-79334' of https://github.com/paulholden/moodle 2023-09-14 19:46:53 +08:00
Ilya Tregubov 38dc039ed7 Merge branch 'MDL-78267-icon-fix' of https://github.com/HuongNV13/moodle 2023-09-14 19:41:07 +08:00
Huong Nguyen 6be34542ca MDL-78267 core: Add missing SVG icon for MoodleNet 2023-09-14 18:29:08 +07:00
Ferran Recio f652b769fe MDL-79351 completion: fix form_trait code smells 2023-09-14 12:24:41 +02:00
Petr Skoda f94ad6f65f MDL-79338 core: add primary navigation hook tests 2023-09-14 11:51:21 +02:00
Ilya Tregubov f5050ab31f Merge branch 'MDL-78255-master' of https://github.com/davewoloszyn/moodle 2023-09-14 17:50:24 +08:00
Petr Skoda b2a2d3dc66 MDL-79338 core: add support for hook callback redirection in tests 2023-09-14 11:47:52 +02:00
Ilya Tregubov de0481af58 Merge branch 'MDL-79220-master' of https://github.com/andelacruz/moodle 2023-09-14 17:43:13 +08:00
Petr Skoda f42cc76a78 MDL-79336 core: add core\hook\stoppable_trait 2023-09-14 11:33:01 +02:00
Matt Porritt 072efd797a MDL-78534 Authentication: MFA Remove icon from support link. 2023-09-14 16:51:54 +08:00
sam marshall 0f8577784d MDL-78467 core_cache: Improve cache locking API
* Makes it possible to safely call acquire_lock so that it throws an
  exception instead of returning false if it can't get a lock (which
  most existing uses assumed it already does).
* Fix some omissions from the requirelockingbeforewrite option (it
  now checks on delete).
* Modinfo uses a versioned cache, so it is not necessary to delete
  items, only increase the version. (Provided we keep track of
  cacherev carefully...)
2023-09-14 09:28:10 +01:00
Paul Holden fba49ba1cc MDL-79283 core: add title to embedded iframe, for accessibility. 2023-09-14 09:26:14 +01:00
Ilya Tregubov 9992804ae5 Merge branch 'MDL-78267-master-2' of https://github.com/HuongNV13/moodle 2023-09-14 16:07:51 +08:00
Huong Nguyen 4ead50e696 MDL-78267 core: Partial course sharing for MoodleNet 2023-09-14 14:59:50 +07:00
Huong Nguyen 705a721c90 MDL-78267 core_courseformat: Language changes
Change from "Bulk edit" to "Bulk actions"
2023-09-14 14:59:50 +07:00
Huong Nguyen f6b7447a68 MDL-78267 core_courseformat: Add mutation dispatch for bulk actions 2023-09-14 14:59:49 +07:00
Huong Nguyen 514df5a775 MDL-78267 core: Services for partial sharing course to MoodleNet 2023-09-14 14:59:49 +07:00
Huong Nguyen c6bf02a3b5 MDL-78267 core: Backend API for partial sharing course for MoodleNet 2023-09-14 14:59:49 +07:00
Jun Pataleta c356d161e8 Merge branch 'MDL-79158' of https://github.com/paulholden/moodle 2023-09-14 14:21:46 +08:00
Jun Pataleta 39d32096e7 Merge branch 'MDL-79181-master' of https://github.com/snake/moodle 2023-09-14 14:02:45 +08:00
Huong Nguyen b3ffe8432b MDL-78267 core: Move shared MoodleNet code to abstract 2023-09-14 11:11:42 +07:00
Jun Pataleta 9cd44cbf4c Merge branch 'MDL-79356-master' of https://github.com/HuongNV13/moodle 2023-09-14 11:52:12 +08:00
Ilya Tregubov 41d8e24f81 Merge branch 'master_MDL-78534' of https://github.com/mattporritt/moodle 2023-09-14 11:05:46 +08:00
Huong Nguyen e1cff527b9 MDL-79356 core: Convert MoodleNet modals to use new static methods 2023-09-14 09:44:19 +07:00
Jun Pataleta b3ba9f84d8 Merge branch 'MDL-79340-master' of https://github.com/andrewnicols/moodle 2023-09-14 10:43:38 +08:00
Matt Porritt 9813e1eec6 MDL-78534 Authentication: MFA Improve 2nd factor verify flow
Improve login page worklow.
This patch improves the display and UX when a user provides
their second factor during the login process. It includes
refactoring the display to use a template fed by renderer.
2023-09-14 11:50:16 +10:00
Matt Porritt 77a998006f MDL-78534 Authentication: MFA factor updates for UI
Add additional display logic to factor classes.
Update each individual factor class and the based factor classs
with the ability to nominate an icon associated with the factor
type as well as any additional logic to assist with displaying
factor information during the login process. This includes string
updates.
2023-09-14 11:49:35 +10:00
Matt Porritt 27ca1dee46 MDL-78534 Authentication: MFA refactoring and clean up
General refactoring and cleanup of MFA code, to allow for easier
addition of UX improvements.
2023-09-14 11:49:34 +10:00
Matt Porritt f140a0dff9 MDL-78534 Authentication: MFA Core login page style changes
Core login page and style changes to support mfa login workflow.
These are minor adjustments to core CSS and a core renderer
change to allow login workflow to better support MFA.
2023-09-14 11:49:04 +10:00
Ilya Tregubov 7903e9cc3a Merge branch 'MDL-79195-master' of https://github.com/andelacruz/moodle 2023-09-14 09:35:41 +08:00
Amaia Anabitarte 9e42ab938c MDL-78527 core_completion: Fixing latest behat fails 2023-09-13 17:00:09 +02:00
hieuvu a3da58a9cb MDL-78312 core_user: add an 'exact match only' option 2023-09-13 20:22:22 +07:00
Paul Holden 40776c8956 MDL-79341 core: more robust testing of user-agent curl response.
The external test file URL concerns itself only with HTTP_USER_AGENT
matching, not sending response headers, which can differ according to
HTTP protocol in use by the endpoint (1.1 vs 2).

Given the returned response code itself is irrelevant to the testcase,
there's not much benefit to asserting it and risking random failures.
2023-09-13 13:30:52 +01:00
Jun Pataleta f8b16ea91f Merge branch 'MDL-78826-master' of https://github.com/roland04/moodle 2023-09-13 19:28:25 +08:00
Jake Dallimore 893ce4f7b2 MDL-78916 core_form: allow class overrides on button form element
This works the same as the customclassoverride on the submit element,
in that only the 'btn' class is hard coded in the template. Passing
$options['customclassoverride'] to the constructor allows calling code
to specify other classes to be added beside 'btn'. E.g. 'btn-primary'.
If no options array is passed, 'btn-secondary' is used (the existing
class used for button elements).
2023-09-13 17:37:06 +08:00
Jake Dallimore bf3f13fea6 MDL-78916 mod_lti: refactor mod_form, separating legacy definition
Move all the logic dealing with display of the legacy instance form,
(which displays those frozen, manually-configured instances) into a
method of its own for clarity.
2023-09-13 17:37:06 +08:00
Huong Nguyen 8dece72737 Merge branch 'MDL-78607-master' of https://github.com/roland04/moodle 2023-09-13 14:46:35 +07:00
Andrew Nicols ce675c3dd4 MDL-79340 core_grading: Add pending steps around rubric requirejs 2023-09-13 14:00:04 +08:00
Andrew Nicols a0735fa710 MDL-79340 core_grading: Use Behat steps to set values 2023-09-13 14:00:04 +08:00
Huong Nguyen d3efd69dc1 Merge branch 'MDL-78993-master' of https://github.com/sarjona/moodle 2023-09-13 11:21:36 +07:00
Huong Nguyen 50a74f6a2d Merge branch 'MDL-67271-master' of https://github.com/sarjona/moodle 2023-09-13 11:15:22 +07:00
Huong Nguyen 8527d6e8c9 Merge branch 'MDL-75502-master' of https://github.com/davewoloszyn/moodle 2023-09-13 10:52:36 +07:00
Jun Pataleta 6c6a655b0b Merge branch 'MDL-78527-master' of https://github.com/aanabit/moodle 2023-09-13 11:17:20 +08:00
Jun Pataleta 3849e57d52 Merge branch 'MDL-77127_master' of https://github.com/PhilippImhof/moodle 2023-09-13 11:14:24 +08:00
Ilya Tregubov 94c9ce0595 Merge branch 'MDL-78806-master' of https://github.com/junpataleta/moodle 2023-09-13 10:54:54 +08:00
Luca Bösch c37a4ba29a MDL-79226 questions: check for UTF-8 encoding of the import file 2023-09-12 20:39:42 +02:00
Eloy Lafuente (stronk7) 9b2c445143 on-demand release 4.3dev+ 2023-09-12 18:54:42 +02:00
Tim Hunt a047d2f8b4 MDL-79332 Question stats: make loading robust to bad data
We were experiencing problems caused by old stats analysis in our
database, computed when there was a bug, causing fatal errors
when they were displayed. Therefore, this code needs to be robust to that.
2023-09-12 16:58:25 +01:00
Paul Holden b6e85266da MDL-79334 badges: fix return URL of activate action in system report.
We cannot rely on `qualified_me()` to work reliably upon report reload
events (paging, sorting, filtering, etc. are all performed via AJAX).

Small cleanup after f0770658.
2023-09-12 15:13:22 +01:00
Amaia Anabitarte b87b72195c MDL-78527 core_completion: Fixing tests 2023-09-12 15:43:49 +02:00
Amaia Anabitarte d481ec3af6 MDL-78527 core_completion: Improving labels and disclosure in mods 2023-09-12 15:43:49 +02:00
Amaia Anabitarte 85d07564cb MDL-78527 core_completion: Improving core completion styling 2023-09-12 15:43:48 +02:00
Sara Arjona ff844ab7bd MDL-78993 theme: Remove $CFG->svgicons
The $CFG->svgicons setting was introduced in Moodle 2.4 due to incomplete
SVG support in certain web browsers.
The landscape has evolved significantly since then, and all modern browsers
now handle SVG files correctly.
The $CFG->svgicons settings has been removed and the supports_svg() method
has been updated with currently supported browsers (IE support was removed
in Moodle 3.10).
2023-09-12 15:28:03 +02:00
Jun Pataleta 89ed58fe74 MDL-79313 calendar: Deprecate calendar_top_controls() 2023-09-12 20:53:27 +08:00
Jun Pataleta 48ddffbe88 MDL-79313 calendar: Remove unused navigation context data 2023-09-12 20:52:56 +08:00
Paul Holden 717c4b397e MDL-79158 gradereport_grader: align collapsed columns dialog element. 2023-09-12 12:25:44 +01:00
Philipp Imhof f85aa04def MDL-77127 quiz: allow students to hide timer 2023-09-12 13:06:54 +02:00
Sara Arjona b89774a17b MDL-67271 componentlibrary: Update fontawesomeicons
Regenerate the 'fontawesomeicons.json' file to enforce SVG rendering for
the icons.
The addition of '$CFG->svgicons = true;' in the config.php file addressed this.
It's important to note that '$CFG->svgicons' will eventually be deprecated as part
of MDL-78993. Consequently, I refrained from updating 'readme_moodle.txt,' as SVG
icons will become the default value once the removal is executed.
2023-09-12 10:54:15 +02:00
Sara Arjona 87589e07fc MDL-67271 pix: Add missing SVG files
The absence of SVG files has been addressed by including them,
sourced from the respective FontAwesome versions available for
download at https://fontawesome.com/icons
2023-09-12 10:54:15 +02:00
Andrew Nicols 5281100031 MDL-67271 core: Add test to find missing SVG icons
Ensure that all system icons now come with an accompanying SVG file.
Any missing SVG files have been addressed, and to maintain this consistency,
a PHPUnit test has been implemented to validate the inclusion of SVG files
for any new icons.
2023-09-12 10:54:15 +02:00
Ilya Tregubov 0de64aa81b MDL-78833 gradereport_grader: Propery align averages and ranges row.
Depending on editing mode or grade display type it can be right or
left aligned
2023-09-12 16:25:01 +08:00
Amaia Anabitarte f367759123 MDL-78527 core_completion: Fixing a bug found in master
Changing from 'Must receive a PASSING grade' to 'Not grade required'
keeps the 'completionpassgrade' = 1 and we should reset setting to 0.
2023-09-12 09:59:36 +02:00
Amaia Anabitarte 054092519e MDL-78527 forms: Improve error showing for radio buttons 2023-09-12 09:59:36 +02:00
Amaia Anabitarte 313da3ebf3 MDL-78527 pear: Adding attributes parameter to groups 2023-09-12 09:59:36 +02:00
Amaia Anabitarte 0122c2c3e7 MDL-78527 forms: New parentclass attribute to wrapper element only 2023-09-12 09:59:36 +02:00
David Woloszyn 045d4368f4 MDL-75502 core: Added MoodleNet share progress page 2023-09-12 15:14:39 +10:00
Angelia Dela Cruz 46b60d76c8 MDL-79195 core_course: Activity and resource description display behat 2023-09-12 11:30:26 +08:00
Huong Nguyen c723cac548 Merge branch 'MDL-79242-master' of https://github.com/jleyva/moodle 2023-09-12 10:27:08 +07:00
Huong Nguyen cfaeaca3c4 Merge branch 'MDL-78798-master' of https://github.com/davewoloszyn/moodle 2023-09-12 10:01:50 +07:00
Ilya Tregubov 2ebfd7eb8f Merge branch 'MDL-79099' of https://github.com/paulholden/moodle 2023-09-12 10:59:35 +08:00
Jake Dallimore d372dba199 Merge branch 'MDL-78960-master' of https://github.com/call-learning/moodle 2023-09-12 10:52:35 +08:00
Ilya Tregubov 73c8675623 Merge branch 'MDL-79210-master' of https://github.com/meirzamoodle/moodle 2023-09-12 10:50:11 +08:00
Huong Nguyen 85f6aa82cc Merge branch 'MDL-79246-master' of https://github.com/andrewnicols/moodle 2023-09-12 08:50:16 +07:00
Paul Holden 4aeb85b988 MDL-79320 mod_forum: remove use of buffering constant when exporting.
It caused debugging to be appended to exported files, since 20b8f8f9.
2023-09-11 20:17:33 +01:00
Laurent David 6729c4b955 MDL-78960 mod_bigbluebuttonbn: Add instanceid as action parameter
* In the bigbluebutton_proxy::action_url call to submodules, we need a way to get
the instance this is called upon so we can have information (parameters) for
this instance settings (like the new settings introduced by subplugins).
* Add the optional instanceid parameter in join/create/getMeetingInfo calls
2023-09-11 18:49:09 +02:00
Paul Holden 55dedf25ad MDL-79099 theme_boost: amend drawer zIndex for use in user tours.
Changed introduced in da2f2c9c modified various zIndex attributes for
the page drawers. This has a side-effect of breaking the user tour of
the course page for the course index.
2023-09-11 11:08:19 +01:00
Paul Holden 26f7eda09b MDL-71955 h5p: ensure embedded player sets up $PAGE correctly.
For module context, it should set the current cm and course to
ensure consistency in navigation API.
2023-09-11 10:18:14 +01:00
Jun Pataleta 1c892fb6d9 Merge branch 'MDL-78324-master-7' of https://github.com/andrewnicols/moodle 2023-09-11 16:29:56 +08:00
Paul Holden 75c36558b6 MDL-79186 task: fix evaluation of 'X/Y' cron field format.
The above syntax is defined as supported by the class, for example the
format '5/10' means:

"At every 10th <unit> from 5 through <max>."

It is analogous to '5-<max>/10'.
2023-09-11 09:22:17 +01:00
Ilya Tregubov 787455198b MDL-78909 mod_lti: Add indexes in upgrade.php 2023-09-11 16:03:53 +08:00
Ilya Tregubov faa491fe3b MDL-78909 mod_lti: Fix upgrade.php for lti. 2023-09-11 13:17:08 +08:00
Jake Dallimore 996760f32d Merge branch 'MDL-79048-master-2' of https://github.com/junpataleta/moodle 2023-09-11 12:59:59 +08:00
Jake Dallimore 40eb76014a Merge branch 'MDL-78909-master-2' of https://github.com/ilyatregubov/moodle 2023-09-11 12:32:57 +08:00
hieuvu 457cfa50e1 MDL-79301 mathjax: contentUpdated must trigger for mathjax element only. 2023-09-11 10:25:21 +07:00
Ilya Tregubov 799487a3dd Merge branch 'MDL-63539' of https://github.com/danmarsden/moodle 2023-09-11 11:14:48 +08:00
Ilya Tregubov d1f45f3b0e Merge branch 'MDL-78474-master' of https://github.com/aydevworks/moodle 2023-09-11 10:54:57 +08:00
Jake Dallimore 189558e80c MDL-79181 core: update LinkedIn OAuth template to use OIDC
The old method (sign in with linkedin) is deprecated:
https://learn.microsoft.com/en-us/linkedin/consumer/integrations/self-serve/sign-in-with-linkedin

This replaces this with the new method:
https://learn.microsoft.com/en-us/linkedin/consumer/integrations/self-serve/sign-in-with-linkedin-v2

This is not entirely OIDC compliant, however. The well known
openid-configuration isn't present at the issuer root and the 'locale'
claim contains an object instead of a string. These are worked around.
2023-09-11 10:40:34 +08:00
Ilya Tregubov ba32de5281 MDL-78909 mod_lti: Show category restriction only for site tools 2023-09-11 10:14:58 +08:00
Ilya Tregubov 3eceb14342 MDL-78909 mod_lti: Fix for restrict to category. 2023-09-11 10:14:58 +08:00
Ilya Tregubov f9b1bac756 MDL-78909 mod_lti: Support coursevisibility override for courses 2023-09-11 10:14:58 +08:00
David Woloszyn 24cdc908ba MDL-78798 core_communication: Corrected outdated versions and references 2023-09-11 11:16:22 +10:00
Jun Pataleta 83f56a0bed MDL-78806 mod_assign: Use new Behat step for checking page title 2023-09-10 11:15:23 +08:00
Jun Pataleta 86f29846d5 MDL-78806 behat: Create a step that for checking the page title
Create a Behat step "the page title should contain ':title'" to check
the page title.
2023-09-10 11:15:23 +08:00
Jun Pataleta 8bb46fe513 MDL-78806 behat: More lenient checking of page title
Instead of doing an exact checking of the page title in
\behat_hooks::before_step(), do a more lenient check by checking that
the page title contains the acceptance test's site name.
2023-09-09 21:25:48 +08:00
Andrew Nicols 83296b266b MDL-78324 theme_boost: Only shift focus if origin focus unchanged
In the Moodle additions for the Bootstrap Dropdown we update the focus
after a 50ms delay. This is presumably because the targetted focus point
may not have shown yet and may be opened in a separate thread, though
sadly the original reasoning is not documented, and is not mentioned in
the original issues.

As a result of this delay, it was possible for the user to start to
interact and then have focus stolen from them. In reality this does not
happen often - 50ms is simply too short a time for a human to do so, but
it is plenty of time for Behat to do so and we have seen some random
fails as other parts of the UI become faster. When this happens,
keyboard focus tests are broken by this 50ms behaviour.

The fix here updates the shift focus function when closing the menu to
check whether the focus has changed from the previous location already
before setting the focus.
2023-09-09 13:45:36 +08:00
Jun Pataleta 9a2aa05eaf MDL-78806 core: Add upgrade.txt notes 2023-09-09 08:59:19 +08:00
Jun Pataleta d2be7cdc1a MDL-78806 admin: Consistent page title during upgrade and install
* Use the page title separator constant when displaying the page title
during upgrade and installation.
* No need to display the site name during install when because it hasn't
been set at this point.
2023-09-09 08:58:55 +08:00
Jun Pataleta f11daad97a MDL-78806 admin: Display the most unique information in the title first
* Page titles should display the most unique information first. For
admin pages it would be useful to display the information that
is unique to the page first before the broader categories that the
page belongs to.
* Also use the new page title separator constant.
2023-09-09 08:58:55 +08:00
Jun Pataleta 1eb8ee32bb MDL-78806 core: Remove redundant site name
MDL-78806 core: Remove redundant site name on page titles

* With the site name now being appended to the page titles, there
is no need to manually append the page titles.
2023-09-09 08:58:54 +08:00
Jun Pataleta ff553e5cf4 MDL-78806 core: Append site name on page title 2023-09-09 08:58:54 +08:00
Jun Pataleta a52fa6a047 MDL-78806 admin: Setting for displaying site name in page title
* A new config setting `sitenameintitle` for displaying the site name
on the page has been created.
2023-09-09 08:58:54 +08:00
Andrew Nicols 82761c582c MDL-78324 core: Deprecate core/modal_factory 2023-09-09 00:05:04 +08:00
Andrew Nicols 48bc688ccd MDL-78324 core: Convert modals to use new static methods
This commit takes all modals which were not using the legacy
ModalFactory.create triggers and migrates them to the new Modal.create
method.
2023-09-09 00:04:11 +08:00
Andrew Nicols f31f7e34e1 MDL-78324 calendar: Remove unused dependencies
A number of unused dependencies were found in this module, including
some on the ModalFactory and related areas which are currently being
refactored.
2023-09-09 00:04:04 +08:00
Andrew Nicols b5fc26bea7 MDL-78324 tool_licensemanager: Switch delete to utility confirmation
The core/utility confirmation modal can be used in this case to confirm
license actions. It is not necessary to have a custom module for this
purpose.
2023-09-09 00:04:04 +08:00
Andrew Nicols adce2874b0 MDL-78324 badges: Remove unnecessary Modal
The core/utility confirmation modal can be used in this case to confirm
backpack actions. It is not necessary to have a custom module for this
purpose.
2023-09-09 00:04:04 +08:00
Andrew Nicols 96e32d6f90 MDL-78324 bbb: Switch to SaveCancelPromise
This change removes an unnecessarily complicated Modal instantiation
when an existing helper exists to simplify this approach.
2023-09-09 00:04:03 +08:00
Andrew Nicols a797020524 MDL-78324 core: Convert core/tag to esm
This module is converted to ESM in preparation for simplification of
Modal instantiation.
2023-09-09 00:04:03 +08:00
Andrew Nicols 98f0aebde6 MDL-78324 gradereport_singleview: Update modal usage to drop factory use
This change includes some additional simplifications to support this
change, including conversion from done/fail to then/catch, and some
simplification of Promise usage.

There were a number of cases of nested Modal usage which have been
removed.
2023-09-09 00:04:03 +08:00
Andrew Nicols 5d9761c655 MDL-78324 mod_survey: Convert validation to esm
This module is converted to ESM in preparation for simplification of
Modal instantiation.
2023-09-09 00:04:03 +08:00
Andrew Nicols 27e40683aa MDL-78324 report_insights: Convert actions to esm
This module is converted to ESM in preparation for simplification of
Modal instantiation.
2023-09-09 00:04:02 +08:00
Andrew Nicols 1660b7d53e MDL-78324 editor_tiny: Update modals to stop using factory 2023-09-09 00:04:00 +08:00
Andrew Nicols 854da2dd70 MDL-78324 mod_quiz: Update modals to stop using factory
This commit includes some simplifications to the way in which some of
the modals are launched and allows us to remove several modules entirely
as they are no longer required following the simplification of the Modal
instantiation.
2023-09-08 23:49:13 +08:00
Andrew Nicols a54ba682a4 MDL-78324 core: Create modal factory in core/modal
This commits adds a new static `create()` method to replace the existing
ModalFactory.create approach.

This allows the creation of a modal to now be simplified to:

```js
import SomeModalClass from 'mymodule/wherever';

// ...

const modal = await SomeModalClass.create();
```

Prior to this change the modal was instantiated via the ModalFactory,
but the Type of modal was typically pulled from the ModalClass itself
via the registry. Essentially it used to require three modules to
instantiate a single Modal, and now it takes just one.
2023-09-08 23:49:13 +08:00
Andrew Nicols 9073225c98 MDL-78324 core: Simplify modal configuration
This change moves configuration of the modal from the ModalFactory to
a new `configure` function on the Modal class which does exactly the
same thing. This means that the API is fully encapsulated within the
Modal, and an individual Modal can specify its own configuration more
easily.

This change will make it much easier to instantiate new modals,
significantly reducing boilerplate in many instances.

This change allows modals to extend the `configure()` method to provide
their own defaults, or to override standard ones.

```js
class MyModal extends Modal {
    static TYPE = 'my_module/mymodal';
    static TEMPLATE = 'my_module/mymodal';

    configure(params = {}) {
        // Override the default value for large.
        params.large = true;

        super.configure(params);

        // Handle our own properties here.
        const {
          makeSound = true,
        } = params;

        this.setSoundEmitter(makeSound);
    }
```

Prior to this change, it was common to see this happen in the _calling_
code, rather than the modal itself.
2023-09-08 23:49:12 +08:00
Jun Pataleta b4c6ed3650 weekly release 4.3dev+ 2023-09-08 22:34:59 +08:00
Jun Pataleta 64c431e19b Merge branch 'install_master' of https://git.in.moodle.com/amosbot/moodle-install 2023-09-08 22:34:57 +08:00
Jun Pataleta 8edafd35d8 MDL-78549 multianswer: Prevent default when clicking feedback trigger 2023-09-08 22:14:35 +08:00
Huong Nguyen 0a9eaa50e4 Merge branch 'MDL-78549-master' of https://github.com/junpataleta/moodle 2023-09-08 22:14:35 +08:00
Huong Nguyen a890f6f07a Merge branch 'MDL-79090-master' of https://github.com/mackensen/moodle 2023-09-08 22:14:35 +08:00
Jun Pataleta f32f669f53 Merge branch 'MDL-78258-master' of https://github.com/snake/moodle 2023-09-08 22:14:35 +08:00
Andrew Nicols eafa7c0a6f Merge branch 'MDL-79241-master' of https://github.com/marinaglancy/moodle 2023-09-08 22:14:35 +08:00
Huong Nguyen cb5c8b59bf Merge branch 'MDL-78619' of https://github.com/paulholden/moodle 2023-09-08 22:14:34 +08:00
Jun Pataleta 090e40e749 Merge branch 'MDL-79155-master' of https://github.com/safatshahin/moodle 2023-09-08 22:14:34 +08:00
Jun Pataleta be5de5fccf Merge branch 'MDL-69958-well-known-password' of https://github.com/brendanheywood/moodle 2023-09-08 22:14:34 +08:00
Ilya Tregubov 71cb542c60 Merge branch 'MDL-71494' of https://github.com/paulholden/moodle 2023-09-08 22:14:34 +08:00
Ilya Tregubov 94cf94286a Merge branch 'MDL-78254' of https://github.com/paulholden/moodle 2023-09-08 22:14:34 +08:00
Ilya Tregubov 7ddea19a95 Merge branch 'MDL-78244-master' of https://github.com/meirzamoodle/moodle 2023-09-08 22:14:33 +08:00
Jun Pataleta dd49de72b2 Merge branch 'MDL-78954-master-fix' of https://github.com/lameze/moodle 2023-09-08 22:14:33 +08:00
Shamim Rezaie 4ded6f7fb9 Merge branch 'MDL-77545-master' of https://github.com/call-learning/moodle 2023-09-08 22:14:33 +08:00
Jun Pataleta b0f9fee6dd Merge branch 'MDL-77443-master' of https://github.com/andrewnicols/moodle 2023-09-08 22:14:33 +08:00
Jun Pataleta 45cf011ab6 Merge branch 'MDL-75740' of https://github.com/paulholden/moodle 2023-09-08 22:14:33 +08:00
Paul Holden 65c0de3618 MDL-78619 communication: add customlink to list of standard plugins.
Make management URL nullable to avoid section link error when the
whole subsystem is not enabled.
2023-09-08 22:14:31 +08:00
Simey Lameze 2ab8c0f17c NOBUG: increase expected size for downloaded file 2023-09-08 22:14:29 +08:00
Andrew Nicols a5f4b6929a Merge branch 'MDL-79286' of https://github.com/paulholden/moodle 2023-09-08 22:14:29 +08:00
Andrew Nicols 0b1db43788 MDL-79277 tool_mobile: Correct default value for empty param 2023-09-08 22:14:29 +08:00
Andrew Nicols b4bd5d9f5f Merge branch 'MDL-79277-master' of https://github.com/noeldemartin/moodle 2023-09-08 22:14:29 +08:00
Andrew Nicols d5605c7704 Merge branch 'MDL-79250-master' of https://github.com/junpataleta/moodle 2023-09-08 22:14:28 +08:00
Andrew Nicols 12c67aaae1 MDL-79264 tiny_equation: Correct debounce method
The debounced method was being called immediately instead of being
debounced.
2023-09-08 22:14:28 +08:00
Andrew Nicols 6ceabf28d3 Merge branch 'MDL-79264-master' of https://github.com/geichelberger/moodle 2023-09-08 22:14:28 +08:00
Andrew Nicols f711def059 Merge branch 'MDL-68435' of https://github.com/paulholden/moodle 2023-09-08 22:14:28 +08:00
Andrew Nicols 9f676d6cb3 Merge branch 'MDL-78917' of https://github.com/paulholden/moodle 2023-09-08 22:14:28 +08:00
Jun Pataleta fdc726d7e4 Merge branch 'MDL-76034-master' of https://github.com/andrewnicols/moodle 2023-09-08 22:14:27 +08:00
Jun Pataleta 8b8efffd7e Merge branch 'MDL-78779-master' of https://github.com/andrewnicols/moodle 2023-09-08 22:14:27 +08:00
Jun Pataleta cfb2afb047 Merge branch 'MDL-78558-master' of https://github.com/roland04/moodle 2023-09-08 22:14:27 +08:00
Jun Pataleta f6dd2d6171 Merge branch 'MDL-78082-patch' of https://github.com/ilyatregubov/moodle 2023-09-08 22:14:27 +08:00
Jun Pataleta a44a7e7643 MDL-78954 theme: Rebuild CSS 2023-09-08 22:14:26 +08:00
Jun Pataleta fbcf8db9d3 Merge branch 'MDL-78954-master' of https://github.com/ferranrecio/moodle 2023-09-08 22:14:24 +08:00
Eloy Lafuente (stronk7) 5fdd1f768b Merge branch 'MDL-78619-master' of https://github.com/HuongNV13/moodle 2023-09-08 22:13:16 +08:00
Ilya Tregubov b8826a7a21 MDL-78082 gradereport_grader: Remove xpath from Behat. 2023-09-08 22:13:11 +08:00
Huong Nguyen 4a115b8118 MDL-78619 theme: Communication button fix for Classic 2023-09-08 22:13:10 +08:00
Jun Pataleta e0d2040aaa MDL-79048 course: Update page title when toggling bulk editing
* When toggling bulk editing, updating the page's title can help users,
especially screen reader users, to determine the current editing state
of the course homepage.
2023-09-08 21:55:34 +08:00
Jun Pataleta 7c88f2abdc MDL-79048 course: Add editing versions of course view page titles
* Create 'editing' versions of the coursetitle and coursesectiontitle
lang strings used for the page title of the course homepage and use
these when editing mode is turned on to provide immediate information
to users, especially screen reader users, the current state of the
course homepage.
2023-09-08 21:42:20 +08:00
Alex Yeung b690c21eab MDL-78474 mod_label: fix phpunit and behat tests 2023-09-08 12:13:23 +01:00
stemiwe d73d56f070 MDL-78474 mod_label: include new field for name 2023-09-08 12:08:59 +01:00
meirzamoodle bebd10c5a5 MDL-78649 core_communication: Clarify form provider method name 2023-09-08 16:50:54 +07:00
meirzamoodle 129d8afa39 MDL-78649 core_communication: Fix missing provider form fields types 2023-09-08 16:50:50 +07:00
Ferran Recio d54027dc6d MDL-78826 tool_componentlibrary: add dropdown js controls 2023-09-08 10:23:29 +02:00
Ferran Recio c87fe6036d MDL-78826 javascript: add dropdown js controls 2023-09-08 10:23:13 +02:00
AMOS bot 0cf21fce5f Automatically generated installer lang files 2023-09-08 00:10:53 +00:00
Laurent David 0335adeff4 MDL-77545 mod_bigbluebuttonbn: Add form extension
* Add a new way to extend the BigBlueButtonBN form via subplugins
* Allow subplugins to extends information via new tables and use it in
the edit form.
* Add a new cache helping with potential perfomance issues introduced
by recurring calls to find out about associated tables in subplugins.
2023-09-07 17:20:05 +02:00
Laurent David 3d05bc7da3 MDL-77545 mod_bigbluebuttonbn: Refactor get_instances_implementing
* We need a way to either have the classes implementing an interface/abstract
class or create instances.
2023-09-07 17:17:51 +02:00
Paul Holden c7d08f855e MDL-79291 h5p: handle content type creation errors in test generator.
If the endpoint is temporarily down and/or misbehaving, then at least
we'll a clearer failure message.
2023-09-07 15:38:45 +01:00
Tim Hunt 1437ed51ef MDL-79279 qformat_xml: multianswer import should support idnumber
Fix suggested by Georg Maißer.
2023-09-07 11:40:48 +01:00
Paul Holden b4a7583d58 MDL-79286 mod_quiz: account for users with multiple enrolments.
The quiz override form should account for this, to ensure duplicate
user records don't trigger DML debugging.
2023-09-07 11:33:58 +01:00
Huong Nguyen bd372a63d2 Merge branch 'MDL-78619-master' of https://github.com/mickhawkins/moodle 2023-09-07 15:19:18 +07:00
Mikel Martín 8af68bbe09 MDL-78558 core_courseformat: Activity cards UI improvements
- Fix action menu and completion button size
- New 'Add activity' button styles
- Fix restriction container styles
- Fix action menu and groupmode button styles
- Fix hover styles for action menu and groupmode button
- Fix groupmode spacing styles
- Homogenize completion button colours
- Fix inplaceeditable and badge positioning
- Fix export filesize related behat
- Homogenize activity/section availability
- New add topic styles
2023-09-07 09:34:43 +02:00
Mikel Martín c4a23af241 MDL-78607 availability: Add loading icon to restrictions form input 2023-09-07 09:02:03 +02:00
Ilya Tregubov 676afe98b8 Merge branch 'MDL-70371-master-rebased' of https://github.com/stevandoMoodle/moodle 2023-09-07 14:50:19 +08:00
Ilya Tregubov 224b3f2e0b Merge branch 'MDL-78082-master' of https://github.com/rezaies/moodle 2023-09-07 14:31:03 +08:00
Jun Pataleta 4cb02d8839 Merge branch 'MDL-78795-master' of https://github.com/phmemmel/moodle 2023-09-07 14:17:12 +08:00
Stevani Andolo dbf83c72c7 MDL-70371 core: Defined password length
1. Modified the password related forms
2. Added a new constant in moodlelib.php called MAX_PASSWORD_CHARACTERS
3. Added a new method in moodlelib.php called exeeds_password_length
4. Updated the upgrade.text
2023-09-07 12:29:10 +08:00
Jun Pataleta 9d85da5527 Merge branch 'MDL-77863-master' of https://github.com/junpataleta/moodle 2023-09-07 11:04:21 +08:00
Jun Pataleta 60d350c59d MDL-77863 theme_boost: Fix colours
* Fix tag area text shadow colour. It is originally set to
  `rgba(255, 255, 255, 0.5)` so it should be `rgba($white, 0.5)`
  instead of `rgba($black, 0.5)`.
* Revert colour for `$content-item-unread-colour` to `#f4f4f4` instead
  of `$gray-100`.
2023-09-07 10:57:50 +08:00
Safat 44646941f8 MDL-79155 core_course: Change default communication to none 2023-09-07 12:11:18 +10:00
Angelia Dela Cruz 3ed02cfc1f MDL-79220 mod_glossary: Behat for glossary entry with attachment 2023-09-07 09:38:14 +08:00
Ilya Tregubov d77673e6ea Merge branch 'MDL-78956-master' of https://github.com/ferranrecio/moodle 2023-09-07 08:59:46 +08:00
Ilya Tregubov e4c3ab5505 Merge branch 'MDL-78972-master' of https://github.com/roland04/moodle 2023-09-07 08:55:29 +08:00
Francis Devine a77158fd96 MDL-79274 assignfeedback_editpdf: Fix permission error in conversions
This was causing the adhoc task to fail with a nopermission error, when
a user was unenrolled from a course before their assignment submission
could be converted into a pdf.

Comments from MDL-56810 indicate the correct approach is to not attempt
a conversion in those cases.
2023-09-07 09:26:09 +12:00
Shamim Rezaie 56abfc2d22 MDL-78082 gradereport_grader: Acceptance test for locking 2023-09-07 05:46:55 +10:00
Benjamin Abraham e7caf8bd5f MDL-77863 theme: hardcoded colors in boost moved into variables
Moved all hardcoded colors found in the boost/moodle scss files into variables to make theming and child theme development easier.
2023-09-06 16:20:51 +02:00
Paul Holden 2518317649 MDL-75371 core: fix typos in reverse proxy setup docs. 2023-09-06 14:38:08 +01:00
Paul Holden 4be889a1c7 Merge branch 'patch-1' of https://github.com/ewjoachim/moodle 2023-09-06 14:25:57 +01:00
Paul Holden 71c6c88747 MDL-78895 mod_url: fix double encoded ampersands in URL.
Also restore the `$attributes` property (previously `$extra` prior
to 8d8af19a) to define URL opening behaviour, e.g. in popup or new
window.
2023-09-06 13:24:36 +01:00
Shamim Rezaie 8e73a9ec19 MDL-78082 core_grades: Incomplete Grade Item Handling Enhanced
Problem:
In grade_edittree_column_status::get_category_cell, an assumption was
made that $category->grade_item is always populated. However, this was
not guaranteed, leading to potential issues.

Solution:
To ensure $category->grade_item availability, a $category->load_grade_item();
call was introduced in grade_edittree_column_status::get_category_cell.
This guarantees safe usage of $category->grade_item.

Furthermore, in grade_edit_tree::build_html_tree, $category->get_grade_item()
was replaced with $category->load_grade_item() for enhanced reliability
and potential performance improvement.

Explanation:
These changes enhance robustness and efficiency in gradebook.
Addressing incomplete grade item handling improves code reliability and
user experiences.
2023-09-06 22:20:39 +10:00
Shamim Rezaie 4cf11157c2 MDL-78082 core_grades: Fix locking inconsistency
Problem:
In Moodle 4.2, an unintended change in behaviour occurred when locking
and unlocking grade items. Previously, in Moodle 4.1, locking a grade
item and then subsequently unlocking the grade item left specific grades
for students still locked if they were being locked individually.
However, in Moodle 4.2, the unintended change caused the individual
grades to be unlocked along with the grade item.

Solution:
To address this issue, I modified the set_locked calls in action.php to
pass the cascade parameter as false. Now, when locking or unlocking a
grade item, only the grade item itself is affected, leaving individual
grades unchanged. I have also modified the locking behaviour in the
grade_category class. So, similarly, when locking or unlocking a grade
category, the change applies only to the grade items and grade
categories within the category, without expanding to individual grades.

Explanation:
By making this change, we ensure that the locking mechanism behaves as
expected, providing a consistent and desirable user experience. Locking
and unlocking a grade item or category will no longer inadvertently
affect individual grades, preserving their locked status and avoiding
loss of data when unlocking a grade item associated with the total mark
of a category.
2023-09-06 22:20:39 +10:00
Shamim Rezaie 09ef2d0aa5 MDL-78082 core_grades: lock/unlock all option for grade categories
A lock/unlock option is added to the context menu of the grade
categories again. But it is only used as an auxiliary tool to lock or
unlock all the grade items within the category.
2023-09-06 22:20:39 +10:00
Shamim Rezaie b208ea26d1 MDL-78082 core_grades: Hide lock/unlock options for grade categories
Problem:
The grade_categories table lacks a 'locked' field, making it technically
impossible to lock grade categories. In Moodle 4.1, the "category total"
column could be locked (from the edit category form), but locking grade
categories directly was not supported.

Solution:
In response to the issue, the lock/unlock feature for grade categories
has been removed. Since the grade_categories table does not have the
necessary 'locked' field, attempting to implement category locking would
be infeasible. As a result, the feature has been removed from the
interface to avoid confusion.

Explanation:
By removing the lock/unlock feature for grade categories, we ensure that
users no longer encounter non-functional options and prevent any
potential misunderstandings about the locking behaviour. Additionally,
this change aligns the user interface with the underlying database
schema and eliminates any misleading functionality.
2023-09-06 22:19:40 +10:00
Shamim Rezaie fb3f018cf6 MDL-78082 core_grades: Fix locking issue with natural aggregation
Problem:
When the aggregation method is set to "natural," grade items' weights
and the maximum grade of the grade category's item get recalculated,
causing the needsupdate flag to be set to true. As a result, the locking
process was skipped, leading to unexpected behaviour.

Solution:
To address the issue, the set_locked method has been modified. Instead
of skipping the locking process, the method now schedules the locking of
grade items to occur slightly in the past, specifically one second in
the past. This ensures that the grade item will be automatically locked
after the recalculations are completed.

Explanation:
By making this adjustment, we ensure that the locking process is not
skipped during natural aggregation, maintaining consistent behaviour and
preventing any unintended consequences related to grade item locking.
2023-09-06 22:19:40 +10:00
Shamim Rezaie a1cf8f143a MDL-78082 gradereport_grader: Enter should submit the form
Problem:
Previously, when users pressed the Enter key while interacting with the
grader report, instead of submitting the form, a table column was
inadvertently expanded or collapsed. This behaviour occurred due to the
expand/collapse buttons lacking an explicit 'type' attribute within the
form. As a result, these buttons were mistakenly treated as submit
buttons.

Solution:
In this commit, we have addressed the issue by ensuring that the
expand/collapse buttons now have the correct 'type' attribute set,
explicitly identifying them as non-submit buttons. This adjustment
prevents them from interfering with form submission unintentionally.

Explanation:
By making this fix, we improve the user experience in the grade book,
allowing users to navigate and interact with the interface more
smoothly. Pressing the Enter key will now trigger the form submission as
expected, rather than inadvertently activating expand/collapse actions.
2023-09-06 22:18:40 +10:00
Marina Glancy 3b160c7b71 MDL-79241 tool_mfa: correctly setup standard plugin type 2023-09-06 09:14:25 +01:00
Noel De Martin 87d4c398e3 MDL-79277 tool_mobile: Fix warning 2023-09-06 09:05:10 +02:00
Ilya Tregubov 4fa5a40f34 Merge branch 'MDL-76865-master' of https://github.com/daledavies/moodle 2023-09-06 14:48:15 +08:00
Andrew Nicols aa7f105139 Merge branch 'MDL-79205' of https://github.com/paulholden/moodle 2023-09-06 12:52:28 +08:00
Andrew Nicols add1afeea1 Merge branch 'MDL-79244-master' of https://github.com/lucaboesch/moodle 2023-09-06 12:49:24 +08:00
Andrew Nicols 1629a219e9 MDL-78779 gradereport_user: Replace wait steps with expectations 2023-09-06 12:40:45 +08:00
Andrew Nicols 4bfd20983d MDL-78779 core: Do not re-render combo searchresults if term unchanged 2023-09-06 12:28:36 +08:00
Andrew Nicols c7a05345b6 MDL-78779 core: Wrap combobox debounce in pending Promise
This addresses a random failure with the combobox search results where
the debounce causes the results to be shown, and then the same search
result is returned again, re-rendered, and replaced after Behat has
moved on.
2023-09-06 12:27:45 +08:00
Ilya Tregubov bf109995b0 Merge branch 'master_MDL-67774' of https://github.com/mattporritt/moodle 2023-09-06 11:51:56 +08:00
meirzamoodle 3c3021a641 MDL-79210 lib: Code adjustments to the PHPSpreadSheet 1.29.0 2023-09-06 10:51:08 +07:00
meirzamoodle e55ecbac8c MDL-79210 lib: Upgrade PHPSpreadSheet to 1.29.0 2023-09-06 10:51:08 +07:00
Matt Porritt 1560be7b7e MDL-67774 Authentication: Specify password peppers in config.php
Add a pepper to the users supplied password.
The pepper is stored in CFG and user to add extra security to
the password hash. By effectively breaking the information to
create the hashed password into two and storing it in more
than one place.
2023-09-06 13:47:51 +10:00
Jun Pataleta 5b06e8b01c MDL-79057 gradereport_singleview: Use proper hidden attribute value
HTML attribute hidden="1" is invalid. It either needs to be set to an
empty string or use the keyword "hidden" for its value.
2023-09-06 10:32:33 +08:00
Ilya Tregubov e8ac466426 Merge branch 'MDL-76459' of https://github.com/stronk7/moodle 2023-09-06 10:02:19 +08:00
Luca Bösch 45c9000653 MDL-79244 backup: fix typo for questioncannotberestored.
AMOS BEGIN
 MOV [questionegorycannotberestored,backup],[questioncannotberestored,backup]
AMOS END
2023-09-05 22:30:36 +02:00
Jun Pataleta b8fe5b3a0e MDL-79057 gradereport_singleview: Remove tabindex > 0 for elements
A tab index with a non-zero value messes up with the logical tab order
of a page.
2023-09-06 00:32:55 +08:00
Paul Holden fd968053ec Merge branch 'MDL-76419-master' of https://github.com/rjnl/moodle 2023-09-05 17:18:30 +01:00
Andrew Nicols 00f0613f99 on-demand release 4.3dev+ 2023-09-05 22:27:40 +08:00
Andrew Nicols cc60490854 Merge branch 'install_master' of https://git.in.moodle.com/amosbot/moodle-install 2023-09-05 22:27:36 +08:00
AMOS bot 64bb886164 Automatically generated installer lang files 2023-09-05 14:25:23 +00:00
Gregor Eichelberger f1e12ca909 MDL-79264 tiny: Replace hardcoded contextid
The `contextid` argument of the `tiny_equation_filter` AJAX call is
hardcoded to 1, which causes trouble if the context table does not start
with id 1.

Signed-off-by: Gregor Eichelberger <gregor.eichelberger@tuwien.ac.at>
2023-09-05 13:24:50 +02:00
Paul Holden 7d32eabbd2 MDL-78254 libraries: upgrade to version 5.65.15 of CodeMirror. 2023-09-05 10:06:57 +01:00
Paul Holden 56cd63a8f9 MDL-71494 mod_feedback: final removal of deprecated constructor param. 2023-09-05 09:09:26 +01:00
Paul Holden 259c496e73 MDL-75740 block_news_items: show full date format for all posts.
Co-authored-by: Przemek Kaszubski <przemka@amu.edu.pl>
2023-09-05 09:08:29 +01:00
Paul Holden 6e9e73aba0 MDL-79205 webservice: gracefully handle invalid functions in docs. 2023-09-05 08:51:51 +01:00
meirzamoodle 78e0fb0818 MDL-78244 lib: Update jQuery to 3.7.1 2023-09-05 14:30:30 +07:00
Jun Pataleta f566bf4601 Merge branch 'MDL-78874-master' of https://github.com/danghieu1407/moodle 2023-09-05 12:05:59 +08:00
Ilya Tregubov 88ce8754b2 Merge branch 'MDL-77296-master' of https://github.com/davewoloszyn/moodle 2023-09-05 11:59:29 +08:00
Andrew Nicols 77dc50a76a Merge branch 'MDL-79132' of https://github.com/AnupamaSarjoshi/moodle 2023-09-05 11:52:36 +08:00
Andrew Nicols 258698e6f3 MDL-75268 core: Add tiny_premium to list of standard plugins 2023-09-05 11:44:07 +08:00
Jake Dallimore 3ea06421de MDL-78258 libraries: update 3rd party libs xml for lti1p3 2023-09-05 11:41:29 +08:00
Jake Dallimore 8800487194 MDL-78258 libraries: upgrade lti1p3 to v5.4.1
This is required since we updated php-jwt to 6.8.1 in MDL-78249.
2023-09-05 11:41:29 +08:00
Andrew Nicols b3d8c1a862 Merge branch 'MDL-75268-master' of https://github.com/davewoloszyn/moodle 2023-09-05 11:39:41 +08:00
Andrew Nicols ba1093c973 Merge branch 'MDL-78865' of https://github.com/danmarsden/moodle 2023-09-05 11:28:30 +08:00
Andrew Nicols bbfa50946e Merge branch 'MDL-79253-master' of https://github.com/junpataleta/moodle 2023-09-05 11:25:26 +08:00
Andrew Nicols 4e5ce1469c Merge branch 'MDL-79060-master' of https://github.com/junpataleta/moodle 2023-09-05 11:23:46 +08:00
Jun Pataleta 4aeada159d MDL-79060 course: Deprecate unused aria:courseimage lang string 2023-09-05 11:12:18 +08:00
Jun Pataleta 40da6b8f0c MDL-79060 course: Use course name for the course image link 2023-09-05 11:10:13 +08:00
Andrew Nicols ce4d696004 Merge branch 'MDL-79230' of https://github.com/paulholden/moodle 2023-09-05 10:56:28 +08:00
Ilya Tregubov cbe667fe66 Merge branch 'MDL-78744-master' of https://github.com/roland04/moodle 2023-09-05 10:54:52 +08:00
Andrew Nicols ee81bfabe8 Merge branch 'MDL-77061' of https://github.com/dravek/moodle 2023-09-05 10:53:19 +08:00
Andrew Nicols 1e6e9052ba Merge branch 'MDL-79236' of https://github.com/paulholden/moodle 2023-09-05 10:40:53 +08:00
Andrew Nicols 2c830e04eb Merge branch 'MDL-79237' of https://github.com/paulholden/moodle 2023-09-05 10:35:19 +08:00
Andrew Nicols 4e5510fcd7 Merge branch 'MDL-79238' of https://github.com/paulholden/moodle 2023-09-05 10:34:57 +08:00
Andrew Nicols 146a410d3a Merge branch 'MDL-78946' of https://github.com/paulholden/moodle 2023-09-05 10:34:40 +08:00
Andrew Nicols 0d6650a928 Merge branch 'MDL-79191' of https://github.com/paulholden/moodle 2023-09-05 10:32:48 +08:00
Andrew Nicols 67bf116bfc Merge branch 'MDL-79088-master' of https://github.com/marinaglancy/moodle 2023-09-05 10:28:46 +08:00
Jun Pataleta b5b63270c5 MDL-78549 qtype_multianswer: Configure feedback popover trigger via JS
* For some reason, the `data-trigger="hover focus"` does not work when
rendering the popover via HTML. It just defaults to click, so the
feedback popover for qtype_multianswer questions does not show on hover.
Configuring the feedback popover's trigger via JS seems to work.
2023-09-05 09:34:33 +08:00
AMOS bot 2280913817 Automatically generated installer lang files 2023-09-05 00:11:57 +00:00
Rajneel Totaram 54b6d9621b MDL-76419 calendar: Respect $CFG->autologinguests on frontpage 2023-09-05 10:44:03 +12:00
Paul Holden d0051760e5 MDL-78728 forms: correctly refer to outermost form element.
Read-only forms do not belong to a <form> element, so we can't refer
to that. Instead find the `.mform` element (which exists for regular
and read-only forms).
2023-09-04 16:33:51 +01:00
Andrew Nicols c550194bce Merge branch 'MDL-73734-streaming-output-api' of https://github.com/brendanheywood/moodle 2023-09-04 22:21:17 +08:00
Jun Pataleta 9392905d77 MDL-79253 mod_scorm: Require locallib when deleting SCORM instances 2023-09-04 21:24:11 +08:00
Marina Glancy 77d3c5b1b0 MDL-79088 navigation: add stoppable interface to navigation extend hook 2023-09-04 13:36:40 +01:00
Marina Glancy 906dfc2f50 MDL-79088 navigation: new hook to add items to site primary navigation 2023-09-04 13:36:40 +01:00
Paul Holden 4c02baa456 Merge branch 'MDL-79232-master' of https://github.com/marinaglancy/moodle 2023-09-04 11:38:09 +01:00
Paul Holden 08e66a5691 MDL-68435 customfield: fix plugin file serving callbacks.
Incorrect parameter/method call was previously serving files with
wrong filenames.
2023-09-04 10:45:16 +01:00
Mikel Martín bd7cc81be6 MDL-78744 completion: Split activity_information in completion and dates
Deprecate core_course\output\activity_information class and move its code to two
new classes: core_course\output\activity_completion and core_course\output\activity_dates.
In this process refactor activity_completion improving readability and and also deprecate
renderer_base::activity_information() and core_course_renderer::render_activity_information().
2023-09-04 11:37:20 +02:00
Mikel Martín d9a61945b6 MDL-78972 core_courseformat: Change delete actions link colours to red 2023-09-04 11:36:51 +02:00
Mikel Martín bb3dca93db MDL-78972 theme_boost: Add dropdown item colour styles
- Create a new SCSS file for dropdown related styles
- Move current dropdown styles from core.scss to new dropdown.scss
- Add helper classes for dropdown item colouring
2023-09-04 11:36:51 +02:00
Jun Pataleta 3492efae57 MDL-79250 admin: Add title to external_content_banner template 2023-09-04 16:53:02 +08:00
Huong Nguyen 7c6df5d2fd Merge branch 'MDL-79248-master' of https://github.com/andrewnicols/moodle 2023-09-04 12:32:37 +07:00
Andrew Nicols c5227b336f MDL-79248 mod_quiz: Behat scenario interacts incorrectly with select
This test was using the click operator to select an option value, rather
than selecting the value with form field steps.

In addition I found that sometimes the way in which a WS is used to
make the change before a refresh leads to a random failure if the page
navigation happens too slowly.
2023-09-04 11:57:04 +08:00
Andrew Nicols 7c952f1d13 MDL-79246 gradingform_rubric: Use i_click_on for behat clicks 2023-09-04 09:11:26 +08:00
Philipp Memmel c9398e27f2 MDL-78795 core_form: Fix repeated elements JS problem
Co-authored-by: Stefan Hanauska <stefan.hanauska@csg-in.de>
2023-09-03 14:12:30 +02:00
Juan Leyva eeff6d4c05 MDL-79242 tool_mobile: Pass site as installation referrer for the app 2023-09-02 18:12:25 +02:00
Paul Holden f01b902d7e MDL-79237 tiny_noautolink: define help link text language string. 2023-09-02 11:08:45 +01:00
Paul Holden 34bc525c9f MDL-79238 tool_mfa: define factor sub-plugins as standard. 2023-09-02 11:07:57 +01:00
Paul Holden 21ba055889 MDL-78946 tool_mfa: define factor subplugin type language strings. 2023-09-02 11:07:01 +01:00
Eloy Lafuente (stronk7) d2b6a1b7f3 MDL-76459 dml: Remove other remaining harcoded uses of old 28 & 30
Let's require lib/ddllib.php and use the constant properly,
so we don't need to go searching for cases in future changes.

They are a hand of files, but already are included often each
time the database manager is included. Possible alternative
for this, if we want to reduce the number of included files
is to move the constants to xmldb_constants and only include
that file, but I don't think that makes much sense.

Also, fix the xmldb schema definition to validate table and
column names with the new allowed lengths.
2023-09-02 09:22:13 +02:00
Eloy Lafuente (stronk7) 8996ee0eaa MDL-76459 oracle: Remove the 2-chars prefix limit
Now Oracle can use longer table names, like all the
other databases, and the very same 10 characters limit
for $CFG->prefix applies.

As far as it's already checked by the environmental checks
we don't need to verify anything in the driver any more.

Also, deprecate the prefixtoolong,error string. I was tempted
to straight delete it but imagined some custom database driver
extending the core one so, it doesn't harm much to keep it as
deprecated some time.
2023-09-02 09:22:13 +02:00
Eloy Lafuente (stronk7) 227ed030e9 MDL-76459 xmldb: Add environmental check to verify $CFG->prefix
While, right now, sites using long (> 10 chars) $CFG->prefix
can continue working (because we still don't have any table
> 28 chars), as soon as some new table with long name is added,
it won't work with PostgreSQL anymore (if the 63 limit is raised).

Hence, this environmental check will verify on both install and
upgrade that the $CFG->prefix is always <= 10 chars.

Sites with longer prefixes will need to rename all their tables
(and maybe other objects, depending on the dbtype) to use a shorter
prefix.
2023-09-02 09:22:13 +02:00
Eloy Lafuente (stronk7) 8dc3486a04 MDL-76459 xmldb: Raise the table & column length limits
With Oracle 19 being the minimum version for Moodle >= 4.1, now
we can safely raise the table and column length limits by a
considerable amount.

In both tables and columns the new limit it 63, coming from PostgreSQL,
that is the one now having the more restrictive limit.

1) NP with columns, let's allow up to 63 ascii chars (bytes) there.
2) But, for table names, now we need to specify a maximum prefix length,
   to know how many chars we leave remaining for table names (without
   prefix). 63 - 10 (max prefix length) = 53 ascii chars (bytes).

So, in this patch, we are introducing a new constant:

xmldb_table::PREFIX_MAX_LENGTH = 10

That will be used to:
- Validate that we aren't using a prefix longer than it.
- Calculate the final table limit that will be 63 minus
  the prefix max length.

Details added to 4.2 main upgrade.txt file.

Also, update related to tests to (near) always use the constants
so they won't need modification in the future.
2023-09-02 09:22:13 +02:00
Andrew Nicols 206c3a66e7 weekly release 4.3dev+ 2023-09-02 08:18:19 +08:00
Andrew Nicols 39d15d121a NOBUG: Fixed SVG browser compatibility 2023-09-02 08:18:16 +08:00
Paul Holden 0bbc8922d8 MDL-79236 editor_tiny: define subplugin type language strings. 2023-09-01 19:21:41 +01:00
Mark Johnson 4f07ff98f4 MDL-72321 question bank: Only update edit switch URL if present 2023-09-01 23:43:20 +08:00
Mark Johnson 4b160a7c7b MDL-72321 datafilter: Stop disabling jointype field
This was causing behat test failures due to the test trying to
set the disabled jointype field before the filter type was selected.
2023-09-01 23:43:20 +08:00
Paul Holden ec0ef091f6 MDL-79230 editor_tiny: fix plugin info manage URL.
Co-authored-by: Meirza <meirza.arson@moodle.com>
2023-09-01 15:19:35 +01:00
Marina Glancy 2fe212abcd MDL-79232 navigation: fix undefined var warning 2023-09-01 14:20:29 +01:00
David Woloszyn ec5cb56c3b MDL-78255 lib: Set Moodle files after emoji-data upgrade 2023-09-01 19:01:36 +10:00
David Woloszyn ce706f4c3e MDL-78255 lib: Upgrade emoji-data to 15.0.1 2023-09-01 19:01:04 +10:00
Andrew Nicols 7d6ed82571 Merge branch 'mdl-79204-master' of https://github.com/james-cnz/moodle 2023-09-01 11:58:51 +08:00
Andrew Nicols 34d5e85fb7 Merge branch 'MDL-79108-master' of https://github.com/sarjona/moodle 2023-09-01 11:55:59 +08:00
Huong Nguyen 7ff9b73f77 Merge branch 'MDL-74828-master' of https://github.com/andrewnicols/moodle 2023-09-01 10:53:38 +07:00
Andrew Nicols 39367921b0 Merge branch 'MDL-78930-master' of https://github.com/sarjona/moodle 2023-09-01 11:46:15 +08:00
Huong Nguyen af31bedf16 Merge branch 'MDL-76092-master' of https://github.com/andrewnicols/moodle 2023-09-01 10:41:18 +07:00
Andrew Nicols 2e58ae5c03 Merge branch 'MDL-78966-master' of https://github.com/rjnl/moodle 2023-09-01 11:31:17 +08:00
Huong Nguyen bf1568ae1e Merge branch 'MDL-79042-master' of https://github.com/andrewnicols/moodle 2023-09-01 10:28:54 +07:00
Andrew Nicols 0235a368da Merge branch 'MDL-78179-master' of https://github.com/sarjona/moodle 2023-09-01 11:25:22 +08:00
Ilya Tregubov 42aff47fff Merge branch 'MDL-74429-master' of https://github.com/roland04/moodle 2023-09-01 11:15:09 +08:00
Andrew Nicols 5aadac88be Merge branch 'MDL-79190-master' of https://github.com/jbs1/moodle 2023-09-01 11:12:55 +08:00
Matt Porritt 227a2f8e9c MDL-79051 Authentication: MFA Improve email template
Improve the layout, display and information architecture of
the email sent that contains the code for the email MFA factor.
2023-09-01 10:09:54 +07:00
Ilya Tregubov e90d73974a Merge branch 'MDL-79198-master' of https://github.com/junpataleta/moodle 2023-09-01 11:03:22 +08:00
Andrew Nicols c81e889a8d Merge branch 'MDL-77979-master' of https://github.com/meirzamoodle/moodle 2023-09-01 11:00:59 +08:00
Ilya Tregubov 9bf3e5a893 Merge branch 'MDL-78745-master' of https://github.com/meirzamoodle/moodle 2023-09-01 10:52:26 +08:00
Andrew Nicols 9366a7cf2d Merge branch 'MDL-79045-master' of https://github.com/junpataleta/moodle 2023-09-01 10:46:34 +08:00
Andrew Nicols 07dbcc0103 Merge branch 'MDL-77831-master' of https://github.com/mickhawkins/moodle 2023-09-01 10:37:41 +08:00
meirzamoodle 9526b815f5 MDL-77979 tiny_noautolink: Add the noautolink plugin to the quickbar
Modified the addQuickbarsToolbarItem function on the util to make the additional toolbar item work.
2023-09-01 09:36:42 +07:00
meirzamoodle f26b42d000 MDL-77979 tiny_noautolink: Add a TinyMCE noautolink plugin 2023-09-01 09:36:14 +07:00
Ilya Tregubov 9d4dba81b7 Merge branch 'MDL-79202' of https://github.com/paulholden/moodle 2023-09-01 10:29:41 +08:00
Andrew Nicols 3b167a177b Merge branch 'MDL-79102-master' of https://github.com/sarjona/moodle 2023-09-01 10:15:19 +08:00
Andrew Nicols 47cc73fe1a MDL-72321 question: Ensure that all instance props are defined
Since PHP 8.2, all properties on a class must be defined as the PHP
Dynamic Property feature has been deprecated.

This commit goes one step further and switches this class to using
constructor property promotion. This language feature has been available
since PHP 8.0 and allows for simplified creation of class properties
which are initially defined in the constructor.
2023-09-01 09:52:33 +08:00
Andrew Nicols b36bc08686 Merge branch 'MDL-79144-master' of https://github.com/marinaglancy/moodle 2023-09-01 09:39:28 +08:00
Ilya Tregubov c2dcd9ade8 Merge branch 'MDL-79107-master-2' of https://github.com/andrewnicols/moodle 2023-09-01 09:24:30 +08:00
Andrew Nicols 10525085a3 MDL-79107 editor_tiny: Target correct element on editor removal 2023-09-01 09:06:39 +08:00
Andrew Nicols 1ce54ee87e Merge branch 'MDL-72321_master-squashed' of https://github.com/marxjohnson/moodle 2023-08-31 23:02:35 +08:00
Paul Holden 28304c4045 MDL-79191 grade: correct column type for the grade column (float). 2023-08-31 15:12:45 +01:00
Nathan Nguyen d9a75f5315 MDL-72321 core: backup/restore filter condition 2023-08-31 15:00:39 +01:00
Nathan Nguyen e3bd166b3d MDL-72321 mod_quiz: Use new datafilters for random questions 2023-08-31 15:00:39 +01:00
Mark Johnson 823af3a8f1 MDL-72321 core_question: Replace old conditions with new datafilters 2023-08-31 15:00:39 +01:00
Mark Johnson d2f68abc89 MDL-72321 qbank_usage: Only load javascript if plugin is enabled 2023-08-31 15:00:38 +01:00
Nathan Nguyen 43866217da MDL-72321 qbank_comment: Only initialise javascript if plugin is enabled 2023-08-31 15:00:38 +01:00
Mark Johnson 6f2e91a169 MDL-72321 qbank_bulkmove: Rewrite unit test
This reduces code duplication and removes the dependency on
\core_question\local\bank\view from the test.
2023-08-31 15:00:38 +01:00
Mark Johnson 2e02264945 MDL-72321 core: Support disabled options in form-autocomplete
Autocomplete fields can now include disabled options in the suggestion
list. When calling .enchance() on a select list with disabled options,
those options will be added to the autocomplete suggestions with the
aria-disabled arribute set, and will not be selectable.

Datafilters using the autocomplete element can also hook into this by
including disabled options in their list of values.
2023-08-31 15:00:38 +01:00
Mark Johnson 7091a3210c MDL-72321 core: Allow datafilters to specify a subset of join types
A datafilter can now specify a subset of jointypes that it supports from
the default list of all, any or none. By default all options will be
available, but an individual filter can ovveride this to include just
those options that make sense for the filter. If only one option is
allowed, the select list will be hidden to simplify the UI.
2023-08-31 15:00:37 +01:00
Nathan Nguyen ef8c11328b MDL-72321 core: Add binary datafilter
This adds a new datafilter type which provides a single binary choice
(for example yes/no).
2023-08-31 15:00:37 +01:00
Paul Holden 17dae8a036 MDL-78917 webservice: extra data in exception for missing classpath.
Include the external function classname & methodname properties in
the thrown exception, to aid diagnostic.
2023-08-31 14:15:17 +01:00
Jun Pataleta 37aaae3b13 Merge branch 'MDL-79107-master' of https://github.com/junpataleta/moodle 2023-08-31 21:09:56 +08:00
Jun Pataleta 5df9996f60 MDL-79107 qtype_essay: Move non_form_fields.feature under qtype_essay 2023-08-31 20:46:11 +08:00
Andrew Nicols db23620cdb MDL-79107 editor_tiny: Inform Behat of field type 2023-08-31 20:36:32 +08:00
Jun Pataleta 2e7b5475a7 Merge branch 'MDL-79017' of https://github.com/paulholden/moodle 2023-08-31 20:32:17 +08:00
Michael Hawkins 76a0334c50 MDL-77831 core: Updated security.txt expiry and added additional info 2023-08-31 18:28:26 +08:00
Jun Pataleta a90a00d867 Merge branch 'MDL-77657-master-get_extra_scss_code-wrong-order' of https://github.com/danowar2k/moodle 2023-08-31 17:51:17 +08:00
Sara Arjona 3c831861ec Merge branch 'MDL-78530-master' of https://github.com/aanabit/moodle 2023-08-31 11:10:17 +02:00
Huong Nguyen d190ac7889 Merge branch 'MDL-56020-master' of https://github.com/jleyva/moodle 2023-08-31 15:38:50 +07:00
Amaia Anabitarte 4c4e2224e1 MDL-78530 core_completion: Remove $CFG->completiondefault setting 2023-08-31 08:40:24 +02:00
Amaia Anabitarte 1f68fe635f MDL-78530 core_completion: Use site default completion or none
When creating a new activity we should use course level default completion
and site level completion if there is no course level default completion.

For non defined default completion values use COMPLETION_TRACKING_NONE
instead of COMPLETION_TRACKING_MANUAL.
2023-08-31 08:40:24 +02:00
Amaia Anabitarte ded74e1e65 MDL-78530 core_completion: New default completion behat generator 2023-08-31 08:40:24 +02:00
Huong Nguyen b61422280c Merge branch 'MDL-79207-master' of https://github.com/andelacruz/moodle 2023-08-31 12:26:19 +07:00
Huong Nguyen a784f6186b Merge branch 'MDL-32278-master' of https://github.com/sammarshallou/moodle 2023-08-31 10:46:41 +07:00
Huong Nguyen ee45e0cbef MDL-78907 mod_bigbluebuttonbn: Use the correct parameter type for id 2023-08-31 10:15:47 +07:00
Huong Nguyen 4062dfaafd Merge branch 'MDL-78907-master' of https://github.com/call-learning/moodle 2023-08-31 10:10:13 +07:00
Angelia Dela Cruz c792623feb MDL-79207 core_course: Behat coverage for activity and resource deletion 2023-08-31 09:39:38 +08:00
Jun Pataleta e3633dc719 MDL-79045 grade: Don't enclose grade user_heading in $OUTPUT->heading()
Do not enclose \core_grades_renderer::user_heading() in
$OUTPUT->heading() and enclose the user's name in the user heading in
<h2> tags instead.
- Having <div> inside <h2> results in errors in HTML validation.
- Enclosing the whole user heading in <h2> results in the other
elements in the user heading (Message, Add to contacts) to be announced
to screen readers which can result in confusion.
2023-08-31 09:21:41 +08:00
Ilya Tregubov d302f0dc01 Merge branch 'MDL-78597-master' of https://github.com/snake/moodle 2023-08-31 08:23:03 +08:00
Sara Arjona 2ec4ac7e4a Merge branch 'MDL-78612-master' of https://github.com/andrewnicols/moodle 2023-08-30 17:55:32 +02:00
Amaia Anabitarte e37e0c39e8 MDL-78530 core_completion: New site default activity completion page 2023-08-30 17:46:56 +02:00
Andrew Nicols c85cca3e33 MDL-78612 core: Wrap modal_factory.create in pendingPromise 2023-08-30 12:41:37 +08:00
meirzamoodle a164fc5317 MDL-78745 editor_tiny: Stored text in non-entity form
TinyMCE has a default entity_encoding 'named',
which causes text with diacritic symbols to be converted to HTML entities,
e.g. pâté will be convert to p&acirc;t&eacute;
That will be a problem with the Glossary auto-linking filter if a course has a text concept like pâté,
then the filter will likely fail to get the text concept.
Changing the TinyMCE entity_encoding to 'raw' will resolve the problem.
2023-08-30 08:56:26 +07:00
james-cnz ebe15965aa MDL-79204 course: Remove HTML tag trailing slashes 2023-08-30 12:21:14 +12:00
Paul Holden c3f53e4e39 MDL-79202 tool_mobile: correctly interpolate minutes in exception. 2023-08-30 00:04:58 +01:00
Jeremy Schulz 466a73b18c MDL-79190 theme_boost: removed obsolete comment 2023-08-29 17:10:43 -04:00
Sara Arjona a586bfbd95 Merge branch 'MDL-72359-master' of https://github.com/HuongNV13/moodle 2023-08-29 16:15:36 +02:00
Huong Nguyen a2866d6833 MDL-72359 core_analytics: Better handling of MAX_TIME
We are limited by both PHP's max int value and DB (cross-db) max int allowed.
We need to use the smallest one
2023-08-29 20:36:58 +07:00
Michael Hawkins d0c7834050 MDL-78619 communication_matrix: Unit test fix 2023-08-29 19:55:34 +08:00
Jun Pataleta 59fff99a94 MDL-79198 core: Increment static variable properly 2023-08-29 16:44:16 +08:00
Jake Dallimore a23abb0538 MDL-78597 mod_lti: fix those tests not using lti generators
The following were added in MDL-69489 and had a few issues, which are
fixed in this patch:
Unit tests:
- were not using the existing generator.
- were making assertions inside a foreach, which doesn't test anything
if the result set returned is empty (error prone).
- were calling setAdminUser() unnecessarily.
Behat tests:
- the restricttocategory.feature file used manual steps to setup site
tools.
2023-08-29 16:14:55 +08:00
Jake Dallimore c497672778 MDL-78597 mod_lti: add category restriction support to course tools list 2023-08-29 16:14:37 +08:00
Jake Dallimore 7cb2a78626 MDL-78597 mod_lti: add category restriction support to lti generator
This is already supported in lti_add_type, via the lti_coursecategories
config value, so all that's needed is to match the categories by
idnumber and pass through the resulting ids.
2023-08-29 16:14:37 +08:00
Jake Dallimore 5c737525d8 MDL-78597 mod_lti: Add test for manually configured instance editing
This adds a single scenario covering all the expected behavior for those
existing, manually configured tools. It also removes any tests dealing
with creation of manually configured instances, which is not supported
any more.
2023-08-29 16:14:11 +08:00
Jake Dallimore 9914870b7d MDL-78597 mod_lti: cover creation of course tools using cartridge URLs
This replaces the legacy scenario, which used the '+' on the activity
instance edit form, with a scenario covering the cartridge use on the
new course tools (LTI External tools) edit form.
2023-08-29 16:14:11 +08:00
Jake Dallimore dfd215cad2 MDL-78597 mod_lti: add cartridge support to course tool generator
Allow the generator to create course tools based on cartridge URLs.
2023-08-29 16:14:11 +08:00
Jake Dallimore 93707d8cf5 MDL-78597 mod_lti: deprecate mod/lti:addmanualinstance and lock config
This change:
- removes all uses of mod/lti:addmanualinstance and deprecates it.
- updates the activity instance edit form, specifically the way it deals
with existing manually-configured instances, removing the ability to
edit tool configuration and adding a notice to the user.
2023-08-29 16:14:11 +08:00
Andrew Nicols 8f9b3e1d52 Merge branch 'master_MDL-79134' of https://github.com/mattporritt/moodle 2023-08-29 13:32:46 +08:00
Ilya Tregubov b327210cd2 Merge branch 'MDL-78615' of https://github.com/paulholden/moodle 2023-08-29 13:32:46 +08:00
Huong Nguyen 84b62bb1a0 Merge branch 'MDL-72359-master' of https://github.com/andrewnicols/moodle 2023-08-29 13:32:45 +08:00
Jun Pataleta cc7bc1a553 Merge branch 'MDL-79064-master' of https://github.com/andrewnicols/moodle 2023-08-29 13:32:45 +08:00
Huong Nguyen 11c4a69ea9 Merge branch '78241-master-tiny-recordrtc-fix-availability-conditions' of https://github.com/DSI-Universite-Rennes2/moodle 2023-08-29 13:32:45 +08:00
Andrew Nicols 70f9c1c595 Merge branch 'MDL-78106-master' of https://github.com/kevpercy/moodle 2023-08-29 13:32:44 +08:00
Huong Nguyen c1e4bae8b6 Merge branch 'MDL-78961' of https://github.com/paulholden/moodle 2023-08-29 13:32:41 +08:00
Jake Dallimore d8e2067b66 MDL-78597 mod_lti: deprecate lti_get_lti_types_by_course()
This method includes broken legacy behaviour in which the inclusion of
course and site tools could be controlled independently, based on the
capabilities 'mod/lti:addmanualinstance' (to include course tools) and
'mod/lti:addpreconfiguredinstance' (to include site tools). This
behaviour is deprecated in 4.3, so this method is also deprecated. See
the replacement method types_helper::get_lti_types_by_course.
2023-08-29 13:14:15 +08:00
Jake Dallimore 7ca26f1460 MDL-78597 mod_lti: add \mod_lti\local\types_helper class
This will serve as a location to put new tool-type-centric methods.
2023-08-29 13:11:49 +08:00
Jake Dallimore afa44dd288 MDL-78597 core_course: fix content item tests covering get_all cases
Fixes two tests which use the lti module as an example of a core mod
implementing the 'get_all_content_items' callback. The setup of the mod
in these tests, including course and site tools, needed to be updated
in light of the removal of the 'external tool' content item.
2023-08-29 13:06:48 +08:00
Jake Dallimore 85679c47da MDL-78597 mod_lti: let content item callbacks obey preconfigured cap
Users without the 'mod/lti:addpreconfiguredinstance' capability won't be
able to see any mod_lti content items in the activity chooser.
Note: this patch doesn't address the underlying locallib method,
lti_get_lti_types_by_course(), which will be addressed elsewhere.
2023-08-29 13:06:48 +08:00
Jake Dallimore 5b01727107 MDL-78597 mod_lti: retain selected option when arranging into optgroups
Fixes a bug with YUI, resulting in the selected option not being set
properly again after the options have been reorganised into optgroups.
2023-08-29 13:06:48 +08:00
Jake Dallimore 6ed29fc35b MDL-78597 mod_lti: prevent manual instance use in edit form
This change ensures tool instances which are currently using
preconfigured tools (site or course level) are not able to be switched
back to use the manual 'Automatic, based on tool URL' option. That
option is reserved for legacy tool support of manual instances and
domain-matched site tools, but must not be selectable otherwise.
2023-08-29 13:06:48 +08:00
Jake Dallimore ca10084639 MDL-78597 mod_lti: remove the ability to add manual instances of tools
In summary:
- Remove the 'External tool' item from get_course_content_items()
hook, which results in its removal from the activity chooser.
- Remove the 'External tool' item from get_all_content_items() hook,
which results in its removal from the admin activity chooser
recommendations page.
- Prevent use of the edit_form for creation of new manual instances.
- Retain the ability to edit existing manual instances.
- Fix tests expecting external tool.
2023-08-29 13:06:48 +08:00
Jake Dallimore 36900136a8 MDL-78597 mod_lti: add instance creation to behat creatable entities
This allows behat tests which have already created either a site or
course tool type, to then link it to an activity instance using a
generator. This depends on the ability to name match a type.
2023-08-29 13:06:48 +08:00
Jake Dallimore 5862fe2607 MDL-78597 mod_lti: add full field support to course_tool_types generator
This method is used by behat only, where only a single arg is received.
The method lti_add_type() expects two params: type and config, but will
only ever receive one. This means not all the fields can be set when
creating an lti type. This change:
- Removes the superfluous param which the method won't receive
- Improves the logic for handling type and type config data, making it
match what happens when creating types via mforms.
- Adds relative URL support to the baseurl field, allowing behat
features to create types using local tool fixtures.
- Sets sensible default for missing config data, allowing the created
tool type to be used in launches in places like behat.
2023-08-29 13:06:48 +08:00
Jake Dallimore 7d1cd36e89 MDL-78597 mod_lti: add full field support to tool_types generator
This method is used by behat only, where only a single arg is received.
The method lti_add_type() expects two params: type and config, but will
only ever receive one. This means not all the fields can be set when
creating an lti type. This change:
- Removes the superfluous param which the method won't receive
- Improves the logic for handling type and type config data, making it
match what happens when creating types via mforms.
- Adds relative URL support to the baseurl field, allowing behat
features to create types using local tool fixtures.
- Sets sensible default for missing config data, allowing the created
tool type to be used in launches in places like behat.
2023-08-29 13:06:47 +08:00
Jake Dallimore b3ef113509 MDL-78597 mod_lti: set instance vars in mod_edit form
This introduces a form constructor and sets up instance vars for the
object there, allowing removal of the optional_param() calls in other
methods.
2023-08-29 13:06:47 +08:00
Jake Dallimore 8825c0a0fe MDL-78597 mod_lti: remove tool configuration usage for course tools
This change removes the 'Tool configuration usage' control for course
tools being edited via site admin. All course tools are, at a minimum,
considered to be preconfigured tools and are visible in the course.
The visibility of course tools in the activity chooser will be
controlled via the LTI External tools course page in future.
2023-08-29 13:06:46 +08:00
Jake Dallimore 8ed8b6e9b9 MDL-78597 mod_lti: make new course tools show in activity chooser
This will only impact newly created course tools, not existing tools.
Existing tools will be listed in the LTI External tools page and
teachers will be able to add them to the activity chooser from there.
2023-08-29 13:05:55 +08:00
Jake Dallimore 6f4555d31d MDL-78597 mod_lti: improve DB reads on coursetooledit page
This was hitting the lti_types table twice, via both lti_get_type and
lti_get_type_type_config. This change adds course to the stdClass
returned by the latter, so we can just make a single call to that.
This also permits the use of that course property in other places
where we'd like to have access to it, such as when editing a pre-
configured tool at site level.
2023-08-29 13:05:55 +08:00
Huong Nguyen 33d04612cd MDL-78509 tool_mfa: Improve PHPUnit for factor_cohort and factor_role 2023-08-29 10:39:58 +07:00
Huong Nguyen 83522d40d8 Merge branch 'MDL-78509-master' of https://github.com/stevandoMoodle/moodle 2023-08-29 10:38:27 +07:00
Andrew Nicols 5349b8aecf Merge branch 'MDL-79059-master-2' of https://github.com/junpataleta/moodle 2023-08-29 11:36:16 +08:00
Jun Pataleta b300c56a19 Merge branch 'MDL-79085' of https://github.com/paulholden/moodle 2023-08-29 11:29:43 +08:00
Andrew Nicols c9c1f1ce18 Merge branch 'MDL-79092-master' of https://github.com/rhell4/moodle 2023-08-29 11:22:03 +08:00
Andrew Nicols 3c459071e9 Merge branch 'MDL-79169-int-deprecate-m' of https://github.com/Peterburnett/moodle 2023-08-29 11:17:55 +08:00
Andrew Nicols 8b9cf9e422 Merge branch 'MDL-79150-requirelockingwrite' of https://github.com/brendanheywood/moodle 2023-08-29 11:16:22 +08:00
Andrew Nicols 14582ea452 Merge branch 'MDL-78855-master' of https://github.com/ilyatregubov/moodle 2023-08-29 11:15:02 +08:00
Ilya Tregubov 5dc60d9f94 MDL-78855 tool_uploadcourse: Create instance only if plugin supports it 2023-08-29 11:14:04 +08:00
Andrew Nicols fa05f66052 Merge branch 'MDL-74810-master' of https://github.com/junpataleta/moodle 2023-08-29 11:12:35 +08:00
Stevani Andolo 00db83d1bf MDL-78509 tool_mfa: Fixes based on the report and other issues
In this commit, there are couple of fixes based on the report:
1. Removed legacy polyfill from provider.php
2. Fixed phpunit warning detected by CodeChecker
3. Removed unused files
4. Fixed the PHPunit failures by removing "securityquestions"
   from the data_provider due to it has not been included as one of the factors
5. Added PHPunit test to the factors that can be unittested
6. Removed !important rule from tool_mfa/styles.css
7. Added (int) type to sleep method within sleep_timer method due to a php deprecation
in too_mfa/classes/manager.php
8. Changed last param form bool to string in not_enough_factors() when initiating
a new single_button object in tool_mfa/renderer.php
9. Add explanation text to login page
10. Fixed "Access to an undefined property .." from PHPStan
12. Fixed all the "Variable $.. might not be defined" from PHPStan
13. Fixed the issue from https://github.com/catalyst/moodle-tool_mfa/issues/379
2023-08-29 11:06:44 +08:00
Stevani Andolo 63d8cfcf87 MDL-78509 lib_webauthn: Moved webauthn to lib
It was suggested to move the WebAuthn library form
admin/tool/mfa/webauthn/.extlib to lib/webauthn
2023-08-29 11:06:44 +08:00
Stevani Andolo a639783409 MDL-78509 tool_mfa: Boarded the tool_mfa into core
In this patch the "commitid" of the "upstream" has been included in this
commit. Also, we did not include three factors, which are SMS, Security
Questions and Login Banner.

Co-authored-by: Peter Burnett <peterburnett@catalyst-au.net>
Co-authored-by: Misha Golenkov <golenkovm@gmail.com>
Co-authored-by: Brendan Heywood <brendan@catalyst-au.net>
Co-authored-by: Alex Morris <alex.morris@catalyst.net.nz>
Co-authored-by: Dan Marsden <dan@danmarsden.com>
Co-authored-by: Kevin Pham <kevinpham@catalyst-au.net>
Co-authored-by: Chris Pratt <tonyyeb@gmail.com>
Co-authored-by: Andrew Lyons <andrew@nicols.co.uk>
Co-authored-by: Tomo Tsuyuki <tomotsuyuki@catalyst-au.net>
Co-authored-by: Liam Kearney <https://github.com/LiamKearn>
Co-authored-by: Nicholas Hoobin <nicholashoobin@catalyst-au.net>
Co-authored-by: Scott Verbeek <scottverbeek@catalyst-au.net>
Co-authored-by: nomisge <https://github.com/nomisge>
Co-authored-by: Dmitrii Metelkin <dmitriim@catalyst-au.net>
Co-authored-by: Matthew Hilton <matthewhilton@catalyst-au.net>
Co-authored-by: Michael Geering <https://github.com/dryj>
Co-authored-by: alphadijkstra <https://github.com/alphadijkstra>
2023-08-29 11:06:44 +08:00
Andrew Nicols af7719682d MDL-79064 core: Update all get_strings as uses 2023-08-29 10:57:54 +08:00
Andrew Nicols fe80eecc44 MDL-79064 core: Improve Native promise support
As we migrate to primarily using natives promises, we should make it
easier to use and consume them.

This change:
- updates core/str to add new methods for:
  - getString
  - getStrings
- accept Native promises into Modal setters
2023-08-29 10:57:06 +08:00
David Woloszyn aa179d77d8 MDL-77296 core: Record MoodleNet share progress 2023-08-29 11:26:23 +10:00
Paul Holden b52132d09d MDL-78961 admin: correct smtppass preset configuration name. 2023-08-28 22:32:56 +01:00
Paul Holden cfa1997b5a MDL-79085 tool_mobile: give visible name to autologouttime config. 2023-08-28 22:23:50 +01:00
Sara Arjona a52f94b754 Merge branch 'MDL-78980' of https://github.com/paulholden/moodle 2023-08-28 16:56:22 +02:00
Sara Arjona 0bf13bcc9c Merge branch 'MDL-78747-master' of https://github.com/andrewnicols/moodle 2023-08-28 16:49:07 +02:00
Sara Arjona 31e9a68197 Merge branch 'MDL-78707' of https://github.com/paulholden/moodle 2023-08-28 16:40:47 +02:00
Charles Fulton 1af1cd3b49 MDL-79090 task: add enable and disable cli commands 2023-08-28 10:33:25 -04:00
Sara Arjona d02be922a0 Merge branch 'MDL-78656' of https://github.com/paulholden/moodle 2023-08-28 16:29:45 +02:00
Brendan Heywood ede64f3338 MDL-69958 auth: Handle well-known/change-password requests 2023-08-28 23:57:22 +10:00
Juan Leyva 41d82de0d1 MDL-56020 search: New WS core_search_get_top_results 2023-08-28 15:48:18 +02:00
Juan Leyva f14c521905 MDL-56020 search: New WS core_search_get_search_areas_list 2023-08-28 15:48:18 +02:00
Juan Leyva 7d3477bfec MDL-56020 search: New WS core_search_view_results 2023-08-28 15:48:18 +02:00
Juan Leyva 325ef8095e MDL-56020 search: Return global search settings 2023-08-28 15:48:18 +02:00
Juan Leyva f94e1ef3c9 MDL-56020 search: Adapt code to new style and add tests 2023-08-28 15:48:17 +02:00
David Monllao 49e589445d MDL-56020 search: Adding get_results external function 2023-08-28 15:47:01 +02:00
Brendan Heywood 20b8f8f9c9 MDL-73734 core: Use streaming output for perfdebug 2023-08-28 22:48:59 +10:00
Brendan Heywood 072a15ced3 MDL-73734 tool_generator: Use streaming output api 2023-08-28 22:48:59 +10:00
Brendan Heywood a6055feebf MDL-73734 course: Use streaming output api when deleting courses 2023-08-28 22:48:59 +10:00
Sara Arjona f3777037d7 Merge branch 'MDL-79118' of https://github.com/paulholden/moodle 2023-08-28 14:37:36 +02:00
Sara Arjona d52ea4c037 Merge branch 'MDL-78749-master' of https://github.com/BruceGoodGuy/moodle 2023-08-28 14:26:02 +02:00
Brendan Heywood 9a8fccbabc MDL-73734 tool_httpreplace: Use streaming output api 2023-08-28 22:08:08 +10:00
Brendan Heywood d5860ac566 MDL-73734 tool_customlang: Use streaming output api 2023-08-28 22:08:08 +10:00
Brendan Heywood 442f18a92d MDL-73734 tool_task: Use streaming output api 2023-08-28 22:08:08 +10:00
Brendan Heywood b18c503241 MDL-73734 output: Add streaming output api
This adds a new output method which enables a page to fully render a complete
html page and then keep the connection open and stream additional content into
an element anywhere in the document. This enables pages which take some time to
render cleanly without layout bugs and reduces layout shift issues and was
inspired by Facebook BigPipe.
2023-08-28 22:08:08 +10:00
Paul Holden dae1dcc8ae MDL-78835 group: include custom fields in related report entities. 2023-08-28 13:55:59 +02:00
Sara Arjona 67f225429b Merge branch 'MDL-78248' of https://github.com/paulholden/moodle 2023-08-28 13:52:50 +02:00
Sara Arjona 9be5196ea1 MDL-78930 filetypes: Add MIME for PSD and JSON icon
- The PSD icon has been there all this time, but no MIME type was using it.
A new MIME has been added (image/vnd.adobe.photoshop) for the .psd files.
The MIME type for existing PSD files will be also upgraded.

- A new JSON icon has been added. It will be used by the JSON, CSS and SCSS
MIME types.
2023-08-28 13:42:55 +02:00
Sara Arjona 610a70f026 MDL-79108 completion: Display the correct message in default settings 2023-08-28 13:32:15 +02:00
Sara Arjona b6715a7dda MDL-79102 forms: Add uniqueid var to avoid duplicated ids
A new static variable, $uniqueid, has been introduced to the
moodleform class. This enhancement allows for the simultaneous
presence of multiple forms with distinct IDs for action buttons
on a single page, thereby mitigating the accessibility concern
associated with duplicated IDs.
2023-08-28 13:30:39 +02:00
Huong Nguyen 59bed31f53 Merge branch 'master_MDL-67390' of https://github.com/mattporritt/moodle 2023-08-28 16:21:35 +07:00
Jun Pataleta be35034f1c Merge branch 'MDL-76974' of https://github.com/paulholden/moodle 2023-08-28 17:03:27 +08:00
Jun Pataleta ec90b342da MDL-74810 core: get_time_interval_string() improvements
* Add parameter to drop zero time units. So a time interval like
  "3d 0h 0s" will be returned as "3d" only.
* Add parameter to display full format for time units. E.g. Instead of
  "3d 2h", it will be returned as "3 days 2 hours"
* Deprecate unused dateintervaldayshoursmins langconfig string.
2023-08-28 16:40:36 +08:00
Jun Pataleta 81ea8ad220 Merge branch 'MDL-61811-master_enrol_manual_notifyall_not_updating' of https://github.com/vtos/moodle 2023-08-28 16:08:53 +08:00
Ilya Tregubov 27e74b08c2 Merge branch 'MDL-79139' of https://github.com/paulholden/moodle 2023-08-28 15:39:53 +08:00
Ilya Tregubov ccaa0c7143 Merge branch 'MDL-67186_master_v2' of https://github.com/TomoTsuyuki/moodle 2023-08-28 15:20:47 +08:00
Jun Pataleta ae42728bb9 Merge branch 'MDL-74679-master' of https://github.com/whuml/moodle 2023-08-28 11:51:37 +08:00
Laurent David 23caba90bd MDL-78907 mod_bigbluebuttonbn: Get cm when necessary
* The constructor of mod_bigbluebuttonbn\instance was provided with a cm_info.
This forced us to retrieve it whenever we created an instance. The issue is that
sometimes we need all the "other" data but not necessarily the cm_info.
So we now lazy load it.
2023-08-28 05:45:17 +02:00
Laurent David fdaa738bb5 MDL-78907 mod_bigbluebuttonbn: Refactor instance class
* Make the constructor private as it should only be instancied through
static methods
* Do not duplicate the code between get_from_instanceid,
get_from_cmid and get_all_instances_in_course
2023-08-28 05:45:17 +02:00
Matt Porritt 4b556a6840 MDL-79134 Backup: Deprecate MD5 for included user passwords
Prevent backups containing legacy MD5 hashed user passwords
from being added back into the database. Hashes are converted
to random SHA512 hashed passwords upon restore for these backups.
2023-08-28 13:39:42 +10:00
Jun Pataleta 08fd13f79f Merge branch 'MDL-79093-master' of https://github.com/sarjona/moodle 2023-08-28 10:17:35 +08:00
David Woloszyn 585fd545ae MDL-75268 tiny_premium: Add Tiny Premium plugin
As a first round of support for Tiny Premium, plugins with minimal
config have been included for sites with a valid Tiny Cloud API key.
2023-08-28 12:06:06 +10:00
David Woloszyn cd064a40eb MDL-75268 editor_tiny: Add items after specified node 2023-08-28 12:06:06 +10:00
Kevin Percy 3f9dd2f210 MDL-78106 gradereport_grader: Force direction when clicking sort arrow 2023-08-28 10:03:10 +08:00
Kevin Percy a9ea85a15d MDL-78106 gradereport_grader: Fixed sort arrow size in grader report 2023-08-28 10:00:15 +08:00
Michael Hawkins d0fe8d4c21 MDL-78619 theme: Communication button fixes
The footer button was missing some CSS to factor in the blocks drawer.
Also added noreferrer to the window.open call made when clicking the
communication button, to avoid the risks associated with opening in
_blank without removing access to the referrer and opener (noopener is
implicitly defined in modern browsers when noreferrer is set).
2023-08-27 23:10:16 +08:00
Michael Hawkins a3fa3e3fc1 MDL-78619 communication_customlink: Implement custom link provider 2023-08-27 23:10:16 +08:00
Michael Hawkins bfbb314e2f MDL-78619 communication: De-couple room & user management and API fix
Management fix: Although rooms and room users are implemented as
separate provider interfaces, there were still assumptions that
adding/removing rooms would require user handling. Where room_provider
was implemented but room_user_provider was not, that would then result
in either unnecessary ad-hoc tasks, or tasks failing with errors. Now,
checks are in place to avoid these scenarios.

API fix: Previously save_form_data() was being called on the old
provider instead of the newly enabled one, so when switching between
providers the settings would not be correctly applied and the provider
may not function. Now, the object is reloaded and the data is saved correctly.
2023-08-27 23:06:22 +08:00
Michael Hawkins cdf17eb7d5 MDL-78619 behat: Add wwwroot transformation
This will replace #wwwroot# with the value of the wwwroot config.
This is useful where a FQDN within the test instance is required.
2023-08-27 23:06:22 +08:00
dor 940048e8c2 MDL-74828 media_videojs: fix loading icon position for RTL 2023-08-27 16:54:09 +08:00
Andrew Nicols 92117d2bed MDL-79042 filter_mathjax: Notify on render completion 2023-08-26 20:51:39 +08:00
Andrew Nicols e7b5d97c9a MDL-78747 communication_matrix: Correct table name
Note: This feature is currently master-only, and alpha. I have therefore
decided not to migrate data and am just dumping and re-crating the
table.
2023-08-26 14:46:53 +08:00
Jun Pataleta 9bfcd77d51 on-demand release 4.3dev+ 2023-08-26 11:04:43 +08:00
Jun Pataleta d6f6443993 NOBUG: Fixed file access permissions 2023-08-26 11:04:43 +08:00
Jun Pataleta e6dd60f845 NOBUG: Fixed SVG browser compatibility 2023-08-26 11:04:41 +08:00
Jun Pataleta f3c2b6a93a Merge branch 'install_master' of https://git.in.moodle.com/amosbot/moodle-install 2023-08-26 11:04:40 +08:00
Jun Pataleta 896d5fd05a MDL-79059 core: Use full name as alt text for user picture links
When the user picture is being rendered as a link but the user's full
name is not being included in the link and the alt text turns out to be
empty, we could end up with a link without a discernible text. This is
an accessibility issue that will affect screen reader users. If this is
the case, use the full name as the user picture's alt text.
2023-08-26 10:39:05 +08:00
Jun Pataleta f9c46d0026 MDL-79059 mod_data: Enclose preset options within a fieldset
Enclosing the radio buttons in a fieldset to provide additional context
to the purpose of the fields.
2023-08-26 10:39:05 +08:00
Jun Pataleta 59d5458c7f MDL-79059 mod_data: Fix presets accessibility issues
* Add sr-only column headers for the select and actions columns.
* Define unique IDs for the preset name links using array indices.
* Label the radio buttons via aria-labelledby attribute pointing to
the ID of the preset's link.
2023-08-26 10:39:04 +08:00
Sara Arjona 4f558e3ec3 Merge branch 'MDL-78291-fix' of https://github.com/sarjona/moodle 2023-08-25 19:25:58 +02:00
Sara Arjona 8a40192a84 MDL-78291 behat: Fix behat tests with subpanels 2023-08-25 18:48:14 +02:00
Julien Boulen 57bdedcbe7 MDL-78241 tiny_recordrtc: fix availability conditions 2023-08-25 18:16:28 +02:00
Marina Glancy 4d5c4b471d MDL-79144 hooks: allow hooks to return tags 2023-08-25 13:53:09 +01:00
David Carrillo f0770658fb MDL-77061 badge: Convert "Manage badges" page to use Report Builder
- Manage badges page is now a Report Builder system report to show
the list of site and course badges.
2023-08-25 12:12:37 +02:00
Andrew Nicols eb0b3669c1 MDL-77443 tool_monitor: Simplify placeholder replacement 2023-08-25 16:21:45 +08:00
Stefan Hanauska 42f5b8f450 MDL-77443 tool_monitor: Add course and activity name 2023-08-25 16:21:44 +08:00
Huong Nguyen 394dbffc24 Merge branch 'MDL-79039-master' of https://github.com/andrewnicols/moodle 2023-08-25 14:25:19 +07:00
Andrew Nicols 0c782d8181 MDL-79039 filter_mathjax: Discard text nodes. MathJax can't process them 2023-08-25 14:25:48 +08:00
Sara Arjona e102db1cbc Merge branch 'MDL-78251-master-2' of https://github.com/andrewnicols/moodle 2023-08-25 07:48:13 +02:00
Andrew Nicols 5a811e48d9 MDL-78251 behat: Correct course profile editing resolvers 2023-08-25 13:25:42 +08:00
Huong Nguyen 15aaa09435 MDL-79039 mathjax: Fix variable names 2023-08-25 10:58:30 +07:00
Huong Nguyen 342192561e Merge branch 'MDL-79039-master' of https://github.com/NashTechOpenUniversity/moodle 2023-08-25 10:55:41 +07:00
Jun Pataleta 928ea71887 Merge branch 'MDL-78397' of https://github.com/paulholden/moodle 2023-08-25 11:52:57 +08:00
Jun Pataleta 0ce7bf539e Merge branch 'MDL-78386' of https://github.com/paulholden/moodle 2023-08-25 11:39:55 +08:00
Andrew Nicols 89223fa386 Merge branch 'MDL-79031-master' of https://github.com/NashTechOpenUniversity/moodle 2023-08-25 10:56:14 +08:00
Jun Pataleta 33c8754de9 Merge branch 'MDL-78579' of https://github.com/paulholden/moodle 2023-08-25 10:47:11 +08:00
Jun Pataleta 7b94cd0a4b Merge branch 'MDL-79079' of https://github.com/paulholden/moodle 2023-08-25 10:44:48 +08:00
hieuvu 52a7a71b93 MDL-79031 core_filter: Add new native filterContentRenderingComplete event 2023-08-25 09:36:20 +07:00
Jun Pataleta ac77df0ec7 Merge branch 'MDL-77988' of https://github.com/paulholden/moodle 2023-08-25 10:35:58 +08:00
Matt Porritt fc3fe7d329 MDL-67390 Authentication: Update password hashing to SHA-512
Update user password history tracking to use SHA-512 instead
of bcrypt.
2023-08-25 11:54:05 +10:00
Matt Porritt 07af783b9a MDL-67390 Authentication: Update password hashing to SHA-512
Replace the bcrypt password hashing algorithm with SHA-512.
Existing bcrypt hashes will be updated to SHA-512 when a user
logs in next. Support for old md5 hashes has been removed.
Any reamining md5 hashes are replaced with SHA-512 hashes
from strong random passwords.
2023-08-25 11:53:54 +10:00
Jun Pataleta cdcca40145 Merge branch 'MDL-79015-master-fix' of https://github.com/lameze/moodle 2023-08-25 09:52:25 +08:00
Simey Lameze 50ef8cdd3f MDL-79015 behat: make verification step more specific 2023-08-25 08:38:43 +08:00
Peter Burnett f2e0c35f52 MDL-79169 admin: Fix implicit int cast in maintenance warning 2023-08-25 10:35:46 +10:00
AMOS bot 5d7c0c7b41 Automatically generated installer lang files 2023-08-25 00:12:05 +00:00
Paul Holden c1a3e17a0b MDL-78248 libraries: upgrade to version 4.4.0 of ChartJS. 2023-08-24 17:22:09 +01:00
Andrew Nicols b29b6649fc Merge branch 'MDL-79075-attempt_reviewed' of https://github.com/leonstr/moodle 2023-08-25 00:15:30 +08:00
Andrew Nicols 9bacc7efd8 Merge branch 'MDL-79063-master' of https://github.com/junpataleta/moodle 2023-08-25 00:11:05 +08:00
Andrew Nicols 2c519fab2e Merge branch 'MDL-79073' of https://github.com/paulholden/moodle 2023-08-25 00:06:24 +08:00
Andrew Nicols 5ed90fe39f Merge branch 'MDL-61165-master-fix' of https://github.com/junpataleta/moodle 2023-08-25 00:04:06 +08:00
Andrew Nicols 339f36fae2 Merge branch 'MDL-78811-Master' of https://github.com/aydevworks/moodle 2023-08-25 00:02:13 +08:00
Andrew Nicols 4de7660341 Merge branch 'MDL-78787' of https://github.com/paulholden/moodle 2023-08-24 23:57:46 +08:00
Jun Pataleta da40dfa6b6 MDL-61165 mod_workshop: Bump version to remove legacy scheduled tasks
* We need to bump the plugin version in order for
\core\task\manager::reset_scheduled_tasks_for_component() to be run
and clear the removed legacy scheduled task.
2023-08-24 23:57:08 +08:00
Jun Pataleta bd057ca936 MDL-61165 mod_quiz: Bump version to clear removed legacy scheduled tasks
* We need to bump the plugin version in order for
\core\task\manager::reset_scheduled_tasks_for_component() to be run
and clear the removed legacy scheduled tasks.
2023-08-24 23:57:07 +08:00
Andrew Nicols 108ed280e8 Merge branch 'MDL-79147-master' of https://github.com/ferranrecio/moodle 2023-08-24 23:47:00 +08:00
Andrew Nicols 3667a702db Merge branch 'MDL-75802' of https://github.com/paulholden/moodle 2023-08-24 23:43:44 +08:00
Jun Pataleta 932306b447 Merge branch 'MDL-77917-master' of https://github.com/andrewnicols/moodle 2023-08-24 23:39:10 +08:00
Sara Arjona 556c286863 Merge branch 'MDL-78688' of https://github.com/paulholden/moodle 2023-08-24 17:35:03 +02:00
Andrew Nicols cb1607e62f Merge branch 'MDL-78741' of https://github.com/paulholden/moodle 2023-08-24 23:29:01 +08:00
Sara Arjona bd22b04d30 Merge branch 'MDL-78257' of https://github.com/paulholden/moodle 2023-08-24 17:26:57 +02:00
raortegar d6b8dd892c MDL-76034 mod_data: Add type definitions and return values
Type definitions and return values for methods get_field_class_name() and data_get_field()
2023-08-24 23:23:17 +08:00
Andrew Nicols d38c3dfc8e MDL-77917 communication_matrix: Topic must not be null
The Matrix space/room topic must always be a string. We should normalise
this on the way out of the API.
2023-08-24 23:19:38 +08:00
Sara Arjona f2af6c0fc2 Merge branch 'MDL-78249' of https://github.com/paulholden/moodle 2023-08-24 17:15:21 +02:00
Jun Pataleta 29ec472284 Merge branch 'MDL-53368-master-3' of https://github.com/HuongNV13/moodle 2023-08-24 22:51:26 +08:00
Sara Arjona 999fbc3bdd Merge branch 'MDL-75855' of https://github.com/paulholden/moodle 2023-08-24 16:49:34 +02:00
Sara Arjona a2bcc9f354 Merge branch 'MDL-78965-master' of https://github.com/andelacruz/moodle 2023-08-24 16:38:22 +02:00
Anupama Sarjoshi 597d28de44 MDL-79132 core_admin: Fix PHPUnit tests related to editors sorting 2023-08-24 15:30:49 +01:00
danghieu1407 436a403aef MDL-78874 accessibility: Improve descriptive text for check button 2023-08-24 20:45:56 +07:00
Mark Johnson e81a8381a8 MDL-72321 core: Allow datafilters to be marked required
Required datafilters cannot be removed. There will be no remove button
on the filter row, and the "Clear filters" button will ignore them.
2023-08-24 11:09:37 +01:00
Mark Johnson 1d64f468d1 MDL-72321 core: Allow custom filteroptions to be passed by datafilters
This allows datafilters to include additional fields other than the standard list of selected values.
For example they may wish to include an additional select or checkbox to change how the values are used in the resulting query.
2023-08-24 11:09:34 +01:00
Paul Holden 347810b07f MDL-75802 course: fix Behat scenario for bulk unenrolment. 2023-08-24 10:15:32 +01:00
Huong Nguyen 398bb78fa7 Merge branch 'MDL-78533' of https://github.com/paulholden/moodle 2023-08-24 15:35:14 +07:00
Huong Nguyen dc9b012d81 Merge branch 'MDL-78502' of https://github.com/paulholden/moodle 2023-08-24 15:29:37 +07:00
Huong Nguyen 7370b09777 Merge branch 'MDL-78302' of https://github.com/paulholden/moodle 2023-08-24 15:25:43 +07:00
Huong Nguyen 9e7d90cd04 MDL-53368 block_login: reCaptcha implementation 2023-08-24 15:18:34 +07:00
Huong Nguyen dcc351e61d MDL-53368 recaptcha: Implement compact display mode 2023-08-24 15:18:34 +07:00
Huong Nguyen 753fd18d1b MDL-53368 recaptcha: Fix invalid property call 2023-08-24 15:18:34 +07:00
Huong Nguyen 0cd29afb6f MDL-53368 core_auth: Implement reCaptcha on login page 2023-08-24 15:18:31 +07:00
Jun Pataleta 3f84386a4a Merge branch 'MDL-79015-master' of https://github.com/andelacruz/moodle 2023-08-24 15:52:58 +08:00
Angelia Dela Cruz c3e7065862 MDL-79015 mod_lesson: Behat coverage for lesson with access restriction 2023-08-24 15:45:16 +08:00
Ferran Recio e9bcfeecc8 MDL-79147 core: fix mustache_filesystem_loader load hint 2023-08-24 09:32:29 +02:00
Paul Holden ce1db1499d MDL-78741 files: context report entity data for path and parent.
Allows for better aggregation/grouping of file data by context tree.
2023-08-24 08:02:08 +01:00
Andrew Nicols 5a44292a05 Merge branch 'MDL-78291-master' of https://github.com/ferranrecio/moodle 2023-08-24 14:39:37 +08:00
Angelia Dela Cruz 0cd8ddaba3 MDL-78965 mod_quiz: Behat coverage for quiz with certainty-based marking 2023-08-24 14:37:59 +08:00
Ilya Tregubov 3e8a5c4277 Merge branch 'MDL-78062-master' of https://github.com/call-learning/moodle 2023-08-24 14:14:34 +08:00
Laurent David 79d368e453 MDL-78062 mod_bigblubuttonbn: Add backup for subplugin 2023-08-24 07:35:40 +02:00
Jun Pataleta 51df6abdc7 Merge branch 'MDL-78941-master' of https://github.com/andelacruz/moodle 2023-08-24 13:06:29 +08:00
Andrew Nicols 6d1bd4787f MDL-77917 communication_matrix: Use v1.7 upload content API
Version 1.7 of the Matrix API adds a new endpoint for uploading media.
`_matrix/media/v1/create` and adds a new path parameter to the existing
`_matrix/media/v3/upload` endpoint.
2023-08-24 11:59:30 +08:00
Andrew Nicols 914686bc5e MDL-77917 communication_matrix: Support server API versions
This commit brings in support for multiple versions of the Matrix
specification.

A Matrix server is compromised of a number of individually versioned API
endpoints, for example:

    /_matrix/client/v3/createRoom
    /_matrix/client/v3/rooms/:roomid/joined_members
    /_matrix/media/v1/create

The combination of a large number of these individually versioned
endpoints forms a Matrix Specification version.

For example:

* the /_matrix/media/v1/create endpoint was created for version 1.7 of the
  specification, and does not exist in earlier versions.
* in the future a new behaviour or parameter may be created for the
  `createRoom` endpoint and a new endpoint created at:

    /_matrix/client/v4/createRoom

A single server can support multiple versions of the Matrix
specification. The server declares the versions of the specification
that it supports using a non-versioned endpoint at
`/_matrix/client/versions`.

As a Matrix client, Moodle should:
* query the server version endpoint
* determine the combination of mutually supported Matrix specification
  versions
* create a client instance of the highest-supported version of the
  specification.

For example, if Moodle (Matrix client) and a remote server have the
following support:

```
Moodle:      1.1  1.2  1.3  1.4  1.5  1.6  1.7
Server:  r0  1.1  1.2  1.3  1.4  1.5  1.6
```

The versions in common are 1.1 through 1.6, and version 1.6 would be
chosen.

To avoid duplication and allow for support of future features more
easily, the Moodle client is written as:
* a set of classes named `v1p1` through `v1p7` (currently) which extend
  the `matrix_client` abstract class; and
* a set if PHP traits which provide the implementation for individual
  versioned endpoints.

Each client version then imports any relevant traits which are present
in that version of the Matrix Specification. For example versions 1.1 to
1.6 do _not_ have the `/_matrix/media/v1/create` endpoint so they do not
import this trait. This trait was introduced in version 1.7, so the
trait is included from that version onwards.

In the future, if an endpoint is created which conflicts with an
existing endpoint, then it would be easy to create a new client version
which uses the existing common traits, and adds the new trait.

Each endpoint is written using a `command` class which extends the
Guzzle implementation of the PSR-7 Request interface. This command
class adds support for easy creation of:
* path parameters within the URI
* query parameters
* body parameters

This is done to avoid complex patterns of Request creation which are
repeated for every client endpoint.
2023-08-24 11:59:25 +08:00
Huong Nguyen 95b0ea16f0 Merge branch 'MDL-69187' of https://github.com/paulholden/moodle 2023-08-24 10:38:13 +07:00
Huong Nguyen fd9dc16f85 Merge branch 'MDL-78934' of https://github.com/stronk7/moodle 2023-08-24 10:24:40 +07:00
Jun Pataleta 12e62d58b6 Merge branch 'MDL-61165-master' of https://github.com/andrewnicols/moodle 2023-08-24 11:22:15 +08:00
Jun Pataleta dfadf21e2f Merge branch 'MDL-77640-master-latest' of https://github.com/kevpercy/moodle 2023-08-24 10:23:17 +08:00
Angelia Dela Cruz 09ed13cdc9 MDL-78941 mod_quiz: Behat coverage for student flagging quiz questions 2023-08-24 10:13:36 +08:00
Ilya Tregubov 60693cd9b6 Merge branch 'MDL-77067' of https://github.com/paulholden/moodle 2023-08-24 09:59:58 +08:00
Huong Nguyen 9015554788 Merge branch 'MDL-78843-master' of https://github.com/lameze/moodle 2023-08-24 08:57:12 +07:00
Ilya Tregubov 3a761fd56e Merge branch 'MDL-76295' of https://github.com/paulholden/moodle 2023-08-24 09:54:21 +08:00
Ilya Tregubov e4a1ca2f34 Merge branch 'MDL-78630-master' of https://github.com/cameron1729/moodle 2023-08-24 09:46:47 +08:00
Ilya Tregubov 4bed4ea8f3 Merge branch 'MDL-71212-collapse-expand-all-sections-in-course-index-drawer' of https://github.com/stopfstedt/moodle 2023-08-24 09:22:23 +08:00
Brendan Heywood 482758b1df MDL-79150 cache: Improve requirelockingwrite error 2023-08-24 10:39:12 +10:00
Paola Maneggia aac6bfdf7a MDL-75802 user: Exclude current user from bulk unenrol operation 2023-08-23 22:05:19 +00:00
Paul Holden b9a5a3626e MDL-77067 reportbuilder: indicate when audiences are used in schedules.
Indicate in each audience card whether it's used as part of a report
schedule, and inform user again upon deletion of said audience.
2023-08-23 16:09:17 +01:00
Wolfgang Hummel e892d0bf92 MDL-74679 mod_forum: allows students to send Q&A forum post without dly 2023-08-23 16:57:21 +02:00
Paul Holden 33a63ca639 MDL-76295 reportbuilder: implement default datasource sorting.
Update all existing report sources to use the new default sorting
API from 064eccd4, updating existing tests to assert behaviour.
2023-08-23 15:32:50 +01:00
Shamim Rezaie b3c2a9fd15 Merge branch 'MDL-75318-master' of https://github.com/safatshahin/moodle 2023-08-24 00:21:04 +10:00
Sara Arjona 1d486cb100 Merge branch 'master_MDL-79066' of https://github.com/mattporritt/moodle 2023-08-23 22:15:42 +08:00
Sara Arjona 9cece94b69 Merge branch 'MDL-76982-master' of https://github.com/rjnl/moodle 2023-08-23 22:15:42 +08:00
Sara Arjona 6288ac9838 Merge branch 'MDL-65363-starred-courses-only-include-enroled-courses' of https://github.com/stopfstedt/moodle 2023-08-23 22:15:42 +08:00
Sara Arjona 31b0a9cfc7 Merge branch 'MDL-76902' of https://github.com/paulholden/moodle 2023-08-23 22:15:41 +08:00
Sara Arjona bf41b33259 Merge branch 'MDL-78251-master-2' of https://github.com/andrewnicols/moodle 2023-08-23 22:15:40 +08:00
Paul Holden db5c663fb9 MDL-76902 course: create categories datasource for custom reporting.
New report source based on the course category entity, joined to the
course, cohort and role assignment/user entities to provide data for
the reportbuilder editor.
2023-08-23 13:42:27 +01:00
Paul Holden 72df977729 MDL-79139 check: clarify default user role action text. 2023-08-23 13:25:31 +01:00
Paul Holden 8ca8c92f3c MDL-78397 course: update module name using API after duplicating.
This ensures that various ancillary tasks are also performed (such
as ensuring the gradebook item name matches).
2023-08-23 09:14:04 +01:00
Kevin Percy d5ece4bdbd MDL-77640 output: Fixed HTML validation for select_menu 2023-08-23 15:58:07 +08:00
Kevin Percy f7732a74e4 MDL-77640 gradebook: Updated behat for add items menu 2023-08-23 15:58:07 +08:00
Daniel Ziegenberg 7ff4626871 MDL-61165 core: Final deprecation and removal of legacy cron.
Following MDL-52846 this now finally deprecates and removes the
following classes:
- \core\task\legacy_plugin_cron_task.
- \mod_quiz\task\legacy_quiz_reports_cron
- \mod_quiz\task\legacy_quiz_accessrules_cron
- \mod_workshop\task\legacy_workshop_allocation_cron

Please, use the Task API instead:
https://moodledev.io/docs/apis/subsystems/task

This also removes the corresponding and specific to legacy cron strings
from mod_quiz and mod_workshop.

Following MDL-52846 this now finally deprecates and removes the
functions:
  - cron_execute_plugin_type()
  - cron_bc_hack_plugin_functions()

Please, use the Task API instead:
https://moodledev.io/docs/apis/subsystems/task

Signed-off-by: Daniel Ziegenberg <daniel@ziegenberg.at>
2023-08-23 15:52:52 +08:00
Huong Nguyen 4f30570699 Merge branch 'MDL-78884-master' of https://github.com/sarjona/moodle 2023-08-23 13:36:08 +07:00
Daniel Poggenpohl 079a5fa104 MDL-72359 core: Changed MAX_TIME from 9999999999 to PHP_INT_MAX
This prevents automatic casting from int to double on 32 bit systems
(which have a maximum for integers of 2147483647)

Whilst Moodle will not support 32-bit systems for much longer, this is
still worth doing to prevent future issues.
2023-08-23 14:34:32 +08:00
Andrew Nicols 956fd2bab5 MDL-76092 core_backup: Unit tests for convert_params_to_values 2023-08-23 14:19:05 +08:00
Sara Arjona 63886769dd MDL-79093 completion: Default activity completion order
Default completion settings page should order activities alphabetically by
display name (instead of internal name).
2023-08-23 07:36:55 +02:00
Sara Arjona f2199b5c2d MDL-78179 badges: Clean SESSION when user disconnect backpack
The token information was not being properly cleared from the $SESSION.
As a result, certain errors were occurring when users attempted to
reconnect within the same session.
2023-08-23 07:35:44 +02:00
Sara Arjona 026f377993 MDL-78884 theme: Update references to $icon.png
The *.png files in pix/f folder have been removed, so their references
need to be updated to use the proper SVG file or a different icon, as
happened with logo_uri for oauth2 services.
2023-08-23 07:33:58 +02:00
Sara Arjona 792c711e8a MDL-78884 pix: Remove invalid or deprecated MIME icons
The following MIME icons have been completely removed because they were
not used (they were probably added/kept by mistake):
    - clip-353 --> It was added in MDL-75362 by mistake.
    - edit
    - env
    - explore
    - folder-open
    - help
    - move
    - parent

Apart from removing these MIME icons, a PHPUnit test has been added to
guarantee MIME icons in pix/f are under control and they are only
added/removed when needed.
2023-08-23 07:33:56 +02:00
Sara Arjona 4ab210a823 MDL-78884 theme: Update styles to display new icons properly
- The default box for the icons has been increased from 50px to 52px.
That way, on the course page, the box for the icons has changed from
30px to 32px.
- The icon size has been increased from 16px to 24px on the main course
page and from 24px to 40px on the activity page.
2023-08-23 07:32:49 +02:00
Sara Arjona 07736ae9b7 MDL-78884 pix: Reduce MIME type icons, replacing them
In order to reduce the number of icons for the MIME types, a few
icons have been removed and replaced with their generic from
the existing ones:
- avi -> video
- base -> database
- bmp -> image
- html -> markup
- jpeg -> image
- mov -> video
- mp3 -> audio
- mpeg -> video
- png -> image
- quicktime -> video
- tiff -> image
- wav -> audio
- wmv -> video
2023-08-23 07:32:47 +02:00
Sara Arjona dd354b589a MDL-78884 pix: Replace MIME icons with new SVG files
The old xxxxxxx-yyy.png MIME icon files have been removed and replaced with
the new SVG files created by the UX team.

Special thanks to Sabina Abellán! :-)
2023-08-23 07:30:17 +02:00
Sara Arjona 7430208d56 MDL-78884 files: Deprecate size parameter for icons
The parameter $size of the following functions has been deprecated and is not used any more:
  - file_extension_icon
  - file_file_icon
  - file_folder_icon
  - file_mimetype_icon
  - mimeinfo_from_type
  - url_guess_icon

That way, the sized icons (xxxxxxx-yyy.png) can be removed and replaced by SVG, to make it easier
to keep them updated because once they are replaced, there will only be one single file for each
MIME icon.
2023-08-23 07:30:16 +02:00
Paola Maneggia d2279457f0 MDL-76092 core_backup: Fix PHP8.0 vulnerability convert_params_to_values 2023-08-23 12:21:48 +08:00
Huong Nguyen 20ddfc3aee Merge branch 'MDL-69489-patch' of https://github.com/ilyatregubov/moodle 2023-08-23 10:11:41 +07:00
Ilya Tregubov fac3395464 MDL-69489 mod_lti: Fix query condition
Missing parenthesis added
2023-08-23 10:53:31 +08:00
Ilya Tregubov 31f1b4f62c Merge branch 'MDL-69489-master' of https://github.com/jacdsouza/moodle 2023-08-23 09:35:56 +08:00
Paul Holden 36af5457dc MDL-78787 dml: native casting to char in SQL Server driver.
Ensure the same is used during concatentation to prevent truncation
of data, which was previously set at 255 characters per field.
2023-08-23 00:55:24 +01:00
Rossco Hellmans d0385ed705 MDL-79092 session: fix recentsessionlocks mutated session debugging
In write_close() call update_recent_session_locks() before setting
$sessionatclose so that it includes $SESSION->recentsessionlocks and
doesn't trigger the debugging in check_mutated_closed_session().
2023-08-23 09:29:34 +10:00
Paul Holden 28e1bd37d0 MDL-77988 dml: correct logic when dropping plugin tables.
Comparison of method void return within a conditional didn't make
sense, and the aforementioned method throws an exception on error
anyway which would halt execution.
2023-08-22 21:28:42 +01:00
Paul Holden 8fe1f83fe1 MDL-75855 reportbuilder: don't allow condition/filter duplication.
Custom reports shouldn't allow the same condition and/or filter
instance to exist more that once per report.
2023-08-22 18:47:33 +01:00
Paul Holden 9e68a02458 MDL-79118 output: account for empty node/current URL path element. 2023-08-22 17:55:43 +01:00
Paul Holden c19d9693e9 MDL-78656 output: display menu item titles in primary navigation.
Since custom menu items were merged into the primary navigation/more
menu as part of 56c34d71 and related work, the "title" attribute of
each custom menu item was lost.
2023-08-22 17:29:59 +01:00
Andrew Nicols 1e89462692 MDL-69187 core_file: Unit test for file_get_typegroup string types 2023-08-22 15:57:53 +01:00
Paul Holden b17ee6f4ad MDL-78249 libraries: upgrade to version 6.8.1 of PHP-JWT. 2023-08-22 15:27:13 +01:00
Paul Holden 3ca41c77e4 MDL-76902 reportbuilder: entity method for defining table join alias. 2023-08-22 15:16:31 +01:00
Sara Arjona cccc00954d on-demand release 4.3dev+ 2023-08-22 15:51:24 +02:00
Paul Holden b30245b3e2 MDL-76974 javascript: convert remaining uses of old preferences API.
Implement component preference definition callbacks, update JS code
to use the `core_user/repository` module instead of the now deprecated
API.
2023-08-22 14:43:34 +01:00
Paul Holden d096c60e0c MDL-76974 user: deprecate old method of setting user preferences.
The `M.util.set_user_preference` method (plus accompanying helpers)
are now deprecated, in favour of the `core_user/repository` module
to achieve the same.

Update current implementation to proxy calls to the new API ensuring
backwards compatibility, while emitting copious developer debugging.
2023-08-22 14:42:58 +01:00
Jackson D'souza 480114fc96 MDL-69489 mod_lti: Make LTI only available to specific course categories
* Add new table for LTI types course categories
* Update LTI add / update form to restrict tool availablily in selected course categories
* Bumped version
2023-08-22 12:53:07 +01:00
Paul Holden e66f04e61d MDL-69187 files: normalize retrieval of mimetypes from groups array.
Ensure that the following both return consistently, so that filepicker
form elements behave the same for each when defining "accepted_types":

    '.html, .txt'
    ['.html', '.txt']
2023-08-22 09:56:06 +01:00
Paul Holden 3b525fa234 MDL-79073 question: detect missing context when deleting question. 2023-08-22 09:41:15 +01:00
Ferran Recio fb796f9e37 MDL-78956 core_courseformat: swap bulk availability modal radio and icon 2023-08-22 10:07:37 +02:00
Jun Pataleta 47ca66a776 Merge branch 'MDL-78097-fix' of https://github.com/sarjona/moodle 2023-08-22 15:52:29 +08:00
Ferran Recio 174125dabc MDL-78291 core_courseformat: fix cm visibility behats 2023-08-22 09:39:13 +02:00
Ferran Recio ee2e084e89 MDL-78291 core_courseformat: availability in activity action menu 2023-08-22 09:39:13 +02:00
Sara Arjona bc67e79cc7 Merge branch 'MDL-78100-int' of https://github.com/Chocolate-lightning/moodle 2023-08-22 09:17:41 +02:00
Paul Holden f68e0b9d00 MDL-78386 search: specify correct parameter type for search area. 2023-08-22 08:11:56 +01:00
Mathew May 8237f98814 MDL-78100 gradereport_grader: Behat filter clicking 2023-08-22 14:30:57 +08:00
Sara Arjona 8db9d6dd02 MDL-78097 grade: Improve behat to add columns to compare with
Until MDL-75081 is fixed, you cannot assert table contents by specifying
just a single column.
2023-08-22 08:12:28 +02:00
Kevin Percy 4f9e931993 MDL-77640 gradebook: Moved add items to new tertiary nav dropdown 2023-08-22 11:50:34 +08:00
Jun Pataleta 9b2917f183 Merge branch 'MDL-78468-master' of https://github.com/meirzamoodle/moodle 2023-08-22 11:00:11 +08:00
Ilya Tregubov d7ad0f8711 Merge branch 'MDL-79089' of https://github.com/paulholden/moodle 2023-08-22 10:51:53 +08:00
Meirza 38a0173e61 MDL-78468 admin: Removed the configs while upgrading 2023-08-22 09:47:39 +07:00
Meirza 4cfa361e0a MDL-78468 admin: Removed devicedetectregex theme setting 2023-08-22 09:47:36 +07:00
Meirza 352e427520 MDL-78468 admin: Removed enabledevicedetection theme setting 2023-08-22 09:30:13 +07:00
Safat b31b060557 MDL-75318 core: Behat coverate for sharing course to MoodleNet 2023-08-22 11:00:06 +10:00
Safat 37266f177c MDL-75318 core: Add navigation for sharing course to MoodleNet 2023-08-22 11:00:06 +10:00
Safat 4b9438431e MDL-75318 core: JS updates for sharing course to MoodleNet 2023-08-22 11:00:06 +10:00
Safat 78bc87619b MDL-75318 core: Event update to share course to MoodleNet 2023-08-22 11:00:06 +10:00
Safat 17b565f957 MDL-75318 core: External services for sharing course to MoodleNet 2023-08-22 11:00:06 +10:00
Safat 933ab5201f MDL-75318 core: Backend api for sharing course to MoodleNet 2023-08-22 11:00:06 +10:00
Safat a0238f277d MDL-75318 core: Capability to share course to MoodleNet 2023-08-22 11:00:06 +10:00
Paul Holden ae57526ed0 MDL-79017 core: re-factor method to unserialize array.
We can use the existing helper for object unserialization as the
base for this method, rather than manual string parsing.
2023-08-21 20:29:36 +01:00
Paul Holden 57a12c73f9 MDL-79089 tiny_html: define help link text language string. 2023-08-21 15:55:05 +01:00
Leon Stringer b3eed7cc95 MDL-79075 quiz: Fix transposed user IDs
In the description of "Quiz attempt reviewed" events the user IDs of
the reviewer (typically the teacher) and the reviewee (typically the
student) were the wrong way round.
2023-08-21 15:53:04 +01:00
Paul Holden f9bf57c269 Merge branch 'MDL-79071-master' of https://github.com/junpataleta/moodle 2023-08-21 15:32:42 +01:00
hieuvu 80c9de3d00 MDL-79039 mathjax: Re-write yui javascript to AMD module 2023-08-21 19:43:45 +07:00
Andrew Nicols c7b1cf2651 MDL-78251 tiny: Reduce use of UI for setting test expectations 2023-08-21 20:23:19 +08:00
Paul Holden 0d4d8f8a8c MDL-78707 forms: improve form container collapsing mechanism.
By using a more explicit selector for matching containers we avoid
previous problems such as incorrect count, and collapsing of elements
that had the same class name.
2023-08-21 12:38:45 +01:00
Sara Arjona 316cf48a42 Merge branch 'MDL-78097-min' of https://github.com/Chocolate-lightning/moodle 2023-08-21 13:22:04 +02:00
Ferran Recio e715b7a791 MDL-78954 theme_boost: move action menu css to separate file 2023-08-21 13:19:28 +02:00
Ferran Recio 7fea815e0f MDL-78954 output: remove default chevron from kebab menus
Action menus have a method set_kebab_trigger that converts the action
menu button into a proper kebab icon. However, this method does not
remove the standard bootstrap dropdown chevron and the visual
information is replicated (kebab icon + chevron). For now this method is
only used a couple of times but in every case (grade, course...) they
add unnecessary adhoc css rules to hide the chevron when it should be
the standard behaviour. This commit remove the chevron when the action
menu is displayed as a kebab menu.
2023-08-21 13:19:22 +02:00
Sara Arjona b91f34305b Merge branch 'MDL-78531-master' of https://github.com/aanabit/moodle 2023-08-21 13:09:50 +02:00
Paul Holden b0d1d885b1 MDL-79079 grade: prevent default click event when toggling category. 2023-08-21 12:00:45 +01:00
Paul Holden bdfe13c4fd MDL-78533 grade: relax param type of itemname in external structures.
Ensure it conforms to the same format as allowed for course modules.
2023-08-21 10:53:40 +01:00
Paul Holden 604f3fbab9 MDL-78502 grade: consider only those export formats user can access. 2023-08-21 10:46:53 +01:00
Paul Holden 8462e7880d MDL-78615 cache: display failure notifications deleting lock/store. 2023-08-21 10:45:11 +01:00
Ferran Recio 729937c89a MDL-78954 theme_boost: action menu subpanel styling 2023-08-21 10:39:16 +02:00
Dan Marsden 2b5931ddac MDL-63539 mod_scorm: AICC multi-row content not saving correctly. 2023-08-21 19:05:27 +12:00
Daniel Poggenpohl 1f2f32824d MDL-77657 theme: Corrected return type 2023-08-21 08:39:54 +02:00
Daniel Poggenpohl 02716c8ea6 MDL-77657 theme: Fix get_pre_scss_code load order
This led to problems with grandchild themes,
depending on their direct parent's prescsscallback.
2023-08-21 08:39:50 +02:00
Daniel Poggenpohl 7483bdd908 MDL-77657 theme: Fix get_extra_scss_code load order
This led to problems with grandchild themes,
depending on their direct parent's extrascsscallback.
2023-08-21 08:39:45 +02:00
Huong Nguyen 5c7a2f6099 Merge branch 'MDL-65887-master' of https://github.com/lucaboesch/moodle 2023-08-21 10:56:54 +07:00
Huong Nguyen ff8b735d4f Merge branch 'MDL-78436-master' of https://github.com/kevpercy/moodle 2023-08-21 09:45:57 +07:00
Huong Nguyen 2c3c259b5a Merge branch 'MDL-78100' of https://github.com/Chocolate-lightning/moodle 2023-08-21 09:40:33 +07:00
Andrew Nicols 24ce17d13e MDL-78251 behat: Add new selectors for profile page 2023-08-20 23:09:23 +08:00
Andrew Nicols 44f0b4beef MDL-78251 editor_tiny: Update TinyMCE to 6.6.2
Originally I changed the compiled output of TinyMCE from es2015 to es6
to try and allow our own requirejs system to serve the content.

This is a change in the TinyMCE repository (or our copy of it).

Unfortunately this turned out to not be possible, but I never got around
to updating the configuration to stop doing so.

Whilst working on this issue, I've removed this change to module
compilation, which brings us closer in line to Tiny core, and simplifies
the upgrade process.
2023-08-20 23:09:04 +08:00
vtos 22129e914e MDL-61811 enrol_manual: fixed updating of 'notifyall' field
When updating a manual enrolment instance, the value of 'notifyall' field must be calculated automatically based on the value of
'expirynotify' field. The relevant plugin's method missed that, thus, the value of 'notifyall' field was never updated when
editing a manual enrolment instance and changing the 'expirynotify' setting.

A functional test has been added to test the entire behaviour of the relevant plugin's method.
2023-08-20 12:28:15 +02:00
Stefan Topfstedt 7b04638c52 MDL-71212 core_course: adds controls to the course index drawer. 2023-08-18 11:00:55 -07:00
Stefan Topfstedt 4f95290852 MDL-65363 block_starredcourses: only list enroled courses
Filter out any starred courses that the logged-in user is not enroled in.
2023-08-18 10:36:05 -07:00
Eloy Lafuente (stronk7) 731f64226d MDL-78934 behat: Replace all the rest of goutte by browserkit
Basically all them are comments.

Only remaining occurrence remaining is
in composer.lock file, because friends-of-behat/mink-extension
still has the old goutte as dev requirement, but that doesn't
affect us at all (no goutte is installed anymore, see the vendor
directory and/or the lock file).
2023-08-18 13:59:17 +02:00
Eloy Lafuente (stronk7) 7d37b29248 MDL-78934 behat: Move to BrowserKit in extension and other custom code 2023-08-18 13:59:17 +02:00
Eloy Lafuente (stronk7) 11b7ff678d MDL-78934 behat: Move from mink goutte to browserkit driver
In order to get compatibility with PHP 8.1 there are 2 options:

1) Move to the Goutte 2 mink driver, that uses Goutte 4.
2) Move to the BrowserKit mink driver.

While 1) could sound like the easier alternative, and that is
what we are doing right now, there are a few points to take into consideration.

a) Goutte 4 is a complete wrapper over BrowserKit. 100%. See its
   source code: https://github.com/FriendsOfPHP/Goutte/blob/master/Goutte/Client.php
b) The mink extension still doesn't support Goutte 4, but supports
   BrowserKit. See https://github.com/FriendsOfBehat/MinkExtension (PR#16)
   (we could workaround this by forking the package again)
c) Last, but not least, recently (June 2023) both the MinkGoutteDriver
   and Goutte itself have been archived/abandoned:
   - https://packagist.org/packages/behat/mink-goutte-driver
   - https://packagist.org/packages/fabpot/goutte

So, given the points above, this is an attempt to move away
completely from Goutte and straight use the BrowserKit alternative
that, in practice, is the very same code that we are already using
(you can see that, in the .lock changes there isn't any new thing
being installed, because, as said, we are using it already).

Let's see how complex it is, I imagine it won't be hard. Surely killing
all references everywhere about Goutte will be the most complex task.
2023-08-18 13:59:17 +02:00
Jun Pataleta ec02ec88f3 MDL-79071 course: An empty alt text is needed for decorative images 2023-08-18 17:03:05 +08:00
Jun Pataleta 13a8dff553 MDL-79063 course: Use .text-body for 'disabled' elements in move modal
Using the .disabled class for the course module or section that is
being moved does not have sufficient colour contrast against the
background, especially when it is being highlighted.
So instead of using .disabled, just use Bootstrap classes .text-body
and .font-italic which renders the cm/section to be moved in normal
font colour while preserving its italicised look.
2023-08-18 16:28:45 +08:00
Mikel Martín ea3ecbb3ab MDL-74429 core_form: Fix element url input overflow 2023-08-18 10:11:52 +02:00
Jun Pataleta 294ea131a7 MDL-79063 theme_boost: Match .disabled font colour with .text-muted
* For consistency
* The font colour for .text-muted meets a contrast ratio of 4.69:1
which meets WCAG 2.1 Level AA success criterion for minimum contrast.
2023-08-18 16:02:13 +08:00
Luca Bösch daffea8964 MDL-65887 workshop: Recalculate + fill the 'Grade for assessment' column 2023-08-18 08:58:35 +02:00
Rajneel Totaram ff186194c9 MDL-76982 mod_book: Flip chapter navigation icons in RTL languages 2023-08-18 18:53:10 +12:00
Rajneel Totaram e6316d5285 MDL-76982 mod_book: Remove unused styles 2023-08-18 18:53:10 +12:00
Rajneel Totaram d2b80feee4 MDL-76982 theme_classic: Fix positioning of sticky previous/next buttons 2023-08-18 18:53:10 +12:00
Rajneel Totaram bfea7da668 MDL-76982 mod_book: Make previous/next buttons sticky 2023-08-18 18:53:10 +12:00
Amaia Anabitarte baecc57095 MDL-78531 administration: New default course settings section 2023-08-18 08:49:09 +02:00
Matt Porritt fb4ffa5d53 MDL-79066 TinyMCE: Add fullscreen button
Enable the existing fullscreen functionality to be able
to be accessed from a button on the default editor toolbar.
2023-08-18 16:02:10 +10:00
Ilya Tregubov e998f14061 weekly release 4.3dev+ 2023-08-18 11:23:49 +08:00
Ilya Tregubov 0b5d35856d NOBUG: Fixed file access permissions 2023-08-18 11:23:49 +08:00
Eloy Lafuente (stronk7) 8e5d5ad8db Merge branch 'MDL-78684-master-fix-2' of https://github.com/lameze/moodle 2023-08-17 19:54:39 +02:00
Eloy Lafuente (stronk7) 6b7816befd Merge branch 'MDL-78684-master-fix' of https://github.com/junpataleta/moodle 2023-08-17 19:46:42 +02:00
Jun Pataleta ea1a3e0749 MDL-78684 gradereport_grader: Increase window size during Behat run 2023-08-17 21:32:54 +08:00
Simey Lameze 79488ae624 MDL-78684 behat: fix behat failures 2023-08-17 20:37:40 +08:00
Simey Lameze 1d3fc472af MDL-78684 behat: remove tab and set the focus to the user search field
This commit also does few things:
- Adds the I change window size step back to avoid future randoms.
- Increase the download limit size on a couple of download steps that
have been failing randomly.
- Adds missing @core_grades to tertiary_navigation_searching.feature.
2023-08-17 13:49:12 +02:00
Jun Pataleta 04ee9570ac Merge branch 'MDL-75762-master' of https://github.com/laurentdavid/moodle 2023-08-17 09:20:12 +02:00
Jun Pataleta 8a75ff0950 Merge branch 'MDL-78938-master' of https://github.com/andrewnicols/moodle 2023-08-17 09:13:20 +02:00
Ilya Tregubov fc39277058 Merge branch 'MDL-78974' of https://github.com/paulholden/moodle 2023-08-17 09:13:20 +02:00
Ilya Tregubov d7461c9eff Merge branch 'master_MDL-78698' of https://github.com/mattporritt/moodle 2023-08-17 09:13:18 +02:00
Andrew Nicols dcd6ebb7da Merge branch 'MDL-77695-master' of https://github.com/lameze/moodle 2023-08-17 09:12:36 +02:00
Andrew Nicols edf29562cc Merge branch 'MDL-78576-master' of https://github.com/snake/moodle 2023-08-17 09:12:36 +02:00
Andrew Nicols 4fcf078ef9 MDL-76557 enrol_lti: Fix unit test docs and convert to provider 2023-08-17 09:12:36 +02:00
Andrew Nicols 2f5a71f899 Merge branch 'MDL-76557-sync-grades-6' of https://github.com/ishatalkin/moodle 2023-08-17 09:12:36 +02:00
Andrew Nicols b71bec8475 Merge branch 'MDL-78684-master' of https://github.com/andelacruz/moodle 2023-08-17 09:12:36 +02:00
Andrew Nicols ad923a4d96 MDL-77381 qengine: Correct coverage for new test 2023-08-17 09:12:36 +02:00
Andrew Nicols c622af3dba Merge branch 'MDL-77381-master' of https://github.com/ScottVerbeek/moodle 2023-08-17 09:12:36 +02:00
Andrew Nicols cff6c75289 Merge branch 'MDL-71331' of https://github.com/paulholden/moodle 2023-08-17 09:12:36 +02:00
Andrew Nicols 339820fad1 Merge branch 'MDL-71196' of https://github.com/paulholden/moodle 2023-08-17 09:12:34 +02:00
Andrew Nicols a929d314d0 MDL-78613 core: Add tiny_html to the list of standard plugins 2023-08-17 09:11:46 +02:00
Andrew Nicols b8f94dffdd Merge branch 'master_MDL-78613' of https://github.com/mattporritt/moodle 2023-08-17 09:11:46 +02:00
Andrew Nicols ff3393bec8 Merge branch 'master_MDL-50160' of https://github.com/mattporritt/moodle 2023-08-17 09:11:46 +02:00
Jun Pataleta 3cfaa97d63 Merge branch 'MDL-78922-master' of https://github.com/ilyatregubov/moodle 2023-08-17 09:11:46 +02:00
Sara Arjona 0d86da6163 Merge branch 'MDL-76408' of https://github.com/stronk7/moodle 2023-08-17 09:11:45 +02:00
Ilya Tregubov f511fffbd3 Merge branch 'MDL-78801-master' of https://github.com/jleyva/moodle 2023-08-17 09:11:45 +02:00
Huong Nguyen ca3c8f70a1 Merge branch 'MDL-78746-master' of https://github.com/aanabit/moodle 2023-08-17 09:11:44 +02:00
Huong Nguyen 59a6134cca Merge branch 'MDL-49827-noemailever-ui' of https://github.com/NagaSirishaGarapati/moodle 2023-08-17 09:10:53 +02:00
Jun Pataleta 2870637daa Merge branch 'MDL-78505/master' of https://github.com/skodak/moodle 2023-08-17 09:10:53 +02:00
Huong Nguyen 8ecb766d53 Merge branch 'MDL-78753-master' of https://github.com/snake/moodle 2023-08-17 09:10:52 +02:00
Huong Nguyen e1a6cdba0c Merge branch 'MDL-71909' of https://github.com/NeillM/moodle 2023-08-17 09:10:52 +02:00
Andrew Nicols be3878c34e MDL-43195 core: Version/upgrade bump 2023-08-17 09:10:52 +02:00
Andrew Nicols c3237c9ef6 Merge branch 'MDL-43195-master' of https://github.com/srobotta/moodle 2023-08-17 09:10:52 +02:00
Sara Arjona e914149b88 Merge branch 'MDL-78678-master' of https://github.com/aanabit/moodle 2023-08-17 09:10:52 +02:00
Sara Arjona df5d62eac2 Merge branch 'MDL-78844' of https://github.com/paulholden/moodle 2023-08-17 09:10:51 +02:00
Sara Arjona 570cd5748b Merge branch 'MDL-78666-master' of https://github.com/roland04/moodle 2023-08-17 09:09:16 +02:00
Sara Arjona 871e82c197 Merge branch 'MDL-78203-master' of https://github.com/ferranrecio/moodle 2023-08-17 09:09:16 +02:00
Sara Arjona 2bb12d9e2c Merge branch 'MDL-78758' of https://github.com/paulholden/moodle 2023-08-17 09:09:16 +02:00
Sara Arjona a1f108a996 Merge branch 'MDL-78761' of https://github.com/paulholden/moodle 2023-08-17 09:09:15 +02:00
Sara Arjona 272109c19a Merge branch 'MDL-78858' of https://github.com/paulholden/moodle 2023-08-17 09:09:15 +02:00
Mathew May b1063f5891 MDL-78097 grade: Allow the initials bar to pass current page params 2023-08-17 09:41:53 +08:00
Mathew May 9f5e343d73 MDL-78100 gradereport_grader: Clear all button to reset filters 2023-08-17 09:00:07 +08:00
Jake Dallimore 42c24a3223 MDL-78576 mod_lti: fail launch early when preconfigured tool not found
In the case where the instance is associated with a preconfigured tool
and where that tool type has since been removed, throw an exception
early.
2023-08-16 23:51:31 +08:00
Jake Dallimore 3a1db3cc47 MDL-78576 mod_lti: improve course tool deletion with contextual messages
Present different deletion messages depending on whether the tool has
usages or not.
2023-08-16 23:51:31 +08:00
Jake Dallimore e555984880 MDL-78576 mod_lti: move count subselect into report base fields
This gets around a limitation of the RB; its inability to use a column
subselect value in another column. This change permits the use of the
count in more than just the 'usage' column, as the row_callback is able
to set an instance var, usable by other column callbacks.
2023-08-16 23:51:31 +08:00
Andrew Nicols 83050a2fb0 MDL-78938 course: Wrap manual completion toggle in pending
This commit makes two changes to reduce random failures in behat:
- wrap the toggling of manually configured completion in pendingjs
- set the loading spinner content without forcing the completion toggle
  ws to wait for the loading spinner to update.
2023-08-16 20:01:29 +08:00
Andrew Nicols 1add591221 MDL-78938 report_progres: Wrap completion status update in pending 2023-08-16 20:00:59 +08:00
Ilya Tregubov 8490867291 MDL-78922 core_grades: Add missed element to category modal. 2023-08-16 16:44:00 +08:00
Simey Lameze 74b25ba5fd MDL-77695 behat: use automatic completion to award badges 2023-08-16 11:03:46 +08:00
Petr Skoda 989636b0de MDL-78505 core: stop mangling existing Mardown in text editors
The problem is that HTML Purifier is not compatible with Markdown,
that means we cannot sanitise Markdown texts before editing.

Luckily Markdown has to use plain text editor which does not have
XSS problems.

The only tiny downside is that Markdown cannot be allowed
in "trust text" areas any more.
2023-08-15 14:26:59 +02:00
Petr Skoda a50c2d4746 MDL-78505 Revert "MDL-32114 form: markdown must be preserved on saving post"
This partially reverts commit 4a31dd69d6.
2023-08-15 14:26:59 +02:00
Jake Dallimore 1e886c375c MDL-78753 mod_lti: fix access control for LTI External tools page
To view this page, the user must be able to use preconfigred tools in
the course. This is controlled by the 'mod/lti:addpreconfiguredinstance'
capability. The capability 'mod/lti:addcoursetool' isn't required to
view the page but does add extra functionality to the page.
2023-08-15 18:03:43 +07:00
ishatalkin d9e182b5c6 MDL-76557 enrol_lti: sync_grades accepts status codes 200,201,202,204 2023-08-15 12:25:06 +03:00
Kevin Percy 7db066a823 MDL-78436 editor_tiny: mform disabledIf works with TinyMCE 2023-08-15 14:15:07 +08:00
Kevin Percy d949243af7 MDL-78436 gradebook: Require override to add feedback 2023-08-15 14:13:03 +08:00
Sirisha Garapati 5c203e8dc3 MDL-49827 core: Expose the noemailever config in the admin UI 2023-08-15 14:47:20 +10:00
Cameron Ball 230fcddd62 MDL-78630 auth: Display lock/unlock messages 2023-08-15 10:59:09 +08:00
Jake Dallimore f645d21da1 MDL-78753 mod_lti: use course visibility named constant in report params 2023-08-15 09:20:44 +08:00
Stephan Robotta aafbdf7a6b MDL-43195 license: upgrading cc core licenses to version 4.0
The short name of the cc licenses are trailed with a suffix containing
the version number (current 3.0 and 4.0). The old cc* licenses become
the new cc-*-3.0 licenses and are disables, because the new cc*-4.0
licenses are the current ones.
2023-08-14 22:53:57 +02:00
Dale Davies af91ae626a MDL-76865 core: Check lock state before attempting to acquire a lock 2023-08-14 12:34:14 +01:00
Sara Arjona 3d8566250a Merge branch 'MDL-78700-tidy_no_clean' of https://github.com/leonstr/moodle 2023-08-14 09:12:24 +02:00
Laurent David 1558cd4bcf MDL-75762 theme_boost: Fix popover on large pages
* On the grader report the help button popover is cut and some of it
is offscreen. This patches fixes the footer help button popover
layout.
2023-08-14 07:56:54 +02:00
Ferran Recio b594536ef0 MDL-75762 gradereport_grader: fix sticky headers 2023-08-14 07:56:54 +02:00
Ferran Recio c7e9af30df MDL-75762 theme_boost: fix sticky footer page scroll 2023-08-14 07:23:12 +02:00
Laurent David 310122010e MDL-75762 core_courseformat: Fix course menu when back
* When we select an activity in a course and go to its page, the
back button recovers the scroll position correctly but should
also recover the course menu position

Note: for now the menu position is the topmost item in the page
2023-08-14 07:23:12 +02:00
Laurent David da2f2c9c45 MDL-75762 core_courseformat: Fix accessibility issue
* Reverse the changes in MDL-74740 to fix left drawer issue (drawer
was scrolling with the page)
2023-08-14 07:23:12 +02:00
Laurent David cced0e77f6 MDL-75762 core_courseformat: Use page scroll instead of section
* The scroll value is not restored when we navigate into activities as only a
section of the page was scrolled.
* Remove the overflow for the page section so the full page is scrolled
* Restore side menu navigation synchronisation
2023-08-14 07:22:06 +02:00
Jun Pataleta 32d95690c0 Merge branch 'MDL-78927-master' of https://github.com/sammarshallou/moodle 2023-08-14 11:55:24 +08:00
Jun Pataleta 478abd671f on-demand release 4.3dev+ 2023-08-14 10:56:29 +08:00
Luca Bösch 8cfb805e3c MDL-68674 theme: Have block headers have h3 class="h5". 2023-08-12 07:27:57 +02:00
Ferran Recio 5151dc54f0 MDL-78203 behat: adding subpanels to action menu step 2023-08-11 17:24:18 +02:00
Ferran Recio fc37e6ca92 MDL-78203 lib: document new components 2023-08-11 17:24:18 +02:00
Ferran Recio cb541081bd MDL-78203 core_courseformat: groupmode action menu item 2023-08-11 17:24:18 +02:00
Paul Holden ce8397f7ad MDL-78974 themes: define removedprimarynavitems theme config property.
All configurable theme config properties must be defined at the class
level, lest PHP 8.2 complain about creation of dynamic properties.
2023-08-11 13:38:02 +01:00
Paul Holden a06ec5dd06 MDL-78980 admin: ensure all values for multiselect presets are used.
Previously, just the first value was selected. Instead defer to the
implementation in the base class for `set_value`.
2023-08-11 10:43:29 +01:00
Amaia Anabitarte 269f64b8bf MDL-78678 course: Highlight all types of modules when scrolling 2023-08-11 11:30:10 +02:00
Amaia Anabitarte 040a27fb76 MDL-78746 core_completion: Improve completion reminder information 2023-08-11 11:16:35 +02:00
Amaia Anabitarte 36b865b3d9 MDL-78746 formslib: add variables to addHelpButton()
addHelpButton() function should allow to get variables to pass to get_string
to improve help button text.
2023-08-11 11:13:29 +02:00
Jun Pataleta c6817e45be MDL-78983 core: Preserve default behaviour of flipping question icon
Introduce a lang string `questioniconfollowlangdirection` that will
allow the current behaviour of displaying the question mark icon
in RTL languages in the same manner as the current language.
2023-08-11 16:10:14 +07:00
Huong Nguyen cef4a4e5e2 Merge branch 'MDL-78983-master' of https://github.com/junpataleta/moodle 2023-08-11 12:52:56 +07:00
Jun Pataleta 001b299eb2 MDL-78983 core: Fix question mark icon direction flipping
This fixes the changes made in MDL-75047:
* Change `thisicondirection` langconfig string to a more specific one
  like `questionicondirection`.
* Use existing direction string value `ltr` for the value of
  `questionicondirection`. Also add a comment to at least provide some
  form of documentation for it.
* Improve the logic for applying the horizontal flipping class for the
  question icon:
  - Check first if the icon is a question icon
  - Flip the icon if `questionicondirection` is set to `rtl`.
2023-08-11 11:47:26 +08:00
Eloy Lafuente (stronk7) 8a6cce03f3 MDL-76408 gha: Move "highest" runs from php81 to php82
Note that, for windows php82, we need to have the php-zip extension
explicitly added. So we are adding it too.

From the manual:
  "As of PHP 8.2.0, php_zip.dll DLL must be enabled in php.ini.
  Previously, this extension was built-in."
2023-08-10 19:11:23 +02:00
Huong Nguyen 57ae65f514 weekly release 4.3dev 2023-08-10 22:50:44 +07:00
Huong Nguyen 85ea9267a9 Merge branch 'install_master' of https://git.in.moodle.com/amosbot/moodle-install 2023-08-10 22:50:41 +07:00
sam marshall 71999958f9 MDL-78927 core_user: Profile page missing breadcrumbs if no id= 2023-08-10 15:50:33 +01:00
Ilya Tregubov 25312f1692 MDL-78790 gradereport_grader: Fix sorting. 2023-08-10 18:32:23 +07:00
meirzamoodle 3d3dd827fa MDL-78685 auth_oauth2: Added logged-in status check 2023-08-10 18:32:23 +07:00
Jun Pataleta ad81e6f315 Merge branch 'MDL-78561-master' of https://github.com/kevpercy/moodle 2023-08-10 18:32:23 +07:00
Jun Pataleta 582f970795 Merge branch 'MDL-78957' of https://github.com/stronk7/moodle 2023-08-10 18:32:22 +07:00
Jun Pataleta e99eacb4f6 MDL-78528 course: Use h2 to avoid skipped headings
Use h2 headings instead of h3 for the activity headings to avoid having
skipped headings on the Default activity completion page.
2023-08-10 18:32:22 +07:00
Jun Pataleta 44787c35bc Merge branch 'MDL-78528-master' of https://github.com/sarjona/moodle 2023-08-10 18:32:22 +07:00
Jun Pataleta 4ef1f2fabd Merge branch 'MDL-78962' of https://github.com/timhunt/moodle 2023-08-10 18:32:22 +07:00
Jun Pataleta c3a27a0070 Merge branch 'MDL-77817-master' of https://github.com/meirzamoodle/moodle 2023-08-10 18:32:15 +07:00
Jun Pataleta ddab676930 Merge branch 'MDL-78674-master' of https://github.com/junpataleta/moodle 2023-08-10 18:31:52 +07:00
Ilya Tregubov 04cdf6889d Merge branch 'MDL-78939' of https://github.com/paulholden/moodle 2023-08-10 18:31:51 +07:00
Paul Holden b417f1edf2 MDL-78790 gradereport_grader: normalise report sort parameter safely. 2023-08-10 18:31:51 +07:00
Paul Holden ff75f4c675 MDL-78871 gradereport_grader: capability check getting report users. 2023-08-10 18:31:51 +07:00
Sara Arjona 769e915a8f Merge branch 'MDL-76123' of https://github.com/paulholden/moodle 2023-08-10 18:31:51 +07:00
Jun Pataleta b8a93b921b Merge branch 'MDL-78713-master' of https://github.com/snake/moodle 2023-08-10 18:31:51 +07:00
Jun Pataleta ec200c0e6c Merge branch 'MDL-77378_master_v3' of https://github.com/TomoTsuyuki/moodle 2023-08-10 18:31:50 +07:00
Michael Hawkins b50d0532e5 MDL-78763 tool_policy: Initialise returnurl as a moodle_url in viewall 2023-08-10 18:31:50 +07:00
Paul Holden 092273751b MDL-78792 message: access checks in processor fragment callback. 2023-08-10 18:31:50 +07:00
raortegar 058b830b07 MDL-74289 lib: Improve the proxy bypass matching 2023-08-10 18:31:44 +07:00
Mikel Martín fd48f18ef9 MDL-78666 core_courseformat: Add empty state in conditions dialog 2023-08-10 12:52:07 +02:00
Rajneel Totaram fc495744a5 MDL-78966 theme: Fix site event icon size in upcoming events block 2023-08-10 19:22:17 +12:00
Kevin Percy 14b1796860 MDL-78561 grade: Deprecate grade_helper::get_lang_string() 2023-08-10 11:39:50 +08:00
Jun Pataleta b2279ec1d7 MDL-78674 calendar: No need to call get_course_and_cm_from_instance()
The course ID and CM id can already be fetched from the event object.
2023-08-10 09:37:37 +08:00
Santosh Nagargoje 51267e5590 MDL-78674 calendar: Added fix to rebuild module cache in calendar 2023-08-10 09:34:51 +08:00
ScottVerbeek a3b02e0c6a MDL-77381 question engine: don't query empty arrays 2023-08-10 08:09:16 +10:00
Tim Hunt 788580c9dd MDL-78962 core/loadingicon: remove jQuery requirement in the API 2023-08-09 21:10:13 +01:00
sam marshall 93edfc5729 MDL-32278 core: print_object - handle recursion, improve formatting
A new implementation for print_object automatically prevents infinite
recursion, and allows users to choose which classes to expand. When
in web view, it defaults to a pretty-printed output using Bootstrap
classes.
2023-08-09 15:07:48 +01:00
Eloy Lafuente (stronk7) 57c2397400 MDL-78957 libraries: Fix php82 undefined property deprecation
This was detected only in master (4.3dev) because MDL-40084
added a unit test covering it. But the very same patch is
needed in 402_STABLE, no matter it's not covered there.
2023-08-09 15:27:49 +02:00
Paul Holden c9f689ae6c MDL-78844 reportbuilder: external validate system report access method. 2023-08-09 13:49:27 +01:00
Paul Holden 8bfa8e35e9 MDL-78257 libraries: upgrade to version 4.7.2 of axe-core. 2023-08-09 08:55:16 +01:00
Sara Arjona a2db0747cc MDL-78528 course: Deprecate unused methods
The method core_course_bulk_activity_completion_renderer::edit_default_completion()
has been deprecated and will be removed in Moodle 4.7.
2023-08-09 09:12:44 +02:00
Sara Arjona 2e41286ad3 MDL-78528 course: Display all forms in default activity completion page
This commit displays all the module forms together in the default
activity completion page:

- The checkboxes have been removed. Now the activity names are
displayed as accordions.
- Module names have been changed from plural to singular.
- The activity completion form is displayed below each module name,
when the chevron icon is expanded. The cancel button is not displayed.
- The CSS has been updated to meet the prototype styling.
2023-08-09 09:12:44 +02:00
Sara Arjona 8f57f0fdac MDL-78528 mod: Add suffix support to module completion fields 2023-08-09 09:12:43 +02:00
Sara Arjona 274db7f747 MDL-78528 completion: Add suffix support to avoid duplicated ids 2023-08-09 09:12:43 +02:00
Paul Holden b78663083f MDL-78647 files: safer unserializing of file reference data. 2023-08-09 04:44:18 +00:00
Shamim Rezaie 90346de2da MDL-66212 tool_lpimport: properly check capabilities
The moodle/competency:competencymanage capability should be checked
before showing the import and export pages.
2023-08-09 04:44:18 +00:00
Matt Porritt f1e320272f MDL-78340 Blocks: Dashboards now respect block permission overrides
Patch makes user dashboard respect permission overrides
that have been set on individual blocks on the system
dashboard (indexsys.php). When a user dashboard is created
either when the user visits their dashboard for the first
time or after an admin reset. When blcoks are copied to
the new dashbaord overriden permissions are also copied.
2023-08-09 04:44:18 +00:00
Rajneel Totaram b0d1cef0e0 MDL-71728 mod_quiz: check if user can access this page 2023-08-09 04:44:17 +00:00
Huong Nguyen 323136eb1f Merge branch 'MDL-78904-master' of https://github.com/junpataleta/moodle 2023-08-09 11:42:34 +07:00
Huong Nguyen 38d49c033c Merge branch 'MDL-75047-master' of https://github.com/SysBind/moodle 2023-08-09 11:29:03 +07:00
Jun Pataleta 5dbb5cc3ea Merge branch 'MDL-78872' of https://github.com/paulholden/moodle 2023-08-09 12:10:30 +08:00
Ilya Tregubov 3b23a296b7 Merge branch 'MDL-78714-master' of https://github.com/andrewnicols/moodle 2023-08-09 12:04:45 +08:00
Jun Pataleta b2d926c90f Merge branch 'MDL-78545-master' of https://github.com/mattporritt/moodle 2023-08-09 11:52:16 +08:00
Huong Nguyen e8497456c8 Merge branch 'MDL-78235-master' of https://github.com/lameze/moodle 2023-08-09 10:42:34 +07:00
Ilya Tregubov e3caced471 Merge branch 'master_MDL-78893' of https://github.com/mattporritt/moodle 2023-08-09 11:09:44 +08:00
Ilya Tregubov 58664d0b26 Merge branch 'master_MDL-78860' of https://github.com/mattporritt/moodle 2023-08-09 09:42:37 +08:00
Andrew Nicols 9f9814ae41 MDL-78714 editor_tiny: Disable HTML Sanitisation in TinyMCE
This is in keeping with other Editors such as Atto and resolves an issue
where DOM Purification incorrectly identifies HTML-like string content
as an HTML tag with a JS variable.

Moodle already performs XSS sanitisation using HTML Purifier in PHP.
2023-08-09 09:07:04 +08:00
Andrew Nicols 8e58a8fab0 MDL-78714 editor_tiny: Add xss_sanitize option to TinyMCE
To address a potential data loss issue, a feature introduced in TinyMCE
6.4.0 to disable client-side XSS sanitisation must be backported.
2023-08-09 09:05:25 +08:00
Andrew Nicols 3c9a5589b7 MDL-78714 editor_tiny: Move TinyMCE import instructions to correct path 2023-08-09 09:05:23 +08:00
Tomo Tsuyuki d8a4cc9533 MDL-67186 group: add custom fields 2023-08-09 11:02:49 +10:00
Huong Nguyen 59418b5f61 Merge branch 'MDL-78492_aurora_mysql_rowformat_master' of https://github.com/mark-webster-catalyst/moodle 2023-08-08 21:41:47 +07:00
Huong Nguyen cb1d6106c6 Merge branch 'MDL-78286-master' of https://github.com/roland04/moodle 2023-08-08 21:34:32 +07:00
Mikel Martín 848a90d1e5 MDL-78286 core_courseformat: Add direct link to edit completion settings 2023-08-08 16:22:55 +02:00
Paul Holden 6d9a45f388 MDL-76123 course: multilingual module icon alt text attribute. 2023-08-08 13:44:31 +01:00
Sara Arjona 3774059c1b Merge branch 'MDL-78770-master' of https://github.com/junpataleta/moodle 2023-08-08 13:55:26 +02:00
Sara Arjona 6fb01e22ab Merge branch 'MDL-77658-master' of https://github.com/SysBind/moodle 2023-08-08 13:29:43 +02:00
Sara Arjona 565d6a45a3 Merge branch 'MDL-78879' of https://github.com/paulholden/moodle 2023-08-08 13:04:30 +02:00
Sara Arjona f4c4aad52b Merge branch 'MDL-78559-master' of https://github.com/rmady/moodle 2023-08-08 13:01:56 +02:00
Simey Lameze 9e04e26d67 MDL-78843 behat: update get_forum_id to search for idnumber or name
This commit also converts manual steps to create discussions on the
Annoucements forum to data generator.
2023-08-08 16:32:13 +08:00
Jun Pataleta ea40779753 Merge branch 'MDL-78896-master-enfix' of https://github.com/vmdef/moodle 2023-08-08 15:29:03 +08:00
Jun Pataleta 51e86626d1 Merge branch 'MDL-77174-master' of https://github.com/andrewnicols/moodle 2023-08-08 15:15:32 +08:00
Paul Holden 69caa83345 MDL-78939 qformat_xml: fix reference to calculated question files. 2023-08-08 08:08:33 +01:00
Jake Dallimore 9f7e2cafda MDL-78713 mod_lti: update lang strings 2023-08-08 13:33:01 +08:00
Angelia Dela Cruz 6385949078 MDL-78684 Behat: Replace gradebook navigation to use page resolvers
This commit also does other things such as:
- Replace manual steps to setup gradebook by data generators
- Added support for outcomes and scales page resolvers
- Behat clean up
2023-08-08 11:53:45 +08:00
Matt Porritt 2772b2b9dc MDL-78698 Libraries: Deprecate random_bytes_emulate function
Since PHP 7.0 the random_bytes() is nativley available and Moodle
LMS requires greater than PHP 7, the native PHP funciton can be
used exclusively. Deprecating random_bytes_emulate.
2023-08-08 12:35:00 +10:00
AMOS bot 12b7a470a7 Automatically generated installer lang files 2023-08-08 00:10:38 +00:00
Paul Holden b3d00a8f0a MDL-78872 grade: fix external class execute method visibility. 2023-08-07 15:19:25 +01:00
Helen Foster 34a8e644f2 MDL-78896 lang: Import fixed English strings (en_fix) 2023-08-07 11:21:41 +01:00
Paul Holden 3ca62ad556 MDL-78302 mod_forum: fix course module grade button parameters. 2023-08-07 10:45:09 +01:00
Paul Holden 9c108c8d88 MDL-78758 reportbuilder: stricter checking of source default sorting. 2023-08-07 10:21:51 +01:00
Ilya Tregubov 0b49e25297 Merge branch 'MDL-78800' of https://github.com/stronk7/moodle 2023-08-07 16:57:38 +08:00
Ilya Tregubov 93c910f20a Merge branch 'MDL-78665-master-v02' of https://github.com/ferranrecio/moodle 2023-08-07 12:19:30 +08:00
Ilya Tregubov 2e18ba8750 Merge branch 'MDL-78550-master' of https://github.com/junpataleta/moodle 2023-08-07 11:34:04 +08:00
Damian Hippisley 26407c6ca1 MDL-78545 core_badges: Fix PHP 8.2 dynamic properties
Issue MDL-73325 added the option to tag badges, however
it introduced a dynamic property on the badge object.
In PHP 8.2 dynamic properties are deprecated, this patch
fixes this.
2023-08-07 11:04:04 +10:00
chen levy ec7e9d6d5d MDL-77658 theme: Fixed RTL manage course categories menu
fixed course checkboxes that appears on the categories menu on RTL
2023-08-06 09:19:27 +03:00
Sara Arjona d4d0483cb1 MDL-78528 completion: Add customdata to hide Cancel button
A new customdata setting has been added to edit_base_form to let
hide the Cancel button (and only display the "Save changes" button).
2023-08-04 16:33:02 +02:00
Ferran Recio b707da35d0 MDL-78665 tool_componentlibrary: add action menu page 2023-08-04 16:09:30 +02:00
Ferran Recio 105324e6fd MDL-78665 output: add subpanels to action menu
Many times the action menu item triggers modals to show more information
to the user. In most cases this is enough, however, a modal will close
the menu and the user is not able to see the modal content in the page
context. To solve this now menus can define subpanels that are displayed
next the the menu item when the item is focused or hover. This will be
used to group options like the group mode in activities or to replace
the adhoc solution implemented to select language in the user menu.
2023-08-04 16:09:29 +02:00
Ferran Recio d04ef6c5e3 MDL-78665 theme_boost: allow behat fake drawers
Drawers have several JS logic depending on the screen size. However,
some generic components like action menu subpanels require fake drawers
to test the behaviour when it is displayed in a drawer (for example in a
block). This patch allow a behat page to have a div with data-region as
fixed-drawer so the component can detect as it is inside a a drawer but
without the autoclose on small screens.
2023-08-04 16:08:00 +02:00
Ferran Recio 013b1a172f MDL-78665 output: add default template to choicelist
The choicelist output class is designed to represent a user choice in
several formats like a dropdown or subpanel. In general, other
components are free to render the choice in its own way. However, to
simplify the logic the choicelist now provide a default template to be
used in any div or panel.
2023-08-04 16:07:59 +02:00
Ferran Recio 3b53616321 MDL-78665 libs: page helpers global amd module
Add a new global module to get information from the page. Some methods
are just local functions moved to as a global library. For example, the
drawers isSmall or isLarge to detect the page width. The other funcionts
added are to detect focusable elements and they are needed to loop on
elements, especially when accessibility keyboard navigation is implemented.
2023-08-04 16:07:59 +02:00
Eloy Lafuente (stronk7) 43f39e52e7 MDL-78800 composer: Bump dependencies to current ones
This bumps direct dependencies to current ones:

- phpunit: 9.5.x No updates here, there is the 9.6.x series
  available but a lot of deprecation warnings have been
  introduced there without any alternative to use. See:
  - https://github.com/sebastianbergmann/phpunit/issues/5160
  - https://github.com/sebastianbergmann/phpunit/issues/5062
  - ...
  While that will be handy to prepare ourselves to PHPUnit 10
  in some months... we cannot force everybody to jump to 9.6.x
  because that will make a lot of tests to start emitting
  warnings.
  So we stay with PHPUnit 9.5.x for the life of this branch.
- mink-phpwebdriver: 1.2.1 No updates here, just changed the
  constraint because we cannot advance to 1.3.x yet, there is
  a change there causing some app tests to fail. See:
  - https://github.com/oleg-andreyev/MinkPhpWebDriver/pull/81
  So we stay with 1.2.x until that issue is fixed/clarified,
  only then we'll review the status.
- behat: 3.12.x => 3.13.x

And also, automatically, a bunch of 2nd and deepest dependencies.

Generated with php80 that is the lowest php version supported
by this branch and, also, by some of the dependencies, as per
documented @ https://moodledev.io/general/development/tools/composer

Worth mentioning behat/mink-goutte-driver, that we should move
to mink-browserkit-driver, but that's out from this issue scope.
2023-08-04 15:08:45 +02:00
Sara Arjona 1474f74687 weekly release 4.3dev 2023-08-04 12:40:00 +02:00
Sara Arjona 5b6f2ea15d NOBUG: Fixed SVG browser compatibility 2023-08-04 12:39:55 +02:00
Jun Pataleta 2b2d2782ce MDL-78904 user: Remove unused user/repository.php
This file does not seem used and referenced anywhere in Moodle.
Might as well just remove it.
2023-08-04 15:33:55 +08:00
Matt Porritt d84389391c MDL-78860 qtype_calculatedmulti: PHP 8.2 compatibility
PHP 8.2 has deprecated setting properties on objects dynamically.
The qtype_calculatedmulti question type had two properties being
set this way($correctanswerlength and$correctanswerformat).
This patch extends the question_answer class to add the properties
when the object is instantiated.
2023-08-04 15:44:13 +10:00
Jun Pataleta 81761d786f Merge branch 'MDL-77991-integration' of https://github.com/Chocolate-lightning/moodle 2023-08-04 11:56:21 +08:00
Mathew May b3d888f9c9 MDL-77991 gradereport_grader: Collapse a11y fixes 2023-08-04 11:25:33 +08:00
Matt Porritt aa11164e07 MDL-78893 Libaries: explicity set $flags for htmlspecialchars function
As part of PHP 8.2 compatibility explicitly set the flags for the
htmlspecialchars function, to convert both single and double quotes.
2023-08-03 14:33:34 +10:00
meirzamoodle e039eaa599 MDL-77817 editor_tiny: Fix menu and dialogue window position
The boost theme makes the TinyMCE editor rendered in a scrollable container,
scrolling the editor’s container will cause TinyMCE UI elements to be detached from the anchor.
Therefore, to keep the tinyMCE menu in the correct position,
adjustments must be made on the page drawers style.

When using TinyMCE editor in Safari browsers, a problem may occur where the dialogue
windows (such as modal dialogs) overlap with page drawers due to a specific behavior
in Safari's rendering. This function addresses the issue by adjusting the CSS overflow
property of the page drawers, ensuring they do not obscure the dialogue windows.
2023-08-03 11:31:28 +07:00
Matt Porritt 07e2b61128 MDL-78613 TinyMCE: Add source code formatting and styling
Add code formatting (indenting) as well as code style (tag color)
via a TinyMC plugin. To make it easier to make code edits when
viewing the editor content in source code view.
2023-08-03 13:43:40 +10:00
Jun Pataleta 567f4c0669 MDL-78498 mod_forum: Prevent race condition in forum recent activity
* Using the generator to create the forum discussions, the timecreated
of a discussion can be set before the user's last course access which
will prevent forum_print_recent_activity() from including this generated
discussion in the recent activity results. To work around this, generate
the forum discussion 1 second after the current time to make sure that
the user's last course access will always be before the discussion's
creation time.
* This patch also includes some optimisations by:
  - Removing the unnecessary @javascript tag for the
    `Time limit expires` scenario
  - Bringing the discussion generation to each scenario to allow each
    scenario to customise the data passed to the generator like for the
    `Time limit expires` scenario.
  - Navigating directly to the forum instance.
2023-08-03 11:31:45 +08:00
Huong Nguyen aeeb1653c0 Merge branch 'MDL-78553-master' of https://github.com/davewoloszyn/moodle 2023-08-03 09:44:24 +07:00
David Woloszyn 317251a978 MDL-78553 core_communication: Move settings to their own page 2023-08-03 12:36:04 +10:00
Jun Pataleta 1be10f4249 Merge branch 'MDL-77991' of https://github.com/Chocolate-lightning/moodle 2023-08-03 10:23:24 +08:00
Ilya Tregubov 05655afa6b Merge branch 'MDL-78866-master' of https://github.com/danghieu1407/moodle 2023-08-03 09:38:32 +08:00
Ilya Tregubov c5bbb46886 Merge branch 'MDL-78807' of https://github.com/paulholden/moodle 2023-08-03 09:33:04 +08:00
Ilya Tregubov 5fdb8446fd Merge branch 'MDL-78755' of https://github.com/paulholden/moodle 2023-08-03 09:30:28 +08:00
Ilya Tregubov 74dde93b85 Merge branch 'MDL-78742' of https://github.com/paulholden/moodle 2023-08-03 09:23:33 +08:00
Ilya Tregubov 7144dccdd8 Merge branch 'MOODLE_master_MDL-74773' of https://github.com/danielneis/moodle 2023-08-03 09:18:42 +08:00
Mathew May c279443bfb MDL-77991 graderreport_grader: Migrate to core usage 2023-08-03 09:07:18 +08:00
Mathew May aa0bf848fc MDL-77991 gradereport_singleview: Migrate to core search dropdown 2023-08-03 09:07:18 +08:00
Mathew May 69844e76da MDL-77991 gradereport_user: Migrate to core search dropdown 2023-08-03 09:07:18 +08:00
Mathew May 9bb91ce870 MDL-77991 filelib: Allow groups to generate svgs 2023-08-03 09:07:18 +08:00
Mathew May a4b3b0d044 MDL-77991 core: Move tertiary search dropdown component 2023-08-03 09:07:18 +08:00
David Woloszyn 5aea409a87 MDL-78553 behat: Add disable communication helper trait 2023-08-03 10:20:23 +10:00
Daniel Neis Araujo a7a3f585ce MDL-74773 contentbank: add notification when updating and creating 2023-08-02 14:14:45 -03:00
Paul Holden 34ab8329e7 MDL-78755 course: default participant source conditions and sorting.
Ensure the default state of the report source shows only active user
enrolments, and implements sorting for consistency.
2023-08-02 14:49:26 +01:00
Paul Holden e4e7e59d90 MDL-78807 reportbuilder: ensure report base conditions are non-empty. 2023-08-02 13:50:50 +01:00
Paul Holden 501a170cb6 MDL-78879 reportbuilder: allow for negation of category filter.
Add "Equal to" and "Not equal to" operators to the filter class.

AMOS BEGIN
 CPY [subcats,qtype_randomsamatch],[includesubcategories,moodle]
AMOS END
2023-08-02 12:26:54 +01:00
Jun Pataleta f8aa9a6504 Merge branch 'MDL-78117' of https://github.com/paulholden/moodle 2023-08-02 16:24:50 +08:00
Jun Pataleta b2d3f245f2 Merge branch 'MDL-77447-master' of https://github.com/ilyatregubov/moodle 2023-08-02 16:13:19 +08:00
Huong Nguyen 3054d43336 Merge branch '45743-forum-trigger-more-events-master' of https://github.com/DSI-Universite-Rennes2/moodle 2023-08-02 15:05:14 +07:00
Huong Nguyen ddae9c4ae1 Merge branch 'MDL-78815_master' of https://github.com/marxjohnson/moodle 2023-08-02 14:58:23 +07:00
Huong Nguyen 0b3c260e00 Merge branch 'MDL-78823_master' of https://github.com/marxjohnson/moodle 2023-08-02 14:51:46 +07:00
Mark Johnson 1055a2c1c2 MDL-78815 qbank_comment: Delete comments in event observer 2023-08-02 08:34:59 +01:00
Mark Johnson a2c8eed5c8 MDL-78815 qbank_customfields: Delete custom field data in event observer 2023-08-02 08:34:59 +01:00
Mark Johnson 36ab582177 MDL-78815 qbank_tagquestion: Delete tags in event observer 2023-08-02 08:34:59 +01:00
Mark Johnson b7b932a3c1 MDL-78823 core: Add new events when enabling and disabling qbank plugins 2023-08-02 08:34:32 +01:00
Paul Holden ca6731dff7 MDL-78117 comment: use new context entity in system report. 2023-08-02 08:05:50 +01:00
Paul Holden d8df4ad675 MDL-78117 reportbuilder: use context entity in report sources.
Deprecate existing columns, to be replaced by corresponding elements
from the new entity.
2023-08-02 08:05:50 +01:00
Paul Holden beea104246 MDL-78117 reportbuilder: create new context report entity.
Encapsulate context related data in columns to replace similar in
other entities, add new context level filter.
2023-08-02 08:05:50 +01:00
Sara Arjona a6affc9271 Merge branch 'MDL-78460' of https://github.com/paulholden/moodle 2023-08-02 08:51:01 +02:00
Sara Arjona 446dc6c65f Merge branch 'MDL-78708-master' of https://github.com/roland04/moodle 2023-08-02 08:47:15 +02:00
Sara Arjona 5f24cb0b60 Merge branch 'MDL-78289-master' of https://github.com/roland04/moodle 2023-08-02 08:43:26 +02:00
Ilya Tregubov 1f596a5939 Merge branch 'MDL-78101' of https://github.com/Chocolate-lightning/moodle 2023-08-02 14:30:37 +08:00
Sara Arjona 632d500bce Merge branch 'MDL-78430-patch' of https://github.com/ilyatregubov/moodle 2023-08-02 07:40:01 +02:00
Ilya Tregubov 70de576893 Merge branch 'master_MDL-78571' of https://github.com/mattporritt/moodle 2023-08-02 12:11:44 +08:00
Jun Pataleta ce131c354a Merge branch 'MDL-78498-master' of https://github.com/lameze/moodle 2023-08-02 11:23:18 +08:00
Mathew May 5282ddd170 MDL-78101 gradereport_grader: Select all collapsed columns functionality 2023-08-02 10:52:40 +08:00
Ilya Tregubov 3f16a97a2d MDL-78430 core_grades: Support grades categories and outcomes 2023-08-02 10:29:38 +08:00
Sara Arjona c1d805a676 Merge branch 'MDL-78738-master' of https://github.com/andrewnicols/moodle 2023-08-01 16:24:42 +02:00
Mikel Martín 628336f639 MDL-78708 core_courseformat: Fix activity icon link shown without access
In course page activity icon was showing as a link even when the user
does not have access to the activity. This commit fixes this behaviour
checking if activity is visible for the user and showing the icon without
link if not.
2023-08-01 16:03:10 +02:00
Sara Arjona 612b8e0891 Merge branch 'MDL-71421' of https://github.com/paulholden/moodle 2023-08-01 15:17:20 +02:00
Sara Arjona 025e05f980 Merge branch 'MDL-78107' of https://github.com/Chocolate-lightning/moodle 2023-08-01 14:07:58 +02:00
Sara Arjona 5c53122494 Merge branch 'MDL-78575-fix' of https://github.com/paulholden/moodle 2023-08-01 13:59:56 +02:00
Andrew Nicols 8b97071c94 MDL-78738 core_communication: Set avatar from a stored_file
We should always use a stored_file instance to set the avatar, and never
a data uri. Especially where the datauri is from Moodle itself.

This change requires a number of changes in associated locations.

I am not adding this change to any upgrade notes as this is a
master-only feature.

Note: I have removed some tests and will not consider fixing them
because I will be entirely removing that test file in a subsequent issue
(MDL-77917).
2023-08-01 19:50:14 +08:00
Andrew Nicols 0a5c1ea5f9 MDL-78738 core_course: Add helper to get the course image 2023-08-01 19:50:14 +08:00
Andrew Nicols 235d5b9b72 MDL-78738 core_testing: Add helper to run adhoc tasks 2023-08-01 19:50:13 +08:00
Paul Holden 3b6fcd1f5b MDL-78575 mod_lti: remove column alias from inner sub-select.
The `usage` alias is a reserved word in MySQL/MariaDB.
2023-08-01 12:46:18 +01:00
Sara Arjona 84257e4aa3 Merge branch 'MDL-78703' of https://github.com/paulholden/moodle 2023-08-01 13:44:53 +02:00
Paul Holden c1c000aa15 MDL-71421 core: deprecate openssl fallbacks in encryption library.
Since c66dc591 the PHP Sodium library is required, negating the need
for the OpenSSL equivalent. Remove fallbacks where possible, leaving
only the ability to decrypt legacy OpenSSL-encrypted content (with
debugging).
2023-08-01 12:10:36 +01:00
Sara Arjona 3e4157b21f Merge branch 'MDL-78430-master-2' of https://github.com/ilyatregubov/moodle 2023-08-01 13:02:47 +02:00
Sara Arjona 8e6c3c0dcb Merge branch 'MDL-78723-master' of https://github.com/andrewnicols/moodle 2023-08-01 12:07:40 +02:00
Paul Holden 70dff40d77 MDL-78688 admin: define accepted filetype for uploaded preset file. 2023-08-01 10:23:14 +01:00
Paul Holden 24ce2bb86f MDL-78579 mod_glossary: show approval pending count in navigation. 2023-08-01 10:21:44 +01:00
danghieu1407 a5af041c40 MDL-78866 question: question_created trigger pre-saving extra fields 2023-08-01 16:01:31 +07:00
Andrew Nicols 01a1210954 MDL-78289 courseformat: Amend behat tests to reduce test overheads 2023-08-01 09:45:47 +02:00
Mikel Martín 8ff60512fb MDL-78289 core_courseformat: New completion dropdown buttons UI
- Update completion dropdown button styles for students depending on activity
overall completion status.
- Add new behat partial named selector 'core_courseformat > Activity completion'
- Add new behat Feature to test activity completion criteria button or dropdown
for students and teachers.
2023-08-01 09:41:21 +02:00
Simey Lameze 4e754bd337 MDL-78498 behat: add support for private replies
This commit adds support for private replies in the
'the following forum replies exist in course' custom step.
2023-08-01 13:39:52 +08:00
Angelia Dela Cruz ebbe96905a MDL-78498 Behat: Use data generators for forum posts and replies
This commit does few things:
* Replace manual forum posts and replies to use data generator.
* It also changes the code to handle social forums.
* Other behat clean-ups and optimization.

Co-authored-by: Simey Lameze <simey@moodle.com>
2023-08-01 13:39:52 +08:00
Mathew May b2e1121fc0 MDL-77639 gradebook_setup: Create outcomes via dyn form 2023-08-01 11:34:04 +07:00
Dan Marsden 8dbff42716 MDL-78865 mod_scorm: AICC HACP - fix update of total time value. 2023-08-01 14:47:51 +12:00
Andrew Nicols 30f7e50770 Merge branch 'MDL-78575-master' of https://github.com/snake/moodle 2023-08-01 09:38:15 +08:00
Andrew Nicols 37b27a3853 MDL-78632 core: Update upgrade versions 2023-08-01 09:29:34 +08:00
Andrew Nicols 455db24747 Merge branch 'MDL-78632' of https://github.com/marcusboon/moodle 2023-08-01 09:27:10 +08:00
Tomo Tsuyuki eacffa413e MDL-77378 qtype_multianswer: Fix division by zero errors 2023-08-01 11:24:32 +10:00
Iñaki Arenaza ca93d7eccc MDL-78481 mod_lesson: matching pagetype applying filters fix 2023-07-31 16:22:30 +02:00
Michael Aherne 4dffe0f23b MDL-78235 userprofile: Check for defaultdata with isset(). 2023-07-31 19:32:07 +08:00
Sara Arjona d7dfae00a2 Merge branch 'MDL-45452-course_completion_excel_dates' of https://github.com/leonstr/moodle 2023-07-31 12:47:46 +02:00
Paul Holden 124113515e MDL-78858 grade: set types on aggregation form text fields. 2023-07-31 11:27:29 +01:00
Paul Holden 5c3f296138 MDL-71331 course: final removal of non-AJAX activity control method. 2023-07-31 09:06:47 +01:00
Paul Holden 334b6c75a4 MDL-71196 completion: final removal of get_completion_state support. 2023-07-31 09:04:03 +01:00
Jun Pataleta 43553f5f08 Merge branch 'MDL-76338-master' of https://github.com/junpataleta/moodle 2023-07-31 13:38:16 +08:00
Matt Porritt 668057c3eb MDL-50160 Administration: HTTP only cookies default set to on.
This patch removes the UI setting (cookiehttponly) for HTTP only
cookies. For new installs HTTP only cookies will default to on.
For existing sites teh behaviour will stay as set.
The behaviour can be overriden in config.php
2023-07-31 14:09:30 +10:00
Ilya Tregubov aa06409241 Merge branch 'master_MDL-62401' of https://github.com/mattporritt/moodle 2023-07-31 12:00:42 +08:00
Jun Pataleta 2f31f35e06 MDL-76338 contentbank: Add copy content capability lang strings 2023-07-31 11:41:34 +08:00
Andrew Nicols cad1c7d008 MDL-77174 core: Modal z-index calc should ignore hidden items
When an AMD dialogue is opened from a YUI dialogue, the YUI dialogue is
not actually removed from the DOM, but was counted in z-index
calculation.

We need to stop including it otherwise nested AMD => YUI => AMD
dialogues get broken.
2023-07-31 10:57:09 +08:00
Andrew Nicols 56260354b1 MDL-77174 filemanager: Switch from YUI dialogue to utility modal 2023-07-31 10:57:09 +08:00
Andrew Nicols 10838ef878 MDL-77174 gradeform: Switch from YUI dialogue to utility modal 2023-07-31 10:56:23 +08:00
Andrew Nicols 222c43f8eb MDL-77174 mod_quiz: Switch from YUI dialogue to utility modal 2023-07-31 10:56:22 +08:00
Andrew Nicols dbf3bccf99 MDL-77174 core: Add support for button sources to modal utility 2023-07-31 10:56:22 +08:00
Andrew Nicols c6e987f525 MDL-77174 core_payment: Switch to utility modal 2023-07-31 10:56:22 +08:00
Andrew Nicols 715902c9c0 MDL-77174 core: Provide default anchor support to modal utility 2023-07-31 10:56:22 +08:00
Andrew Nicols 96dfb8382e MDL-77174 core: Provide default strings for modal utility 2023-07-31 10:56:22 +08:00
Andrew Nicols d20b272df7 MDL-77174 mod_quiz: Remove usage of moodle-core-nofification-alert 2023-07-31 10:56:21 +08:00
Andrew Nicols 43575489e9 MDL-77174 core: Deprecate moodle-core-notification-confirm 2023-07-31 10:56:21 +08:00
Andrew Nicols d860566a50 MDL-77174 editor_atto: Drop unused dependency 2023-07-31 10:56:21 +08:00
Andrew Nicols 2e706ee5fb MDL-77174 mod_quiz: Update toolbox to drop YUI confirm module 2023-07-31 10:56:21 +08:00
Andrew Nicols 650fb3ba43 MDL-77174 enrol: Update role manager to drop YUI confirm module 2023-07-31 10:56:21 +08:00
Andrew Nicols 95d82058af MDL-77174 course: Update course move to drop YUI confirm usage 2023-07-31 10:56:21 +08:00
Andrew Nicols bee509fb81 MDL-77174 js: Update M.util.show_confirm_dialog to use ESM/AMD
This commit updates the M.util.show_confirm_dialog function to modify
its underlying behaviour to use the core/notification::saveCancelPromise
features.

This will allow us to work towards deprecating
moodle-core-notification-confirm
2023-07-31 10:56:19 +08:00
Andrew Nicols 42d3e7de14 MDL-77174 core: Add getElement to core/normalise 2023-07-31 10:56:04 +08:00
Matt Porritt 04f0448d26 MDL-78571 Media: Allow Vimeo do not track option
Add config option to embed Vimeo links using the "do not track"
Vimeo option. This will block the player from tracking any
session data, including all cookies and analytics.
2023-07-31 12:07:26 +10:00
Matt Porritt 0d0e543007 MDL-78571 Media: Refactor Vimeo media player to use templates.
Use mustache templates for rendering Vimeo embed
iframe code.
2023-07-31 12:05:51 +10:00
Ilya Tregubov 6958389431 Merge branch 'MDL-78043' of https://github.com/Chocolate-lightning/moodle 2023-07-31 08:49:14 +08:00
Daniel Neis Araujo d124df500c MDL-76338 contentbank: copy content in content bank 2023-07-28 17:05:57 -03:00
Juan Leyva 81b4677ddb MDL-78801 tool_mobile: Auto logout settings 2023-07-28 14:25:37 +02:00
Jun Pataleta eaa1ce1830 MDL-78550 core: Ensure spacing between more menu item attributes 2023-07-28 17:46:56 +08:00
Jun Pataleta 668d287235 MDL-78550 grade: Hide empty fillers from the accessibility tree
* And remove the title attribute for the filler as it is unnecessary.
2023-07-28 17:46:56 +08:00
Jun Pataleta ad6d554ac1 MDL-78550 grade: Remove duplicate class for single button 2023-07-28 17:46:56 +08:00
Jun Pataleta 00e69c97ee MDL-78550 grade: Avoid rendering an empty <h2> heading 2023-07-28 16:28:29 +08:00
Jun Pataleta a7a9182262 MDL-78550 grade: Fix HTML validator errors
* Remove invalid "text" attribute in <td> elements
* Use proper id value for grade category checkboxes.
2023-07-28 16:28:29 +08:00
Ilya Tregubov 8eb2d5f836 MDL-78430 core_grades: Add Behat tests. 2023-07-28 16:16:21 +08:00
Mihail Geshoski b5a87c1919 MDL-78430 core_grades: Carry over basic grade item data to advanced form 2023-07-28 16:16:19 +08:00
Jun Pataleta 68a505fddd Merge branch 'MDL-77975-master' of https://github.com/kevpercy/moodle 2023-07-28 16:02:47 +08:00
Marcus Boon c22f82d7d5 MDL-78632 filetypes: Introduce yaml file type 2023-07-28 15:26:34 +10:00
Ilya Tregubov a1d5d1b2f7 weekly release 4.3dev 2023-07-28 10:44:05 +08:00
Ilya Tregubov 4878f53827 NOBUG: Fixed SVG browser compatibility 2023-07-28 10:44:01 +08:00
Mathew May 5e5d3b9f3c MDL-78107 core: Change the manual grade item icon 2023-07-27 16:34:10 +08:00
Jun Pataleta 08a48a9090 Merge branch 'MDL-78283-master' of https://github.com/ferranrecio/moodle 2023-07-27 14:48:15 +08:00
Jun Pataleta 26ba9c7351 Merge branch 'MDL-78282-master' of https://github.com/ferranrecio/moodle 2023-07-27 14:47:14 +08:00
Ilya Tregubov 70174bb754 Merge branch 'MDL-78782-master' of https://github.com/ferranrecio/moodle 2023-07-27 14:47:14 +08:00
Ilya Tregubov 01593b9332 Merge branch 'MDL-46279' of https://github.com/danmarsden/moodle 2023-07-27 14:47:13 +08:00
Ferran Recio a586e952ff MDL-78282 output: new sr_text renderer method
Some output classes require pre-rendered elements. In some cases, those
elements require some screen reader extra texts (especially in buttons).
The st_text method allow the outputs to create those inline tags without
using html_writer. Furthermore, the current screen reader classes are
based on bootstrap, having them isolated in renderer methods allow
themes to implement alternatives accessibility HTML structures.
2023-07-26 15:44:28 +02:00
Ferran Recio 01e0e56665 MDL-78282 core_courseformat: interactive visibility badges 2023-07-26 15:44:28 +02:00
Ferran Recio b2b1915e25 MDL-78282 core_courseformat: add non-ajax cm actions translation 2023-07-26 15:44:28 +02:00
Ferran Recio 965d556b6b MDL-78782 behat: optimize with editing mode step
The current I am on course homepage with editing mode loads twice the
course page. This patch prevents this from happening by going directly
to editmode.php.
2023-07-26 10:44:45 +02:00
Neill Magill 3a06a2f7dd MDL-71909 assignfeedback_editpdf: Do not queue conversions when not on
Before this change conversion tasks would be queued for assignments that
did not have the pdf annotation method enabled.

The change will also prevent queing when the plugin is disabled.
2023-07-26 08:43:39 +01:00
Huong Nguyen 21cfb43408 Merge branch 'MDL-78618' of https://github.com/larsbonczek/moodle 2023-07-26 14:21:31 +07:00
Matt Porritt d0a5e3fb39 MDL-62401 Media: Embed Youtube Videos with nocookie extension
Add config option to embed YouTube links using the youtube-nocookie.com
YouTube domain. This will stop extra YouTube cookies from being added
to the users computer it also stops calls to certain add tracking sites.
2023-07-26 15:57:05 +10:00
Matt Porritt 6d38972cbc MDL-62401 Media: Embed Youtube Videos with nocookie extension
Refactor YouTube media player to use templates.
Use mustache templates for rendering YouTube embed
iframe code.
2023-07-26 15:54:29 +10:00
Jun Pataleta b12e77119e Merge branch 'MDL-78377' of https://github.com/paulholden/moodle 2023-07-26 10:47:41 +08:00
Jun Pataleta d8bfb8ff3c Merge branch 'MDL-70135' of https://github.com/paulholden/moodle 2023-07-26 10:45:55 +08:00
Ilya Tregubov c7529aaee0 Merge branch 'MDL-44190-master' of https://github.com/HuongNV13/moodle 2023-07-26 09:48:18 +08:00
Mark Webster 1a561c23e6 MDL-78492 dml: Better support for auroramysql
Aurora MySQL does not support row format COMPRESSED and falls back
to COMPACT if you try to use it, cuasing column size too large
errors if you try to use it with utf8mb4 collation.
2023-07-25 11:56:50 +01:00
Jun Pataleta 8438a7d03b Merge branch 'MDL-77638-master' of https://github.com/ilyatregubov/moodle 2023-07-25 17:56:59 +08:00
Ilya Tregubov 1d3f4d631d MDL-77638 grade: Create add/edit grade category modal. 2023-07-25 17:05:41 +08:00
Miri Lipson 0a6693ec4f MDL-75047 icons: Define the orientation of the question mark in right-to-left languages. 2023-07-25 10:54:28 +03:00
Alex Yeung 10ec24e455 MDL-78811 check: fix duplicate column contextid warning 2023-07-24 22:34:28 +01:00
Leon Stringer 9888a75991 MDL-78700 filter_tidy: Stop using 'clean'
When libtidy removed option 'drop-font-tags' the docs said to use the
'clean' option instead (see MDL-69951).  However, 'clean' replaces
legacy style information with classes, the corresponding CSS added in
<head>.  With 'show-body-only' (used because we're inserting an HTML
fragment mid-way through <body>) that <head> with its CSS is omitted.
So 'clean' with 'show-body-only' removes legacy style information,
rather than tidying it. Consequently we now drop the 'clean' option.
This means <font> tags are no longer dropped as libtidy currently has
no equivalent to the removed 'drop-font-tags' functionality.
2023-07-24 17:30:14 +01:00
Andrew Nicols f067d6004f MDL-78723 communication_matrix: Address issues with user manager
This commit addresses a number of issues with the Matrix user manager.
These are, unfortunately, tough to break out into smaller commits.

The following issues are addressed:

Matrix usernames should be kept intact in the profile field. Prior to
this change, usernames were mangled and the hostname removed entirely.
Instead the hostname was added back when it is used. This approach is
not suited to a case where a user inserts their own matrix username on a
federated server.

Unit tests should have the minimum of requirements and dependencies.
Prior to this change, unit tests were setting up an entire mock system
which was completely unnecessary. These unit tests should only test the
static methods that they claim to test, not the entire communication
subsystem, matrix API, matrix client, processors, and providers.

Matrix host names should not be curtailed. Prior to this change the
hostname of the matrix server was modified if it contained any .
characters. For example, the following changes were previously made:

| hostname           | before  | after              |
| ------------------ | ------- | ------------------ |
| matrix.example.com | matrix  | matrix.example.com |
| www.example.com    | example | example.com        |

I believe that the original intent was to strip the www from the front,
but this is not documented anywhere that I have found. In any case, the
username should be the completed and fully-qualified username.

Many of the methods were poorly named:
- `set_qualified_matrix_user_id` is actually a userid formatter.
  This has been replaced with `get_formatted_matrix_userid`.
- `set_matrix_home_server` is actually a hostname formatter.
  This has been replaced with `get_formatted_matrix_home_server`.
- `add_user_matrix_id_to_moodle` sets the matrix userid for a moodle
  user, it does not add more than one.
  This has been replaced with `set_matrix_userid_in_moodle`.

The `set_qualified_matrix_user_id` method was silently returning with a
false value if the profile custom field did not exist, but the
`get_matrixid_from_moodle` method was creating the profile custom field
in the same situation. These have been swapped so a set operation will
create the field if it does not exist, but a get operation will not.
2023-07-24 10:35:52 +08:00
Paul Holden e630700fda MDL-78761 enrol: correct enrolment suspended state report filter. 2023-07-21 17:12:32 +01:00
Leon Stringer d2a563e79b MDL-45452 report_completion: Excel date format
When using either of the CSV download links (spreadsheet format or Excel-
compatible format) use an Excel-compatible format for date/times.

Co-Authored-By: Ray Morris <Ray.Morris@teex.tamu.edu>
2023-07-21 15:03:48 +01:00
Huong Nguyen b4cd63746a weekly release 4.3dev 2023-07-21 20:56:24 +07:00
Huong Nguyen fe43dbd421 NOBUG: Fixed SVG browser compatibility 2023-07-21 20:56:23 +07:00
Huong Nguyen 0b5e6c2314 Merge branch 'install_master' of https://git.in.moodle.com/amosbot/moodle-install 2023-07-21 20:56:21 +07:00
Dan Marsden a5ae5e6035 MDL-46279 mod_scorm: Fix updating of scorm values on re-entry to scorm. 2023-07-21 19:45:43 +12:00
Huong Nguyen 4d854e0f90 Merge branch 'MDL-78525-master' of github.com:HuongNV13/moodle 2023-07-21 11:59:10 +08:00
Huong Nguyen 14998e157d MDL-78525 core: Update upgrade.txt for count_words and count_letters 2023-07-21 11:59:10 +08:00
Ilya Tregubov 2e53b399b3 Merge branch 'MDL-76854-subscription_deleted' of https://github.com/leonstr/moodle 2023-07-21 11:59:09 +08:00
Huong Nguyen 9317d00bfb Merge branch 'MDL-78525/master' of https://github.com/skodak/moodle 2023-07-21 11:59:09 +08:00
Ilya Tregubov e55e256fe9 Merge branch 'MDL-75115-master' of https://github.com/meirzamoodle/moodle 2023-07-21 11:59:09 +08:00
Ilya Tregubov 74760c0e8f Merge branch 'MDL-76710-master' of https://github.com/call-learning/moodle 2023-07-21 11:59:08 +08:00
Andrew Nicols 703acdd148 Merge branch 'MDL-78716' of https://github.com/paulholden/moodle 2023-07-21 11:59:08 +08:00
Andrew Nicols ec4c6aa486 Merge branch 'MDL-78715' of https://github.com/paulholden/moodle 2023-07-21 11:59:07 +08:00
Andrew Nicols 56fa3ec14c Merge branch 'MDL-77645' of https://github.com/paulholden/moodle 2023-07-21 11:59:07 +08:00
Andrew Nicols b701a934ef Merge branch 'MDL-78719' of https://github.com/paulholden/moodle 2023-07-21 11:59:07 +08:00
Andrew Nicols 0eaafc713c Merge branch 'MDL-78280-master' of https://github.com/roland04/moodle 2023-07-21 11:59:05 +08:00
Andrew Nicols ae6cd11da9 Merge branch 'MDL-78503' of https://github.com/paulholden/moodle 2023-07-21 11:58:37 +08:00
Andrew Nicols 754868e462 Merge branch 'MDL-78532' of https://github.com/paulholden/moodle 2023-07-21 11:58:36 +08:00
Andrew Nicols de919962ea Merge branch 'MDL-77328-master-fix' of https://github.com/junpataleta/moodle 2023-07-21 11:58:36 +08:00
Andrew Nicols 094f5dbb5b Merge branch 'MDL-77745_master' of https://github.com/marxjohnson/moodle 2023-07-21 11:58:34 +08:00
Andrew Nicols b35160fda6 Merge branch 'MDL-78704-master' of https://github.com/rjnl/moodle 2023-07-21 11:57:16 +08:00
Jun Pataleta 26905eeb93 MDL-77328 question: Declare $qbank as a proper view_component property 2023-07-21 11:57:14 +08:00
Jun Pataleta 73259066c4 MDL-77328 qformat_xml: Avoid dynamic declaration for question_answer
Declare qformat_xml::answerfiles and qformat_xml::feedbackfiles instead
of dynamically declaring answerfiles and feedbackfiles for the
question_answer instance when exporting questions and answers to XML
format.
2023-07-21 11:57:14 +08:00
Jun Pataleta 185c14ad1a MDL-77328 qtype_caclulatedmulti: Use qtype_calculated_answer
The question answers for question type plugins extending
\qtype_calculated now have the type
\qtype_calculated\qtype_calculated_answer. So the answers for test
helper functions make_calculatedmulti_question_singleresponse() and
make_calculatedmulti_question_multiresponse() should also be changed
accordingly.
2023-07-21 11:57:13 +08:00
Jun Pataleta 9119d4513f MDL-77328 qtype_caclulatedsimple: Use qtype_calculated_answer
The question answers for question type plugins extending
\qtype_calculated now have the type
\qtype_calculated\qtype_calculated_answer. So the answers for
make_calculatedsimple_question_sum() should be changed accordingly.
2023-07-21 11:57:13 +08:00
Jun Pataleta 6ec75e40e0 MDL-77328 qtype_calculated: Add upgrade.txt notes
* Question type plugins that extend qtype_calculated should be made
aware of the changes about the new question_answer type
\qtype_calculated\qtype_calculated_answer.
2023-07-21 11:57:13 +08:00
Jun Pataleta fa3395bb8b Merge branch 'MDL-77328-master' of https://github.com/rezaies/moodle 2023-07-21 11:57:12 +08:00
Paul Holden aa4ae8f376 MDL-78742 tool_uploadcourse: configure show activity dates value. 2023-07-20 16:28:36 +01:00
Kevin Percy ead1e95032 MDL-77975 tool_usertours: Added tour for 4.2 grader report changes 2023-07-20 15:55:12 +08:00
Jun Pataleta 8764f03abf MDL-78770 tiny_recordrtc: Use proper window.console.warn() function 2023-07-20 14:22:14 +08:00
Jun Pataleta 4c233cdc51 MDL-78770 atto_recordrtc: Use proper window.console.warn() function 2023-07-20 14:22:01 +08:00
Khoa Nguyen Dang 7c9ecb192b MDL-78749 Accessibility\Quiz: Previous attempt table caption missing 2023-07-20 10:18:06 +07:00
Ilya Tregubov 565dbaa573 MDL-77447 gradereport_singleview: Add grade status icons 2023-07-20 10:55:21 +08:00
Ilya Tregubov 62588d8fb1 MDL-77447 gradereport_user: Add grade status icons. 2023-07-20 10:55:21 +08:00
Ilya Tregubov 5d4a322238 MDL-77447 core_grades: Create grade statuses template. 2023-07-20 10:55:20 +08:00
Ferran Recio 6e1fff1a57 MDL-78283 core_courseformat: group mode dropdown 2023-07-19 17:52:00 +02:00
Ferran Recio b121e998a9 MDL-78283 theme_boost: parent focus css helper 2023-07-19 17:22:35 +02:00
Mikel Martín 530691b1ca MDL-78280 completion: Fix behat for new completion UI
- The following behat step definitions were modified to work correctly both for course page conditions dialog and activity page
condition badges: 'activity_completion_condition_displayed_as', 'overridden_activity_completion_condition_displayed_as'
and 'activity_should_have_the_completion_condition'.
- Because now "Mark as done" manual completion button is not displayed for teachers in course homepage,
some behat steps were also modified.
2023-07-19 16:44:54 +02:00
Mikel Martín e5908a1ce4 MDL-78280 core_courseformat: New completion dropdown UI
- Move completion information to a new output class 'core_courseformat\output\local\content\cm\completion'
- Replace current dropdown with 'core\output\local\dropdown\dialog'
- Modify manual conditions logic in course page. Now 'Mark as done' button will only be displayed to
tracked users (with moodle/course:isincompletionreports capability)
- Add new styles for completion dialog contents
2023-07-19 16:44:54 +02:00
Mikel Martín 96d6b3675f MDL-78280 completion: Add is_manual() method to cm_completion_details 2023-07-19 16:44:54 +02:00
Mikel Martín ef583b2ad3 MDL-78280 pix: Add dot icon 2023-07-19 16:44:54 +02:00
Laurent David 664bc729fe MDL-76710 mod_bigbluebuttonbn: Action URL addons subplugin
* Add action URL extension point
2023-07-19 15:05:09 +02:00
Laurent David dfeedc5dab MDL-76710 mod_bigbluebuttonbn: Subplugin implementation
* Setup the base for extension type of plugins
    * Add basic unit test for extension plugin (callback and classes)
2023-07-19 15:05:09 +02:00
Huong Nguyen 728cdc0284 MDL-44190 backup: Always use the course context for course search 2023-07-19 11:26:55 +07:00
Huong Nguyen 18dca30eca MDL-44190 backup: Current course will be selected by default 2023-07-19 09:17:56 +07:00
AMOS bot f0db3c7a73 Automatically generated installer lang files 2023-07-19 00:11:08 +00:00
Paul Holden 36ab5e5d1a MDL-78532 reportbuilder: external method for retrieving system report. 2023-07-18 12:05:07 +01:00
Paul Holden ad06206508 MDL-78503 webservice: include token last access time in reports. 2023-07-18 09:19:24 +01:00
Andrew Nicols fb1d2f6367 Merge branch 'MDL-78543' of https://github.com/skodak/moodle 2023-07-18 15:42:18 +08:00
Jake Dallimore bba8388306 Merge branch 'MDL-74869-activity-icon-color-map' of https://github.com/Benjamin-unige/moodle 2023-07-18 14:45:56 +08:00
Jun Pataleta 9ad85f7e9b Merge branch 'MDL-78517-master' of https://github.com/sarjona/moodle 2023-07-18 13:15:07 +08:00
Dan Marsden 7f76e85397 MDL-46279 mod_scorm: re-factor database tables. 2023-07-18 16:10:47 +12:00
Shamim Rezaie dedbcaf074 Merge branch 'MDL-78564' of https://github.com/paulholden/moodle 2023-07-17 20:36:53 +10:00
Jake Dallimore a99e8fbdac MDL-78575 mod_lti: use activity icon styling for course tool icons 2023-07-17 09:22:18 +08:00
Jake Dallimore 51cc455525 MDL-78575 mod_lti: Add deletion support to course tools page 2023-07-17 09:22:18 +08:00
Jake Dallimore 5e077e1e46 MDL-78575 mod_lti: add behat coverage of course tools list page 2023-07-17 09:22:18 +08:00
Jake Dallimore 8d455f5adb MDL-78575 mod_lti: add course tool editing form as standalone page
This handles create/edit of course tools. Deletion will be supported via
an action and modal confirm on the coursetools listing page.
2023-07-17 09:22:17 +08:00
Leon Stringer c1ebab394d MDL-76854 tool_monitor: subscription_deleted ctx
Fix course context for subscription_deleted event when deleting rules
with multiple subscriptions.
2023-07-15 08:10:46 +01:00
Paul Holden 0eb34a4725 MDL-78703 behat: fix HTTP GET method capitalization on redirect. 2023-07-15 00:55:15 +01:00
Paul Holden d0d6938271 MDL-78719 tool_dataprivacy: prefetch correct select courses string. 2023-07-14 19:13:05 +01:00
Paul Holden 5fe5f398e2 MDL-78715 payment: prevent action menus flowing under container. 2023-07-14 17:12:51 +01:00
Paul Holden 82d06db348 MDL-78716 course: fix category idnumber updating logic.
Where only the case of the idnumber field was being updated, we
triggered an exception because checking for an exising idnumber
was not excluding the current category (i.e. the one being updated).
2023-07-14 15:11:07 +01:00
Paul Holden 90520abb4f MDL-78460 mod_forum: correctly render timed post label information. 2023-07-14 10:12:43 +01:00
Paul Holden 3fc5b80bc3 MDL-70135 mod_forum: reset formchangechecker when cancelling reply. 2023-07-14 10:08:17 +01:00
Paul Holden 6634a68487 MDL-70135 mod_forum: formchangechecker for inline discussion creation. 2023-07-14 10:08:17 +01:00
Benjamin Abraham c8482f09c6 MDL-74869 theme: Moved activity icon color into variables
Moved colors of the activity-icon-colors map into variables
with default value to make them easy to override.
2023-07-14 09:46:55 +02:00
Petr Skoda c1bb36eadb MDL-78543 admin: fix invalid default email setting with localhost site 2023-07-14 08:47:20 +02:00
Petr Skoda 24c416592c MDL-78543 admin: fix stored file setting default application 2023-07-14 08:47:20 +02:00
Petr Skoda 92446838ab MDL-78543 admin: refactor admin_apply_default_settings() 2023-07-14 08:47:20 +02:00
Petr Skoda 48df84a4a3 MDL-78525 core: fix word and character counting 2023-07-14 08:44:41 +02:00
Sara Arjona 47ba5d207c MDL-78517 completion: Homogenize the module settings
Reuse the code between default course completion settings and
activity completion form to avoid duplicating efforts and missing
features, as happened with the grading forum.
2023-07-14 07:09:04 +02:00
Jake Dallimore a8f496e48e MDL-78575 mod_lti: add course tools page to course
Uses a reportbuilder report to display course tools.
2023-07-14 11:00:29 +08:00
Ilya Tregubov e77452220b weekly release 4.3dev 2023-07-14 09:25:31 +08:00
Sara Arjona 8ecebfcc42 Merge branch 'MDL-76757-fixup' of https://github.com/timhunt/moodle 2023-07-13 21:42:09 +02:00
Tim Hunt 3ea0bdfba6 MDL-76757 delete questions: fix message generation logic
The order was getting scrambled.
2023-07-13 17:10:13 +01:00
Sara Arjona 2e78301afb Merge branch 'MDL-78288-master' of https://github.com/aanabit/moodle 2023-07-13 16:51:37 +02:00
Jun Pataleta 844257a539 Merge branch 'MDL-76046-master' of https://github.com/stevandoMoodle/moodle 2023-07-13 16:51:37 +02:00
Huong Nguyen 9f6e80f696 Merge branch 'MDL-75195-master' of https://github.com/raortegar/moodle 2023-07-13 16:51:04 +02:00
Huong Nguyen 5156669404 Merge branch 'MDL-50272' of https://github.com/paulholden/moodle 2023-07-13 16:51:04 +02:00
Huong Nguyen 256f83cc34 Merge branch 'MDL-76757-master' of https://github.com/danghieu1407/moodle 2023-07-13 16:51:04 +02:00
Andrew Nicols 3ed796bc10 Merge branch 'MDL-75125_master' of https://github.com/marxjohnson/moodle 2023-07-13 16:51:03 +02:00
Ilya Tregubov c2a9b7b11d Merge branch 'mdl-7133-master' of https://github.com/juancs/moodle 2023-07-13 16:49:59 +02:00
Jake Dallimore 66e6111165 Merge branch 'MDL-77912' of https://github.com/timhunt/moodle 2023-07-13 16:49:59 +02:00
Andrew Nicols 6d8db08c35 Merge branch 'MDL-78567-master' of https://github.com/stevandoMoodle/moodle 2023-07-13 16:49:59 +02:00
Andrew Nicols 19dbec600f Merge branch 'MDL-78157-master' of https://github.com/golenkovm/moodle 2023-07-13 16:49:59 +02:00
Andrew Nicols 837f57d218 Merge branch 'MDL-78556-master' of https://github.com/danghieu1407/moodle 2023-07-13 16:49:59 +02:00
Andrew Nicols 6c1cabaa3c Merge branch 'MDL-76996' of https://github.com/timhunt/moodle 2023-07-13 16:49:59 +02:00
Andrew Nicols 379a7cfb15 Merge branch 'MDL-78109-master' of https://github.com/sammarshallou/moodle 2023-07-13 16:49:59 +02:00
Ilya Tregubov 09c7cd98f4 Merge branch 'MDL-73213' of https://github.com/pedrojordao/moodle 2023-07-13 16:49:58 +02:00
Andrew Nicols 5d1a115c64 Merge branch 'MDL-78587' of https://github.com/paulholden/moodle 2023-07-13 16:49:58 +02:00
Sara Arjona f01927885f Merge branch 'MDL-78673-master' of https://github.com/andrewnicols/moodle 2023-07-13 16:49:58 +02:00
Andrew Nicols af1af32037 Merge branch 'MDL-77450-master' of https://github.com/andelacruz/moodle 2023-07-13 16:49:58 +02:00
Andrew Nicols 82b4aae101 Merge branch 'MDL-78676-master' of https://github.com/sarjona/moodle 2023-07-13 16:49:58 +02:00
Sara Arjona 675569572d Merge branch 'MDL-78455-master' of https://github.com/andelacruz/moodle 2023-07-13 16:49:58 +02:00
Sara Arjona 79829fb12c Merge branch 'MDL-78642' of https://github.com/paulholden/moodle 2023-07-13 16:49:58 +02:00
Sara Arjona 075377a996 Merge branch 'MDL-78522-master' of https://github.com/ilyatregubov/moodle 2023-07-13 16:49:58 +02:00
Sara Arjona 2c3f4d3ae9 Merge branch 'MDL-78288-master' of https://github.com/aanabit/moodle 2023-07-13 16:49:56 +02:00
Sara Arjona 65d2f9cddb Merge branch '76319-gradebook-add-missing-continue-button-master' of https://github.com/DSI-Universite-Rennes2/moodle 2023-07-13 16:49:28 +02:00
Jake Dallimore f508921418 Merge branch 'MDL-74568-master' of https://github.com/rmady/moodle 2023-07-13 16:49:28 +02:00
Meirza 2eb879360c MDL-77328 qtype_multianswer: Refactor for PHP 8.2 compatibility
This commit addresses compatibility issues in the qtype_multianswer
question type. The following changes were made:

- The usage of the undeclared property $maxmark on subquestions in
  qtype_multianswer was identified as problematic. To resolve this,
  the existing declared property $defaultmark is now being used for
  the same purpose.

By switching to the declared property $defaultmark, compatibility with
PHP 8.2 is ensured and the issue with the undeclared property is
resolved.
2023-07-13 21:03:23 +10:00
Shamim Rezaie 9f00818d00 MDL-77328 qtype_calculated: Refactor for PHP 8.2 compatibility
This commit addresses compatibility issues in the qtype_calculated
question type. The following problems were identified and resolved:

- qtype_calculated was reusing the qtype_numerical_answer class and
  setting two additional properties ($correctanswerlength and
  $correctanswerformat) that were not declared. To resolve this, a new
  class, qtype_calculated_answer, was defined and utilised.
- During grading in qtype_numerical, there were references to an
  undeclared property ($unitisright) used to track calculation details.
  This issue was fixed using a 'replace temp with query' refactoring.

These changes ensure the qtype_calculated question type is compatible
with PHP 8.2 and addresses the identified issues.
2023-07-13 21:03:23 +10:00
Meirza 2b23c8cee2 MDL-77328 qtype_truefalse: Refactor for PHP 8.2 compatibility
This commit addresses the following issues and improvements in the
qtype_truefalse class:

- Added missing class properties:
 - public $truefeedbackformat
 - public $falsefeedbackformat
 - public $showstandardinstruction
- Updated qtype_truefalse_question to include type hinting for better
  IDE support.
2023-07-13 21:03:22 +10:00
Mark Johnson cc1ae8d5b3 MDL-77745 mod_quiz: Confirm display of question version in behat tests 2023-07-13 11:11:43 +01:00
Mark Johnson ab8a4dd8cb MDL-77745 core_question: Show question version in info box 2023-07-13 11:11:43 +01:00
Amaia Anabitarte 13857d4af9 MDL-78288 core_course: Fixing collapse/expand all changed behavior 2023-07-13 09:32:20 +02:00
Mathew May c0bce6f582 MDL-78043 grades: Migrate delete item confirmation to modal 2023-07-13 13:16:12 +08:00
Rajneel Totaram 43a6eaa142 MDL-78704 course: Render unescaped HTML for activity dates 2023-07-13 13:12:38 +12:00
Paul Holden 1125af7857 MDL-78587 course: use tertiary nav selector on participant pages. 2023-07-12 18:26:23 +01:00
Paul Holden 826553d9eb MDL-78587 behat: page instance resolvers for group overview/groupings. 2023-07-12 18:01:34 +01:00
sam marshall 8df2ac4e98 MDL-78109 core_cache: Remove harmful requirelockingwrite/read options
These cache options are not used in core and would cause a performance
cost without any benefit if ever used. Also they don't work properly.
2023-07-12 15:33:15 +01:00
Paul Holden 58963baba4 MDL-77645 course: ensure active enrolments are considered for drawer.
Otherwise the enrolment index page tries to load the course index
drawer, which doesn't exist at this point and triggers exceptions in
the editor module.

Co-authored-by: Tim Volckmann <tim.volckmann@mastersolution.com>
2023-07-12 14:26:17 +01:00
Amaia Anabitarte 841d552942 MDL-78288 core_course: Hide access restrictions textarea till ready 2023-07-12 14:23:17 +02:00
Amaia Anabitarte 6c1471c755 MDL-78288 core_course: Adding a link to edit availability settings
AMOS BEGIN
  CPY [editsettings,moodle],[editsettings,core_availability]
AMOS END
2023-07-12 14:23:17 +02:00
Amaia Anabitarte b9a840f638 MDL-78288 behat: New availability info selectors
- Create a new availability info selectors for section and activity data info regions
- Replace css_element by created selectors in the existing behat tests
2023-07-12 14:22:56 +02:00
Amaia Anabitarte 290e6f4c6f MDL-78288 core_course: Adding filter_shown_headers option to forms 2023-07-12 14:22:56 +02:00
Tim Hunt 931a4cbd56 MDL-76996 question bank: fix errors when qbank_statistics is disabled 2023-07-12 11:46:38 +01:00
Julien Boulen bed5c86df8 MDL-45743 forum: trigger an event when locking/unlocking a discussion 2023-07-12 10:25:01 +02:00
Julien Boulen 8d36ef8dbc MDL-45743 forum: trigger an event when changing subscription mode 2023-07-12 10:25:01 +02:00
Ilya Tregubov 8219595f7e Merge branch 'MDL-72493-master' of https://github.com/mihailges/moodle 2023-07-12 10:05:54 +08:00
Miri Lipson b8f3b85232 MDL-75115 theme_boost: Fix Bootstrap tooltips in RTL mode 2023-07-12 08:58:56 +07:00
Ilya Tregubov dc88bd8c8d Merge branch 'MDL-78216-master-1' of https://github.com/mihailges/moodle 2023-07-12 09:44:21 +08:00
Tim Hunt 744e6f836e MDL-77912 questions: make multi-choice stats calc robust to bad data 2023-07-11 16:57:11 +01:00
raortegar b914f01316 MDL-75195 core: Added supportemail option to install_database.php 2023-07-11 11:13:03 +02:00
danghieu1407 34bc6214dc MDL-78556 tablelib: flexible_table should support caption tag 2023-07-11 13:40:33 +07:00
Darren Cocco 0f5a9e7680 MDL-72493 mod_quiz: Use question cache when starting attempt.
Replaced custom loading of data and then question object
creation using internal question_bank functionality with
question_bank::load_question.

Removed the call $quizobj->load_questions as it is
redundant.
2023-07-11 13:47:50 +08:00
Angelia Dela Cruz 83a73da1a3 MDL-77450 Behat: Behat cleanup and optimisation 2023-07-11 13:22:02 +08:00
Ilya Tregubov f809ea7cb7 Merge branch 'MDL-67852_MASTER_NEW' of https://github.com/aydevworks/moodle 2023-07-11 11:11:02 +08:00
Ilya Tregubov c44ca828af Merge branch 'MDL-77690-master' of https://github.com/junpataleta/moodle 2023-07-11 09:51:18 +08:00
Ilya Tregubov ffef7024dc Merge branch 'MDL-78633-master' of https://github.com/aanabit/moodle 2023-07-11 09:39:21 +08:00
Ilya Tregubov 29591baf30 Merge branch 'MDL-78183-master' of https://github.com/aanabit/moodle 2023-07-11 09:35:04 +08:00
Ilya Tregubov 254fd16dcd Merge branch 'MDL-75359' of https://github.com/paulholden/moodle 2023-07-11 09:29:20 +08:00
Amaia Anabitarte b14669a34a MDL-78633 core_course: Improve tertiary navigation in course completion 2023-07-10 15:07:50 +02:00
Sara Arjona 97ed236dee Merge branch 'MDL-78279-master' of https://github.com/ferranrecio/moodle 2023-07-10 13:37:27 +02:00
Ferran Recio 205cd5a338 MDL-78279 tool_componentlibrary: add dropdown page 2023-07-10 11:41:20 +02:00
Ferran Recio 2fc8a263a8 MDL-78279 output: behats for dropdown components 2023-07-10 11:41:20 +02:00
Ferran Recio 109a97cff3 MDL-78279 output: new status dropdown component
This compoment allow the user to select a status from a user
choice instance. It is rendered as a dropdown menu triggered by
a button.
2023-07-10 11:41:20 +02:00
Ferran Recio 59bda4137d MDL-78279 output: user choice output class
A class to represent a generic user choice. Other output compoments
can use this output to render user choices like selects, modals or
dropdowns.
2023-07-10 11:41:20 +02:00
Ferran Recio e3645f663b MDL-78279 output: new generic dropdown component 2023-07-10 11:41:19 +02:00
Julien Boulen 966f926813 MDL-76319 gradebook: add continue button after csv grades import error 2023-07-10 10:17:48 +02:00
Jake Dallimore 348e347f79 MDL-78575 core_reportbuilder: allow reports to override the zerostate
Allow report implementations to control what is shown when no results
are found for the current report+filters. Allow setting to null to
allow calling code to omit this notice entirely.
2023-07-10 15:55:56 +08:00
danghieu1407 ab4cb28883 MDL-76757 Question bank: Can not delete the question completely 2023-07-10 14:30:01 +07:00
Sara Arjona 2fcdfc17c1 Merge branch 'MDL-78648-master' of https://github.com/rmady/moodle 2023-07-10 07:35:19 +02:00
Sara Arjona e0c1f5059b Merge branch 'MDL-78031-master' of https://github.com/ilyatregubov/moodle 2023-07-10 07:32:41 +02:00
Andrew Nicols dff354bb4f MDL-78673 grade: Switch test to use generators 2023-07-10 11:21:15 +08:00
Andrew Nicols 50944e456c MDL-78673 grade: Switch to behat navigation steps 2023-07-10 11:21:15 +08:00
Andrew Nicols 28d3fa7ece MDL-78673 grade: Address random failure due to toast 2023-07-10 11:21:14 +08:00
Andrew Nicols 2b7daa3b28 MDL-78673 behat: Allow plugins to define their expansion of > 2023-07-10 09:52:46 +08:00
Andrew Nicols 3d5afd6061 Merge branch 'MDL-75810' of https://github.com/paulholden/moodle 2023-07-09 22:23:29 +08:00
Andrew Nicols 0ea62b97f2 Merge branch 'MDL-78184-master' of https://github.com/sarjona/moodle 2023-07-09 22:16:01 +08:00
Andrew Nicols ce863c2d3f Merge branch 'MDL-77180' of https://github.com/paulholden/moodle 2023-07-09 22:13:51 +08:00
Andrew Nicols f7c52739c0 MDL-73239 core_my: Fix coverage 2023-07-09 22:12:10 +08:00
Andrew Nicols c472ba4738 Merge branch 'MDL-73239-master' of https://github.com/rmady/moodle 2023-07-09 22:02:22 +08:00
Andrew Nicols 14029657a7 MDL-76717 question: Coding style fixes 2023-07-09 21:59:13 +08:00
Alex Yeung 73f3bb23be MDL-67852 tool_dataprivacy: Fix security checks 2023-07-09 14:35:20 +01:00
Juan Segarra Montesinos 3a78fb7662 MDL-71133 mod_assign: Grade decimals missing with marking workflow 2023-07-09 08:11:18 +02:00
Andrew Nicols 05a8ac58db Merge branch 'MDL-76717_master' of https://github.com/marxjohnson/moodle 2023-07-08 13:01:47 +08:00
Sara Arjona aaa1520879 MDL-78676 mod_data: Check completion rules properly
The completion_rule_enabled() method was not checking all the fields
and, in some cases, it was returning false (because it was not checking
that "Count of entries" field was enabled).
2023-07-07 18:27:10 +02:00
Paul Holden 20280c0405 MDL-77180 customfield: allow entry of formatted category names.
Change the param type of the category name when editing to allow
for entry of multilang tags, the formatting of which is already
supported when returning category name.

Co-authored-by: Hiroto Kagotani <hiroto.kagotani@gmail.com>
2023-07-07 14:59:44 +01:00
Paul Holden 2ffda63da8 MDL-75359 reportbuilder: fixes for custom/user profile field elements.
Ensures cross-DB compatibility for all types of both custom and user
profile fields, specifically when they're filtered and/or aggregated.

Implement stress testing of both via appropriate report sources.
2023-07-07 14:45:24 +01:00
Jun Pataleta 73e90326d0 Merge branch 'MDL-78316-master' of https://github.com/andrewnicols/moodle 2023-07-07 18:56:07 +08:00
Amaia Anabitarte 0d11cf1bc9 MDL-78183 core_contentbank: Improve error handling 2023-07-07 12:21:24 +02:00
Andrew Nicols 3ff84d3eb7 MDL-78316 core: Improve jsdoc typedef for icons 2023-07-07 16:31:54 +08:00
Andrew Nicols f57af194fb MDL-78316 core: Update async promises
Writing a Promise as:
```
const promise = new Promise(async (resolve, reject) => {
  return await 'foo';
});
```

Is equivalent to an IIFE:
```
const promise = (async () => {
  return await 'foo';
})();
```

A recent change introduced by MDL-74301 picks this up.

This commit addresses this flagged issue.
2023-07-07 16:23:26 +08:00
Andrew Nicols 5b54ac43b1 MDL-78316 core: Move IconSystem init to Factory
This is throwback to times when we understood JS less.

We should not have the factory method for the IconSystem in
core/templates.
2023-07-07 16:13:28 +08:00
Andrew Nicols c0043004e1 MDL-78316 core: Convert IconSystems to ESM 2023-07-07 16:13:27 +08:00
Ilya Tregubov a688a9369f MDL-78522 cohort: Enable tests that were disabled in 73839. 2023-07-07 15:42:30 +08:00
Ilya Tregubov 5f7839f06b MDL-78522 cohort: Fix capability/visibility check. 2023-07-07 15:41:14 +08:00
Sara Arjona abcbeca33d MDL-78184 badges: Improve user flow for connecting backpack 2023-07-07 08:53:43 +02:00
Ilya Tregubov ef93325f27 weekly release 4.3dev 2023-07-07 11:52:14 +08:00
Ilya Tregubov 362f518966 NOBUG: Fixed SVG browser compatibility 2023-07-07 11:52:11 +08:00
Ilya Tregubov c4142e01c8 Merge branch 'install_master' of https://git.in.moodle.com/amosbot/moodle-install 2023-07-07 11:52:11 +08:00
Pedro Jordao 8658b4937f MDL-73213 autocomplete: keep selected value when the state changes.
The selected value of the dropdown was being cleared when the dropdown
was opened, this was causing an error when submitting the form if the
field was required. The main cause was that we were emptying the
select before loading new values, this solution was created because
of an issue where we could not deselect values if the list was
reloaded. To fix this problem, I added an empty option as the first
element of the select only when deselecting a certain item.
2023-07-06 14:52:18 -03:00
Lars Bonczek 898a7571ef MDL-78618 core_course: use UNION in get_nearest_editable_subcategory 2023-07-06 18:51:55 +02:00
Rodrigo Mady 9a5eb76a56 MDL-78648 badges: Fix in unit tests for test_get_user_badge_by_hash 2023-07-06 09:41:03 -03:00
Sara Arjona 1e69127a22 Merge branch 'MDL-78391-master' of https://github.com/HuongNV13/moodle 2023-07-06 11:02:18 +02:00
Huong Nguyen 7add5faa9e MDL-78391 atto_recordrtc: Fix recording issue with Chrome 2023-07-06 15:37:03 +07:00
Huong Nguyen 592e9590d0 MDL-78391 tiny_recordrtc: Fix recording issue with Chrome 2023-07-06 15:33:38 +07:00
Sara Arjona 53266c02c1 Merge branch 'MDL-77375-master-patch' of https://github.com/ilyatregubov/moodle 2023-07-06 10:11:46 +02:00
Misha Golenkov f9778c849d MDL-78379 js: Add missing newline character 2023-07-06 15:55:31 +10:00
Ilya Tregubov 86d1a91fd6 MDL-77375 tool_dataprivacy: Fix menus going floaty. 2023-07-06 13:08:27 +08:00
Jun Pataleta 9c73441c4a Merge branch 'MDL-78391-master' of https://github.com/andrewnicols/moodle 2023-07-06 11:59:04 +08:00
Ilya Tregubov 6773badd97 Merge branch 'MDL-76203' of https://github.com/liorgil/moodle 2023-07-06 11:29:54 +08:00
Jun Pataleta d3767cb9f6 Merge branch 'MDL-78488' of https://github.com/t-schroeder/moodle 2023-07-06 11:17:03 +08:00
Ilya Tregubov 9bdea50803 MDL-78031 gradereport_grader: Always show Aggregation position setting
It seems it was the only advanced setting.
2023-07-06 10:39:41 +08:00
Ilya Tregubov b924f68081 Merge branch 'MDL-69983-master' of https://github.com/davewoloszyn/moodle 2023-07-06 10:25:40 +08:00
Franziska Hübler 0458672a77 MDL-69983 backup: Save async backups in correct area. 2023-07-06 12:12:19 +10:00
Ilya Tregubov 39662f1e32 Merge branch 'MDL-78608' of https://github.com/timhunt/moodle 2023-07-06 09:56:37 +08:00
Jun Pataleta c1de49bd6c Merge branch 'MDL-78484-master' of https://github.com/NashTechOpenUniversity/moodle 2023-07-06 09:41:41 +08:00
Ilya Tregubov 94452ea194 Merge branch 'MDL-77375-master' of https://github.com/rezaies/moodle 2023-07-06 09:19:57 +08:00
Jun Pataleta 14d37a274e Merge branch 'MDL-74893-master-fix_auto_login_guest' of https://github.com/praxisdigital/moodle 2023-07-06 09:14:29 +08:00
Ilya Tregubov 048edee1e2 Merge branch 'MDL-74301-master' of https://github.com/kabalin/moodle 2023-07-06 09:06:31 +08:00
Paul Holden 8049fa2b17 Merge branch 'MDL-78542-master' of https://github.com/junpataleta/moodle 2023-07-05 17:13:20 +01:00
Andrew Nicols acbf2c0c1b Merge branch 'MDL-78644' of https://github.com/paulholden/moodle 2023-07-05 22:10:16 +08:00
Andrew Nicols 545c7e3037 Merge branch 'MDL-77563-master' of https://github.com/rezaies/moodle 2023-07-05 22:06:21 +08:00
Andrew Nicols cee81e21c1 Merge branch 'MDL-77599' of https://github.com/stronk7/moodle 2023-07-05 21:58:47 +08:00
Andrew Nicols 59d844b9cd Merge branch 'MDL-78622' of https://github.com/timhunt/moodle 2023-07-05 21:55:54 +08:00
Rodrigo Mady fcdd5bb53d MDL-78559 mod_chat: Fix chat report loading with TeX filter 2023-07-05 10:54:33 -03:00
Andrew Nicols e9b389f64b Merge branch 'MDL-78637' of https://github.com/paulholden/moodle 2023-07-05 21:53:07 +08:00
Andrew Nicols 7929267880 Merge branch 'MDL-64152-master' of https://github.com/snake/moodle 2023-07-05 21:17:28 +08:00
Paul Holden d9a379a1c3 MDL-78642 mod_assign: typecast portfolio button renderer return.
Internally the button return is nullable, which we need to account
for in the renderer.
2023-07-05 13:51:48 +01:00
Andrew Nicols e1c9921d5d Merge branch 'MDL-78614-master' of https://github.com/noeldemartin/moodle 2023-07-05 20:30:07 +08:00
Huong Nguyen 880fd8a253 Merge branch 'MDL-77055-master' of https://github.com/rmady/moodle 2023-07-05 15:00:37 +07:00
Ilya Tregubov f8a65969a4 Merge branch 'MDL-78485-master' of https://github.com/stevandoMoodle/moodle 2023-07-05 11:51:23 +08:00
Andrew Nicols 2b19f23665 Merge branch 'MDL-78158-master' of https://github.com/andelacruz/moodle 2023-07-05 10:23:32 +08:00
Andrew Nicols 614514cdea Merge branch 'MDL-77873-master' of https://github.com/lucaboesch/moodle 2023-07-05 09:55:13 +08:00
Ilya Tregubov 7ccab6d218 Merge branch 'MDL-48762-master' of https://github.com/sarjona/moodle 2023-07-05 08:55:45 +08:00
Paul Holden 85afb069a0 MDL-78644 files: more fault tolerant resizing of logos/icons.
If we cannot resize the given file (files such as ICO can't be, for
SVG it makes no sense), then we should just return the original file
as is rather than an error.
2023-07-05 00:54:03 +01:00
Luca Bösch 2c8b35dd23 MDL-77873 quiz: style the question number edit elements. 2023-07-04 23:25:16 +02:00
Paul Holden 2974f5aeb6 MDL-50272 repository: deprecate base class get_file_size method. 2023-07-04 16:54:28 +01:00
Andrew Nicols 619f6fc2ca Merge branch 'MDL-73839-master-6' of https://github.com/ilyatregubov/moodle 2023-07-04 22:11:53 +08:00
Sara Arjona 9c51739570 Merge branch 'MDL-40084-master' of https://github.com/phmemmel/moodle 2023-07-04 13:58:41 +02:00
Huong Nguyen 54d470c313 Merge branch 'MDL-77732-master' of https://github.com/lameze/moodle 2023-07-04 17:10:26 +07:00
Stephan Robotta 1468ecf294 MDL-77732 navigation: fix active flag in navigation for custom menus
This is a follow up of MDL-75908 because a Behat tests with the Chrome
driver was failing and it could be traced back to the changes of
MDL-750908. There was no issue with the Firefox driver and
apparently no issue when using the Chrome browser under normal
circumstances.
2023-07-04 17:10:15 +07:00
Stephan Robotta a617b9f6d7 MDL-77732 navigation: fix active flag in navigation for custom menus 2023-07-04 17:09:59 +07:00
Huong Nguyen c2203091f3 Merge branch 'master_MDL77396_Fix' of https://github.com/Dineshdurai/moodle 2023-07-04 16:15:04 +07:00
Huong Nguyen 65c584e9f9 Merge branch 'MDL-78596-coursecard-divider' of https://github.com/leonstr/moodle 2023-07-04 15:27:38 +07:00
Huong Nguyen 1e804cdb6a Merge branch 'MDL-78578-master' of https://github.com/snake/moodle 2023-07-04 15:15:33 +07:00
Huong Nguyen 12393ffa5f Merge branch 'MDL-78617-master' of https://github.com/ilyatregubov/moodle 2023-07-04 15:01:52 +07:00
Sara Arjona d5d59e5c94 Merge branch 'MDL-78174_master' of https://github.com/marxjohnson/moodle 2023-07-04 08:22:52 +02:00
Huong Nguyen 49d6cad6dd Merge branch 'MDL-76853-master' of https://github.com/andrewnicols/moodle 2023-07-04 12:45:49 +07:00
Huong Nguyen a5f2833847 Merge branch 'MDL-78138-master' of https://github.com/lucaboesch/moodle 2023-07-04 12:37:30 +07:00
Stevani Andolo c2be53493d MDL-78485 editor_tiny: Allowed script tag to be added in tinyMCE editor 2023-07-04 13:36:10 +08:00
Andrew Nicols dd48eb3284 Merge branch 'MDL-75324-master' of https://github.com/lameze/moodle 2023-07-04 13:29:53 +08:00
Sara Arjona 81d05b542b MDL-48762 course: Different string if show/hide tasks are enabled
The help message for the Course start/end date will be different
when the show_started_courses_task/hide_ended_courses_task tasks
are enabled, to let add some reference to this feature.
2023-07-04 07:27:03 +02:00
Sara Arjona ff46626da9 MDL-48762 core: Add scheduled tasks to set course visibility
Two new scheduled tasks, show_started_courses_task and
hide_ended_courses_task have been added, to automatically change
the course visibility when the start/end course date match the
current one.
They are disabled by default, to keep the current behaviour.
When admins enable any of them, they are executed once per
day by default (around midnight).

These scheduled tasks are based on the "CUL Course Visibility Update"
third-party plugin created by Tim Gagen and refactored and currently
maintained by Amanda Doughty:
https://moodle.org/plugins/local_culcourse_visibility

Thanks!! :-)
2023-07-04 07:27:03 +02:00
Andrew Nicols 533e71a302 Merge branch 'MDL-76840' of https://github.com/uzimike/moodle 2023-07-04 13:20:51 +08:00
Andrew Nicols 3ab51da3f3 Merge branch 'MDL-77356-master' of https://github.com/davewoloszyn/moodle 2023-07-04 13:14:55 +08:00
Simey Lameze c5e7eb312b MDL-75324 behat: use a proper step to verify completion status 2023-07-04 11:15:10 +08:00
Ilya Tregubov d1100f0a51 Merge branch 'MDL-78188-master' of https://github.com/kevpercy/moodle 2023-07-04 10:36:00 +08:00
AMOS bot a772abd19a Automatically generated installer lang files 2023-07-04 00:11:44 +00:00
Angelia Dela Cruz 09d654b3fe MDL-78158 behat: Behat cleanup and optimisation 2023-07-04 07:01:27 +08:00
Sara Arjona 06e355664e Merge branch 'MDL-78200-master' of https://github.com/aanabit/moodle 2023-07-03 17:43:08 +02:00
Sara Arjona a3452bd17a Merge branch 'MDL-77868' of https://github.com/paulholden/moodle 2023-07-03 17:29:29 +02:00
Sara Arjona 71aba52406 Merge branch 'MDL-76661' of https://github.com/paulholden/moodle 2023-07-03 17:26:15 +02:00
Ruslan Kabalin 572ca40ce7 MDL-74301 eslint: Enable 'reportUnusedDisableDirectives' eslint setting
This will warn on unused /* eslint-disable */ statements.
2023-07-03 15:21:53 +01:00
Ruslan Kabalin 58d8a124ca MDL-74301 eslint: Remove rules included in eslint:recommended
All rules included in "eslint:recommended" set containing matching
values are removed from the list. Recommended set is defined in
node_modules/eslint/conf/eslint-recommended.js
2023-07-03 15:21:53 +01:00
Ruslan Kabalin 61113e0311 MDL-74301 eslint: Remove deprecated rules.
To identify deprecated rules, temporary install sarbbottam/eslint-find-rules, then run
`npx eslint-find-rules -d .eslintrc`, it will return a list of rules
defined in .eslintrc that were deprecated.
2023-07-03 15:21:53 +01:00
Ruslan Kabalin 7d6595e42a MDL-74301 eslint: Refactor jsdoc rules.
Adding 'plugin:promise/recommended' results in 5k+ jsdoc warnings most
of which includes missing return and naming preferences (e.g. 'returns'
over 'return' or 'string' over 'String'). This needs to be audited and
addressed seprately.
2023-07-03 15:21:53 +01:00
Ruslan Kabalin 99897b81ec MDL-74301 eslint: Use 'plugin:promise/recommended'
This enables recommended rules and brings back related rules. Without
reducing level to warn for some of them, this gives numerous (about 88) issues mainly
catch-or-return. Recommended set is defined in
node_modules/eslint-plugin-promise/index.js
2023-07-03 15:21:53 +01:00
Ruslan Kabalin 80a111d25e MDL-74301 eslint: Address issues reported by eslint 2023-07-03 15:21:53 +01:00
Ruslan Kabalin b5bb8704e3 MDL-74301 eslint: Change configuration and use 'eslint:recommended' 2023-07-03 15:21:53 +01:00
Ruslan Kabalin 6ae753406b MDL-74301 eslint: Upgrade eslint and babel
This patch includes changes:
* Upgrade "@babel/core" to latest point release
* Remove plugins already included into current "@babel/preset-env":
  - "@babel/plugin-proposal-class-properties"
  - "@babel/plugin-proposal-json-strings"
  - "@babel/plugin-syntax-dynamic-import"
  - "@babel/plugin-syntax-import-meta"
* Upgrade "eslint" to latest version
* Replace "eslint-plugin-babel" (depreacted in 2019) with "@babel/eslint-parser" and "@babel/eslint-plugin"
2023-07-03 15:21:53 +01:00
Amaia Anabitarte 85e554b2d1 MDL-78200 course: Add group mode information to course page 2023-07-03 15:58:58 +02:00
Eloy Lafuente (stronk7) d9f7fe9c3f MDL-77599 coding-style: Replace forbidden @const tags by @var
@const is not a valid phpdoc tag and @var should be used to
document both classes properties and constants (no matter how
weird that may sound, heh).

Link to (draft right now) PHP-FIG:

https://github.com/php-fig/fig-standards/blob/master/proposed/phpdoc-tags.md#518-var

So, with this commit we are just replacing all uses by the correct
@var one. Note that the type is entirely optional, in fact I think
that there isn't much need of it for constants because it's obvious
for both humans and machines which the type is. But, as far as it's
also correct to specify it, we haven't modified that detail.

The only detail modified are the cases where the constant name was
specified in the phpdoc, that's not needed, hence, the names have
been removed from there when present (a couple of cases).
2023-07-03 15:58:16 +02:00
Paul Holden 686b054b78 MDL-78637 webservice: display token info after user performs reset. 2023-07-03 14:26:38 +01:00
Paul Holden d6313c045a MDL-78377 grade: reset page number when filtering by group. 2023-07-03 12:53:02 +01:00
Tim Hunt 0f75a41fbf MDL-78622 quiz: add question query must include contextid
It is logically requried and necessary for the query to use the index
2023-07-03 11:50:42 +01:00
Paul Holden 9cd4040565 MDL-76661 mod_bigbluebuttonbn: fix meeting attendee role comparison. 2023-07-03 11:41:08 +01:00
Mark Johnson f3e3bac918 MDL-78174 core_question: Build tertiary navigation using qbank plugins 2023-07-03 11:29:04 +01:00
Angelia Dela Cruz 9f101a30b2 MDL-78158 Behat: Use data generators to add blocks 2023-07-03 17:41:21 +08:00
Noel De Martin 68712853d9 MDL-78614 behat: Remove trailing quotes 2023-07-03 11:18:09 +02:00
Andrew Nicols 2d56e0df66 MDL-78391 atto_recordrtc: Improve MacOS codec compatability 2023-07-03 16:52:28 +08:00
Andrew Nicols a6e697c8a4 MDL-78391 tiny_recordrtc: Set filename according to container 2023-07-03 16:52:26 +08:00
Andrew Nicols 323f5237de MDL-78391 tiny_recordrtc: Switch to mp4 container for h264
The recommendation at
https://developer.mozilla.org/en-US/docs/Web/Media/Formats/Containers
is to use webm with an mp4 fallback.

General purpose video, preferably in an open format
WebM (ideally with MP4 fallback)
2023-07-03 16:52:07 +08:00
Andrew Nicols bb44b2a1c6 MDL-78391 tiny_recordrtc: Improve codec selection
From my experimentation I have discovered that Safari does not properly
respect the standard MediaRecorder mimetype. Instead of using `codecs=`
it uses `codecs:`.

This change copies the codec array to have the list of possible codecs
include both codecs= and codecs: whilst remaining in order.
2023-07-03 16:50:14 +08:00
Andrew Nicols 5fd2b9d4bd MDL-78391 tiny_recordrtc: Respect codec options
The audio and video plugins were overriding the wrong method, and thus
preventing selection of a relevant codec and breaking playback on some
devices.
2023-07-03 16:50:11 +08:00
Andrew Nicols fab0fa5dfc MDL-76853 editor_tiny: Refactor behat helpers into trait 2023-07-03 09:38:08 +08:00
Andrew Nicols d0214f0796 Merge branch 'MDL-54704-db-ssl' of https://github.com/catalyst/moodle 2023-07-03 09:36:03 +08:00
Lior Gil e464bf3c7d MDL-76203 weblib: Add BDI support to the HTML purifier 2023-07-02 09:05:27 +03:00
Philipp Memmel fc13869f5a MDL-40084 mod_data: Rename and move entries ex-/importer classes
Also:
- Extend test coverage
- Small bug fixes
- Codestyle
2023-07-01 20:42:01 +02:00
Shamim Rezaie c99afc4bff MDL-77563 mod_assign: Improve how grader name is hidden 2023-07-02 01:33:32 +10:00
Shamim Rezaie 8207eaa5d3 MDL-77375 output: Deprecate action_menu::set_constraint() 2023-07-02 00:41:22 +10:00
Shamim Rezaie 316d79d038 MDL-77375 core: Cleanup redundant set_constraint() calls
Also removed the 10rem bottom margin form the quiz editing page. It was
there to make sure that there is enough room for the 'add new question'
dropdown. But it's not needed anymore (hasn't been since long time ago).
2023-07-02 00:41:22 +10:00
Shamim Rezaie 848efb3f13 MDL-77375 core_grades: set boundary of the dropdowns in grade setup page 2023-07-02 00:41:22 +10:00
Shamim Rezaie 91c29c250f MDL-77375 gradereport_singleview: set boundary of the dropdowns 2023-07-02 00:41:22 +10:00
Paul Holden 390d1c9c02 MDL-78564 mod_assign: ensure submission statement is present.
Don't require acceptance of statement, if no such statements exists,
during assignment submission.
2023-06-30 14:19:56 +01:00
Tim Schroeder b42ca2cbbd MDL-78488 question bank: don't load statistics when they are disabled 2023-06-30 11:39:04 +02:00
Jun Pataleta 88e8e0a5ca MDL-78542 mod_url: clicktoopen lang string fix
- Improve the grammatical structure of the lang string.
- Remove the mention of "link", for sighted users, it should already
be obvious that it's a link. For screen reader users, screen readers
already announce links. So it would be confusing for them to hear
something like "Click 'Moodle.org, link' link to open resource"
2023-06-30 17:26:57 +08:00
Jun Pataleta e8b3a7e766 MDL-78542 mod_url: Add a help text for URL resource name field
Add a help text explaining that the URL resource's name field will be
used for the link text. Also add basic guidelines about naming links for
the benefit of screen reader users.
2023-06-30 17:26:44 +08:00
Jun Pataleta 8d8af19af0 MDL-78542 mod_url: Use the module name for the URL resource's link text 2023-06-30 17:26:44 +08:00
Huong Nguyen 65b13ed81b Merge branch 'MDL-78204-master' of https://github.com/roland04/moodle 2023-06-30 16:12:10 +07:00
Huong Nguyen ac3f0f3622 Merge branch 'MDL-76769' of https://github.com/paulholden/moodle 2023-06-30 16:07:12 +07:00
Jun Pataleta bc78914b30 MDL-77690 mod_lesson: Lesson accessibility fixes
* Set the heading levels of lesson pages appropriately to avoid skipped
heading issues.
* Add appropriate labels for tertiary navigation select menus.
2023-06-30 17:00:38 +08:00
Jun Pataleta a587bcc4a2 MDL-77690 core: New activity_header method get_heading_level()
Add a new method for activity_header that determines the heading level
depending on whether the theme displays a heading for the activity
header (usually a h2 heading with the activity name).

E.g. in Boost, the activity name is already being displayed in a
heading. So page headings can be rendered as h2. However, on Classic,
the activity name is being displayed as a h2 heading. So headings need
to be adjusted for the activity pages.
2023-06-30 17:00:33 +08:00
Jun Pataleta ca07598c6f MDL-77690 user: Add sr-only heading for the user profile page 2023-06-30 17:00:03 +08:00
Huong Nguyen 89b41be029 Merge branch 'MDL-78454' of https://github.com/paulholden/moodle 2023-06-30 16:00:02 +07:00
Jun Pataleta 08cb2fea89 Merge branch 'MDL-78068-master' of https://github.com/laurentdavid/moodle 2023-06-30 16:42:43 +08:00
Jake Dallimore a44b66b5fc MDL-64152 library: Fix legacy LTI launches when using reverse proxy
LTI 1.1 uses OAuth 1.0, which requires 'hostname', among other things,
as part of signature verification. When Moodle is run behind a reverse
proxy, $_SERVER['SERVER_NAME'] is an unreliable way to fetch hostname.
It isn't always equal to the external hostname but instead can contain
the local host, meaning the signature verification will fail. This
change replaces the use of $_SERVER vars with $FULLME - which already
takes this into account - to fix the signature verification.

Co-authored-by: Berengar W. Lehr <Berengar.Lehr@uni-jena.de>
2023-06-30 16:41:03 +08:00
Srdjan bb1ecd8ea4 MDL-54704 dml: support for SSL with MySQL / MariaDB and PostgreSQL 2023-06-30 15:41:39 +10:00
Ilya Tregubov a82ccf2b83 MDL-73839 tool_uploadcourse: Temporary disable some tests.
This commit will be reverted in MDL-78522.
2023-06-30 11:57:49 +08:00
Ilya Tregubov fb4304b075 MDL-73839 tool_uploadcourse: Enable cohort enrolment for course upload. 2023-06-30 11:57:49 +08:00
Ilya Tregubov 491a784813 MDL-73839 tool_uploadcourse: Proper enrol instance updates.
We should use update_instance() method instead of direct query.
Fixed validation role method to validate roleids and role names.
Fiexed bug in unit test - course creator role shouldn't be assigned for
self enrolment method.
2023-06-30 11:57:48 +08:00
Stevani Andolo 68e60b9bab MDL-78567 communication_matrix: Fixed plugin version for upgrade 2023-06-30 11:21:17 +08:00
Jun Pataleta f5701a5415 Merge branch 'MDL-77632-master-2' of https://github.com/ilyatregubov/moodle 2023-06-30 10:58:15 +08:00
Ilya Tregubov 21ab60b30b MDL-78617 formslib: Fix element with no name going to sticky footer. 2023-06-30 10:03:37 +08:00
Mihail Geshoski b4cbad8b33 MDL-77632 core_grades: Add rowtitle class to grade category cell 2023-06-30 09:29:00 +08:00
Mihail Geshoski 3643f48e0f MDL-77632 core_grades: Fix row_column_of_table_should_contain() 2023-06-30 09:28:59 +08:00
Ilya Tregubov 65cafd36cc MDL-77632 core_grades: Move select checkboxes to name column. 2023-06-30 09:28:59 +08:00
Shamim Rezaie c235339e02 MDL-77375 tool_dataprivacy: set boundary of the dropdowns 2023-06-30 11:27:32 +10:00
Shamim Rezaie 3210652dee MDL-77375 mod_forum: set boundary of the dropdown
Also removed the unnecessary button role from the <button> element
2023-06-30 11:25:04 +10:00
Shamim Rezaie 23d3191684 MDL-77375 mod_assign: set overflow constraint boundary of the dropdowns 2023-06-30 11:25:04 +10:00
Shamim Rezaie aaadb0d6ef MDL-77375 output: Allow additional options for dropdowns 2023-06-30 11:24:45 +10:00
Shamim Rezaie d30d229e9a MDL-77375 theme: Re-fix the bootstrap scrollbar issue 2023-06-30 11:15:15 +10:00
David Woloszyn 616c6a0809 MDL-77356 communication_matrix: Update avatar if different 2023-06-30 10:38:40 +10:00
David Woloszyn 162c9fdd66 MDL-77356 communication: Update avatar filename and avatar synced 2023-06-30 10:38:40 +10:00
AMOS bot 7c04fac37c Automatically generated installer lang files 2023-06-30 00:08:50 +00:00
Stevani Andolo db76214e5d MDL-76046 core: Fixed secondary navigation on smaller screen 2023-06-30 06:30:47 +08:00
Luca Bösch 46e086fdb6 MDL-78138 theme_boost: Reliably remove TYPE_CATEGORY breadcrumbs. 2023-06-29 21:40:58 +02:00
Rodrigo Mady a75e81e6cf MDL-77055 mod_scorm: Add SCORM options to get_scorms_by_courses WS 2023-06-29 15:16:01 -03:00
Rodrigo Mady da Silva eccbe6606a MDL-73239 core_my: Add Webservice core_my_view_page 2023-06-29 15:06:45 -03:00
Philipp Memmel cf2c91dae2 MDL-40084 mod_data: Add file import support
Co-authored-by: Stefan Hanauska <stefan.hanauska@csg-in.de>
2023-06-29 19:18:15 +02:00
Philipp Memmel e11b3867ae MDL-40084 mod_data: Harden picture conversion 2023-06-29 19:18:15 +02:00
Philipp Memmel 4003751163 MDL-40084 mod_data: Add file export support 2023-06-29 19:18:15 +02:00
Philipp Memmel 1296a2b868 MDL-40084 mod_data: Refactor importing data
Function data_import_csv has been deprecated.
2023-06-29 19:18:14 +02:00
Philipp Memmel bdf02ec088 MDL-40084 mod_data: Refactor exporting data
Functions data_export_csv, data_export_ods, data_get_exportdata have been deprecated.
2023-06-29 19:18:14 +02:00
Philipp Memmel ab09cf2b84 MDL-40084 mod_data: Remove xls export, deprecate data_export_xls 2023-06-29 19:18:14 +02:00
Huong Nguyen 8dbb6183ff weekly release 4.3dev 2023-06-29 22:22:13 +07:00
Huong Nguyen 3af841965b MDL-67529 tool_dataprivacy: Fix Behat failures 2023-06-29 17:32:52 +08:00
Andrew Nicols d8a9692467 Merge branch 'MDL-74570-fix' of https://github.com/sarjona/moodle 2023-06-29 17:32:52 +08:00
Andrew Nicols 86eece196e Merge branch 'MDL-76104-master' of https://github.com/HuongNV13/moodle 2023-06-29 17:32:51 +08:00
Sara Arjona 7ae114dd5f MDL-74570 badges: Remove unnecessary hacks 2023-06-29 17:32:51 +08:00
Andrew Nicols 8d860bbd50 Merge branch 'MDL-78247' of https://github.com/paulholden/moodle 2023-06-29 17:32:51 +08:00
Paul Holden d3f189d6db MDL-76769 reportbuilder: re-use custom field data table alias/joins.
Ensure that when a column/filter on the same custom field is used,
they each share a single join (see also 8f721652).
2023-06-29 08:11:45 +01:00
Andrew Nicols d1effac984 Merge branch 'MDL-78552' of https://github.com/skodak/moodle 2023-06-29 11:34:53 +08:00
Andrew Nicols 65295a344b Merge branch 'MDL-78599-master' of https://github.com/snake/moodle 2023-06-29 11:32:51 +08:00
Andrew Nicols 016c4ecb45 Merge branch 'MDL-78570' of https://github.com/stronk7/moodle 2023-06-29 11:29:16 +08:00
Jun Pataleta a874a4fcdd Merge branch 'MDL-77993' of https://github.com/paulholden/moodle 2023-06-29 11:27:51 +08:00
Jun Pataleta bb59f98c81 Merge branch 'MDL-78432-master' of https://github.com/laurentdavid/moodle 2023-06-29 11:25:53 +08:00
Andrew Nicols 42c7c56c9f Merge branch 'MDL-78018' of https://github.com/paulholden/moodle 2023-06-29 11:01:34 +08:00
Andrew Nicols 461be11d34 Merge branch 'MDL-67529-master' of https://github.com/andrewnicols/moodle 2023-06-29 10:15:44 +08:00
Ilya Tregubov d757e1e1cc Merge branch 'MDL-72622-redis-tls' of https://github.com/catalyst/moodle 2023-06-29 09:50:43 +08:00
Ilya Tregubov c10e47b4be Merge branch 'MDL-77286-master' of https://github.com/lameze/moodle 2023-06-29 09:45:20 +08:00
Ilya Tregubov 65af5bcfdb Merge branch 'MDL-78521-master' of https://github.com/lameze/moodle 2023-06-29 09:34:21 +08:00
Tim Hunt 3534b31745 MDL-78608 question stats: avoid loading data for missing contexts
It turns out that there are plugins which don't (currently)
clean up their question attempts when a context is deleted.
Therefore, we need to make Moodle core robust to that.
2023-06-28 17:16:48 +01:00
Huong Nguyen 74256e9979 Merge branch 'MDL-77679' of https://github.com/mkassaei/moodle 2023-06-28 21:06:59 +07:00
Andrew Nicols e5d0a83285 MDL-67529 tool_dataprivacy: Coding style updates 2023-06-28 21:39:22 +08:00
Mikel Martín 045f8cb50d MDL-78204 course: Use 'showmore' component in course restrictions
- Create new availability template, so it can be reused from both
section/availability and cm/availability mustaches.

- When rendering activity or section restrictions with long or multiline text
display a condensed version (excerpt) and use 'showmore' component to add
showmore/showless behaviour.

Co-authored-by: Ferran Recio <ferran@moodle.com>
2023-06-28 15:08:13 +02:00
Ilya Tregubov ab6dc892e4 Merge branch 'MDL-76656-master' of https://github.com/meirzamoodle/moodle 2023-06-28 18:08:21 +08:00
Jake Dallimore 83d34cd1cc MDL-78599 enrol_lti: fix SQL syntax error in course grade sync 2023-06-28 12:39:03 +08:00
Jake Dallimore 013e6fd32e MDL-78599 enrol_lti: test covering decoupled, course context grade syncs
This covers the case where a course is published and the launch data
doesn't include the 'lineitem' property of the ags claim, meaning the
tool can manage its own line items.
2023-06-28 12:38:54 +08:00
meirzamoodle f69a420be1 MDL-76656 webservice: generated token can only read once
Generated tokens should only read once.
Therefore removing the token column at the table view of the manage tokens page and the user's page.
The token should not be able to search.
2023-06-28 09:27:31 +07:00
Leon Stringer 06a8efde29 MDL-78596 core_course: Remove divider
With courselistshortnames enabled Moodle 3.11 and earlier showed
"Category | Short name" on the first line of course cards (for example
in block_myoverview).  From Moodle 4.0 the category is moved to the last
line making the first line "Short name |".  This change removes that
stray "|".
2023-06-27 17:39:27 +01:00
Dinesh Durai bb57d1a266 MDL-77396 wiki: Fix print without background new 2023-06-27 18:10:12 +05:30
Kiet Chan 65be92f661 MDL-67529 GDPR: Option to filter which courses are included 2023-06-27 18:45:07 +08:00
Simey Lameze efc6255477 MDL-77286 behat: change window size to large to avoid random fails 2023-06-27 16:09:12 +08:00
Laurent David 901fb4f2d0 MDL-78432 mod_label: Process markdown in label name
* Process markdown and other allowed formats (see FORMAT_XXX) in get_label_name
so it does not display it as a litteral string in the course index menu.
2023-06-27 08:09:55 +02:00
Andrew Nicols 827ba96806 Merge branch 'MDL-78459' of https://github.com/paulholden/moodle 2023-06-27 13:14:08 +08:00
Ilya Tregubov 4ab6108c79 Merge branch 'MDL-78443-master' of https://github.com/jleyva/moodle 2023-06-27 11:00:54 +08:00
Jun Pataleta 132cf637f3 Merge branch 'MDL-77637-trimmed' of https://github.com/Chocolate-lightning/moodle 2023-06-27 10:33:34 +08:00
Jake Dallimore 1e6a7b2b63 MDL-78578 enrol_lti: permit launch cache access during launch redirects
This handles things like site policies, which store the current URL,
redirect to the policy agreement, then redirect back the current URL
afterwards. In such cases, we want to redirect back with 'launchid' set
so that we can fetch the id_token from the session cache. This is the
same thing we already do during account binding, so the patch only
makes sure the PAGE->url is properly set before calling require_login.
2023-06-27 10:01:49 +08:00
Mathew May 997134f52f MDL-77637 gradebook_setup: Create gradeitems via dyn form 2023-06-27 09:01:25 +08:00
Andrew Nicols da379dc24b Merge branch 'MDL-74570-master' of https://github.com/rmady/moodle 2023-06-27 08:42:59 +08:00
Srdjan f061599fc9 MDL-72622 core: Support TLS for redis session 2023-06-27 09:49:36 +10:00
Srdjan 38076e5a0d MDL-72622 core: Support TLS for redis cache connections 2023-06-27 09:49:33 +10:00
Rodrigo Mady dcc296403e MDL-74570 core_badges: Fix for Oracle DB compatibility 2023-06-26 13:00:02 -03:00
mkassaei a410223c74 MDL-77679 Drag and drop question type weird behavior 2023-06-26 16:56:56 +01:00
Jun Pataleta 854a22e269 Merge branch 'MDL-76724' of https://github.com/stronk7/moodle 2023-06-26 19:25:54 +08:00
Paul Holden ccafa6e657 MDL-75810 badges: tag support in badge custom report sources. 2023-06-26 09:50:45 +01:00
Mikel Martín fb49de8875 MDL-78204 core: Add new showmore/showless UI component
- Create a new 'showmore' template that receives both collapsed and expanded content.
Initially only the collapsed content will be displayed with a "Show more" button. When it is expanded,
only the expanded content will be displayed with "Show less" button.

- Add 'showmore' component to component library
2023-06-26 09:32:39 +02:00
Mikel Martín 09d9f367b6 MDL-78204 availability: Remove 'showmore' from availability_info
- Remove 'showmore' logic from the base availability_info renderable.
Other components rendering the availability information should handle the showmore/showless behaviour themselves.

- Deprecate JS module and string.

- Move availability_info header generation logic to a new protected function to improve code readability.
2023-06-26 09:32:36 +02:00
Laurent David 84adbb09e4 MDL-78068 mod_h5pactivity: Fix sort the paragraph activity
* Fix sort the paragraph/sequencing activity report in H5P.
2023-06-26 08:27:51 +02:00
Jun Pataleta 2cc54dda28 Merge branch 'MDL-78168-master-final' of https://github.com/andrewnicols/moodle 2023-06-26 11:20:06 +08:00
Simey Lameze b1a2f8dea1 MDL-78521 behat: reload page before asserting content
This commit also reword a Scenario name to make it unique
2023-06-26 11:16:49 +08:00
Huong Nguyen 83579a07c6 MDL-76104 mediaplayer_youtube: Respect container max width 2023-06-26 09:39:09 +07:00
Huong Nguyen 660d714e71 MDL-76104 mediaplugin: Make media plugin behave properly in Modal dialog 2023-06-26 09:39:09 +07:00
Huong Nguyen f4801ce455 MDL-76104 usertours: Support the Moodle filters 2023-06-26 09:39:08 +07:00
Petr Skoda 3c25ccdcd1 MDL-78552 core: tidy up MDL_PERF constants
* all constans usable in ABORT_AFTER_CONFIG should be always defined
* MDL_PERFDB and $PERF->logwrites not used after legacy log removal
* MDL_PERF_TEST should be documented in codebase
* deprecated warnings in shutdowb manager
2023-06-25 08:39:09 +02:00
Eloy Lafuente (stronk7) 17bfc2ab01 MDL-78570 behat: Document the removal of the skip-passed option 2023-06-24 19:58:06 +02:00
Eloy Lafuente (stronk7) dc0869fc12 MDL-78570 behat: Remove the skip-passed legacy option
This option (--skip-passed) was implemented because of some bugs in the initial
versions of Behat 3 with the --rerun option.

After Behat 3.2.0 those bugs were fixed and we switched back to use
the upstream --rerun option, abandoning --skip-passed.

More yet, this option wasn't ever documented much, neither in docs or cli.

So it's time to remove it, one less thing to maintain for nothing.

Note that this commit is a 99.99% revert of the original one that was
applied to the moodle-behat-extension (now in core):

https://github.com/moodlehq/moodle-behat-extension/commit/c4b25158d212509b
2023-06-24 19:28:51 +02:00
Andrew Nicols 54f2722a7b Merge branch 'MDL-78523-master' of https://github.com/safatshahin/moodle 2023-06-24 23:39:37 +08:00
Andrew Nicols b49b76c41c Merge branch 'MDL-78237-master' of https://github.com/davewoloszyn/moodle 2023-06-24 23:21:21 +08:00
Andrew Nicols 2798fe960a Merge branch 'MDL-78519' of https://github.com/paulholden/moodle 2023-06-24 23:20:04 +08:00
Andrew Nicols 8be9cc3867 Merge branch 'MDL-76673-master' of https://github.com/meirzamoodle/moodle 2023-06-24 22:41:52 +08:00
Andrew Nicols a8a67f4df1 Merge branch 'MDL-78243' of https://github.com/paulholden/moodle 2023-06-24 22:28:49 +08:00
Andrew Nicols 076d48670d Merge branch 'MDL-78544-master' of https://github.com/snake/moodle 2023-06-24 22:26:16 +08:00
Andrew Nicols 8e436dcce7 MDL-74570 badges: Correct coding style violation 2023-06-24 22:24:45 +08:00
Andrew Nicols bd3a28eb2b Merge branch 'MDL-74570-master' of https://github.com/rmady/moodle 2023-06-24 22:20:35 +08:00
Andrew Nicols 1fee974ed0 Merge branch 'MDL-77152-master' of https://github.com/sh-csg/moodle 2023-06-24 22:17:33 +08:00
Andrew Nicols 91e2e5c532 Merge branch 'MDL-78172' of https://github.com/paulholden/moodle 2023-06-24 21:58:48 +08:00
Andrew Nicols ee9144cadb MDL-78192 external: Fix typo in constant name 2023-06-24 21:57:04 +08:00
Andrew Nicols 90b1734bf9 Merge branch 'MDL-78192' of https://github.com/skodak/moodle 2023-06-24 21:54:52 +08:00
Eloy Lafuente (stronk7) 8b052d0870 MDL-76724 environment: Moodle 4.3 requirements
Note that there aren't changes since Moodle 4.2
so this is a complete copy of the information
for that version.
2023-06-24 12:29:46 +02:00
Stefan Hanauska d23ad2c39a MDL-77152 files: Ensure trailing/leading slash 2023-06-24 10:32:05 +02:00
Andrew Nicols d66f81d2e1 MDL-78168 mod_assign: Deprecate assign_files::preprocess 2023-06-24 13:33:01 +08:00
Andrew Nicols adddcf394f MDL-78168 mod_assign: Stop storing properties dynamically
In PHP 8.2 and later, setting a value to an undeclared class property is
deprecated and emits a deprecation notice.
So we need to add missing class properties that still need to be declared.

In these cases, mod_assign was treating other unrelated objects as its
personal object store. These have been updated to not require this.
2023-06-24 13:33:00 +08:00
Paul Holden 8a842b9cbd MDL-78247 libraries: upgrade to version 4.15.0 of OpenSpout. 2023-06-23 14:28:48 +01:00
Mark Johnson 327c11d6a0 MDL-76717 qbank_usage: Add support for usage by version 2023-06-23 11:28:29 +01:00
Petr Skoda 16729b7f02 MDL-78192 external: allow nullable non-scalar params and results 2023-06-23 11:12:08 +02:00
Sara Arjona 3cd84747cb weekly release 4.3dev 2023-06-23 08:59:59 +02:00
Sara Arjona e06755fcad NOBUG: Fixed file access permissions 2023-06-23 08:59:58 +02:00
Sara Arjona 752326a31c NOBUG: Fixed SVG browser compatibility 2023-06-23 08:59:51 +02:00
Mark Johnson c714f2b082 MDL-76717 qbank_history: Show usage column 2023-06-22 16:40:36 +01:00
Mark Johnson e6bf0b0f9b MDL-76717 qbank_usage: Fix usage count query for random questions 2023-06-22 16:40:36 +01:00
Andrew Nicols 776abf1fd6 MDL-77793 core: Bump version for device theme removal 2023-06-22 14:29:42 +02:00
Andrew Nicols 17c6bfa257 Merge branch 'MDL-78274' of https://github.com/Chocolate-lightning/moodle 2023-06-22 14:29:42 +02:00
Andrew Nicols 260f4ac4f9 Merge branch 'MDL-77636-master' of https://github.com/mihailges/moodle 2023-06-22 14:29:42 +02:00
Andrew Nicols 004924d52f Merge branch 'MDL-77260' of https://github.com/paulholden/moodle 2023-06-22 14:29:42 +02:00
Andrew Nicols 31cfe5aaff Merge branch 'MDL-77877' of https://github.com/paulholden/moodle 2023-06-22 14:29:42 +02:00
Andrew Nicols 165bb391f0 MDL-78212 core: Add note that drivers extending mysqli also support compression 2023-06-22 14:29:41 +02:00
Andrew Nicols 28b2c57c82 Merge branch 'MDL-78212-MYSQLI_CLIENT_COMPRESS' of https://github.com/catalyst/moodle 2023-06-22 14:29:41 +02:00
Andrew Nicols c40cf46b22 Merge branch 'MDL-78004_master' of https://github.com/mwehr/moodle 2023-06-22 14:29:41 +02:00
Ilya Tregubov 3baa6045af Merge branch 'MDL-78434-master' of https://github.com/sammarshallou/moodle 2023-06-22 14:29:41 +02:00
Andrew Nicols 09505be547 Merge branch '77986-master-backup-trim-search-fields' of https://github.com/DSI-Universite-Rennes2/moodle 2023-06-22 14:29:41 +02:00
Andrew Nicols f7f01fe2ab Merge branch 'MDL-78273' of https://github.com/Chocolate-lightning/moodle 2023-06-22 14:29:41 +02:00
Andrew Nicols ca6edf6f3c Merge branch 'MDL-77813-master' of https://github.com/laurentdavid/moodle 2023-06-22 14:29:40 +02:00
Ilya Tregubov b2dce5d60c Merge branch 'MDL-76629' of https://github.com/liorgil/moodle 2023-06-22 14:29:40 +02:00
Andrew Nicols d4bee79ce1 Merge branch 'MDL-78071' of https://github.com/paulholden/moodle 2023-06-22 14:29:40 +02:00
Andrew Nicols 7092b99512 Merge branch 'MDL-78541/master' of https://github.com/skodak/moodle 2023-06-22 14:29:40 +02:00
Andrew Nicols 0dfcb91ca2 Merge branch 'MDL-78350' of https://github.com/paulholden/moodle 2023-06-22 14:29:40 +02:00
Andrew Nicols 914073453f Merge branch 'MDL-68067' of https://github.com/Chocolate-lightning/moodle 2023-06-22 14:29:40 +02:00
Andrew Nicols 6c6c795230 Merge branch 'MDL-78056-master' of https://github.com/laurentdavid/moodle 2023-06-22 14:29:40 +02:00
Andrew Nicols f7eddfa583 Merge branch 'MDL-78263-master' of https://github.com/jleyva/moodle 2023-06-22 14:29:40 +02:00
Andrew Nicols bd8b6e011c Merge branch 'MDL-78435' of https://github.com/paulholden/moodle 2023-06-22 14:29:39 +02:00
Andrew Nicols 1a59347351 Merge branch 'MDL-76917-master' of https://github.com/HuongNV13/moodle 2023-06-22 14:29:39 +02:00
Andrew Nicols b9cc9d4034 Merge branch 'MDL-76953' of https://github.com/paulholden/moodle 2023-06-22 14:29:39 +02:00
Andrew Nicols 79f27a853e Merge branch 'MDL-78252' of https://github.com/paulholden/moodle 2023-06-22 14:29:39 +02:00
Andrew Nicols bf72c0de9d Merge branch 'MDL-75913-master' of https://github.com/davewoloszyn/moodle 2023-06-22 14:29:39 +02:00
Andrew Nicols 276bf5acbc Merge branch 'MDL-77793-master' of https://github.com/davewoloszyn/moodle 2023-06-22 14:29:39 +02:00
Andrew Nicols 944129a57f Merge branch 'MDL-78477' of https://github.com/AnupamaSarjoshi/moodle 2023-06-22 14:29:38 +02:00
Andrew Nicols 3e1d6d61a9 Merge branch 'MDL-78159-master' of https://github.com/meirzamoodle/moodle 2023-06-22 14:29:38 +02:00
Andrew Nicols 5f41e5fdc7 Merge branch 'MDL-77865_Master' of https://github.com/tuanngocnguyen/moodle 2023-06-22 14:29:38 +02:00
Andrew Nicols 4149de88c2 Merge branch 'MDL-78164-master' of https://github.com/meirzamoodle/moodle 2023-06-22 14:29:38 +02:00
Mathew May dd589d0fef MDL-78274: scss: Modify how the focus is set on modals 2023-06-22 13:28:20 +08:00
hieuvu 0b7ac9ffb1 MDL-78484 formslib: Move enable checkbox display before the date picker 2023-06-22 09:56:14 +07:00
Jake Dallimore 60b086635c MDL-78544 forms: fix string to number comparison bug in duration element
Prior to PHP 8, 0 == "", but now no more. We should use empty instead.
See: https://www.php.net/manual/en/migration80.incompatible.php
2023-06-22 10:54:46 +08:00
Safat 42f704ac11 MDL-78523 communication_matrix: Behat coverage for matrix safe disable 2023-06-22 12:19:44 +10:00
Safat d785ff6f57 MDL-78523 core_communication: Safe disable of communication plugins 2023-06-22 12:19:44 +10:00
Paul Holden ecf47ff23b MDL-78350 reportbuilder: parse javascript before rendering template. 2023-06-21 17:33:40 +01:00
Paul Holden 40cc1e53c2 MDL-78350 output: parse returned dynamic tab javascript when loading.
Ensure we don't create nested <script> tags when rendering templates,
which triggers console errors since 1ef815cd.

Co-authored-by: Andrew Nicols <andrew@nicols.co.uk>
2023-06-21 17:25:34 +01:00
Petr Skoda c70a460978 MDL-78541 admin: ignore headings in admin_apply_default_settings()
This is a workaround for plugins that do not have
unique setting names.
2023-06-21 15:46:14 +02:00
Sara Arjona 5f1ed26c75 Merge branch 'MDL-76635-master' of https://github.com/lameze/moodle 2023-06-21 14:02:11 +02:00
Sara Arjona 5039f6980c Merge branch 'MDL-63120_Badges_cron_task_fails-master' of https://github.com/mebis-lp/moodle 2023-06-21 11:41:51 +02:00
Jun Pataleta cb4b3d54ee Merge branch 'MDL-76704-master' of https://github.com/safatshahin/moodle 2023-06-21 17:20:54 +08:00
Ilya Tregubov 81c8850462 Merge branch 'MDL-77591-master' of https://github.com/justusdieckmann/moodle 2023-06-21 16:57:49 +08:00
Sara Arjona 8c944b217f Merge branch 'MDL-78201-master' of https://github.com/aanabit/moodle 2023-06-21 10:56:33 +02:00
Meirza 97ff68fd6b MDL-78159 lib: Added missing properties for core libraries
In PHP 8.2 and later, setting a value to an undeclared class property is
deprecated and emits a deprecation notice.
So we need to add missing class properties that still need to be declared.
2023-06-21 15:39:53 +07:00
Meirza 337bc1554a MDL-78164 lib: Added class properties that are not declared in grade
In PHP 8.2 and later, setting a value to an undeclared class property is
deprecated and emits a deprecation notice.
So we need to add missing class properties that still need to be declared.

Co-authored-by: Andrew Nicols <andrew@nicols.co.uk>
2023-06-21 14:41:35 +07:00
Andrew Nicols 4eb5c0d707 Merge branch 'MDL-77634-master' of https://github.com/ilyatregubov/moodle 2023-06-21 15:19:54 +08:00
Andrew Nicols acc91736d1 Merge branch 'MDL-78274' of https://github.com/Chocolate-lightning/moodle 2023-06-21 15:14:16 +08:00
Mathew May 6394056c90 MDL-78274: gradereport_grader: Vertically center feedback modal 2023-06-21 14:51:26 +08:00
Mathew May 0fb1152345 MDL-78274 modal: Enable modals to be vertically centered 2023-06-21 14:51:26 +08:00
Paul Holden ed23ce7c77 MDL-77260 tool_monitor: group and sort list of components.
AMOS BEGIN
 CPY [coresubsystem,report_eventlist],[coresubsystem,tool_monitor]
AMOS END
2023-06-21 07:34:02 +01:00
Ilya Tregubov 7aa0fd916c Merge branch 'MDL-76174' of https://github.com/larsbonczek/moodle 2023-06-21 14:26:16 +08:00
Paul Holden ecff15e2e6 MDL-78252 libraries: upgrade to version 0.10.0 of PHP-ML. 2023-06-21 07:24:04 +01:00
Ilya Tregubov 807bfe69ae MDL-77634 gradereport_singleview: Sticky footer for singleview
Moving Save button, pagination, next and previous link as well as
perpage selector to sticky footer.
2023-06-21 12:59:03 +08:00
Safat f7b2f36218 MDL-76704 core_course: Add settings to control selected provider 2023-06-21 14:46:32 +10:00
Safat 3f48306385 MDL-76704 core_communication: Default setting for communication provider 2023-06-21 14:46:32 +10:00
Andrew Nicols 50093090f6 Merge branch 'MDL-78163-master' of https://github.com/meirzamoodle/moodle 2023-06-21 11:57:48 +08:00
Simey Lameze 9382d66b4a MDL-76635 comment: render the delete icon in the right place
Special thanks to Andrew Lyons.
2023-06-21 11:27:41 +08:00
Andrew Nicols dddb7dcb70 Merge branch 'MDL-78160-master' of https://github.com/meirzamoodle/moodle 2023-06-21 10:20:59 +08:00
Rodrigo Mady da Silva 4b26d1f784 MDL-74570 core_badges: Add webservice core_badges_get_user_by_hash 2023-06-20 21:14:17 -03:00
Srdjan 9fcba75de4 MDL-78212 dml: Added MYSQLI_CLIENT_COMPRESS option for mysqli
Config dboptions key 'clientcompress'.
Decreases traffic between the application server and the database host.
2023-06-21 10:07:17 +10:00
Justus Dieckmann a7d5328c31 MDL-77591 mod_assign: Fix feedback zip import for group submissions
Import now checks whether assignment is an group submission and
matches group ids instead of user ids in that case.

Additionally check for original unchanged files to not import in
group files instead of user files.
2023-06-20 20:20:35 +02:00
Anupama Sarjoshi 07d2f485b8 MDL-78477 qbank_history: Fix and improve UI for edit menu delete option
Changes done to fix the warnings thrown in the history view when the
last version of a question is deleted and improved UI to display the
message and a Continue button, to navigate back to the Question bank.
2023-06-20 17:24:50 +01:00
Lars Bonczek 7d09932365 MDL-76174 core_course: get_nearest_editable_subcategory performance fix 2023-06-20 14:42:17 +02:00
Paul Holden c720c21aca MDL-78454 files: add contenthash column/filter to file report entity. 2023-06-20 08:51:32 +01:00
Ilya Tregubov 346548e21a Merge branch 'MDL-78259-htmlpurify-media-tags' of https://github.com/DSI-Universite-Rennes2/moodle 2023-06-20 14:35:21 +08:00
Ilya Tregubov 9ee779cf0f Merge branch 'MDL-77525/master' of https://github.com/skodak/moodle 2023-06-20 13:03:20 +08:00
Kevin Percy 4be3ad97aa MDL-78188 core_grades: Add sticky footer to export grades page 2023-06-20 12:21:31 +08:00
Simey Lameze d79788245b MDL-76635 behat: improve submission comments test 2023-06-20 10:59:03 +08:00
Mathew May e027a0ef03 MDL-78273 gradereport: Feedback modal styling 2023-06-20 10:34:05 +08:00
eWallah 6f2d186c56 MDL-68067 tool_mobile: Mobile tool link does not have a class attribute. 2023-06-20 10:24:56 +08:00
Huong Nguyen d5b9be35dd MDL-76917 Libraries: Upgrade Ogv.js Playback Technology to 1.0.0 2023-06-20 09:18:19 +07:00
Huong Nguyen 6abfc0a519 MDL-76917 Libraries: Upgrade ogv.js to 1.8.9 2023-06-20 09:18:19 +07:00
Huong Nguyen f1ecd6a940 MDL-76917 Libraries: Upgrade YouTube Playback Technology to 3.0.0 2023-06-20 09:18:19 +07:00
Huong Nguyen 0bb9a7826d MDL-76917 Libraries: Upgrade VideoJS to 8.3.0 2023-06-20 09:18:19 +07:00
Jun Pataleta 6132904e80 Merge branch 'MDL-74021-master' of https://github.com/andelacruz/moodle 2023-06-20 10:13:34 +08:00
Paul Holden 7a1cdb4ea9 MDL-78519 gradeimport_xml: fix require paths for import form. 2023-06-19 16:58:18 +01:00
Jun Pataleta 8e71a1af8e Merge branch 'MDL-78369' of https://github.com/AnupamaSarjoshi/moodle 2023-06-19 23:17:01 +08:00
Jun Pataleta dd3997b2fb Merge branch 'MDL-70187' of https://github.com/paulholden/moodle 2023-06-19 23:04:37 +08:00
Mihail Geshoski 9c8e40206d MDL-78216 gradereport_grader: Fix overlapping caused by sticky cells 2023-06-19 22:19:35 +08:00
Paul Holden 05ee8a20a6 MDL-78071 cohort: disable report actions for managed cohorts. 2023-06-19 15:01:14 +01:00
Meirza 81a5016ec7 MDL-78160 lib: Added class properties that are not declared in dml
In PHP 8.2 and later, setting a value to an undeclared class property is
deprecated and emits a deprecation notice.
So we need to add missing class properties that still need to be declared.

At the test_transaction_with_events() I changed $this->_called into $called local var,
since the $called is used inside the anonymous function I added the third param as
a variable passed by reference so the last assert can get the newest value.
2023-06-19 19:56:07 +07:00
Paul Holden 3af9bdfa7e MDL-78459 tool_mobile: use site context in mobile manifest file.
Prevents debugging notices when the site shortname is formatted in
the response data.
2023-06-19 13:00:45 +01:00
Lior Gil f92437428e MDL-76629 core_table: add sticky column option 2023-06-19 12:46:29 +03:00
Angelia Dela Cruz fb9745ab0b MDL-74021 behat: Page behat generators use UI
Replace steps that manually add page instances via the UI and use
Behat generators. This improves the speed of Behat test runs.

Co-authored-by: Simey Lameze <simey@moodle.com>
2023-06-19 17:03:02 +08:00
David Woloszyn 802ff3e2e3 MDL-75913 behat: Use alternatives to Atto in tests 2023-06-19 16:35:46 +10:00
David Woloszyn 32316df646 MDL-75913 behat: Switch to TinyMCE editor iframe 2023-06-19 16:35:46 +10:00
David Woloszyn a183677a87 MDL-75913 behat: Private files data generator 2023-06-19 16:35:46 +10:00
Andrew Nicols fcdfc74abd MDL-75913 behat: Add support for file uploads in page generators 2023-06-19 16:35:46 +10:00
Andrew Nicols baa32f6569 MDL-75913 behat: Add support for file uploads in generators 2023-06-19 16:35:46 +10:00
David Woloszyn 0662dfadbe MDL-77793 lib: Removed uses of deprecated functions for themes 2023-06-19 16:32:51 +10:00
David Woloszyn 49ee428dca MDL-77793 lib: Deprecated device specific theme functions 2023-06-19 16:32:51 +10:00
David Woloszyn b20503c0ff MDL-77793 lang: Deprecating strings associated with update to theme page 2023-06-19 16:32:14 +10:00
David Woloszyn b63ca109f3 MDL-77793 core_theme: Device selections removed from theme selector 2023-06-19 16:32:14 +10:00
Anders Rasmussen 0c188eefc8 MDL-74893 authentication: Fix auto-login guest
Fixed auto-login as guest, when Guest login button is hidden
2023-06-19 07:52:03 +02:00
Ilya Tregubov da1ccba20c Merge branch 'MDL-78199-master' of https://github.com/roland04/moodle 2023-06-19 12:50:28 +08:00
Laurent David d5dc0a8eb1 MDL-77813 core_xapi: Add delete states webservice
* Add new core_xapi_delete_states Webservices in pair with the "Multiple
document DELETE" action from xAPI specification.
2023-06-19 06:23:53 +02:00
Laurent David 2144bdf06c MDL-78056 mod_h5pactivity: Fix incorrect attempt report
* Fix interpretation of the results on the attempt report whenever case
sensitive option is enabled.
2023-06-19 06:10:29 +02:00
Paul Holden 246e5ff95c MDL-77868 mod_bigbluebuttonbn: default config for welcome editable.
The property was added to the config options in c3f4123b, however no
default value was provided, meaning if it was ever unset then a PHP
type error would be triggered on the null return.
2023-06-18 19:19:42 +01:00
Petr Skoda de9c69cf3c MDL-77525 filter: add filtering stages 2023-06-17 16:43:58 +02:00
Paul Holden 436a279dec MDL-76953 mod: deprecate libxml library method wrappers.
The `libxml_disable_entity_loader` method is deprecated since PHP8.0,
which is our minimum required version so we no longer need to support
calls to it using the current wrappers.
2023-06-16 19:15:24 +01:00
Paul Holden 39d0643340 MDL-77877 group: hide form fields dependent on group visibility. 2023-06-16 18:53:31 +01:00
Paul Holden 70e5ff196a MDL-78435 mod_assign: ensure due date is always after start date. 2023-06-16 18:41:45 +01:00
Paul Holden e8ae9680bc MDL-75810 reportbuilder: entity method for returning tag SQL joins. 2023-06-16 18:21:24 +01:00
Paul Holden 697be4eaa3 MDL-75810 badges: allow tags to be specified in test data generator. 2023-06-16 16:06:09 +01:00
Mikel Martín b1ad6666ce MDL-78199 course: Remove unused SCSS 2023-06-16 12:40:09 +02:00
Mikel Martín 0cacc7afb8 MDL-78199 course: Move activity plugintype to a tooltip 2023-06-16 12:40:09 +02:00
Mikel Martín 905ccf34fc MDL-78199 behat: Fix hover over element step definition 2023-06-16 12:40:09 +02:00
Mikel Martín 50bf102a81 MDL-78199 course: Move activity completion to a dropdown
- Add new dropdown to display completion
- Fix completion behat steps with selectors that were not specific enough
- Update behat step that now needs to open completion requirements dropdown before
2023-06-16 12:40:09 +02:00
Mikel Martín d5aa5b7b07 MDL-78199 course: Add styles for activity card elements
- Reduce activity icon size: Until MDL-78284 arrives, current activityiconcontainer should be reduced to fit the new UI
- Reduce activity actions button size
- Add styles for activity altconent
- Add styles for activity descriptions and text and media content.
- Add styles to show images inside altcontent with rounded borders.
- Add styles for activity dates
- Add styles for activity visibility
- Add styles for restrictions
- Add styles for activity badge
2023-06-16 12:39:50 +02:00
Mikel Martín 80b0b3e608 MDL-78199 course: New activity cards layout
- Refactor activity card templates to use a grid layout.
- Remove 'description-inner' related classes and styles.
- Add small comments to SCSS for future better understanding.
- Add independent renderable for course module icon
2023-06-16 12:29:10 +02:00
Andrew Nicols 1b1a15a308 weekly release 4.3dev 2023-06-16 12:04:12 +08:00
Andrew Nicols 92e5955eb7 Merge branch 'install_master' of https://git.in.moodle.com/amosbot/moodle-install 2023-06-16 12:04:07 +08:00
Angelia Dela Cruz 89e0885660 MDL-78455 Behat: Behat cleanup and optimisation for blog/tests/behat 2023-06-16 09:06:07 +08:00
Amaia Anabitarte 3ae96a0496 MDL-78201 core_course: Prepare group mode state actions 2023-06-16 00:52:18 +02:00
Juan Leyva bf6ef82fa0 MDL-78263 airnotifier: keep notification name as part of the payload 2023-06-15 17:27:36 +02:00
Sara Arjona 750d1c1130 Merge branch 'MDL-78165-master' of https://github.com/andrewnicols/moodle 2023-06-15 10:16:57 +02:00
Andrew Nicols 3a9f55dcf7 MDL-78165 mod_bigbluebuttonbn: Fetch cron status using API 2023-06-15 16:01:15 +08:00
Angelia Dela Cruz 1325ddac92 MDL-78455 Behat: Add Behat for adding, editing and deleting blog entries 2023-06-15 15:25:36 +08:00
Nathan Nguyen 37838804d8 MDL-77865 qtype_ddwtos: fix incorrect inplace class 2023-06-15 14:59:10 +10:00
Ilya Tregubov 7bcd4973e0 Merge branch 'MDL-70152-master-fix' of https://github.com/ilyatregubov/moodle 2023-06-15 12:12:59 +08:00
Andrew Nicols 540aeec2c8 Merge branch 'MDL-78310-master' of https://github.com/aanabit/moodle 2023-06-15 12:03:35 +08:00
Andrew Nicols 04b1e6469c Merge branch 'MDL-77224' of https://github.com/paulholden/moodle 2023-06-15 12:02:11 +08:00
Simey Lameze ce93aa7e4f MDL-70152 behat: reply to post using data generator 2023-06-15 12:01:39 +08:00
Jun Pataleta 5088fba999 Merge branch 'MDL-78333' of https://github.com/paulholden/moodle 2023-06-15 11:59:53 +08:00
Andrew Nicols af757274a1 Merge branch 'MDL-78341-progress-bar-style' of https://github.com/brendanheywood/moodle 2023-06-15 11:53:06 +08:00
Jake Dallimore cff9ba572e Merge branch 'MDL-78475' of https://github.com/paulholden/moodle 2023-06-15 11:48:58 +08:00
Jun Pataleta 620371e7d3 Merge branch 'MDL-73325-master' of https://github.com/ntdat1904/datnguyen_moodle 2023-06-15 11:31:22 +08:00
Andrew Nicols 407498a2a2 Merge branch 'MDL-78066-master' of https://github.com/snake/moodle 2023-06-15 11:26:08 +08:00
Andrew Nicols 6b3d97e615 Merge branch 'MDL-78461' of https://github.com/paulholden/moodle 2023-06-15 11:23:05 +08:00
Andrew Nicols a00177fd8f Merge branch 'MDL-78385' of https://github.com/paulholden/moodle 2023-06-15 11:06:58 +08:00
Andrew Nicols 9d9fbe4da0 Merge branch 'MDL-78187-master' of https://github.com/meirzamoodle/moodle 2023-06-15 11:01:56 +08:00
Andrew Nicols 4d15a4ee32 Merge branch 'MDL-69231-master' of https://github.com/lameze/moodle 2023-06-15 10:58:56 +08:00
Ilya Tregubov 3705832400 Merge branch 'MDL-77542' of https://github.com/paulholden/moodle 2023-06-15 10:36:12 +08:00
Ilya Tregubov 6eaf187d35 Merge branch 'MDL-76733-master' of https://github.com/andrewnicols/moodle 2023-06-15 10:22:26 +08:00
Andrew Nicols 81ddbd5963 Merge branch 'MDL-78165-master' of https://github.com/meirzamoodle/moodle 2023-06-15 09:59:32 +08:00
Andrew Nicols 4412db94f1 Merge branch 'MDL-78478-master' of https://github.com/dasistwas/moodle 2023-06-15 09:55:50 +08:00
Jake Dallimore b42e47fb4a MDL-78066 enrol_lti: fix deep linking error in multiple grade items case
If an activity, like workshop or forum, has multiple grade items,
declarative binding of the grade item (line item) isn't supported.
Instead of throwing an exception, handle the case more elegantly
and just omit the 'add to gradebook' option for these activities.
2023-06-15 09:38:43 +08:00
Jake Dallimore 8da6304e0e MDL-78066 enrol_lti: test showing multi-grade-items failure
This test demonstrates the failure of the repository to properly fetch
published resources which are compatible with declarative line item
binding.
2023-06-15 09:38:31 +08:00
Andrew Nicols 19c98d0d6e MDL-76733 mod_assign: Remove JS requirement for time-based tests
Converting these tests to use an onlinetext submission and drop the JS
requirement means that they are much less susceptible to runtime issues,
and not susceptible to those caused by JS at all.
2023-06-15 09:32:36 +08:00
Andrew Nicols 9b5d081a48 MDL-76733 mod_assign: Address random failure
This random failure was happening because of the time required to render
and interact with the file picker which sometimes exceeded 2 seconds,
depending on the speed of the machine running the tests.

Converting these tests to use an onlinetext submission and drop the JS
requirement means that they are much less susceptible to runtime issues,
and not susceptible to those caused by JS at all.
2023-06-15 09:28:17 +08:00
Ilya Tregubov 8debfd63ba Merge branch 'MDL-78207-master' of https://github.com/sarjona/moodle 2023-06-15 09:21:11 +08:00
Ilya Tregubov 7c6df520c1 Merge branch 'MDL-78102-master' of https://github.com/sarjona/moodle 2023-06-15 09:03:14 +08:00
AMOS bot 3f2d90e6ca Automatically generated installer lang files 2023-06-15 00:16:30 +00:00
Jun Pataleta b5931eaf4f Merge branch 'MDL-78306-master' of https://github.com/andrewnicols/moodle 2023-06-15 00:05:15 +08:00
Sara Arjona 8d050aa330 Merge branch 'MDL-69653' of https://github.com/paulholden/moodle 2023-06-14 17:49:49 +02:00
Paul Holden c21a4aebeb MDL-69653 cache: final removal of deprecated lock methods. 2023-06-14 16:19:57 +01:00
meirzamoodle c68ea5d057 MDL-78187 Libraries: Upgrade ADODB to 5.22.5 2023-06-14 22:04:58 +07:00
Sara Arjona 72ef87bda1 Merge branch 'MDL-78055' of https://github.com/paulholden/moodle 2023-06-14 16:54:47 +02:00
Sara Arjona 74ead812ba Merge branch 'MDL-74824' of https://github.com/paulholden/moodle 2023-06-14 16:51:00 +02:00
Sara Arjona f748a9da10 Merge branch 'MDL-76733-master' of https://github.com/andrewnicols/moodle 2023-06-14 16:22:09 +02:00
Andrew Nicols 9ce8a9e637 MDL-78306 core: Correct modal jsdoc 2023-06-14 21:52:55 +08:00
Andrew Nicols af604082df MDL-78306 core: Migrate core/config to ESM 2023-06-14 21:52:55 +08:00
Andrew Nicols 80780f755a MDL-78306 core: Convert modal_backdrop to ESM 2023-06-14 21:52:55 +08:00
Andrew Nicols a571b7c8bf MDL-78306 core: Convert modal_events to ESM 2023-06-14 21:52:55 +08:00
Andrew Nicols c6c871e2ce MDL-78306 core: Convert modal_factory to ESM 2023-06-14 21:52:54 +08:00
Juan Leyva 72f269a05b MDL-78443 course: Missing require for course_request 2023-06-14 15:45:09 +02:00
Andrew Nicols ecf49b2a19 MDL-78306 mod_quiz: Convert AMD modals to ESM 2023-06-14 21:41:50 +08:00
Andrew Nicols c8a7a11230 MDL-78306 message: Convert notification_processor_settings modal to ESM 2023-06-14 21:41:50 +08:00
Andrew Nicols 406623116c MDL-78306 core: Convert calendar modals to ESM 2023-06-14 21:41:50 +08:00
Andrew Nicols 48c5f01497 MDL-78306 calendar: Remove unused dependencies 2023-06-14 21:41:50 +08:00
Andrew Nicols 57558cb17f MDL-78306 tool_dataprivacy: Convert data request modal to ESM 2023-06-14 21:41:49 +08:00
Andrew Nicols 77b4d0236f MDL-78306 core: Provide helper method to register modals classes 2023-06-14 21:41:49 +08:00
Andrew Nicols fcb6fdf393 MDL-78306 core: Convert core/modal to ESM 2023-06-14 21:41:49 +08:00
Andrew Nicols a9e8eed4b0 MDL-78306 core: Allow use of .finally() 2023-06-14 21:41:48 +08:00
Meirza 8b63d21a50 MDL-78165 lib: Added class properties that are not declared in classes
In PHP 8.2 and later, setting a value to an undeclared class property is
deprecated and emits a deprecation notice.
So we need to add missing class properties that still need to be declared.
2023-06-14 20:17:55 +07:00
David Bogner f80adab439 MDL-78478 forms: Fix repeated elements in dynamic forms 2023-06-14 15:13:54 +02:00
Paul Holden ef659d0584 MDL-78055 themes: account for undefined extrascsscallback config.
Where a theme didn't define this property, it would raise debugging
deprecation warnings in PHP8.1.
2023-06-14 13:51:07 +01:00
Paul Holden e3583a2302 MDL-78385 course: fix non-AJAX activity indentation URL parameter. 2023-06-14 12:58:13 +01:00
Sara Arjona 4c32213446 Merge branch 'MDL-71325' of https://github.com/paulholden/moodle 2023-06-14 13:41:28 +02:00
Paul Holden a45f9d5076 MDL-78475 communication: earlier install check for rendering links. 2023-06-14 12:34:21 +01:00
Sara Arjona 4cf2730823 Merge branch 'MDL-78253' of https://github.com/paulholden/moodle 2023-06-14 13:32:28 +02:00
Sara Arjona 25eaa1ed03 Merge branch 'MDL-76715-master' of https://github.com/aanabit/moodle 2023-06-14 13:18:15 +02:00
Sara Arjona a184dbde57 Merge branch 'MDL-64648-master_enrol_manual_expirynotify_default_in_enrol_instance' of https://github.com/vtos/moodle 2023-06-14 13:08:13 +02:00
Jun Pataleta b1f0a24f98 Merge branch 'MDL-78466-master' of https://github.com/andrewnicols/moodle 2023-06-14 16:03:23 +08:00
Jake Dallimore 2f0585f4b5 Merge branch 'MDL-78144-master' of https://github.com/meirzamoodle/moodle 2023-06-14 14:16:04 +08:00
Ilya Tregubov 9611669cae Merge branch 'MDL-70152-master' of https://github.com/andelacruz/moodle 2023-06-14 13:24:06 +08:00
Jun Pataleta 41efec8312 Merge branch 'MDL-76445-master-patch' of https://github.com/ilyatregubov/moodle 2023-06-14 12:18:24 +08:00
Andrew Nicols 5138f02dd3 MDL-78466 cache: Add new result_found helper
This helper is intended to prevent recurrences of this issue by moving
the guess-work to something well tested.
2023-06-14 11:58:12 +08:00
Meirza d6c26f6390 MDL-78144 libraries: Added #[AllowDynamicProperties] to ltiprovider
To prevent the PHP 8.2 warning about Dynamic Properties' deprecation,
the #[\AllowDynamicProperties] attributes was added.
2023-06-14 10:28:03 +07:00
Ilya Tregubov ae88b72a31 Merge branch 'MDL-78328-master' of https://github.com/andrewnicols/moodle 2023-06-14 11:11:30 +08:00
Meirza a4ee6ca99e MDL-78163 lib: Added class properties that are not declared in form
In PHP 8.2 and later, setting a value to an undeclared class property is
deprecated and emits a deprecation notice.
So we need to add missing class properties that still need to be declared.
2023-06-14 09:52:46 +07:00
Jun Pataleta 0dd37eaa54 Merge branch 'MDL-78313-blocks-performance' of https://github.com/brendanheywood/moodle 2023-06-14 10:15:44 +08:00
Andrew Nicols 5c6ebcd5f5 MDL-78466 cache: Perform strict test on static cache values
If a statically accelerated cache returns an empty array then the value
was still fetched from the non-static cache store.

The check of the `$result` should be strictly checked against `false`,
which is the value used if no value was found.
2023-06-14 09:28:53 +08:00
Ilya Tregubov df6641a489 MDL-76445 gradereport_singleview: Fix Behat test
When you unenrol a user, the notification blocks some tertiary
navigation links.
2023-06-14 08:57:43 +08:00
Brendan Heywood c653fe20bd MDL-78341 tool_httpsreplace: Make progress order deterministic 2023-06-14 09:09:43 +10:00
Brendan Heywood 73ed05ecf2 MDL-78341 core: Improve the progress bar style 2023-06-14 09:09:43 +10:00
Paul Holden 9245bfcdaf MDL-78243 libraries: upgrade to version 6.8.0 of PHPMailer. 2023-06-13 20:15:32 +01:00
Paul Holden c5d655973e MDL-78461 core: fix base plugininfo class reference to root directory. 2023-06-13 14:03:41 +01:00
vtos 5be5813ca1 MDL-64648 enrol_manual: fixed default setting of 'expirynotify'
When creating a course, a manual enrolment instance is added by default. The instance settings should inherit the values of those
for the manual enrolment plugin and properly calculate its extra settings. The 'expirynotify' setting wasn't inherited correctly
in case it had 'Enroller + Enrolled' value.
A functional test was added to test the behaviour of settings inheritance.
2023-06-13 13:25:47 +02:00
Sara Arjona da16718e8b MDL-78207 course: Add tests to cover activitybadge feature 2023-06-13 12:09:58 +02:00
Sara Arjona af164ce9c7 MDL-78207 resource: Move file type to activity badge
One of the resource settings, the file type, has been moved to the
activity badge near the activity name.
The rest of the information will be displayed using the afterlink
feature.

However, for now, the activity page still displays all the information
together (that's why resource_get_optional_details() supports now one
new parameter, $showtype, to define whether the file type should be
displayed or not).
2023-06-13 12:09:58 +02:00
Sara Arjona 987ceb1b69 MDL-78207 forum: Move unread messages to activity badge 2023-06-13 12:09:58 +02:00
Sara Arjona 6db715f5c3 MDL-78207 course: Add new module badges feature
The new activity card design proposed for Moodle 4.3 differentiates badge
information from other HTML content (displayed using the afterlink feature).
This commit adds a new activitybadge class that can be extended by any
module to display any content in a badge near the activity name. These
are the main features:
- The badge content is always plain text (no HTML).
- The badge style can be set (by default is initialized with badge-none,
but it can be set by any module).
- An optional URL to redirect the user when the badge is clicked.
- An optional ID to add the element in case the module wants to add some
JS to the badge events.
- Optionally, any other extra HTML attributes to the badge element (for
example, data attributes).
2023-06-13 12:09:58 +02:00
Sara Arjona b6849bd973 MDL-78207 course: Move afterlink at the end of the card 2023-06-13 11:26:08 +02:00
Sara Arjona 3878c85440 MDL-78102 badges: Check empty backpack email/password
For backpack connection using OBv2.0, email and password can't be
blank.
This patch adds some extra checks to validate this and displays an
error to the users before trying to connect to the backpack.
Besides, the error displayed when any error is returned by the
backpack (like invalid credentials), has also been improved, to
make it clearer for the users.
2023-06-13 11:21:13 +02:00
Amaia Anabitarte cb50c71245 MDL-76715 mod_data: Remove data_records when the last field is deleted 2023-06-13 10:52:56 +02:00
sam marshall b154e3cd33 MDL-78434 Lib: PHP 8.1 incompatible code relating to LDAP\Connection 2023-06-13 09:46:49 +01:00
Brendan Heywood 38be84b2cf MDL-78313 admin: Improve performance of manage blocks page
Co-authored-by: Andrew Nicols <andrew@nicols.co.uk>
2023-06-13 17:49:29 +10:00
Ilya Tregubov 621b090ec6 Merge branch 'MDL-76445-master-2' of https://github.com/mihailges/moodle 2023-06-13 15:43:07 +08:00
Mihail Geshoski c95c632764 MDL-76445 gradereport_singleview: Deprecate load_users()
Replaces current usages of
\gradereport_singleview\local\screen::load_users() with
get_gradable_users() and deprecates load_users(). The only
remaining calls of this method are unit test related.
2023-06-13 15:06:53 +08:00
Mihail Geshoski 41ec352b36 MDL-76445 gradereport_singleview: Deprecate initial zero state view
Deprecates the \gradereport_singleview\local\screen\select class which
is used to generate the initial view to select the singleview item type
and the strings used by the related mustache template.
This view is no longer used as we do not provide direct links to it
anymore.
2023-06-13 15:06:53 +08:00
Mihail Geshoski 26f4584200 MDL-76445 gradereport_singleview: Usability fixes 2023-06-13 15:06:53 +08:00
Mihail Geshoski 6e7ded8feb MDL-76445 gradereport_user: Usability fixes 2023-06-13 15:06:52 +08:00
Mihail Geshoski 620f6322d9 MDL-76445 grade: Helper that returns all gradable users in a course 2023-06-13 15:06:52 +08:00
Jake Dallimore d8e7c9d3fe Merge branch 'MDL-73052-master' of https://github.com/sarjona/moodle 2023-06-13 14:44:25 +08:00
Jun Pataleta ab384ef813 Merge branch 'MDL-78175-master' of https://github.com/ferranrecio/moodle 2023-06-13 13:43:48 +08:00
michaelkotlyar 9eb1e4d7c0 MDL-76840 mod_assign: Account for extension when calculating time left. 2023-06-13 15:31:50 +12:00
Andrew Nicols 4aa3e00712 MDL-78297 core: Bump version to update cache config
The missing version bump caused cache configuration to not be updated,
and the static acceleration cache size was therefore not updated. The
result here was that the static acceleration cache was constantly
emptied leading to an increased page load time.
2023-06-13 11:04:25 +08:00
Amaia Anabitarte f80b1b070b MDL-78310 mod_resource: Change 'Show type' setting default value
Changing 'Show type' admin setting default value to 'Yes'
2023-06-12 17:39:16 +02:00
Mark Johnson c3697235c1 MDL-76717 quiz: Fix behat exception
Include class for DriverException thrown when trying to add a question without Javascript enabled.
2023-06-12 16:01:34 +01:00
Jun Pataleta 6d850d2ddc Merge branch 'MDL-74263-master' of https://github.com/jleyva/moodle 2023-06-12 20:37:55 +08:00
Anupama Sarjoshi fa12b179e8 MDL-78369 Multiple choice: Increase Choice and feedback boxes size 2023-06-12 11:46:23 +01:00
Jun Pataleta c500ce8b42 Merge branch 'MDL-75937-master' of https://github.com/stevandoMoodle/moodle 2023-06-12 16:10:20 +08:00
Stevani Andolo b7f41aac8b MDL-75937 admin: Fixed config data display inconsistency 2023-06-12 15:37:12 +08:00
Jake Dallimore 6d4945aed5 Merge branch 'MDL-78167-master' of https://github.com/meirzamoodle/moodle 2023-06-12 15:06:17 +08:00
Andrew Nicols 1f5f716818 Merge branch 'MDL-78166-master' of https://github.com/meirzamoodle/moodle 2023-06-12 12:25:58 +08:00
Andrew Nicols 6d706408f2 Merge branch 'MDL-78355' of https://github.com/paulholden/moodle 2023-06-12 10:26:34 +08:00
Andrew Nicols a677a02d71 Merge branch 'MDL-78297-master' of https://github.com/MartinGauk/moodle 2023-06-12 10:17:13 +08:00
Paul Holden 3a90d4c837 MDL-77224 mod_h5pactivity: clean up attempt data on activity deletion. 2023-06-11 18:37:03 +01:00
Paul Holden 5ae1b4e5f3 MDL-77993 mod_lesson: ensure report action menu always present. 2023-06-11 18:35:03 +01:00
Andrew Nicols fe827375f3 MDL-74824 core: Do not treat Stringable objects as arrays
Co-authored-by: Paul Holden <paulh@moodle.com>
2023-06-11 17:40:55 +01:00
Paul Holden d508cdf111 MDL-74824 user: fix custom change password URL in login notification. 2023-06-11 17:40:54 +01:00
Paul Holden 4c11da246e MDL-78018 mod_assign: format group name in grading table. 2023-06-11 15:02:24 +01:00
Paul Holden 7953ded152 MDL-77542 mod_assign: remove duplicate grade heading from grader.
It's already part of the subsequent rendered form.
2023-06-11 15:01:23 +01:00
Paul Holden c18df79c4f MDL-78172 mod_forum: ensure group names are correctly formatted. 2023-06-11 15:00:16 +01:00
Damian Hippisley faa41cd791 MDL-73325 core_badges: Add tags field to BadgeClass 2023-06-09 13:41:07 +01:00
Paul Holden c88d6ad8c3 MDL-70187 user: final removal of deprecated 39/311 methods. 2023-06-09 12:02:45 +01:00
Ilya Tregubov 71c36d2de1 weekly release 4.3dev 2023-06-09 13:14:19 +08:00
Sara Arjona 86edd3d142 Merge branch 'MDL-78415-master-enfix' of https://github.com/vmdef/moodle 2023-06-08 20:33:02 +02:00
Víctor Déniz 9bb5581f4b MDL-78415 lang: Fix typo in Behat tests 2023-06-08 18:46:52 +01:00
Víctor Déniz 7e3b1b1450 MDL-78415 lang: Fix Behat tests regressions after merging en_fix strings 2023-06-08 11:40:13 +01:00
Víctor Déniz 48c161543d MDL-78415 lang: Add parameter to reopencolumn string 2023-06-08 11:38:49 +01:00
Helen Foster 06c5a6c883 MDL-78415 lang: Import fixed English strings (en_fix) 2023-06-08 09:59:04 +01:00
David Woloszyn 5b9a452263 MDL-78237 editor_tiny: Prevent navbar obscuring modal content 2023-06-08 17:14:23 +10:00
David Woloszyn 1e6dcdc3d4 MDL-78237 css: Make navbar height available for non sass-use 2023-06-08 15:52:42 +10:00
Sara Arjona 06bead8e8c Merge branch 'MDL-77946' of https://github.com/paulholden/moodle 2023-06-08 06:56:46 +02:00
Sara Arjona 253b66ec81 Merge branch 'MDL-78308' of https://github.com/paulholden/moodle 2023-06-08 06:48:27 +02:00
Andrew Nicols 9f5d56b7c3 Merge branch 'MDL-75696_master' of https://github.com/marxjohnson/moodle 2023-06-08 12:30:49 +08:00
Andrew Nicols d11668405f Merge branch 'MDL-77357-master' of https://github.com/safatshahin/moodle 2023-06-08 12:27:10 +08:00
Safat 7e91f77541 MDL-77357 communication_matrix: Add plugin savepoint 2023-06-08 14:18:25 +10:00
Andrew Nicols 8538341bc8 Merge branch 'MDL-78364' of https://github.com/paulholden/moodle 2023-06-08 12:17:03 +08:00
Andrew Nicols 3daea485f3 Merge branch 'MDL-78008' of https://github.com/timhunt/moodle 2023-06-08 12:09:07 +08:00
Andrew Nicols b610b9adbe Merge branch 'MDL-77933-master' of https://github.com/snake/moodle 2023-06-08 12:02:58 +08:00
Andrew Nicols ce6658d2c8 MDL-76838 core: Add unit test for invalid unicode sequences 2023-06-08 11:59:10 +08:00
Andrew Nicols 7de0cb32d1 Merge branch 'MDL-76838' of https://github.com/paulholden/moodle 2023-06-08 11:54:05 +08:00
Jun Pataleta d1295a8734 Merge branch 'MDL-75898-master' of https://github.com/matthewhilton/moodle 2023-06-08 11:43:18 +08:00
Andrew Nicols f31d8f688e Merge branch 'MDL-78026' of https://github.com/paulholden/moodle 2023-06-08 11:35:57 +08:00
Andrew Nicols 46ba6e83f8 Merge branch 'MDL-77264' of https://github.com/paulholden/moodle 2023-06-08 11:31:51 +08:00
Andrew Nicols 212e27c5ac Merge branch 'MDL-76821-master' of https://github.com/snake/moodle 2023-06-08 11:28:55 +08:00
Jake Dallimore 6f54ece655 MDL-77933 enrol_lti: return site name and logo during registration
Instead of the Moodle icon and the 'moodle' lang string, return the
site fullname and compact logo during dynamic registration.
2023-06-08 11:28:26 +08:00
Andrew Nicols 7cff32e8fb Merge branch 'MDL-77635-master-2' of https://github.com/ilyatregubov/moodle 2023-06-08 11:26:07 +08:00
Andrew Nicols 346d508950 Merge branch 'MDL-77799-master' of https://github.com/sammarshallou/moodle 2023-06-08 11:20:26 +08:00
Andrew Nicols d61f233c88 Merge branch 'MDL-77814-master' of https://github.com/ferranrecio/moodle 2023-06-08 11:07:40 +08:00
Ilya Tregubov 44bd656a98 MDL-77635 core_grades: Use sticky footer on import grades page 2023-06-08 11:06:28 +08:00
Ilya Tregubov 4838f8e916 MDL-77635 formslib: Allow using a sticky footer in QuickForms 2023-06-08 11:05:46 +08:00
Andrew Nicols b38ef87454 Merge branch 'MDL-78408-master' of https://github.com/snake/moodle 2023-06-08 11:05:03 +08:00
Jun Pataleta 78c71f408a Merge branch 'MDL-78036' of https://github.com/stronk7/moodle 2023-06-08 11:03:39 +08:00
Andrew Nicols 11a075eb61 Merge branch 'wip_MDL-78400_master' of https://github.com/gjb2048/moodle 2023-06-08 10:51:07 +08:00
Andrew Nicols 15c15030d6 Merge branch 'MDL-76406-master' of https://github.com/safatshahin/moodle 2023-06-08 10:36:54 +08:00
Jun Pataleta f46cc228a5 Merge branch 'MDL-76842-master' of https://github.com/snake/moodle 2023-06-08 10:34:46 +08:00
Jun Pataleta 7aee844d05 Merge branch 'MDL-78431-master' of https://github.com/andrewnicols/moodle 2023-06-08 10:28:31 +08:00
Jake Dallimore c25857a73f MDL-76842 auth_lti: remove redundant conditional logic and cast 2023-06-08 10:27:19 +08:00
Jake Dallimore 22b0565ef1 MDL-76842 enrol_lti: fix user record updates in user_repository
Only call user_update_user when the relevant user data has changed,
preventing unnecessary user_updated events. This also removes the
line setting timemodified on the user since user_update_user already
handles this.
2023-06-08 10:27:16 +08:00
Stevani Andolo fdb80ffc40 MDL-78215 core: Added support unit test 2023-06-08 09:36:00 +08:00
Stevani Andolo 429c403c3f MDL-78215 core: support checking if 0.0.0.0 is in subnet 2023-06-08 09:36:00 +08:00
Jake Dallimore b1e550a229 MDL-76842 enrol_lti: test confirming the erroneous user_updated events
This test will fail until the fix - only updating users when data has
changed - is put in place in the following commit.
2023-06-08 09:29:56 +08:00
Jake Dallimore d9fbe7c866 MDL-76842 auth_lti: don't update the user unless data has changed
When receiving data from the LTI launch, or service call, only update
the user record when we know something has changed. This prevents the
creation of many \core\event\user_updated events.
2023-06-08 09:29:56 +08:00
Jake Dallimore 3208e7f182 MDL-76842 auth_lti: don't update the user after membership creation
This isn't required and generates excess events. The only thing update
does, other than update the user fields, is to update the picture, but
in this case, that's unset in membership-based auths anyway, so it's
entirely safe to remove this.
2023-06-08 09:29:56 +08:00
Jake Dallimore dd507afe4b MDL-76842 auth_lti: test confirming the erroneous user_updated events
This test will fail until the fix - only updating users when data has
changed - is put in place in the following commit.
2023-06-08 09:29:56 +08:00
Jun Pataleta 0a36466d9f Merge branch 'MDL-69530' of https://github.com/paulholden/moodle 2023-06-07 23:26:52 +08:00
Jun Pataleta 58e76214e4 Merge branch 'MDL-78378-master' of https://github.com/sarjona/moodle 2023-06-07 23:24:41 +08:00
Jun Pataleta 0dce9fe077 Merge branch 'MDL-76745_master' of https://github.com/marxjohnson/moodle 2023-06-07 22:54:27 +08:00
Andrew Nicols da418eb16b MDL-78431 core: Abort after config for source maps 2023-06-07 21:07:25 +08:00
Sara Arjona 357ad39138 Merge branch 'MDL-78322' of https://github.com/paulholden/moodle 2023-06-07 12:42:57 +02:00
Sara Arjona e7cb93d877 Merge branch 'MDL-78352' of https://github.com/paulholden/moodle 2023-06-07 12:41:06 +02:00
Sara Arjona d91a9d5117 Merge branch 'MDL-71183' of https://github.com/paulholden/moodle 2023-06-07 12:38:46 +02:00
Martin Gauk 695c74ac60 MDL-78297 core: Less cache lookups in deprecated capabilities feature
Avoid use of $cache->has.
2023-06-07 12:36:00 +02:00
Sara Arjona c00b8f7c87 Merge branch 'MDL-78047-master' of https://github.com/stevandoMoodle/moodle 2023-06-07 18:08:47 +08:00
Sara Arjona 1279060f15 Merge branch 'MDL-78010-master' of https://github.com/ferranrecio/moodle 2023-06-07 18:08:47 +08:00
Sara Arjona bf8154427e Merge branch 'MDL-78143-master' of https://github.com/meirzamoodle/moodle 2023-06-07 18:08:46 +08:00
Sara Arjona 08b59c42f1 Merge branch 'MDL-78147-master' of https://github.com/meirzamoodle/moodle 2023-06-07 18:08:46 +08:00
sam marshall 6f48fe50a2 MDL-77799 webservice_rest: unhandled exception should go in server log 2023-06-07 10:02:41 +01:00
Jake Dallimore df95eace29 MDL-78408 core: fix restoration of anchor to wantsurl during login 2023-06-07 14:13:57 +08:00
Stevani Andolo c27237a998 MDL-78047 core_courseformat: Wrapping added to text and media activity 2023-06-07 12:11:22 +08:00
Paul Holden 0c69ff1dd1 MDL-77193 mnet: correct sorting of access control table. 2023-06-07 09:53:01 +08:00
Meirza 1c2a86c335 MDL-78147 h5p: Added class properties that are not declared
In PHP 8.2 and later, setting a value to an undeclared class property is
deprecated and emits a deprecation notice.
So we need to add missing class properties that still need to be declared.
2023-06-07 05:16:57 +07:00
Ferran Recio 4a3f21fee8 MDL-78010 mod_label: improve upgrade performance 2023-06-06 21:31:23 +02:00
Meirza 74c851c5a7 MDL-78143 lib: Added class properties in html purifier
In PHP 8.2 and later, setting a value to an undeclared class property is
deprecated and emits a deprecation notice.
So we need to add missing class properties that still need to be declared.
2023-06-06 21:47:35 +07:00
Petr Skoda e931e8029e MDL-76683 core_group: fix template 2023-06-06 14:04:19 +00:00
Andrew Nicols 053afd697e Merge branch 'MDL-77357-master' of https://github.com/safatshahin/moodle 2023-06-06 21:57:05 +08:00
Paul Holden e60c45b610 MDL-78355 xapi: correct coverage notation for delete state test. 2023-06-06 12:04:07 +01:00
Paul Holden 3bc3a5b660 MDL-69530 h5p: remove storage class editor filearea constant. 2023-06-06 12:03:15 +01:00
Eloy Lafuente (stronk7) 10e3afc5d8 MDL-78036 behat: Move all links from old docs to new counterparts 2023-06-06 12:38:01 +02:00
Sara Arjona 1d2e8bcc33 Merge branch 'MDL-76936' of https://github.com/HirotoKagotani/moodle 2023-06-06 11:22:08 +02:00
Safat 17e4523382 MDL-77357 communication_matrix: Test fix for course banner notification 2023-06-06 17:08:51 +10:00
Andrew Nicols 74813d9f37 Merge branch 'MDL-77357-master' of https://github.com/safatshahin/moodle 2023-06-06 11:19:42 +08:00
Paul Holden 8ed7c78ecf MDL-78364 reportbuilder: earlier calculation of schedule recipients. 2023-06-05 16:22:28 +01:00
Gareth Barnard 5eed922987 MDL-78400 JavaScript: Building JS puts build files in src dir on Win. 2023-06-05 14:55:47 +01:00
Juan Leyva f74ce531ba MDL-74263 enrol_guest: Add WebService support for mobile app 2023-06-02 19:03:48 +02:00
Mark Johnson 0fd25d1edd MDL-75125 core_question: Deprecate old action column classes
Final removal in Moodle 4.7 MDL-78090
2023-06-02 11:42:02 +01:00
Mark Johnson 327f23be0c MDL-75125 mod_quiz: Use custom columns for question bank actions
We no longer support action columns in the core question bank,
but the "add from question bank" view still needs to display a
couple of actions, so this implements them as custom columns.
2023-06-02 11:42:00 +01:00
Mark Johnson 359bb7e31a MDL-75125 qbank: Convert qbank plugins to new actions API 2023-06-02 11:15:40 +01:00
Safat Shahin be1bc85028 MDL-75125 core_question: Add action as a feature
This commit will implement question bank actions as a feature.
Previously, it used to implement columns and actions together in one
feature.
With this change it will have actions a different feature which will
allow
developers to implement actions in an easier way.

The existing "action column" API will be deprecated in a separate
commit.

Co-authored-by: Mark Johnson <mark.johnson@catalyst-eu.net>
2023-06-02 11:14:23 +01:00
Sara Arjona d3f363541b MDL-73052 page: Fix page description when it has only an image
This is as regression of MDL-72413, when description was moved to a
standard module API.
In some cases, when description has only images, it's was not
displayed.
2023-06-02 08:20:17 +02:00
Sara Arjona 7499e96a33 MDL-78378 survey: Display default introduction when description is empty
This is a regression when the activity pages were redessigned in Moodle
4.0. The default introduction should be displayed when the activity
description is empty.
2023-06-02 08:19:08 +02:00
Simey Lameze 2367bc9ff6 MDL-69231 behat: remaining work for role capability generator
This commit does few things:
* Unify data generators usage to role short name.
* Replace remaining manual steps to use the new data generator.
* Also replaced other manual steps to set config to use data generators.
* Tidy up of some tests, aligning pipes and splitting one line steps into multiple lines.
* Fixes tests to have one Given/When/Then per scenario.
2023-06-02 12:47:27 +08:00
Andrew Nicols aa2fc4048e MDL-69231 behat: Update tests to use new generator 2023-06-02 12:47:27 +08:00
Andrew Nicols 1a4303c9bc MDL-69231 tests: Add role capability setting generator 2023-06-02 12:47:27 +08:00
Andrew Nicols 8c9282f5d6 MDL-69231 tests: Improve existing role generator
Support definition of context levels and permissions.
2023-06-02 12:47:27 +08:00
Safat 091d9d2d86 MDL-76406 core: Add environment check for versions not supporting 8.2 2023-06-02 12:01:56 +10:00
Ilya Tregubov 84bb5725f8 weekly release 4.3dev 2023-06-02 09:55:29 +08:00
Ilya Tregubov 8fd201d781 Merge branch 'install_master' of https://git.in.moodle.com/amosbot/moodle-install 2023-06-02 09:55:26 +08:00
Rodrigo Mady da Silva 407856338c MDL-74568 mod_chat: Add Webservice mod_chat_view_sessions 2023-06-01 18:16:21 -03:00
Mark Johnson 09cf1b8818 MDL-76745 cache: Implement cache_loader_with_locking in cache_disabled
If a plugin attempts to do something that would lock coursemodinfo cache
during install (such as creating a course module), this currently fails
as check_lock_state is not implemented in cache_disabled. Adding the
cache_loader_with_locking interface ensures that all lock methods are
implemented.
2023-06-01 15:03:01 +01:00
Andrew Nicols ef6be3c400 Merge branch 'MDL-77749-unset-config-duration' of https://github.com/brendanheywood/moodle 2023-06-01 13:00:55 +02:00
Andrew Nicols 81dc04b435 Merge branch 'MDL-77564' of https://github.com/timhunt/moodle 2023-06-01 13:00:54 +02:00
Jun Pataleta 71216a0b1d Merge branch 'MDL-78092-master' of https://github.com/sammarshallou/moodle 2023-06-01 11:36:44 +08:00
Ilya Tregubov 9d6e83274a Merge branch 'MDL-78317-master' of https://github.com/andrewnicols/moodle 2023-06-01 11:17:31 +08:00
Andrew Nicols 74c7959f22 Merge branch 'master' of git.in.moodle.com:moodle/integration; branch 'MDL-78383' of https://github.com/jrchamp/moodle 2023-06-01 11:12:10 +08:00
Andrew Nicols d60ce4c575 Merge branch 'MDL-78146-master' of https://github.com/meirzamoodle/moodle 2023-06-01 11:01:34 +08:00
Andrew Nicols a1e6cc6747 Merge branch 'MDL-76397-master' of https://github.com/stevandoMoodle/moodle 2023-06-01 10:57:14 +08:00
Andrew Nicols 08dab39234 Merge branch 'MDL-78327' of https://github.com/timhunt/moodle 2023-06-01 10:52:22 +08:00
Ilya Tregubov 8ab87b3fc4 Merge branch 'MDL-78196-master' of https://github.com/jleyva/moodle 2023-06-01 10:39:30 +08:00
Andrew Nicols 8d1a2c960a MDL-78019 core: Whitespace fixes 2023-06-01 10:20:06 +08:00
Andrew Nicols e60843f355 Merge branch 'MDL-78019' of https://github.com/AnupamaSarjoshi/moodle 2023-06-01 10:14:18 +08:00
Ilya Tregubov 59cd47c02f Merge branch 'MDL-62859' of https://github.com/paulholden/moodle 2023-06-01 10:12:14 +08:00
Andrew Nicols 64dbf7c1f2 Merge branch 'MDL-78142-master' of https://github.com/meirzamoodle/moodle 2023-06-01 09:51:22 +08:00
Ilya Tregubov d0012c7e3f Merge branch 'MDL-77259' of https://github.com/paulholden/moodle 2023-06-01 09:29:12 +08:00
Ilya Tregubov e453be7198 Merge branch 'MDL-75961-master' of https://github.com/lameze/moodle 2023-06-01 09:07:27 +08:00
Ilya Tregubov f245db464f Merge branch 'MDL-71067' of https://github.com/paulholden/moodle 2023-06-01 08:55:36 +08:00
AMOS bot 331781c504 Automatically generated installer lang files 2023-06-01 00:11:09 +00:00
mkassaei cc880cabf5 MDL-77564 Quiz display options: Hide or show the grade information
Allow settings to show Max marks and Marks, Max marks only, or hide the grade information completely.
2023-05-31 17:15:29 +01:00
Sara Arjona 9d158408ae Merge branch 'MDL-76693-master' of https://github.com/roland04/moodle 2023-05-31 17:08:50 +02:00
Safat 5fc1dedeae MDL-77357 communication_matrix: Implement dynamic form fields 2023-06-01 00:42:53 +10:00
Safat 982938fa04 MDL-77357 core_course: Api call for dynamic form fields 2023-06-01 00:39:03 +10:00
Safat 04b7c496f0 MDL-77357 core_communication: Add api for provider form fields 2023-06-01 00:39:03 +10:00
Simey Lameze 89b0b04333 MDL-77547 behat: run recalculate task before checking values 2023-05-31 15:04:54 +02:00
Sara Arjona ca1996a013 Merge branch 'MDL-77547-master' of https://github.com/andelacruz/moodle 2023-05-31 12:51:13 +02:00
Sara Arjona db4a3d9455 Merge branch 'MDL-77907-master' of https://github.com/andelacruz/moodle 2023-05-31 12:17:59 +02:00
Sara Arjona 6a27e5f8a7 Merge branch 'MDL-78145-master' of https://github.com/meirzamoodle/moodle 2023-05-31 12:09:17 +02:00
Sara Arjona f0dd54e7fd Merge branch 'MDL-78148-master' of https://github.com/ferranrecio/moodle 2023-05-31 11:42:07 +02:00
Tim Hunt ddd1ce66fd MDL-78327 question stats: store same timestamp for all question stats 2023-05-31 10:41:34 +01:00
Sara Arjona 1cbd91fe47 Merge branch 'MDL-73648' of https://github.com/paulholden/moodle 2023-05-31 11:38:04 +02:00
Ilya Tregubov b85df60331 Merge branch 'MDL-77654-master' of https://github.com/HuongNV13/moodle 2023-05-31 14:28:38 +08:00
Ilya Tregubov accddabca3 Merge branch 'MDL-77168-master' of https://github.com/andrewnicols/moodle 2023-05-31 10:22:02 +08:00
Jonathan Champ e32cf94b9b MDL-78383 cache: Remove unused class property configlockmappings 2023-05-30 19:46:03 -04:00
Ilya Tregubov 9bc2c51e4a Merge branch 'MDL-73138' of https://github.com/paulholden/moodle 2023-05-30 12:53:47 +08:00
Ilya Tregubov 88f0bd7675 Merge branch 'MDL-77723' of https://github.com/paulholden/moodle 2023-05-30 12:43:53 +08:00
AMOS bot fb770828cc Automatically generated installer lang files 2023-05-30 00:10:43 +00:00
Jun Pataleta 3dfd0b73fe Merge branch 'MDL-78314-master' of https://github.com/lucaboesch/moodle 2023-05-29 17:35:26 +08:00
Jun Pataleta c0bca499df Merge branch 'MDL-78266-master' of https://github.com/andrewnicols/moodle 2023-05-29 17:16:03 +08:00
Mikel Martín ab66e73a5b MDL-76693 core_course: Fix activity chooser summary overlap
In activity chooser modal, there is an overlap issue in the information "sub-page".
Changing some classes in the layout solves the problem.
2023-05-29 09:43:39 +02:00
Ferran Recio 0eaaf40f10 MDL-78175 output: new paragraph renderer method
Many main php files still uses html_writer('p...) to render a simple
paragraphs below or under other elements like forms. In many cases those
texts could be part of a template but there are may scenarios were
creating a full template for a simple paragraph is too much. However,
the html_writer is too limiting as plugins cannot provide their own
implementation. This new method in the renderer is a good in between
solution.
2023-05-29 09:26:04 +02:00
Ferran Recio 0ad8fd077c MDL-78175 course: move role renaming to participants 2023-05-29 09:25:18 +02:00
Ferran Recio 268e82b005 MDL-77814 core_xapi: add itemid check to state store
The xAPI state standard allow any type of activity ID, not only
integers. However, the default state store uses itemid to identify the
component instance so the activity id is limited to numerics. The store
base calls should use string as activityid as this is how xAPI specs
describe it. However, if a plugin want to use non numeric activity ids
it must implement it's own state store.
2023-05-29 08:57:24 +02:00
Ferran Recio c07bbf8d76 MDL-78148 core_courseformat: reduce the use of uniqid in templates 2023-05-29 08:38:40 +02:00
Jun Pataleta fb3ab6ae94 Merge branch 'MDL-77532' of https://github.com/paulholden/moodle 2023-05-29 11:09:49 +08:00
Jun Pataleta 42f930ecf0 Merge branch 'MDL-76471' of https://github.com/paulholden/moodle 2023-05-29 11:08:13 +08:00
Angelia Dela Cruz c95ef35b60 MDL-70152 behat: Forum behat generators use UI
Behat cleanup and optimisation
2023-05-29 10:32:20 +08:00
Angelia Dela Cruz 640db57c0e MDL-70152 behat: Forum behat generators use UI
Replace steps that manually add forum and forum post instances
via the UI and use Behat generators. This improves the speed of
Behat test runs.
2023-05-29 10:32:12 +08:00
Andrew Nicols 505940f91e MDL-70152 forum: Create behat data generator
* Convert track_read_posts.feature to use activity and discussion
data generators as exmaple.

Co-authored-by: Jun Pataleta <jun@moodle.com>
2023-05-29 10:32:11 +08:00
Huong Nguyen 8c03232b02 MDL-77654 Libraries: Upgrade ogv.js tech plugin for VideoJS to 0.2.1 2023-05-29 09:30:07 +07:00
Meirza 6be248016f MDL-76673 atto: Check color contrast only on elements that have text
If the content in Atto is wrapped by an element with only a background color, without text color,
the accessibility checker will use the parent text-color as the foreground color, which is owned by form-control,
it becomes a problem if the wrapped element background using #34274f and the parent text-color is #495057 then
the low contrast as a result.

To avoid such a situation, the patch will only calculate color contrast if only the element has text,
so it will give results per element if the accessibility checker is unsatisfied.
2023-05-27 13:56:18 +07:00
Meirza ff22a6e221 MDL-76673 tiny: Check color contrast only on elements that have text
If the content in Tiny is wrapped by an element with only a background color, without text color,
the accessibility checker will use the parent text-color as the foreground color, which is owned by form-control,
it becomes a problem if the wrapped element background using #34274f and the parent text-color is #495057 then
the low contrast as a result.

To avoid such a situation, the patch will only calculate color contrast if only the element has text,
so it will give results per element if the accessibility checker is unsatisfied.

The patch also changes the selected element from 'body > *' to 'body *',
so it will return all elements (parents and children) in the content instead of parents only.

And minor modifications on the warning_content.mustache to fix the numbering format.
2023-05-27 13:56:18 +07:00
Meirza 4c2d560fc7 MDL-78146 lib: Added missing class properties in phpmailer
In PHP 8.2 and later, setting a value to an undeclared class property is
deprecated and emits a deprecation notice.
So we need to add missing class properties that still need to be declared.
2023-05-27 11:25:38 +07:00
Meirza 928b300bc7 MDL-78145 lib: Added missing class properties in pear
In PHP 8.2 and later, setting a value to an undeclared class property is
deprecated and emits a deprecation notice.
So we need to add missing class properties that still need to be declared.
2023-05-27 11:11:12 +07:00
Meirza 0d54d69c22 MDL-78142 lib: Added class properties that are not declared in bennu
In PHP 8.2 and later, setting a value to an undeclared class property is
deprecated and emits a deprecation notice.
So we need to add missing class properties that still need to be declared.
2023-05-27 09:49:39 +07:00
Meirza ccac845f11 MDL-78166 lib: Added missing class properties in portfolio
In PHP 8.2 and later, setting a value to an undeclared class property is
deprecated and emits a deprecation notice.
So we need to add missing class properties that still need to be declared.

Removing the existing $id property at portfolio_format_leap2a_writer, because
the $id only needed inside the __construct().
2023-05-27 09:28:03 +07:00
Meirza b7008d33ea MDL-78167 lib: Added missing class properties in tests
In PHP 8.2 and later, setting a value to an undeclared class property is
deprecated and emits a deprecation notice.
So we need to add missing class properties that still need to be declared.

Adding @runTestsInSeparateProcesses and removing setUp() and tearDown() at the
component_test.php, so the test will run in a separate process making sure that
whatever changes happen to the in-memory version of the component class in its thread,
therefore does not impact other tests and makes it more safe.
2023-05-27 09:24:59 +07:00
Anupama Sarjoshi b4b9248b78 MDL-78019 core: Logs to record user file deleted from draft area 2023-05-26 17:45:36 +01:00
Eloy Lafuente (stronk7) 16e101ff72 MDL-78036 behat: Fix php81 deprecation warning 2023-05-26 18:04:11 +02:00
Luca Bösch eecbead7d9 MDL-78314 quiz: style button fieldset in "Manually grade question". 2023-05-26 15:09:43 +02:00
Paul Holden cace650f26 MDL-71325 grade: final removal of deprecated category external method. 2023-05-26 13:48:57 +01:00
Paul Holden 8c7158e224 MDL-71067 phpunit: final removal of deprecated 311 coverage properties. 2023-05-26 13:40:35 +01:00
Paul Holden 9990a740bf MDL-78352 webservice: use default user context page heading. 2023-05-26 12:25:38 +01:00
Wehr Mario fbe936cef7 MDL-78004 cache: Fix deprecated null value in Redis connect 2023-05-26 13:25:19 +02:00
Paul Holden 12bc873b26 MDL-73648 badges: add Behat generator class for creating badges. 2023-05-26 12:19:14 +01:00
Paul Holden 7ee4e2afa0 MDL-73138 group: remove double encoding of group/role names. 2023-05-26 10:25:33 +01:00
Paul Holden 5cc7311717 MDL-73138 user: avoid double encoding participant filter values. 2023-05-26 10:25:33 +01:00
Sara Arjona 4ed782dd03 weekly release 4.3dev 2023-05-26 09:28:35 +02:00
Sara Arjona cb5ce03aae Merge branch 'install_master' of https://git.in.moodle.com/amosbot/moodle-install 2023-05-26 09:28:25 +02:00
Andrew Nicols 0f25d9360d Merge branch 'MDL-77252-master-fix' of https://github.com/davewoloszyn/moodle 2023-05-26 11:12:44 +08:00
David Woloszyn 81414b527a MDL-77252 course: Fixed failing communication room status test 2023-05-26 11:55:23 +10:00
Jun Pataleta e1d1cf8bfe Merge branch 'MDL-78346-master' of https://github.com/andrewnicols/moodle 2023-05-25 16:22:55 +08:00
Andrew Nicols cc193bd7a6 MDL-78346 tool_langimport: Print any notifications before redirect 2023-05-25 14:54:35 +08:00
Andrew Nicols 18dc795907 MDL-78266 core: Simplify string fetching/storing/retrieval
Rather than storing strings by an ID, we instead store them by the
string placeholder value.

This means that:
- we can fetch them by placeholder (e.g. `[[_s144]]`) rather than by
  index
- we can lazily clean them on fetch
- we only clean them once, rather than on every insertion.
2023-05-25 13:42:15 +08:00
Andrew Nicols a438e2c72d MDL-78266 core: Simplify string treatment in core/templates
The old handling was extremely convoluted, and likely inefficient.

It's much clearer to use a regex with named groups and loop through in a
standard way.
2023-05-25 13:42:08 +08:00
Andrew Nicols 1ef815cd97 MDL-78266 core: Break apart core/templates
This commit breaks apart the responsibilities of the core/templates
module to separate out the different constituent parts. Broadly speaking
these are:
- core/local/templates/loader - responsible for fetching, and caching,
  of templates
- core/local/templates/renderer - A Moodle wrapper around the Mustache
  engine
2023-05-25 13:42:00 +08:00
Andrew Nicols 16dee82ce5 MDL-78266 core: Migrate core/templates to esm 2023-05-25 12:09:46 +08:00
Andrew Nicols e82aed72e6 Merge branch 'MDL-78012' of https://github.com/paulholden/moodle 2023-05-25 12:02:55 +08:00
Jun Pataleta c1c6234aea Merge branch 'MDL-78339' of https://github.com/paulholden/moodle 2023-05-25 12:01:15 +08:00
Jun Pataleta d1de2ba1a4 Merge branch 'MDL-76065-master' of https://github.com/lameze/moodle 2023-05-25 11:56:54 +08:00
Jun Pataleta fe69b61828 Merge branch 'MDL-78169-master' of https://github.com/andrewnicols/moodle 2023-05-25 11:50:22 +08:00
Jun Pataleta 428e604344 Merge branch 'MDL-78320' of https://github.com/paulholden/moodle 2023-05-25 11:48:42 +08:00
Jun Pataleta b67930a29c Merge branch 'MDL-78346-master' of https://github.com/andrewnicols/moodle 2023-05-25 11:43:37 +08:00
Jun Pataleta 881b51c8e2 Merge branch 'MDL-77159-master' of https://github.com/andrewnicols/moodle 2023-05-25 11:39:52 +08:00
Andrew Nicols 68122a9d89 MDL-78346 tool_langimport: Redirect after action to prevent resubmission 2023-05-25 11:14:14 +08:00
Andrew Nicols ad7a5030f1 MDL-78346 tool_langimport: Prevent uninstallation of invalid targets 2023-05-25 11:14:14 +08:00
Andrew Nicols d895574c9a Merge branch 'MDL-77252-master' of https://github.com/davewoloszyn/moodle 2023-05-25 10:49:30 +08:00
Andrew Nicols 1cd51db6a1 Merge branch 'MDL-77341-master' of https://github.com/meirzamoodle/moodle 2023-05-25 10:44:50 +08:00
Andrew Nicols 5c183a99e7 Merge branch 'MDL-78307-master' of https://github.com/dpalou/moodle 2023-05-25 10:42:19 +08:00
Andrew Nicols b50d41b085 Merge branch 'MDL-63759-master' of https://github.com/srobotta/moodle 2023-05-25 10:37:03 +08:00
Andrew Nicols e6e753024c Merge branch 'MDL-78332' of https://github.com/skodak/moodle 2023-05-25 10:03:22 +08:00
Andrew Nicols e702298612 Merge branch 'MDL-77995' of https://github.com/paulholden/moodle 2023-05-25 09:49:11 +08:00
Petr Skoda 8a9e5aeb7a MDL-78332 core: fix hook discovery and use is_subclass_of()
And order hooks in admin UI - core first.
2023-05-24 19:53:18 +02:00
Paul Holden ca95bee259 MDL-78333 mod_assign: final removal of deprecated log format methods. 2023-05-24 16:41:55 +01:00
Paul Holden b2dd8a3cbd MDL-78320 quiz_overview: format group names in overview report. 2023-05-24 16:19:29 +01:00
Andrew Nicols d8a7039f92 Merge branch 'MDL-77983-master' of https://github.com/rjnl/moodle 2023-05-24 21:14:41 +08:00
Andrew Nicols c730b8735f MDL-77159 tool_langimport: Replace YUI module with ESM 2023-05-24 20:40:14 +08:00
Petr Skoda 0dcb5c4281 MDL-78332 core: remove unnecessary hooks reset method 2023-05-24 14:35:59 +02:00
Jun Pataleta ac0767cac4 Merge branch 'MDL-77353_Master' of https://github.com/catalyst/moodle-MDL-76126 2023-05-24 20:18:59 +08:00
= a076a80dec MDL-63120 core_badges: Avoid multiple joins in sql statement 2023-05-24 13:37:59 +02:00
Dani Palou 53eb03bcc6 MDL-78307 quiz: Fix URL passed to secure_window.init_close_button 2023-05-24 13:10:50 +02:00
Dani Palou a5a33b8d4a MDL-78307 quiz: Fix contexturl passed to attempt_overdue message 2023-05-24 13:10:50 +02:00
Paul Holden 373c163f74 MDL-78339 webservice: correctly namespace external API. 2023-05-24 09:36:23 +01:00
Andrew Nicols 03d70834c9 Merge branch 'MDL-73464-master' of https://github.com/Chocolate-lightning/moodle 2023-05-24 14:56:47 +08:00
Stephan Robotta 95f5e32f99 MDL-63759 iplookup: use OSM if Google is not used, use accuracy radius 2023-05-24 08:40:34 +02:00
Andrew Nicols cb3ea26ae6 Merge branch 'MDL-78016' of https://github.com/stronk7/moodle 2023-05-24 14:32:56 +08:00
David Mudrák b407af725f MDL-73464 book: Scroll to chapter top when navigating through the book
When navigating to the next / previous chapter, the chapter should be
the page element that gets the user's attention and focus. Its title
should be displayed at the prominent top page area without the need to
scroll to it all the time.
2023-05-24 14:32:45 +08:00
Jun Pataleta d78de537ff Merge branch 'MDL-78005-master' of https://github.com/davewoloszyn/moodle 2023-05-24 12:06:52 +08:00
Jun Pataleta 6ee1bac7d8 Merge branch 'MDL-78132-master' of https://github.com/sarjona/moodle 2023-05-24 12:04:58 +08:00
Nathan Nguyen 1452caac93 MDL-77353 core: examples of new user function usage 2023-05-24 13:05:13 +10:00
Nathan Nguyen f897ecd627 MDL-77353 core_user: new functions
New functions:
    * `core_user::get_profile_picture` for retrieving user picture.
    * `core_user::get_profile_url` for retrieving profile url.
    * `core_user::get_fullname` for retrieving user full name.

Note: the context is not used as this stage. It will be used by "User Disguises" plugin, which will be implemented later.
2023-05-24 13:05:02 +10:00
Simey Lameze 42a01d20e3 MDL-75961 behat: review and enhance mod_imscp tests
This commit makes the following improvements to mod_imscp tests:
* Removes unnecessary @javascript and @_file_upload tags from non-JS tests.
* Removes user/enrol data generation from tests that can be performed as admin.
* Removes "I log out" and other unnecessary steps.
2023-05-24 10:27:41 +08:00
Angelia Dela Cruz deb4e69f74 MDL-75961 behat: IMSCP behat generators use UI
Replace steps that manually add IMSCP instances via the UI and use
Behat generators. This improves the speed of the Behat test runs.
2023-05-24 10:01:17 +08:00
Sara Arjona 8705d4e478 Merge branch 'MDL-78176' of https://github.com/AnupamaSarjoshi/moodle 2023-05-23 17:45:47 +02:00
Sara Arjona 53bd6aaaf8 Merge branch 'MDL-75640' of https://github.com/paulholden/moodle 2023-05-23 17:41:06 +02:00
Sara Arjona 1df51b02f8 Merge branch 'MDL-78242' of https://github.com/paulholden/moodle 2023-05-23 17:36:50 +02:00
Jun Pataleta b5c0d804f1 Merge branch 'MDL-75512-master' of https://github.com/ilyatregubov/moodle 2023-05-23 20:16:44 +08:00
Andrew Nicols 67ba0d3e83 MDL-74954 core: Detect changes to hook overrides 2023-05-23 16:03:37 +08:00
Jun Pataleta 6823da53f1 Merge branch 'MDL-76688/master' of https://github.com/skodak/moodle 2023-05-23 15:22:19 +08:00
Angelia Dela Cruz 898a6b7c1a MDL-77547 Behat: Coverage to check for bad multichoice questions 2023-05-23 15:14:18 +08:00
Sara Arjona e7ec8da607 MDL-78132 badges: deprecate functions and strings
When the logic to get the correct apiBase has been moved to the
backpack, some strings and methods have been marked as deprecated.
2023-05-23 08:47:10 +02:00
Andrew Nicols 03e4afdb39 MDL-78132 badges: move apiBase consumption to backpack
The logic to create the issuer has been moved to the backpack form
in order to improve the workflow and update the apiBase with the
proper value comming from the badgeconnect.json manifest file.

So, as part of this change in the workflow, the following changes
has been also implemented (to make the UI easier for users):

- The "Open Badges" oAuth issuer button has been removed from the
"OAuth Services" admin page. As they are created/updated when a backpack
is saved, this button is not required anymore.
- The "OAuth2 services" and "Backpack API URL" parameters have been
removed from the Manage backpacks form, because they are created on
the fly each time the backpack is saved.
2023-05-23 08:46:39 +02:00
Simey Lameze d9cccadcf2 MDL-76065 behat: Review and enhance mod_lti Behat tests
In this commit, the following improvements were made to the mod_lti Behat tests:

* Replaced manual steps with data generators to set completion.
* Eliminated unnecessary user and course enrolments data generation as some tests can be performed as an admin.
* Removed the @javascript tag from non-JS tests.
* Updated the LTI data generator to generate an internal Moodle URL in the toolurl field, enabling the use of XML files.
2023-05-23 12:11:48 +08:00
Angelia Dela Cruz dca69e002a MDL-76065 behat: LTI behat generators use UI
Replace steps that manually add LTI instances via the UI and use
Behat generators. This improves the speed of the Behat test runs.
2023-05-23 12:11:48 +08:00
Stevani Andolo bba2bf5ee6 MDL-76397 lib: Moodle customizations. 2023-05-23 11:14:06 +08:00
Stevani Andolo ae0ea56f25 MDL-76397 lib: xhprof upgraded to 2.3.9 2023-05-23 11:14:06 +08:00
Andrew Nicols 97300ca692 MDL-76733 mod_assign: Tidy up availability behat tests
This feature had lots of small issues and it made sense to fix it whilst
investigating a query:

* most of the steps do not require JavaScript
* it uses the UI to set an admin setting, for every scenario:
** only 3-4 of the scenarios actually test that setting
** it is very slow to do it his way when we have a generator step we can use
* we create two assignments in the Background, but each test only uses one of them
* we create the assignments in the Background with a generator, but
  update them to modify various settings in each Scenario using the UI
  when we should just create one assignment for each test and set it up
  correctly for that Scenario
2023-05-23 10:53:44 +08:00
Andrew Nicols 7e35c70376 Merge branch 'MDL-78170' of https://github.com/paulholden/moodle 2023-05-23 10:27:28 +08:00
Andrew Nicols 4a2dabc2ad Merge branch 'MDL-78087-master' of https://github.com/sarjona/moodle 2023-05-23 10:25:48 +08:00
AMOS bot dbfb0032f9 Automatically generated installer lang files 2023-05-23 00:10:32 +00:00
Paul Holden 3bfb7f759a MDL-76838 backup: remove invalid utf8 code sequences writing XML.
The surrogate blocks FFFE and FFFF are non-characters, specifically
disallowed in the character range for XML documents.
2023-05-22 21:04:02 +01:00
Paul Holden 283f48f14c MDL-78322 tool_cohortroles: don't assign roles to deleted users. 2023-05-22 20:14:31 +01:00
Tim Hunt a3043c3933 MDL-78008 qtype_multianswer: random guess score with missing subqs
Sometimes, due to other bugs, subquestions can get lost, so the code
needs to be robust to this.
2023-05-22 17:01:21 +01:00
Sara Arjona fabdff8fbd Merge branch 'MDL-78211' of https://github.com/paulholden/moodle 2023-05-22 17:41:37 +02:00
Sara Arjona 35f3790599 Merge branch 'MDL-78226' of https://github.com/paulholden/moodle 2023-05-22 17:29:16 +02:00
Sara Arjona bccd225c39 MDL-75963 tiny: Bump version to expected number
There was as an error with the previous version number:
"Version (2023031400) cannot be before 20230424 (YYYYMMDD)".
2023-05-22 16:36:01 +02:00
Andrew Nicols 656433d530 MDL-78328 mod_forum: Deprecate forum_print_discussion_header 2023-05-22 22:00:21 +08:00
Andrew Nicols dea64fa266 MDL-62859 block_online_users: Rewrite visibility changer as ESM 2023-05-22 13:51:39 +01:00
Andrew Nicols 82d7635d52 MDL-62859 block_timeline: Rewrite view navigation as ESM 2023-05-22 13:51:39 +01:00
Paul Holden c5d1f72dca MDL-62859 javascript: replace user preference calls with new methods. 2023-05-22 13:51:39 +01:00
Paul Holden 10b6f979c5 MDL-62859 user: export methods for manipulating user preferences in JS. 2023-05-22 13:51:37 +01:00
Andrew Nicols ea64a11963 MDL-74954 core: Remove failing deprecated hook test for now
This test cannot be made to work while there are no hooks to test.

When we add our first hooks, we can add these tests back and provide a
fake implementation for them in an isolated test run.
2023-05-22 20:04:23 +08:00
Andrew Nicols 91dc4b6501 Merge branch 'MDL-74954-master' of https://github.com/skodak/moodle 2023-05-22 20:03:13 +08:00
Petr Skoda d57acd957c MDL-74954 core: remove failing hooks test for now 2023-05-22 13:21:53 +02:00
Sara Arjona aebc13a62d Merge branch 'MDL-75963-master' of https://github.com/meirzamoodle/moodle 2023-05-22 12:15:58 +02:00
Sara Arjona fa8c3be540 Merge branch 'MDL-78225' of https://github.com/paulholden/moodle 2023-05-22 12:04:07 +02:00
sam marshall a2af6bd669 MDL-78092 Cache: Modinfo locking with Redis store does not work
The feature added in 4.1 to lock the modinfo cache does not work when
using Redis, because:

* The API to acquire a cache lock is confusing, and the code did not
  check that it successfully acquired a lock before going on to build
  the cache anyway.

* Unlike the other types of cache lock, the Redis store did not retry
  the lock for a timeout period before giving up and failing.

This change fixes both points.
2023-05-22 10:43:14 +01:00
Jun Pataleta 4233e9e61e Merge branch 'MDL-78157-master' of https://github.com/andrewnicols/moodle 2023-05-22 15:29:41 +08:00
Andrew Nicols 9b174fd3cc MDL-78157 js: Be more careful about inserting missing module names
It is perfectly legitimate to create and/or use a method named `define`
in JS outside of RequireJS.

Unfortunately our requirejs.php wrapper is dumb and does not understand
this.

In the long term we need to stop doing this at all. We really should be
able to already, but every time I try to something prevents it.

In the interim, this change adds a secondary check to see if there is an
existing define which _does_ have the right name in it already.
2023-05-22 14:40:41 +08:00
Jun Pataleta 21b6a7c615 Merge branch 'MDL-78323-master' of https://github.com/andrewnicols/moodle 2023-05-22 14:28:35 +08:00
Andrew Nicols 0aaea71650 MDL-78323 gradereport_grader: Fix jsdoc syntax 2023-05-22 09:23:27 +08:00
Meirza e95540d9ff MDL-77341 mnet: Added missing class properties
In PHP 8.2 and later, setting a value to an undeclared class property is
deprecated and emits a deprecation notice.
So we need to add missing class properties that still need to be declared.
2023-05-20 21:37:01 +07:00
Andrew Nicols 07a1dc04f8 MDL-74954 core: Add hook discovery feature 2023-05-20 11:03:46 +02:00
Petr Skoda 99a7a7c782 MDL-74954 core: add Hooks based on PSR-14 2023-05-20 11:03:46 +02:00
AMOS bot bf481ff790 Automatically generated installer lang files 2023-05-20 00:13:59 +00:00
Paul Holden 695fa397f2 MDL-77532 cohort: include custom fields in cohort report entity. 2023-05-19 18:11:50 +01:00
Paul Holden 5961c2d9cd MDL-76471 enrol: report filter on enrolment instance custom name. 2023-05-19 17:39:55 +01:00
Paul Holden a3c5606fd2 MDL-75640 completion: report entity column for completion criteria. 2023-05-19 17:27:50 +01:00
Eloy Lafuente (stronk7) ff8a9478b2 MDL-78016 dml: Add Oracle support for OFFSET ... FETCH clauses
Since Oracle 12, these statements (providing the same than the
well-known LIMIT clauses in MySQL and PostgreSQL) are available,

Just let's switch to use them, removing the old complex ROWNUM
based queries needed before to provide limits support.
2023-05-19 17:47:57 +02:00
Anupama Sarjoshi 73d29dc1ce MDL-78176 Question: Fix D&D onto image and D&D markers theme issue 2023-05-19 16:16:36 +01:00
Jun Pataleta 2e1c6fd43e weekly release 4.3dev 2023-05-19 21:13:46 +08:00
Jun Pataleta c5ab4c9474 Merge branch 'install_master' of https://git.in.moodle.com/amosbot/moodle-install 2023-05-19 21:13:43 +08:00
Eloy Lafuente (stronk7) af9cf5f00c Merge branch 'MDL-77576' of https://github.com/stronk7/moodle 2023-05-19 11:20:31 +02:00
Eloy Lafuente (stronk7) b171f57cd5 MDL-77576 matrix: Bump version to today
All master versions need to be > than the previous
release (4.2) versions. To avoid overlapping to happen.
2023-05-19 11:20:29 +02:00
Jun Pataleta 2ec6022d9c Merge branch 'MDL-77733-master-fix' of https://github.com/lameze/moodle 2023-05-19 11:40:16 +08:00
Eloy Lafuente (stronk7) 3ee151f674 Merge branch 'MDL-76900-fix' of https://github.com/paulholden/moodle 2023-05-19 11:40:16 +08:00
Jun Pataleta 4420901074 Merge branch 'MDL-78116-master' of https://github.com/andrewnicols/moodle 2023-05-19 11:40:15 +08:00
Andrew Nicols a176e8b63a Merge branch 'MDL-77451-master' of https://github.com/rezaies/moodle 2023-05-19 11:40:15 +08:00
Jun Pataleta e5a6de0d49 Merge branch 'MDL-78135' of https://github.com/paulholden/moodle 2023-05-19 11:40:15 +08:00
Andrew Nicols dc01f7df8d Merge branch 'MDL-78260' of https://github.com/timhunt/moodle 2023-05-19 11:40:14 +08:00
Andrew Nicols 1c62909d2e Merge branch 'MDL-78151' of https://github.com/paulholden/moodle 2023-05-19 11:40:14 +08:00
Andrew Nicols e177eff0f8 Merge branch 'MDL-77733-master' of https://github.com/lameze/moodle 2023-05-19 11:40:14 +08:00
Andrew Nicols 88b5313950 MDL-78317 behat: Remove finally deprecated methods
These methods are all very old and well out of the deprecation
timeframe. These are all ready for final removal per policy.
2023-05-19 10:57:42 +08:00
Andrew Nicols 1c9e122df7 MDL-77733 behat: Remove extraneous no-axe option
There is no need for no-axe if we make axe a boolean value. We already
have automatic support for negated boolean flags.
2023-05-19 10:32:53 +08:00
Mark Johnson bdc75b3015 MDL-75696 quiz: Fix restoring pre-4.0 quizzes with random questions
Restoring multiple quizzes from a pre-4.0 backup was broken when
the quizzes shared a random question. This is because after the
first quiz created a set reference in place of the random question,
it deleted the question record so it was not there for the second
quiz to use. This change tracks the IDs of random questions so
they can be deleted at the end.
2023-05-18 15:53:36 +01:00
Mark Johnson a47ebb50b3 MDL-75696 quiz: Set default value for includingsubcategories on restore 2023-05-18 15:53:36 +01:00
Mark Johnson b6b48be55d MDL-75696 backup: Fix backup version checks
Several version checks were incorrectly using
restore_controller::info::moodle_release instead of moodle_version as a
version number. This replaces all of those checks with a common pair of
methods to make the checks clearer and more maintainable.
2023-05-18 15:53:35 +01:00
Paul Holden 3894fa9460 MDL-76900 roles: improve Oracle support for entity description column.
Specifically during column grouping/aggregation, we need to avoid CLOB
datatype inconsistencies (ORA-00932).
2023-05-18 11:37:37 +01:00
Paul Holden 0f134c563d MDL-78308 output: better parsing of custom menu item configuration.
Previously certain values would cause deprecation notices in PHP8.1.
2023-05-18 10:19:22 +01:00
David Woloszyn da81f260f0 MDL-78005 editor_tiny: Declared vars to supress error logging 2023-05-18 12:57:56 +10:00
Jun Pataleta 5fd0a514af Merge branch 'master_MDL-78048' of https://github.com/mattporritt/moodle 2023-05-18 10:16:11 +08:00
Ilya Tregubov 63290dc925 Merge branch 'MDL-76900' of https://github.com/paulholden/moodle 2023-05-18 09:22:15 +08:00
Julien Boulen 5a6ea11dda MDL-77986 backup: trim extra white spaces on search forms 2023-05-17 16:29:38 +02:00
Mihail Geshoski f13e567644 MDL-77636 gradereport_user: Sticky footer in the grade user report 2023-05-17 22:03:41 +08:00
Paul Holden 19e05f0e34 MDL-71183 course: final removal of deprecated 311 renderer method. 2023-05-17 11:38:20 +01:00
Tim Hunt 9be598a77f MDL-78260 quiz stats: fix View details for random questions 2023-05-17 09:09:13 +01:00
Rajneel Totaram 4def049e4f MDL-77983 core_user: Avoid passing nulls to base64_decode 2023-05-17 19:40:29 +12:00
Ilya Tregubov dfc0b2a2fd Merge branch 'MDL-77700' of https://github.com/paulholden/moodle 2023-05-17 15:14:22 +08:00
Ilya Tregubov 1ff7767b70 Merge branch 'MDL-78152' of https://github.com/paulholden/moodle 2023-05-17 15:06:45 +08:00
Paul Holden f500b2d878 MDL-76900 course: add enrolment/role entities to participants source.
Deprecate columns/filters from current enrolment entity, to be
replaced by corresponding elements from each of the new entities.
2023-05-17 08:02:44 +01:00
Paul Holden 8f7bff9789 MDL-76900 reportbuilder: allow for deprecation of entity elements.
Don't allow deprecated columns/filters to be added to new custom
reports. Where they already exist, emit deprecation debugging.
2023-05-17 08:02:06 +01:00
Sara Arjona 36de54c1f8 Merge branch 'MDL-77350-master' of https://github.com/meirzamoodle/moodle 2023-05-17 08:27:26 +02:00
Ilya Tregubov 8a45a67bab Merge branch 'MDL-75372-url_blocked' of https://github.com/catalyst/moodle 2023-05-17 11:44:25 +08:00
David Woloszyn 5bad9bd064 MDL-77252 course: Show notification depending on room status 2023-05-17 10:22:24 +10:00
AMOS bot 58941e316e Automatically generated installer lang files 2023-05-17 00:11:04 +00:00
David Woloszyn d38cc920c5 MDL-77252 core_communication: Get room status and notifications 2023-05-17 10:06:11 +10:00
Matt Porritt 9fa50d04d6 MDL-78048 Site Registration: Course Dates
Course date registration data reports correctly.

MDL-77306 added a count of how many courses there are
without start and end dates. However, all courses have
a start date, it is only the end date that is optional.
This patch fixes the data collection and makes the lang
string describing it clearer.
2023-05-17 09:01:10 +10:00
Paul Holden b5e1330d72 MDL-78253 libraries: upgrade to version 2.3.7 of FPDI. 2023-05-16 17:40:55 +01:00
Paul Holden 46d12cfa11 MDL-78012 badges: final removal of deprecated 311 backpack methods. 2023-05-16 14:58:10 +01:00
Jun Pataleta a00b25b068 Merge branch 'MDL-77439-master' of https://github.com/junpataleta/moodle 2023-05-16 20:38:40 +08:00
Peter Mayer cdc66a5ff4 MDL-77439 lib_filebrowser: Splitup query to speedup get_courses 2023-05-16 20:36:50 +08:00
Jun Pataleta 8e3f98f833 Merge branch 'MDL-77218-master-behat-fix' of https://github.com/lameze/moodle 2023-05-16 19:50:40 +08:00
Simey Lameze 2f53549697 MDL-77218 behat: use correct label to click the button 2023-05-16 18:18:22 +08:00
Paul Holden 543dcf3e9c MDL-78026 group: format retrieved group names from external methods. 2023-05-16 10:09:55 +01:00
Paul Holden 7ff0ef4a11 MDL-77264 grade: define fallback name of abstract export event. 2023-05-16 09:54:28 +01:00
Paul Holden fe0b0135b2 MDL-77259 tool_monitor: use core component API for event list.
The previous method of hardcoded filepaths, specifically for events
belonging to core, meant that any events belongs to core subsystems
were omitted (core_customfield, core_h5p, core_payment, etc).
2023-05-16 09:50:11 +01:00
Ilya Tregubov 5388970860 Merge branch 'MDL-77218-master' of https://github.com/danghieu1407/moodle 2023-05-16 15:59:53 +08:00
Ilya Tregubov f33518a3f8 Merge branch 'MDL-77797-latex-headers' of https://github.com/brendanheywood/moodle 2023-05-16 15:22:51 +08:00
Jake Dallimore c5ac5bcfd5 Merge branch 'mdl-76270-master' of https://github.com/matthewhilton/moodle 2023-05-16 13:27:48 +08:00
Angelia Dela Cruz 46abdaa7ab MDL-77907 Behat: Coverage for duplicating competency framework 2023-05-16 12:50:53 +08:00
Andrew Nicols a2579a59de Merge branch 'MDL-75404-master_toolbrickfieldlinkinnewwindow' of https://github.com/brickfield/moodle 2023-05-16 12:22:32 +08:00
Jake Dallimore 9b64511c86 Merge branch 'MDL-77930-master' of https://github.com/rjnl/moodle 2023-05-16 10:49:28 +08:00
Jake Dallimore cdbacb9adc Merge branch 'MDL-78120-master' of https://github.com/lucaboesch/moodle 2023-05-16 10:44:30 +08:00
Jun Pataleta 88495c2f4b Merge branch 'MDL-75576' of https://github.com/timhunt/moodle 2023-05-16 10:02:13 +08:00
Ilya Tregubov 38230b57e4 Merge branch 'MDL-77840-master' of https://github.com/davewoloszyn/moodle 2023-05-16 09:46:05 +08:00
Meirza 53eecdfef1 MDL-77350 tag: Added class properties that are not declared 2023-05-16 01:03:01 +07:00
Meirza 760a8c426e MDL-77350 competency: Added class properties that are not declared
In PHP 8.2 and later, setting a value to an undeclared class property is
deprecated and emits a deprecation notice.
So we need to add missing class properties that still need to be declared.
2023-05-16 01:03:01 +07:00
Meirza 4937a1fd1c MDL-77350 favourites: Added class properties that are not declared
In PHP 8.2 and later, setting a value to an undeclared class property is
deprecated and emits a deprecation notice.
So we need to add missing class properties that still need to be declared.

// Removed test_add_malformed_favourite()
PHPUnit version >= 9.5 no longer converts PHP deprecations to exceptions by default.
To comply with PHP 8.2, which will deprecate the dynamic properties,
we need to remove test_add_malformed_favourite()
because the test will raise a warning for dynamic property deprecations.
2023-05-16 01:03:01 +07:00
Meirza 684343eee7 MDL-77350 auth: Added class properties that are not declared
In PHP 8.2 and later, setting a value to an undeclared class property is
deprecated and emits a deprecation notice.
So we need to add missing class properties that still need to be declared.
2023-05-16 01:03:01 +07:00
Meirza 47fd891039 MDL-77350 availability: Added class properties that are not declared
In PHP 8.2 and later, setting a value to an undeclared class property is
deprecated and emits a deprecation notice.
So we need to add missing class properties that still need to be declared.
2023-05-16 01:03:01 +07:00
Meirza 3895529b74 MDL-77350 badges: Added class properties that are not declared
In PHP 8.2 and later, setting a value to an undeclared class property is
deprecated and emits a deprecation notice.
So we need to add missing class properties that still need to be declared.
2023-05-16 01:03:01 +07:00
Meirza 078055a51f MDL-77350 blocks: Added class properties that are not declared
In PHP 8.2 and later, setting a value to an undeclared class property is
deprecated and emits a deprecation notice.
So we need to add missing class properties that still need to be declared.
2023-05-16 00:33:20 +07:00
Meirza 2fb9f3ab02 MDL-77350 blog: Added class properties that are not declared
In PHP 8.2 and later, setting a value to an undeclared class property is
deprecated and emits a deprecation notice.
So we need to add missing class properties that still need to be declared.
2023-05-16 00:33:20 +07:00
Meirza 691d80fdae MDL-77350 cache: Added class properties that are not declared
In PHP 8.2 and later, setting a value to an undeclared class property is
deprecated and emits a deprecation notice.
So we need to add missing class properties that still need to be declared.
2023-05-16 00:33:20 +07:00
Meirza 00bea84ed6 MDL-77350 calendar: Added class properties that are not declared
In PHP 8.2 and later, setting a value to an undeclared class property is
deprecated and emits a deprecation notice.
So we need to add missing class properties that still need to be declared.
2023-05-16 00:33:20 +07:00
Meirza 0d3a840154 MDL-77350 comment: Added class properties that are not declared
In PHP 8.2 and later, setting a value to an undeclared class property is
deprecated and emits a deprecation notice.
So we need to add missing class properties that still need to be declared.
2023-05-16 00:33:19 +07:00
Meirza 7bd302f1f6 MDL-77350 completion: Added class properties that are not declared
In PHP 8.2 and later, setting a value to an undeclared class property is
deprecated and emits a deprecation notice.
So we need to add missing class properties that still need to be declared.
2023-05-16 00:33:19 +07:00
Meirza 07a281efff MDL-77350 course: Added class properties that are not declared
In PHP 8.2 and later, setting a value to an undeclared class property is
deprecated and emits a deprecation notice.
So we need to add missing class properties that still need to be declared.
2023-05-16 00:33:19 +07:00
Meirza 66858f7f6c MDL-77350 enrol: Added class properties that are not declared
In PHP 8.2 and later, setting a value to an undeclared class property is
deprecated and emits a deprecation notice.
So we need to add missing class properties that still need to be declared.
2023-05-16 00:33:19 +07:00
Meirza d9e9f7a863 MDL-77350 filter: Added class properties that are not declared
In PHP 8.2 and later, setting a value to an undeclared class property is
deprecated and emits a deprecation notice.
So we need to add missing class properties that still need to be declared.
2023-05-16 00:33:19 +07:00
Meirza 48ca849f73 MDL-77350 media: Added missing class properties
In PHP 8.2 and later, setting a value to an undeclared class property is
deprecated and emits a deprecation notice.
So we need to add missing class properties that still need to be declared.
2023-05-16 00:33:19 +07:00
Meirza 99368d4173 MDL-77350 message: Added missing class properties
In PHP 8.2 and later, setting a value to an undeclared class property is
deprecated and emits a deprecation notice.
So we need to add missing class properties that still need to be declared.
2023-05-16 00:33:19 +07:00
Meirza 0fcba75ea7 MDL-77350 mod_h5pactivity: Added missing class properties
In PHP 8.2 and later, setting a value to an undeclared class property is
deprecated and emits a deprecation notice.
So we need to add missing class properties that still need to be declared.
2023-05-16 00:33:19 +07:00
Meirza 0cfa082328 MDL-77350 portfolio: Added class properties that are not declared
In PHP 8.2 and later, setting a value to an undeclared class property is
deprecated and emits a deprecation notice.
So we need to add missing class properties that still need to be declared.
2023-05-16 00:33:19 +07:00
Meirza 6856a84f17 MDL-77350 rating: Added class properties that are not declared
In PHP 8.2 and later, setting a value to an undeclared class property is
deprecated and emits a deprecation notice.
So we need to add missing class properties that still need to be declared.
2023-05-16 00:33:19 +07:00
Meirza 94bda23532 MDL-77350 report: Added class properties that are not declared
In PHP 8.2 and later, setting a value to an undeclared class property is
deprecated and emits a deprecation notice.
So we need to add missing class properties that still need to be declared.
2023-05-16 00:33:19 +07:00
Meirza f0aa52f75e MDL-77350 search: Added class properties that are not declared
In PHP 8.2 and later, setting a value to an undeclared class property is
deprecated and emits a deprecation notice.
So we need to add missing class properties that still need to be declared.
2023-05-16 00:33:19 +07:00
Meirza 4fbb4f552f MDL-77350 webservice: Added class properties that are not declared
In PHP 8.2 and later, setting a value to an undeclared class property is
deprecated and emits a deprecation notice.
So we need to add missing class properties that still need to be declared.
2023-05-16 00:33:19 +07:00
Julien Boulen ea1253efa7 MDL-78259 weblib: purify audio/video tags as inline elements 2023-05-15 17:21:19 +02:00
Andrew Nicols 2410a1538a Merge branch 'MDL-77432-master' of https://github.com/lucaboesch/moodle 2023-05-15 22:12:09 +08:00
Andrew Nicols 99e8362272 Merge branch 'MDL-78149' of https://github.com/paulholden/moodle 2023-05-15 22:05:52 +08:00
Andrew Nicols f35db64f81 Merge branch 'MDL-78140' of https://github.com/paulholden/moodle 2023-05-15 22:00:45 +08:00
Andrew Nicols c25b54d12e Merge branch 'MDL-77144-master' of https://github.com/davewoloszyn/moodle 2023-05-15 21:59:24 +08:00
Andrew Nicols 08b1be026a Merge branch 'MDL-77667' of https://github.com/paulholden/moodle 2023-05-15 21:41:59 +08:00
Paul Holden 5404200d9d MDL-76900 enrol: new enrolment method and role report entities.
The new entities encapsulate related data for easier re-use across
reports, and are also intended to replace similar columns/filters
from the current enrolment entity.
2023-05-15 14:12:31 +01:00
Paul Holden 69a888cec3 MDL-78242 roles: consistently check course contact config. 2023-05-15 12:57:35 +01:00
Tim Hunt 60dbaa0065 MDL-75576 quiz/question statistics: don't expire by time
Previously, a set of calculated quiz statistics would only 'last' for
15 minutes. Then they would be considered invalid and not used.

Now, computed statistics are kept indefinitely. Instead, when a new
batch of values are computed for a particular set of settings, older numbers
for the same settings are deleted first. Therefore,
question_stats_cleanup_task is no more.
2023-05-15 10:01:27 +01:00
Tim Hunt 7994f1c985 MDL-75576 quiz statistics: don't time-limit the use of cached values
This should have been done as part of  MDL-74762, but was missed.
2023-05-15 09:59:34 +01:00
Tim Hunt 174e2ae3b5 MDL-75576 quiz statistics: don't compute when a user views the qbank
Previously, when a user viewed the question bank, if the quiz statistics
had not already been calculated, we would try to compute them there an then.
This could be very, very slow, leading to session lock problems.

Now, we never try to compute the statistics on the fly. Instead, we rely
on the existing \quiz_statistics\task\recalculate scheduled task to do it.
2023-05-15 09:59:34 +01:00
Tim Hunt 056db339d6 MDL-75576 question bank: bulk-load statistics for all questions at once
There is a new method on the column class, for the column to declare any
statistics it requires. The question then efficiently loads all those
statistics in one go, and makes them available as the columns are
rendererd, or do any subsequent processing.
2023-05-15 09:59:34 +01:00
Tim Hunt a919335213 MDL-75576 qbank_statistics: remove copy-pasted PHPdoc comments
These methods are already correctly documented on the base class.
2023-05-15 09:59:33 +01:00
Luca Bösch b5a730cf9a MDL-78120 login: handle empty wantsurl on login with alternateloginurl. 2023-05-15 10:21:43 +02:00
Paul Holden 4a10e36ae4 MDL-77995 javascript: more precise path matching building JS. 2023-05-15 09:05:38 +01:00
Paul Holden 2881840cca MDL-77723 user: ensure identity refers to a valid custom profile field. 2023-05-15 09:03:28 +01:00
Andrew Nicols 9d8e8d5c5c Merge branch 'MDL-78156' of https://github.com/stronk7/moodle 2023-05-15 12:28:36 +08:00
Andrew Nicols e657e342d4 Merge branch 'MDL-77576-master-mvp' of https://github.com/safatshahin/moodle 2023-05-15 12:16:14 +08:00
Jun Pataleta b8b9216ee5 Merge branch 'MDL-76903-master' of https://github.com/laurentdavid/moodle 2023-05-15 12:06:14 +08:00
Andrew Nicols d9fb5152f7 Merge branch 'MDL-78125-master' of https://github.com/junpataleta/moodle 2023-05-15 11:52:44 +08:00
Ilya Tregubov 95a0ba16da MDL-75512 core_grades: Add sticky footer to setup page. 2023-05-15 10:50:17 +08:00
Jun Pataleta df496e57d6 MDL-78125 qtype_multianswer: Convert popover trigger to link
According to Boostrap Popovers documentation for popovers triggered
on focus:
"For proper cross-browser and cross-platform behavior, you must use the
<a> tag, not the <button> tag, and you also must include a tabindex
attribute."
2023-05-12 22:46:45 +08:00
Luca Bösch f4e390fcf7 MDL-77432 mod_assign: Confirm submission page standard and not incourse 2023-05-12 09:25:18 +02:00
Andrew Nicols 6a417a3632 MDL-77168 backup: Switch from YUI to confirmation modal 2023-05-12 15:21:20 +08:00
Andrew Nicols 2078efeca9 MDL-77168 core: Allow core/utility alerts to submit forms 2023-05-12 15:21:20 +08:00
Andrew Nicols 53577b678c MDL-78169 core: Immediate deprecation of htmllize_file_tree
This should have been done back in 2010 as part of MDL-22950. It has not
been called in that time, and is entirely untested and untestable.
2023-05-12 15:17:47 +08:00
Ilya Tregubov 063ffc8073 weekly release 4.3dev 2023-05-12 08:56:37 +08:00
Ilya Tregubov 9cc3491de6 Merge branch 'install_master' of https://git.in.moodle.com/amosbot/moodle-install 2023-05-12 08:56:35 +08:00
Cameron Ball 94cf5b1fd3 MDL-75898 assignfeedback_editpdf: Improve page count mismatch logic
MDL-45580 introduced the readonlypages filearea, and when loading
page images for an attempt, the code would check if the pages existed
, creating them if not. The code inside this block also contained
a guard clause for the case where no readonly pages existed - which
is a situation that should not happen. Whenever readonly pages are
requested, they should exist.

MDL-66626 introduced a situation where page counts not matching would
also retrigger page generation. However this led to a situation where
the guard clause could be entered when requesting readonly pages.

This patch refactors the guard clause, and improves the logic to
regenerate pages.
2023-05-12 08:53:38 +10:00
Cameron Ball a243d46620 MDL-75898 assignfeedback_editpdf: Don't poll readonly pages
When requesting the readonly version of pages (which contain
teacher annotations), they should always be available - the
PHP side even throws an exception when they're not. This
means we don't need to worry about polling document converters
from the JS side and can just return the pages immediately.
2023-05-12 08:53:38 +10:00
Cameron Ball f95892766b MDL-75898 assignfeedback_editpdf: Add randomness to PDF annotations
The behat step "I draw on the pdf" creates the exact same line every
time it is called. This can cause issues in a situation like the following:

- Student uploads PDF
- Teacher annotates page 1
- Student edits submission, adding another PDF
- Teacher annotates page 1 again
- When the student looks at their annotated PDF it appears the same as
  before they added the second PDF (i.e., they don't see extra pages for
  the second PDF)

Exactly why this happens isn't clear, and in practice this probably never
happens because the chances of drawing the exact same line twice are almost
0. However, when testing the functionality added in MDL-45580 it was causing
issues.
2023-05-12 08:53:37 +10:00
Paul Holden 802b638b6c MDL-78226 contentbank: verify presence of bank heading element. 2023-05-11 23:15:29 +01:00
Paul Holden af42f88c42 MDL-78225 output: add sesskey for post requests only in renderables. 2023-05-11 22:46:18 +01:00
Meirza 6772c9b8e8 MDL-75963 filter: Added code highlighter filter
If enabled, the filter will convert text wrapped by language-* style class
into a well-styled block of code.
The filter uses PrismJS, and it also used by the TinyMCE editor to
highlight the code sample plugin.
2023-05-11 23:05:00 +07:00
Laurent David e489ae2492 MDL-76903 mod_book: Fix activity completion
* Check only visibles pages to set completion status.
* Make sure we have consistent completion value in API and on the view page.
2023-05-11 11:47:18 +02:00
Paul Holden a06b8d978b MDL-78140 analytics: improve context restrictions manager test.
This test apparently fails sporadically on Oracle, without obvious
causes. The failure however was hard to interpret, and the test
itself made a lot of assumptions about the system re. naming of
categories/courses. This could be prone to errors, so improve that.
2023-05-11 09:39:39 +01:00
Sara Arjona 5372f54440 MDL-78087 h5p: Fix TimeLine display bug
When the H5P third-party library was upgraded to moodle-1.23, the calls to
libraryToString(xxx, true) where replaced with libraryToFolderName().
We missed this, which was doing the H5P Timeline activities weren't
displayed properly.

Thanks Joseph for raising this and preparing a patch! Well done!

Co-authored: Joseph Rézeau
2023-05-11 10:19:45 +02:00
Paul Holden ebcc7e58ce MDL-77946 access: fix category sort order of capability contexts. 2023-05-11 08:33:22 +01:00
Jun Pataleta 6a404783d2 Merge branch 'MDL-76344-master-fix' of https://github.com/stevandoMoodle/moodle 2023-05-11 14:34:50 +08:00
Safat 019f74f8b6 MDL-77576 core_communication: Implement privacy api 2023-05-11 13:35:17 +10:00
Safat ab3c78e873 MDL-77576 core_user: Update room membership on user update
This commit implements the communication api updates
when a user is updated. It handles the room membership
when a user is suspended and deleted.

Originally implemented as MDL-76703.

Co-authored-by: David Woloszyn <david.woloszyn@moodle.com>
Co-Authored-By: Safat Shahin <safat.shahin@moodle.com>
2023-05-11 13:35:16 +10:00
David Woloszyn 86ab66e60a MDL-77576 core_enrol: Implement communication api
This commit implementes the communication api for
enrolment changes for a user, or enrolment method
and triggers the communication api update.

Originally implemented MDL-76703.

Co-authored-by: David Woloszyn <david.woloszyn@moodle.com>
Co-Authored-By: Safat Shahin <safat.shahin@moodle.com>
2023-05-11 13:35:16 +10:00
Safat ad5c10016a MDL-77576 core_course: Implement communication api
This commit implements the core communication api in the
core course to create or update matrix roomand its members
according to course settings. This commit will add the
communicaiton room in the course so that users can access
communication room from course.

Originally implemented as MDL-76702, MDL-76705 and MDL-76703.

Co-Authored-By: David Woloszyn <david.woloszyn@moodle.com>
Co-Authored-By: Safat Shahin <safat.shahin@moodle.com>
2023-05-11 13:35:16 +10:00
Safat 9a060a6d8d MDL-77576 communication_matrix: Create Matrix plugin
This commit will implement a matrix communication plugin
to integrate matrix services with core communication.

Originally implemented as MDL-76701, MDL-76702, MDL-77357,
MDL-76705, MDL-77473 and  MDL-76708.

Co-Authored-By: Stevani Andolo <stevani.andolo@moodle.com>
Co-Authored-By: David Woloszyn <david.woloszyn@moodle.com>
Co-Authored-By: Safat Shahin <safat.shahin@moodle.com>
2023-05-11 13:35:16 +10:00
Safat ca1e5d0beb MDL-77576 core_communication: Add core communication api
This commit will implement the base api for core
communication. This will include the room creation,
room membership, room access url and all associated
api and related interfaces.

Originally implemented as MDL-76702, MDL-76703 and MDL-76705.

Co-Authored-By: David Woloszyn <david.woloszyn@moodle.com>
Co-Authored-By: Safat Shahin <safat.shahin@moodle.com>
2023-05-11 13:35:16 +10:00
Jake Dallimore 01cea25154 Merge branch 'MDL-75552-master' of https://github.com/sarjona/moodle 2023-05-11 11:23:14 +08:00
Stevani Andolo d3c2698b83 MDL-76344 course: Fixed course image 'non image file' layout 2023-05-11 11:12:41 +08:00
David Woloszyn f3f816ced9 MDL-77144 core_grades: fix headings in grade area
Previous to this, heading logic was performed in print_grade_page_head.
With the deprecation of the showtitle param, it makes sense now to
explicitly set the heading when the function is called. This prevents
duplicated text between the heading and teriary dropdown. This patch
also fixes unnecessary text that was concatenated onto headings.
2023-05-11 10:09:09 +10:00
David Woloszyn d81da7aba1 MDL-77144 core_grades: deprecated showtitle in print_grade_page_head 2023-05-11 09:55:17 +10:00
Sara Arjona c785f8312c Merge branch 'MDL-78040' of https://github.com/paulholden/moodle 2023-05-10 19:45:08 +02:00
Paul Holden 69a3863ce3 MDL-78211 contentbank: fix context option when formatting categories. 2023-05-10 17:38:53 +01:00
Paul Holden 081969ee7f MDL-78151 core: account for timezone differences in intl extension.
Recent additions to timezones from the IANA TZDB are not necessarily
reflected in those used by the intl extension and/or ICU zones:

 * America/Ciudad_Juarez
 * America/Nuuk
 * Europe/Kyiv
 * Pacific/Kanton

Create mapping to allow these zones to be used without errors.
2023-05-10 17:12:10 +01:00
Juan Leyva e13a2ff501 MDL-78196 user: Fix files used space check 2023-05-10 17:16:18 +02:00
Paul Holden 280ed5b62f MDL-77667 contentbank: display course fullnames in context navigation. 2023-05-10 16:05:17 +01:00
LTS 44cb3349b2 MDL-75404 tool_brickfield: Allow link open in new window with warning 2023-05-10 11:14:56 +00:00
Sara Arjona 7fc14069ea Merge branch 'MDL-77614' of https://github.com/paulholden/moodle 2023-05-10 12:54:34 +02:00
Andrew Nicols 7032e363bf Merge branch 'MDL-77592-master' of https://github.com/golenkovm/moodle 2023-05-10 13:03:11 +08:00
Andrew Nicols 267606dc42 Merge branch 'MDL-78034' of https://github.com/paulholden/moodle 2023-05-10 12:59:46 +08:00
Andrew Nicols dd7f6a313d Merge branch 'MDL-74898-master' of https://github.com/marinaglancy/moodle 2023-05-10 12:24:41 +08:00
Ilya Tregubov 954e523be8 Merge branch 'MDL-75623-master' of https://github.com/sh-csg/moodle 2023-05-10 11:42:56 +08:00
Jun Pataleta ad82a95633 Merge branch 'MDL-78065-master' of https://github.com/HuongNV13/moodle 2023-05-09 22:42:42 +08:00
Paul Holden dafc92b454 MDL-78170 rating: consistently calculate average rating aggregation.
Ensure it's always cast by the database as a float, to avoid loss of
precision.
2023-05-09 15:39:00 +01:00
Paul Holden 52937b39c8 MDL-78149 mod_data: ensure group selector is always present. 2023-05-09 12:03:43 +01:00
Paul Holden 1d66c4cbfb MDL-78152 mod_book: set permissions required for page editing. 2023-05-09 11:51:38 +01:00
Jun Pataleta d0782dadd3 Merge branch 'MDL-78093' of https://github.com/paulholden/moodle 2023-05-09 17:25:57 +08:00
Jake Dallimore 4b0a4dfcb2 Merge branch 'MDL-77872-master' of https://github.com/lucaboesch/moodle 2023-05-09 15:27:45 +08:00
Andrew Nicols bd214de282 MDL-75552 badges: move apiBase consumption to backpack
The apiBase in .well-known/badgeconnect.json was ignored and it was
causing some failures when connecting or sending badges to an
external backpack.
For OBv2.1, it has been changed to always use the apiBase defined
in the badgeconnect.json backpack provider.
2023-05-09 08:50:42 +02:00
Shamim Rezaie 6de23902cd MDL-77451 gradereport: stress handling for multiple clicks 2023-05-09 16:28:51 +10:00
Rajneel Totaram f74f702c88 MDL-77930 accesslib: php81 deprecation warnings on missing plugins 2023-05-09 17:44:15 +12:00
Srdjan fefc97a6ad MDL-75372 core: log blocked urls in check_request 2023-05-09 14:11:50 +10:00
Srdjan 5813741877 MDL-75372 core: url_blocked event
Triggered with check_securityhelper_blocklist(). The event is
also emitting a debugging() message.
2023-05-09 14:11:50 +10:00
Ilya Tregubov 4670bbb564 Merge branch 'MDL-71413' of https://github.com/paulholden/moodle 2023-05-09 11:30:24 +08:00
Eloy Lafuente (stronk7) e12c760a12 MDL-78156 groups: Make groups_get_user_groups() order deterministic
Right now the order of the groups returned by groups_get_user_groups()
is not fixed and, every DB, can return them in any order. While 99%
of times the order will be the creation one, depending of the RDBMS
decisions, they can be returned in any order.

This is specially noticeable with Oracle, but can affect to any DB.

And that makes some tests (expecting a given order) to fail.

This commit fixes the problem by making the order of the groups
deterministic, because that's the way we use to fix these problems.

Alternative is to relax the tests so only values are asserted by
using assertEqualsCanonicalizing().
2023-05-08 18:18:54 +02:00
Petr Skoda 406738005e MDL-76688 filter_text: prevent LaTeX3 syntax 2023-05-08 10:12:37 +02:00
Ilya Tregubov 500ef7ccf2 Merge branch 'MDL-70189' of https://github.com/paulholden/moodle 2023-05-08 12:49:21 +08:00
AMOS bot 534dac4b9a Automatically generated installer lang files 2023-05-07 00:07:32 +00:00
Paul Holden d85eb0a061 MDL-78135 completion: include required criteria library in test. 2023-05-05 16:43:42 +01:00
Jake Dallimore a34d5ee92b MDL-76821 enrol_lti: prevent legacy launches via upgraded enrolment
If the enrolment instance (the 'published resource') has been upgraded
from LTI 1.1/2.0 to LTI 1.3 (i.e. a new instance was not created),
prevent legacy launches which may occur from old resource links. Only
LTI Advantage launches should be permitted through the method.
2023-05-05 17:07:21 +08:00
Jake Dallimore faa3878abb MDL-76821 enrol_lti: fix bug in repo causing return of legacy lti users
If the enrolment method is updated from an LTI 1.1/2.0 tool to an LTI
1.3 tool, it may have associated enrol_lti_users records not having
ltideploymentid values. These are legacy users and must not be returned
by the repository, which deals only with LTI 1.3 LTI users.
2023-05-05 17:07:12 +08:00
Safat e703bdeb0a MDL-77576 core: Add testsuite for communication
Add testsuite for core communication to runn all
the tests for that subsystem.

Originally implemented as MDL-76702.

Co-Authored-By: Safat Shahin <safat.shahin@moodle.com>
2023-05-05 14:42:45 +10:00
Safat 37539dca0c MDL-77576 core: Add password unmask required field
The password unmask field will have the ability to
be a required field while used the required class.

Originally implemented as MDL-76701.

Co-Authored-By: Safat Shahin <safat.shahin@moodle.com>
2023-05-05 14:42:43 +10:00
Huong Nguyen ec5663f1a4 MDL-77576 core: Register a new communication plugin-type
A new communication plugin type added to core to implement
the communication provider features.

Original implemented as MDL-76699

Co-Authored-By: Huong Nguyen <huongnv13@gmail.com>
2023-05-05 14:41:30 +10:00
Huong Nguyen 163b4134df MDL-77576 core: Register new communication sub-system
Create a new subsystem for communication and create
associated experimental settings to safely use the
new subsystem.

Originally implemented as MDL-76699.

Co-Authored-By: Huong Nguyen <huongnv13@gmail.com>
2023-05-05 14:41:28 +10:00
Jun Pataleta 87edadbb0c Merge branch 'MDL-76344-master' of https://github.com/stevandoMoodle/moodle 2023-05-05 10:35:16 +08:00
Luca Bösch 86aaab4329 MDL-77872 quiz: quiz editing page less narrow. 2023-05-04 15:36:43 +02:00
Paul Holden 2b6d7d300a MDL-71413 user: final removal of deprecated profile field methods. 2023-05-04 14:16:05 +01:00
Paul Holden 029474c319 MDL-70189 lang: final removal of deprecated 311 strings. 2023-05-04 14:15:35 +01:00
Sara Arjona 5d320dd7d1 weekly release 4.3dev 2023-05-04 12:42:39 +02:00
Paul Holden ea404b8e37 MDL-77700 blog: add comment author data to custom report source.
The ability to report on blog comments was added in 27ebde57, however
it lacked the option to report on the user who added the comment(s).

AMOS BEGIN
 CPY [author,core_notes],[author,core_blog]
AMOS END
2023-05-04 09:12:50 +01:00
Eloy Lafuente (stronk7) e1919e6793 MDL-78116 core: Run tests against Windows on GHA
Signed-off-by: Andrew Nicols <andrew@nicols.co.uk>
2023-05-04 15:39:24 +08:00
Andrew Nicols 3b7ef3d287 Merge branch 'MDL-78054-master' of https://github.com/dpalou/moodle 2023-05-04 12:04:42 +08:00
Stevani Andolo a78738c855 MDL-76344 course: Fixed course image 'non image file' layout 2023-05-04 10:26:06 +08:00
Jake Dallimore 3abb8c4a28 Merge branch 'MDL-78002' of https://github.com/stronk7/moodle 2023-05-04 10:07:07 +08:00
Ilya Tregubov 7a0880a737 Merge branch 'MDL-78094-master' of https://github.com/snake/moodle 2023-05-04 08:53:27 +08:00
Paul Holden ca77f51f2c MDL-78040 block_glossary_random: switch to block test generator.
Random failures after manually adding block instances (specifically
on slow/Oracle systems) can be entirely avoided by using the block
test generator for scenarios that are not specifically concerned with
manually adding blocks.
2023-05-03 16:42:55 +01:00
Sara Arjona 025690347d Merge branch 'MDL-77781-master' of https://github.com/sarjona/moodle 2023-05-03 16:04:53 +02:00
Jun Pataleta aa011d149e Merge branch 'MDL-77398' of https://github.com/paulholden/moodle 2023-05-03 20:36:39 +08:00
Laurent David 4a91802a44 MDL-77781 core_completion: Completion view must be deleted too
When resetting a course, completion view entries should also be
deleted

Co-authored-by: Georg Moser <georg@moser.link>
2023-05-03 14:27:54 +02:00
Jake Dallimore 4bcb6a19bf Merge branch 'MDL-77384' of https://github.com/paulholden/moodle 2023-05-03 16:51:58 +08:00
Jake Dallimore 78a4999ddf Merge branch 'MDL-78023' of https://github.com/paulholden/moodle 2023-05-03 16:15:29 +08:00
Sara Arjona 60143dff4f Merge branch 'MDL-77312' of https://github.com/paulholden/moodle 2023-05-03 09:59:12 +02:00
Sara Arjona 29301517d4 Merge branch 'MDL-78049-master' of https://github.com/PhMemmel/moodle 2023-05-03 09:45:12 +02:00
Ilya Tregubov b054baacb6 Merge branch 'MDL-77320' of https://github.com/paulholden/moodle 2023-05-03 15:36:08 +08:00
Sara Arjona 5222c27bb5 Merge branch 'MDL-78057' of https://github.com/danmarsden/moodle 2023-05-03 09:22:34 +02:00
Sara Arjona c03e4cadf3 Merge branch 'MDL-76971' of https://github.com/paulholden/moodle 2023-05-03 09:18:18 +02:00
Sara Arjona ed2708bfa9 Merge branch 'MDL-78006' of https://github.com/paulholden/moodle 2023-05-03 09:04:30 +02:00
Ilya Tregubov 47b977bc30 Merge branch 'MDL-77810' of https://github.com/paulholden/moodle 2023-05-03 13:07:58 +08:00
Ilya Tregubov 3f47d59035 Merge branch 'MDL-77987' of https://github.com/AnupamaSarjoshi/moodle 2023-05-03 12:39:47 +08:00
Jake Dallimore d2b655cbf2 Merge branch 'MDL-78052-master' of https://github.com/sarjona/moodle 2023-05-03 12:06:33 +08:00
Ilya Tregubov 9d4a20d140 Merge branch 'MDL-77546-master' of https://github.com/mihailges/moodle 2023-05-03 10:56:41 +08:00
Jun Pataleta 429a1b644f Merge branch 'MDL-77394' of https://github.com/paulholden/moodle 2023-05-03 10:31:12 +08:00
Jun Pataleta 7787a32f65 Merge branch 'MDL-78038' of https://github.com/paulholden/moodle 2023-05-03 10:25:47 +08:00
Ilya Tregubov cedadb7c03 Merge branch 'MDL-77936' of https://github.com/paulholden/moodle 2023-05-03 10:07:06 +08:00
Jun Pataleta 8cfaae5e84 Merge branch 'MDL-78011' of https://github.com/paulholden/moodle 2023-05-03 09:58:22 +08:00
Jake Dallimore bdee325701 MDL-78094 webservice_soap: fix use of core_external in locallib 2023-05-03 09:41:50 +08:00
Ilya Tregubov ed6e15c67f Merge branch 'MDL-76835-master' of https://github.com/aya-saad1/moodle 2023-05-03 09:29:06 +08:00
David Woloszyn c713e970a6 MDL-77840 enrol_lti: Avoid passing nulls to base64_encode 2023-05-03 09:32:18 +10:00
Paul Holden 9aac3ac605 MDL-78093 gradereport_grader: handle modal retrieval promise failures. 2023-05-02 16:17:11 +01:00
Paul Holden 9aa23e4aff MDL-78093 grade: standardize additional external parameter type. 2023-05-02 16:17:11 +01:00
Sara Arjona 29102c91b9 Merge branch 'MDL-77858' of https://github.com/paulholden/moodle 2023-05-02 16:49:43 +02:00
Sara Arjona 537e5bf5e4 Merge branch 'MDL-77791_master' of https://github.com/dvdcastro/moodle 2023-05-02 12:03:48 +02:00
Jun Pataleta 7a9235a7bb Merge branch 'MDL-76857-master' of https://github.com/sarjona/moodle 2023-05-02 15:45:19 +08:00
David Woloszyn 80203e3be1 MDL-77840 lti: Avoid passing nulls to base64_encode 2023-05-02 13:46:41 +10:00
David Woloszyn e364489007 MDL-77840 backup: Avoid passing nulls to base64_encode 2023-05-02 13:46:41 +10:00
David Woloszyn b318ce307d MDL-77840 mnet: Avoid passing nulls to base64_encode 2023-05-02 13:46:41 +10:00
Ilya Tregubov a7c42e69f4 Merge branch 'MDL-78025' of https://github.com/timhunt/moodle 2023-05-02 11:42:45 +08:00
Huong Nguyen 3ac2f99ca3 MDL-78065 tiny_link: Fix cannot create link for selection text 2023-05-02 10:23:07 +07:00
Eloy Lafuente (stronk7) e4eb21e0ea MDL-78002 phpunit: Ensure that all uses of psr streams are closed
While the uses here were not causing too much problem with PHPUnit
execution in any OS, better have them explicitly closed to better
serve as reference for other, future uses anywhere in codebase.

Always that a stream is used, better we close it as soon as possible,
not relying on destructors, gc and friends.
2023-04-29 23:05:06 +02:00
Eloy Lafuente (stronk7) 2b61e95a69 MDL-78002 moodlenet: Always close the request stream explicitly
And do it as soon as it's not needed any more. Else, only
_destruct() / shutdown / gc will, and that can be problematic
if many streams are open, or, under some environments like
Windows that consider the stream underlying files still busy,
because they have not been closed.
2023-04-29 20:33:57 +02:00
Dan Marsden 3d95fe0bc3 MDL-78057 core_user: Use correct class for context check. 2023-04-28 13:15:56 +12:00
Paul Holden 626a5ddda7 MDL-77810 gradereport_summary: show localised plugin name in report. 2023-04-27 15:19:21 +01:00
Dani Palou 84812c0642 MDL-78054 airnotifier: Fix data encrypted several times 2023-04-27 14:44:43 +02:00
Ilya Tregubov 5252124e35 weekly on-sync release 4.3dev 2023-04-27 19:28:59 +08:00
Sara Arjona 83203eef6f MDL-78052 lib: Set Moodle files after Font Awesome upgrade 2023-04-27 13:11:58 +02:00
Sara Arjona 46190f1b05 MDL-78052 theme: Update FontAwesome to 6.4.0
This version also fixes a regression in 6.3.0 where a number of
icons weren't centered properly in their viewboxes.
2023-04-27 12:52:01 +02:00
Sara Arjona d61dc39a0a MDL-76857 filter_displayh5p: Improve behat tests
Although the screenshots in the failures for some of the scenarios in
filter/displayh5p/tests/behat/h5p_filter.feature, like "Render a local
H5P file as teacher" were displaying the expected result, there were
some javascript errors (probably due to behat is quicker and the
iframes were not always ready).
I've added one extra step before accessing the iframe to give more
time to the H5P player to load and confirm the page is displayed
properly.
2023-04-27 11:07:08 +02:00
Paul Holden 0969ad81ab MDL-77320 tool_licensemanager: restrict exposure of user sesskey. 2023-04-27 09:32:29 +01:00
Paul Holden 24885f8084 MDL-77936 grade: omit second cell action divider when not required. 2023-04-27 08:41:30 +01:00
Philipp Memmel 31bad4ffcd MDL-78049 core_external: Run test_all_external_info in separate process 2023-04-27 08:27:07 +02:00
Jun Pataleta 065d6cc2e5 Merge branch 'MDL-77883-master' of https://github.com/danghieu1407/moodle 2023-04-27 11:08:09 +08:00
Jun Pataleta 70dd7244fd Merge branch 'MDL-77997' of https://github.com/timhunt/moodle 2023-04-27 10:40:59 +08:00
Paul Holden cabf27f9e1 MDL-78038 mod_bigbluebuttonbn: observe course format section config. 2023-04-26 16:08:20 +01:00
Mihail Geshoski c77f996d23 MDL-77546 gradereport_singleview: Fix item order in grade item selector 2023-04-26 23:06:49 +08:00
Tim Hunt 35695831ff MDL-78025 questions: improve the comment on question_references.version 2023-04-26 15:29:39 +01:00
Tim Hunt 6a4341549d MDL-78025 questions: fix PHPdoc on question_require_capability_on 2023-04-26 15:29:39 +01:00
Tim Hunt c71272c3b1 MDL-78025 quiz: fix the quiz_questions_in_use logic 2023-04-26 15:29:39 +01:00
Tim Hunt 25596a50e5 MDL-78025 questions: questions_in_use should check question_references
This avoids the needs for plugins to do separate queries, which is
easier for them, and better performing.
2023-04-26 15:29:38 +01:00
Paul Holden c0594002a8 MDL-78034 mod_bigbluebuttonbn: format instance group names. 2023-04-26 15:25:34 +01:00
Aya Saad 4165fe4489 MDL-76835 theme: Fix unordered lists indentation 2023-04-26 14:04:11 +02:00
Tim Hunt 9775be13e9 MDL-78025 question generator: make the behaviour less surprising
* The object returned by update_question is alwasy a new clone
  and the $question passed in will not be modified.

* The returned object has the fields like questionbankentryid and
  the ones related to versionning, so it is more like the data
  returned by question_bank::load_question_data.
2023-04-26 10:49:35 +01:00
Tim Hunt 37e8115d68 MDL-78025 question: move hiding logic into question_delete_question
This logic belongs in the API, so it is applied consistently.

Also this avoids calling the expensive function questions_in_use
twice per question.
2023-04-26 10:49:32 +01:00
Ilya Tregubov dd4a990fe0 Merge branch 'master_MDL-76929' of https://github.com/mattporritt/moodle 2023-04-26 09:27:58 +08:00
David Castro 5d9fec141d MDL-77791 data: Fix file attachment to search doc 2023-04-25 19:51:44 -05:00
Paul Holden 99daf499c7 MDL-78023 tool_policy: cast timemodified column on table download. 2023-04-25 14:48:38 +01:00
Sara Arjona 49d013efd6 Merge branch 'MDL-77313' of https://github.com/paulholden/moodle 2023-04-25 15:18:26 +02:00
Paul Holden 6312467346 MDL-77614 reportbuilder: throw exception if entity name already exists. 2023-04-25 12:55:09 +01:00
Paul Holden b495ba0cec Merge branch 'MDL-78007-master' of https://github.com/HuongNV13/moodle 2023-04-25 12:36:07 +01:00
Paul Holden ba547f55c8 Merge branch 'MDL-73331_master_toolbrickfieldadvancedtab' of https://github.com/brickfield/moodle 2023-04-25 11:54:16 +01:00
Paul Holden 3e581cbd99 Merge branch 'MDL-77766-master-2' of https://github.com/junpataleta/moodle 2023-04-25 09:38:35 +01:00
Paul Holden de3d17ea93 MDL-77384 check: clarify statistics check name. 2023-04-25 09:04:29 +01:00
Paul Holden 7c7024af31 MDL-76971 reportbuilder: switch remaining classes to external_api.
Continues on the work started in a3cc26f8, to remove the last
remnants of usage of previous external API classes.
2023-04-25 08:50:47 +01:00
Paul Holden d97e0fa4ec MDL-78011 qbank_managecategories: require library for pagesize const. 2023-04-24 15:34:23 +01:00
Jun Pataleta 35e69b6ae8 MDL-77766 qtype_truefalse: Respect showstandardinstruction
* When showstandardinstruction is set to no, replace the standard
instruction with the generic "Answer" text for the answer options
fieldset's legend.
2023-04-24 20:07:57 +08:00
Jun Pataleta 75984fb226 MDL-77766 qtype_multichoice: Respect showstandardinstruction
* When showstandardinstruction is set to no, replace the standard
instruction with the generic "Answer" text for the answer options
fieldset's legend.
2023-04-24 20:07:38 +08:00
Marina Glancy a051d3466a MDL-78006 course: test for adding activity in a new section 2023-04-24 11:40:31 +01:00
Paul Holden 97f5badba5 MDL-78006 course: register activity chooser listeners just once. 2023-04-24 11:40:31 +01:00
Tim Hunt b181e78c7c MDL-77997 questions: add back Export as XML to the preview screen
The used the exist in Moodle up to 3.11, but then was removed with
insufficient thought in 4.0 (because we had grander long-term plans
which still have not happened). Until those plans happen, this
commit adds the simple link back on the preview screen.
2023-04-24 11:22:58 +01:00
Anupama Sarjoshi 55dffbe6cb MDL-77987 Backup: add progress tracking to some slow steps 2023-04-24 11:09:21 +01:00
Paul Holden c5c9185801 MDL-77312 files: exclude drafts when determining license usage. 2023-04-24 11:07:32 +01:00
Paul Holden 1dbeca84f6 MDL-77313 restore: re-add field to indicate course/category search.
When the two restore forms for searching courses and categories were
converted to core templates in eb9935c9 they lost the named submit
button, which broke searching.
2023-04-24 11:04:20 +01:00
Paul Holden 8a6065f5fc MDL-77858 javascript: correct core/notification exception imports. 2023-04-24 10:44:07 +01:00
Paul Holden b08857a1b9 MDL-77394 mod_forum: de-couple discussion pinned/starred options. 2023-04-24 10:37:55 +01:00
Paul Holden 426b5aeccb MDL-77398 mod_assign: disable form submit protection for batch options. 2023-04-24 10:35:07 +01:00
Huong Nguyen 1d4c1d9c65 MDL-78007 tiny_media: Fix wrong condition for the Tiny Media
Including in this commit:
 - Switched to Tiny editor in manually_mark_question.feature
2023-04-24 15:53:41 +07:00
danghieu1407 678fb7d490 MDL-77883 forms: fix display of client-side validation for textareas 2023-04-24 13:14:08 +07:00
Ilya Tregubov 008eb792c1 Merge branch 'MDL-78001-master' of https://github.com/junpataleta/moodle 2023-04-24 14:05:01 +08:00
Ilya Tregubov dc9a504d0f Merge branch 'MDL-78000-master' of https://github.com/junpataleta/moodle 2023-04-24 11:27:01 +08:00
Jun Pataleta 9095bb0ef9 MDL-78000 upgrade: add the 4.2.0 separation line to all upgrade scripts 2023-04-22 23:17:50 +08:00
Jun Pataleta 460e3e9c8d MDL-78001 backup: Bump release to 4.3 2023-04-22 23:06:58 +08:00
Jun Pataleta 4e632b7251 weekly back-to-dev release 4.3dev 2023-04-22 17:15:01 +08:00
Jun Pataleta ae4efa96ee Moodle release 4.2 2023-04-22 17:06:55 +08:00
Eloy Lafuente (stronk7) 2204fd7ad7 Moodle release 4.2rc2 2023-04-21 19:19:59 +02:00
Eloy Lafuente (stronk7) ae4d40b517 Merge branch 'install_master' of https://git.in.moodle.com/amosbot/moodle-install 2023-04-21 19:19:53 +02:00
Jake Dallimore 0074137749 Merge branch 'MDL-77889-integration-master-fix' of https://github.com/mihailges/moodle 2023-04-21 17:15:26 +08:00
Mihail Geshoski ad7839f6ff MDL-77889 gradebook: Tighten up backward compatibility checks 2023-04-21 16:53:47 +08:00
Jun Pataleta d3fa6641a2 Merge branch 'MDL-77229-patch' of https://github.com/ilyatregubov/moodle 2023-04-21 16:44:22 +08:00
Ilya Tregubov a0b40bd104 MDL-77229 mod_lesson: Black list detailed statistics in classic Behat.
The nav element to go to detailed stats page is missing in classic
2023-04-21 15:03:02 +08:00
Shamim Rezaie e38262e271 MDL-77889 gradereport: restore backwards compatibility in searchwidget
The widgetbase module was intended to be a generic search widget,
despite its location in grade/amd/src. As such, other modules may
depend on this. This was modified in MDL-76246, which added new
requires params to the js, and changed the js to expect certain new
data attributes in the templates. This broke b/c for existing
dependents.

This patch makes sure the existing uses of the basewidget continue
to work by adding b/c code. See MDL-77991 which deals with deprecating
this search widget and replacing it with one that just implements the
desired combobox logic, without the b/c code. That issue should also
make it abundantly clear that this widget is for public consumption.
2023-04-21 14:19:43 +08:00
Jun Pataleta 8dd488cb5b Merge branch 'MDL-77989-master' of https://github.com/andrewnicols/moodle 2023-04-21 13:44:51 +08:00
Andrew Nicols fcba0cb379 MDL-77989 core: Fix uses of legacy external API 2023-04-21 13:33:56 +08:00
Andrew Nicols 1a53cbbae4 MDL-77989 testing: Add test file isolation helper
When we deprecate the use of a file, we often include tests which ensure
that the legacy behaviour is maintained. There are also legacy uses
in the community where people would like to use the deprecated API for a
period.

The issue that we face is that, if the deprecated file is included once,
then it will be included for all other, unrelated, tests. This means
that other tests may not detect cases where the deprecated file was
included.

We can solve these cases by running the test that performs the inclusion
in a deprecated process. This means that the inclusion is only performed
in that isolated process, and other unrelated tests do not include the
file.

However, we also then need to detect which files which are including the
file and which we do not know about.

This change introduces:
- an override to the TestCase::setInIsolation method to define a
  constant when the test is running in isolation
- a new function that a file can call when it is included, to make sure
  that the test process was isolated, where there is any test.
2023-04-21 13:33:56 +08:00
Ilya Tregubov 04bf346ca3 Merge branch 'MDL-77903' of https://github.com/Chocolate-lightning/moodle 2023-04-21 13:18:14 +08:00
Jun Pataleta 19022cd940 Merge branch 'MDL-77927-master' of https://github.com/stevandoMoodle/moodle 2023-04-21 13:11:43 +08:00
Mathew May f9c6548189 MDL-77903 gradereport_grader: Keyboard accessibility 2023-04-21 13:09:25 +08:00
Jun Pataleta 4bf6bb37c2 MDL-77927 core: Delete other mod_assignment subplugins
Non-core mod_assignment subplugin data may still be present on the
database. We need to make sure to remove these too during upgrade.
2023-04-21 12:32:10 +08:00
Jun Pataleta 0720524804 MDL-77927 core: mod_assignment subplugins environment check 2023-04-21 12:32:06 +08:00
Jun Pataleta dddc9a08cd MDL-77927 core: Move assignment removal upgrade code
Move the fixed assignment removal upgrade code to the end of the upgrade
script as a new upgrade step. Already upgraded sites with mod_assignment
removed should just be able to rerun this without any issues.
2023-04-21 12:31:11 +08:00
Stevani Andolo d023b5356c MDL-77927 grade: Delete mod_assignment orphaned data before its removal 2023-04-21 12:31:07 +08:00
Ilya Tregubov ad401db0f8 Merge branch 'MDL-77229-master' of https://github.com/ilyatregubov/moodle 2023-04-21 12:11:59 +08:00
Ilya Tregubov 1601a2610f MDL-77229 lesson: Add Behat test 2023-04-21 12:02:34 +08:00
Andrew Nicols ba81947f43 Merge branch 'MDL-77849-master' of https://github.com/ilyatregubov/moodle 2023-04-21 11:31:22 +08:00
Jun Pataleta e07f28e276 Merge branch 'MDL-77896' of https://github.com/paulholden/moodle 2023-04-21 11:21:40 +08:00
Mihail Geshoski bc977c3588 MDL-77849 gradereport_grader: Align content in user identity cells 2023-04-21 09:59:30 +08:00
Ilya Tregubov 2bfd75d9a0 MDL-77849 gradereport_grader: Align properly grade display types 2023-04-21 09:59:30 +08:00
Ilya Tregubov 4c699d007a MDL-77849 gradereport_grader: Make menus aligned with text 2023-04-21 09:59:25 +08:00
Shamim Rezaie 39c4e7f3cb MDL-77849 gradereport_grader: Switch from px to rem values 2023-04-21 09:58:58 +08:00
Shamim Rezaie 3816a64f32 MDL-77849 gradereport_grader: Numerical grades should be right-aligned 2023-04-21 09:58:50 +08:00
Andrew Nicols f7d7ad7fed MDL-77989 core_external: Isolate testing of deprecated file
The inclusion of this deprecated file leads to tests passing which may
fail when run in a different order, or for just a single testsuite.
2023-04-21 09:33:53 +08:00
Dan Marsden 9d162d1b8a MDL-77989 webservices: fix unit test error with xmlize_result 2023-04-21 09:31:57 +08:00
AMOS bot 2a5bf37102 Automatically generated installer lang files 2023-04-21 00:07:45 +00:00
Paul Holden 571292b6eb MDL-77896 editor_tiny: approximate height for non-visible editors.
When an editor is renderer initially invisible to the browser, e.g.
the forum "Add discussion" form, it has a `clientHeight` value of
zero. We can approximate an alternative value based on the number
of rows in the textarea.

Co-authored-by: Andrew Nicols <andrew@nicols.co.uk>
2023-04-20 15:24:23 +01:00
Juan Leyva f14c09406a MDL-77229 lesson: Fix error for empty responses (numerical pagetype) 2023-04-20 12:46:21 +02:00
Jun Pataleta 445a139d21 Merge branch 'MDL-73012-master' of https://github.com/ferranrecio/moodle 2023-04-20 16:32:15 +08:00
Jun Pataleta a14f23aa2a Merge branch 'MDL-77922-master' of https://github.com/ferranrecio/moodle 2023-04-20 16:09:56 +08:00
Ilya Tregubov 1c25a0cc2f Merge branch 'MDL-77577-master' of https://github.com/andelacruz/moodle 2023-04-20 12:33:23 +08:00
Andrew Nicols 6732d8819d Merge branch 'MDL-77973-master' of https://github.com/snake/moodle 2023-04-20 12:14:40 +08:00
Jake Dallimore fffc7ebf7c MDL-77973 core: fix broken navigation when moodlenet misconfigured
Instead of failing with an exception, throw a debugging notice.
2023-04-20 11:47:54 +08:00
Matthew Hilton 912bd8ad27 MDL-76270 group: Add bulk messaging actions
Added two new buttons to the group page to bulk enable or disable the
selected groups messaging settings.

Supporting Javascript modules were also added to disable/enable the
buttons depending on the groups selected in the picker.
2023-04-20 12:23:01 +10:00
Matthew Hilton c5b6ab5ddc MDL-76270 group: Refactor group action handling
Previously group bulk actions were handled by prepending
_act in the value of the input, and then using a custom function that
accessed $_GET and $_POST to determine which was pressed.

This was refactored in favor of the more standard method of using
optional_param.
2023-04-20 12:20:32 +10:00
Matthew Hilton 661c8d3ddf MDL-76270 group: Update to match coding standards 2023-04-20 12:20:32 +10:00
Ilya Tregubov 05a0d7c8b6 Merge branch 'MDL-77918' of https://github.com/Chocolate-lightning/moodle 2023-04-20 09:32:16 +08:00
Andrew Nicols 59d42e1ed2 MDL-77718 editor_tiny: Restrict the revision to int for loaders
The revision should always be an int. I suspect this was missed during
debugging and not corrected.
2023-04-19 16:44:19 +00:00
Paul Holden 5521d1d6e8 MDL-77187 mod_wiki: validate external method sort parameters. 2023-04-19 16:44:19 +00:00
Paul Holden a8da761f8b MDL-77959 moodlenet: void return type style fixes in test. 2023-04-19 17:35:12 +01:00
Paul Holden 5338fc591e Merge branch 'MDL-77959-master' of https://github.com/HuongNV13/moodle 2023-04-19 17:25:14 +01:00
Jun Pataleta ad37980aeb Merge branch 'MDL-77955' of https://github.com/paulholden/moodle 2023-04-19 23:45:25 +08:00
Paul Holden c81bfc4f45 Merge branch 'MDL-77897-master' of https://github.com/andrewnicols/moodle 2023-04-19 14:13:03 +01:00
Paul Holden 1af2d18adb Merge branch 'MDL-77960-master' of https://github.com/lameze/moodle 2023-04-19 13:41:31 +01:00
Paul Holden b952c16086 Merge branch 'MDL-77944-master' of https://github.com/andrewnicols/moodle 2023-04-19 13:06:40 +01:00
Max Larkin 941ca26829 MDL-73331 tool_brickfield: Update advanced tab display 2023-04-19 12:56:56 +01:00
Huong Nguyen 5548b91e3e MDL-77959 core_moodlenet: Convert activity intro to plaintext 2023-04-19 17:40:21 +07:00
Paul Holden f2f44e5ec9 MDL-77932 gradereport_grader: simplify range/average cell collapsing. 2023-04-19 11:27:43 +01:00
Paul Holden 078e0fd885 Merge branch 'MDL-77932-master' of https://github.com/mihailges/moodle 2023-04-19 11:25:59 +01:00
Ferran Recio 86fe8e582e MDL-73012 core_courseformat: add pending to move section modal 2023-04-19 12:15:32 +02:00
Jun Pataleta 02ba4ceefa Merge branch 'MDL-77940' of https://github.com/stronk7/moodle 2023-04-19 17:43:23 +08:00
Jake Dallimore 555ad338bf Merge branch 'MDL-77958-master' of https://github.com/andrewnicols/moodle 2023-04-19 17:08:14 +08:00
Andrew Nicols 3ac1acacca MDL-77958 moodlenet: Various style fixes
This change contains various style fixes which I encountered and fixed
whilst addressing the other issues identified in this issue.
2023-04-19 16:12:50 +08:00
Andrew Nicols 581ccb9a47 MDL-77958 moodlenet: Pass stored_file to improve memory usage
Previously the content of the stored file was extracted and stored in a
variable, passed around, and then submitted to MoodleNet. This results
in very high memory consumption when dealing with MoodleNet.

The stored_file should be passed around as a first-level param to
discourage this, and the content should _never_ be loaded into memory.
Instead file streams and resources should be used to allow Guzzle/Curl
to buffer the file from disk/other storage straight to MoodleNet.
2023-04-19 16:12:50 +08:00
Paul Holden 8d3b99d2a3 Merge branch 'MDL-77898-master' of https://github.com/junpataleta/moodle 2023-04-19 09:03:22 +01:00
Jun Pataleta 07243a3ae3 Merge branch 'MDL-77785' of https://github.com/timhunt/moodle 2023-04-19 15:45:55 +08:00
Andrew Nicols 489a53ceb2 MDL-77897 editor_tiny: Save editor content on editor blur 2023-04-19 14:57:10 +08:00
Mathew May b0aff926da MDL-77918 gradereport_grader: zindex the dropdowns to overlap better 2023-04-19 14:26:42 +08:00
Simey Lameze 4e6528182f MDL-77960 behat: make verification steps more specific 2023-04-19 14:09:58 +08:00
Andrew Nicols 96a1a0abce MDL-77958 file: Add psr stream functionality to file API
This change introduces a new get_psr_stream() method to:
* stored_file
* file_system

This allows us to fetch a Psr Stream implementing the
PSR\Http\Message\StreamInterface and pass it into Guzzle, which means
that there is no need to load the entire file content into memory to
serve it.
2023-04-19 13:51:49 +08:00
Ilya Tregubov 43205a0460 Merge branch 'MDL-77935' of https://github.com/paulholden/moodle 2023-04-19 13:26:15 +08:00
Jun Pataleta b1954bfdf9 Merge branch 'MDL-77953' of https://github.com/stronk7/moodle 2023-04-19 12:37:55 +08:00
Andrew Nicols a089496f96 Merge branch 'MDL-77954' of https://github.com/paulholden/moodle 2023-04-19 11:16:50 +08:00
Mihail Geshoski 71241e64a5 MDL-77932 gradereport_grader: Make range row cells collapsible 2023-04-19 10:09:57 +08:00
Paul Holden 78d24550af MDL-77955 moodlenet: destroy backup controller in class destructor.
This ensures that it's always cleaned up during tests, where not doing
so can cause spurious errors on Windows.
2023-04-18 22:42:13 +01:00
Paul Holden fd8184a295 MDL-77954 moodlenet: store packaged activities in user draft.
We shouldn't invent fileareas with invalid values (specifically in
this case, the `itemid` overflowed maximum length of the field on
Oracle).

Given the generated file is transitory in nature, instead store it
in the users draft area.
2023-04-18 18:40:15 +01:00
Eloy Lafuente (stronk7) 30e94a8916 MDL-77953 pagelib: Ensure that null $SCRIPT continues behaving the same
It's possible to have some Moodle components soft linked instead
of being real directories within codebase (within dirroot).

For example, Composer's "vendor" directory can be soft linked
(from elsewhere), or also plugins can be installed using soft
links.

In those cases, Moodle calculates the $SCRIPT global as null. And,
then, string operations on it are emitting a PHP deprecation message
with PHP 8.1 and up.

This fix just ensures that the behaviour is the same than before
PHP 8.1, aka: ltrim(null) = '' (empty string), without any PHP warning.
2023-04-18 18:48:58 +02:00
Eloy Lafuente (stronk7) c2b716a8cc MDL-77940 versions: main version bump 2023-04-18 18:09:28 +02:00
Eloy Lafuente (stronk7) 061c9d7ba0 MDL-77940 versions: bump all versions and requires near release
version = 2023042400 release version
requires= 2023041800 current rc1 version
2023-04-18 18:08:09 +02:00
Paul Holden 7343c65bea Merge branch 'MDL-77941-master' of https://github.com/aanabit/moodle 2023-04-18 16:57:40 +01:00
Amaia Anabitarte f4a172afde MDL-77941 blocks_overview: Remove duplicated strings for zero states 2023-04-18 17:36:57 +02:00
Andrew Nicols 3933cbfb5a Merge branch 'MDL-77895' of https://github.com/paulholden/moodle 2023-04-18 23:34:59 +08:00
Andrew Nicols 7beda01cae Moodle release 4.2rc1 2023-04-18 22:29:14 +08:00
Andrew Nicols 5124b6747c NOBUG: Fixed SVG browser compatibility 2023-04-18 22:29:11 +08:00
Andrew Nicols 09912bfefa Merge branch 'install_master' of https://git.in.moodle.com/amosbot/moodle-install 2023-04-18 22:29:10 +08:00
Ferran Recio f81b79a4b1 MDL-77922 core_courseformat: add pending to move activity modal 2023-04-18 13:22:08 +02:00
Jake Dallimore c9e8aa0406 Merge branch 'MDL-75316-master-4' of https://github.com/mickhawkins/moodle 2023-04-18 17:24:55 +08:00
Michael Hawkins 2e024f304a MDL-75316 core: MoodleNet integration final improvements 2023-04-18 17:00:54 +08:00
Huong Nguyen 58ced4add0 MDL-75316 core_moodlenet: Share to MoodleNet modal and activity menu
Originally implemented as MDL-75785
2023-04-18 17:05:07 +08:00
Huong Nguyen 6a877d438b MDL-75316 core: Webservice for sending activity to MoodleNet
Originally implemented as MDL-75933
2023-04-18 17:04:46 +08:00
Michael Hawkins 42ba0492e2 MDL-75316 core: Corrected oauth2_client::get_accesstoken() docblock
Originally implemented as MDL-75932
2023-04-18 17:04:30 +08:00
Michael Hawkins 77f85ed287 MDL-75316 core: Add activity sender & moodlenet_client to MoodleNet API
This makes it possible to share a single activity to a MoodleNet
instance (which has been enabled for sharing in site admin).
This utilises the core\moodlenet\activity_packager to create an
activity backup, then sends it using the MoodleNet create resource
API specification.

Originally implemented as MDL-75932
2023-04-18 17:04:14 +08:00
raortegar 9bc769a610 MDL-75316 core: Add activity packager to MoodleNet API
This makes it possible to package a single activity as a Moodle backup
file, excluding user data so it is ready to be shared as a MoodleNet
resource.

Co-authored-by: Michael Hawkins <michaelh@moodle.com>

Originally implemented as MDL-75932
2023-04-18 17:03:45 +08:00
Michael Hawkins d6c4c0fbbd MDL-75316 core: Set up MoodleNet API structure and utilities helper
Initial folder structure and declaring API.
Created utilities class.

Originally implemented as MDL-75932
2023-04-18 17:03:18 +08:00
Huong Nguyen cd097f117b MDL-75316 core_moodlenet: Rename settings
Originally implemented as MDL-75319
2023-04-18 17:03:02 +08:00
Huong Nguyen 7727745bf7 MDL-75316 core_moodlenet: Create MoodleNet capability
Originally implemented as MDL-75319
2023-04-18 17:02:47 +08:00
Huong Nguyen 852e31dbc4 MDL-75316 tool_moodlenet: Rename setting section
Rename the existing section from "MoodleNet settings" to "MoodleNet inbound settings"

Originally implemented as MDL-75319
2023-04-18 17:02:19 +08:00
Huong Nguyen ef2a1934a0 MDL-75316 core_moodlenet: Add setting to control sharing
Originally implemented as MDL-75319
2023-04-18 17:01:38 +08:00
Huong Nguyen d9a6577410 MDL-75316 admin: Create Share to MoodleNet experimental setting
Originally implemented as MDL-75319
2023-04-18 17:00:54 +08:00
Jun Pataleta 4df52460b5 MDL-77898 calendar: Add iconclass for upcoming_mini template
The icon's iconclass context data adds additional CSS class(es) to
calendar event icons to better control how the event icon is displayed.
e.g. without filtering for activity events that don't hae monologo
versions of their icons.
2023-04-18 15:58:09 +08:00
Paul Holden adb6d5468e MDL-77895 editor_tiny: standardize quickbar selection toolbar.
Ensure the same heading tags are available as those defined in the
editor block formats configuration (c51b7e2c).

Co-authored-by: Andrew Nicols <andrew@nicols.co.uk>
2023-04-18 07:46:05 +01:00
Ilya Tregubov 34d7edf079 Merge branch 'MDL-77916' of https://github.com/paulholden/moodle 2023-04-18 14:27:49 +08:00
Andrew Nicols 797f03228b Merge branch 'MDL-77893-master' of https://github.com/jleyva/moodle 2023-04-18 13:28:12 +08:00
Andrew Nicols 825e621264 Merge branch 'MDL-77735-master' of https://github.com/sarjona/moodle 2023-04-18 12:11:08 +08:00
Ilya Tregubov aac60d73a1 Merge branch 'MDL-77770' of https://github.com/paulholden/moodle 2023-04-18 12:01:28 +08:00
Ilya Tregubov 43c2c25645 Merge branch 'MDL-76855' of https://github.com/Chocolate-lightning/moodle 2023-04-18 11:17:43 +08:00
Andrew Nicols 5e4559c85a Merge branch 'MDL-77355' of https://github.com/paulholden/moodle 2023-04-18 10:32:49 +08:00
Ilya Tregubov 6255f92d66 Merge branch 'MDL-77943' of https://github.com/paulholden/moodle 2023-04-18 10:17:45 +08:00
Andrew Nicols df2e6c1cd4 Merge branch 'MDL-77902' of https://github.com/Chocolate-lightning/moodle 2023-04-18 10:10:39 +08:00
Mathew May ae6826953e MDL-77902 gradereport_grader: Clear btn & user differentiation 2023-04-18 09:59:13 +08:00
Andrew Nicols dfec1a8e00 MDL-77944 behat: Rename chrome options for w3c support
From Selenium 4.8.0, support for non-w3c browser control has ended.

We only use W3C browser control these days, and this was missed as part
of the move to W3C. All browser options must be vendor-prefixed.
2023-04-18 09:03:35 +08:00
Ilya Tregubov 688c9b13d4 Merge branch 'MDL-77827-master' of https://github.com/HuongNV13/moodle 2023-04-18 08:58:33 +08:00
AMOS bot e93fd454a2 Automatically generated installer lang files 2023-04-18 00:07:41 +00:00
Paul Holden ba64c15814 MDL-77943 group: use shorter names for visibility report elements. 2023-04-17 19:36:55 +01:00
Paul Holden 6a5a787844 Merge branch 'MDL-77878-master-enfix' of https://github.com/vmdef/moodle 2023-04-17 19:12:36 +01:00
Juan Leyva cf76d1bf9f MDL-77893 airnotifier: Apply payload size optimisation to all push 2023-04-17 15:36:28 +02:00
Juan Leyva 862a9fb24c MDL-77893 airnotifier: Allow configuring how to process encrypted notifs 2023-04-17 15:36:28 +02:00
Paul Holden 71cdfae287 Merge branch 'MDL-77842-master' of https://github.com/sarjona/moodle 2023-04-17 13:49:58 +01:00
Juan Leyva bdf525a43e MDL-77893 airnotifier: Leave only message data processed by Airnotifier 2023-04-17 13:34:55 +02:00
Paul Holden f2c1e6c114 Merge branch 'MDL-76212-master-nav' of https://github.com/kevpercy/moodle 2023-04-17 11:49:23 +01:00
Paul Holden 44e3cb05e5 Merge branch 'MDL-77324-master-2' of https://github.com/ilyatregubov/moodle 2023-04-17 11:05:55 +01:00
Juan Leyva 964ad9d264 MDL-77893 airnotifier: Allow to set publickey when creating new device 2023-04-17 11:03:15 +02:00
Paul Holden b4b88da77d MDL-77935 contentbank: avoid phpunit crashes during isolated tests.
Simplify the test for allowed contexts by removing problematic use of
data provider annotation.

See: https://github.com/sebastianbergmann/phpunit/issues/2739
2023-04-17 09:26:16 +01:00
Víctor Déniz b576b068bd MDL-77878 lang: Use fixed strings in tests 2023-04-17 08:49:59 +01:00
Mathew May fbc51cd591 MDL-77902 gradebook: Ensure dyn search works with pagination 2023-04-17 13:10:56 +08:00
Mathew May 53675693b4 MDL-76855 gradereport_user: Prevent parent access errors 2023-04-17 11:24:51 +08:00
Andrew Nicols 35118869c7 Merge branch 'MDL-77874' of https://github.com/paulholden/moodle 2023-04-17 11:20:53 +08:00
Helen Foster ee8408c4d5 MDL-77878 lang: Import fixed English strings (en_fix) 2023-04-14 13:08:38 +01:00
Sara Arjona d2e27ec8bb Merge branch 'MDL-77913' of https://github.com/paulholden/moodle 2023-04-14 14:02:08 +02:00
Sara Arjona ed53d81dc7 MDL-77842 badges: Improve debugging information for Badgr
In MDL-77086 some extra information was added when a badge can't be
sent to a backpack. However, as the Badgr is not following the
specification, it's still hard to debug it when it fails (as
raised in MDL-75552, Badgr is not working because, in some cases,
it's returning the "Method Not Allowed / Request method 'POST'
not supported" error.
2023-04-14 13:47:23 +02:00
Sara Arjona 440edc5e42 MDL-77735 core: Check $CFG->lang isset
In some cases, $CFG->lang might not be set, and this is causing a
Notice to be displayed when, for instance, database connection fails.
This patch should fix this case.
2023-04-14 13:46:18 +02:00
Sara Arjona 0e08d0df60 Moodle release 4.2beta 2023-04-14 10:54:08 +02:00
Sara Arjona 7e71cbce68 NOBUG: Fixed SVG browser compatibility 2023-04-14 10:54:05 +02:00
Sara Arjona c7987a7547 Merge branch 'install_master' of https://git.in.moodle.com/amosbot/moodle-install 2023-04-14 10:54:04 +02:00
Huong Nguyen f5867c078d MDL-77827 events: Changed JSON comparison to be less strict 2023-04-14 12:28:55 +07:00
AMOS bot ad255c2215 Automatically generated installer lang files 2023-04-14 00:07:47 +00:00
Paul Holden 62d48a1d47 MDL-77916 h5p: register autoloader in helper testcase. 2023-04-13 23:12:13 +01:00
Paul Holden dcdeb47f39 MDL-77913 qbank_previewquestion: deterministic ordering of versions.
Ensure the ordering of loaded question versions is consistent, avoids
random Oracle failures.
2023-04-13 21:13:41 +01:00
Sara Arjona 2e20e08aa9 Merge branch 'MDL-76986-master' of https://github.com/davewoloszyn/moodle 2023-04-13 17:31:58 +02:00
Sara Arjona bdc106e840 Merge branch 'MDL-76859-master' of https://github.com/sarjona/moodle 2023-04-13 16:24:20 +02:00
Sara Arjona a9ff77113e Merge branch 'MDL-77833-course-content-chng-notiification-multilang' of https://github.com/Amrita1991/moodle 2023-04-13 16:20:00 +02:00
Sara Arjona 9ce4fb65fd Merge branch 'MDL-77164-master' of https://github.com/marinaglancy/moodle 2023-04-13 14:00:18 +02:00
Sara Arjona d46db802af Merge branch 'MDL-77860' of https://github.com/paulholden/moodle 2023-04-13 13:44:53 +02:00
Sara Arjona 2f771f3175 Merge branch 'MDL-77788-master' of https://github.com/rmady/moodle 2023-04-13 13:16:46 +02:00
Marina Glancy 8fc1486d36 MDL-77164 various: fix incorrect phpdocs 2023-04-13 11:35:06 +01:00
Sara Arjona b4b950b75c Merge branch 'MDL-77618-admin-password-autocomplete' of https://github.com/brendanheywood/moodle 2023-04-13 12:19:09 +02:00
Amrita Deb Dutta 8974cc057c MDL-77833 course: content change notification multilang processing
adding context to format_string

fix multilang in coursename

change context param
2023-04-13 11:30:43 +02:00
Sara Arjona 33d64277b7 Merge branch 'MDL-77256-master' of https://github.com/rbravod/moodle 2023-04-13 11:20:24 +02:00
Ilya Tregubov 0fdd514f11 MDL-77324 gradereport_singleview: Make action menus consistent 2023-04-13 16:57:48 +08:00
Marina Glancy 4d765cd699 MDL-77164 privacy: typehint test content writer 2023-04-13 09:43:15 +01:00
Marina Glancy fcf887919b MDL-77164 lib/pear: correct phpdocs 2023-04-13 09:43:15 +01:00
Marina Glancy 9ffbcce0ac MDL-77164 various: fix mustache template name 2023-04-13 09:43:15 +01:00
Marina Glancy 04f8fdd021 MDL-77164 various: fix javascript AMD module name 2023-04-13 09:43:15 +01:00
Sara Arjona 948e68e9be Merge branch 'MDL-77856-master' of https://github.com/junpataleta/moodle 2023-04-13 09:42:58 +02:00
Sara Arjona 57589966bc Merge branch 'MDL-77468-master' of https://github.com/rmady/moodle 2023-04-13 09:19:54 +02:00
David Woloszyn 41e5260a3b MDL-76986 editor_tiny: Convert language code format for getting strings 2023-04-13 16:01:44 +10:00
Ilya Tregubov dd1a41f2d8 Merge branch 'MDL-75274-weekly' of https://github.com/Chocolate-lightning/moodle 2023-04-13 13:38:14 +08:00
Mathew May 3a8eeedf6a MDL-75274 theme_boost: Aria so dropdowns with search focus better 2023-04-13 11:45:17 +08:00
Mathew May 1a1939ac29 MDL-75274 gradereport_grader: Column collapsing 2023-04-13 11:45:17 +08:00
Ilya Tregubov e285841a9a MDL-75274 core_grades: Add % symbol to weights column
As per design it should have % symbol.
2023-04-13 11:44:38 +08:00
Ilya Tregubov e3a4dcf056 MDL-75274 gradereport_grader: Add back advanced grading url
It was accidentally removed.
2023-04-13 10:42:04 +08:00
Ilya Tregubov 277b55199e MDL-75274 gradereport_grader: Fix sorting of grade items.
Seems that baseurl is rewritten causing toggling of ordering
not work
2023-04-13 10:42:04 +08:00
Ilya Tregubov cfbb0ea4d5 Merge branch 'MDL-70975-adhoc-carneval' of https://github.com/catalyst/moodle 2023-04-13 09:07:58 +08:00
Sara Arjona e450756ce1 Merge branch 'MDL-73610' of https://github.com/stronk7/moodle 2023-04-12 18:19:34 +02:00
Sara Arjona 16511af2a1 Merge branch 'MDL-77012' of https://github.com/paulholden/moodle 2023-04-12 14:09:27 +02:00
Sara Arjona 3c5e26901c Merge branch 'MDL-77374-master' of https://github.com/meirzamoodle/moodle 2023-04-12 13:14:07 +02:00
Petr Skoda 43b56a90d9 MDL-76859 h5p: Fix behat failures
- Only resize if the H5P EmbedCommunicator is defined (otherwise, it was causing a
JS error)
- An unnecessary image has been removed from the greeting-card.h5p fixture package.
That way, the text will always be displayed (even if the iframe is still not
resized). Instead of replacing the original greeting-card-887.h5p file, I've
renamed it to greeting-card.h5p, to remove these ugly and unnecessary numbers
at the end of the file name).
2023-04-12 12:26:23 +02:00
Sara Arjona dbe725ac04 Merge branch 'MDL-77882' of https://github.com/paulholden/moodle 2023-04-12 12:21:13 +02:00
Sara Arjona e9327f7339 Merge branch 'MDL-77348-master' of https://github.com/meirzamoodle/moodle 2023-04-12 12:19:06 +02:00
Shamim Rezaie 0175787cc0 Merge branch 'MDL-76722-fix' of https://github.com/sarjona/moodle 2023-04-12 19:50:47 +10:00
Sara Arjona ea2e9d5920 MDL-76722 core: Fix upgrade failures with MariaDB
The 'enable' field doesn't exist, and this is causing some failures
with MariaDB (and probably with MySQL too).
2023-04-12 11:43:52 +02:00
Meirza bb7f3bd9f5 MDL-77374 libraries: Added #[AllowDynamicProperties] attribute
To temporarily prevent the PHP 8.2 warning about Dynamic Properties' deprecation,
the #[AllowDynamicProperties] property was added. We encourage anyone to perform the upgrade
as soon as the Google library complies with PHP 8.2.
2023-04-12 16:39:43 +07:00
Ilya Tregubov 99e2c31f3a Merge branch 'MDL-77585-master' of https://github.com/jleyva/moodle 2023-04-12 17:24:22 +08:00
Shamim Rezaie caa9fe6e42 Merge branch 'MDL-76722-master' of https://github.com/andrewnicols/moodle 2023-04-12 19:23:17 +10:00
Shamim Rezaie e2120da616 MDL-77871 gradereport_grader: Make sure cells are full-height 2023-04-12 09:08:19 +02:00
Meirza 8cee99346b MDL-77348 mod_lesson: Added missing class properties
In PHP 8.2 and later, setting a value to an undeclared class property is
deprecated and emits a deprecation notice.
So we need to add missing class properties that still need to be declared.
2023-04-12 13:56:27 +07:00
Meirza 67e583783c MDL-77348 mod_lti: Added missing class properties
In PHP 8.2 and later, setting a value to an undeclared class property is
deprecated and emits a deprecation notice.
So we need to add missing class properties that still need to be declared.

While working on this issue, even though it's not related to the deprecation issue,
I added 'use core_external\external_api' to avoid the 'Undefined type external_api' warning at
mod_lti_testcase::generate_tool_proxy().
2023-04-12 13:56:21 +07:00
Meirza 52f512e5cf MDL-77348 mod_scorm: Added missing class properties
In PHP 8.2 and later, setting a value to an undeclared class property is
deprecated and emits a deprecation notice.
So we need to add missing class properties that still need to be declared.
2023-04-12 13:05:35 +07:00
Meirza 1f78fb2562 MDL-77348 mod_data: Added missing class properties
In PHP 8.2 and later, setting a value to an undeclared class property is
deprecated and emits a deprecation notice.
So we need to add missing class properties that still need to be declared.
2023-04-12 13:05:28 +07:00
Kevin Percy b9ad54bad8 MDL-76212 gradebook_nav: Fixed tertiary nav for smaller screens 2023-04-12 13:29:13 +08:00
Meirza a96114571e MDL-77348 mod_glossary: Added missing class properties
In PHP 8.2 and later, setting a value to an undeclared class property is
deprecated and emits a deprecation notice.
So we need to add missing class properties that still need to be declared.
2023-04-12 10:04:24 +07:00
Paul Holden 9efd335f4a MDL-77882 gradereport_grader: don't search on custom identity field.
Currently throws SQL exceptions if site identity configuration has
such a field included.
2023-04-11 22:54:39 +01:00
Juan Leyva c0560689fc MDL-77468 user: Fix invalid check for group belonging 2023-04-11 09:29:58 -03:00
Juan Leyva e464d2c8a1 MDL-77468 user: Make user profile visibility consistent web and ws 2023-04-11 09:24:40 -03:00
Sara Arjona 255d5a3c5a Merge branch 'MDL-77837-master' of https://github.com/andrewnicols/moodle 2023-04-11 12:12:43 +02:00
Sara Arjona 7d750e2a46 Merge branch 'MDL-77030-master-feedback' of https://github.com/kevpercy/moodle 2023-04-11 11:17:52 +02:00
Sara Arjona dbabe07db8 Merge branch 'MDL-77148' of https://github.com/AnupamaSarjoshi/moodle 2023-04-11 10:17:03 +02:00
Sara Arjona b4feecf2f5 Merge branch 'MDL-77612-master' of https://github.com/laurentdavid/moodle 2023-04-11 10:04:35 +02:00
Sara Arjona cdeec59377 Merge branch 'MDL-76792-master' of https://github.com/jleyva/moodle 2023-04-11 09:13:08 +02:00
Kevin Percy b976b3bed0 MDL-77030 gradereport_grader: Display feedback in grader report 2023-04-11 13:16:06 +08:00
Laurent David 9f1f4de23b MDL-77612 mod_label: Label name fix
* The @@PLUGINFILE@@ placeholder or URLs should not be displayed in the
course index for labels
2023-04-11 05:24:07 +02:00
Alex Morris 38160a6f94 MDL-76722 message_airnotifier: Add encrypted notifications 2023-04-11 08:58:27 +08:00
Alex Morris 9bc236d48d MDL-76722 user: Add new update_user_device_public_key webservice 2023-04-11 08:58:27 +08:00
Alex Morris 7c843b380b MDL-76722 lib/db: Add new publickey field to user_devices table 2023-04-11 08:58:26 +08:00
Shamim Rezaie d580daaf48 Merge branch 'MDL-77686' of https://github.com/paulholden/moodle 2023-04-08 05:02:35 +10:00
AMOS bot 84a6867180 Automatically generated installer lang files 2023-04-07 00:07:39 +00:00
Paul Holden aaf231551a MDL-77874 tiny_link: define help link text language string. 2023-04-06 19:08:03 +01:00
Andrew Nicols 115d6a8b9d MDL-77837 cron: Move cron_setup_user to deprecatedlib 2023-04-06 23:19:01 +08:00
Andrew Nicols 25f1ec59d9 MDL-77837 core: Improve usage docs for cron::setup_user 2023-04-06 23:19:01 +08:00
Andrew Nicols 2dde341898 MDL-77837 core: Improve cron upgrade.txt notes 2023-04-06 23:19:01 +08:00
Andrew Nicols 5319ba9c15 MDL-77837 phpunit: Ensure that the cron user setter is used
When running an adhoc task in a unit test we should use the cron variant
of the set user method to mimic the behaviour of a real cron run.
2023-04-06 23:19:01 +08:00
Andrew Nicols 12b0f796b9 MDL-77837 cron: Ensure user is set when running tasks
We should be proactive in ensuring that the environment is clean when
running a task. We already ensure that we have a clean renderer and
other parts of the output chain, but we were not setting a clean user.

This change adds a call to setup the cron user before each task is
actually executed.
2023-04-06 23:19:01 +08:00
Paul Holden fa921f87f2 MDL-77686 logstore_legacy: final plugin uninstallation step.
This supersedes the partial uninstallation from 61cd980f, ensuring
we also now clear up any remaining data (e.g. scheduled tasks).
2023-04-06 14:46:31 +01:00
Paul Holden e80192f606 MDL-77770 gradereport_user: fix errors when no users to navigate. 2023-04-06 14:40:58 +01:00
Eloy Lafuente (stronk7) 5d9eae8042 MDL-73610 nodejs: Small updates to required packages
The main goal of this issue is to avoid scanners (Dependabot
and friends), reporting about security issues with the current
xmldom 0.6.0 package.

Note that this doesn't affect prod at all, because it's a dev
dependency, hardly exploitable. So it's not a security fix, just
a security_benefit, if something.

So here, we are updating from xmldom 0.6.0 to @xmldom/xmldom 0.8.7
(note that the package was renamed in 0.7.0, so it's the very same)

Also, when proceeding with the changes, it was detected that we
are incorrectly declaring @babel/eslint-parser as a normal dependency
instead of a development one, so we are also fixing that little detail.

The commands executed to get the changes above applied have been:

- nvm use
- npm install @xmldom/xmldom@^0.8.7 --save-dev
- npm uninstall xmldom
- npm install @babel/eslint-parser@^7.17.0 --save-dev

(we haven't run a complete re-install because we only want to modify
the minimum possible at this stage).
2023-04-06 14:59:33 +02:00
Anupama Sarjoshi e6a3295fba MDL-77148 core: Fix to export params for templates in correct format
When questions are filtered by tags in the question bank, the qtagids
params are passed in the array format. Though moodle_url handles this,
single_button::export_for_template cannot. Hence changes done in
weblib.php to provide params for export_for_template in the
suitable format.
Thanks Huong. I have added the Behat test you provided in the patch.
2023-04-06 13:22:01 +01:00
Sara Arjona bd2de8edf6 on-demand release 4.2dev+ 2023-04-06 14:03:11 +02:00
Sara Arjona 78116a0ceb Merge branch 'install_master' of https://git.in.moodle.com/amosbot/moodle-install 2023-04-06 14:02:59 +02:00
Paul Holden 997713f43e MDL-77355 webservice: Behat scenario for adding service functions. 2023-04-06 11:58:53 +01:00
Matt Porritt 6abfde47dc MDL-77355 Web services: add function class not found
Fixes a regression caused by MDL-76583 That prevents functions
being added to new or existing external services.
2023-04-06 11:46:35 +01:00
Andrew Nicols 31f82832b6 MDL-65471 core: Sort directories before hashing 2023-04-06 15:41:00 +08:00
Andrew Nicols eb1b172397 Merge branch 'MDL-65471-outageless' of https://github.com/Peterburnett/moodle 2023-04-06 08:36:25 +02:00
Ilya Tregubov e6cc70c9e7 Merge branch 'MDL-76150-patch' of https://github.com/ilyatregubov/moodle 2023-04-06 08:36:25 +02:00
Sara Arjona 84a0ad16e2 Merge branch 'MDL-73642_master' of https://github.com/tasosb/moodle 2023-04-06 08:36:24 +02:00
Shamim Rezaie 06a48988e6 MDL-76150 gradereport_grader: dropdowns were partly covered during behat 2023-04-06 08:36:24 +02:00
Paul Holden dcc32979ec Merge branch 'MDL-77802-master' of https://github.com/ferranrecio/moodle 2023-04-06 08:36:22 +02:00
Ilya Tregubov ac7f9b45a3 Merge branch 'MDL-77130-master-v2' of https://github.com/dmitriim/moodle 2023-04-06 08:35:17 +02:00
Sara Arjona 34ab6b02d9 Merge branch 'MDL-75301_master' of https://github.com/marxjohnson/moodle 2023-04-06 08:33:06 +02:00
Peter Burnett 027c770eab MDL-65471 upgrade: framework to reduce maintenance mode 2023-04-06 11:38:26 +10:00
Paul Holden 9787a885c1 MDL-77860 tool_moodlenet: use localised language strings for import. 2023-04-05 23:02:55 +01:00
Jun Pataleta e3c0c2f2c2 MDL-77856 qtype_multianswer: Use Bootstrap Popover for subq feedback
The YUI Overlay widget encloses the subquestion feedback in a div
which causes a div element to be enclosed in the subquestion span. This
leads to an accessibility issue in terms of HTML parsing as inline
elements (span) should not contain block elements (div)
The YUI Overlay widget is also not accessible as it does not really hide
the overlay contents via aria-hidden when the overlay is not being
shown. It's better if we stop using this and use Bootstrap's
popover component which is more accessible by default.

This patch also removes module.js for the qtype_multianswer plugin as
it only contains codes related to rendering the feedback contents in the
YUI overlay widget which is no longer necessary.
2023-04-06 05:33:46 +08:00
Ferran Recio 625f9646a7 MDL-77802 core_xapi: create core_xapi_get_states webservice
The xAPI get states webservice is needed for mobile APPs to check if any
new state has been stored from another device.
2023-04-05 12:59:06 +02:00
Marina Glancy 6ebf823e6d MDL-74898 tool_mobile: remove NO_MOODLE_COOKIES from android manifest 2023-04-05 11:54:32 +01:00
Shamim Rezaie b54fbcf532 Merge branch 'MDL-77555' of https://github.com/paulholden/moodle 2023-04-05 11:25:16 +01:00
Paul Holden 63b3e4f996 Merge branch 'MDL-69551' of https://github.com/timhunt/moodle 2023-04-05 11:25:16 +01:00
Ilya Tregubov 3d4bb4cfe4 Merge branch 'MDL-76150-master' of https://github.com/rezaies/moodle 2023-04-05 11:25:16 +01:00
Shamim Rezaie 880a67aba1 MDL-76150 gradereport_grader: Display category name cell like 2 columns 2023-04-05 11:25:15 +01:00
Shamim Rezaie 21aee2b968 MDL-76150 gradereport_grader: Make numerical grades right-aligned
- state icons follow the alignment of their respective grade type
2023-04-05 11:25:15 +01:00
Shamim Rezaie 867186cb1d MDL-76150 gradereport_grader: Split header cells to 3 visual columns
- Column width changed to 200px
2023-04-05 11:25:15 +01:00
Shamim Rezaie 086720334f MDL-76150 gradereport_grader: status icons stick to the row's buttom
- There's 20px gap between status icons
- The row height adapt to the content
2023-04-05 11:25:15 +01:00
Shamim Rezaie d93c99f19b MDL-76150 gradereport_grader: some style changes
- Table cells are top-aligned
- Cell paddings changed to 10px
- In the header row, the user detail cells don't wrap but other cells do
- Grade item names wrap when they are long
- Action menu button for the grade cells does not go to the next line
  when the cell is not in the header row
- Heading cells in the footer row are right aligned
2023-04-05 11:25:14 +01:00
Shamim Rezaie f5bda6d051 MDL-76150 gradereport_grader: render header cells from template 2023-04-05 11:25:14 +01:00
Shamim Rezaie 97f89d3438 MDL-76150 gradereport_grader: Remove striped bg colours 2023-04-05 11:25:14 +01:00
Shamim Rezaie 5a890b5ff1 MDL-76150 theme_boost: fix sticky header position on narrow screens 2023-04-05 11:25:14 +01:00
Shamim Rezaie 6ca40f597f MDL-76150 gradereport_grader: Remove abandoned CSS definitions 2023-04-05 11:25:14 +01:00
Mark Johnson 96bada8495 MDL-75301 quiz: Use "always latest" option for question previews
This will set the "alwayslatest" option when previewing a question from
the quiz according to the version setting used in the quiz slot.
2023-04-05 10:23:47 +01:00
Mark Johnson 23630ece3d MDL-75301 question: Add "always latest" option to previews 2023-04-05 10:23:47 +01:00
Paul Holden 5d0f34bde2 MDL-77555 reportbuilder: improve SQL generation within filters.
Use native ANSI SQL syntax for numeric comparisons where possible,
define filter API for the case where filters must re-use the given
field SQL while ensuring uniqueness of any field parameters.

Currently only necessary in the category filter type.
2023-04-05 09:37:37 +01:00
Srdjan 85323070e7 MDL-70975 task: adhoctasks.php - queued ad hoc tasks report
Similar to scheduled tasks report

core\task\manager::adhoc_task_from_record() now raises moodle_exception
2023-04-05 11:29:46 +10:00
Srdjan 6d9aaa8412 MDL-70975 task: Support for running only failed ad hoc tasks
* CLI adhoc_task.php: new option --failed
2023-04-05 11:05:23 +10:00
Srdjan fa61fce08d MDL-70975 task: Support for limiting the number of adhoc tasks to run
* CLI adhoc_task.php: new option --taskslimit
* CLI adhoc_task.php: --execute option is implied when other options are given
* core\task\manager::get_next_adhoc_task(): new param $number
  for limiting number of tasks to run
2023-04-05 11:05:18 +10:00
Srdjan 3491ea1650 MDL-70975 task: Support for running adhoc tasks filtered by class
* CLI adhoc_task.php: new option --classname
* core\task\manager::get_next_adhoc_task(): new param $classname
  for filtering tasks
2023-04-05 11:00:46 +10:00
Srdjan 9405b5aa6d MDL-70975 task: Support for running adhoc tasks by id
* CLI adhoc_task.php: new option --id
* cron::run_adhoc_task($taskid) for running tasks by id
* core\task\manager::get_adhoc_task($taskid) for retreival/locking
2023-04-05 10:55:18 +10:00
AMOS bot 78c8050676 Automatically generated installer lang files 2023-04-05 00:07:47 +00:00
Juan Leyva d16ed5a5e9 MDL-77788 mod_assign: Apply format_string to group names in WS 2023-04-04 18:14:32 -03:00
Paul Holden 1f6722e696 Merge branch 'MDL-77254-master' of https://github.com/sarjona/moodle 2023-04-04 17:36:51 +01:00
Paul Holden a56c646317 Merge branch 'MDL-77839-master' of https://github.com/sarjona/moodle 2023-04-04 16:46:17 +01:00
Sara Arjona 1996a7cfbf MDL-77254 backup: Backup/restore xAPI state 2023-04-04 17:23:43 +02:00
Sara Arjona c8628576e3 MDL-77254 h5p: Add support to restored states
The restored states should be treated differently, to avoid resetting
them by default the first time users access them.
In that case, the first time users access to content with restored
xAPI states, they should be displayed (instead of resetting them).
2023-04-04 17:23:43 +02:00
Tim Hunt 6f9f573a84 MDL-69551 quiz: start quiz password field should be a passwordunmask
This help accessibility and usability
2023-04-04 12:18:37 +01:00
Paul Holden 7b041826b5 Merge branch 'MDL-77712-master' of https://github.com/laurentdavid/moodle 2023-04-04 12:06:41 +01:00
Paul Holden e7294e280f MDL-74936 core: version bump to force upgrade/cache reload.
Ensure all the new context level namespaces/classes are available.
2023-04-04 10:44:23 +01:00
Paul Holden c51b7e2c44 MDL-77012 editor_tiny: correct block formats property syntax.
Co-authored-by: Hiroto Kagotani <hiroto.kagotani@gmail.com>
2023-04-04 09:53:13 +01:00
Sara Arjona 37ae308e0c MDL-77839 mod_h5pactivity: Improve behat to avoid random errors
The 'Content state is removed when an attempt is created' scenario
is failing randomly because the content for the student2 was not
always saved. Some extra steps have been added to give more time
to the player to save contents and also to check it has the
expected value.
2023-04-04 10:30:47 +02:00
Sara Arjona 9ae7853669 Merge branch 'MDL-77825' of https://github.com/Chocolate-lightning/moodle 2023-04-04 10:09:25 +02:00
Ilya Tregubov 90fa3f3390 Merge branch 'MDL-69976' of https://github.com/paulholden/moodle 2023-04-04 12:20:52 +08:00
Andrew Nicols b8fb2f43e8 Merge branch 'MDL-77584-master' of https://github.com/ewallah/moodle 2023-04-04 12:05:18 +08:00
Andrew Nicols 261bfa1b42 Merge branch 'MDL-77385-master' of https://github.com/srobotta/moodle 2023-04-04 12:03:54 +08:00
Andrew Nicols b0d5ad536b MDL-74936 core: Add context to apis.json 2023-04-04 11:24:21 +08:00
Andrew Nicols a262ba5d6e Merge branch 'MDL-74936' of https://github.com/skodak/moodle 2023-04-04 11:22:49 +08:00
Dmitrii Metelkin c11d4284be MDL-77130 cohort: add custom fields 2023-04-04 13:01:40 +10:00
Simey Lameze 064ce28090 MDL-77733 behat: enable Axe accessibility tests by default 2023-04-04 09:16:59 +08:00
AMOS bot b6d5458702 Automatically generated installer lang files 2023-04-04 00:07:48 +00:00
Paul Holden 5a85990706 Merge branch 'MDL-77338-master' of https://github.com/meirzamoodle/moodle 2023-04-03 16:48:19 +01:00
Meirza 8a5485a714 MDL-77338 backup: Added class properties that are not declared.
In PHP 8.2 and later, setting a value to an undeclared class property is
deprecated and emits a deprecation notice.
So we need to add missing class properties that still need to be declared.
2023-04-03 22:39:39 +07:00
Paul Holden 7fa4859b34 Merge branch 'MDL-75906-master' of https://github.com/mickhawkins/moodle 2023-04-03 14:54:04 +01:00
Mathew May d017cb5d52 MDL-77825 grade_gradereport: MS SQL fix for user search 2023-04-03 20:17:59 +08:00
Mark Johnson bddfd39804 MDL-75301 question: Add behat generator for updating questions
This adds "core_question > updated question" as an entity for `the
following "X" exist` and calls the existing update_question() generator
which will create a new question version with the supplied data.
2023-04-03 12:31:15 +01:00
Sara Arjona 0d8fc7d9b1 Merge branch 'MDL-76800-master' of https://github.com/raortegar/moodle 2023-04-03 12:41:14 +02:00
Paul Holden cea2bf47eb Merge branch 'MDL-77227-master' of https://github.com/aanabit/moodle 2023-04-03 10:56:13 +01:00
Sara Arjona 1f9ed85d71 Merge branch 'MDL-77807' of https://github.com/paulholden/moodle 2023-04-03 11:53:12 +02:00
Michael Hawkins d4cdf52873 MDL-75906 core: Updated security.txt expiry 2023-04-03 17:11:02 +08:00
Sara Arjona c75ff0b0a3 Merge branch 'MDL-77656' of https://github.com/timhunt/moodle 2023-04-03 11:01:34 +02:00
Laurent David 166e04899e MDL-77712 core_course: Fix exception with inplace editor
* On fresh install, an exception is raised when we try to modify
the name of a newly inserted activity in the front page
2023-04-03 10:33:56 +02:00
AMOS bot d61705cf82 Automatically generated installer lang files 2023-04-02 00:07:40 +00:00
Stefan Hanauska 93a9baadf8 MDL-75623 backup: Encode pluginfile URLs 2023-04-01 09:09:43 +02:00
AMOS bot be350ecd2a Automatically generated installer lang files 2023-04-01 00:07:51 +00:00
Petr Skoda 176191dab5 MDL-74936 core: tidy up context API 2023-03-31 23:09:39 +02:00
Petr Skoda 728c3c4bd1 MDL-74936 core: namespace all context class 2023-03-31 23:09:39 +02:00
Paul Holden fba0658777 on-demand release 4.2dev+ 2023-03-31 18:13:57 +01:00
Paul Holden af694fea80 Merge branch 'install_master' of https://git.in.moodle.com/amosbot/moodle-install 2023-03-31 18:13:54 +01:00
Tim Hunt 9efaa719cc MDL-77656 quiz: stop using displayed number as an id 2023-03-31 16:01:23 +01:00
Tim Hunt 3bea326d7a MDL-77656 quiz: Don't use custom question numbers from shuffled sections 2023-03-31 16:01:23 +01:00
Tim Hunt 24bbb18eb2 MDL-77656 quiz editing: customisable numbers only in unshuffled sections
This works by always outputting both the customised and uncustomised
number into the HTML of the Questions page, then uses CSS & JS to
show the appropriate one as shuffle is toggled.
2023-03-31 16:01:23 +01:00
Tim Hunt d7462893b0 MDL-77656 quiz: handling special chars in customised question numbers 2023-03-31 16:01:22 +01:00
Tim Hunt 6df55bf1f3 MDL-77656 quiz: fix web services to handle custom question numbers 2023-03-31 16:01:22 +01:00
Paul Holden 541981fcb9 MDL-74465 blocks: correct upgrade note version number. 2023-03-31 08:46:26 +01:00
raortegar ca2fd15a2a MDL-76800 lib: Adapt dataformat to OpenSpout 4.0 version. 2023-03-31 09:18:14 +02:00
Ilya Tregubov e090ef0b6a Merge branch 'MDL-76143-patch' of https://github.com/ilyatregubov/moodle 2023-03-31 14:33:30 +08:00
Mathew May c48881b5fd MDL-76143 gradereport_grader: Behat changes after integration 2023-03-31 14:32:44 +08:00
Jake Dallimore d4c37fc282 Merge branch 'MDL-59175' of https://github.com/paulholden/moodle 2023-03-31 11:56:14 +08:00
Jake Dallimore 3811982477 Merge branch 'MDL-77794' of https://github.com/paulholden/moodle 2023-03-31 11:48:29 +08:00
Andrew Nicols 64f2e494b9 Merge branch 'MDL-77783-master' of https://github.com/junpataleta/moodle 2023-03-31 11:30:54 +08:00
Jake Dallimore aeb7763a0d Merge branch 'MDL-77033-master-3' of https://github.com/ilyatregubov/moodle 2023-03-31 11:29:45 +08:00
Shamim Rezaie e541732a6a Merge branch 'MDL-74465-master-5' of https://github.com/marinaglancy/moodle 2023-03-31 13:45:15 +11:00
Ilya Tregubov 5b8c1ffd84 Merge branch 'MDL-77406' of https://github.com/AnupamaSarjoshi/moodle 2023-03-31 09:47:23 +08:00
Ilya Tregubov e2f4cf48a5 Merge branch 'MDL-70976-master' of https://github.com/laurentdavid/moodle 2023-03-31 09:41:17 +08:00
Mikhail Golenkov 8c3c537bac MDL-77592 filter_tex: Use request dir instead of temp shared storage 2023-03-31 11:17:01 +11:00
AMOS bot fd4a478861 Automatically generated installer lang files 2023-03-31 00:07:44 +00:00
Paul Holden fc2cfd8695 MDL-77807 files: normalise file entity size/type column fields.
The `filename` field was only used by each to determine whether the
file was itself a directory, and it's presence meant that aggregation
of each column wasn't working properly.
2023-03-30 20:40:24 +01:00
Sara Arjona 28953bf23b Merge branch 'MDL-77693-master' of https://github.com/andrewnicols/moodle 2023-03-30 19:00:32 +02:00
Sara Arjona c80dd76bef Merge branch 'MDL-77456-master' of https://github.com/laurentdavid/moodle 2023-03-30 18:42:02 +02:00
Sara Arjona 4c0ce28ade Merge branch 'MDL-77761-master' of https://github.com/junpataleta/moodle 2023-03-30 17:53:13 +02:00
Jun Pataleta 64c1a5c337 Merge branch 'MDL-77306-master' of https://github.com/junpataleta/moodle 2023-03-30 23:38:57 +08:00
Sara Arjona b4cb4ac512 Merge branch 'MDL-77672-master' of https://github.com/ferranrecio/moodle 2023-03-30 17:32:53 +02:00
Jun Pataleta c5c065e10a MDL-77306 core: Remove LIMIT from SQL statement
Adding LIMIT to the primary auth type SQL statement does not play well
with Oracle. We can just remove the LIMIT clause from the SQL statement
and and pass IGNORE_MULTIPLE to the call to $DB->get_field_sql()
instead.
2023-03-30 23:18:27 +08:00
Sara Arjona 09171a3c3a Merge branch 'MDL-77726-master' of https://github.com/jleyva/moodle 2023-03-30 16:56:56 +02:00
Ferran Recio da1aa96664 MDL-77672 core_courseformat: fix bulk in one section per page 2023-03-30 16:42:59 +02:00
Sara Arjona 36f5355865 Merge branch 'MDL-77764' of https://github.com/paulholden/moodle 2023-03-30 16:31:15 +02:00
Paul Holden c59d7f0174 Merge branch 'MDL-77789-master' of https://github.com/sarjona/moodle 2023-03-30 14:32:21 +01:00
Ilya Tregubov 51182b603b MDL-77033 core_grades: Deprecate get icons functions.
We don't use those anymore. There are respective functions to get
link without icon.
2023-03-30 20:20:10 +08:00
Ilya Tregubov 013cf3b741 MDL-77033 core_behat: Fix behat tests. 2023-03-30 20:20:10 +08:00
Ilya Tregubov 11b6dce50c MDL-77033 core_grades: Add status column to setup page
Also make action menu consistent with grader report
2023-03-30 20:20:10 +08:00
Ilya Tregubov 7653093b55 MDL-77033 core_behat: Remove multilang from some scenarios
It should be only tested once. No need to have it in all tests.
Some steps will have to use category fullname so using tags in steps
will look ugly.
2023-03-30 20:20:10 +08:00
Ilya Tregubov 8b4bc3d31a MDL-77033 core_behat: Refactor behat steps to be reusable.
We will need similar step definitions for gradebook setup page.
So moving those from grader plugin to the core.
2023-03-30 20:20:10 +08:00
Ilya Tregubov 9ba802ca0c MDL-77033 cores_grades: Refactor cell menus to be reusable.
We need similar menus on gradebook setup page. So moving from
grader plugin to core
2023-03-30 20:20:10 +08:00
Paul Holden a7f7e0728b Merge branch 'MDL-76481_master_Brickfield_TCPDF_error' of https://github.com/brickfield/moodle 2023-03-30 12:50:07 +01:00
Sara Arjona d94061e03d Merge branch 'MDL-77762' of https://github.com/paulholden/moodle 2023-03-30 13:45:11 +02:00
Brendan Heywood d0fe0bb391 MDL-77797 filter_tex: Add public immutable caching headers 2023-03-30 22:32:31 +11:00
Marina Glancy 9788496e4a MDL-74465 theme_classic: override new block steps 2023-03-30 12:15:55 +01:00
Marina Glancy a507a9e68a MDL-74465 blocks: changes for backward-compatibility 2023-03-30 12:15:55 +01:00
Marina Glancy 4d768ba508 MDL-74465 block_rss_client: display config when adding 2023-03-30 12:15:54 +01:00
Marina Glancy 2fdfc9c362 MDL-74465 block_glossary_random: display config when adding 2023-03-30 12:15:54 +01:00
Marina Glancy 2909e91877 MDL-74465 block_activity_results: display config when adding 2023-03-30 12:15:54 +01:00
Marina Glancy 04c3cd2343 MDL-74465 block_html: display config when adding 2023-03-30 12:15:54 +01:00
Marina Glancy 6b081d2e9f MDL-74465 blocks: allow configuration in modal
Introduce 'pagehash' - an identifier that uniquely identifies a page for the user session
2023-03-30 12:15:54 +01:00
Marina Glancy 1150b08264 MDL-74465 blocks: move some code into separate functions
This commit has no functional changes, only code refactoring
2023-03-30 12:15:51 +01:00
Jun Pataleta 3aaf813bd2 Merge branch 'MDL-77333' of https://github.com/stronk7/moodle 2023-03-30 19:03:48 +08:00
Sara Arjona afe1f192c4 Merge branch 'MDL-76895-master' of https://github.com/ferranrecio/moodle 2023-03-30 12:51:03 +02:00
Marina Glancy 854dd65966 MDL-74465 blocks: improve phpdocs 2023-03-30 11:41:16 +01:00
Sara Arjona de73be254f MDL-77789 mod_h5pactivity: Only remove the current user state content
When a new attempt is created, the previous state content is removed.
There was a bug which was removing all the content data of a given
activity for all the users (instead of deleting only the content data
for the current user).
2023-03-30 12:32:02 +02:00
Ferran Recio 879dc5f308 MDL-76895 core_courseformat: add detailed bulk selection checks
To prevent future regressions some extra checks has been added to the
bulk_select feature file. The new checks validate the activities and
sections bulk selectors are really selected, not only the total count.
2023-03-30 12:13:24 +02:00
Paul Holden f60057a680 Merge branch 'MDL-77773-master' of https://github.com/andrewnicols/moodle 2023-03-30 10:41:15 +01:00
Ferran Recio 0436605df5 MDL-76895 core_courseformat: add fast bulk selections 2023-03-30 11:40:45 +02:00
Jun Pataleta a5eda30ecf Merge branch 'MDL-77346-master' of https://github.com/meirzamoodle/moodle 2023-03-30 17:31:47 +08:00
Paul Holden 2d820b8f28 MDL-77794 contentbank: fix plugin type language strings.
AMOS BEGIN
 CPY [type_contentbank,core_plugin],[type_contenttype,core_plugin]
 CPY [type_contentbank_plural,core_plugin],[type_contenttype_plural,core_plugin]
AMOS END
2023-03-30 09:50:51 +01:00
Max Larkin b0c5683638 MDL-76481 tool_brickfield: Fix PHP 8 report download 2023-03-30 09:03:36 +01:00
Paul Holden 813800d218 Merge branch 'MDL-75017' of https://github.com/timhunt/moodle 2023-03-30 08:47:52 +01:00
Paul Holden bf3c07834a Merge branch 'MDL-77744-master-2' of https://github.com/ilyatregubov/moodle 2023-03-30 08:34:35 +01:00
Ilya Tregubov 1d919c12c6 Merge branch 'MDL-73771' of https://github.com/lostrogit/moodle 2023-03-30 14:22:32 +08:00
Jun Pataleta ae3e9667c2 MDL-72350 core: Add @covers for test_check_mod_assignment_is_used
Plus, remove getStatus() assertion when running the test with
mod_assignment reinstalled since it check_mod_assignment returns a
null result.
2023-03-30 13:00:39 +08:00
Jun Pataleta 11c2667107 Merge branch 'MDL-72350-master' of https://github.com/stevandoMoodle/moodle 2023-03-30 12:57:20 +08:00
Jun Pataleta 4858a62623 Merge branch 'MDL-76143-class' of https://github.com/Chocolate-lightning/moodle 2023-03-30 12:37:52 +08:00
Andrew Nicols e0acbbc6ea MDL-77693 core: Check the start time of a cron run when fetching tasks
When fetching the list of tasks to run, we were using the _process_
start time as a base. The various task fetchers (adhoc and scheduled)
only fetch tasks which were due to run _before_ this time.

With the new keepalive setting, we need to pass both the process start
time, and the run start time. We need to use the process start time to
determine whether MUC caches have been cleared since the process
started. but the run start time to fetch recent runs.
2023-03-30 11:35:59 +08:00
Mathew May d80fb6ce2c MDL-76143 gradebook: Add search into graderreport 2023-03-30 11:29:01 +08:00
Andrew Nicols 43caf1bee7 Merge branch 'MDL-74664-master' of https://github.com/call-learning/moodle 2023-03-30 11:27:09 +08:00
Jake Dallimore bbe6da6890 Merge branch 'MDL-77347-master' of https://github.com/meirzamoodle/moodle 2023-03-30 10:45:41 +08:00
Sara Arjona 1147a9fe9d MDL-72350 mod: Remove mod_assignment
The Assignment 2.2 activity module was disabled in 2012 but kept to
enable pre-2.2 backups to be restored and have the assignments
auto-converted to new assignments. After almost 10 years, it's time
to remove it from Moodle core.
2023-03-30 09:00:10 +08:00
Stevani Andolo 26d78531e7 MDL-72350 core: Added environment check for mod_assignment
Decided to add an environment check before uninstalling the
mod_assignment plugin to prevent data lost.
2023-03-30 09:00:06 +08:00
Stevani Andolo 7310e99dda MDL-72350 mod: Updated upgrade.txt file 2023-03-30 08:09:13 +08:00
Stevani Andolo 731a62f30f MDL-72350 mod_assign: Removed upgradelib.php from mod_assign
After checking the the relation between mod_assign and mod_assginment,
it was found that upgradelib.php was only used/called from the
mod_assignment. Therefore, it was decided to move the upgradelib.php
from mod_assign to mod_assignment and deleted the line in which requires the upgradelib.php
2023-03-30 08:09:07 +08:00
AMOS bot f4e221887f Automatically generated installer lang files 2023-03-30 00:07:47 +00:00
Amaia Anabitarte fd5db65c0b MDL-77227 roles: Remove extra information for override page 2023-03-29 18:15:46 +02:00
Juan Leyva 7ad5ec2add MDL-76792 course: Remove unnecessary include and checks
This code is very old and does nothing, the proper format validation and fallback is handled by the core_courseformat class.
2023-03-29 17:28:08 +02:00
Juan Leyva b540a59e55 MDL-76792 webservice: Avoid exception when missing component 2023-03-29 17:28:05 +02:00
Laurent David ca2e4603c0 MDL-74664 mod_bigbluebuttonbn: Fix capabilty checking
* role::has_capability_in_course should check if course exist first
2023-03-29 17:16:32 +02:00
Laurent David e635ba840d MDL-74664 mod_bigbluebuttonbn: Restricted recording access fix
* Recording formats should not be accessible to students unless specified as safe
* A global setting will now list all the "safe" formats for students
* A new capability 'mod/bigbluebuttonbn:viewallrecordingsformats' will allow users to
see all formats (as long as they can manage recordings also)
2023-03-29 17:16:32 +02:00
Tim Hunt 47ff5c8e5b MDL-77785 quiz/question: display long question numbers better 2023-03-29 15:04:34 +01:00
Carlos Castillo e882ef7edf MDL-73771 theme: Fix scrollbar position 2023-03-29 09:01:43 -05:00
Paul Holden 4f13fa65ce Merge branch 'MDL-76866-master' of https://github.com/andrewnicols/moodle 2023-03-29 13:36:26 +01:00
Andrew Nicols cd48ee93c3 MDL-76866 repository_contentbank: Mark step as using atto editor 2023-03-29 20:33:47 +08:00
Andrew Nicols faa68960ad MDL-76866 calendar: Make test more specific 2023-03-29 20:33:47 +08:00
Andrew Nicols 198842e4f6 MDL-76866 mod_quiz: Use atto for grading test
This test is using xpaths for Atto specifically and is an Atto-specific
test.

It needs to be rewritten to be editor-agnostic.
2023-03-29 20:33:47 +08:00
Andrew Nicols 035d818dd3 MDL-76866 mod_data: Disable the HTML editor to insert partial HTML
This test is adding table rows into an HTML editor and, quite rightly,
is failing under TinyMCE.

This only worked under Atto because Atto does not perform any HTML
validation. A user would not actually be able to insert the template
content this way, and therefore the test is/was invalid.

This change disables the HTML editor before inserting the template
content, which resembles the actions of a real user.
2023-03-29 20:33:47 +08:00
Andrew Nicols 96fd7a83fb MDL-76866 mod_data: Editors should have data-fieldtype attrib 2023-03-29 20:33:47 +08:00
Andrew Nicols 4782312411 MDL-76866 editor_atto: Remove old install script
This install script has not been required for a number of years because
we require the previous LTS for an LTS+1 upgrade. Once Atto was
part of core after an LTS release, it was safe to remove this file.

This is now preventing Tiny from becoming default for new installs in
some situations.
2023-03-29 20:33:47 +08:00
Andrew Nicols 2583805c68 MDL-76866 editor_tiny: make tiny default editor 2023-03-29 20:33:47 +08:00
raortegar 3ddfaebd43 MDL-76800 lib: upgrade OpenSpout to 4.0 2023-03-29 11:34:19 +02:00
Ilya Tregubov b6a5a0bcc2 MDL-77744 core_grades: Use separate attribute for gradeitems/users. 2023-03-29 17:24:55 +08:00
Paul Holden e4317c27b2 Merge branch 'MDL-77339-master' of https://github.com/meirzamoodle/moodle 2023-03-29 10:21:08 +01:00
Paul Holden 2e7cf5a9be Merge branch 'MDL-77701-master' of https://github.com/dpalou/moodle 2023-03-29 10:04:40 +01:00
Jun Pataleta acb6846bfa Merge branch 'MDL-77774' of https://github.com/paulholden/moodle 2023-03-29 16:55:41 +08:00
Sara Arjona 4bb8de0c6e Merge branch 'MDL-77677-master' of https://github.com/ferranrecio/moodle 2023-03-29 10:33:07 +02:00
Laurent David 0ff7295ee4 MDL-77456 core_courseformat: Fix highlight in course index
* When navigating to a restricted activity as a student from the course index
the item is not highlighted when refreshing the page.
2023-03-29 09:13:54 +02:00
Laurent David 4281b6e859 MDL-70976 core_files: Allow for draft files url inserted in content
* The file file_remove_editor_orphaned_files should take into account URL that
have been embedded in a tag content instead of an attribute (like src attribute)
* This will fix issue with inserting H5P content in calendar events.
2023-03-29 09:09:56 +02:00
Ilya Tregubov 499894532d Merge branch 'MDL-77748' of https://github.com/skodak/moodle 2023-03-29 14:12:41 +08:00
Shamim Rezaie a0b134107c Merge branch 'MDL-74452_master' of https://github.com/marxjohnson/moodle 2023-03-29 15:26:49 +11:00
Matt Porritt 4c76cc46f8 MDL-77306 Site Registration: add extra statistics
Add the DB type, count of courses with start or end dates set,
default site theme, and primary auth type statistics to those
collected as part of the site registration data.
2023-03-29 15:22:28 +11:00
Stevani Andolo 9266ae8f4a MDL-72350 mod_assignment: Removed all mod_assignment files 2023-03-29 11:47:43 +08:00
Jun Pataleta 904567404b Merge branch 'MDL-77767-master' of https://github.com/jleyva/moodle 2023-03-29 11:17:10 +08:00
Ilya Tregubov e328cc54ae Merge branch 'MDL-77740-master' of https://github.com/andrewnicols/moodle 2023-03-29 10:57:35 +08:00
Jun Pataleta 476f162812 Merge branch 'MDL-77382-master' of https://github.com/snake/moodle 2023-03-29 09:48:38 +08:00
Jun Pataleta 7695b4b18c Merge branch 'MDL-77119' of https://github.com/paulholden/moodle 2023-03-29 09:46:31 +08:00
Jun Pataleta e174f3e0d5 Merge branch 'MDL-76941-master-2' of https://github.com/HuongNV13/moodle 2023-03-29 09:31:58 +08:00
Jun Pataleta e95e290532 MDL-77783 core: Validate sublugins.json
* Validate the decoded subplugins.json before processing it.
* Log errors if subplugins.json is invalid or if plugintypes is not
defined.
2023-03-29 09:29:36 +08:00
Jun Pataleta 8e8a8c1a60 MDL-77761 core_form: Add label for editor format selector 2023-03-29 07:59:39 +08:00
Stephan Robotta b86719f9d0 MDL-77385 cli: CLI script to modify emailstop flag for users 2023-03-28 20:23:23 +02:00
Paul Holden 107b21db16 MDL-77774 gradereport_grader: correct/cleanup previous upgrade step.
Using incorrect data in the upgrade step from ca60efb8 created a
phantom plugin entry.
2023-03-28 18:42:51 +01:00
Eloy Lafuente (stronk7) 6612eab5a4 MDL-77333 mod_resource: fixes generator uploading files + tests
MDL-76499 revealed a few problems with resource generators:

1. We were not covering with unit tests the upload of files from disk
   (and here it's where the problem was).
2. There was a little of confusion between disk paths (only needed
   to upload files) and file_area paths (the generator only creates
   or uploads files to the root directory of the file area.
3. It was possible to request the upload of a file to the generator
   without that file effectively existing.

This commit fixes those points  and covers 99% of the generator code.
2023-03-28 19:06:09 +02:00
Anupama Sarjoshi 23aab0eebf MDL-77406 core: Fix code checker issues 2023-03-28 17:50:03 +01:00
Anupama Sarjoshi 42f4b0a991 MDL-77406 core: Logs to record user file uploaded in draft area 2023-03-28 17:49:54 +01:00
Paul Holden f7a8df253b on-demand release 4.2dev+ 2023-03-28 15:55:49 +01:00
Paul Holden bec19cf3f7 Merge branch 'install_master' of https://git.in.moodle.com/amosbot/moodle-install 2023-03-28 15:55:46 +01:00
Andrew Nicols 7ba9097264 MDL-77773 editor_tiny: Improve initial editor size 2023-03-28 20:47:49 +08:00
Paul Holden 59e69a939e Merge branch 'MDL-77105-master-4' of https://github.com/junpataleta/moodle 2023-03-28 12:38:39 +01:00
Jun Pataleta 064971648c MDL-77105 core: Cast custom data to an array when evaluating filtericon
Since other modules may treat custom data as an object, we need to make
cast it to an array before evaluating for the `filtericon` custom data.
2023-03-28 18:48:31 +08:00
Mark Johnson ace34e2bb2 MDL-74452 quiz: Fix reopen_open_attempt_test 2023-03-28 11:42:44 +01:00
Mark Johnson 72e7818467 MDL-74452 quiz: Display an error if all versions are in draft status 2023-03-28 11:42:44 +01:00
Juan Leyva fe2f96762a MDL-77767 question: Fix PHP warning in ddimageortext 2023-03-28 11:39:17 +02:00
Ferran Recio f52d4fcb82 MDL-77677 core_courseformat: debounce reload cm method 2023-03-28 09:48:51 +02:00
Dani Palou 349774a9f3 MDL-77701 mod_h5pactivity: Return admin settings in by_courses WS 2023-03-28 08:00:48 +02:00
Huong Nguyen dfaf14fb18 MDL-76941 tool_usertours: Fix accessibility issue when resizing 2023-03-28 12:17:39 +07:00
Andrew Nicols ad15209e1f Merge branch 'MDL-77029-master' of https://github.com/ilyatregubov/moodle 2023-03-28 12:37:01 +08:00
Jake Dallimore 1d25d477d6 Merge branch 'MDL-76149-master' of https://github.com/rezaies/moodle 2023-03-28 12:07:32 +08:00
Jake Dallimore efac6d72cf Merge branch 'MDL-77105-master-4' of https://github.com/junpataleta/moodle 2023-03-28 11:42:29 +08:00
Ilya Tregubov cb00d26105 MDL-77029 gradereport_grader: Fix sorting bug
When column was sorted in descending order, null values
were shown first.
2023-03-28 11:22:45 +08:00
Ilya Tregubov fc9583bae1 MDL-77029 gradereport_grader: Add sorting to grade item columns 2023-03-28 11:22:42 +08:00
Andrew Nicols 8fe80e743c MDL-77740 editor_tiny: Set the Editor window from the iFrame element
This is a workaround for an upstream bug which I have not been able to
reproduce outside of Moodle whereby the editor.contentWindow does not
match the editor.iframeElement.contentWindow when it should.

This issue only seems to affect Firefox, and it may even be a bug in
Firefox. It can only be reproduced when using a fresh browser which has
never had a TinyMCE window open.
2023-03-28 10:43:21 +08:00
Jun Pataleta d4d13a5a94 Merge branch 'MDL-77342-master' of https://github.com/meirzamoodle/moodle 2023-03-28 09:54:50 +08:00
Jun Pataleta 860f85e8b8 Merge branch 'MDL-77670-master' of https://github.com/juancs/moodle 2023-03-28 07:04:23 +08:00
Paul Holden fd3180c5d3 MDL-77762 contentbank: always provide exit button when appropriate.
If the current user can access the content bank in the context of the
current item, then provide link back to it.
2023-03-27 18:08:55 +01:00
Meirza ab2f3f1bda MDL-77339 grade: Added class properties that are not declared
In PHP 8.2 and later, setting a value to an undeclared class property is
deprecated and emits a deprecation notice.
So we need to add missing class properties that still need to be declared.
2023-03-27 22:53:04 +07:00
Paul Holden 5ed9c1da14 MDL-77764 contentbank: add field label to context selection element. 2023-03-27 16:51:52 +01:00
Meirza 98c55a725e MDL-77346 mod_workshop: Added missing class properties
In PHP 8.2 and later, setting a value to an undeclared class property is
deprecated and emits a deprecation notice.
So we need to add missing class properties that still need to be declared.
2023-03-27 21:59:39 +07:00
Sara Arjona 7c2cacaaf0 Merge branch 'MDL-76376' of https://github.com/jrchamp/moodle 2023-03-27 16:56:22 +02:00
Sara Arjona 1a01afbcb3 Merge branch 'MDL-77659' of https://github.com/AnupamaSarjoshi/moodle 2023-03-27 16:50:25 +02:00
Sara Arjona cc853bf064 Merge branch 'MDL-73226-master' of https://github.com/jleyva/moodle 2023-03-27 16:08:19 +02:00
Juan Leyva fc97f32010 MDL-73226 files: Add quota checks to core_user_add_user_private_files 2023-03-27 13:11:46 +02:00
Sara Arjona e4663dc82f Merge branch 'MDL-76303-master' of https://github.com/ssj365/moodle 2023-03-27 12:39:44 +02:00
Paul Holden 696ae3bc3a Merge branch 'MDL-77729' of https://github.com/timhunt/moodle 2023-03-27 11:09:24 +01:00
Paul Holden 1e22628003 Merge branch 'MDL-77734-master' of https://github.com/ferranrecio/moodle 2023-03-27 10:45:10 +01:00
Sara Arjona c2793cf824 Merge branch 'MDL-77561-master' of https://github.com/lameze/moodle 2023-03-27 11:43:19 +02:00
Paul Holden 4146329063 MDL-77555 reportbuilder: method to ensure unique parameters in SQL. 2023-03-27 10:29:25 +01:00
Ferran Recio 5cdb09d10c MDL-77734 core_courseformat: add title to bulk duplicate activities 2023-03-27 11:17:55 +02:00
Meirza a36fcf48a9 MDL-77347 files: Added class properties that are not declared.
In PHP 8.2 and later, setting a value to an undeclared class property is
deprecated and emits a deprecation notice.
So we need to add missing class properties that still need to be declared.
2023-03-27 15:58:22 +07:00
Meirza 7466712fc2 MDL-77347 mod_feedback: Added missing class properties.
In PHP 8.2 and later, setting a value to an undeclared class property is
deprecated and emits a deprecation notice.
So we need to add missing class properties that still need to be declared.
2023-03-27 15:58:17 +07:00
Meirza ace998b8eb MDL-77347 mod_survey: Added missing class properties.
In PHP 8.2 and later, setting a value to an undeclared class property is
deprecated and emits a deprecation notice.
So we need to add missing class properties that still need to be declared.
2023-03-27 15:58:12 +07:00
Meirza f34a1296b5 MDL-77347 mod_bigbluebuttonbn: Added missing class properties.
In PHP 8.2 and later, setting a value to an undeclared class property is
deprecated and emits a deprecation notice.
So we need to add missing class properties that still need to be declared.
2023-03-27 15:58:06 +07:00
Meirza caddf4dd1d MDL-77347 mod_chat: Added missing class properties.
In PHP 8.2 and later, setting a value to an undeclared class property is
deprecated and emits a deprecation notice.
So we need to add missing class properties that still need to be declared.
2023-03-27 15:58:01 +07:00
Jun Pataleta 3ecaf6362b MDL-77105 core: Add upgrade.txt notes 2023-03-27 13:58:24 +08:00
Jun Pataleta 6077aae181 MDL-77105 mod_url: Declare filtericon custom data
* Set a custom data `filtericon` when the icon being rendered for the
URL resource is not equal to the default plugin icon.
2023-03-27 13:58:23 +08:00
Jun Pataleta f10d132bdc MDL-77105 mod_lti: Add 'nofilter' class for custom tool icons
Add a '.nofilter' class when rendering custom tool icons in order
to render them as is and without CSS filter on the activity chooser.
2023-03-27 13:57:07 +08:00
Jun Pataleta cd4cebdaef MDL-77105 core_course: Add 'nofilter' class for non-monologo icons
When rendering content items, check whether the plugin has monologo
icons. If so, add a 'nofilter' class so the plugin icon can be
rendered as is and without the CSS filter.
2023-03-27 13:56:15 +08:00
Jun Pataleta 97215704d3 MDL-77105 block_timeline: Add 'nofilter' class when necessary
Add the `.nofilter` class for activity icons when the icon URL's
`filtericon` parameter is not set, so they get rendered as they are on
the timeline block.
2023-03-27 13:54:36 +08:00
Jun Pataleta b78978dac6 MDL-77105 block_recentlyaccesseditems: Add 'nofilter' class
Add the `.nofilter` class for activity icons when the icon URL's
`filtericon` parameter is not set, so they get rendered as they are on
the recently accessed items block.
2023-03-27 13:53:56 +08:00
Jun Pataleta cf09a7f253 MDL-77105 theme_boost: Add 'nofilter' class when necessary
Add the `.nofilter` class for activity icons when the icon URL's
`filtericon` parameter is not set, so they get rendered as they are on
the context header on the activity page.
2023-03-27 13:32:09 +08:00
Jun Pataleta 95d0e30eff MDL-77105 course_format: Add 'nofilter' class when necessary
Add the `.nofilter` class for activity icons when the icon URL's
`filtericon` parameter is not set, so they get rendered as they are on
the course homepage.
2023-03-27 13:32:09 +08:00
Jun Pataleta 2ce59aa924 MDL-77105 core: Conditionally apply icon filter
* Apply the filter CSS property only to activity icons
that don't have the ".nofilter" class. This will allow
activities with non-SVG icons to be rendered as they are.
2023-03-27 13:32:09 +08:00
Jun Pataleta a898d8ac54 MDL-77105 core: Add a filtericon parameter to course mod icon URLs
* If a plugin defines a `filtericon` custom data or uses its monologo
version of the icon, a `filtericon` parameter is being added to the
icon's URL. This information can help plugins determine whether to
render the activity icon as is or with CSS filtering.
2023-03-27 13:32:09 +08:00
Jun Pataleta cd0afd5c76 MDL-77105 core: Method to determine whether a plugin has monolog icons 2023-03-27 13:32:09 +08:00
Shamim Rezaie ce20ad194e MDL-76149 gradereport_grader: Remove studentsperpage config 2023-03-27 04:50:42 +11:00
Shamim Rezaie 14eefae721 MDL-76149 form: Change checker to respect .ignoredirty for active node 2023-03-27 04:47:49 +11:00
Shamim Rezaie d6f26ec49d MDL-76149 gradereport_grader: show perpage dropdown 2023-03-27 04:47:49 +11:00
Shamim Rezaie b7e66fc444 MDL-76149 gradereport_grader: Adding a sticky footer
The pagination bar and the save button are now displayed on the sticky
footer
2023-03-27 04:47:49 +11:00
Petr Skoda f4f106a1c2 MDL-77748 grunt: fix Windows compatibility 2023-03-26 13:33:05 +02:00
Meirza 59c6b2dccd MDL-77342 repository: Added class properties that are not declared.
In PHP 8.2 and later, setting a value to an undeclared class property is
deprecated and emits a deprecation notice.
So we need to add missing class properties that still need to be declared.
2023-03-26 14:48:29 +07:00
Brendan Heywood 54505ebdd1 MDL-77749 admin: Fix code error with unset config duration 2023-03-26 16:00:00 +11:00
AMOS bot 975c2531b9 Automatically generated installer lang files 2023-03-26 00:07:45 +00:00
Tim Hunt a5fc60a997 MDL-77729 qformat_missingword: fix form of help link 2023-03-25 15:38:38 +00:00
Sara Arjona 09fd61415e on-demand release 4.2dev+ 2023-03-24 14:00:13 +01:00
Tim Hunt 94a584bf38 MDL-75017 questions: give a clear error if the context type is invalid 2023-03-24 12:59:22 +00:00
Tim Hunt 2e1fde188e MDL-75017 questions: fix weird setup in qformat_xml_import_export_test 2023-03-24 12:56:14 +00:00
danghieu1407 c05a29018f MDL-77218 Question bank: Add explanatory text for preview option 2023-03-24 14:57:00 +07:00
Andrew Nicols eafe74bb2d Merge branch 'MDL-75334-master' of https://github.com/call-learning/moodle 2023-03-24 10:49:26 +08:00
Jun Pataleta 67ad18ce07 Merge branch 'MDL-77626' of https://github.com/timhunt/moodle 2023-03-24 10:40:47 +08:00
Andrew Nicols dc52959313 Merge branch 'MDL-76520-master' of https://github.com/HuongNV13/moodle 2023-03-24 09:34:38 +08:00
Jun Pataleta 40a59bccff Merge branch 'MDL-76147-master-2' of https://github.com/ilyatregubov/moodle 2023-03-24 09:32:40 +08:00
Ilya Tregubov fd2b6f5ca9 MDL-76147 gradereport_grader: Fix collapsing preferences.
At certain cases I didn't see a tick in view mode. For example
when I click grades only and then switch to totals only a tick
next to total only was not shown. I think this is caused since before
mode was changed in circlurar order i.e.
fullmode->grade only->aggregate only->fullmode. But now any order is
possible so we need to respect it
2023-03-24 09:26:45 +08:00
Ilya Tregubov ca60efb89f MDL-76147 gradereport_grader: remove deprecated preferences. 2023-03-24 09:26:45 +08:00
Ilya Tregubov f70f2760e8 MDL-76147 grader_report: Fix action menus being covered.
First column and Averages row are sticky. So menu are
covered those.
2023-03-24 09:26:45 +08:00
Ilya Tregubov d2fe7362af MDL-76147 gradereport_grader: Remove show calculation setting. 2023-03-24 09:26:45 +08:00
Ilya Tregubov de32a9e57d MDL-76147 gradereport_grader: Fix Behat tests. 2023-03-24 09:26:45 +08:00
Ilya Tregubov ae79f856e2 MDL-76147 gradereport_grader: Remove show activity icons setting.
We we always show those. Was enabled by default.
2023-03-24 09:26:45 +08:00
Ilya Tregubov 7656f5b6b0 MDL-76147 gradereport_grader: Move grade items and categories icons to action menu. 2023-03-24 09:26:45 +08:00
Ilya Tregubov 1c9d0e57b1 MDL-76147 gradereport_grader: Code style fixes. 2023-03-24 09:26:45 +08:00
Ilya Tregubov 9af798e684 Merge branch 'MDL-76932-master' of https://github.com/meirzamoodle/moodle 2023-03-24 09:16:34 +08:00
Simey Lameze b15d88b811 MDL-77561 behat: add step to accept dpa and enable bigbluebutton
The step i_enable_plugin cannot be used as bigbluebuttonbn_default_dpa_accepted
setting needs to be enable in order for the BigBlueButton plugin to be enabled.
2023-03-24 08:14:37 +08:00
Sara Arjona 6bcb807d15 Merge branch 'MDL-76360-master' of https://github.com/laurentdavid/moodle 2023-03-23 18:33:49 +01:00
Sara Arjona 8975155060 Merge branch 'MDL-77705' of https://github.com/paulholden/moodle 2023-03-23 18:30:21 +01:00
Juan Leyva 76807203a3 MDL-77726 user: Fix custom user profiles supporting filtering in WS 2023-03-23 18:08:03 +01:00
Paul Holden 2aeaa9e4b3 Merge branch 'MDL-77714' of https://github.com/stronk7/moodle 2023-03-23 17:00:09 +00:00
Sara Arjona 70bcda2ef8 Merge branch 'MDL-77666' of https://github.com/paulholden/moodle 2023-03-23 17:53:38 +01:00
Sara Arjona 5ccb47ef47 Merge branch 'MDL-76246-master' of https://github.com/rezaies/moodle 2023-03-23 17:27:33 +01:00
Shamim Rezaie 3d16a7f453 MDL-76246 core_grades: Add aria-label to the group combobox
Also replaced str with cleanstr for aria-labels
2023-03-24 03:20:44 +11:00
Sara Arjona 9ec55f3091 Merge branch 'MDL-77721-master' of https://github.com/lameze/moodle 2023-03-23 16:17:51 +01:00
Shamiso.Jaravaza dca1c7994f MDL-76303 mod_bigbluebuttonbn: Fix userlimit 2023-03-23 08:26:51 -06:00
Paul Holden ee8290f231 Merge branch 'MDL-77392-master' of https://github.com/srobotta/moodle 2023-03-23 12:25:27 +00:00
Paul Holden cd5b9b97d9 Merge branch 'MDL-77691' of https://github.com/roland04/moodle 2023-03-23 11:43:39 +00:00
Stephan Robotta 06872a4ebd MDL-77392 calendar: calendar items are hidden because of settings 2023-03-23 12:39:15 +01:00
Paul Holden 6c3207ff8f Merge branch 'MDL-73708-master' of https://github.com/rmady/moodle 2023-03-23 11:10:53 +00:00
Laurent David 76e3c30465 MDL-76360 mod_data: Field page layout improvement
* Unify the fields_action_bar and action_bar template
* Make sure the Create a field button is a primary button
* The fields_action_bar is very similar to the action_bar template so
should be used instead
2023-03-23 12:02:14 +01:00
Huong Nguyen 359efecb03 MDL-76520 tiny_link: Add a TinyMCE link plugin
Co-authored-by: Andrew Lyons <andrew@nicols.co.uk>
2023-03-23 15:50:44 +07:00
Simey Lameze 61f4843fed MDL-77721 navigation: Revert the patch for MDL-75908.
This reverts commit 7b8fa9de86.
2023-03-23 15:45:11 +08:00
Jake Dallimore dc63f52538 Merge branch 'MDL-76246-master' of https://github.com/rezaies/moodle 2023-03-23 10:17:06 +08:00
Juan Leyva 27be439eb7 MDL-73708 course: Return geo pattern generated course images via WS 2023-03-22 17:39:07 -03:00
Eloy Lafuente (stronk7) 3faf1c1989 MDL-77714 general: Remove mentions to Travis CI in a few places
Not critical to have, but better don't mention it. Note that all
the cases need to stay because there may be other environments
where the same problems are reproducible.

Only exception is the CURL_SSLVERSION_TLSv1_2 constant, that
can be safely removed because it's available since PHP 5.5.19.
2023-03-22 19:17:14 +01:00
Eloy Lafuente (stronk7) 9a344c8967 MDL-77714 general: Remove Travis CI integration from core
Agreed @ MDLSITE-7135, this completely removes the Travis CI
integration with a note in the lib/upgrade.txt file, pointing
to the currently supported GHA alternative.
2023-03-22 19:04:54 +01:00
Paul Holden 3e0edcdb18 MDL-76551 mod_bigbluebuttonbn: correct stdClass method parameter type. 2023-03-22 17:15:16 +00:00
Paul Holden 0444b91148 Merge branch 'MDL-76551-master' of https://github.com/call-learning/moodle 2023-03-22 17:08:04 +00:00
Laurent David 7af38677b6 MDL-75334 mod_bigbluebuttonbn: Generate course with BigblueButtonBN
* Use a new generator to create a course full of BigblueButton Activities
in order to check for performances with a lot of activities
2023-03-22 17:28:26 +01:00
Sara Arjona ee3502dfc4 Merge branch 'MDL-76905-master' of https://github.com/ferranrecio/moodle 2023-03-22 16:52:47 +01:00
Laurent David aa9c5cf455 MDL-76551 mod_bigbluebuttonbn: Add user picture
* Add user picture with token
* Add a new global setting to enable or disable avatar for users in meeting.
2023-03-22 15:42:28 +01:00
Laurent David ba81f720db MDL-76551 mod_bigbluebuttonbn: Refactor join url
* get_join url should not have as many parameters as they can be deduced from the instance.
* Refactoring it will allow to pass on more implicit parameters like the user profile file.
2023-03-22 15:07:23 +01:00
Paul Holden 2a8228e410 Merge branch 'MDL-77049-master' of https://github.com/sarjona/moodle 2023-03-22 13:39:34 +00:00
Ferran Recio ae799fad7d MDL-76905 core_courseformat: match prototype visual style 2023-03-22 14:08:51 +01:00
Sara Arjona c03b9a47cf Merge branch 'MDL-77380-master' of https://github.com/lameze/moodle 2023-03-22 14:06:01 +01:00
Sara Arjona 465be9348b Merge branch 'MDL-77433-master' of https://github.com/ferranrecio/moodle 2023-03-22 13:53:32 +01:00
Sara Arjona d04f42492c Merge branch 'MDL-77692' of https://github.com/paulholden/moodle 2023-03-22 13:50:06 +01:00
Paul Holden 054a6fa9b4 Merge branch 'MDL-77643-master' of https://github.com/jleyva/moodle 2023-03-22 12:38:02 +00:00
Ferran Recio a1ea81eb8b MDL-77433 core_courseformat: use validate_cms to check capabilities 2023-03-22 13:21:05 +01:00
Sara Arjona 91175a6773 MDL-77049 core_h5p: Use the styles from Raw SCSS theme settings
MDL-69087 added an option to let themes personalize the H5P styles.
This patch implements the h5p_alter_styles() method in boost, to
let admins personalize the H5P styles using the 'Raw initial SCSS'
and 'Raw SCSS' theme settings.
That way, users won't need to create their own themes to define
some styles for the H5P player.
2023-03-22 12:10:57 +01:00
Shamim Rezaie 5c9142eee4 MDL-76246 contentbank: fix behat failure 2023-03-22 20:59:14 +11:00
Shamim Rezaie 02471ef1cd MDL-76246 core_grades: Remove url param from ws 2023-03-22 20:59:14 +11:00
Shamim Rezaie 1a01607463 MDL-76246 core_grades: Improve user search styling
Show profile image, and display email in a separate line
2023-03-22 20:59:14 +11:00
Shamim Rezaie d2881df06b MDL-76246 core_grades: Group search widget to combobox 2023-03-22 20:59:14 +11:00
Shamim Rezaie 343e676c4b MDL-76246 gradereport_singleview: Grade item search widget to combobox 2023-03-22 20:59:14 +11:00
Shamim Rezaie d856c48639 MDL-76246 gradereport_singleview: Make the user search widget a combobox 2023-03-22 20:59:14 +11:00
Shamim Rezaie 3db5625fc9 MDL-76246 gradereport_user: Make the user search widget a combobox
Use <div> instead of <button> because <button> cannot have <div>
children.
2023-03-22 20:59:14 +11:00
Shamim Rezaie c4f33ceb59 MDL-76246 output: combobox support improvements
- It was a mistake to assume the listbox is always within
   combobox.parentElement
 - Take into account that the popup of the combobox is not necessarily a
   listbox
 - Update combobox fix so that it also work with comboboxes that are not
   select-menu
 - Update combobox fix so that it also support editable comboboxes
 - Update click listener to take into account that the event's target
   might be one of the option element
 - Having a hidden input element for comboboxes was not an ARIA
   requirement and was added by us. I added data-input-element to the
   combobox element to specify the input element related to it.
2023-03-22 20:59:14 +11:00
Jun Pataleta 775872450c Merge branch 'MDL-77673-master' of https://github.com/jleyva/moodle 2023-03-22 17:12:29 +08:00
Ilya Tregubov e11ec0caed Merge branch 'MDL-77032-master-1' of https://github.com/mihailges/moodle 2023-03-22 13:36:05 +08:00
Ilya Tregubov 794f107e88 on-demand release 4.2dev+ 2023-03-22 09:37:45 +08:00
Ilya Tregubov ccc424affa Merge branch 'install_master' of https://git.in.moodle.com/amosbot/moodle-install 2023-03-22 09:37:43 +08:00
Paul Holden d834accd90 MDL-77705 reportbuilder: avoid re-using field alias between entities.
Ensure that when the user entity is added multiple times to a report,
when there are custom profile fields, each of those gets a unique table
alias per-entity.
2023-03-21 16:43:00 +00:00
Jun Pataleta 3be6f5c941 Merge branch 'MDL-75746_master' of https://github.com/marxjohnson/moodle 2023-03-21 15:48:03 +01:00
Jake Dallimore d001dd43ca Merge branch 'MDL-70687_default-redis-session-lock-expiration-to-php-execution-time' of https://github.com/ziegenberg/moodle 2023-03-21 15:48:03 +01:00
Jun Pataleta 869cfac1cc Merge branch 'MDL-69124' of https://github.com/paulholden/moodle 2023-03-21 15:48:01 +01:00
Jun Pataleta 6baff9e550 Merge branch 'MDL-77541' of https://github.com/paulholden/moodle 2023-03-21 15:46:29 +01:00
Jun Pataleta 930bd50758 Merge branch 'MDL-77607' of https://github.com/stronk7/moodle 2023-03-21 15:46:29 +01:00
Ilya Tregubov 1ac2e6ecca Merge branch 'mdl-72533-event-table-performance' of https://github.com/petersistrom/moodle 2023-03-21 15:46:28 +01:00
Paul Holden 1eb6c49fa3 Merge branch 'MDL-72124_master' of https://github.com/marxjohnson/moodle 2023-03-21 15:46:28 +01:00
Sara Arjona 494060a4a5 Merge branch 'MDL-77574-master' of https://github.com/lameze/moodle 2023-03-21 15:46:28 +01:00
Sara Arjona 3b68a32832 Merge branch 'MDL-73670-master' of https://github.com/jleyva/moodle 2023-03-21 15:46:28 +01:00
Sara Arjona 2e334cf58c Merge branch 'MDL-77523-master' of https://github.com/juancs/moodle 2023-03-21 15:46:27 +01:00
Sara Arjona d2b0c53db4 Merge branch 'MDL-76893-master' of https://github.com/ferranrecio/moodle 2023-03-21 15:46:27 +01:00
Paul Holden 718108c52f Merge branch 'MDL-77178-master' of https://github.com/aanabit/moodle 2023-03-21 15:46:23 +01:00
Ferran Recio 3beffbb506 MDL-76893 core_courseformat: bulk move activites 2023-03-21 15:46:23 +01:00
Sara Arjona 89cb8b4ee5 Merge branch 'MDL-76918' of https://github.com/paulholden/moodle 2023-03-21 15:46:23 +01:00
Paul Holden 868215311b Merge branch 'MDL-76926-master' of https://github.com/snake/moodle 2023-03-21 15:46:23 +01:00
Tim Hunt 8489808536 MDL-77673 ddimageortext: keep JS data just for the mobile app 2023-03-21 10:13:24 +01:00
Simey Lameze 57e9fec4c8 MDL-77380 block_myoverview: improve show toggle functionality test 2023-03-21 14:43:30 +08:00
Angelia Dela Cruz 374b6d8e0e MDL-77577 Behat: Replaced the use of "Install selected language pack(s)
Evaluated usage of "Install selected language pack(s)" in Behat and
replaced the steps to use generator to install language packs as part
of test setup.
2023-03-21 11:58:30 +08:00
Paul Holden a2a2ea51aa MDL-77692 reportbuilder: format custom field condition/filter names. 2023-03-20 16:09:25 +00:00
Paul Holden f17ba9deb2 MDL-77119 group: custom report elements for group visibility data.
Allow for the reporting of group visibility/participation properties
introduced in 958da5b6, by implementing new entity columns & filters.
2023-03-20 15:44:57 +00:00
Juan Leyva bba614a5eb MDL-77643 tool_mobile: Return location settings 2023-03-20 16:38:44 +01:00
Mikel Martín 9191edb72f MDL-77691 behat: Add step to navigate to profile page directly 2023-03-20 14:18:33 +01:00
Anupama Sarjoshi 79370e225e MDL-77659 core_reportbuilder: fix user profile fields phpunit tests 2023-03-20 12:19:57 +00:00
Amaia Anabitarte d535182414 MDL-77178 report: Update reports tertiary navigation 2023-03-20 11:13:55 +01:00
Paul Holden 060e47e58e MDL-69976 mod_lti: final removal of deprecated 310 method. 2023-03-20 09:41:15 +00:00
Jun Pataleta 109d902105 Merge branch 'MDL-76894-master' of https://github.com/ferranrecio/moodle 2023-03-20 10:43:04 +08:00
Jun Pataleta 12237e6a8c Merge branch 'MDL-76851-master' of https://github.com/ferranrecio/moodle 2023-03-20 10:39:31 +08:00
Jun Pataleta 385f059edc Merge branch 'MDL-76997-master' of https://github.com/aanabit/moodle 2023-03-20 10:32:35 +08:00
Mark Sharp 4e99fe48bc MDL-72533 core_calendar: improve calendar event table peformance
- Filter searchable courses if set.
- Sites with large groups should now experience better performance.
- Applies and optimises query against a proper date range.

Co-authored-by: Mark Sharp <mark.sharp@solent.ac.uk>
Co-authored-by: Peter Sistrom <petersistrom@catalyst-au.net>
Co-authored-by: Kevin Pham <keevan.pham@gmail.com>
2023-03-20 12:15:14 +11:00
AMOS bot 2ec5eb507b Automatically generated installer lang files 2023-03-20 00:07:44 +00:00
Brendan Heywood 2e8bb2cced MDL-77618 admin: Passwords should not auto complete 2023-03-18 12:58:08 +11:00
AMOS bot 0f11994872 Automatically generated installer lang files 2023-03-18 00:07:47 +00:00
Juan Segarra Montesinos adb63ac50e MDL-77670 course: Preserve course summary format 2023-03-17 20:56:26 +01:00
Eloy Lafuente (stronk7) ef936717ee MDL-77607 core_component: Fix wrong component for the grade api
The correct component (subsystem) for the "grade" API is
"core_grades" not "core_grade".

Let's fix that and cover it with tests.
2023-03-17 19:27:14 +01:00
Sara Arjona f3bf17cdfb on-demand release 4.2dev+ 2023-03-17 17:59:32 +01:00
Sara Arjona d2bb0ffd42 Merge branch 'install_master' of https://git.in.moodle.com/amosbot/moodle-install 2023-03-17 17:59:15 +01:00
Ferran Recio 6ac6100f1c MDL-76894 core_courseformat: bulk move section 2023-03-17 16:18:19 +01:00
Mihail Geshoski 4d7900a391 MDL-77032 grade: Collapsible grade categories in Gradebook setup 2023-03-17 23:04:41 +08:00
Sara Arjona 3acf967276 MDL-77608 h5p: Fix after rewrite
Minor changes, like removing extra line at the end of the file or adding
comment in lib/db/upgrade.php.
2023-03-17 13:20:41 +01:00
Jun Pataleta 4bc059c6cc Merge branch 'master_MDL-76906' of https://github.com/mattporritt/moodle 2023-03-17 13:10:13 +01:00
Jun Pataleta 6dbe4b6839 Merge branch 'MDL-76910' of https://github.com/paulholden/moodle 2023-03-17 13:10:13 +01:00
Jun Pataleta 52d8364819 Merge branch 'MDL-76257-master' of https://github.com/juancs/moodle 2023-03-17 13:10:13 +01:00
Jun Pataleta 16dc3230f5 Merge branch 'MDL-77608' of https://github.com/paulholden/moodle 2023-03-17 13:10:11 +01:00
Ilya Tregubov 9caa246c2b Merge branch 'MDL-76915-master' of https://github.com/meirzamoodle/moodle 2023-03-17 13:04:35 +01:00
Ilya Tregubov cc35edd595 Merge branch 'MDL-76914-master' of https://github.com/meirzamoodle/moodle 2023-03-17 13:04:35 +01:00
Ilya Tregubov b043c16659 Merge branch 'MDL-76911-master' of https://github.com/HuongNV13/moodle 2023-03-17 13:04:35 +01:00
Ilya Tregubov f4891b1034 Merge branch 'MDL-69882' of https://github.com/paulholden/moodle 2023-03-17 13:04:33 +01:00
Paul Holden d81bbc0933 Merge branch 'MDL-76920-master' of https://github.com/cescobedo/moodle 2023-03-17 13:03:32 +01:00
Sara Arjona 5c0e75de4b Merge branch 'master_MDL-76916' of https://github.com/mattporritt/moodle 2023-03-17 13:03:32 +01:00
Sara Arjona a15d363453 Merge branch 'MDL-77275-master' of https://github.com/laurentdavid/moodle 2023-03-17 13:03:31 +01:00
Sara Arjona 6ebfc73e55 Merge branch 'master_MDL-76923' of https://github.com/mattporritt/moodle 2023-03-17 13:03:31 +01:00
Sara Arjona adc7bd5103 Merge branch 'MDL-67526_final-deprecation-of-plagiarism-functions' of https://github.com/ziegenberg/moodle 2023-03-17 13:03:31 +01:00
Paul Holden 66d1d50e92 Merge branch 'MDL-76989-master' of https://github.com/sarjona/moodle 2023-03-17 13:03:30 +01:00
Paul Holden 95c5001ddb Merge branch 'MDL-75464-master' of https://github.com/meirzamoodle/moodle 2023-03-17 13:03:30 +01:00
Paul Holden 6c1777a273 Merge branch 'MDL-76921-master' of https://github.com/cescobedo/moodle 2023-03-17 13:03:30 +01:00
Paul Holden 49e8e72196 Merge branch 'MDL-77337-master' of https://github.com/meirzamoodle/moodle 2023-03-17 13:03:30 +01:00
Jun Pataleta ac0f2ddfd9 Merge branch 'MDL-77604-master' of https://github.com/meirzamoodle/moodle 2023-03-17 13:03:30 +01:00
Jake Dallimore 1546c4ff88 Merge branch 'MDL-76309-master' of https://github.com/sh-csg/moodle 2023-03-17 13:03:29 +01:00
Andrew Nicols 7db7cde55a Merge branch 'MDL-75908-master' of https://github.com/srobotta/moodle 2023-03-17 13:03:29 +01:00
Ilya Tregubov 02009d366e Merge branch 'master_MDL-76909' of https://github.com/mattporritt/moodle 2023-03-17 13:03:29 +01:00
Ilya Tregubov 6ff1017fed Merge branch 'master_MDL-76924' of https://github.com/mattporritt/moodle 2023-03-17 13:03:29 +01:00
Jun Pataleta 7d9c04e2e6 Merge branch 'MDL-75650-master-simple' of https://github.com/snake/moodle 2023-03-17 13:03:28 +01:00
Andrew Nicols 060b63cd1c Merge branch 'MDL-67789-master' of https://github.com/sarjona/moodle 2023-03-17 13:03:24 +01:00
Ilya Tregubov d438271cad Merge branch 'MDL-76989-master' of https://github.com/sarjona/moodle 2023-03-17 12:56:53 +01:00
Ferran Recio 602a308f25 MDL-76851 core_course: fix course view.php indentation 2023-03-17 11:07:13 +01:00
Ferran Recio 856b295569 MDL-76851 core_courseformat: plugin custom editor strings
Most section related actions require the frontend to use alternative
strings depending on the format plugin lang file. This patch adds
overridden strings to the current setViewFormat course editor setup
object.
2023-03-17 11:07:13 +01:00
Ferran Recio 9c583f5ec5 MDL-76851 core_courseformat: bulk section and cm delete action 2023-03-17 10:26:00 +01:00
AMOS bot 353d6af691 Automatically generated installer lang files 2023-03-17 00:07:46 +00:00
Paul Holden f6310247cb MDL-77666 contentbank: format category names for display. 2023-03-16 23:04:35 +00:00
info@eWallah.net f709c0293e MDL-77584 currencies: Fix outdated ISO 4217 code for Zambian Kwacha
On 2013-01-01 the ZMK code got replaced by the new ZMW code.

AMOS BEGIN
 MOV [ZMK,core_currencies],[ZMW,core_currencies]
AMOS END
2023-03-16 19:53:41 +01:00
Amaia Anabitarte 1c491de8e8 MDL-76997 admin: Option to reset course indentation 2023-03-16 17:22:02 +01:00
Paul Holden caf236427e MDL-76918 libraries: upgrade to version 1.3.1 of Rangy. 2023-03-16 16:08:33 +00:00
Sara Arjona 75f4fd0a74 MDL-76989 theme: Update Font Awesome icons in SCSS
The new Font Awesome version needs some changes in the way icons
are displayed from SCSS files:

- The atribute 'content: "\xxx"' needs to be converted to
'content: fa-content("\xxx")'
- The style must be declared. The regular is used by default, so all the
solid icons needs to add '@extend .fa-solid'
- @include fa-icons() is not required anymore (if used, the icons
are not displayed properly).
2023-03-16 13:17:53 +01:00
Meirza 30a220ec83 MDL-75464 libraries: upgrade EvalMath to 1.0.1 2023-03-16 17:27:30 +07:00
Meirza a314425cd0 MDL-77604 recentlyaccesseditems: convert HTMLCollection to an array.
While working on this issue MDL-76931(Upgrade core-js-bundle),
we need to convert a HTMLCollection like .children to an array to use forEach(),
so we can upgrade the core-js to the upper version.
2023-03-16 15:38:10 +07:00
Stefan Hanauska c556374d52 MDL-76309 mod_assign: Compatibility with zip download 2023-03-16 07:17:55 +01:00
Meirza a6894fc65e MDL-77337 analytics: Added class properties that are not declared.
In PHP 8.2 and later, setting a value to an undeclared class property is
deprecated and emits a deprecation notice.
So we need to add missing class properties that still need to be declared.
2023-03-16 09:46:07 +07:00
Paul Holden 5219aa3cf0 MDL-76339 mod_bigbluebuttonbn: correct upgrade note fix versions. 2023-03-15 19:15:00 +00:00
Paul Holden 0a9bdbc984 Merge branch 'MDL-76339-master' of https://github.com/call-learning/moodle 2023-03-15 19:03:03 +00:00
Paul Holden 8edec2c29f Merge branch 'master_MDL-76928' of https://github.com/mattporritt/moodle 2023-03-15 17:24:23 +00:00
Jun Pataleta 6a3a3e1cd5 Merge branch 'MDL-77600' of https://github.com/stronk7/moodle 2023-03-15 16:33:23 +01:00
Jun Pataleta f854dce12b Merge branch 'MDL-77343-master' of https://github.com/meirzamoodle/moodle 2023-03-15 16:33:23 +01:00
Stephan Robotta 7b8fa9de86 MDL-75908 navigation: fix active flag in navigation for custom menus 2023-03-15 11:16:44 +01:00
Sara Arjona bd0a6e6dcc MDL-67789 h5p: Save current state using xAPI State
Co-author: Andrew Lyons <andrew@moodle.com>
2023-03-15 09:42:18 +01:00
Ferran Recio 03a4abde0f MDL-67789 xapi: Add support to save content state 2023-03-15 09:42:18 +01:00
Meirza 29d20be214 MDL-77343 mod_assign: Added missing class properties.
In PHP 8.2 and later, setting a value to an undeclared class property is
deprecated and emits a deprecation notice.
So we need to add missing class properties that still need to be declared.
2023-03-15 14:30:47 +07:00
Meirza c49d3231ad MDL-76932 libraries: remove old YUI lib 3.17.2 2023-03-15 13:35:00 +07:00
Andrew Nicols 888c5853db Merge branch 'MDL-77550-master' of https://github.com/dpalou/moodle 2023-03-15 14:26:11 +08:00
Meirza bf30ef1b53 MDL-76932 libraries: upgrade YUI lib to 3.18.1 2023-03-15 13:21:15 +07:00
Juan Segarra Montesinos 844ca05c2e MDL-77523 mod_data: textarea field should honor editor preferred format 2023-03-15 06:48:10 +01:00
Jake Dallimore 576369bf97 Merge branch 'MDL-77186-master' of https://github.com/andrewnicols/moodle 2023-03-15 12:00:42 +08:00
Jake Dallimore ecc0f661c5 Merge branch 'MDL-35745' of https://github.com/timhunt/moodle 2023-03-15 11:31:36 +08:00
Ilya Tregubov 3df60a19fd MDL-68093 workshop: Rebuilt js files. 2023-03-15 11:00:07 +08:00
Jun Pataleta ba7bf0781a Merge branch 'MDL-77344-master' of https://github.com/meirzamoodle/moodle 2023-03-15 10:34:07 +08:00
Ilya Tregubov a34dbbe6fe Merge branch 'MDL-68093_master' of https://github.com/marxjohnson/moodle 2023-03-15 10:19:07 +08:00
Jun Pataleta cf5d3d6757 Merge branch 'MDL-77611' of https://github.com/timhunt/moodle 2023-03-15 10:01:13 +08:00
Ilya Tregubov f67237598c Merge branch 'MDL-77419-master' of https://github.com/danghieu1407/moodle 2023-03-15 09:18:44 +08:00
AMOS bot be76a44f4e Automatically generated installer lang files 2023-03-15 00:07:44 +00:00
Paul Holden 012ff5b6ac MDL-59175 theme_boost: style inherited permission on overide page. 2023-03-14 20:58:18 +00:00
Meirza e8a39af31d MDL-77344 mod_forum: Added missing class properties.
In PHP 8.2 and later, setting a value to an undeclared class property is
deprecated and emits a deprecation notice.
So we need to add missing class properties that still need to be declared.
2023-03-15 03:53:14 +07:00
cescobedo d84ebf69a8 MDL-76920 atto_html: Upgrade Codemirror to 5.65.12 2023-03-14 21:18:06 +01:00
cescobedo 4ad4d9287c MDL-76921 atto_html: Upgrade JS Beautify to 1.14.7 2023-03-14 21:17:08 +01:00
Sara Arjona efecce2ddf MDL-76989 behat: Increase download size for dataexport
After upgrading the Font Awesome from 4.7 to 6.3.0, the moodle.css
file is bigger than before, so a few behat tests related to the data
export (where the moodle.css file is included), need to be updated
to meet the new size.
2023-03-14 17:33:16 +01:00
Sara Arjona 0ad4ef1d3d MDL-76989 lib: Set Moodle files after Font Awesome upgrade
This patch updates the Font Awesome library version from 4.7 to 6.3.0.
The readme_moodle.txt has been updated properly because the new version
works slightly different.
There is a file to add backward compatibily to version 6 files (shim).
More information about how to upgrade from 4 to 6 can be found in
https://fontawesome.com/docs/web/setup/upgrade/upgrade-from-v4

Although a few icons have been renamed in Moodle 6, as the new version
is compatible with v4 icons, for now the references to the old icons
(fa fa-xxxx --> fa-solid fa-xxxx) haven't been changed yet.
A separate issue will be created to update them in the future and
review if some new icons can be used too.
2023-03-14 17:33:07 +01:00
Tim Hunt d5086a0938 MDL-77626 quiz statistics: Divide by zero if a random Q has max mark 0 2023-03-14 16:29:12 +00:00
Sara Arjona 6d7d2b012c MDL-76989 theme: Update FontAwesome to 6.3.0 2023-03-14 17:23:36 +01:00
Eloy Lafuente (stronk7) 4e663020ae MDL-77600 install: update the list of stale files for 4.2 2023-03-14 17:18:48 +01:00
Mark Johnson e57993e921 MDL-75746 mod_quiz: Fix backup and restore of quiz slots 2023-03-14 16:07:55 +00:00
Daniel Ziegenberg 3018036ebd MDL-67526 plagiarism: Final deprecation of plagiarism functions
Following MDL-65835 this now finally deprecates and removes the
functions:
  - plagiarism_save_form_elements(), please use
    {plugin name}_coursemodule_edit_post_actions() instead
  - plagiarism_get_form_elements_module(), please use
    {plugin name}_coursemodule_standard_elements() instead.
  - plagiarism_plugin::get_form_elements_module(), please
    use {plugin name}_coursemodule_edit_post_actions() instead.
  - plagiarism_plugin::save_form_elements(), please use
    {plugin name}_coursemodule_standard_elements() instead.

Signed-off-by: Daniel Ziegenberg <daniel@ziegenberg.at>
2023-03-14 17:04:20 +01:00
Mark Johnson 95d961fc2d MDL-72124 question: Fix system-level URLs in question events 2023-03-14 15:39:42 +00:00
Eloy Lafuente (stronk7) 12a8176926 on-demand release 4.2dev+ 2023-03-14 16:12:46 +01:00
Eloy Lafuente (stronk7) a51f525849 Merge branch 'install_master' of https://git.in.moodle.com/amosbot/moodle-install 2023-03-14 16:12:41 +01:00
Andrew Nicols 0b54a57e2a MDL-76867 core_admin: Remove tinymce following MDL-77308 2023-03-14 21:41:48 +08:00
Jun Pataleta 734f5446e3 Merge branch 'MDL-76991-master' of https://github.com/aanabit/moodle 2023-03-14 21:41:48 +08:00
Ilya Tregubov 1b7b8e21e0 MDL-76867 core_admin: Rebuild js. 2023-03-14 21:41:48 +08:00
Jun Pataleta 32fc5c14a0 Merge branch 'MDL-76680/master' of https://github.com/skodak/moodle 2023-03-14 21:41:48 +08:00
Ilya Tregubov a9acb554a1 Merge branch 'MDL-76867-master' of https://github.com/andrewnicols/moodle 2023-03-14 21:41:43 +08:00
Andrew Nicols cadd534db5 Merge branch 'MDL-76802-master' of https://github.com/sarjona/moodle 2023-03-14 21:40:45 +08:00
Tim Hunt c051fbd0c2 MDL-35745 quiz: let teachers to re-open a Never submitted attempt
In the quiz reports, for any 'Never submitted' attempt, there is
now a 'Re-open' button next to where it says the attempt state.

If that is clicked, there is an 'Are you sure?' pop-up. If the user
continues, the attempt is reopened. If the student now has time left,
the attempt is put into the In progress state. If there is not time
left the attempt is immediately submitted and graded. The
'Are you sure? pop-up says which of those two things will happen.
2023-03-14 13:09:27 +00:00
Juan Leyva 609e99b5cd MDL-73670 block: Remove hack to force returning the overview block 2023-03-14 13:14:29 +01:00
Mark Johnson 055f994afa MDL-68093 workshop: Add behat test for viewing reports by group 2023-03-14 08:52:26 +00:00
Mark Johnson 7095fe0caa MDL-68093 wiki: Restrict group options to participation groups 2023-03-14 08:52:26 +00:00
Mark Johnson 1a520430d4 MDL-68093 survey: Add behat test for viewing response reports by group 2023-03-14 08:52:26 +00:00
Mark Johnson 31a1a7b455 MDL-68093 scorm: Add behat test for viewing reports by group 2023-03-14 08:52:26 +00:00
Mark Johnson 988b7cbfa6 MDL-68093 quiz: Add behat test for viewing results by group 2023-03-14 08:52:26 +00:00
Mark Johnson 647628e839 MDL-68093 lesson: Add behat test for non-participation groups 2023-03-14 08:52:26 +00:00
Mark Johnson 247004108f MDL-68093 h5pactivity: Add restriction for participation groups. 2023-03-14 08:52:26 +00:00
Mark Johnson a1b1af77af MDL-68093 forum: Add behat tests for non-participation groups 2023-03-14 08:52:26 +00:00
Mark Johnson 7f9e7f2982 MDL-68093 feedback: Add behat tests for non-participation groups 2023-03-14 08:52:26 +00:00
Mark Johnson 8932fe55e5 MDL-68093 data: Add behat tests for groups 2023-03-14 08:52:26 +00:00
Mark Johnson 02f7e2d37b MDL-68093 choice: Add behat tests for groups 2023-03-14 08:52:26 +00:00
Mark Johnson dfa5310b80 MDL-68093 chat: Add behat tests for groups 2023-03-14 08:52:26 +00:00
Mark Johnson eb1aab3437 MDL-68093 bigbluebutton: Add behat tests for non-participation groups 2023-03-14 08:52:26 +00:00
Mark Johnson 0775756551 MDL-68093 assign: Restrict group submission to participation groups 2023-03-14 08:52:26 +00:00
Mark Johnson cab6e97c1f MDL-68093 availability: Add support for private rule sets
This allows an availability plugin to indicate that a selected condition
should be considered "private", and therefore should never be shown to
users who don't satisfy the criteria. The availability_groups plugin
uses this to protect visibility of groups that are not visible to
non-members.
2023-03-14 08:52:25 +00:00
Mark Johnson 958da5b67e MDL-68093 groups: Add visibility and participation settings
These new settings are designed to enchance user privacy surrounding
groups. They allow groups to be configured so that users outside the
group cannot see the group, so that users in the group cannot see each
other, or so that users cannot see the group at all, even if they are in
it. This avoids issues where a group may be assigned based on sensitive
personal information (such as a person requiring special arrangements
due to a disability).

By default, groups are visible to all and available for participation in
activities, which maintains the current behaviour.

For performance, a new cache has been added to track the number of
groups on a course that are not visible to non-members. This allows us
to revert to the existing behaviour if the new features are not being
used at all on a course, and only apply the new visibility conditions if
they are.

Users who have the moodle/course:viewhiddengroups capability should be
concious of exposing hidden groups when showing their screen to other
users. The "Switch role to..." feature can be used to show a course page
on screen without exposing private availability conditions, for example.

The changes cover several specific areas:
* grouplib functions, which most code should use to get lists of groups
  and members (this includes the participants page).
* Activities supporting group overrides will not allow overrides for
  groups that are hidden from all users.
* Activities supporting separate/visible groups modes will only allow
  groups with the new "participation" flag enabled to be selected.
* Group messaging will be disabled for groups where members cannot see
  each other, or cannot see the group at all.
2023-03-14 08:52:25 +00:00
Juan Segarra Montesinos d7055c80e2 MDL-76257 core: Activity intro should honor user preference on creation 2023-03-14 06:02:39 +01:00
Matt Porritt 02826f4395 MDL-76929 Libraries: Upgrade phpxmlrpc to 4.10.1 2023-03-14 14:45:42 +11:00
danghieu1407 b875ecdcc4 MDL-77419 Quiz: question/qengine.js tidy-up 2023-03-14 10:26:46 +07:00
Andrew Nicols 39f3b1ab66 MDL-77186 core: Move deprecated cron functions to deprecatedlib 2023-03-14 11:19:03 +08:00
Andrew Nicols 209cfe461d MDL-77186 core: Add upgrade note about core\cron migration 2023-03-14 11:19:03 +08:00
Andrew Nicols f6d9b81ebc MDL-77186 core: Address coding style violations in cron 2023-03-14 11:19:03 +08:00
Andrew Nicols 3cd05c7a15 MDL-77186 core: Move cron_setup_user to namespaced class 2023-03-14 11:19:03 +08:00
Andrew Nicols 070c781097 MDL-77186 core: Move max/default cron_keepalive to class const 2023-03-14 11:19:03 +08:00
Andrew Nicols 573066ba5f MDL-76867 core_admin: Standardise plugin management when plugin missing from disk 2023-03-14 11:07:43 +08:00
Huong Nguyen d2ae030fa7 MDL-76911 lib: Update jQuery to 3.6.4 2023-03-14 08:45:31 +07:00
Andrew Nicols 6aba049a64 MDL-76867 core_admin: Migrate media plugin management to dynamic table 2023-03-14 08:44:15 +08:00
Andrew Nicols 9bc9204a52 MDL-76867 core_admin: Migrate admin tool management to plugin management 2023-03-14 08:44:15 +08:00
Andrew Nicols 0d18f6d0d4 MDL-76867 core_admin: Migrate blocks admin ui to plugin management 2023-03-14 08:44:15 +08:00
Andrew Nicols 6d978dd35a MDL-76867 core_admin: Add support for editor sorting via ajax 2023-03-14 08:44:15 +08:00
Andrew Nicols f54cc61e4b MDL-76867 core_admin: Migrate editors admin ui to plugin management 2023-03-14 08:44:15 +08:00
Andrew Nicols 9f1c596dbd MDL-76867 core_admin: Migrate module management table to dynamic table 2023-03-14 08:44:15 +08:00
Andrew Nicols e2de093fe8 MDL-76867 editor_tiny: Add plugin management page 2023-03-14 08:44:15 +08:00
Andrew Nicols 51cfde0d3f MDL-76867 core: Add plugin management page 2023-03-14 08:44:15 +08:00
Andrew Nicols f4a48a517b MDL-76867 core_table: Allow dynamic table filterset to be specified
The previous behaviour guessed the table filterset based on the table's
class name, but this is not very flexible if you wish to create an
abstract table class and use a generic filter for all implementations.

This change adds the ability to specify the filterset class, with the
default behaviour using the table class name as a prefix.
2023-03-14 08:44:15 +08:00
Andrew Nicols fdb1df2bfd MDL-76867 core: Add plugintype_supports_disabling to plugininfo 2023-03-14 08:34:42 +08:00
Andrew Nicols 6809289cf4 MDL-76867 core: Plugintype coding style fixes 2023-03-14 08:34:42 +08:00
AMOS bot 19992963e6 Automatically generated installer lang files 2023-03-14 00:07:45 +00:00
Paul Holden 6b6e7eaad2 MDL-69882 phpunit: final removal of deprecated 310 helper methods. 2023-03-13 17:46:44 +00:00
Juan Leyva dd43bfd026 MDL-77585 grade: New WS gradereport_user_get_access_information 2023-03-13 15:20:34 +01:00
Tim Hunt e52dbcdef4 MDL-77611 tool_uploaduser: fix phpunit assumptions about profile fields 2023-03-13 13:31:33 +00:00
Andrew Nicols 347fc32088 MDL-77186 core: Rename incorrectly named test 2023-03-13 21:21:13 +08:00
Andrew Nicols 9ec46c232d MDL-77186 core: Move all uses of cronlib to new class 2023-03-13 21:21:13 +08:00
Andrew Nicols 99a67b615f MDL-77186 core: Move cronlib to namespaced class 2023-03-13 21:21:13 +08:00
Andrew Nicols 1b59967d71 MDL-77186 core: Add a new keepalive setting to cron 2023-03-13 21:19:55 +08:00
Andrew Nicols 097d2bda6c MDL-77186 admin: Add min/max limits to configduration 2023-03-13 21:19:37 +08:00
Andrew Nicols 733e85487a MDL-77186 core: Improve coding style for cron_run() 2023-03-13 21:19:37 +08:00
Andrew Nicols fbeb9f8952 MDL-77186 core: Improve coding style for cron.php 2023-03-13 21:19:36 +08:00
Sara Arjona f0a20c0a76 MDL-76802 core: Create a grunt task to get upgradable libs
A new grunt task, upgradablelibs, has been added in order to get the
list of libraries that have a newer version in their repositories.

Co-author: Andrew Lyons <andrew@moodle.com>
2023-03-13 11:53:23 +01:00
Amaia Anabitarte 6d2c321d7c MDL-76991 tool_mobile: Return course format indentation setting 2023-03-13 11:47:13 +01:00
Amaia Anabitarte a7c64595c8 MDL-76991 core_course: New course format setting to enable/disable indentation in weeks and topics 2023-03-13 11:47:13 +01:00
Sara Arjona edcfb3b27f MDL-76802 core: Add or update missing third-party repositories
While preparing the libraries that need to be upgraded for 4.2 in
MDL-76373 I've seen that the new Tiny editor missed the repository.
2023-03-13 11:39:30 +01:00
Paul Holden 3cb70de95f MDL-77608 mod_h5pactivity: namespace component lib testcase. 2023-03-13 09:36:40 +00:00
Laurent David 301c56ae1d MDL-77275 mod_data: Template reset button changes
* Remove the reset button in the sticky footer (template page)
* Add the reset button action in the Action menu
2023-03-13 07:35:44 +01:00
Simey Lameze 06cfcc8dae MDL-77574 myoverview: wait until next button exists before clicking 2023-03-13 14:11:35 +08:00
Jun Pataleta b711e80069 Merge branch 'MDL-77598' of https://github.com/paulholden/moodle 2023-03-13 14:08:45 +08:00
Jun Pataleta 973a6c39d6 Merge branch 'MDL-73144/402' of https://github.com/skodak/moodle 2023-03-13 13:34:19 +08:00
Jake Dallimore d0789c1a7a MDL-77382 core: fix error handling in oauth2 callback for auth'd users
Pass the errors back to the calling code when the user is authenticated,
otherwise, fall back on the existing redirection to the login page.
2023-03-13 10:47:23 +08:00
Jake Dallimore 2c38a73fe7 MDL-76926 enrol_lti: remove guzzle shim code as guzzle now in core 2023-03-13 10:42:56 +08:00
Jake Dallimore 550e45520d MDL-76926 libraries: update upgrade steps and 3rd party libs for lt1p3 2023-03-13 10:42:56 +08:00
Jake Dallimore efae8d36d5 MDL-76926 libraries: upgrade lib/lti1p3 to patched v5.2.6 2023-03-13 10:42:56 +08:00
Meirza 170561ee94 MDL-76914 libraries: upgrade Chart.js to 4.2.1 2023-03-13 08:53:26 +07:00
AMOS bot 9b79ec922c Automatically generated installer lang files 2023-03-12 00:07:55 +00:00
Petr Skoda 80d32fc93a MDL-76680 core: disable $USER->ignoresesskey on next page 2023-03-11 10:37:12 +01:00
Paul Holden 9bf8699b7c MDL-77598 editor_tinymce: ensure sub-plugins are also uninstalled. 2023-03-10 16:37:32 +00:00
Paul Holden 61cd980fb7 MDL-77598 logstore_legacy: complete plugin uninstallation step. 2023-03-10 16:19:12 +00:00
Petr Skoda 98bcff8d8e MDL-73144 core: switch to Dart sass 2023-03-10 16:25:17 +01:00
Jun Pataleta 5e1df25566 weekly release 4.2dev 2023-03-10 22:09:48 +08:00
Jun Pataleta 55831380be Merge branch 'install_master' of https://git.in.moodle.com/amosbot/moodle-install 2023-03-10 22:09:46 +08:00
Nils Adermann e63ed5511b MDL-70687 session: Redis session lock exp = max exec time
If for any reason a Redis session lock is not being released, all subsequent
requests will wait to acquire the lock, forcing them to time out eventually.
This will happen till the original lock finally expires after the session timeout.

This sets the Redis session lock expiry time to whatever is lower,
either the PHP execution time `max_execution_time`, if the value was
defined in the `php.ini` or the globally configured `sessiontimeout`.
Setting it to the lower of the two will not make things worse it if the
execution timeout is longer than the session timeout.
For the PHP execution time, once the PHP execution time is over, we can
be sure that the lock is no longer actively held so that the lock can
expire safely. Although at `lib/classes/php_time_limit.php::raise(int)`,
Moodle can progressively increase the maximum PHP execution time, this
is limited to the `max_execution_time` value defined in the `php.ini`.
For the session timeout, we assume it is safe to consider the lock to
expire once the session itself expires.
If we unnecessarily hold the lock any longer, it blocks other session
requests.

Co-authored-by: Daniel Ziegenberg <daniel@ziegenberg.at>
Signed-off-by: Daniel Ziegenberg <daniel@ziegenberg.at>
2023-03-10 12:33:53 +01:00
Ilya Tregubov 5b277492ea Merge branch 'MDL-77429-master-fix' of https://github.com/andrewnicols/moodle 2023-03-10 14:52:27 +08:00
Andrew Nicols 17ff77a9c0 MDL-77429 course: Change course date to previous day
When a test runs just after midnight, and the user time zone is not the
same as the server timezone, and the course is created using a generator
(which runs in server time zone) but the UI presented in the user
timezone, the course start time is still in the future.

We need to create the course a day earlier to ensure that the "This
week" indicator is in the correct day.
2023-03-10 14:11:23 +08:00
Ilya Tregubov 2a52e1d742 MDL-77172 tool_capability: Rebuilt map file for search.js 2023-03-10 13:39:32 +08:00
Andrew Nicols 68f92f7a80 MDL-77037 core_course: Add new courseindex test to classic excludelist 2023-03-10 13:31:34 +08:00
Andrew Nicols b038d8ff3c Merge branch 'MDL-77582-master' of https://github.com/sarjona/moodle 2023-03-10 12:19:17 +08:00
Jun Pataleta d990390775 Merge branch 'MDL-77458-master' of https://github.com/andrewnicols/moodle 2023-03-10 12:06:16 +08:00
Ilya Tregubov 827b6ac216 Merge branch 'MDL-77172' of https://github.com/paulholden/moodle 2023-03-10 11:43:30 +08:00
Jake Dallimore 3f8994c07d Merge branch 'MDL-77517-master' of https://github.com/juancs/moodle 2023-03-10 11:38:11 +08:00
Brendan Heywood 327d1ced40 MDL-77530 tool_task: Fix coding errors in longrunningtasks check 2023-03-10 11:28:45 +08:00
Brendan Heywood 653ad78f43 MDL-77530 tool_task: Fix coding errors in checks 2023-03-10 11:28:45 +08:00
Ilya Tregubov 27e0329a08 Merge branch 'MDL-77291-master' of https://github.com/sarjona/moodle 2023-03-10 10:44:41 +08:00
Jun Pataleta 5896d29905 Merge branch 'MDL-76603-master' of https://github.com/junpataleta/moodle 2023-03-10 10:15:12 +08:00
Shamim Rezaie ae197c027a MDL-76603 gradingforms: Some A11y fixes on editing form
- Use span instead of dummy input elements because form elements need a
  label
- Sufficient size for target is at least 24px by 24px (Success Criteria
  2.5.8)
2023-03-10 10:08:42 +08:00
Shamim Rezaie 48b7dc597b MDL-76603 mod_assign: Move advanced grading grades out of the tables 2023-03-10 10:08:42 +08:00
Andrew Nicols 1fa8fa0fb5 Merge branch 'MDL-77567' of https://github.com/paulholden/moodle 2023-03-10 09:46:24 +08:00
Andrew Nicols 8393a0f288 Merge branch 'MDL-76849-master-5' of https://github.com/junpataleta/moodle 2023-03-10 09:29:28 +08:00
Jun Pataleta 7063f9c17f Merge branch 'MDL-70613' of https://github.com/paulholden/moodle 2023-03-10 09:19:55 +08:00
Sara Arjona 9ddb0132f6 Merge branch 'MDL-77323-master' of https://github.com/NashTechOpenUniversity/moodle 2023-03-09 16:48:34 +01:00
Paul Holden 1218a03850 MDL-70613 mod_feedback: cast feedback text values for table sorting.
Specifically avoids Oracle ORA-00932 (inconsistent CLOB datatype).
2023-03-09 14:59:05 +00:00
Andrew Nicols 43f5bfdbe4 Merge branch 'MDL-76970-master' of https://github.com/laurentdavid/moodle 2023-03-09 22:22:32 +08:00
Andrew Nicols 7beb5d5af2 Merge branch 'mdl-77329-master-clr' of https://github.com/ferranrecio/moodle 2023-03-09 22:18:25 +08:00
Andrew Nicols cc7cf2f49a Merge branch 'MDL-77431-master' of https://github.com/lucaboesch/moodle 2023-03-09 22:17:20 +08:00
Andrew Nicols 4330efc85f Merge branch 'MDL-77463-master' of https://github.com/andelacruz/moodle 2023-03-09 22:09:41 +08:00
Andrew Nicols 19a06a04a9 Merge branch 'MDL-77429-master' of https://github.com/andelacruz/moodle 2023-03-09 22:03:12 +08:00
Andrew Nicols 37fa8c6fc0 MDL-77037 core_course: Coding style fix in Behat feature 2023-03-09 21:59:29 +08:00
Andrew Nicols c9cc52aec1 Merge branch 'MDL-77037-master' of https://github.com/laurentdavid/moodle 2023-03-09 21:53:01 +08:00
Sara Arjona 6c6adc462c MDL-77582 mod_quiz: Fix view_url() on null error 2023-03-09 13:57:41 +01:00
James C 2702583d6c MDL-77329 course: Prevent collapse state loss 2023-03-09 11:49:55 +01:00
Sara Arjona 1a76b44a7a Merge branch 'MDL-76940-master' of https://github.com/laurentdavid/moodle 2023-03-09 10:54:41 +01:00
Ilya Tregubov 58fb00eb18 Merge branch 'MDL-77308-master' of https://github.com/andrewnicols/moodle 2023-03-09 17:02:07 +08:00
Jun Pataleta 7e8212c7ab Merge branch 'MDL-77533' of https://github.com/paulholden/moodle 2023-03-09 16:35:40 +08:00
Ilya Tregubov 1e8c9685fd Merge branch 'MDL-77056' of https://github.com/paulholden/moodle 2023-03-09 16:16:59 +08:00
Jun Pataleta 8441270181 Merge branch 'MDL-77559-master-2' of https://github.com/andrewnicols/moodle 2023-03-09 16:02:01 +08:00
Laurent David 387371bacd MDL-77037 core_courseformat: Refresh course index
* Refresh course index when language change
2023-03-09 08:41:02 +01:00
Andrew Nicols f58a71baab MDL-77308 core: Remove editor_tiny from core 2023-03-09 15:28:35 +08:00
Andrew Nicols edc4d51e6e Merge branch 'MDL-77420-master' of https://github.com/ferranrecio/moodle 2023-03-09 11:52:59 +08:00
Andrew Nicols 0a3b918b3c Merge branch 'MDL-77014-master' of https://github.com/lucaboesch/moodle 2023-03-09 11:41:49 +08:00
Andrew Nicols 61f32d5ec6 Merge branch '76945-bootstrap-dropdowns-master' of https://github.com/DSI-Universite-Rennes2/moodle 2023-03-09 10:53:50 +08:00
Andrew Nicols 5ae44ff9d3 Merge branch 'MDL-77467' of https://github.com/timhunt/moodle 2023-03-09 10:46:36 +08:00
Jun Pataleta 6ae65770b5 Merge branch 'MDL-77225' of https://github.com/timhunt/moodle 2023-03-09 10:43:15 +08:00
Andrew Nicols 8edff671b5 Merge branch 'MDL-77418' of https://github.com/paulholden/moodle 2023-03-09 10:35:16 +08:00
Andrew Nicols 1e1b1144c7 Merge branch 'master' of https://github.com/fcbsd/moodle 2023-03-09 10:28:22 +08:00
Andrew Nicols 29a48b540c Merge branch 'MDL-77539' of https://github.com/paulholden/moodle 2023-03-09 10:09:29 +08:00
Andrew Nicols 511401f4f6 MDL-77559 js: Rebuild all JS with Node 16 2023-03-09 09:53:19 +08:00
Jun Pataleta 5e51f083a1 MDL-76849 qtype_essay: Allow question number inclusion in answer fields
* Have the following classes extend qtype_essay_format_renderer_base
  as they have been meant to:
  - qtype_essay_format_editor_renderer
  - qtype_essay_format_noinline_renderer
  - qtype_essay_format_plain_renderer
* Add a question_display_options instance variable for
qtype_essay_format_renderer_base so its subclasses can use it to
generate the label for their respective answer fields.
2023-03-09 08:59:33 +08:00
Jun Pataleta 4e4e66cfe8 MDL-76849 qtype_shortanswer: Include question number in answer fields 2023-03-09 08:59:33 +08:00
Jun Pataleta 91205c8884 MDL-76849 qtype_numerical: Include question number in answer fields
* Also covers its qtype_calculated and qtype_calculatedsimple
which extend its renderer class
2023-03-09 08:59:33 +08:00
Jun Pataleta 7f7ce0d199 MDL-76849 qtype_multianswer: Include question number in answer fields
* Add the question number to the answer fields if it's available.
* Improve multiple choice question accessibility:
  - Label the multiple choice question groups appropriately by
    enclosing them in fieldset tags and applying sr-only legend tags to
    label them.
  - Apply Bootstrap form-check classes to the radio buttons, so they
    are rendered better and become responsive as well. This also helps
    avoid the use of the table element for layout purposes when
    rendering horizontal multiple choice sub-questions.
2023-03-09 08:59:33 +08:00
Jun Pataleta 28c6b39640 MDL-76849 qtype_match: Include question number in answer fields 2023-03-09 08:59:33 +08:00
Jun Pataleta 5739770d98 MDL-76849 qtype_truefalse: Include question number in answer fields
* Improve accessibility as well by grouping the radio buttons
in a fieldset.
2023-03-09 08:59:33 +08:00
Jun Pataleta 70ea4b9df1 MDL-76849 qtype_multichoice: Include question number in answer fields
* Improve accessibility as well by grouping the radio buttons/checkboxes
in a fieldset.
2023-03-09 08:59:33 +08:00
Jun Pataleta 5b4258d7a7 MDL-76849 qtype_ddwtos: Include question number in answer fields
* Plus include the item number so users will have an idea which blank
numbers they are currently on.
2023-03-09 08:59:33 +08:00
Jun Pataleta fdc24f0470 MDL-76849 qtype_gapselect: Include question number in answer fields 2023-03-09 08:59:33 +08:00
Jun Pataleta fb651434e0 MDL-76849 qtype: Add a questionidentifier instance variable
* Add an instance variable to question_display_options to store the
identifier associated with the question being rendered.
* This information can be used by question type plugins to improve the
accessibility of the answer fields being rendered by adding the
question identifier to the answer fields' labels.
* Adding the question identifier to the label can be achieved by using
question_display_options::add_question_identifier_to_label().

Co-authored-by: Tim Hunt <t.j.hunt@open.ac.uk>
2023-03-09 08:59:33 +08:00
Andrew Nicols a9f2cb6926 MDL-77559 js: Revert "MDL-75012 core: Bump NodeJS version requirements"
This reverts commit 6d0fdd8fd8.
2023-03-09 08:22:08 +08:00
Andrew Nicols 3c2be0bf6d MDL-77559 js: Revert "MDL-75012 js: Bump standard dependencies"
This reverts commit f70d9a3eef.
2023-03-09 08:21:55 +08:00
Andrew Nicols 7081e0beb0 MDL-77559 js: Revert "MDL-75012 js: Remove grunt-contrib-uglify"
This reverts commit abb6877596.
2023-03-09 08:21:36 +08:00
Andrew Nicols ab981109ef MDL-77559 js: Revert "MDL-75012 js: Bump stylelint and components"
This reverts commit 1c73373b3d.
2023-03-09 08:21:22 +08:00
Andrew Nicols faea97bd56 MDL-77559 js: Revert "MDL-75012 js: Update browserslist"
This reverts commit 19f5ffb28a.
2023-03-09 08:21:19 +08:00
Andrew Nicols b90a48dd46 MDL-77559 js: Revert "MDL-75012 js: Bump node-sass"
This reverts commit 7c3db6d458.
2023-03-09 08:21:15 +08:00
Andrew Nicols 4b7fbb189b MDL-77559 js: Revert "MDL-75012 js: Audit fix"
This reverts commit 472fc27ab9.
2023-03-09 08:21:12 +08:00
Andrew Nicols 9d7929cc15 MDL-77559 js: Revert "MDL-75012 js: Use our own jsdoc wrapper"
This reverts commit 5d0631b6a1.
2023-03-09 08:21:07 +08:00
Andrew Nicols 73bc2604f0 MDL-77559 js: Revert "MDL-75012 js: Bump shifter to new version"
This reverts commit b3f7721cdd.
2023-03-09 08:21:03 +08:00
Andrew Nicols 551c058b08 MDL-77559 js: Revert "MDL-75012 js: Put shifter on a diet"
This reverts commit 784098fe9e.
2023-03-09 08:20:57 +08:00
Andrew Nicols dde8111811 MDL-77559 js: Revert "MDL-75012 js: Drop support for modules built pre-babel"
This reverts commit 84c650489a.
2023-03-09 08:20:53 +08:00
Andrew Nicols 103892b3f0 MDL-77559 js: Revert "MDL-75012 js: Remove unused babel-preset-minify dependency"
This reverts commit ed3c951001.
2023-03-09 08:20:49 +08:00
Andrew Nicols 63cab4a560 MDL-77559 js: Revert "MDL-75012 js: Bump Babel dependencies"
This reverts commit ee0e2bcc8f.
2023-03-09 08:20:45 +08:00
Andrew Nicols 805d34f8c4 MDL-77559 js: Revert "MDL-75012 core: Fix upgrade.txt conflicts"
This reverts commit 8ce226081c.
2023-03-09 08:20:42 +08:00
Andrew Nicols 1e4a2f5dc8 MDL-77559 js: Revert "MDL-75012 js: Remove orphaned source maps"
This reverts commit baef734ef7.
2023-03-09 08:19:24 +08:00
AMOS bot 21202cca89 Automatically generated installer lang files 2023-03-09 00:07:44 +00:00
Tim Hunt 1c86e18fde MDL-77225 questions: fix regrade of descriptions in finished attempts
The added logic is similar to the logic in other behaviours, and the new test fails without it.
2023-03-08 19:00:01 +00:00
Sara Arjona 7b6a00dec4 Merge branch 'MDL-77464' of https://github.com/timhunt/moodle 2023-03-08 16:14:40 +01:00
Paul Holden f4134f6a73 MDL-77567 tool_behat: remove global library requires in external class.
We already deferred their loading in 3982341f, but the requires were since
added back mistakenly.
2023-03-08 14:54:13 +00:00
Laurent David 8f3d9e291e MDL-76940 core_courseformat: Index refreshing when role switch
* Hidden sections and content should not visible to students when switching role
2023-03-08 11:47:21 +01:00
Ilya Tregubov 25254ceea3 Merge branch 'MDL-77163-master' of https://github.com/andrewnicols/moodle 2023-03-08 17:28:13 +08:00
Ilya Tregubov ce3fd6a75d Merge branch 'MDL-77414-master' of https://github.com/andelacruz/moodle 2023-03-08 17:04:32 +08:00
Shamim Rezaie 74b103b218 MDL-76603 gradingform_rubric: preserve bg colour on hover 2023-03-08 19:32:07 +11:00
Shamim Rezaie 8b0fe1ee00 MDL-76603 gradingform_rubric: fix roles
- set the role of table to none
- moved aria-label from <table> element (that doesn't has role="none")
  to the element that has the radiogroup role
- if it's not radiogroup/radio, it is list/listitem
- removed aria-label from the rubric table and used caption instead
2023-03-08 19:32:07 +11:00
Angelia Dela Cruz 6c5740ba37 MDL-77429 Behat: Add coverage for changing course format as teacher 2023-03-08 15:47:34 +08:00
Jun Pataleta 42b994a808 Merge branch 'MDL-76919-master' of https://github.com/andrewnicols/moodle 2023-03-08 15:45:32 +08:00
Luca Bösch d70ed83644 MDL-77014 course: Single activity format course title multilang. 2023-03-08 08:03:22 +01:00
Laurent David f5d0b197f8 MDL-76970 mod_forum: Login prompt for guest users
* When user submit to a forum as an anonymous user, the login prompt
should clearly explain the follow up actions.
2023-03-08 07:50:35 +01:00
Andrew Nicols 974d7e4dab Merge branch 'MDL-52805-42' of https://github.com/Chocolate-lightning/moodle 2023-03-08 14:49:59 +08:00
Angelia Dela Cruz 0612c6f8a5 MDL-77414 Behat: Coverage for "Require all group members submit" setting 2023-03-08 14:44:45 +08:00
Sara Arjona 022acf037b Merge branch 'MDL-77440' of https://github.com/timhunt/moodle 2023-03-08 07:23:35 +01:00
Angelia Dela Cruz d1c03c435c MDL-77463 Behat: Coverage for assign submission notification to teacher 2023-03-08 14:11:10 +08:00
Jun Pataleta 530e55e077 Merge branch 'MDL-77472' of https://github.com/paulholden/moodle 2023-03-08 11:53:46 +08:00
Petr Skoda 9f178c1f81 MDL-77524 filter_algebra: fix error message 2023-03-08 11:26:40 +08:00
Jake Dallimore c61e59cd68 Merge branch 'MDL-77031-master' of https://github.com/mihailges/moodle 2023-03-08 11:00:08 +08:00
Paul Holden f0a557bffb MDL-75517 report_participation: filter report by viewable roles only. 2023-03-08 10:36:52 +08:00
Michael Hawkins 493205b6b2 MDL-77204 mod_wiki: Clean filename in Moodle1 backup 2023-03-08 10:33:14 +08:00
Paul Holden 81e74af17f MDL-77046 availability: validate profile field in condition. 2023-03-08 10:23:55 +08:00
Paul Holden a931a7f8ce MDL-76809 gradereport_history: pre-filter report userids filter.
Ensure current user is able to access each of the provided userids.
2023-03-08 09:59:49 +08:00
Ilya Tregubov bb69388f82 Merge branch 'MDL-77446-master' of https://github.com/andelacruz/moodle 2023-03-08 09:18:13 +08:00
Petr Skoda 1899e03973 MDL-76645 filter_data: fix link title attribute 2023-03-08 00:54:14 +00:00
Paul Holden 0e3c8eb740 MDL-77129 tool_lp: remove redundant call to set page header. 2023-03-08 00:54:14 +00:00
Paul Holden 355556c05f MDL-77008 mod_data: require sesskey to reset module templates. 2023-03-08 00:54:14 +00:00
Lars Bonczek 128c0c2160 MDL-75659 core: Don't render component argument twice in mustache pix helper 2023-03-08 00:54:14 +00:00
Jun Pataleta 85718f00d8 Merge branch 'MDL-77416-master-enfix' of https://github.com/vmdef/moodle 2023-03-08 08:50:30 +08:00
Jake Dallimore bc0bc7ac4c MDL-75650 core: add moodlenet oauth2 service to core 2023-03-08 08:48:20 +08:00
Jake Dallimore 40af893af5 MDL-75650 core: add oauth2 auth server config reader
Simple JSON reader which takes an issuer and reads its metadata. The
class is aware of request-centric rules, such as:
- The position of the well known suffix in the URL (per RFC8414)
- The requirement to have HTTPS auth server issuer URL
- The validity of query strings, paths and fragments in the auth server
issuer URL
,but makes no attempt to validate the config JSON returned.
2023-03-08 08:48:20 +08:00
AMOS bot 0f78929786 Automatically generated installer lang files 2023-03-08 00:07:47 +00:00
Paul Holden 198db552b0 MDL-77056 reportbuilder: relative date filter for before given period. 2023-03-07 22:46:50 +00:00
Roberto Bravo 6c3b8ae16d MDL-77256 tool_uploaduser: fix get allowed roles for courses
During user upload the permission to assign roles is checked in the wrong context
2023-03-07 18:37:22 +01:00
Dani Palou aba460cec9 MDL-77550 lesson: Format decimals in feedback page 2023-03-07 15:56:26 +01:00
Tim Hunt 1a3897d1ba MDL-77464 questions: regrading was losing question_attempt metadata
This is very similar to MDL-77090, but at the time, I missed that this
also needed to be handled. (Question metadata is, I think, only used
by the quiz 'Try another question like this one' feature.)
2023-03-07 13:40:10 +00:00
Paul Holden 5b7c1491fc MDL-69124 course: final removal of deprecated 310 method. 2023-03-07 12:43:44 +00:00
Ferran Recio 5e445c0e3a MDL-77420 core: fix modal close button on remove on close 2023-03-07 13:13:44 +01:00
Angelia Dela Cruz 76ce84befb MDL-77446 Behat: Add coverage for changing uploaded file details 2023-03-07 16:08:12 +08:00
Mathew May 00747e2641 MDL-52805 core: Remove references to old logging in behat 2023-03-07 13:08:46 +08:00
Mathew May 33ebbddde2 MDL-52805 core: Remove legacy log plugin and more calls 2023-03-07 13:08:46 +08:00
Mathew May 5dace7abc8 MDL-52805 core: Plugins with removed tests due to old events 2023-03-07 13:08:46 +08:00
Mathew May e5ca7766e7 MDL-52805 core: Remove legacy log calls 2023-03-07 13:08:46 +08:00
Andrew Nicols 565a615308 Merge branch 'MDL-77094' of https://github.com/timhunt/moodle 2023-03-07 12:08:58 +08:00
Andrew Nicols 830c9fd7dd Merge branch 'MDL-77336-master' of https://github.com/meirzamoodle/moodle 2023-03-07 12:01:30 +08:00
Andrew Nicols be76699b78 Merge branch 'MDL-77345-master' of https://github.com/meirzamoodle/moodle 2023-03-07 11:29:23 +08:00
Mathew May fce2e17633 MDL-52805 core: Add debugging for old event functions 2023-03-07 11:10:02 +08:00
Ilya Tregubov d4e2192da1 Merge branch 'MDL-75542-master' of https://github.com/PhMemmel/moodle 2023-03-07 08:21:47 +08:00
AMOS bot 8b1ce3c572 Automatically generated installer lang files 2023-03-07 00:07:44 +00:00
Sara Arjona 31aee1c82e MDL-77291 behat: Fix some behat scenarios
Some behat scenarios were using labels with links to access some
specific PHP files.
Now that labels are also displayed in the course index, the region
needs to be defined in the step to access to the expected link
(otherwise, the one in the course index will be used).
2023-03-06 17:26:37 +01:00
Tim Hunt 72d2d24815 MDL-77464 questions: update comments in question_attempt_step
The class comment had some inaccuracies which I fixed.
I also replaced all uses of @link with @see.
2023-03-06 16:23:13 +00:00
Sara Arjona c282cec66c Merge branch 'MDL-77460-master' of https://github.com/lameze/moodle 2023-03-06 16:33:53 +01:00
Paul Holden 76a48c8270 MDL-77539 blog: null coalesce external blog form name/description.
We can't pass null to most string related functions (e.g. `trim`) in
PHP8.1 onwards.
2023-03-06 14:49:07 +00:00
Paul Holden 39f6f7324e MDL-77541 customfield_select: final removal of deprecated 310 method. 2023-03-06 12:45:34 +00:00
fcbsd e2d138f250 MDL-77365 count_words: Make span> an inline tag 2023-03-06 10:59:44 +00:00
Meirza e2d5d50276 MDL-77336 admin: Added class properties that are not declared.
In PHP 8.2 and later, setting a value to an undeclared class property is
deprecated and emits a deprecation notice.
So we need to add missing class properties that still need to be declared.
2023-03-06 16:44:06 +07:00
Paul Holden e084865f19 MDL-77533 customfield: fix exception thrown during handler retrieval. 2023-03-06 09:05:52 +00:00
Meirza 210b1ea87b MDL-77345 mod_wiki: Added missing class properties.
In PHP 8.2 and later, setting a value to an undeclared class property is
deprecated and emits a deprecation notice.
So we need to add missing class properties that still need to be declared.
2023-03-06 10:44:04 +07:00
Paul Holden 6a62ccc52a MDL-77472 grade: correct URL param type for adding tracking params. 2023-03-05 20:06:40 +00:00
Andrew Nicols c1f9b5122c Merge branch 'MDL-77462' of https://github.com/timhunt/moodle 2023-03-05 22:11:08 +08:00
Andrew Nicols 4018ca9023 Merge branch 'MDL-76922-master' of https://github.com/sarjona/moodle 2023-03-05 21:57:53 +08:00
Andrew Nicols 668f65f281 Merge branch 'MDL-76907-master' of https://github.com/sarjona/moodle 2023-03-05 21:54:42 +08:00
Andrew Nicols 031721c29f Merge branch 'MDL-76925-master' of https://github.com/sarjona/moodle 2023-03-05 21:53:11 +08:00
Juan Segarra Montesinos 35c2161472 MDL-77517 js: Disable "Edit mode" button when clicked
When clicked, disable the "Edit mode" button just before doing a
redirection. It's been reported that after clicling several times the
button, an inconsistent state between the button and the editing mode is
achieved. The patch mitigates the issue.
2023-03-05 06:40:49 +01:00
Paul Holden 47c0e48c9c MDL-77172 tool_capability: replace YUI search with ESM version. 2023-03-04 10:19:31 +00:00
Andrew Nicols c50c88e0e6 Merge branch 'MDL-77387_master' of https://github.com/pmaneggia/moodle 2023-03-04 13:30:30 +08:00
Víctor Déniz 6a9f78b0e7 MDL-77416 lang: Use fixed strings in tests 2023-03-03 14:15:30 +00:00
Helen Foster 2e99dd6346 MDL-77416 lang: Import fixed English strings (en_fix) 2023-03-03 14:02:06 +00:00
Andrew Nicols d3cdfc645e Merge branch 'MDL-70226-master' of https://github.com/sarjona/moodle 2023-03-03 20:51:22 +08:00
Sara Arjona 5c20b537b4 MDL-70226 course: Add more options to the activitychoosertabmode setting
Some extra options have been added to the activitychoosertabmode setting, to let
admins decide when to display the Recommended tab.
Apart from that, one of these values have be set as default value for this setting,
as suggested by the UX/PX teams. So the Starter and Full presets have been updated
too with the new values.
2023-03-03 13:45:15 +01:00
Sara Arjona 4e6593263d MDL-76925 lib: Set Moodle files after axe upgrade 2023-03-03 11:46:29 +01:00
Sara Arjona c0e910cc4b MDL-76925 lib: Upgrade axe to 4.6.3 2023-03-03 11:46:28 +01:00
Sara Arjona 0bcb4a66cb MDL-76922 lib: Set Moodle files after PHPSpreadSheet upgrade 2023-03-03 11:45:49 +01:00
Sara Arjona a95afa1316 MDL-76922 lib: Upgrade PHPSpreadSheet to 1.28.0 2023-03-03 11:45:49 +01:00
Sara Arjona 43c79ce226 MDL-76907 lib: Set Moodle files after minify upgrade 2023-03-03 11:45:10 +01:00
Peter Dias e9cb651b5d MDL-76907 core: Add custom Moodle patch to minify
There is a Pull-request from Tim Hunt to the project in GitHub
(https://github.com/matthiasmullie/minify/issues/317) but, for now,
as it hasn't been applied yet, we need to manually cherry-pick
this change.
2023-03-03 11:45:10 +01:00
Sara Arjona dc40a20ed7 MDL-76907 lib: Upgrade minify to 1.3.70 2023-03-03 11:45:10 +01:00
Paola Maneggia 7b5c35895b MDL-77387 course: drop 'moodle/course:view' for course copy UI
Enabling the course copy UI of MDL-64843 already without the capability 'moodle/course:view'
has the advantage, that a user with 'moodle/course:create', 'moodle/backup:backupcourse'
and 'moodle/restore:restorecourse' (typically a teacher)
will be able to use this UI for their own courses and with the additional benefit
of also being enrolled in the copied course.
Important: the role assigned to the user who copies a course is determined
by the value of the setting 'creatornewroleid', which defaults to 'editingteacher'.
2023-03-03 08:49:43 +00:00
Tim Hunt de086efd41 MDL-77462 core_question: avoid passing null to preg_match 2023-03-03 08:46:00 +00:00
Jun Pataleta 3f223172c6 Merge branch 'MDL-77428-master' of https://github.com/andelacruz/moodle 2023-03-03 16:35:22 +08:00
Ferran Recio 5f59807c06 MDL-77291 core_courseformat: show labels in course index 2023-03-03 09:15:11 +01:00
Andrew Nicols be39b195fd Merge branch 'MDL-77434-master' of https://github.com/lameze/moodle 2023-03-03 16:01:29 +08:00
Luca Bösch d855c47b77 MDL-77431 course: Let the bulk edit toggle look like edit mode switch. 2023-03-03 08:54:56 +01:00
Andrew Nicols 80f3336478 Merge branch 'master_MDL-77300' of https://github.com/mattporritt/moodle 2023-03-03 15:35:04 +08:00
Andrew Nicols 479d3a6ce9 Merge branch 'MDL-77370-master' of https://github.com/rbravod/moodle 2023-03-03 15:28:35 +08:00
Andrew Nicols dc31744914 Merge branch 'MDL-76908-master' of https://github.com/cescobedo/moodle 2023-03-03 15:01:43 +08:00
Philipp Memmel e026dd9caf MDL-75542 core_courseformat: Add param for expanding section 2023-03-03 07:54:07 +01:00
Andrew Nicols 74a44f78a3 Merge branch 'MDL-77232' of https://github.com/davidpesce/moodle 2023-03-03 14:39:32 +08:00
Matt Porritt 998a009c42 MDL-76909 Libraries: Upgrade Simplepie to 1.8.0 2023-03-03 16:42:01 +11:00
Laurent David b318fa7320 MDL-76339 mod_bigbluebuttonbn: Update dismissed recordings
* When the server is not reachable (or recordings are not reacheable)
the recording is set to RECORDING_STATUS_DISMISSED and is then
not visible in the list.
* Add a CLI script to solve potential issue with DISMISSED recordings
2023-03-03 05:48:53 +01:00
Jun Pataleta d5dd0e2c18 MDL-76849 question: New lang strings for answer fields 2023-03-03 12:48:02 +08:00
Matt Porritt 6a82ef2474 MDL-76923 Libraries: Upgrade ZipStream to 2.4.0 2023-03-03 15:09:08 +11:00
Andrew Nicols 4ee86a5256 Merge branch 'MDL-77327' of https://github.com/timhunt/moodle 2023-03-03 12:02:44 +08:00
Jake Dallimore 556208417d weekly release 4.2dev 2023-03-03 11:08:26 +08:00
Jake Dallimore 88978c38b9 Merge branch 'install_master' of https://git.in.moodle.com/amosbot/moodle-install 2023-03-03 11:08:24 +08:00
Andrew Nicols 4113ab2f5e MDL-76919 editor_tiny: Improve import instructions
This includes a number of changes to improve how we manage the import of
security patches and repeatability of the build.
2023-03-03 10:57:38 +08:00
Andrew Nicols 1f9cf76c53 MDL-76919 editor_tiy: Bump to version 6.3.2 2023-03-03 09:32:31 +08:00
Tim Hunt 497c527e98 MDL-77467 retore: add progress tracking to potentially slow steps 2023-03-02 15:36:28 +00:00
David Pesce ab1b671110 MDL-77232 enrol_lti: Parallelize lti (1.3) gradesync using adhoc tasks 2023-03-02 09:33:20 -05:00
Meirza 6d2e7a56e0 MDL-76915 libraries: upgrade GeoIP2 to 2.13.0 2023-03-02 21:25:42 +07:00
Andrew Nicols e80987133b MDL-77458 core: Add supported php version info to phpcs config 2023-03-02 20:37:52 +08:00
Roberto Bravo 25c2d17157 MDL-77370 admin: Add a new setting for Support contact 2023-03-02 12:58:07 +01:00
Paul Holden 6e4f1b9a5e MDL-76910 libraries: upgrade to version 6.6.2 of TCPDF. 2023-03-02 11:31:02 +00:00
Mihail Geshoski a05cfc2487 MDL-77031 grade: Revamp the styling of the gradebook setup 2023-03-02 17:01:54 +08:00
Angelia Dela Cruz cb6355ee3c MDL-77428 Behat: Add coverage for forum post word count 2023-03-02 13:44:09 +08:00
Matt Porritt 78e2e20709 MDL-76906 Libraries: Upgrade ADODB to 5.22.4 2023-03-02 16:22:14 +11:00
Simey Lameze f7f3ccf06e MDL-77434 core: add a comment explaining the php versions strategy 2023-03-02 13:14:43 +08:00
Jun Pataleta baef734ef7 MDL-75012 js: Remove orphaned source maps 2023-03-02 13:04:55 +08:00
Jun Pataleta 8ce226081c MDL-75012 core: Fix upgrade.txt conflicts 2023-03-02 12:57:28 +08:00
Jun Pataleta 916503658d Merge branch 'MDL-75012-master-5' of https://github.com/andrewnicols/moodle 2023-03-02 12:34:34 +08:00
Andrew Nicols abccd6ba40 Merge branch 'MDL-77386-master' of https://github.com/ferranrecio/moodle 2023-03-02 12:06:27 +08:00
Andrew Nicols 30d898cbe6 Merge branch 'MDL-76825-master' of https://github.com/meirzamoodle/moodle 2023-03-02 12:05:07 +08:00
Jun Pataleta 724f8b8cb9 Merge branch 'MDL-75719-master-4' of https://github.com/ilyatregubov/moodle 2023-03-02 12:03:19 +08:00
Andrew Nicols 33b1e41f13 MDL-75012 js: Full build of all grunt things 2023-03-02 11:55:32 +08:00
Andrew Nicols ee0e2bcc8f MDL-75012 js: Bump Babel dependencies
Please note that whilst some dependencies have higher versions
available, these are not compatible at this time.
2023-03-02 11:55:32 +08:00
Andrew Nicols ed3c951001 MDL-75012 js: Remove unused babel-preset-minify dependency 2023-03-02 11:55:31 +08:00
Andrew Nicols 84c650489a MDL-75012 js: Drop support for modules built pre-babel
We now include more polyfills than we have ever done, and some of these
cause false-positives on our code to address modules which do not have a
name.

We started adding module names to modules in Moodle 3.8 at _build_ time
and kept support for modules which were not transpiled using Babel
before that point.

We no longer need to support this as all pre-3.8 Moodle versions are
long out of support. The most recent to go out of support was Moodle
3.5, which went completely out of support in May 2021.

We should not support code written and minified without a transpilation
phase from this time any longer.
2023-03-02 11:55:31 +08:00
Andrew Nicols b604b474d4 MDL-77141 gradereport_user: Adjust course name to fix test 2023-03-02 11:49:38 +08:00
Andrew Nicols c7c6573378 Merge branch 'MDL-77141-master' of https://github.com/lucaboesch/moodle 2023-03-02 11:49:00 +08:00
Jake Dallimore 32fd742690 Merge branch 'MDL-77461-master' of https://github.com/andrewnicols/moodle 2023-03-02 11:42:23 +08:00
Jake Dallimore ee3922a10f Merge branch 'MDL-77400-master' of https://github.com/dpalou/moodle 2023-03-02 11:27:04 +08:00
Andrew Nicols 9e8532058f Merge branch 'MDL-77368' of https://github.com/paulholden/moodle 2023-03-02 11:18:34 +08:00
Andrew Nicols 4946bb1bb0 Merge branch 'MDL-61458' of https://github.com/paulholden/moodle 2023-03-02 11:16:57 +08:00
Andrew Nicols 220191eca5 MDL-77461 behat: Use get_course_id instead of DB fetch 2023-03-02 11:06:28 +08:00
Ilya Tregubov bc87c5b391 MDL-75719 completion: Add Behat scenario for completion states. 2023-03-02 11:03:02 +08:00
Ilya Tregubov 9f062f1379 MDL-75719 completion: Fix unit tests and Behat tests.
Fix tests since we changed behavior of completions (completion
state an UI).
2023-03-02 11:03:02 +08:00
Ilya Tregubov 11a9bf7fd6 MDL-75719 completion: Fix viewed criteria.
When we unlock completion criteria and save changes 'viewed' criteria
still should be completed if user has viewed activity before. Seems
that that was broken by recent changes. Fixing here.
2023-03-02 11:03:02 +08:00
Ilya Tregubov fbb01b4724 MDL-75719 completion: Fix completion state for hidden grade items.
For hidden grade items we used to mark students as completed if
they have any grade. But this was not working correctly when we
also set pass grade for activity and completion criteria based
on pass grade. So we will have these completion states

Competion criteria 'Receive grade':
No grade - COMPLETION_INCOMPLETE
Grade visible, achieved passing grade - COMPLETION_COMPLETE_PASS
Grade visible, failed passing grade - COMPLETION_COMPLETE_FAIL
Grade hidden - COMPLETION_COMPLETE

Completion criteris 'Receive passing grade'
No grade - COMPLETION_INCOMPLETE
Grade visible, achieved passing grade - COMPLETION_COMPLETE_PASS
Grade visible, failed passing grade - COMPLETION_COMPLETE_FAIL
Grade hidden, achieved passing grade - COMPLETION_COMPLETE_PASS
Grade hidden, failed passing grade - COMPLETION_COMPLETE_FAIL_HIDDEN
2023-03-02 11:03:02 +08:00
Jake Dallimore 2520d8b099 Merge branch 'MDL-77318-master' of https://github.com/Utdanningsdirektoratet/moodle 2023-03-02 10:55:45 +08:00
Simey Lameze 56dd7bfb72 MDL-77460 behat: improve roles.feature test 2023-03-02 10:51:55 +08:00
Andrew Nicols b517dc7c88 Merge branch 'MDL-77150' of https://github.com/roland04/moodle 2023-03-02 10:46:49 +08:00
Andrew Nicols e258534b3f Merge branch 'MDL-75534-master-forum-usermodified-zero' of https://github.com/mudrd8mz/moodle 2023-03-02 10:38:15 +08:00
Jake Dallimore 9abd366ab7 Merge branch 'MDL-76298' of https://github.com/timhunt/moodle 2023-03-02 10:12:43 +08:00
Jun Pataleta 9533281da6 Merge branch 'MDL-77413-master' of https://github.com/andelacruz/moodle 2023-03-02 09:46:02 +08:00
Andrew Nicols 64e7cfabe6 Merge branch 'MDL-77391' of https://github.com/jrchamp/moodle 2023-03-02 09:26:13 +08:00
Andrew Nicols 5c1707e598 Merge branch 'MDL-77321' of https://github.com/paulholden/moodle 2023-03-02 09:24:44 +08:00
Matt Porritt 63d6e74a8e MDL-76916 Libraries: Upgrade PHP-JWT to 6.4.0 2023-03-02 12:23:55 +11:00
Andrew Nicols 832e7cba0d Merge branch 'MDL-77412' of https://github.com/sumaiyamannan/moodle 2023-03-02 09:23:49 +08:00
Andrew Nicols 0c8b3749f2 Merge branch 'MDL-40600-master-duplicate_section' of https://github.com/alexmorrisnz/moodle 2023-03-02 09:23:05 +08:00
Andrew Nicols 6a36f59497 Merge branch 'MDL-77135-master' of https://github.com/aanabit/moodle 2023-03-02 09:19:14 +08:00
Andrew Nicols 0fd0dff885 Merge branch 'MDL-75753-master' of https://github.com/call-learning/moodle 2023-03-02 09:14:06 +08:00
Andrew Nicols f6e53500d9 MDL-77277 theme_boost: Add reference to CL update 2023-03-02 09:13:09 +08:00
Andrew Nicols 54ac0ae079 Merge branch 'MDL-77277-master' of https://github.com/skodak/moodle 2023-03-02 09:11:22 +08:00
Jun Pataleta 1cbf445628 Merge branch 'MDL-74586-master-sqlrss' of https://github.com/mudrd8mz/moodle 2023-03-02 08:58:28 +08:00
Jun Pataleta 6802f6b7f4 Merge branch 'MDL-76938_restore_comments' of https://github.com/davosmith/moodle 2023-03-02 08:42:15 +08:00
Matt Porritt ba2dc81c80 MDL-76924 Libraries: Upgrade php-enum to 1.8.4 2023-03-02 11:41:49 +11:00
Matt Porritt 16dbf367c3 MDL-76928 Libraries: Upgrade lunr.js to 2.3.9 2023-03-02 11:15:49 +11:00
AMOS bot 9829bff032 Automatically generated installer lang files 2023-03-02 00:07:51 +00:00
Jun Pataleta 675dadaf55 Merge branch 'MDL-77430' of https://github.com/stronk7/moodle 2023-03-01 23:59:40 +08:00
Jun Pataleta 7eda9557c3 Merge branch 'MDL-77417' of https://github.com/stronk7/moodle 2023-03-01 23:54:34 +08:00
Petr Skoda 416d3ef5d6 MDL-77277 theme_boost: remove Bootstrap version reference 2023-03-01 13:02:24 +01:00
Jun Pataleta 222099cda1 Merge branch 'MDL-77250-master' of https://github.com/lameze/moodle 2023-03-01 17:08:07 +08:00
hieuvu cd81f29f55 MDL-77323 question: Prevent drag item sent into two drop zone 2023-03-01 14:48:32 +07:00
Jake Dallimore f7134f1083 Merge branch 'MDL-76897' of https://github.com/timhunt/moodle 2023-03-01 12:43:58 +08:00
Andrew Nicols 2b4c86e251 Merge branch 'MDL-77299-master' of https://github.com/meirzamoodle/moodle 2023-03-01 11:14:36 +08:00
Meirza f228e373cc MDL-77299 mod_quiz: Added missing class properties.
In PHP 8.2 and later, setting a value to an undeclared class property is
deprecated and emits a deprecation notice.
So we need to add missing class properties that still need to be declared.

Co-authored-by: Tim Hunt <t.j.Hunt@open.ac.uk>
2023-03-01 10:09:19 +07:00
Meirza e4b24bdd79 MDL-77299 question: Added class properties that are not declared.
In PHP 8.2 and later, setting a value to an undeclared class property is
deprecated and emits a deprecation notice.
So we need to add missing class properties that still need to be declared.

Co-authored-by: Tim Hunt <t.j.Hunt@open.ac.uk>
2023-03-01 10:09:09 +07:00
Andrew Nicols 427659d202 Merge branch 'MDL-58945' of https://github.com/timhunt/moodle 2023-03-01 10:54:13 +08:00
Andrew Nicols cd53dbb5fe Merge branch 'MDL-68776' of https://github.com/paulholden/moodle 2023-03-01 10:53:08 +08:00
Andrew Nicols 31aed9a211 Merge branch 'MDL-74585' of https://github.com/paulholden/moodle 2023-03-01 10:51:26 +08:00
Andrew Nicols b049bc9ac5 Merge branch 'MDL-77322_basicauth_checkbox' of https://github.com/leonstr/moodle 2023-03-01 10:49:21 +08:00
Andrew Nicols eb9b349c9f Merge branch 'MDL-72727' of https://github.com/paulholden/moodle 2023-03-01 10:46:09 +08:00
AMOS bot de7b6c7760 Automatically generated installer lang files 2023-03-01 00:07:42 +00:00
Tim Hunt 0458c69d0d MDL-77327 qtype_ddmarker: remove use of unnecessary undeclared field
Also:
  * Fix some incorrect punctuation in two strings.
  * Add a test to verify that this change does not cause a regression.
  * Improve some PHPdoc comments.
2023-02-28 17:44:55 +00:00
Tim Hunt d65c17d16f MDL-77440 quiz: fix nav error reviewing after redoing a question 2023-02-28 16:29:03 +00:00
Petr Skoda 089b9a8846 MDL-77277 tool_componentlibrary: import Bootstrap v4.6.2 2023-02-28 23:46:00 +08:00
Petr Skoda 6db8f35c43 MDL-77277 theme_boost: import Bootstrap v4.6.2 2023-02-28 23:45:52 +08:00
Paul Holden 1e8c579812 MDL-61458 tool_lp: remove custom cohort autocomplete form selector.
The previous commit replaced the only remaining usage of it with the
equivalent core cohort form element. Prior to that, 21a0008f had done
the same.
2023-02-28 15:45:20 +00:00
Mikel Martín 292925d4c0 MDL-77150 reportbuilder: Fix report attributes classes are ignored
Fix report attributes with key 'class' being ingored when adding them to report classes.
2023-02-28 16:19:26 +01:00
Mikel Martín 86311f5a40 MDL-77150 core_table: Fix classes added as columnsattributes are ignored
Fix columnattributes with key 'class' being ingored by adding them to every 'column_class'.
2023-02-28 16:19:19 +01:00
Jonathan Champ cdf6c1ae88 MDL-77391 question admin: further improve query peformance in qtypes.php 2023-02-28 10:17:11 -05:00
Andrew Nicols 6555861856 Merge branch 'MDL-77425' of https://github.com/stronk7/moodle 2023-02-28 23:03:49 +08:00
Andrew Nicols a9fb039e3c Merge branch 'MDL-73018_bump-travis-and-gha-to-use-php81-instead-of-php80' of https://github.com/ziegenberg/moodle 2023-02-28 23:02:57 +08:00
cescobedo dc2d9ca7f7 MDL-76908 lib: update phpmailer to 6.7.1 2023-02-28 15:39:08 +01:00
Andrew Nicols 8ae5ebb507 MDL-77163 cachestore_mongodb: Remve from core 2023-02-28 22:24:04 +08:00
David Mudrák fcfe8ceef1 MDL-74586 rss: Make rss_get_userid_from_token() use table index
Due to missing `AND k.script = 'rss'` condition, the query did not make
use of the existing script-value compound index defined for the table.
So it had to perform the full sequential scan for all rows when
searching for the token. This had serious performance issues on sites
with many users, especially in case on non-existing token / key.
2023-02-28 13:21:35 +01:00
Eloy Lafuente (stronk7) d2c721b9e0 MDL-77430 plugininfo: php81 deprecation warnings on missing plugins
Whenever some plugin is missing from disk but installed, the plugins
page (and the upgrade) shows them as "missing from disk". Still, the
code tries to do things with their directory that, now, is null.

That was silently defaulting to '' in previous php versions, but
php81 emits a deprecated warning. So we have to check for them.
2023-02-28 11:34:21 +01:00
Jun Pataleta e4725be660 Merge branch 'MDL-76992-master' of https://github.com/aanabit/moodle 2023-02-28 18:26:12 +08:00
Daniel Ziegenberg 7427854c11 MDL-73018 ci: Move highest PHP to 8.1 (from current 8.0)
Signed-off-by: Daniel Ziegenberg <daniel@ziegenberg.at>
2023-02-28 11:21:48 +01:00
Dani Palou aec31e312a MDL-77400 reportbuilder: Fix enrolment status return type 2023-02-28 10:41:12 +01:00
Amaia Anabitarte 2a7632feb5 MDL-76992 core_courseindex: Apply indentation in the course index 2023-02-28 10:26:15 +01:00
Angelia Dela Cruz 9fded44344 MDL-77413 Behat: Minor changes to optimise the existing tests 2023-02-28 17:19:47 +08:00
Angelia Dela Cruz 4380682549 MDL-77413 Behat: Add coverage to verify groups can have a picture 2023-02-28 17:08:08 +08:00
Jun Pataleta 946a88c87e Merge branch 'MDL-77248-master' of https://github.com/andrewnicols/moodle 2023-02-28 15:46:54 +08:00
Andrew Nicols 0c0f6bffd8 MDL-77308 editor_tiny: Remove from core 2023-02-28 13:40:09 +08:00
Andrew Nicols 36b69bbb05 MDL-77248 mod_bigbluebuttonbn: Remove unused dpa pages 2023-02-28 12:04:51 +08:00
Andrew Nicols ce7c207203 MDL-77248 mod_bigbluebuttonbn: Set dpa accepted when creating activities
This only applies when creating activities using the test data
generator.
2023-02-28 12:04:51 +08:00
Andrew Nicols e6fe30187f MDL-77248 core: Move pre_enable_plugin_actions callback to enable_plugin
Note: The original callback was incorrectly using the $PAGE output,
which cannot be relied upon in this callback. The best we can do here is
to add a notification to explain the situation.
2023-02-28 12:04:50 +08:00
Andrew Nicols 797b76becf MDL-77248 core_admin: Tidy up coding style of admin/modules 2023-02-28 12:01:15 +08:00
Andrew Nicols 784098fe9e MDL-75012 js: Put shifter on a diet
This commit switches to a new custom version of Shifter which sees it
put on a massive diet.

Many of the standard Shifter features are totally unused by Moodle, but
they add dependency spaghetti. Some of those dependencies will start to
cause us issues as they have not been updated for a very long time, are
no longer maintained, and are no longer compatible with anything
resembling a recent version of NodeJS.
2023-02-28 10:22:45 +08:00
Andrew Nicols b3f7721cdd MDL-75012 js: Bump shifter to new version
This resolves an issue identified in 77083 which identified that GitHub
hashes shouldn't be treated as repeatable.

Whilst GitHub have reverted this change, it's still worth making this
change.
2023-02-28 10:19:51 +08:00
Andrew Nicols 5d0631b6a1 MDL-75012 js: Use our own jsdoc wrapper
grunt-jsdoc is abandoned and only works with an older version of jsdoc.

This is a very simple wrapper around jsdoc itself.
2023-02-28 10:19:51 +08:00
Andrew Nicols 472fc27ab9 MDL-75012 js: Audit fix 2023-02-28 10:19:51 +08:00
Andrew Nicols 7c3db6d458 MDL-75012 js: Bump node-sass 2023-02-28 10:19:51 +08:00
Andrew Nicols 19f5ffb28a MDL-75012 js: Update browserslist
To avoid build changes we exclude older versions of Android browser
2023-02-28 10:19:51 +08:00
Andrew Nicols 1c73373b3d MDL-75012 js: Bump stylelint and components 2023-02-28 10:19:50 +08:00
Andrew Nicols abb6877596 MDL-75012 js: Remove grunt-contrib-uglify
We stopped using this when we updated our processes to support ESMs in
MDL-62497. Removal of the dependency was missed at the time.
2023-02-28 10:19:50 +08:00
Andrew Nicols f70d9a3eef MDL-75012 js: Bump standard dependencies
This change bumps dependencies which have no impact upon the build
process
2023-02-28 10:19:50 +08:00
Andrew Nicols 6d0fdd8fd8 MDL-75012 core: Bump NodeJS version requirements 2023-02-28 10:19:50 +08:00
Jun Pataleta 855cc8c7d7 Merge branch 'MDL-76956-master' of https://github.com/sammarshallou/moodle 2023-02-28 10:07:01 +08:00
Jun Pataleta 1b0a923a75 Merge branch 'MDL-77276-master' of https://github.com/sarjona/moodle 2023-02-28 10:05:04 +08:00
Jun Pataleta 74c875b6da Merge branch 'MDL-76990-master' of https://github.com/aanabit/moodle 2023-02-28 09:45:32 +08:00
Matt Porritt d41770a249 MDL-77300 Site Registration: Prompt to register site after upgrade
Unregistered sites will now display registration form to admins
after every core upgrade. Non core upgrades will not trigger the
form.
Registration form will not show for sites that are not set to
public.
2023-02-28 11:39:28 +11:00
Paul Holden 0df45e134d MDL-72727 mod_forum: prevent default favourite toggle click event.
Allow the repository call to the web service method to complete before
re-directing, otherwise the call may not complete and/or races against
the page reload causing random Behat errors.
2023-02-27 23:24:08 +00:00
Sumaiya Javed 567504d8fd MDL-77412 reportbuilder: Make groupconcat aggregation method sortable. 2023-02-28 10:39:00 +13:00
Paul Holden 54b135e034 MDL-77321 reportbuilder: cache list of loaded reports per user.
Since 0188af39 we've cached loaded reports, however there was an
edge case in those report sources that relied on the current user
as part of their own initialization (e.g. checking capabilities).

Co-authored-by: Marina Glancy <marina@moodle.com>
2023-02-27 21:13:11 +00:00
Paul Holden 9ae5c203aa MDL-77418 mod_feedback: defensive use of analysis item data. 2023-02-27 19:21:22 +00:00
Tim Hunt 1b72db7082 MDL-76897 quiz: fix incorrect StdClass 2023-02-27 18:41:58 +00:00
Tim Hunt 20ccfc162d MDL-76897 quiz: deprecate unused quiz_calculate_best_attempt 2023-02-27 18:41:58 +00:00
Tim Hunt 728160cfbc MDL-76897 quiz: quiz_save_best_grade -> recompute_final_grade
also, the associated quiz_calculate_best_grade (only used here)
moved to a protected method.
2023-02-27 18:41:58 +00:00
Tim Hunt ff3f4eb2e7 MDL-76897 quiz: quiz_set_grade -> update_quiz_maximum_grade 2023-02-27 18:41:57 +00:00
Tim Hunt c212565151 MDL-76897 quiz: quiz_update_all_final_grades -> grade_calculator 2023-02-27 18:41:56 +00:00
Tim Hunt 4080962125 MDL-76897 quiz: quiz_update_all_attempt_sumgrades -> grade_calculator 2023-02-27 18:41:56 +00:00
Tim Hunt c12ff3d5f3 MDL-76897 quiz: get the context more efficiently where possible 2023-02-27 18:41:56 +00:00
Tim Hunt 1ee7f41762 MDL-76897 quiz: streamline initalisation of $quiz, $cm, $course 2023-02-27 18:41:55 +00:00
Amaia Anabitarte b37fe9a088 MDL-76990 core_course: Recover move right/left functionality 2023-02-27 18:27:57 +01:00
Eloy Lafuente (stronk7) 52f033b732 MDL-77425 travis: Ensure databases shutdown have time to complete
This is only randomly affecting to Moodle 4.2 with PostgreSQL 13
that, for some reason, returns the control to the script before
some files (.pid) have been deleted as part of the database
shutdown.

It seems that adding 1 second of sleep it's enough to workaround
that problem (there are examples of that in various Travis discussions).

So we are adding here 2 seconds, to ensure we are in the safe side
towards consistent passes. And we are applying the same strategy
also to the MySQL installation, just to keep them 100% parallel.
2023-02-27 16:52:14 +01:00
Paul Holden efbe491826 MDL-61458 tool_cohortroles: switch to core user/cohort form elements.
Remove last dependency on tool_lp plugin.
2023-02-27 12:20:16 +00:00
Paul Holden 4b8346eeec Merge branch 'MDL-77288-master' of https://github.com/lucaboesch/moodle 2023-02-27 10:38:51 +00:00
Eloy Lafuente (stronk7) 2d0c0dbcb6 MDL-77417 behat: behat_error_handler meets deprecation error types
Right now, any E_DEPRECATED, E_USER_DEPRECATED error type leads
to exception in behat runs, because the behat error handled is
not aware of them. See MDL-38041 for the initial implementation.

We don't want that to happen and they must behave like other "low"
error types (notices, warnings...), that will be reported in logs
or output, but won't trigger any exception, so the test can continue.

This commit just adds those 2 "new" error types to the handler,
providing the very same behaviour for them than the rest.
2023-02-27 09:33:08 +01:00
Meirza bd35a360ca MDL-76825 tiny: restyling link on focus for sufficient colour contrast.
Text elements must have sufficient colour contrast against the background,
restyling the link element when it is focused is to ensure colour contrast of at least 4.5:1
2023-02-27 09:27:46 +07:00
Meirza b12b738994 MDL-76825 tiny_media: Make IDs and labels unique. 2023-02-27 09:27:46 +07:00
Meirza 749a8c02f5 MDL-76825 theme: ensure button role has an accessible name. 2023-02-27 09:27:46 +07:00
Ferran Recio 01d6ba02a3 MDL-40600 core_courseformat: duplicate a named section with copy
When a named section is duplicated, the name must have a (copy) particle
to make visible what section is the original and what is the copy.
2023-02-27 09:19:26 +13:00
Alex Morris f1c4cc73df MDL-40600 course: Add ability to duplicate section 2023-02-27 09:10:36 +13:00
Leon Stringer ad592f442d MDL-77322 oauth2: Fix basicauth checkbox
Following MDL-61880 you could turn on "Authenticate token requests via
HTTP headers" but not turn this off again.  This change fixes this and
adds a Behat scenario to test toggling this checkbox is saved
correctly.
2023-02-24 17:25:43 +00:00
Tim Hunt dbd62aa94d MDL-76897 quiz: move quiz_update_sumgrades into grade_calculator 2023-02-24 16:14:51 +00:00
Tim Hunt 086bbf3f89 MDL-76897 quiz: create new class for all the grade calculation code 2023-02-24 16:14:51 +00:00
Laurent David 7bd13d581d MDL-75753 mod_bigbluebuttonbn: Support SHA256 and SHA512 checksum
* Add support for SHA256 and SHA512 checksum
2023-02-24 14:20:29 +01:00
Ferran Recio 30c172becf MDL-77386 core_courseformat: add plugin and module to cm state 2023-02-24 12:24:25 +01:00
Amaia Anabitarte 9f840c140d MDL-77135 block_myoverview: Remove duplicated strings
AMOS BEGIN
  CPY [zero_nopermission_title,block_myoverview],[zero_default_title,block_myoverview]
AMOS END
2023-02-24 12:01:45 +01:00
Sara Arjona 529faa9eaa MDL-77276 mod_data: Update reset single template string
When a single template is reset, the string displayed in the modal should
not reference to "all templates" to avoid confusion, as it was shown in the
original prototype for the 4.1 database project.
2023-02-24 11:21:49 +01:00
Luca Bösch 3d59f5073c MDL-77288 quiz: Horizontally align feedback to the border & full width.
Probably from historical reasons and because of layout of former Moodle
versions the container the feedback is situated in has 70% width and is
indented. In nowadays themes this looks weird and gives visual inconsistency.
2023-02-24 10:44:19 +01:00
Luca Bösch 6d330cfec6 MDL-77141 gradebook: Correct course name in user report 2023-02-24 10:44:17 +01:00
Jun Pataleta 9ee4f8db8b weekly release 4.2dev 2023-02-24 15:43:16 +08:00
Jun Pataleta 5be89588f8 Merge branch 'install_master' of https://git.in.moodle.com/amosbot/moodle-install 2023-02-24 15:43:13 +08:00
Andrew Nicols c1456aad07 Merge branch 'master_MDL-77376' of https://github.com/mattporritt/moodle 2023-02-24 12:31:48 +08:00
Andrew Nicols 9dff6e9c27 Merge branch 'MDL-76611' of https://github.com/paulholden/moodle 2023-02-23 19:04:29 +01:00
Andrew Nicols d8f6c76400 Merge branch 'MDL-76843' of https://github.com/timhunt/moodle 2023-02-23 19:04:29 +01:00
Andrew Nicols 8a27d2c082 Merge branch 'MDL-77271-master' of https://github.com/lameze/moodle 2023-02-23 19:04:29 +01:00
Ilya Tregubov 8773ff3f56 MDL-74433 mod_assign: Fix version.php 2023-02-23 19:04:29 +01:00
Andrew Nicols 9b82570918 Merge branch 'MDL-77290-master' of https://github.com/HuongNV13/moodle 2023-02-23 19:04:29 +01:00
Andrew Nicols 157387832b Merge branch 'MDL-76735-master' of https://github.com/HuongNV13/moodle 2023-02-23 19:04:29 +01:00
Ilya Tregubov 4a76af27df Merge branch 'MDL-74433' of https://github.com/larsbonczek/moodle 2023-02-23 19:04:29 +01:00
Andrew Nicols e515c15cfa Merge branch 'MDL-77352' of https://github.com/paulholden/moodle 2023-02-23 19:04:29 +01:00
Matt Porritt dd753f67e3 MDL-77376 Licensing: Update trademark.txt
Update Trademark policy in TRADEMARK.txt to
be in line with advice from the Moodle HQ
legal team
2023-02-23 15:35:25 +11:00
Andrew Nicols d174cf3f85 Merge branch 'MDL-76412-master' of https://github.com/raortegar/moodle 2023-02-23 11:04:07 +08:00
Andrew Nicols 7839d62111 Merge branch 'MDL-77354-master' of https://github.com/HuongNV13/moodle 2023-02-23 10:49:09 +08:00
Ilya Tregubov bb4633c967 Merge branch 'MDL-31235-master' of https://github.com/srobotta/moodle 2023-02-23 10:48:11 +08:00
Andrew Nicols 2b3baeb174 Merge branch 'MDL-76577/402' of https://github.com/skodak/moodle 2023-02-23 10:46:15 +08:00
Andrew Nicols 35f8c81d6f Merge branch 'MDL-77278-master' of https://github.com/ferranrecio/moodle 2023-02-23 10:43:50 +08:00
Andrew Nicols a95f9fc1fb Merge branch 'MDL-69838' of https://github.com/paulholden/moodle 2023-02-23 10:39:42 +08:00
Andrew Nicols 0af94c6bb7 Merge branch 'MDL-75005_42' of https://github.com/skodak/moodle 2023-02-23 10:29:15 +08:00
Andrew Nicols 82e035955c Merge branch 'MDL-76804-master' of https://github.com/lucaboesch/moodle 2023-02-23 10:13:31 +08:00
Ilya Tregubov d6c9b9eaed Merge branch 'MDL-77182-master' of https://github.com/ferranrecio/moodle 2023-02-23 10:09:51 +08:00
Andrew Nicols baae0cd2d6 MDL-77230 mod_feedback: Coding style violation fixes 2023-02-23 10:05:47 +08:00
Andrew Nicols 42fcac25e2 Merge branch 'MDL-77230-master' of https://github.com/sarjona/moodle 2023-02-23 10:05:33 +08:00
Ilya Tregubov 07053e8140 Merge branch 'MDL-76873' of https://github.com/paulholden/moodle 2023-02-23 09:57:45 +08:00
Andrew Nicols d7d5b417b6 Merge branch 'MDL-77210' of https://github.com/timhunt/moodle 2023-02-23 09:22:40 +08:00
Andrew Nicols 58820e2e56 Merge branch 'MDL-77149-master' of https://github.com/sammarshallou/moodle 2023-02-23 09:20:15 +08:00
Andrew Nicols 5a896a722c Merge branch 'MDL-76815' of https://github.com/paulholden/moodle 2023-02-23 09:14:03 +08:00
Paul Holden 09f51d1461 MDL-77368 forms: remove console logging of upload DOM element. 2023-02-22 17:44:30 +00:00
Tim Hunt dd1385b80d MDL-76843 quiz: add test to verify random essay stats now work 2023-02-22 14:30:23 +00:00
Tim Hunt 4484757021 MDL-76843 quiz: fix statistics questions for missing questions 2023-02-22 14:30:23 +00:00
Tim Hunt 837d1cbf52 MDL-76843 questions behat: enhancements requried to test this issue
* New steps to set up certian sorts of broken test data.
* Fix qtype_essay_question::un_summarise_response().
2023-02-22 14:30:22 +00:00
Paul Holden 922c61dee8 MDL-74585 core: pass string identifier/component to network keepalive.
Avoid passing potentially large amounts of data in the page AMD call,
allow the `core/network` module to load actual string content itself.
2023-02-22 13:49:30 +00:00
Tim Hunt b920f2b0d1 MDL-76298 drag-drop questions: validate the questions are complete
Previously, it was possible to create drag-drop markers and onto image
questions without any drag items or drop zones. This was non-sensical,
and broke statistics calculations.

So, missing validation added, and random guess score calculation made
robust.
2023-02-22 12:03:09 +00:00
Tim Hunt 3088bc6600 MDL-58945 qbank: showing q text should give option of plain or full 2023-02-22 11:15:02 +00:00
Ilya Tregubov 9f31d4cd5f Merge branch 'MDL-77285-master' of https://github.com/lameze/moodle 2023-02-22 12:26:33 +08:00
Huong Nguyen 0703ba8a51 MDL-77354 tool_behat: Fix deprecated strlen() of null in PHP 8.1 2023-02-22 11:07:49 +07:00
Ilya Tregubov 6138e692ca Merge branch 'MDL-76784-master' of https://github.com/sammarshallou/moodle 2023-02-22 10:51:41 +08:00
Huong Nguyen 3fbe7ace06 MDL-77290 tiny_media: Fix cannot update the created media
Including in this commit:
 - Changed the button text to Update media when the user is updating the media
 - Added new Behat tests
2023-02-22 09:33:31 +07:00
Ilya Tregubov 9fcb71d5ff Merge branch 'MDL-76850-master' of https://github.com/ferranrecio/moodle 2023-02-22 09:26:49 +08:00
Paul Holden d58b28d97e MDL-77352 javascript: declare debouncer outside the event handler.
It needs to be declared as such, otherwise each time the event is
triggered a new debouncer is created.
2023-02-21 22:38:59 +00:00
Paul Holden ffb123b6e8 MDL-76602 mod_lti: array syntax/whitespace cleanup. 2023-02-21 17:04:29 +00:00
Paul Holden 87912b7929 Merge branch 'MDL-76602-master-lti13claims' of https://github.com/cengage/moodle 2023-02-21 16:46:25 +00:00
Ferran Recio d43c14471b MDL-76850 core_courseformat: bulk duplicate activities 2023-02-21 12:26:04 +01:00
sam marshall 201b6db1ac MDL-77149 core_files: Network filesystem (Amazon EFS) can warn
If you delete a file with a hash and then create another file with
the same hash, sometimes on EFS filesystems while trying to create
the new file, it returns true to the file_exists check even though
the file doesn't exist, but then fails other calls.

This change makes Moodle tolerate that behaviour.
2023-02-21 10:53:31 +00:00
sam marshall a3b1e3b4ee MDL-76784 core_cache: versioned cache (modinfo) can fail in install
When cache is disabled but temporary in-memory caches are allowed,
these were direct instances of cachestore_static with no loader, which
meant that the get_versioned and set_versioned functions did not work.
2023-02-21 10:40:23 +00:00
Sara Arjona da2b7863c3 Merge branch 'MDL-76146-patch' of https://github.com/ilyatregubov/moodle 2023-02-21 11:32:03 +01:00
Ilya Tregubov d99995cec3 MDL-76146 gradereport_grader: Add class lost during rebase. 2023-02-21 18:07:12 +08:00
Ilya Tregubov 4145046020 Merge branch 'MDL-76848-master' of https://github.com/ferranrecio/moodle 2023-02-21 17:36:32 +08:00
Huong Nguyen 40db4f52d4 MDL-76735 editor_tiny: Fix random behat failure for Media image 2023-02-21 14:30:11 +07:00
Simey Lameze 26cf7b3fa9 MDL-77271 behat: verify user licence preference is remembered 2023-02-21 15:17:27 +08:00
Simey Lameze d9d8a1ad36 MDL-77271 behat: test to verify used licence cannot be deleted 2023-02-21 12:18:05 +08:00
Ilya Tregubov 414d3cdd5f Merge branch 'MDL-68347-master-2' of https://github.com/marinaglancy/moodle 2023-02-21 10:06:39 +08:00
Ilya Tregubov 69e47815d9 Merge branch 'MDL-76386-master' of https://github.com/laurentdavid/moodle 2023-02-21 09:47:38 +08:00
AMOS bot 1073989f90 Automatically generated installer lang files 2023-02-21 00:07:40 +00:00
Paul Holden 6111426f1d Merge branch 'MDL-76146-master' of https://github.com/ilyatregubov/moodle 2023-02-20 16:41:29 +00:00
Paul Holden 8939a00f66 Merge branch 'MDL-77269-master' of https://github.com/lameze/moodle 2023-02-20 12:17:41 +00:00
Simey Lameze 3236bf8e11 MDL-77269 licencemanager: show notification instead of an exception 2023-02-20 19:17:06 +08:00
Paul Holden 0972a5b7a9 Merge branch 'MDL-76545-master' of https://github.com/ferranrecio/moodle 2023-02-20 10:28:52 +00:00
Marina Glancy c184b2d284 MDL-68347 course: trigger event if user was created during restore 2023-02-20 10:20:00 +00:00
Paul Holden eeafcc715a MDL-76797 roles: add @since annotation to role created event. 2023-02-20 10:08:21 +00:00
Paul Holden 273e006419 Merge branch 'MDL-76797-master' of https://github.com/JBThong/moodle 2023-02-20 10:00:16 +00:00
Paul Holden 63e5431b25 Merge branch 'MDL-77287-master' of https://github.com/snake/moodle 2023-02-20 09:55:08 +00:00
Audun Jørstad Lillekjendlie c31425f4fd MDL-77318 core: Add role attribute to user navigation div 2023-02-20 10:52:02 +01:00
Paul Holden 25e8971b3a MDL-76873 user: method for returning profile field instance of type.
Re-factor implementation of profile field access within user fields
class to use that already provided by the fields themselves.
2023-02-20 09:24:05 +00:00
Paul Holden 65c4ae7bda MDL-76873 reportbuilder: correct checks for profile field visibility. 2023-02-20 09:22:00 +00:00
Laurent David 183d97a956 MDL-76386 core_user: Add/remove users dialog improvement
* Use language string to customise user information in the group Add/Remove dialog
2023-02-20 09:37:06 +01:00
Ferran Recio 4f7d5541c4 MDL-76545 core: fix reactive debug panel
The reactive debug panel stops working when a new reactive instance is
created in the fly. This was not detected until the new dragf and drop
files into course uses a second reactive UI component in the same page.
2023-02-20 09:01:57 +01:00
Ferran Recio 135c8a999c MDL-77182 core: add debug template info setting
A new developer setting that adds comments in the page HTML specifying
which template is used to render each part of the page. It can be set
form the site admin development tab and it is stored
as $CFG->debugtemplateinfo.
2023-02-20 08:54:06 +01:00
Thong Bui 5db011a600 MDL-76797 core_role: Add create role event class 2023-02-20 12:37:35 +07:00
Jun Pataleta b6432d5475 Merge branch 'MDL-45301_master_v3' of https://github.com/TomoTsuyuki/moodle 2023-02-20 10:15:17 +08:00
Andrew Nicols 68169e1fb9 Merge branch 'MDL-77020' of https://github.com/paulholden/moodle 2023-02-20 09:52:39 +08:00
Sara Arjona 0cde029237 MDL-77230 mod_feedback: Validate feedback access
The get_items() and get_page_items() external methods should return
items only when the user has access. Otherwise, empty array for items
will be returned, with the exact error in the warnings parameter.
2023-02-17 12:41:10 +01:00
Luca Bösch 0428998de2 MDL-76804 course: inserting activities UI element centered. 2023-02-17 11:09:12 +01:00
Ferran Recio 39743b5197 MDL-77278 theme_boost: fix sticky footer in firefox 2023-02-17 10:08:51 +01:00
Ferran Recio e6802896f7 MDL-76848 core_courseformat: bulk availability 2023-02-17 10:07:32 +01:00
Ferran Recio b1ad8480fe MDL-76848 core: add disable buttons to modals 2023-02-17 10:07:32 +01:00
Petr Skoda ac08f4f608 MDL-76577 block_html: fix incorrect use of draft files 2023-02-17 09:53:07 +01:00
Petr Skoda f0613d1bfa MDL-75005 core: remove invalid addslashes() 2023-02-17 09:50:06 +01:00
Jake Dallimore 0b1159cf85 MDL-77287 tool_oauth2: fix issuer form validation
This ensures validation errors from the issuer persistent are seen.
2023-02-17 15:15:10 +08:00
Stephan Robotta 75b8733197 MDL-31235 core_grades: use text filters for criterion fields 2023-02-17 08:11:14 +01:00
Tomo Tsuyuki 9e725bc168 MDL-45301 assign: Add font options for EditPDF 2023-02-17 15:30:25 +11:00
Ilya Tregubov 1b8ac1ff8c MDL-76146 gradereport_grader: remove deprecated preferences. 2023-02-17 11:35:05 +08:00
Ilya Tregubov 5cb18337cb MDL-76146 gradereport_grader: Remove show grade analysis icon preference 2023-02-17 11:34:09 +08:00
Ilya Tregubov c1a3087f8b MDL-76146 gradereport_grader: Remove show lock icon preference. 2023-02-17 11:34:09 +08:00
Ilya Tregubov 5eff5df97b MDL-76146 gradereport_grader: Remove show show/hide icon preference
Since we move those icons to actions menu we don't need this pref.
2023-02-17 11:34:09 +08:00
Ilya Tregubov 29c220583f MDL-76146 gradereport_grader: Move action icons to action menu. 2023-02-17 11:34:09 +08:00
Ilya Tregubov 149805bc78 MDL-76146 gradereport_grader: Code style fixes. 2023-02-17 11:34:08 +08:00
Ilya Tregubov 7cff9f25c5 MDL-76146 gradereport_grader: Remove non used files.
Seems it should have been deprecated long time ago.
2023-02-17 11:34:08 +08:00
Ilya Tregubov 67f2669510 MDL-76146 gradereport_grader: Deprecate AJAX grading interface.
Its not stable and not consistent.
2023-02-17 11:34:08 +08:00
Ilya Tregubov a335d50daa MDL-76146 gradereport_grader: Deprecate quick feedback. 2023-02-17 11:34:08 +08:00
Ilya Tregubov 8503f2cfd8 weekly release 4.2dev 2023-02-17 09:12:15 +08:00
Ilya Tregubov d0643a7f79 Merge branch 'install_master' of https://git.in.moodle.com/amosbot/moodle-install 2023-02-17 09:12:12 +08:00
Simey Lameze 3fa6293426 MDL-77285 behat: change window size to large to prevent error 2023-02-17 08:43:34 +08:00
AMOS bot 384cbde2c8 Automatically generated installer lang files 2023-02-17 00:07:56 +00:00
Paul Holden b3a50f4a82 MDL-76815 reportbuilder: avoid duplication getting audience component.
The component the audience belongs to is used by the cards exporter
for rendering the editing interface. Avoid duplication in determining
this value by defining appropriate method in the base class.
2023-02-16 12:15:52 +00:00
Paul Holden 7c432c0ffb MDL-77020 behat: refer to search input fields by name/role.
Co-authored-by: Andrew Nicols <andrew@nicols.co.uk>
2023-02-16 10:56:28 +00:00
Audun Jørstad Lillekjendlie 494abd821b MDL-77020 core: Include a unique id in the search input field id 2023-02-16 10:19:14 +00:00
Andrew Nicols 4a5cf23d07 Merge branch 'MDL-75578-master' of https://github.com/mackensen/moodle 2023-02-16 12:01:08 +08:00
Jun Pataleta 3ed2b90708 Merge branch 'MDL-72182' of https://github.com/paulholden/moodle 2023-02-16 11:58:59 +08:00
Andrew Nicols 82bdffdf3e Merge branch 'MDL-77145-master' of https://github.com/davewoloszyn/moodle 2023-02-16 11:56:28 +08:00
Andrew Nicols 3eed2c7914 Merge branch 'MDL-76222' of https://github.com/paulholden/moodle 2023-02-16 11:53:55 +08:00
Andrew Nicols 55574803c1 Merge branch 'MDL-77102' of https://github.com/paulholden/moodle 2023-02-16 11:50:54 +08:00
Jun Pataleta e6343d70fd Merge branch 'MDL-76584' of https://github.com/paulholden/moodle 2023-02-16 11:49:21 +08:00
Andrew Nicols bea9ec6435 Merge branch 'MDL-77207-master' of https://github.com/meirzamoodle/moodle 2023-02-16 11:38:19 +08:00
Andrew Nicols 4fa300b78f Merge branch 'MDL-76415-master' of https://github.com/meirzamoodle/moodle 2023-02-16 11:31:42 +08:00
Andrew Nicols 6b05cf75a8 Merge branch 'MDL-76582-master' of https://github.com/NashTechOpenUniversity/moodle 2023-02-16 11:25:11 +08:00
Andrew Nicols 18073fe93b Merge branch 'MDL-74698' of https://github.com/jonof/moodle 2023-02-16 11:06:33 +08:00
Ilya Tregubov 26af3bc26e MDL-76313 forum: code style changes. 2023-02-16 10:59:55 +08:00
Ilya Tregubov f85505169b Merge branch '76313-forum-improve-accessibility-master' of https://github.com/DSI-Universite-Rennes2/moodle 2023-02-16 10:59:32 +08:00
Andrew Nicols 6d31626130 Merge branch 'MDL-76791-master' of https://github.com/sammarshallou/moodle 2023-02-16 10:53:25 +08:00
Ilya Tregubov 2e9025e90d MDL-75379 core: Code style changes. 2023-02-16 10:49:24 +08:00
Ilya Tregubov 0c93d7654d Merge branch 'MDL-75379' of https://github.com/larsbonczek/moodle 2023-02-16 10:48:49 +08:00
Andrew Nicols 892d75be7c Merge branch 'MDL-76878' of https://github.com/paulholden/moodle 2023-02-16 10:42:37 +08:00
Ilya Tregubov a5c00c17f9 Merge branch 'MDL-73519-master' of https://github.com/meirzamoodle/moodle 2023-02-16 09:30:21 +08:00
Andrew Nicols 124e1462bc MDL-77250 editor_tinymce: set base URL and URI 2023-02-16 08:32:41 +08:00
Paul Holden 9074c28699 Merge branch 'MDL-77086-master' of https://github.com/sarjona/moodle 2023-02-15 16:21:48 +00:00
Paul Holden 12229dd389 Merge branch 'MDL-77009-master' of https://github.com/andrewnicols/moodle 2023-02-15 15:51:06 +00:00
Andrew Nicols ffe97712e5 Merge branch 'MDL-76413-master' of https://github.com/raortegar/moodle 2023-02-15 23:38:34 +08:00
Andrew Nicols 3db03d69b5 Merge branch 'MDL-76478-password-unmask' of https://github.com/brendanheywood/moodle 2023-02-15 23:07:23 +08:00
Andrew Nicols f8f4677592 Merge branch 'MDL-76948' of https://github.com/larsbonczek/moodle 2023-02-15 23:01:04 +08:00
Andrew Nicols f60c946408 Merge branch 'MDL-73317-master' of https://github.com/matthewhilton/moodle 2023-02-15 22:56:35 +08:00
Paul Holden 77c4493a11 Merge branch 'MDL-77147' of https://github.com/timhunt/moodle 2023-02-15 11:49:21 +00:00
raortegar a03e6363de MDL-76412 general: Fixed PHP 8.2 utf8_encode deprecations 2023-02-15 10:27:38 +01:00
raortegar f6608a7e32 MDL-76412 lib: Fixed PHP 8.2 utf8_encode deprecations in phpxmlrpc 2023-02-15 10:27:38 +01:00
raortegar 87f235e0bb MDL-76412 lib: Fixed PHP 8.2 utf8_encode deprecations in horde 2023-02-15 10:27:33 +01:00
raortegar dc51096889 MDL-76412 lib: Fixed PHP 8.2 utf8_encode deprecations tinymce 2023-02-15 09:56:40 +01:00
Ilya Tregubov d54a1d78f1 Merge branch 'MDL-75230-master' of https://github.com/andelacruz/moodle 2023-02-15 16:12:19 +08:00
Jun Pataleta 9b4e8fa082 Merge branch 'MDL-77171-master' of https://github.com/andrewnicols/moodle 2023-02-15 11:22:56 +08:00
Andrew Nicols 0035504108 Merge branch 'MDL-77241' of https://github.com/paulholden/moodle 2023-02-15 11:14:26 +08:00
Jun Pataleta 215f4b5893 Merge branch 'MDL-77156-master' of https://github.com/lucaboesch/moodle 2023-02-15 11:12:17 +08:00
Jun Pataleta c02a4d0511 Merge branch 'MDL-77212' of https://github.com/paulholden/moodle 2023-02-15 11:09:19 +08:00
Jun Pataleta 98055a3468 Merge branch 'MDL-77223' of https://github.com/roland04/moodle 2023-02-15 11:07:16 +08:00
Jun Pataleta 03128a758e Merge branch 'MDL-77201' of https://github.com/paulholden/moodle 2023-02-15 11:05:39 +08:00
AMOS bot 5d4ee19d43 Automatically generated installer lang files 2023-02-15 00:07:56 +00:00
Paul Holden a309d643ab Merge branch 'MDL-77140-master' of https://github.com/snake/moodle 2023-02-14 15:51:32 +00:00
Paul Holden ca77e6a192 Merge branch 'MDL-75454-master' of https://github.com/davewoloszyn/moodle 2023-02-14 15:05:58 +00:00
Paul Holden 34e7f27664 MDL-77241 course: optional chaining safety for section toggles. 2023-02-14 12:51:08 +00:00
Paul Holden 79b12bc335 Merge branch 'MDL-63608' of https://github.com/AnupamaSarjoshi/moodle 2023-02-14 11:59:50 +00:00
Paul Holden 650b6caf83 MDL-77201 reportbuilder: pass current aggregation to column callbacks. 2023-02-14 11:03:03 +00:00
Paul Holden fe30100f98 Merge branch 'MDL-73937' of https://github.com/ssj365/moodle 2023-02-14 09:43:10 +00:00
Ilya Tregubov c6493c7d3e Merge branch 'MDL-76947-master' of https://github.com/davewoloszyn/moodle 2023-02-14 13:52:34 +08:00
Ilya Tregubov 0140a3cc6f Merge branch 'MDL-76620-master' of https://github.com/call-learning/moodle 2023-02-14 13:25:54 +08:00
David Woloszyn 02418cc093 MDL-75454 cache: Reduced exposure of sesskey param 2023-02-14 11:25:49 +11:00
Shamiso.Jaravaza 1054a794d6 MDL-73937 mod_bigbluebuttonbn: Remove lockedlayout 2023-02-13 15:24:35 -07:00
Tim Hunt b7a67f8896 MDL-77210 quiz: fix regrade for attempts with redone questions 2023-02-13 16:55:52 +00:00
Mikel Martín 96215abdc8 MDL-77223 reportbuilder: Fix first report column as integer 2023-02-13 16:15:38 +01:00
Meirza 5265300706 MDL-76415 report_eventlist: Fixed str interpolation deprecations.
Since PHP 8.2, placing the dollar sign outside the curly brace is deprecated when
the expression inside the braces resolves to a variable or an expression.
2023-02-13 19:51:47 +07:00
Meirza 2a33c2736a MDL-76415 core_privacy: Fixed ${var} string interpolation deprecations.
Since PHP 8.2, placing the dollar sign outside the curly brace is deprecated when
the expression inside the braces resolves to a variable or an expression.
2023-02-13 19:51:47 +07:00
Meirza 1c218880a9 MDL-76415 portfolio: Fixed ${var} string interpolation deprecations.
Since PHP 8.2, placing the dollar sign outside the curly brace is deprecated when
the expression inside the braces resolves to a variable or an expression.
2023-02-13 19:51:47 +07:00
Meirza 1e8ed4e305 MDL-76415 mod_forum: Fixed ${var} string interpolation deprecations.
Since PHP 8.2, placing the dollar sign outside the curly brace is deprecated when
the expression inside the braces resolves to a variable or an expression.
2023-02-13 19:51:47 +07:00
Meirza 3c0fa9b9cb MDL-76415 assignfeedback_editpdf: Fixed str interpolation deprecations.
Since PHP 8.2, placing the dollar sign outside the curly brace is deprecated when
the expression inside the braces resolves to a variable or an expression.
2023-02-13 19:51:46 +07:00
Meirza d8474a647a MDL-76415 gradereport_singleview: Fixed str interpolation deprecations.
Since PHP 8.2, placing the dollar sign outside the curly brace is deprecated when
the expression inside the braces resolves to a variable or an expression.
2023-02-13 19:51:46 +07:00
Meirza e2cd808b34 MDL-76415 core: Fixed ${var} string interpolation deprecations.
Since PHP 8.2, placing the dollar sign outside the curly brace is deprecated when
the expression inside the braces resolves to a variable or an expression.
2023-02-13 19:51:46 +07:00
Meirza 6b02417e8c MDL-76415 core_course: Fixed ${var} string interpolation deprecations.
Since PHP 8.2, placing the dollar sign outside the curly brace is deprecated when
the expression inside the braces resolves to a variable or an expression.
2023-02-13 19:51:46 +07:00
Meirza 113c78a110 MDL-76415 tool_componentlibrary: Fixed str interpolation deprecations.
Since PHP 8.2, placing the dollar sign outside the curly brace is deprecated when
the expression inside the braces resolves to a variable or an expression.
2023-02-13 19:51:46 +07:00
Meirza 90e94a3498 MDL-76415 blocks: Fixed ${var} string interpolation deprecations.
Since PHP 8.2, placing the dollar sign outside the curly brace is deprecated when
the expression inside the braces resolves to a variable or an expression.
2023-02-13 19:51:46 +07:00
Meirza e9822519eb MDL-76415 lib: Fixed ${} string interpolation deprecations in phpxmlrpc
Since PHP 8.2, placing the dollar sign outside the curly brace is deprecated when
the expression inside the braces resolves to a variable or an expression.
2023-02-13 19:51:46 +07:00
Meirza 3f850a8a4a MDL-76415 lib: Fixed ${var} str interpolation deprecations in php-jwt.
Since PHP 8.2, placing the dollar sign outside the curly brace is deprecated when
the expression inside the braces resolves to a variable or an expression.
2023-02-13 19:51:46 +07:00
Meirza 89131a73c2 MDL-76415 lib: Fixed ${var} string interpolation deprecations in php-ml
Since PHP 8.2, placing the dollar sign outside the curly brace is deprecated when
the expression inside the braces resolves to a variable or an expression.
2023-02-13 19:51:46 +07:00
Lars Bonczek 0a704a6b03 MDL-75379 core: Use non-static template cache 2023-02-13 12:33:33 +01:00
Paul Holden 2f73d7a232 MDL-76611 cohort: prevent duplicate idnumber in inplace editable. 2023-02-13 10:33:23 +00:00
raortegar 3a673213fb MDL-76413 lib: Fixed PHP 8.2 callable deprecations in evalmath 2023-02-13 10:36:46 +01:00
raortegar d7fd2c788a MDL-76413 lib: Fixed PHP 8.2 callable deprecations in minify 2023-02-13 10:35:38 +01:00
raortegar 0e715b0c52 MDL-76413 lib: Fixed PHP 8.2 callable deprecations in adodb 2023-02-13 10:35:38 +01:00
raortegar 08e0045c03 MDL-76413 general: Fixed PHP 8.2 Callable deprecations 2023-02-13 10:35:38 +01:00
Paul Holden e5f01178a6 MDL-77212 tiny_accessibilitychecker: remove unused lang string fetch. 2023-02-13 08:48:51 +00:00
Sara Arjona 597564d7b4 MDL-77086 badges: Improve debugging
Display more information, like the status error, when the badge can't
be sent to the backpack.
2023-02-13 08:40:45 +01:00
Ilya Tregubov c11fac04c1 Merge branch 'MDL-77189-master' of https://github.com/lameze/moodle 2023-02-13 13:42:58 +08:00
Simey Lameze 0876de8868 MDL-77189 behat: basic coverage for wikimedia repository 2023-02-13 13:12:00 +08:00
Jun Pataleta d1d808b5b4 Merge branch '76314-forum-fix-forumtype-and-groupmode-validation-master' of https://github.com/DSI-Universite-Rennes2/moodle 2023-02-13 11:39:22 +08:00
Jun Pataleta 099508cce7 Merge branch '76312-forum-subscriber-sorting-master' of https://github.com/DSI-Universite-Rennes2/moodle 2023-02-13 11:27:17 +08:00
Jun Pataleta db79d463b6 Merge branch 'MDL-62839' of https://github.com/JasonEverling/moodle 2023-02-13 10:05:58 +08:00
Meirza b77041ff28 MDL-77207 core: PHP 8.2 makes exported class name fully qualified. 2023-02-11 16:12:37 +07:00
Anupama Sarjoshi 05d51c15ca MDL-63608 quiz: Fix Access order when manually grading quizzes
Changes done to fix access order of attempts that need manual grading.
Changed button text from 'Save and go to next page' to 'Save and show next' to improve UI.
2023-02-10 17:42:10 +00:00
Luca Bösch d19685ba69 MDL-77156 enrol_self: deprecated trim() of null in PHP 8.1 2023-02-10 18:20:08 +01:00
Paul Holden 1ea152c99a weekly release 4.2dev 2023-02-10 13:47:28 +00:00
Paul Holden 9ca082a5b0 NOBUG: Fixed SVG browser compatibility 2023-02-10 13:47:26 +00:00
Paul Holden 77c7943c0a Merge branch 'install_master' of https://git.in.moodle.com/amosbot/moodle-install 2023-02-10 13:47:26 +00:00
Paul Holden 889f35fc26 MDL-69838 core: final removal of deprecated 310 methods. 2023-02-10 11:20:00 +00:00
Paul Holden 5021b3a5b5 MDL-68776 search: remove support for optional add_documents return.
All six returned array elements must now be present.
2023-02-10 10:41:50 +00:00
Julien Boulen 9f3baf8c4f MDL-76314 forum: add form check to prevent combining wrong parameters
Form validation prevents combining the forum type "single discussion" and the group mode "separate groups".
2023-02-10 11:07:21 +01:00
Julien Boulen 0b1e4b57b6 MDL-76312 forum: sort subscribers list by fullname 2023-02-10 10:26:31 +01:00
Jun Pataleta 36564d26ba Merge branch 'MDL-74272-fix' of https://github.com/sarjona/moodle 2023-02-10 16:52:36 +08:00
Sara Arjona ad1a9e85de MDL-74272 behat: Fix issue with headless
It seems unrelated to this patch... But git bisect pointed it here.
2023-02-10 09:42:53 +01:00
Jake Dallimore 7e6f706717 MDL-77140 mod_lti: fix content item return for new TinyMCE versions 2023-02-10 10:11:34 +08:00
David Woloszyn 694b3ef878 MDL-77145 enrol: Removed course shortname from unenrolme string 2023-02-10 11:10:15 +11:00
Jason A Everling 6f4011db33 MDL-62839 mod_lti: change instructorchoiceacceptgrades default value
update mod_lti behat test: renametool.feature, added  "Accept grades from the tool" to "1"
2023-02-09 10:22:17 -06:00
Paul Holden 6f4675e043 MDL-76222 tool_customlang: non-translatable export CLI filename.
This matches the name used for manual (via UI) language export.
2023-02-09 14:18:05 +00:00
Andrew Nicols ea1f5eba27 Merge branch 'MDL-76904-master' of https://github.com/NashTechOpenUniversity/moodle 2023-02-09 12:04:21 +08:00
Andrew Nicols 219d15895e Merge branch 'MDL-74755' of https://github.com/paulholden/moodle 2023-02-09 11:44:16 +08:00
Jun Pataleta 6845a7f74f Merge branch 'MDL-77052-master' of https://github.com/Utdanningsdirektoratet/moodle 2023-02-09 11:27:43 +08:00
Jun Pataleta 5ab615c610 Merge branch 'MDL-77161-master' of https://github.com/andrewnicols/moodle 2023-02-09 11:18:24 +08:00
Andrew Nicols 8d35d59bf3 Merge branch 'MDL-76354' of https://github.com/paulholden/moodle 2023-02-09 10:58:29 +08:00
Jun Pataleta c909797ec1 Merge branch 'MDL-77007-master' of https://github.com/andrewnicols/moodle 2023-02-09 10:52:55 +08:00
Andrew Nicols c7a1f4c748 Merge branch 'MDL-77018' of https://github.com/timhunt/moodle 2023-02-09 10:50:58 +08:00
Andrew Nicols 2de031b74c Merge branch 'MDL-76066-master' of https://github.com/aanabit/moodle 2023-02-09 10:27:00 +08:00
Andrew Nicols 9890d88107 Merge branch 'MDL-77057' of https://github.com/paulholden/moodle 2023-02-09 10:19:22 +08:00
Andrew Nicols 43962ec9ce Merge branch 'MDL-72559-master' of https://github.com/keevan/moodle 2023-02-09 10:17:12 +08:00
Matthew Hilton 5ea4d886ee MDL-73317 assign: Move useridlist cache construction
Move the construction of the useridlist $SESSION cache to when a key
is requested.

This stops the writing of $SESSION when backing up
or restoring mod_assign instances, which is neccessary since the
backup and restore scripts close the session when processing.
2023-02-09 12:03:49 +10:00
Matthew Hilton f106babf53 MDL-73317 search: Close session later in script
The session write_close was moved to the earliest point in the script
that does not modify the session. This is currently always after
$OUTPUT->header()
2023-02-09 12:03:49 +10:00
Matthew Hilton 49c4cfb2d5 MDL-73317 restore: Reset navcache before closing session
As part of a restore, the session is closed early so it does not
interrupt the users session during the restore.

Currently the restore controller rebuilds the course caches while
restoring. This inadvertently resets the navcache, which would edit the
session despite it being closed.

Because this tracker now adds logging for this behaviour, it means
restoring now outputs a debugging message as a warning.

To resolve the debugging message, the navcache is now reset just before
closing the session. This is allowed, since the caches are designed
to be volatile.
2023-02-09 12:03:49 +10:00
Matthew Hilton 863bad8d7e MDL-73317 report_participation: Close session later in script
The script has been reorganised so that it closes the session as early
as possible, without causing session changes after close being logged.

In this case, after the table has been output it is OK to close the
session.
2023-02-09 12:03:49 +10:00
Matthew Hilton 4faa3204d6 MDL-73317 session: Log extra details for cachestore changes
More visibility depth is required for cachestore changes since they
are usually multi dimensional arrays.
2023-02-09 12:03:49 +10:00
Matthew Hilton 9c8d8502c0 MDL-73317 session: Log session changes after close
A snapshot of the session is now taken when write_close is called.
The session at shutdown is then compared to the snapshot. If changes
are detected, they are logged. This aids developers in seeing if
early session closes may be having unintended consequences.
2023-02-09 12:03:49 +10:00
Matthew Hilton 95077da502 MDL-73317 session: Improve session diff detection
Previously, newly added keys to the session were not detected. Objects
with the same properties were also incorrectly reported as different.

This commit improves this, and updates the unit tests to reflect the
new functionality.
2023-02-09 12:03:49 +10:00
Andrew Nicols cfb728bebb Merge branch 'MDL-76499-master' of https://github.com/andelacruz/moodle 2023-02-09 09:52:53 +08:00
Andrew Nicols 9dca529997 Merge branch 'MDL-70586-master' of https://github.com/sarjona/moodle 2023-02-09 09:40:34 +08:00
Andrew Nicols d56df7c204 Merge branch 'MDL-76912' of https://github.com/paulholden/moodle 2023-02-09 09:37:00 +08:00
Andrew Nicols c9956b2c94 Merge branch 'MDL-77177' of https://github.com/paulholden/moodle 2023-02-09 07:11:32 +08:00
Paul Holden 29c13cc54b Merge branch 'MDL-76672-master' of https://github.com/Utdanningsdirektoratet/moodle 2023-02-08 14:57:30 +00:00
Jun Pataleta 73cd0ff616 Merge branch 'MDL-74272-master' of https://github.com/sarjona/moodle 2023-02-08 22:25:18 +08:00
Paul Holden f85f441914 Merge branch 'MDL-76542-master' of https://github.com/lameze/moodle 2023-02-08 14:22:10 +00:00
Laurent David 00eecda571 MDL-76620 mod_bigbluebuttonbn: Fix guest behat test
* Refactor guest_access.feature behat test
2023-02-08 14:27:47 +01:00
Laurent David 8fcf662484 MDL-76620 mod_bigbluebuttonbn: Fix guest access with forcelogin
*With "forcelogin" setting turned on, the new external guest
 links in the bigbluebutton plugin do not work but show the login screen instead
2023-02-08 14:27:47 +01:00
Sara Arjona 72f75ef344 MDL-74272 theme_boost: Coding style improvements 2023-02-08 13:05:26 +01:00
Sara Arjona 5d7d947553 MDL-74272 theme_boost: Remove plugin name on course page
In 4.0, the plugin name was added above their name. Based on the community
feedback and the research done by the UX team, this needs to be removed.
This commit removes the activity name when edit mode is disabled.
2023-02-08 13:04:31 +01:00
Paul Holden ef47376a37 Merge branch 'MDL-73692-master-Add-support-for-missing-timestamps-to-rss-block' of https://github.com/melanietreitinger/moodle 2023-02-08 11:22:08 +00:00
Melanie Treitinger e5709fc588 MDL-73692 blocks: Add support for missing timestamps to rss block. 2023-02-08 11:20:48 +01:00
Paul Holden a09dc53828 MDL-77177 mod_data: re-factor internal method argument order.
We cannot have required method parameters after optional, it doesn't
make sense. Also it causes deprecation notices in PHP8.1.
2023-02-08 09:57:52 +00:00
Jun Pataleta 65228171e5 Merge branch 'MDL-74905' of https://github.com/stronk7/moodle 2023-02-08 17:19:38 +08:00
Angelia Dela Cruz 367027f979 MDL-75230 behat: Lesson Behat tests optimised
Replace steps that manually add Lesson instances via the UI and use
Behat generators. This improves the speed of the Behat test runs.
2023-02-08 14:20:21 +08:00
Simey Lameze 64799f9ace MDL-76542 behat: add step to go to user edit page directly 2023-02-08 12:22:29 +08:00
Simey Lameze d991b12d15 MDL-76542 behat: create custom profile fields using data generators
This commit also adds a new test to verify the custom profile fields
works using the user interface.
2023-02-08 12:12:08 +08:00
Jun Pataleta 8b3e36f8a8 Merge branch 'MDL-76755-master' of https://github.com/davewoloszyn/moodle 2023-02-08 11:34:21 +08:00
Paul Holden 4402b0b677 MDL-77154 course: access checks in course format fragment callbacks. 2023-02-08 11:11:00 +08:00
Andrew Nicols 01da499897 Merge branch 'MDL-76418-master' of https://github.com/srobotta/moodle 2023-02-08 08:52:59 +08:00
Stephan Robotta a8de5c5002 MDL-76418 course: section action menu item to show permlink to section 2023-02-07 17:56:46 +01:00
Andrew Nicols 41ccc8acb9 MDL-77171 core: Remove legacy tooltip/popuphelp YUI mods 2023-02-07 23:52:01 +08:00
Paul Holden 6f81371f7a Merge branch 'MDL-77112-master' of https://github.com/lucaboesch/moodle 2023-02-07 15:18:52 +00:00
Jun Pataleta f9ced0f475 Merge branch 'MDL-76901' of https://github.com/paulholden/moodle 2023-02-07 22:56:20 +08:00
Jun Pataleta 9bba8650c0 Merge branch 'MDL-76569-master' of https://github.com/andrewnicols/moodle 2023-02-07 22:54:12 +08:00
Andrew Nicols 7bf57d9850 MDL-77161 cachestore_memcached: Remove from core 2023-02-07 21:42:50 +08:00
Paul Holden bfb5197738 MDL-76901 reportbuilder: cache custom report element persistents.
During request lifecycle ensure that column, filter and condition
persistents are only loaded a single time to prevent additional
database reads.

Provide invalidation method, used by the report helpers, to ensure
that the persistents are re-loaded appropriately.

Co-authored-by: Marina Glancy <marina@moodle.com>
2023-02-07 13:10:14 +00:00
Lars Bonczek 9b7c8f54ab MDL-74433 mod_assign: Fix logging of submission removal 2023-02-07 12:33:49 +01:00
Jun Pataleta 34b1252fbf Merge branch 'MDL-76089-master' of https://github.com/junpataleta/moodle 2023-02-07 15:35:46 +08:00
Marina Glancy e6d6224271 MDL-76089 lib: upgrade horde library 2023-02-07 15:21:05 +08:00
Andrew Nicols 685d9c277f Merge branch 'MDL-77023' of https://github.com/paulholden/moodle 2023-02-07 12:47:58 +08:00
Andrew Nicols c7ac3be265 Merge branch 'MDL-77123-master' of https://github.com/cameron1729/moodle 2023-02-07 12:38:28 +08:00
Andrew Nicols 94cb2bbc60 Merge branch 'mdl-76729_master' of https://github.com/james-cnz/moodle 2023-02-07 12:36:52 +08:00
Andrew Nicols bff31d527c Merge branch 'MDL-75946-master' of https://github.com/davewoloszyn/moodle 2023-02-07 10:38:52 +08:00
Andrew Nicols 81f9751c9e Merge branch 'MDL-76691-master' of https://github.com/sarjona/moodle 2023-02-07 10:36:40 +08:00
Sara Arjona 876c3a39d5 MDL-76691 core_h5p: Add editor lib changes after upgrading it 2023-02-06 16:48:08 +01:00
Sara Arjona 0929df7d35 MDL-76691 core_h5p: Upgrade editor lib to moodle-1.23 2023-02-06 16:48:08 +01:00
Sara Arjona ca37dd3baf MDL-76691 core_h5p: Add core lib changes after upgrading it
Apart from applying the points described in readme_moodle.txt, the following
changes have been done too:

- The parameter $folderName from the method libraryToString() have been removed
and a new method, libraryToFolderName() has been added to the H5PCore API.
References to libraryToString() with the $folderName set to true have been
replaced to the new method.
- missing-main-library has been added and replaces in some cases to
missing-required-library.
- The framework saveLibraryData method must be called before saveLibrary
(h5p.classes.php file has been patched to leave the original order because
libraryid is required to save the itemid).
- The getLibraryId() method from H5PCore has been rewritten to use MUC, in
order to avoid PHPUnit failures.
2023-02-06 16:48:07 +01:00
Sara Arjona d18d90602b MDL-76691 core_h5p: Upgrade core lib to moodle-1.23 2023-02-06 16:48:07 +01:00
sam marshall 3353aecc8b MDL-76791 core_cache: Locking breaks for multiple-identifiers store
Cache locking fails if the cache store supports multiple identifiers
(in core, the only two which do are cachestore_static and
cachestore_mongodb, so this is unlikely to cause severe problems).
2023-02-06 15:46:17 +00:00
Sara Arjona e1ac3833f5 MDL-70586 mod_feedback: Hide the Preview questions icon for students
The Preview questions icon shouldn't be displayed unless the user can
edit the feedback or access to the reports; otherwise, it's causing
confusion (especially when the feedback is not opened).
2023-02-06 16:33:09 +01:00
Jun Pataleta 08a061ad5d Merge branch 'MDL-76432-master-v02' of https://github.com/ferranrecio/moodle 2023-02-06 22:30:40 +08:00
Paul Holden f37b990a7a Merge branch 'MDL-77078-master' of https://github.com/andelacruz/moodle 2023-02-06 13:33:01 +00:00
Andrew Nicols c4fceb6237 Merge branch 'MDL-75688-master' of https://github.com/call-learning/moodle 2023-02-06 21:18:06 +08:00
Andrew Nicols e5c8a01996 Merge branch 'MDL-77042' of https://github.com/paulholden/moodle 2023-02-06 21:15:16 +08:00
Audun Jørstad Lillekjendlie 4b5ba65000 MDL-76672 block_myoverview: add role attribute for filter div 2023-02-06 14:05:54 +01:00
Tim Hunt 9091406f71 MDL-77147 question admin: optimised the query in admin/qtypes.php 2023-02-06 12:46:22 +00:00
Audun Jørstad Lillekjendlie 316c52d150 MDL-77052 block_recentlyaccesseditems: HTML role attribute
HTML elements with role=list must contain children with role=listitem
2023-02-06 13:45:17 +01:00
Ferran Recio 1113f8328e MDL-76432 core_courseformat: migrate file drag and drop
Replace the old course/dragdrop.js file (which was not even minimised)
to AMD modules and integrate them to the new reactive course editor.
From now on, a file can be drop over any course section, no matter if it
is in the course content or in the course index. It will also start
using the new process monitor to show the uploading state to the user.
2023-02-06 12:59:25 +01:00
Ferran Recio a3f116367e MDL-76432 core_courseformat: add file_handlers webservice
In 4.0- version each time the course page is loaded the file handlers
are calculate din the backend and injected directly into JS using a json
encapsulation. With this new webservice the handlers can be obtained
directly from the frontend when needed.
2023-02-06 12:59:25 +01:00
Ferran Recio e359b9889a MDL-76432 core: reactive drapdrop file support
This commit adds all the necessary CSS and logic to handle file dropping
into a reactive compoment. From now on, a reactive application can
handle both element drag&drop and file drop easily.
2023-02-06 12:58:44 +01:00
Ferran Recio 2846751f2b MDL-76432 core: add process monitor UI component
Create a new UI compoment to queue, execute and display errors on batch
processing. The first use of this component is when the teacher drops a
file into the course page.
2023-02-06 12:58:43 +01:00
Ferran Recio ff5f669cf8 MDL-76432 aria: add getFirst to nomalise
Half of the times the normalise module is used is to get a single
element. However, because jQuery elements can contain multiple elements
the getList is always an array. Due to this in many ocasions we repeat
the getList(VAR)[0] line instead of having a more readable getFirst
method which only implies a couple of lines in the original code.
2023-02-06 12:58:43 +01:00
Paul Holden 21bd0c3430 Merge branch 'MDL-76370-publicpaths-proxying' of https://github.com/jaydn/moodle 2023-02-06 11:02:41 +00:00
Marina Glancy e861734286 MDL-72182 my: tests for resetting dashboard
Co-authored-by: Paul Holden <paulh@moodle.com>
2023-02-06 09:34:18 +00:00
Paul Holden b31b37aaae MDL-72182 user: cross-DB compatibility for getting user pages/blocks. 2023-02-06 09:34:18 +00:00
Paul Holden c766043420 MDL-74755 block_accessreview: stricter checking of enabled config. 2023-02-06 09:31:31 +00:00
Andrew Nicols 92d04b9e7b Merge branch 'MDL-77091' of https://github.com/paulholden/moodle 2023-02-06 12:58:56 +08:00
Andrew Nicols 98b8ee2e1e Merge branch 'MDL-76783-master' of https://github.com/ferranrecio/moodle 2023-02-06 12:57:43 +08:00
Andrew Nicols eee93ead3a Merge branch 'master_MDL-77062' of https://github.com/guillogo/moodle 2023-02-06 12:56:48 +08:00
David Woloszyn 92facc90e2 MDL-76947 css: Fixed layout regression on dropdown menus 2023-02-06 15:11:04 +11:00
Angelia Dela Cruz 3d7fa69c02 MDL-77078 Behat: Coverage for assignment submission statement 2023-02-06 10:43:10 +08:00
AMOS bot 9445b9afd0 Automatically generated installer lang files 2023-02-06 00:07:44 +00:00
Anastasios Bithas e12ab61deb MDL-73642 mod_assign: Disable draft option if submission already made 2023-02-04 18:40:07 +02:00
Andrew Nicols 6414935cca Merge branch 'MDL-76662' of https://github.com/paulholden/moodle 2023-02-04 21:37:23 +08:00
Eloy Lafuente (stronk7) 012a4c5cf8 MDL-74905 ci: travis and gha, raise to agreed requirements
Basically, we only need to change:
- PHP 8.0
- MySQL 8.0
- PostgreSQL 13

Also, remove any php-xmlrpc installation because they aren't
needed since Moodle 4.1.

Finally, ensure that we aren't using mysql bin logs ever, because
they are huge and can make the 1Gb tmpfs to become full. This is
specifically needed for MySQL 8.0, because it comes with bin logs
enabled by default.

We have forked the mysql-action to achieve that:

https://github.com/moodlehq/mysql-action

Worth blaming travis because, after PG 11 and 12 using port 5433,
now they are back (in PG 13) to port 5432. Surely there is some
logic behind the undocumented ping-pong but...
2023-02-03 19:48:02 +01:00
Eloy Lafuente (stronk7) fa269897c7 MDL-74905 upgrade: remove all the < 3.11.0 upgrade steps
Note that, despite the commit message, this is not possible. Moodle
3.11.0 (and 3.10.0) were developed in parallel with Moodle 4.0, and
when they were released, the master branch had already diverged, so
the master branch does not contain the comment lines:

"// Automatically generated Moodle v3.11.0 release upgrade line"

And they are needed to know which parts of the upgrade are safe to delete.

So we only proceed to delete all those steps from lib/db/upgrade.php
which version is known to be < 2021051708 (v3.11.8), master ones will
be, always bigger than that. We don't touch plugin upgrade scripts
because they may have different versions, not 100% matching the
2021051708 rule, so there will be an excess of steps there.

Note this is not a big problem, just a few more steps will be skipped and
that's all. Whenever we bump the Moodle requirements again (to Moodle
4.0 or up), the lines will be back and we'll be able to safely remove
all the steps before them. See previous Moodle requirements issues as
example.

The upgrade steps deleted by this commit weren't using any stuff from
upgradelib, tasks..., so there isn't anything else to be removed but
the core steps themselves.

Also includes an upgrade step to prevent upgrading from any
version < 2021051708 (v3.11.8) as anti-cheating measure.
2023-02-03 19:48:02 +01:00
Eloy Lafuente (stronk7) c66dc59131 MDL-74905 environment: Apply agreed changes:
- PHP 8.0 required.
- Moodle 3.11.8 required (first minor supporting PHP 8.0 officially).
- MySQL 8.0 required.
- MariaDB 10.6.7 required.
- PostgreSQL 13 required.
- php-sodium extension required.
- 64-bit PHP required.
2023-02-03 19:48:02 +01:00
Eloy Lafuente (stronk7) 6667366b54 MDL-74905 environment: 4.2 base information
This is a direct copy of the 4.1 information, to
have all the real changes under control in next commit(s).
2023-02-03 19:48:02 +01:00
Eloy Lafuente (stronk7) 93406bd4f1 MDL-74905 composer: Regenerate with php80 and requirements raised
Now that the required PHP version has been raised to php80, set
it in the composer.json file and regenerate everything, following
the instructions @ https://docs.moodle.org/dev/Composer .

The only changes, as agreed in the issue are:
- Raise min PHP version to 8.0 (from 7.4).
- Make the php-sodium extension required (was optional).
- Small behat/behat bump to 3.12.0 (from 3.11.0)
2023-02-03 19:48:02 +01:00
Paul Holden 44d140d20c Merge branch 'MDL-76869-master' of https://github.com/cameron1729/moodle 2023-02-03 14:58:24 +00:00
Paul Holden 85bb12214d Merge branch 'MDL-77090' of https://github.com/timhunt/moodle 2023-02-03 14:46:48 +00:00
Paul Holden fe6db3e3b2 Merge branch 'MDL-76447-master' of https://github.com/meirzamoodle/moodle 2023-02-03 14:31:38 +00:00
Ferran Recio 9930b7a2e6 MDL-76783 core_courseformat: add bulk editing interface 2023-02-03 13:39:22 +01:00
Ferran Recio c9a8713539 MDL-76783 core_courseformat: add bulk state data 2023-02-03 12:24:59 +01:00
Ferran Recio 986ab2b84a MDL-76783 core_courseformat: add bulk-hidden classes 2023-02-03 12:24:59 +01:00
Ferran Recio cb85359b14 MDL-76783 theme_boost: sticky footer js control 2023-02-03 12:24:53 +01:00
Luca Bösch dda015f855 MDL-77112 quiz: Align some elements in quiz reports better. 2023-02-03 11:52:44 +01:00
Jun Pataleta 0780e87f06 weekly release 4.2dev 2023-02-03 15:43:31 +08:00
Angelia Dela Cruz 09dd28488a MDL-76499 behat: Resource Behat tests optimised
Replace steps that manually add resource instances via the UI and use
Behat generators. This improves the speed of the Behat test runs.

Co-authored-by: David Woloszyn <david.woloszyn@moodle.com>
2023-02-03 11:02:26 +08:00
David Woloszyn 4004fd2963 MDL-75946 lib_horde: Fixed deprecated FILTER_SANITIZE_STRING 2023-02-03 12:56:36 +11:00
David Woloszyn e4bbca0401 MDL-75946 core_h5p: Fixed deprecated FILTER_SANITIZE_STRING 2023-02-03 12:56:35 +11:00
Jonathon Fowler d9bc9af91a MDL-74698 backup: correctly restore course format options
Old-version backups (< 3.11.7, < 4.0.1) lose their course-level format
options when restoring into newer versions after the backup structure
was changed.

Also, course-level format options were not accurately restored against
the appropriate format type. And section-level format options were
redundantly stored at course-level and restored without mapping their
sectionids, thus creating lint.
2023-02-03 10:17:05 +10:00
Tim Hunt 484828957a MDL-77090 questions: regrade of interactive attempts lose tries count
The behaviour-specific data was getting corrupted when the regrade
recreated the first step, because $oldstep->get_behaviour_data() was
stripping off the leading '-' characters from the names, and they were
not being added back.
2023-02-02 14:34:19 +00:00
Cameron Ball 02af9bd120 MDL-77123 message_airnotifier: Don't test configured providers 2023-02-02 14:10:01 +08:00
Jun Pataleta 3f0b0dccb1 Merge branch 'MDL-72609-master' of https://github.com/andrewnicols/moodle 2023-02-02 12:41:16 +08:00
Andrew Nicols 537706353b Merge branch 'MDL-75870-master' of https://github.com/nwp90/moodle 2023-02-02 12:38:49 +08:00
Andrew Nicols 8aa7812ff8 MDL-75085 external: Whitespace fix 2023-02-02 12:38:46 +08:00
David Woloszyn 23318ebb5e MDL-76755 admin: Blocked hosts defaults improved 2023-02-02 15:16:17 +11:00
Andrew Nicols 7ceb00f887 Merge branch 'MDL-75085-master-4' of https://github.com/junpataleta/moodle 2023-02-02 12:02:26 +08:00
Andrew Nicols 8360ac66f3 Merge branch 'MDL-75830-master' of https://github.com/andelacruz/moodle 2023-02-02 11:55:10 +08:00
Andrew Nicols cc44a3eea5 Merge branch 'MDL-77024' of https://github.com/timhunt/moodle 2023-02-02 11:51:51 +08:00
Andrew Nicols 11d09ef410 Merge branch 'MDL-76675' of https://github.com/stronk7/moodle 2023-02-02 11:02:21 +08:00
Andrew Nicols ba4adc5321 Merge branch 'MDL-76591' of https://github.com/paulholden/moodle 2023-02-02 11:00:29 +08:00
Jun Pataleta 8b88c61b70 Merge branch 'MDL-69690-master' of https://github.com/ilyatregubov/moodle 2023-02-02 10:35:02 +08:00
Ilya Tregubov a67e5f5496 Merge branch 'MDL-77058' of https://github.com/dravek/moodle 2023-02-02 10:05:20 +08:00
Jun Pataleta de4a2a1b9e Merge branch 'MDL-77092-master' of https://github.com/sammarshallou/moodle 2023-02-02 09:57:13 +08:00
Andrew Nicols 929e5b4552 Merge branch 'MDL-75912-master' of https://github.com/andelacruz/moodle 2023-02-02 09:49:05 +08:00
Ilya Tregubov 9c7e11c996 Merge branch 'MDL-77079-master' of https://github.com/lameze/moodle 2023-02-02 09:13:48 +08:00
Jun Pataleta 60fe64d786 MDL-75085 core_external: Validate $required param
Make sure that the $required param for external_description and its
subclasses are either VALUE_DEFAULT, VALUE_REQUIRED, or VALUE_OPTIONAL.
2023-02-02 09:13:43 +08:00
Jun Pataleta 7a85d041d7 MDL-75085 core_external: Pass proper $required param value in tests 2023-02-02 09:08:29 +08:00
Jun Pataleta a85c424204 MDL-75085 external: Fix external_multiple_structure parameter passing
Some calls to the external_multiple_structure's constructor incorrectly
pass parameters where the value for the $description parameter is not
being passed. This results to invalid values being passed for the
$required parameter.
2023-02-02 09:08:29 +08:00
Angelia Dela Cruz 710607ce5f MDL-75830 behat: Book behat tests optimised
Replace steps that manually add Book instances via the UI and use
Behat generators. This improves the speed of the Behat test runs.
Additionally, performed Behat cleanup and optimisation to affected
files.
2023-02-02 09:08:09 +08:00
Andrew Nicols 2f2c587552 Merge branch 'MDL-77100' of https://github.com/paulholden/moodle 2023-02-02 08:30:02 +08:00
Andrew Nicols b3469566ae Merge branch 'MDL-77001' of https://github.com/paulholden/moodle 2023-02-02 08:26:54 +08:00
Andrew Nicols 44fd686a2f Merge branch 'MDL-77003' of https://github.com/paulholden/moodle 2023-02-02 08:19:45 +08:00
Andrew Nicols 8ec42cd259 Merge branch 'MDL-75345' of https://github.com/paulholden/moodle 2023-02-02 08:17:42 +08:00
Nick Phillips 1435abde89 MDL-75870 course: only section togglers to toggle sections 2023-02-02 11:37:29 +13:00
Paul Holden d22142f537 Merge branch 'MDL-76658-master' of https://github.com/andelacruz/moodle 2023-02-01 16:34:36 +00:00
Paul Holden 147c31800b MDL-75345 reportbuilder: improve course/user custom report tests.
Ensure column and filters provided by each source have sufficient
coverage. Re-factor individual entity/helper class tests to test
their own specific implementation only.

Remove now-defunct test fixtures.
2023-02-01 15:41:32 +00:00
Paul Holden 5b644bfd30 MDL-77091 reportbuilder: set base time in schedule test generator.
The base time allows for the setting of the "current time" for the
purposes of the schedule test against recurrence configuration.

We should ensure the generator method allows this property so that
it can be used when calculating the initial "next send time" of the
schedule upon creation (and avoiding excessive recursion when the
actual current time is used for the calculation).
2023-02-01 14:39:21 +00:00
Paul Holden 8011dc68c6 Merge branch 'MDL-76311-master' of https://github.com/meirzamoodle/moodle 2023-02-01 14:16:11 +00:00
Meirza f249a04e93 MDL-76311 user: redirect to proper URL if a new user creation cancelled 2023-02-01 20:12:41 +07:00
Meirza 3f7981d480 MDL-76447 editor_tiny: revert the z-index.
Nesting the dropdown menu inside the parent DOM makes the menu can display correctly
without changing the z-index.
2023-02-01 17:33:22 +07:00
Meirza 83b5089e54 MDL-76447 editor_tiny: Nest the dropdown menu in the parent DOM.
The TinyMCE menu has a significant issue with the Overflow style,
and the Boost theme heavily uses Overflow for drawer navigation.
Nest the dropdown menu container into the parent editor container makes it work correctly.

Co-authored-by: davewoloszyn <david.woloszyn@moodle.com>
Co-authored-by: xr0master <xr0master@gmail.com>
2023-02-01 17:33:18 +07:00
Paul Holden f256b82879 Merge branch 'MDL-73847' of https://github.com/jonof/moodle 2023-02-01 10:00:22 +00:00
Sara Arjona cfac887beb Merge branch 'MDL-76135-patch' of https://github.com/ilyatregubov/moodle 2023-02-01 10:13:12 +01:00
Ilya Tregubov f3168a1bc7 MDL-76135 core: Remove old http-message lib 2023-02-01 16:41:18 +08:00
Paul Holden 25a6675fcd MDL-77102 mod_wiki: remove deprecated mbstring overload checks. 2023-02-01 08:32:10 +00:00
Ilya Tregubov 939ef5197a Merge branch 'MDL-76135-master' of https://github.com/safatshahin/moodle 2023-02-01 15:47:12 +08:00
Jun Pataleta a41eee1ba4 Merge branch 'MDL-76985-master' of https://github.com/sh-csg/moodle 2023-02-01 14:12:05 +08:00
Ilya Tregubov e2f539df20 Merge branch 'MDL-76587-master' of https://github.com/lameze/moodle 2023-02-01 13:25:18 +08:00
Jun Pataleta 2147bd6951 MDL-75085 webservice: Fix parameter passed to external_format_value 2023-02-01 11:12:02 +08:00
Angelia Dela Cruz 854a357add MDL-75912 behat: Wiki Behat tests optimised
Behat cleanup and optimisation
2023-02-01 11:01:47 +08:00
Angelia Dela Cruz 77cb8e55e4 MDL-75912 behat: Wiki Behat tests now use generators
Replace steps that manually add Wiki instances via the UI and use
Behat generators. This improves the speed of the Behat test runs.
2023-02-01 11:00:57 +08:00
Simey Lameze af00222947 MDL-77079 behat: use different step to validate presets table data 2023-02-01 09:01:56 +08:00
guillermogomez 43c64bc141 MDL-77062 reportbuilder: Add filters/conditions for completion entity
This commit will add missing fields as Time enrolled/started/reaggregated
in the filter/condition area for the completion entity when creating a course participants
as a report source in the Report Builder.
2023-01-31 18:37:44 -05:00
Paul Holden 0f58d46b05 MDL-77100 mod_data: replace calls to str_ends_with, fix assertions.
Calls to `str_ends_with` are polyfilled currently, as the method is
not present in PHP7.4 or earlier. We should avoid uses of it so as
to not trip up compatibility standard checkers.
2023-01-31 21:35:33 +00:00
Tim Hunt c60878c90d MDL-77094 quiz_statistics: improve efficiency of the recalculate task
quiz_settings::create() requires at least 3 DB queries, so the point is
that we can avoid doing that until after we have worked out if we need
to calculate statistics for this quiz.

Also, we order the list of quizzes to consier, to process the ones with
more recent attempts first.
2023-01-31 15:58:48 +00:00
Julien Boulen 07193bcb00 MDL-76945 theme: fix the rendering of arrows on dropdown variants 2023-01-31 15:17:15 +01:00
Andrew Nicols 2b6224a345 Merge branch 'MDL-75945-master' of https://github.com/meirzamoodle/moodle 2023-01-31 22:12:16 +08:00
sam marshall b639c1455a MDL-77092 Behat: Expand all fieldsets fails with single fieldset
The Behat step to expand all fieldsets did not work if the page
contains only one fieldset.
2023-01-31 13:56:04 +00:00
Andrew Nicols 58afba6d82 Merge branch 'MDL-77081' of https://github.com/paulholden/moodle 2023-01-31 21:43:01 +08:00
Angelia Dela Cruz 7bc1079332 MDL-76658 Behat: Coverage for course cohort enrolment groups
Co-authored-by: Simey Lameze <simey@moodle.com>
2023-01-31 21:18:31 +08:00
Paul Holden 16747048f3 MDL-77081 forms: PHP8.1 compatibility for group/textarea elements.
See related changes in b0a83aa7, we can no longer pass null values
to some string related methods.
2023-01-31 10:51:24 +00:00
Ilya Tregubov 2ed4132539 Merge branch 'MDL-77077-master' of https://github.com/snake/moodle 2023-01-31 18:13:10 +08:00
hieuvu 1912982e95 MDL-76904 question: Keep question highlight in url 2023-01-31 16:33:32 +07:00
Andrew Nicols 1f4794341b Merge branch 'MDL-75498-master' of https://github.com/ferranrecio/moodle 2023-01-31 15:13:33 +08:00
Simey Lameze f93b2f3992 MDL-76587 behat: make grading page wider to avoid 'out of bounds' fail
This is because on classic theme the navigation block pushes the content
to the right and once behat changes the grades the 'Save changes' button
is no longer visible.
2023-01-31 11:14:51 +08:00
Paul Holden 76327f04ac MDL-76591 comment: create test generators and Behat scenarios.
The added scenarios cover the management of comments: viewing,
filtering and deletion.
2023-01-30 16:00:25 +00:00
Paul Holden 35f3847064 MDL-76591 comment: implement new management interface elements.
Convert existing JS modules, call existing external service for
comment deletion.
2023-01-30 15:54:00 +00:00
Paul Holden 648b80c201 MDL-76591 comment: convert existing overview page to system report.
Re-use the entity definitions previously created in fdf2f8f3 for
custom reporting, to create a new system report class.
2023-01-30 15:53:59 +00:00
Charles Fulton 63305c402a MDL-75578 course: require course library to resolve namespace issues 2023-01-30 10:43:09 -05:00
Ferran Recio cde3565a67 MDL-75498 mod_data: add new tags to presets 2023-01-30 12:01:22 +01:00
Ferran Recio 0213df2f03 MDL-75498 mod_data: add extra tags to templates 2023-01-30 12:01:20 +01:00
Paul Holden 1d21409158 MDL-76912 libraries: upgrade to version 1.8.1 of loglevel. 2023-01-30 09:58:53 +00:00
Jake Dallimore 9981e1ec2e MDL-77077 mod_lti: Fix JWT signature verify when alg missing from JWKS
Infer the algorithm, where necessary, using a combination of JWT
headers and known valid LTI algorithms.
2023-01-30 16:44:23 +08:00
Andrew Nicols ce548692ac Merge branch 'MDL-77040' of https://github.com/paulholden/moodle 2023-01-30 12:22:28 +08:00
Andrew Nicols edd1fa9218 Merge branch 'MDL-76933' of https://github.com/paulholden/moodle 2023-01-30 11:25:27 +08:00
Andrew Nicols 9bdeb2c012 Merge branch 'MDL-76357-master' of https://github.com/aanabit/moodle 2023-01-30 11:20:32 +08:00
Safat e2d4a543b0 MDL-76135 core: Implement Guzzle cache middleware 2023-01-30 13:05:27 +11:00
Safat 59a9987719 MDL-76135 core: Add guzzle cache middleware 2023-01-30 13:05:27 +11:00
Safat 7c5363eed3 MDL-76135 core: Implement the Guzzle library in core
This commit will implement the Guzzle library in core
to make it usable in different locations.

Co-Authored-By: Andrew Nicols <andrew@nicols.co.uk>
Co-Authored-By: Safat Shahin <safat.shahin@moodle.com>
2023-01-30 13:05:27 +11:00
Andrew Nicols 7b150add44 MDL-76135 core: Import the Guzzle library
This commit will import the Guzzle library in
core. The imported libraries will be used in
the next commits to create an api for the http
client to be used in relevant locations.

Co-Authored-By: Andrew Nicols <andrew@nicols.co.uk>
Co-Authored-By: Safat Shahin <safat.shahin@moodle.com>
2023-01-30 13:05:27 +11:00
Tim Hunt a344e7a3b4 MDL-77018 qbank_statistics: only load stats for contexts that exist
Also, pre-load the contexts for efficiency.
2023-01-27 20:51:05 +00:00
David Matamoros cf86329c7a MDL-77058 reportbuilder: Fix for cohort null idnumber column 2023-01-27 13:53:44 +01:00
Paul Holden fdc9bd1a76 MDL-77057 group: format group names in module override pages. 2023-01-27 11:50:58 +00:00
Tim Hunt 34ca197526 MDL-77024 quiz: fix metatdata on log events
Some had the wrong edulevel or crud
2023-01-27 11:30:28 +00:00
Andrew Nicols f570647d67 Merge branch 'MDL-76562-master' of https://github.com/meirzamoodle/moodle 2023-01-27 13:13:23 +08:00
Andrew Nicols 7bf34d9982 Merge branch 'MDL-75978-master' of https://github.com/JBThong/moodle 2023-01-27 12:24:53 +08:00
Laurent David caecb565c8 MDL-75688 mod_bigbluebuttonbn: Add indexes to log table
* The compound index courseid,bigbluebuttonid is useful to add in order
to speed up some of the queries on the bigbluebuttonbn_logs table
2023-01-26 16:47:42 +01:00
Paul Holden 7f59718891 MDL-77040 core: assert types of returned Geoplugin data, not values.
The results we get from these tests are beyond our control, and are
unreliable for use in testing.

See also previous change 215cd2d8 in similar tests.
2023-01-26 13:24:00 +00:00
Eloy Lafuente (stronk7) 0cbf52d3f4 MDL-76675 date: Only test all TZ names with PHPUNIT_LONGTEST enabled
It happens often that some timezone is renamed, split, added to the
IANAs list of timezones (that, for PHP is kept updated by the
php-timezonedb PECL extension).

When the information coming from the extension changes, all the
PHPUnit jobs in the world start failing (that's when CIs update
their PHP images, when devs update their packages, ...).

So, what we are doing here is to move that test that check for
every single string existing to be run only when PHPUNIT_LONGTEST
is enabled. That way only places running all tests will run that
one. And every other run just will skip it.

This corresponds to point 1 & 2 of the issue, lower impact in general
and, still be able to enable the tests to run.
2023-01-26 14:18:29 +01:00
Paul Holden ebb277ecf5 MDL-76662 tool_log: correct supported reports test assertions. 2023-01-26 13:09:21 +00:00
Davo Smith b395c3f63b MDL-76938 backup: fix restore of comments linked to a course format 2023-01-26 12:31:13 +00:00
Amaia Anabitarte a58ea07a41 MDL-76357 theme: Make sticky footer more prominent 2023-01-26 13:11:18 +01:00
Sara Arjona 880462a168 weekly release 4.2dev 2023-01-26 09:59:06 +01:00
Paul Holden 723b01e416 MDL-77042 mod_data: fix empty/zero equality check for numeric field. 2023-01-25 16:57:58 +00:00
Jun Pataleta f15855ecd6 Merge branch 'MDL-76977' of https://github.com/paulholden/moodle 2023-01-25 16:10:28 +08:00
Jun Pataleta c0bdbf327c Merge branch 'MDL-77036-master' of https://github.com/lameze/moodle 2023-01-25 16:02:37 +08:00
Stefan Hanauska 4b5714fa6a MDL-76985 course: Redirect to moved section 2023-01-25 08:58:53 +01:00
Jun Pataleta 8c3cb3d17e Merge branch 'MDL-77027-master' of https://github.com/andrewnicols/moodle 2023-01-25 15:33:52 +08:00
Sara Arjona 47fd608156 Merge branch 'MDL-76968-master' of https://github.com/junpataleta/moodle 2023-01-25 08:22:23 +01:00
Simey Lameze 6510a7d9ba MDL-77036 core_iplookup: update test_ipv4 test expectations 2023-01-25 15:11:52 +08:00
Andrew Nicols 8fb8bfaf35 MDL-77007 auth: Remove auth-yui-passwordunmask
This was used as part of the auth_config.php configuration system for
the auth subsystem, which was deprecated in Moodle 3.3.

It has never had any other uses in core.

Whilst it would be ideal to deprecate it by replacing with an
alternative, it would be impossible to test.
2023-01-25 14:14:15 +08:00
Andrew Nicols 6a5512c999 MDL-77007 admin: Remove deprecated auth_config.php usage
This was deprecated in Moodle 3.3 and should now be removed.
2023-01-25 14:13:59 +08:00
Andrew Nicols a72168741c MDL-77027 webservice: Add missing class requires 2023-01-25 11:14:59 +08:00
Jun Pataleta f3c29eab3d Merge branch 'MDL-76967-master' of https://github.com/lucaboesch/moodle 2023-01-25 08:57:24 +08:00
Paul Holden ea0515758a MDL-77003 javascript: improve string helper JSON detection.
Changes in fbc2732d made the JS template string helper method
too strict in regards to what it considers a valid JSON object.

Co-authored-by: Mike Churchward <mike@brickfieldlabs.ie>
2023-01-24 22:14:12 +00:00
Paul Holden c4b07bdadf MDL-77023 javascript: always normalise component of lang strings.
Co-authored-by: David Matamoros <davidmc@moodle.com>
2023-01-24 16:29:22 +00:00
Jun Pataleta ce9f6db2ff Merge branch 'MDL-76899' of https://github.com/timhunt/moodle 2023-01-24 23:19:43 +08:00
Sara Arjona ae53d04144 Merge branch 'MDL-75337-master' of https://github.com/laurentdavid/moodle 2023-01-24 16:07:35 +01:00
Jun Pataleta ebbcfa9164 Merge branch 'MDL-76430-master' of https://github.com/ferranrecio/moodle 2023-01-24 21:03:28 +08:00
Ferran Recio d770ebd01b MDL-76430 core_courseformat: implement fragment to course format 2023-01-24 12:00:11 +01:00
Jun Pataleta e742e21800 Merge branch 'MDL-76639-master' of https://github.com/andelacruz/moodle 2023-01-24 18:59:38 +08:00
Jun Pataleta 5587484e3c Merge branch 'MDL-76652-master' of https://github.com/lameze/moodle 2023-01-24 18:45:46 +08:00
Jun Pataleta 29c59bab1f Merge branch 'MDL-76655-master' of https://github.com/andelacruz/moodle 2023-01-24 18:27:10 +08:00
Meirza bf3a9c3b3f MDL-75945 core: Convert a floating value to an integer.
In PHP 8.1, any implicit conversion of float to int, which leads to a loss in precision, is now deprecated.
To avoid the error warning, the code must explicitly convert a floating value to an integer.
2023-01-24 16:49:10 +07:00
Andrew Nicols b1f844750b MDL-77009 tool_monitor: Replace YUI dropdown with ESM version 2023-01-24 16:22:07 +08:00
Andrew Nicols 84929c01f7 MDL-77007 core_form: Remove deprecated moodle-form-passwordunmask 2023-01-24 15:08:50 +08:00
Jun Pataleta 9ed08abd3b Merge branch 'MDL-76973' of https://github.com/paulholden/moodle 2023-01-24 14:02:56 +08:00
Laurent David 9686196e91 MDL-75337 mod_data: Single button - mod_data changes
* Update mod_data module to use the new button style
2023-01-24 06:01:35 +01:00
Laurent David fc72a1d7b1 MDL-75337 core: Single button - core changes
* Change all core calls toward single_button to use single_button::BUTTON_PRIMARY
    when needed
2023-01-24 06:01:35 +01:00
Andrew Nicols ecc2a8775a Merge branch 'MDL-69164-master' of https://github.com/JBThong/moodle 2023-01-24 11:45:27 +08:00
Jun Pataleta da144479fb Merge branch 'MDL-76362-master-extra' of https://github.com/andrewnicols/moodle 2023-01-24 10:38:55 +08:00
Jun Pataleta bcfed4c920 Merge branch 'MDL-76987-master' of https://github.com/andrewnicols/moodle 2023-01-24 09:03:09 +08:00
Angelia Dela Cruz 2cd327b16f MDL-76655 behat: Coverage for workshop grading strategies 2023-01-24 08:48:08 +08:00
Paul Holden 363942cbb6 MDL-76354 competency: export user privacy data unconditionally.
We should ensure that any past competency data for a user is always
exported, regardless whether competencies are currently enabled.
2023-01-23 22:14:22 +00:00
Paul Holden 89be8b7c78 MDL-77001 tiny_autosave: use valid lang string during privacy export. 2023-01-23 22:05:45 +00:00
Amaia Anabitarte d4e66f1df5 MDL-76066 mod_data: Trigger field_deleted event when importing 2023-01-23 18:53:44 +01:00
Laurent David 377c962f11 MDL-75337 core: Single button - API changes
* Update component library for new features of single_button and modal
    * Update core_notification javascript
2023-01-23 13:45:21 +01:00
Andrew Nicols 5e33d57dbe MDL-76987 webservice: Correct namespace for external_api 2023-01-23 20:37:05 +08:00
Paul Holden 89db417402 MDL-76584 question: correct temporary questionid upgrade field.
Pass correct parameter/type in field constructor (`XMLDB_NOTNULL`)
for consistency. This corrects the definition and preserves the
truthyness of the value that was incorrectly passed previously.
2023-01-23 09:16:48 +00:00
Andrew Nicols fcad49b03b MDL-72609 core: Remove YUI from M.util.pendingJS 2023-01-23 15:02:55 +08:00
Andrew Nicols b8f6b7602b MDL-72609 core: Fix complete_js to be a list of strings 2023-01-23 15:02:55 +08:00
Andrew Nicols 116ddb8933 MDL-72609 behat: Rewrite core/pending to observe ES6 style
This commit makes the following changes:
* convert to use ES6 module format
* migrate from a jQuery Deferred to a native ES6 promise
* add a native-Promise-like instantiation

New uses are documented in appropriate jsdoc with examples.
2023-01-23 15:02:55 +08:00
Eloy Lafuente (stronk7) 7fa7d4dd2a MDL-76362 workshop: check for empty (null included) feedbackreviewer
As far as feedbackreviewer can be null, we cannot, since PHP 8.1
apply any string operation (trim, strlen...) on it, hence, checking
before applying.
2023-01-23 09:17:48 +08:00
Eloy Lafuente (stronk7) 240b193603 MDL-76362 enrol_lti: Prevent calling to DataConnector with null keys
While it could have been fixed in DataConnector (3rd part lib), better
prevent in our code to call to it with null keys.

Covered by unit tests.
2023-01-23 09:17:48 +08:00
Eloy Lafuente (stronk7) 4a76c772d7 MDL-76362 output: Preserve original behaviour for PHP 8.1
Whenever the page_requirements_manager::js_fix_url()
is called with null url, it must throw an exception and emit 0 warnings.

It's covered by an explicit test:

test_js_fix_url_coding_exception with data set "Provide a null argument"
2023-01-23 09:17:48 +08:00
Andrew Nicols 7000a99de3 MDL-76362 core: Coding style fixes 2023-01-23 09:15:55 +08:00
Andrew Nicols ce85ef1e49 MDL-76362 core_privacy: Shortcircuit URL rewriting on empty content 2023-01-23 09:15:55 +08:00
Andrew Nicols 5d3cb79f30 MDL-76362 core: Short circuit s() on empty values 2023-01-23 09:15:55 +08:00
Andrew Nicols 19bedb8eba MDL-76362 core: Short-circuit strip_querystring on empty values 2023-01-23 09:15:55 +08:00
Andrew Nicols b0aa0b63e0 MDL-76362 core_file: Check prefix exists before checking length 2023-01-23 09:15:55 +08:00
Andrew Nicols 93ab932211 MDL-76362 core: plugin names must be strings to be valid 2023-01-23 09:15:55 +08:00
Andrew Nicols e068f2284f MDL-76362 core: Update core_component plugin name tests 2023-01-23 09:15:55 +08:00
Andrew Nicols eceb3c49fd MDL-76362 core: Test coursealias before using 2023-01-23 09:15:55 +08:00
Andrew Nicols 6ae3f79c1e MDL-76362 h5p: Use string as default lang param 2023-01-23 09:15:55 +08:00
Andrew Nicols e76b1bcd5e MDL-76362 qtype_numerical: Fix bug in phpdoc 2023-01-23 09:15:54 +08:00
Andrew Nicols 771b49c9ac MDL-76362 qtype_calculated*: Address issues with null strings 2023-01-23 09:15:54 +08:00
Andrew Nicols b7710dbaf4 MDL-76362 qtype: Update formatting of qtype_calculated* upgradelib 2023-01-23 09:15:54 +08:00
Andrew Nicols b4103db72e MDL-76362 qtype_numerical: Support empty units for apply_units 2023-01-23 09:15:54 +08:00
Andrew Nicols 913430f144 MDL-76362 qtype_numeric: Refactor answer tests 2023-01-23 09:15:54 +08:00
Andrew Nicols 32b45433bb MDL-76362 question: Add test for number(null) 2023-01-23 09:15:54 +08:00
Andrew Nicols 5c2d98efcd MDL-76362 question: Refactor question number unit tests 2023-01-23 09:15:54 +08:00
Andrew Nicols ef09257dc1 MDL-76362 core: Use empty default string when getting prefs
The json_decode function does not accept a null, which is the
traditional default for get_user_preferences. By passing a default of
am empty string we avoid issues in PHP 8.1.
2023-01-23 09:15:54 +08:00
Marina Glancy b0a83aa7bd MDL-76362 various: Avoid passing nulls to functions that don't allow nulls
PHP 8.1 is more strict on the parameter type. Functions such as trim(), strlen(), str_replace(), etc
show notice when null is passed as an argument
2023-01-23 09:15:54 +08:00
Marina Glancy 491ed7b200 MDL-76362 mustache: Override parent method to avoid PHP notices
Parent method checks baseDir that is null in this case. This shows notices under PHP 8.1
2023-01-23 09:15:54 +08:00
Paul Holden 5414b82e6e MDL-76977 phpunit: ensure unique data provider keys in mustache test. 2023-01-20 17:19:16 +00:00
Sara Arjona 7c56b6900e Merge branch 'MDL-76942-master-2' of https://github.com/junpataleta/moodle 2023-01-20 16:20:09 +01:00
Sara Arjona 3c649386da Merge branch 'MDL-76139-master' of https://github.com/kevpercy/moodle 2023-01-20 16:11:54 +01:00
Jun Pataleta b60cb734b7 MDL-76942 course: Adjust activity chooser Behat tests
* Try to use the button name instead of CSS selectors whenever possible.
2023-01-20 21:27:39 +08:00
Jun Pataleta 544656431a MDL-76942 core: Revert change to insertresourceoractivitybefore
Revert the lang string "Add an activity or resource before [xx]" back to
its original form of "Insert an activity or resource before [xx]" in
order to avoid conflicts with the "Add an activity or resource" button
especially when running Behat tests.
2023-01-20 21:27:39 +08:00
Andrew Nicols 5b2e04f301 MDL-75945 core: Update uses of ImagePolygon
A new signature was introduced to ImagePolygon functions from PHP 8.0
with the previous signature deprecated in 8.1.

For PHP versions 8.0 and later we should use the new signature. Once PHP
8.0 is the required minimum version, the legacy version should be
removed.
2023-01-20 18:41:26 +07:00
Paul Holden 1b52486cce MDL-76973 user: correct testcase reference to external_api class. 2023-01-20 11:30:02 +00:00
Paul Holden ab670ab286 MDL-76933 badges: create user-focused datasource for custom reporting.
This report source differs from the original badges source (5274ee5a)
by making `user` the primary table of the report, allowing for reports
on all users regardless of whether they have been awarded badges.
2023-01-20 10:20:01 +00:00
Paul Holden 75ab52d902 MDL-76878 user: amend permission callbacks for preference definitions.
Ensure those preferences that are used for storing state can always be
updated via web service requests for the current user.
2023-01-20 10:05:21 +00:00
Jun Pataleta a479c1854b MDL-76968 mod_quiz: Use proper external_api reference 2023-01-20 17:06:17 +08:00
Luca Bösch a4eee48b49 MDL-76967 questions: Questions last used line height 2023-01-20 09:56:55 +01:00
Kevin Percy 567214a500 MDL-76139 gradebook_grader: Move group selector to tertiary navigation 2023-01-20 13:08:59 +08:00
Jaydn Cunningham 6ad6b28a34 MDL-76370 curl: suppress CONNECT header when using HTTP proxy 2023-01-20 14:26:30 +10:30
Meirza ec805cd575 MDL-76562 editor_tiny: Added functions to remove button/menu/submenu.
Added a few functions to remove the toolbar button, menubar and sub-menu items.
One of the implementations is to remove the justify alignment in the toolbar and
the sub-menu items to aid the accessibility aspect of the TinyMCE editor.
2023-01-20 09:57:52 +07:00
Ilya Tregubov df502b3e4c weekly release 4.2dev 2023-01-20 09:41:37 +08:00
sam marshall 100e38fe38 MDL-76956 core_grades: Regrade progress bar should be more granular
This change makes the regrade progress bar send frequent updates to
the web browser, even when processing within the same grade item, to
avoid timeout problems when there are a large number of users.
2023-01-19 16:43:51 +00:00
Jun Pataleta 4e8aee01fe Merge branch 'MDL-76725' of https://github.com/paulholden/moodle 2023-01-19 12:05:12 +08:00
Jun Pataleta 317af68140 Merge branch 'MDL-76537' of https://github.com/stronk7/moodle 2023-01-19 11:24:04 +08:00
Jun Pataleta 6538b400df Merge branch 'MDL-76583-master-withoutrename' of https://github.com/andrewnicols/moodle 2023-01-19 11:18:43 +08:00
Ilya Tregubov 42a2b973ce Merge branch 'MDL-76870-master' of https://github.com/lameze/moodle 2023-01-19 11:14:46 +08:00
Ilya Tregubov 89b722402e Merge branch 'MDL-76766-master' of https://github.com/aanabit/moodle 2023-01-19 11:03:40 +08:00
Andrew Nicols fcbad1f68a MDL-76583 external: Add unit test for deprecated test helper 2023-01-19 11:02:31 +08:00
Ilya Tregubov 385721f022 Merge branch 'MDL-74756-master' of https://github.com/sh-csg/moodle 2023-01-19 10:29:35 +08:00
Jun Pataleta fad05d7929 Merge branch 'MDL-76583-master-withoutrename' of https://github.com/andrewnicols/moodle 2023-01-19 09:44:48 +08:00
Andrew Nicols 46eb8da969 Merge branch 'MDL-69643' of https://github.com/paulholden/moodle 2023-01-19 09:05:46 +08:00
Andrew Nicols 853f07d4c0 Merge branch 'MDL-69127' of https://github.com/paulholden/moodle 2023-01-19 09:01:39 +08:00
Andrew Nicols 5abb018103 Merge branch 'MDL-69126' of https://github.com/paulholden/moodle 2023-01-19 08:58:01 +08:00
Andrew Nicols b56a9b9004 Merge branch 'MDL-76841' of https://github.com/paulholden/moodle 2023-01-19 08:54:07 +08:00
Andrew Nicols 3731f4e263 Merge branch 'MDL-70070' of https://github.com/paulholden/moodle 2023-01-19 08:47:51 +08:00
Andrew Nicols 1dbc7b303e MDL-76583 core_external: Update util_test coding style 2023-01-19 07:34:09 +08:00
Andrew Nicols a3cc26f8bb MDL-76583 core: Update uses of external_* classes 2023-01-19 07:34:09 +08:00
Andrew Nicols 3e1920966c MDL-76583 core_external: Note deprecations and renames 2023-01-19 07:34:00 +08:00
Andrew Nicols 188dfcbf8c MDL-76583 core_external: External API Test coding style fixes 2023-01-19 07:33:47 +08:00
Andrew Nicols c435f5d95b MDL-76583 core_external: Update service management functions 2023-01-19 07:33:47 +08:00
Andrew Nicols 47814221e5 MDL-76583 core_external: Update util string formatting functions 2023-01-19 07:33:47 +08:00
Andrew Nicols d5d4ff8986 MDL-76583 core_external: Update token functions 2023-01-19 07:33:47 +08:00
Andrew Nicols 7a4f57cbfa MDL-76583 core_external: util class coding style fixes 2023-01-19 07:33:47 +08:00
Andrew Nicols 93d0f2f2c1 MDL-76583 core_external: external_files coding style fixes 2023-01-19 07:33:47 +08:00
Andrew Nicols be1c3877c5 MDL-76583 core_external: external_value coding style fixes 2023-01-19 07:33:47 +08:00
Andrew Nicols 1125fa94f6 MDL-76583 core_external: external_format_value coding style fixes 2023-01-19 07:33:46 +08:00
Andrew Nicols b46a72c1aa MDL-76583 core_external: external_single_structure coding style fixes 2023-01-19 07:33:46 +08:00
Andrew Nicols 135fae604c MDL-76583 core_external: external_multiple_structure coding style fixes 2023-01-19 07:33:46 +08:00
Andrew Nicols 8e336beac3 MDL-76583 core_external: external_function_params coding style fixes 2023-01-19 07:33:46 +08:00
Andrew Nicols 59c9577912 MDL-76583 core_external: external_warnings coding style fixes 2023-01-19 07:33:46 +08:00
Andrew Nicols 6325775551 MDL-76583 core_external: external_api unit tests coding style fixes 2023-01-19 07:33:46 +08:00
Andrew Nicols ca7305f0c6 MDL-76583 core_external: external_description coding style fixes 2023-01-19 07:33:46 +08:00
Andrew Nicols 8bc2011d3d MDL-76583 core_external: external settings coding style fixes 2023-01-19 07:33:46 +08:00
Andrew Nicols c978cd8cc3 MDL-76583 core_external: core_external\external_api coding style fixes 2023-01-19 07:33:38 +08:00
Andrew Nicols fa676b4776 MDL-76583 core_external: Implement Privacy API for core_external
AMOS BEGIN
 MOV [privacy:metadata:serviceusers,core_webservice],[privacy:metadata:serviceusers,core_external]
 MOV [privacy:metadata:serviceusers:iprestriction,core_webservice],[privacy:metadata:serviceusers:iprestriction,core_external]
 MOV [privacy:metadata:serviceusers:timecreated,core_webservice],[privacy:metadata:serviceusers:timecreated,core_external]
 MOV [privacy:metadata:serviceusers:userid,core_webservice],[privacy:metadata:serviceusers:userid,core_external]
 MOV [privacy:metadata:serviceusers:validuntil,core_webservice],[privacy:metadata:serviceusers:validuntil,core_external]
 MOV [privacy:metadata:tokens,core_webservice],[privacy:metadata:tokens,core_external]
 MOV [privacy:metadata:tokens:creatorid,core_webservice],[privacy:metadata:tokens:creatorid,core_external]
 MOV [privacy:metadata:tokens:iprestriction,core_webservice],[privacy:metadata:tokens:iprestriction,core_external]
 MOV [privacy:metadata:tokens:lastaccess,core_webservice],[privacy:metadata:tokens:lastaccess,core_external]
 MOV [privacy:metadata:tokens:privatetoken,core_webservice],[privacy:metadata:tokens:privatetoken,core_external]
 MOV [privacy:metadata:tokens:timecreated,core_webservice],[privacy:metadata:tokens:timecreated,core_external]
 MOV [privacy:metadata:tokens:token,core_webservice],[privacy:metadata:tokens:token,core_external]
 MOV [privacy:metadata:tokens:tokentype,core_webservice],[privacy:metadata:tokens:tokentype,core_external]
 MOV [privacy:metadata:tokens:userid,core_webservice],[privacy:metadata:tokens:userid,core_external]
 MOV [privacy:metadata:tokens:validuntil,core_webservice],[privacy:metadata:tokens:validuntil,core_external]
 MOV [privacy:request:notexportedsecurity,core_webservice],[privacy:request:notexportedsecurity,core_external]
AMOS END
2023-01-19 07:33:35 +08:00
Andrew Nicols 0392551bcb MDL-76583 core_external: Migrate service management to util 2023-01-19 07:33:35 +08:00
Andrew Nicols caddb452f0 MDL-76583 core_external: Migrate string formatting functions to util 2023-01-19 07:33:35 +08:00
Andrew Nicols 7f5fb6a592 MDL-76583 core_external: Migrate token functions class 2023-01-19 07:33:35 +08:00
Andrew Nicols 7d079e82e1 MDL-76583 core_external: Move util test and update 2023-01-19 07:33:35 +08:00
Andrew Nicols 453738e3fd MDL-76583 core_external: Move files test and update 2023-01-19 07:33:35 +08:00
Andrew Nicols 3f8fdc8e33 MDL-76583 core_external: Move settings test and update 2023-01-19 07:33:35 +08:00
Andrew Nicols ecbb31b160 MDL-76583 core_external: Migrate external_settings class 2023-01-19 07:33:35 +08:00
Andrew Nicols e460e2e43f MDL-76583 core_external: Migrate external_format_value class 2023-01-19 07:33:35 +08:00
Andrew Nicols 780ba1333b MDL-76583 core_external: Migrate external_warnings class 2023-01-19 07:33:35 +08:00
Andrew Nicols c42831cec6 MDL-76583 core_external: Migrate external_files class 2023-01-19 07:33:35 +08:00
Andrew Nicols ebbf342127 MDL-76583 core_external: Migrate external_util class 2023-01-19 07:33:35 +08:00
Andrew Nicols fff2c7420f MDL-76583 core_external: Migrate restricted_context_exception class 2023-01-19 07:33:35 +08:00
Andrew Nicols 698f06edeb MDL-76583 core_external: Migrate external_function_parameters class 2023-01-19 07:33:35 +08:00
Andrew Nicols 279ae4d5b3 MDL-76583 core_external: Migrate external_multiple_structure class 2023-01-19 07:33:35 +08:00
Andrew Nicols 967bed2954 MDL-76583 core_external: Migrate external_single_structure class 2023-01-19 07:33:34 +08:00
Andrew Nicols 61d59eaa11 MDL-76583 core_external: Migrate external_value class 2023-01-19 07:33:34 +08:00
Andrew Nicols 6f185f1873 MDL-76583 core_external: Migrate external_description class 2023-01-19 07:33:34 +08:00
Andrew Nicols cdd51a663b MDL-76583 core_external: Move external_api unit tests 2023-01-19 07:33:34 +08:00
Andrew Nicols 56bcaf409f MDL-76583 core_external: Migrate external_api to core_external\external_api 2023-01-19 07:33:18 +08:00
Hiroto Kagotani dcc8d93533 MDL-76936 course: purge course cache on resetting start date 2023-01-19 00:37:29 +09:00
Lars Bonczek 9ed7a8ebae MDL-76948 mod_assign: Fix description of submission_unlocked event 2023-01-18 16:25:58 +01:00
Jun Pataleta 0f1a005017 Merge branch 'MDL-76525-master' of https://github.com/PhMemmel/moodle 2023-01-18 22:56:09 +08:00
Tim Hunt ec0a2dd85b MDL-76899 quiz: Fix PHPdocs issues 2023-01-18 12:14:37 +00:00
Philipp Memmel 4f4fbea9c3 MDL-76525 mod_data: Add param validation for data fields 2023-01-18 12:09:07 +01:00
Ilya Tregubov ec5e09b393 Merge branch 'MDL-55929-master' of https://github.com/srobotta/moodle 2023-01-18 14:18:53 +08:00
Tien Nguyen 5863659d79 MDL-69164 Question: Convert question/qengine.js to AMD modules 2023-01-18 11:24:38 +07:00
Andrew Nicols f9a3ec96b6 Merge branch 'MDL-76898' of https://github.com/timhunt/moodle 2023-01-18 11:10:29 +08:00
Claude Vervoort e56fec2662 MDL-76602 mod_lti: move lti13 claim declaration in subplugin 2023-01-17 16:51:32 -05:00
Stephan Robotta 0c8f9108c2 MDL-55929 assign: allow bulk emails in assignment userslist 2023-01-17 10:12:50 +01:00
Jake Dallimore 9681ec4693 Merge branch 'MDL-66221-master' of https://github.com/raortegar/moodle 2023-01-17 11:28:40 +08:00
Andrew Nicols 4a2793002c MDL-76583 core_external: Add new core_external subsystem 2023-01-17 10:59:15 +08:00
Stefan Hanauska a9149c13af MDL-74756 availability_completion: Prev activity (completion n/enabled) 2023-01-16 22:20:48 +01:00
Tim Hunt 28f090d975 MDL-76899 quiz: fix whitespace around operators 2023-01-16 19:07:08 +00:00
Tim Hunt 2bb6c8b281 MDL-76899 quiz: bulk fix all array literals array() -> []
This was done with PHPStorm's automated tool. No manual editing
2023-01-16 17:12:45 +00:00
Tim Hunt 17e11dd9d5 MDL-76899 quiz: Bulk fix object -> stdClass in PHPdoc 2023-01-16 17:12:44 +00:00
Tim Hunt 450e55e79d MDL-76899 quiz: remove unneeded tearDown from a unit test 2023-01-16 17:12:34 +00:00
Tim Hunt f4099bcd78 MDL-76899 quiz: basic cleanup of the structure and repaginate classes 2023-01-16 17:12:23 +00:00
Tim Hunt 6e7c63b36f MDL-76898 quiz: Move deprecated functions deprecatedlib.php
These were already deprecated, but in the wrong file.
2023-01-16 17:12:15 +00:00
Tim Hunt 03cf2ce782 MDL-76898 quiz: final deprecation of things deprecated long ago 2023-01-16 17:12:02 +00:00
Sara Arjona d62f6ae036 Merge branch 'MDL-61789-master' of https://github.com/meirzamoodle/moodle 2023-01-16 17:08:38 +01:00
Sara Arjona 574f68f014 Merge branch 'MDL-76219-master' of https://github.com/meirzamoodle/moodle 2023-01-16 16:45:00 +01:00
Brendan Heywood d561d97273 MDL-76478 formslib: Fix autocomplete bug of existing passwords 2023-01-16 22:58:07 +11:00
Paul Holden fd8d11b704 MDL-76841 tool_mobile: improve potential config issues test.
Avoid certificate checking of the default test site (`example.com`),
and update the assertion so we get clearer failures in the future.
2023-01-16 08:30:49 +00:00
Paul Holden af8da7c737 MDL-70070 phpunit: correct data provider method names.
They should not be prefixed `test_` because that's how actual
test methods containing assertions are identified by PHPUnit.
2023-01-16 08:28:37 +00:00
Kevin Pham 0072559aa7 MDL-72559 cache: core/plugin_functions cache can be local
Co-Authored-By: Tim Hunt <T.J.Hunt@open.ac.uk>
2023-01-16 16:29:48 +11:00
Jun Pataleta dd0580d809 Merge branch 'MDL-76377-master' of https://github.com/aanabit/moodle 2023-01-16 09:40:07 +08:00
Jun Pataleta aedbfba858 Merge branch 'MDL-76358-master' of https://github.com/laurentdavid/moodle 2023-01-16 09:32:56 +08:00
Jonathon Fowler c9fe46fe3d MDL-73847 lti: fetch keyset URLs using configured proxy settings 2023-01-16 10:00:17 +10:00
raortegar afb4a9effd MDL-66221 tool_recyclebin: Fix recycle bin with activity settings
If backup_auto_activities setting from Automated backup is disabled
the activities will not be stored for the recycle bin
2023-01-13 11:30:54 +01:00
Simey Lameze bb0aeafb25 MDL-76870 question: change assertion to assertEqualsCanonicalizing
By using that assertion the arrays will be sorted before comparison
preventing any Oracle sorting related failures.

Credits for the solution go to Tim Hunt!
2023-01-13 18:12:48 +08:00
Eloy Lafuente (stronk7) 357f784091 MDL-76537 behat: Month and day names are lang-dependent correct utf-8
Just verify that calendars are always displayed with correct UTF-8
and in the language the user is currently using.
2023-01-13 09:57:28 +01:00
Eloy Lafuente (stronk7) 7827edc78d MDL-76537 core: Fix date_format_string() to work with php-intl
With Moodle 4.1 and up, we have stopped to work with strftime(),
because it's deprecated for PHP 8.1 and up and, instead we are
using core_date::strftime() that performs the conversions using
the php-intl extension.

The original strftime() had a lot of OS-specific dependencies,
both about locale names and charsets used to provide the information.

Instead, the php-intl gets rid of all those OS-specific nightmares
and only uses ICU/Unicode locales and UTF-8.

Because of that, the old utf-8 => windows charset => utf-8
conversions aren't needed anymore. Hence, removing them.
2023-01-13 09:57:28 +01:00
Angelia Dela Cruz 320218633a MDL-76639 behat: Add Behat test coverage for quiz with limited attempts 2023-01-13 16:10:00 +08:00
Jun Pataleta 5dbac075be weekly release 4.2dev 2023-01-13 10:52:09 +08:00
Amaia Anabitarte bb3a7fcda5 MDL-76377 block_myoverview: Improve zero state 2023-01-12 15:55:57 +01:00
Paul Holden e72f47cbfc Merge branch 'MDL-76739-master-fix' of https://github.com/junpataleta/moodle 2023-01-12 12:09:15 +00:00
Jun Pataleta 4c36405d3a Merge branch 'MDL-76649-master-fix' of https://github.com/junpataleta/moodle 2023-01-12 17:09:58 +08:00
Jun Pataleta 25ff4c441b MDL-76739 mod_data: Split comments test into two
MDL-75596 added an "Insert an activity or resource before ..." button
that allows adding an activity or a resource before or after another
activity in a course. This renders the button in the DOM (although
hidden and shown only on mouseover) when there's at least one activity
in the course.

In this issue, the button's label was renamed to "Add an activity or
resource before ..." and it now obscures the normal "Add an activity or
resource" button at the bottom of the course section from being
interacted on when running Behat tests.

This failure happens in the create_activity.feature file as it creates
two DB activities in a single scenario – one when "usecomments" is
turned on and one when it's turned off. Given this limitation, a
workaround is to split the "Teacher cannot enable comments if they are
disabled at site level" scenario into two scenarios with the first one
testing when "usecomments" is on while the second scenario testing when
"usecomments" is turned off.
2023-01-12 17:05:55 +08:00
Cameron Ball 6bf955ca9e MDL-76869 gradebook: Pass exception to rollback 2023-01-12 16:31:46 +08:00
Ilya Tregubov 93a70ba807 MDL-69690 mod_workshop: Fix fieldname for workshop. 2023-01-12 15:01:11 +07:00
Laurent David e4a1d891fc MDL-76358 mod_data: Refactor preset output
* Remove unused manager in the presets.php
* Use single quote instead of double quote for array keys
2023-01-12 08:24:45 +01:00
Jun Pataleta 71b3f9c39f MDL-76649 mod_quiz: Use correct quizid attribute from attempt 2023-01-12 15:17:35 +08:00
Andrew Nicols 769397fd9d Merge branch 'MDL-76820-master' of https://github.com/cameron1729/moodle 2023-01-12 12:09:11 +08:00
Jun Pataleta e0d857f39f Merge branch 'MDL-76649' of https://github.com/timhunt/moodle 2023-01-12 12:06:35 +08:00
Jun Pataleta f23d02a0ca Merge branch 'MDL-76474-master-2' of https://github.com/HuongNV13/moodle 2023-01-12 11:55:29 +08:00
Huong Nguyen 6dd6248e41 MDL-76474 tiny_h5p: Prevent H5P Formatter placeholder to be assessed 2023-01-12 10:51:03 +07:00
Huong Nguyen d21b6d194a MDL-76474 tiny_accessibilitychecker: Prevent placeholders to be assessed 2023-01-12 10:51:03 +07:00
Huong Nguyen c4c85a8f1c MDL-76474 editor_tiny: Implement placeholder selector list
We created a list of placeholder selectors in placeholderSelectors option.
The purpose of this list is to indicate the contents that are only shown
in the editor and not to the users, by that way, we can decide to apply or
not to apply rules, styles, etc... to these contents
2023-01-12 10:51:02 +07:00
Michael Hawkins 71564e3e70 MDL-76861 blog: Ensure correct escaping applied to search string 2023-01-12 11:42:51 +08:00
Jake Dallimore 230ac291c8 MDL-76862 user: Unit test for setting user home page preferences 2023-01-12 11:35:10 +08:00
Paul Holden 2dfc273752 MDL-76862 user: ensure user can only update own preferred start page. 2023-01-12 11:35:10 +08:00
Andrew Nicols f516200459 Merge branch 'MDL-76839' of https://github.com/paulholden/moodle 2023-01-12 10:56:33 +08:00
Cameron Ball c9769197cd MDL-76820 core_search: Reset manager::$coursedeleting between tests 2023-01-12 10:43:29 +08:00
Jun Pataleta 2a29bead81 Merge branch 'MDL-76739-master-test' of https://github.com/junpataleta/moodle 2023-01-12 10:17:08 +08:00
Jun Pataleta 5166c729b4 MDL-76739 behat: Replace occurrences of "surname" in Behat tests
Replace occurrences of "surname" in Behat tests with "last name"
2023-01-12 09:53:41 +08:00
David Mudrák 50ba9dc72c MDL-76739 lang: Use the fixed strings in the tests, too 2023-01-12 09:17:27 +08:00
Helen Foster 975a127325 MDL-76739 lang: Import fixed English strings (en_fix) 2023-01-12 09:17:27 +08:00
Ilya Tregubov be1c1485ad Merge branch 'MDL-76607-master' of https://github.com/davewoloszyn/moodle 2023-01-11 19:11:49 +07:00
Amaia Anabitarte bbd7aa78b2 MDL-76766 mod_quiz: Allow shuffling quizes with no questions 2023-01-11 11:15:35 +01:00
Laurent David 45317d6db5 MDL-76358 mod_data: Add options to preset menu
* Add "Preview" and "Use this preset" menus to the preset plugin page's
burger menu
* Refactor importmapping dialogue to use the 'data-action' selector
* Add a new set_kebab_trigger action menu method
* Use set_additional_classes method for action menu
* Remove redundant parameter to add_action_menu
2023-01-11 10:59:04 +01:00
Andrew Nicols c81fbbfec9 Merge branch '66924-view-own-private-reply-master' of https://github.com/DSI-Universite-Rennes2/moodle 2023-01-11 15:52:41 +08:00
Tim Hunt 3b23ff6fec MDL-76810 redirect handling: ensure return URLs are properly sanitised 2023-01-11 11:42:28 +08:00
Andrew Nicols 6f1c9d3b53 Merge branch 'MDL-76614' of https://github.com/timhunt/moodle 2023-01-11 10:32:42 +08:00
Andrew Nicols 9e21e8a807 Merge branch 'MDL-76356' of https://github.com/stronk7/moodle 2023-01-11 10:26:20 +08:00
Jake Dallimore 98a23389b6 Merge branch 'MDL-76597-master-2' of https://github.com/junpataleta/moodle 2023-01-11 10:12:20 +08:00
Paul Holden 362818ff36 Merge branch 'MDL-76811-master' of https://github.com/andrewnicols/moodle 2023-01-10 16:40:05 +00:00
Paul Holden 6bd76e2a4d Merge branch 'MDL-76803-master' of https://github.com/junpataleta/moodle 2023-01-10 16:24:09 +00:00
Paul Holden 37f68b7522 Merge branch 'MDL-76653-master' of https://github.com/lameze/moodle 2023-01-10 15:29:15 +00:00
Marina Glancy b1c97381b4 MDL-76356 various: avoid implicit conversion to int
PHP before version 8.1 automatically converted to int if the function
parameter (or array key) is expected to be int. PHP 8.1 shows notice in
this case
2023-01-10 15:27:11 +01:00
Paul Holden 1bf87e87a4 MDL-76839 mod_data: correct external test class coverage notation. 2023-01-10 12:59:06 +00:00
Paul Holden 4250414279 Merge branch 'MDL-76833-master' of https://github.com/andrewnicols/moodle 2023-01-10 12:29:17 +00:00
Marina Glancy 594a8c5ab7 MDL-76356 various: avoid implicit conversion to arrays
PHP before version 8.1 automatically converted stdClass or 'false' to arrays if
function parameter expects array (for example, "reset").
PHP 8.1 shows notices in these situations
2023-01-10 12:16:52 +01:00
Julien Boulen 5f493679c3 MDL-76313 forum: improve accessibility on subscribers page
- add header on table of subscribers
- remove one redundant header
2023-01-10 11:16:31 +01:00
Jun Pataleta 2924075480 MDL-76803 lang: Update usages of reworded email display options 2023-01-10 16:01:18 +08:00
Meirza c5e4685833 MDL-73519 core_course: re-styling the unordered list.
Currently, the unordered list in the course content follows the original style and
is ordered from the top of the content section, which is not part of the description.
That's why the first occurrence of the list is the 2nd level which uses the circle as the marker/list type
instead of the disc. In contrast, the editor always uses the original style.

so we need to reset the CSS of the unordered list in the description to the original
which the disc as the first marker, a circle for the second marker,
and a square for the following levels.
2023-01-10 11:54:47 +07:00
Andrew Nicols 7519620572 MDL-76833 core: Bump phpunit/php-code-coverage version
This includes a bug fix for a display issue with code coverage reporting
in phpunit's HTML output report.
2023-01-10 12:09:01 +08:00
Andrew Nicols 35eb66d9dc MDL-76811 mod_data: Remove duplicate tests 2023-01-10 11:39:40 +08:00
Andrew Nicols cec147f428 MDL-76811 mod_data: Stop testing template creation on field creation
The default template is no longer created when creating the fields with
the generator, so we should stop testing that it is.
2023-01-10 11:39:40 +08:00
Andrew Nicols 103b17c761 MDL-76811 mod_data: Generator test cleanup 2023-01-10 11:39:39 +08:00
Jun Pataleta 3385715f52 MDL-76803 lang: Make email display options more concise 2023-01-10 11:04:03 +08:00
Simey Lameze 4d2b1f26a7 MDL-76653 behat: add coverage for SCORM availability 2023-01-10 10:26:20 +08:00
Jun Pataleta 1a7a646ca2 Merge branch 'MDL-76061-master' of https://github.com/PhMemmel/moodle 2023-01-10 09:41:37 +08:00
james-cnz 2771e87019 MDL-76729 filepicker: Restore file picker thumbnails in tree view 2023-01-10 12:03:28 +13:00
Tim Hunt 7e4972a4a8 fixup! MDL-76614 quiz: deprecate class moodle_quiz_exception 2023-01-09 17:48:26 +00:00
Philipp Memmel b84005ef9f MDL-76061 core_calendar: Fix changing event type from 'user' 2023-01-09 14:49:50 +01:00
Julien Boulen b87ead3384 MDL-66924 mod_forum: Allow users to see their own private messages
Allow users to see their own private messages even if they don't have
mod/forum:readprivatereplies capability

Add behat test to avoid MDL-67109 issue.

Co-authored-by: Martin Putzlocher <mputzi@users.noreply.github.com>
2023-01-09 14:41:01 +01:00
Tim Hunt 192f993906 MDL-76649 quiz statistics task: output more useful trace info
At the moment, quiz_statistics\task\recalculate gives no useful
information about what it is doing, which makes it hard to investigate
if the task fails. This commit makes it more usefully verbose.

Also, following this change, one instance of this task will not
run for more than one hour at a time.

As part of this commit, I have added a new helper mtrace_exception.
to consistently log exceptions in scheduled tasks. It is sad to
add a new function to moodlelib.php, but that seemed the logical place.
Looking at other tasks, this method is badly needed. Many are just
logging the ->getMessage() which is normaly insufficient for proper
debugging. However, swiching all existing tasks to use the new function
will need to wait for a future MDL.
2023-01-09 13:26:41 +00:00
Paul Holden 025985ff61 Merge branch 'MDL-75532-master' of https://github.com/snake/moodle 2023-01-09 11:50:58 +00:00
Jun Pataleta 6bbe2ebf06 Merge branch 'MDL-76785' of https://github.com/paulholden/moodle 2023-01-09 19:38:36 +08:00
Jun Pataleta db2ee34986 Merge branch 'MDL-76506' of https://github.com/jrchamp/moodle 2023-01-09 19:34:07 +08:00
Paul Holden 535d6e2445 MDL-76785 tiny_media: define video width/height language strings.
AMOS BEGIN
 CPY [videoheight,atto_media],[videoheight,tiny_media]
 CPY [videowidth,atto_media],[videowidth,tiny_media]
AMOS END
2023-01-09 10:52:22 +00:00
Jun Pataleta 438f6d73e0 Merge branch 'MDL-76787' of https://github.com/paulholden/moodle 2023-01-09 18:39:32 +08:00
Paul Holden 8749d96121 Merge branch 'MDL-76601-master' of https://github.com/junpataleta/moodle 2023-01-09 10:11:11 +00:00
Jun Pataleta 2892b7a0b2 Merge branch 'MDL-76812' of https://github.com/paulholden/moodle 2023-01-09 17:46:29 +08:00
Jun Pataleta 7927374af9 MDL-76597 mod_quiz: Add a default heading name for Behat tests 2023-01-09 15:41:27 +08:00
Ilya Tregubov 9934ec1363 Merge branch 'MDL-76134-abstract' of https://github.com/Chocolate-lightning/moodle 2023-01-09 14:39:28 +07:00
Jake Dallimore 969a392cf1 MDL-75532 enrol_lti: fix optional lineitemsurl in grade sync task
As in MDL-74691, we need either or both of these fields, meaning either
one could be omitted. This just supports that as per the fix made in
MDL-74691.
2023-01-09 11:36:04 +08:00
Jake Dallimore 6331a834a4 MDL-75532 enrol_lti: add tests for coupled and decoupled line items
This covers the following cases:
1. Where only the 'lineitem' service endpoint is provided
2. Where only the 'lineitems' service endpoint is provided.
Existing tests already cover the case where both are provided.
2023-01-09 11:36:04 +08:00
hieuvu 2b6bf085af MDL-76582 question: Allow response filearea to have different pattern 2023-01-09 09:26:52 +07:00
Simey Lameze 59a459c5e7 MDL-76652 behat: use data generator and remove duplicated steps 2023-01-09 10:16:14 +08:00
Simey Lameze 00bd42ea5d MDL-76652 behat: add coverage for postwithoutthrottling logic 2023-01-09 10:16:14 +08:00
Mathew May bf783645e1 MDL-76134 gradebook: Modify user story behat tests into passable runs 2023-01-09 09:22:20 +08:00
Mathew May 712f219c7c MDL-76134 gradebook: Hook into tertiary dropdown item 2023-01-09 09:22:20 +08:00
Mathew May 6b0d3b3eae MDL-76134 gradebook: Add a bare dropdown component 2023-01-09 09:22:20 +08:00
Mathew May d83fcf1976 MDL-76134 core: Provide a option to render initials bars smaller 2023-01-09 09:22:20 +08:00
Mathew May 9af57b7180 MDL-76134 core: User story behat test 2023-01-09 09:21:19 +08:00
Meirza b79231361b MDL-61789 auth_oauth2: Update profile fields based on data mapping.
After the user creation, the system must call an update function to update profile_fields_*.
We also provided two functions into user/profile/lib.php to get available from other areas.
We added PHP unit testing for new public functions and
the Behat tests for custom profile fields with locked and unlocked statuses.

Co-authored-by: Matt Porritt <matt.porritt@moodle.com>
2023-01-07 20:59:26 +07:00
Jun Pataleta 08a2781607 MDL-76597 mod_quiz: Set presentation role for the question list
Since the <ul> and <li> elements for listing the quiz questions and
elements are mainly used for layout purposes, it is better to set the
role of these elements to presentation only.
The aria-label for the <li> element is inappropriate and can also cause
confusion to screen reader users. Better to remove this. Though this is
being used in the confirmation modal so better to just change it to a
data attribute.
2023-01-06 22:37:54 +08:00
Jun Pataleta 317dd19f02 MDL-76597 mod_quiz: Set presentation role for the question list
Since the <ul> and <li> elements for listing the quiz questions and
elements are mainly used for layout purposes, it is better to set the
role of these elements to presentation only.
2023-01-06 22:37:54 +08:00
Jun Pataleta f7bcd8304f MDL-76597 mod_quiz: Add label for question checkboxes 2023-01-06 22:37:54 +08:00
Jun Pataleta beac221ac4 MDL-76597 mod_quiz: Darken section heading on quiz questions page 2023-01-06 22:37:54 +08:00
Jun Pataleta 384e40a750 MDL-76597 mod_quiz: Add label for version selector 2023-01-06 22:37:54 +08:00
Jun Pataleta e4f1f254c9 MDL-76597 mod_quiz: Add a default sr-only section heading
Add a default sr-only section heading in order to prevent having an
empty heading for the quiz section which is not good for accessibility.

Plus:
- There's also an existing issue where filters are never applied to
section headings on load. This has been fixed in this commit as well.
- Button role added for the edit section button which enables it to
take advantage of the theme highlighting when it receives focus.
2023-01-06 22:37:54 +08:00
Tim Hunt a02497f942 MDL-76614 quiz: clean up view.php script 2023-01-06 14:35:55 +00:00
Tim Hunt ca7fb1eb02 MDL-76614 quizaccess_seb: rename access_manager & quiz_settings classes
This is to avoid confusion between the main mod_quiz classes and SEB's own.
2023-01-06 14:35:55 +00:00
Tim Hunt 58e4bc9a3e MDL-76614 quiz: clean up the quiz_settings class 2023-01-06 14:35:54 +00:00
Tim Hunt a9f8547599 MDL-76614 quiz: rename quiz => mod_quiz\quiz_settings 2023-01-06 14:35:54 +00:00
Tim Hunt ae6a1c0391 MDL-76614 quiz: clean up the quiz_attempt class 2023-01-06 14:35:52 +00:00
Tim Hunt 5682c8c70e MDL-76614 quiz: move class quiz_attempt => mod_quiz\quiz_attempt
I thought about renaming the class to just plain attempt, but I
acutally think quiz_attempt makes it clearer what this is. Also
not changing the name massively reduces the pain for everyone
updating their code (including me right now!)
2023-01-06 14:35:51 +00:00
Tim Hunt 79a29d243c MDL-76614 quiz: remove unneeded MOODLE_INTERNAL 2023-01-06 14:35:51 +00:00
Tim Hunt 03116995d5 MDL-76614 quiz: move quiz_review_nav_panel to classes 2023-01-06 14:35:51 +00:00
Tim Hunt ccbb5da784 MDL-76614 quiz: move quiz_attempt_nav_panel to classes 2023-01-06 14:35:51 +00:00
Tim Hunt adbd0daddb MDL-76614 quiz: clean up navigation_panel_base class 2023-01-06 14:35:50 +00:00
Tim Hunt 74c6823bac MDL-76614 quiz: move quiz_nav_panel_base to classes folder 2023-01-06 14:35:50 +00:00
Tim Hunt 600b17db21 MDL-76614 quiz: move quiz_nav_section_heading to classes folder 2023-01-06 14:35:50 +00:00
Tim Hunt 6833a902df MDL-76614 quiz: move quiz_nav_question_button to classes folder 2023-01-06 14:35:50 +00:00
Tim Hunt 89f97a7e2a MDL-76614 quiz: code cleanup in mod_quiz\output\renderer 2023-01-06 14:35:50 +00:00
Tim Hunt 5ef8b6978e MDL-76614 quiz: mod_quiz_renderer => mod_quiz\output\renderer 2023-01-06 14:35:49 +00:00
Tim Hunt 6c989eb24c MDL-76614 quiz: Final deprecation of view_page::$startattemptwarning
This waas deprecated in Moodle 3.1 MDL-46091
2023-01-06 14:35:49 +00:00
Tim Hunt abeeaef10a MDL-76614 quiz: mod_quiz_view_object => mod_quiz\output\view_page 2023-01-06 14:35:49 +00:00
Tim Hunt aceae3a4fa MDL-76614 quiz: move mod_quiz_links_to_other_attempts => classes\output 2023-01-06 14:35:49 +00:00
Tim Hunt 581a3bc7e9 MDL-76614 quiz: quiz_add_random_form => mod_quiz\form\add_random_form 2023-01-06 14:35:49 +00:00
Tim Hunt dd41b972c0 MDL-76614 quiz: clean up edit_override_form class 2023-01-06 14:35:49 +00:00
Tim Hunt 8af8ef3b9f MDL-76614 quiz: clean up access_rule_base class 2023-01-06 14:35:48 +00:00
Tim Hunt 2ff112c688 MDL-76614 quiz: quiz_access_rule_base => mod_quiz\local\access_rule_base 2023-01-06 14:35:48 +00:00
Tim Hunt dda9ba07f3 MDL-76614 quiz: quiz_override_form => mod_quiz\form\edit_override_form 2023-01-06 14:35:48 +00:00
Tim Hunt f83181d397 MDL-76614 quiz: deprecate class moodle_quiz_exception
Code should just directly use moodle_execption.

Note, some of the existing uses (in web services) were passing a
literal message, not a language string identifier, but I decided
now was not the time to try to fix that.
2023-01-06 14:35:48 +00:00
Tim Hunt f6ae83f40e MDL-76614 quiz: clean up update_overdue_attempts class 2023-01-06 14:35:48 +00:00
Tim Hunt 4ae4d8d1b6 MDL-76614 quiz: merge mod_quiz_overdue_attempt_updater into task
The only place this code was used was in
mod_quiz\task\update_overdue_attempts so neater to combine them into one
class.
2023-01-06 14:35:48 +00:00
Tim Hunt 91c913debc MDL-76614 quiz: move mod_quiz_preflight_check_form to classes & clean up 2023-01-06 14:35:47 +00:00
Tim Hunt b3d59e5ad8 MDL-76614 quiz: clean up class access_manager 2023-01-06 14:35:47 +00:00
Tim Hunt fed4a7fbd4 MDL-76614 quiz: move quiz_access_manager -> mod_quiz\access_manager 2023-01-06 14:35:47 +00:00
Paul Holden 15286a56d5 MDL-64153 dml: fix trailing comma and whitespace in upgrade note. 2023-01-06 11:35:04 +00:00
Paul Holden e395dff081 Merge branch 'MDL-32114-master' of https://github.com/srobotta/moodle 2023-01-06 11:20:46 +00:00
Paul Holden bb0369fd65 Merge branch 'MDL-64153-master' of https://github.com/meirzamoodle/moodle 2023-01-06 10:57:10 +00:00
Paul Holden bb95badd99 Merge branch 'MDL-76578-master' of https://github.com/aanabit/moodle 2023-01-06 10:41:35 +00:00
Paul Holden 982dbee359 Merge branch 'MDL-76781-master' of https://github.com/lucaboesch/moodle 2023-01-06 10:23:54 +00:00
Paul Holden 6183ad3c22 MDL-76812 reportbuilder: ensure audience key is incremented correctly. 2023-01-06 09:57:14 +00:00
Ilya Tregubov db1b807270 MDL-76251 mod_forum: Fix illegal whitespace. Another try. 2023-01-06 16:41:59 +07:00
Paul Holden 0e742a2fc9 MDL-69643 message: final removal of deprecated 310 methods. 2023-01-06 09:28:40 +00:00
Ilya Tregubov 8bcf50cfe3 Merge branch 'MDL-76251-patch' of https://github.com/ilyatregubov/moodle 2023-01-06 16:14:23 +07:00
Ilya Tregubov f6a3144275 MDL-76251 mod_forum: Fix illegal whitespace. 2023-01-06 16:08:17 +07:00
Ilya Tregubov 7349b04257 Merge branch 'MDL-76251-master' of https://github.com/aya-saad1/moodle 2023-01-06 15:37:20 +07:00
Matt Porritt 6793891887 MDL-61789 auth_oauth2: Allow admin to choose profile fields for mapping
Update oauth2 to allow mapping of provider attributes against
user profile fields. Fields can also be locked to prevent
user changes.

Co-Authored-By: Michael Milette <michael.milette@tngconsulting.ca>
2023-01-06 13:27:11 +07:00
Ilya Tregubov f99f305be6 Merge branch 'MDL-75878-master' of https://github.com/sammarshallou/moodle 2023-01-06 11:07:51 +07:00
Meirza f8537ffec6 MDL-64153 dml: Added extrainfo in the DB options config.
extrainfo is an extra information for the DB driver, e.g. SQL Server,
has additional configuration according to its environment,
which the administrator can specify to alter and override any connection options.

Co-authored-by: LukeCarrier <luke@carrier.im>
2023-01-06 06:17:17 +07:00
Stephan Robotta 4a31dd69d6 MDL-32114 form: markdown must be preserved on saving post
- Markdown is saved to the DB, no conversion to HTML to keep
  ability to reedit the content without beaking it.
- Blockquote element is styled that it's distingishable from
  normal text.
2023-01-05 18:34:44 +01:00
Paul Holden d843168c14 MDL-69127 analytics: final removal of renamed target class mapping. 2023-01-05 17:28:59 +00:00
Paul Holden 2c57184251 MDL-69126 lang: final removal of deprecated 310 strings. 2023-01-05 14:38:37 +00:00
Andrew Nicols 23d8120ab0 Merge branch 'MDL-76508-master' of https://github.com/meirzamoodle/moodle 2023-01-05 21:30:01 +08:00
Luca Bösch 864a1eba5a MDL-76781 gradebook: support multilingual group names. 2023-01-05 13:27:39 +01:00
Paul Holden b8b905cd90 weekly release 4.2dev 2023-01-05 10:53:08 +00:00
Aya Saad 7c074d8b8e MDL-76251 mod_forum: fix responsive issues in discussion 2023-01-05 11:47:15 +02:00
Meirza 3b4bc74692 MDL-76219 lib: Remove Box\Spout library 2023-01-05 16:04:37 +07:00
Meirza 93220a66f5 MDL-76219 lib: Change Box\Spout to OpenSpout library 2023-01-05 15:58:18 +07:00
David Woloszyn 6dc10b6241 MDL-76607 timeline: Reordered message to account for long course name 2023-01-05 12:11:42 +11:00
David Woloszyn 004b220513 MDL-76607 css: Fixed various classes where long strings break layout 2023-01-05 12:10:58 +11:00
Paul Holden a082b6e084 MDL-76787 tiny_h5p: correct capability for plugin enabled state. 2023-01-04 16:07:50 +00:00
Sara Arjona 908f3a4c78 Merge branch 'MDL-74987-master' of https://github.com/ferranrecio/moodle 2023-01-04 16:57:31 +01:00
Sara Arjona 0a27fcbcde Merge branch 'MDL-76375-master' of https://github.com/lucaboesch/moodle 2023-01-04 16:21:30 +01:00
Sara Arjona be95fb2581 Merge branch 'MDL-75596-master' of https://github.com/sh-csg/moodle 2023-01-04 16:15:37 +01:00
Luca Bösch 57682b43ae MDL-76375 quiz generator: Allow more than one attempt by Behat tests. 2023-01-04 15:12:58 +01:00
Paul Holden bb0085e1d9 MDL-76725 mod_wiki: avoid named arguments in real path callback.
See also f4fb91ae. PHP8 now supports named arguments in calls to
the `call_user_func_array` method, which can result in differing
behaviour compared to PHP7, e.g. in this case it was throwing an
exception due to an unknown named parameter.
2023-01-04 14:08:20 +00:00
Sara Arjona b92b0b6cea Merge branch 'MDL-76221' of https://github.com/paulholden/moodle 2023-01-04 13:08:44 +01:00
Paul Holden 7a36c24c92 MDL-76657 grade: load required test libraries for grade helper. 2023-01-04 11:20:44 +00:00
Paul Holden 38a25b4f3e Merge branch 'MDL-76657-master' of https://github.com/rezaies/moodle 2023-01-04 11:10:35 +00:00
Paul Holden 45818da292 MDL-76221 reportbuilder: improve report test generator methods.
Test generators for creating report columns, filters and conditions
now allow for setting all persistent properties.
2023-01-04 10:56:27 +00:00
Jun Pataleta 401fc00245 Merge branch 'MDL-74822-master' of https://github.com/HuongNV13/moodle 2023-01-04 17:29:26 +08:00
Jun Pataleta 9581a44cf8 MDL-76601 block_myoverview: Remove hover action before clicking on menu
With the course card menu now always displayed, there's no need to hover
first before clicking on the menus on block_myoverview Behat tests.
2023-01-04 17:21:47 +08:00
Jun Pataleta 466266999c MDL-76601 blocks: Always display course card menus
Displaying the course card menu only on hover is bad in terms of
accessibility as it prevents keyboard-only users from accessing the
menu. So it's better to always display them.
2023-01-04 17:00:04 +08:00
Ferran Recio 302a5e43a6 MDL-74987 core_courseformat: alt to duplicate modules
If a user drags an activity and press the ALT key, the activity will be
duplicated in the new place instead of simply moved. This behaviour
is quite normal in many softwares and it is a non intrusive usability
improvement.
2023-01-04 09:25:52 +01:00
Ferran Recio 35a12cfffb MDL-74987 core_courseformat: migrate duplicate to state action 2023-01-04 09:25:52 +01:00
Ferran Recio a3264eb5e0 MDL-74987 core_courseformat: add pending to refresh activity
The activity reload was missing a pending control. This can lead to
behat errors if the module refresh takes longer than expected for some
reason.
2023-01-04 09:25:52 +01:00
Sara Arjona 7202dcb79e Merge branch 'MDL-76181' of https://github.com/paulholden/moodle 2023-01-04 09:20:13 +01:00
Meirza b2b17b9d9b MDL-76219 lib: Add the OpenSpout 3.7.3 library 2023-01-04 09:47:06 +07:00
Stefan Hanauska 15034e7100 MDL-75596 course: Allow inserting activities everywhere
Co-authored-by: Mathew May <mathewm@hotmail.co.nz>
2023-01-03 21:49:06 +01:00
Sara Arjona 139a629763 Merge branch 'MDL-75177' of https://github.com/paulholden/moodle 2023-01-03 17:50:34 +01:00
sam marshall fbd61d1268 MDL-75878 Course: Adding graded activity too slow when lots of grades
Adding an activity with a grade item previously triggered a course
regrade, which can be extremely slow. This change makes it so that on
courses where regrading is slow, when you add an activity that
requires regrading, it takes you to an intermediate screen with a
progress bar.

This change also fixes a bug in the existing grade overview report,
which shows grades across multiple courses, but previously only
checked, and if necessary regraded, one course.
2023-01-03 16:04:58 +00:00
Sara Arjona 4759dbe119 Merge branch 'MDL-76308-master' of https://github.com/BruceGoodGuy/moodle 2023-01-03 14:12:53 +01:00
Paul Holden cade48a337 Merge branch 'MDL-74989-master' of https://github.com/ferranrecio/moodle 2023-01-03 12:33:45 +00:00
Paul Holden cd2fc29712 Merge branch 'MDL-53137-master' of https://github.com/lucisgit/moodle 2023-01-03 12:14:30 +00:00
Sara Arjona ae71d43924 Merge branch 'MDL-71506-master' of https://github.com/lucaboesch/moodle 2023-01-03 13:10:11 +01:00
Ferran Recio fe4784e60f MDL-74989 core_courseformat: migrate cm delete to reactive
Migrate the course index delete activities to the new reactive actions
with batch deletion.
2023-01-03 13:07:31 +01:00
Paul Holden 7cc42b6d97 Merge branch 'MDL-76780-master' of https://github.com/sarjona/moodle 2023-01-03 11:48:43 +00:00
Paul Holden b938034022 Merge branch 'MDL-75346-reset_dashboard_error' of https://github.com/leonstr/moodle 2023-01-03 11:28:19 +00:00
Sara Arjona 788a8d9598 MDL-76780 core: Add missing customfield to apis.json 2023-01-03 11:52:47 +01:00
Ferran Recio d789209f3e MDL-74989 core_courseformat: fix courseindex components init methods
The courseindex init methods contains static references to the class
name instead of a dynamic "this" reference. This makes harder for format
plugins to extend those classes as they need to override the init method
for no specific reason.
2023-01-03 11:10:33 +01:00
Paul Holden 42926069da Merge branch 'MDL-76188-master' of https://github.com/ferranrecio/moodle 2023-01-03 09:34:28 +00:00
Paul Holden 2f6ee403ef Merge branch 'MDL-75877-master' of https://github.com/JBThong/moodle 2023-01-03 09:27:51 +00:00
Paul Holden 63a43391ad Merge branch 'MDL-58615-master' of https://github.com/andrewnicols/moodle 2023-01-03 09:20:22 +00:00
Shamim Rezaie cf2b926f10 MDL-76657 gradebook: Remove hard-coded plugin names from unit test 2023-01-03 20:13:12 +11:00
Andrew Nicols 03b79c4921 MDL-32105 mod_glossary: Improve behat test 2023-01-03 15:31:48 +08:00
Andrew Nicols 623c8c1906 Merge branch 'MDL-32105-master' of https://github.com/Chocolate-lightning/moodle 2023-01-03 15:18:01 +08:00
Peter 8ab91e47b9 MDL-32105 mod_glossary: Restrict glossary aliases by set of keywords 2023-01-03 13:45:18 +08:00
Andrew Nicols 1ac2eb53fb MDL-58615 core: Remove the useexternalyui setting
I have opted not to go through any deprecation process for this as there
is not really much we can do about it anyway. There is no loss of
functionality - just a change of where things are served from.

The Yahoo! CDN was only used for http connections as it did not
officially support SSL, and it is not guaranteed to continue existing in
the future since YUI has been deprecated for a number of years now.
2023-01-03 11:43:01 +08:00
Huong Nguyen ef8420e5a3 MDL-74822 usertours: Fix accessibility issues with user tours
Including in this commit:
 - Prevent the tour to be displayed if the CSS is disabled by the browser
 - Removed redundant tabindex=0 attribute on the target
 - Created extra code to re-calculate the suitable position of the tour
 - Fixed tour issue in 200% and 400% zoom
 - Fixed tour highlight is not correct in 200% and 400%
2023-01-03 10:34:48 +07:00
Thong Bui c0903eade7 MDL-75877 workshop: Refactor outputs in view.php 2023-01-03 10:20:52 +07:00
Sara Arjona decf1ba332 Merge branch 'MDL-60038-master' of https://github.com/aneno-m-e/moodle 2023-01-02 16:35:16 +01:00
Luca Bösch 3f489e2d2a MDL-71506 mod_choice: suppress non respondents in downloads if set so. 2023-01-02 15:54:25 +01:00
Sara Arjona ac023fbfb2 Merge branch 'MDL-76106-master' of https://github.com/NashTechOpenUniversity/moodle 2023-01-02 13:07:34 +01:00
Sara Arjona 6821897849 Merge branch 'MDL-76760' of https://github.com/paulholden/moodle 2023-01-02 12:27:34 +01:00
Ferran Recio 63a7c58ee3 MDL-76188 core_courseformat: migrate highlight to reactive component
The highlight and unhighlight sections applies only to the format_topics
plugins. With this commit all the related code is migrated to reactive
component and format_topics extend the current course editor to add all
the logic
2023-01-02 11:39:52 +01:00
Sara Arjona 912aaf5649 Merge branch 'MDL-76301' of https://github.com/dravek/moodle 2023-01-02 10:59:15 +01:00
Paul Holden 121f5b6300 MDL-76221 core: method to filter by defined properties of persistent. 2022-12-29 14:02:58 +00:00
Paul Holden 5162a7882d MDL-76181 reportbuilder: sort columns during stress testing. 2022-12-29 13:59:31 +00:00
Sara Arjona 12e9d9e1bf weekly release 4.2dev 2022-12-29 12:57:40 +01:00
Sara Arjona 2528ff0664 Merge branch 'MDL-76399-patch-master' of https://github.com/ilyatregubov/moodle 2022-12-29 09:12:05 +01:00
Ilya Tregubov e3d5313d55 MDL-76399 behat: switch to appropriate Behat step for selects. 2022-12-29 14:57:31 +07:00
Ilya Tregubov 74aeed54a4 Merge branch 'm42_MDL-69581_Improve_MySQL_MariaDB_Server_Version_Detection_v3' of https://github.com/scara/moodle 2022-12-29 10:30:44 +07:00
Ilya Tregubov e93d2b0cbe Merge branch 'MDL-76399' of https://github.com/paulholden/moodle 2022-12-29 09:40:51 +07:00
Sara Arjona bb883d95aa Merge branch 'MDL-76153' of https://github.com/paulholden/moodle 2022-12-28 18:50:28 +01:00
Sara Arjona 2842575f95 Merge branch 'MDL-76479' of https://github.com/paulholden/moodle 2022-12-28 18:37:39 +01:00
Sara Arjona ec6e4419ed Merge branch 'MDL-76154' of https://github.com/paulholden/moodle 2022-12-28 18:32:01 +01:00
Sara Arjona 7f10321d79 Merge branch 'MDL-76004-master' of https://github.com/aanabit/moodle 2022-12-28 18:22:29 +01:00
Sara Arjona 8b61e8c7ce Merge branch 'MDL-72523' of https://github.com/paulholden/moodle 2022-12-28 13:01:33 +01:00
Sara Arjona 3dd93ffc5e Merge branch 'MDL-76617' of https://github.com/stronk7/moodle 2022-12-28 12:42:12 +01:00
Paul Holden a6e45197ca MDL-72523 calendar: return original focus from event modals. 2022-12-28 11:14:38 +00:00
Huong Nguyen 887f193c38 MDL-72523 javascript: Introduce setReturnElement for core/modal 2022-12-28 11:14:38 +00:00
Sara Arjona 53754b776c Merge branch 'MDL-72563-master' of https://github.com/KepaUrzelai/moodle 2022-12-28 12:13:09 +01:00
Sara Arjona 94b9eb947b Merge branch 'MDL-69071' of https://github.com/paulholden/moodle 2022-12-28 11:41:04 +01:00
Paul Holden 3982341f7a MDL-76760 tool_behat: defer library loading until service execution.
Ensures that API documentation can be generated without requiring
the presence of the `vendor/` directory.
2022-12-28 10:08:10 +00:00
Matteo Scaramuccia 0131c3be00 MDL-69581 dml: Improve MySQL/MariaDB server version detection
Add 'versionfromdb' to opt-in for VERSION() query.

mariadb_native_moodle_database::get_server_info() has been removed
to avoid the specific override: everything is now managed in the base
method which takes care of both MySQL and MariaDB versioning details.

New protected methods have been added too to improve the testing strategy,
allowing to mock the results from an actual DB connection.
The new testing strategy enables simulating even the Azure scenarios.
2022-12-28 10:59:45 +01:00
Sara Arjona 69ffc40621 Merge branch 'MDL-76304-master-add_pagesize_to_webservice' of https://github.com/alexmorrisnz/moodle 2022-12-28 10:23:42 +01:00
Sara Arjona 0adda8c66b Merge branch 'MDL-76734-master' of https://github.com/andrewnicols/moodle 2022-12-28 10:04:25 +01:00
Sara Arjona 0d31e86687 Merge branch 'MDL-74145' of https://github.com/paulholden/moodle 2022-12-28 09:56:13 +01:00
Ilya Tregubov dee383a0fa Merge branch 'MDL-76731_master' of https://github.com/PhilippImhof/moodle 2022-12-28 15:13:21 +07:00
Ilya Tregubov 1e4612ddb5 Merge branch 'MDL-76129-master' of https://github.com/sammarshallou/moodle 2022-12-28 11:26:26 +07:00
Sara Arjona 407f0604ba Merge branch 'MDL-76679' of https://github.com/paulholden/moodle 2022-12-27 16:55:17 +01:00
Sara Arjona 0b733266b0 Merge branch 'MDL-72775-master' of https://github.com/QihuiChan/moodle 2022-12-27 16:12:50 +01:00
Amaia Anabitarte f8ec9e6893 MDL-76578 core_course: One section per page summary information 2022-12-26 16:04:09 +01:00
Meirza fbc2732d9f MDL-76508 templates: Handling non-JSON string
When the param string contains a left curly bracket as the first character,
the system will assume the string is a JSON string and will be parsed and returned as an object.
But in some cases, the string is not JSON and will return an error if the system parses it.
For example, a user might have used the course name with a left curly bracket as the first character.
Adding a double quote after the left curly bracket to differentiate between string and JSON string,
so it can be safe to parse the string, and also added try..catch to ensure that the parsing creates an object type.
2022-12-23 09:57:36 +07:00
Qihui Chan 791e56d3bc MDL-72775 tool_task: check long running tasks 2022-12-23 09:41:05 +10:00
Noemie Ariste 60d3823bec MDL-60038 moodlelib: ignore site policy if user auth type = 'webservice' 2022-12-23 10:11:11 +13:00
Eloy Lafuente (stronk7) 47435471ee MDL-76617 store_mongodb: Adjust moodle to mongo-php-library to v1.15.0
The new library version should work without problems with older
php-mongodb extension versions:
- v1.15.0 (paired version, tested).
- v1.14.1 (tested)

But, in order to keep them paired, the requirements have been
raised to the extension v1.15.0. See:

https://www.mongodb.com/docs/drivers/php/#compatibility
2022-12-22 19:36:36 +01:00
Eloy Lafuente (stronk7) c5efd54971 MDL-76617 store_mongodb: Update mongo-php-library to v1.15.0
This updates the library from v1.13.1. Fixes some php81 warnings
leading to failed/risky tests.

The new library version should work without problems with older
php-mongodb extension versions:
- v1.15.0 (paired version, tested).
- v1.14.1 (tested)
2022-12-22 19:36:36 +01:00
Philipp Imhof 75be72b2d6 MDL-76731 behat: add steps to check for version
Co-authored-by: Andrew Nicols <andrew@nicols.co.uk>
2022-12-22 17:13:02 +01:00
Tony Butler 2970988674 MDL-53137 qtype_numerical: Swap geo tolerance limits for -ve answers 2022-12-22 15:31:12 +00:00
Ilya Tregubov 15a695d573 weekly release 4.2dev 2022-12-22 19:16:24 +07:00
Ilya Tregubov 564e89d62e Merge branch 'install_master' of https://git.in.moodle.com/amosbot/moodle-install 2022-12-22 19:16:22 +07:00
sam marshall 0b2c2a1f95 MDL-76129 upgrade: Allow caching in specific functions
During install/upgrade, caching is disabled. This change provides a
way to temporarily enable caching (using in-memory cache storage only)
within a specific function; caches are deleted afterwards.

Adding this to two locations improves install performance quite a lot.

Caching is not enabled during the parts of plugin installation that
can vary for individual plugins (install.php/upgrade.php) as these
might be relying on its absence, for example by making direct database
changes.
2022-12-22 11:05:45 +00:00
sam marshall 7724e543ff MDL-76129 accesslib: Speed up adding new cloned capabilities
Adding new capabilities can be slow if they have permissions cloned
from an existing capability, and if there are many places in the
database where the existing capability was overridden.

This change optimises the clone-capability performance, approximately
halving the number of queries required.
2022-12-22 11:05:39 +00:00
sam marshall fe6a51265a MDL-76129 accesslib: Improve performance of adding new capabilities
Adding multiple capabilities was very slow because it clears and
rebuilds the capability cache after each one. This change makes it
clear the cache once after adding all capabilities, before adding
permissions to the archetype roles.
2022-12-22 11:05:14 +00:00
Ilya Tregubov 28f7a7c7b2 Merge branch 'MDL-76667' of https://github.com/paulholden/moodle 2022-12-22 12:24:57 +07:00
Ilya Tregubov e133891051 Merge branch 'MDL-74609-patch' of https://github.com/ilyatregubov/moodle 2022-12-22 12:24:57 +07:00
Paul Holden a48f53ec1c Merge branch 'MDL-75965-master' of https://github.com/HuongNV13/moodle 2022-12-22 12:24:57 +07:00
Tim Hunt 7622b4a1f7 MDL-74609 Quiz: question number customisation - fixup Behat 2022-12-22 12:24:57 +07:00
Andrew Nicols a13484242b MDL-75105 tool_behat: Coding style fixes 2022-12-22 12:24:57 +07:00
Andrew Nicols 98cc2716f0 Merge branch 'MDL-75105_master' of https://github.com/marxjohnson/moodle 2022-12-22 12:24:57 +07:00
Andrew Nicols 411d3730d9 Merge branch 'MDL-74609' of https://github.com/mkassaei/moodle 2022-12-22 12:24:57 +07:00
Paul Holden 7a7b970640 Merge branch 'MDL-75667-master' of https://github.com/farhan6318/moodle 2022-12-22 12:24:57 +07:00
Paul Holden 88339b4e67 Merge branch 'MDL-75914-master' of https://github.com/meirzamoodle/moodle 2022-12-22 12:24:57 +07:00
Thong Bui 4dc5d9e97f MDL-75978 Quiz\D&D: on mobile, a moving line-wrap can bork the question 2022-12-22 10:08:29 +07:00
AMOS bot 377e66bf0f Automatically generated installer lang files 2022-12-22 00:07:46 +00:00
Mahmoud Kassaei 2074448b34 MDL-74609 Quiz: allow the displayed question numbers to be customised 2022-12-21 12:04:30 +00:00
Meirza e33194755f MDL-75914 webservice: Added fake URL to avoid debugging output.
Webservice doesn't need to set the page URL. Hence,
any function that requires a page URL will raise debugging output.
The patch fixes it by adding a fake URL for the webservice.
The patch also removed assertDebuggingCalled because it is no longer needed.
2022-12-21 16:30:21 +07:00
Mark Johnson b05efb43a4 MDL-75105 tool_behat: List available data generators
This will find all data generators that can be used in behat via the
'the following "something" exist:' step, and display them in a select
list on the step definitions page.

When a generator is selected, it will fetch the required fields for that
generator and display them on the page.
2022-12-21 08:38:09 +00:00
Huong Nguyen fc7ecd4c73 MDL-75965 question_multichoice: Misalignment of feedback icons 2022-12-21 13:39:24 +07:00
Andrew Nicols c7dd76dadb MDL-76734 editor_tiny: Listen to TinyMCE submit events
jQuery submit events do not trigger the native submit event, and
therefore the TinyMCE submit listener is not called. This means that the
tinymce.triggerSave() function is not called, and the editor content is
not saved.

To work around this, if there is a form for the Node that the editor is
attached to, the jQuery submit event is listened to and the save event
called.

Unfortunately it is not possible to use a global jQuery submit listener
added to the document to save all editors on the page.
In some cases, this is too late because the bubbling process means that
a child node consumer may attempt to consume the data before the
delegated handler is called for the document.
2022-12-21 13:02:21 +08:00
Ilya Tregubov 72b9e745c3 Merge branch 'MDL-76727-master' of https://github.com/andrewnicols/moodle 2022-12-21 09:49:43 +07:00
Farhan Karmali bb82d29dd9 MDL-75667 admin: Fix cross db query issue for blocks 2022-12-20 17:29:13 +05:30
Paul Holden a70ad5036a Merge branch 'MDL-75279' of https://github.com/spvickers/moodle 2022-12-20 10:27:32 +00:00
Paul Holden 12d8884406 Merge branch 'MDL-76138-master' of https://github.com/Chocolate-lightning/moodle 2022-12-20 09:42:32 +00:00
Paul Holden 27ebde570f MDL-76153 blog: add comments to blogs custom report source. 2022-12-20 09:32:11 +00:00
Paul Holden 224b3ab51f MDL-76154 blog: add files/attachments to custom report source. 2022-12-20 09:31:29 +00:00
Mihail Geshoski ba93fe345a MDL-76138 gradereport_grader: Create basic action bar 2022-12-20 10:51:47 +08:00
Andrew Nicols 171149b2a2 MDL-76727 core: Allow phpcs configuration to be overridden locally
This change reduces the priority of the shipped phpcs configuration to
allow for local overrides.

This is beneficial in several situations:
- when users wish to apply stricter or additional standards
- when the integration team wishes to trial new rules
2022-12-20 09:34:47 +08:00
Stephen Vickers 073ba9ec63 MDL-75279 mod_lti: Add username to NRPS response 2022-12-19 17:13:42 +00:00
Paul Holden 5be3686da6 Merge branch 'MDL-72906' of https://github.com/tdjones/moodle 2022-12-19 10:23:03 +00:00
Alex Morris ab03eb210d MDL-76304 reportbuilder: Add pagesize parameter to get webservice 2022-12-19 16:59:27 +13:00
Ilya Tregubov e0a8a3bf52 Merge branch 'MDL-74779-master' of https://github.com/ssj365/moodle 2022-12-19 09:43:38 +07:00
Leon Stringer 199ce65ec0 MDL-75346 core_my: Handle missing blocks on reset
If the default dashboard contained a block that was missing from disk
then "Exception - Call to a member function instance_copy() on bool"
was shown to users.  This change only shows an error with debugging
enabled which now includes the name of the missing block.
2022-12-17 17:37:45 +00:00
AMOS bot 8a128e81c2 Automatically generated installer lang files 2022-12-16 21:03:08 +00:00
Paul Holden 2f29c6fa5e Merge branch 'MDL-75667-master' of https://github.com/farhan6318/moodle 2022-12-16 13:44:56 +00:00
Farhan Karmali b4e5e47a0f MDL-75667 admin: Avoid DB calls within loops on admin/blocks.php 2022-12-16 18:53:58 +05:30
Paul Holden 5185558105 MDL-76399 question: switch to appropriate Behat step for selects. 2022-12-16 13:08:56 +00:00
David Matamoros facc3322e4 MDL-76301 course: Add course overview files to courses datasource 2022-12-16 13:56:15 +01:00
Paul Holden 7d78fb0928 MDL-76399 behat: improvements to "should exist in" thrown exception. 2022-12-16 12:30:03 +00:00
Paul Holden 2d5b6d0e01 MDL-74145 reportbuilder: system report API for adding row checkboxes. 2022-12-16 12:09:28 +00:00
Paul Holden d73a92ca4a Merge branch 'MDL-76026' of https://github.com/AnupamaSarjoshi/moodle 2022-12-16 09:53:40 +00:00
Andrew Nicols 5019abfdd6 weekly release 4.2dev 2022-12-16 09:05:48 +08:00
Paul Holden 9fa7119da1 MDL-69071 core: retrieve full result from remote content.
Use the full result from download_file_content within the component
installer to ensure that spurious debugging is not emitted during
operation. Handle validation of the returned data consistently.
2022-12-15 17:19:22 +00:00
Andrew Nicols 793b0f0ed9 MDL-74923 quiz: Remove erroneous merge conflict line 2022-12-15 14:45:41 +08:00
Andrew Nicols ee48f4ab99 Merge branch 'MDL-74923' of https://github.com/timhunt/moodle 2022-12-15 07:35:46 +08:00
Tim Hunt 66c3c378a0 MDL-74923 quiz: tidy the report base classes 2022-12-14 22:38:11 +00:00
Tim Hunt 8cbc6acb17 MDL-74923 quiz: move report base classes to local folder 2022-12-14 22:38:11 +00:00
Paul Holden 698afd1708 MDL-76679 admin: correct password config field template.
The template changes were missed as part of 0795b579, update them
to match so that they continue to work with the unmask JS module.
2022-12-14 19:07:10 +00:00
Sara Arjona 78827384e4 Merge branch 'MDL-76674' of https://github.com/stronk7/moodle 2022-12-14 18:34:44 +01:00
Sara Arjona e0f6940bb2 Merge branch 'MDL-75805' of https://github.com/paulholden/moodle 2022-12-14 18:12:50 +01:00
Sara Arjona d98be6a34e Merge branch 'MDL-71096' of https://github.com/stronk7/moodle 2022-12-14 17:51:44 +01:00
Sara Arjona 63cbadb161 Merge branch 'MDL-75943' of https://github.com/roland04/moodle 2022-12-14 17:29:13 +01:00
Amaia Anabitarte 2d1883c92e MDL-76004 core_h5p: Ensure the browser is serving updated file 2022-12-14 16:02:44 +01:00
Eloy Lafuente (stronk7) 608d1ccc28 MDL-76674 core_lang: Add string for new America/Ciudad_Juarez 2022-12-14 15:49:23 +01:00
Paul Holden 5158be1b64 Merge branch 'MDL-76666' of https://github.com/stronk7/moodle 2022-12-14 13:22:01 +00:00
Mikel Martín 97be42d99b MDL-75943 reportbuilder: Refactor scss to support force card/table view 2022-12-14 13:52:44 +01:00
Mikel Martín 91cc98ed3d MDL-75943 reportbuilder: Add custom attributes to reports 2022-12-14 13:50:40 +01:00
Eloy Lafuente (stronk7) 9a6701c572 MDL-76666 local_langimport: Better handling of long locales
Under some linux versions, and depending of the configured
locale categories, it's possible to get a current locally
which length > 255 when calling to setlocale(LC_ALL, 0).

Later, if that long locale is tried to be restored, there
is a "setlocale(): Specified locale name is too long" warning
error.

When that happens we need to split the long locale into
individual chunks and set all the (six) locale categories
supported one by one.

Covered with tests, note that, in practice, this only
happens with linux because it supports 12 locale categories
@ OS level. Both BSD (6) and Windows (5) hardly can reach the limit.

No matter of that, the tests have been designed to ensure that
they pass on all OSs, just the new code only will be executed
on linux.
2022-12-14 12:24:15 +01:00
Paul Holden f550239e78 MDL-75177 reportbuilder: preload context data for column callback.
Improve performance/reduce query count by requesting all necessary
data as part of initial column SQL. See also dc60fe66.
2022-12-14 09:52:55 +00:00
Sara Arjona dd83fb0bba Merge branch 'MDL-75441-master' of https://github.com/aanabit/moodle 2022-12-14 09:57:03 +01:00
Anupama Sarjoshi 89287ec744 MDL-76026 Question bank: Fix errors related to categories renaming
This part of the code in 'question_category_object.php' 'update_category' method was used before Moodle 4.0 version for renaming
the random questions in an updated category. For Moodle 4.0 and later versions, it is unnecessary as the details of
random questions are no more stored in 'question' table but in 'question_set_references' table.
The method call move_question_set_references handles the same.
2022-12-13 18:16:52 +00:00
Amaia Anabitarte 31d84aaa2c MDL-75441 mod_forum: Show add new post button to guest users 2022-12-13 18:49:53 +01:00
Tim Hunt 9efec07f77 MDL-74923 quiz: move admin setting classes to mod_quiz\admin namespace 2022-12-13 16:24:58 +00:00
Tim Hunt 48ffa04076 MDL-74923 quiz: tidy qubaids classes
Including removing an almost duplicate task
2022-12-13 16:24:58 +00:00
Tim Hunt 066b7f33d7 MDL-74923 quiz: move qubaids_for_quiz & ..._user to classes folder 2022-12-13 16:24:57 +00:00
Tim Hunt 3e05d77874 MDL-74923 quiz: clean up the display_options class 2022-12-13 16:24:57 +00:00
Tim Hunt cefbf74d02 MDL-74923 quiz: move mod_quiz_display_options to classes folder 2022-12-13 16:24:57 +00:00
Sara Arjona 70c3a5a4ad Merge branch 'MDL-73503-master' of https://github.com/sh-csg/moodle 2022-12-13 15:34:22 +01:00
Paul Holden b67b4791b5 MDL-76667 forms: mark modal form as submitted upon success.
Ensure the form change checker module doesn't warn user about it.
2022-12-13 14:22:47 +00:00
Andrew Nicols c6e9959a40 Merge branch 'MDL-76235' of https://github.com/paulholden/moodle 2022-12-13 20:56:32 +08:00
Andrew Nicols 21e2972b38 Merge branch 'MDL-74874' of https://github.com/uzimike/moodle 2022-12-13 20:34:34 +08:00
Andrew Nicols c198147268 Merge branch 'MDL-76509-master' of https://github.com/safatshahin/moodle 2022-12-13 20:30:57 +08:00
Andrew Nicols 3218a8feda Merge branch 'MDL-76536' of https://github.com/paulholden/moodle 2022-12-13 11:38:06 +08:00
Andrew Nicols 983fadf268 MDL-76293 gradebook: Address coding violations
This includes a data provider which had the 'test_' prefix and was
therefore run as a test.
2022-12-13 11:05:36 +08:00
Andrew Nicols 3c12e4168e Merge branch 'MDL-76293' of https://github.com/mkassaei/moodle 2022-12-13 11:00:30 +08:00
Safat 307f832732 MDL-76509 core: Upgrade error resolve for slot tags 2022-12-13 12:45:32 +11:00
Shamiso.Jaravaza 05d5d089ee MDL-74779 mod_bigbluebuttonbn: Fix recording sort
AMOS BEGIN
 MOV [config_recordings_sortorder,mod_bigbluebuttonbn],[config_recordings_asc_sort,mod_bigbluebuttonbn]
 MOV [config_recordings_sortorder_description,mod_bigbluebuttonbn],[config_recordings_asc_sort_description,mod_bigbluebuttonbn]
AMOS END
2022-12-12 13:34:44 -07:00
Stefan Hanauska e6753b2e95 MDL-73503 report: Add filtering by section to report_progress 2022-12-12 21:12:02 +01:00
Sara Arjona b5e2829f66 Merge branch 'MDL-75594-master' of https://github.com/sh-csg/moodle 2022-12-12 17:58:30 +01:00
Sara Arjona 86218ccb3d Merge branch 'MDL-72451_master' of https://github.com/marxjohnson/moodle 2022-12-12 17:34:07 +01:00
Stefan Hanauska 6378a41995 MDL-75594 course: Add beforemod parameter 2022-12-12 14:39:53 +01:00
hieuvu 0f5c8f020d MDL-76106 qtype_ddmarker: fix the missing maker issue.
We will not calculate old maker position again and using old data.
This will make sure the position of makers is correct
when the background image is smaller than dropzone.
2022-12-12 20:32:43 +07:00
Andrew Nicols 82fe292772 Merge branch 'MDL-71261' of https://github.com/timhunt/moodle 2022-12-12 21:20:56 +08:00
Rex Lorenzo ebeaa4b3f2 MDL-71261 mod_quiz: Quiz user override should only get enrolled users
Also update similar code in mod_assign to use the improved APIs.

Co-Authored-By: Tim Hunt <T.J.Hunt@open.ac.uk>
2022-12-12 12:29:19 +00:00
Sara Arjona 346db64871 Merge branch 'MDL-75571' of https://github.com/jacdsouza/moodle 2022-12-12 11:23:12 +01:00
Khoa Nguyen Dang 315efa2db2 MDL-76308 Question\D&D: The draggable area is slim characters to select 2022-12-12 14:02:56 +07:00
Andrew Nicols 19d1fb336c Merge branch 'MDL-76398' of https://github.com/paulholden/moodle 2022-12-11 20:20:02 +08:00
Andrew Nicols a98bc10c57 Merge branch 'm42_MDL-72461_Moodle_JS_Files_Should_Be_Always_Served_By_JS_Handler' of https://github.com/scara/moodle 2022-12-11 20:08:09 +08:00
Jackson D'souza 4c5b4003c3 MDL-75571 tool_componentlibrary: Custom activity icon 2022-12-09 15:53:23 +00:00
Jackson D'souza aa3efc27ff MDL-75571 theme_boost: Activity icon
* Use Activity get_icon_url helper method to fetch icon.
2022-12-09 15:53:23 +00:00
Jackson D'souza 771b587a54 MDL-75571 block_timeline: Display custom activity icon if available. 2022-12-09 15:53:23 +00:00
Jackson D'souza 3d05ebca36 MDL-75571 calendar: Activity icon
* Use Activity get_icon_url helper method to fetch icon.
2022-12-09 15:53:23 +00:00
Sara Arjona 9d6eecb4ae Merge branch 'MDL-76274-master' of https://github.com/cameron1729/moodle 2022-12-09 16:18:00 +01:00
Matteo Scaramuccia 71883c2add MDL-72461 core: Required JS files in $PAGE served by the Moodle handler 2022-12-09 13:47:19 +01:00
Paul Holden 7bab1754c4 MDL-76536 enrol: prevent invalid role assignments in course creation.
Upgrade step to fixup existing bad data.
2022-12-09 11:38:41 +00:00
Paul Holden 253c041297 MDL-75805 admin: allow multiselect when editing site administrators. 2022-12-09 11:22:07 +00:00
Paul Holden 652b2e496a MDL-76235 core: compare email diversion exceptions case-insensitively.
Co-authored-by: Jan Kristoffer Roth <roth@dhbw-mosbach.de>
2022-12-09 11:19:18 +00:00
Eloy Lafuente (stronk7) 28937d4243 MDL-71096 core: Add meta information about APIs to core
Right now we have the information only in docs:
  - https://docs.moodle.org/dev/Core_APIs
  - https://moodledev.io/docs/apis

And, in fact, we are crawling those pages to get the information
from various tools (moodlecheck, CiBoT...). Obviously, that's far
from ideal, the source only has the current list of APIs, and
there isn't much information there but the names.

So we are moving the source of information to be in core, so it
can be modified between branches, and contains richer information:
 - The component the API belongs to, usually a subsystem or core.
 - If the API can be used as level 2 namespace.
 - If the API can be used as level 2 namespace out from its component.

Note that all that information has NO USES right now in core (and maybe
never will), but tools/checkers will benefit enormously by having that
information at hand, so we can check for namespaces, categories and
other bits way better.

Also, once we have this, the APIs dev documents linked above, surely
can be improved by being automatically generated and include all the
meta-information available.

It also includes a very basic json schema validating the basis. It can
be tried online @ https://www.jsonschemavalidator.net , or any other
tool. PHP requires extra libraries to be able to perform the validation.

Covered with unit tests, both api-related functions and structure validation.
2022-12-09 10:49:12 +01:00
Sara Arjona 40a89d8a9a weekly release 4.2dev 2022-12-09 08:56:53 +01:00
Jun Pataleta ae2a313c95 Merge branch 'MDL-76556-master' of https://github.com/andrewnicols/moodle 2022-12-08 10:07:52 +08:00
Andrew Nicols 6982caf746 Merge branch 'MDL-76491' of https://github.com/paulholden/moodle 2022-12-08 08:08:19 +08:00
Andrew Nicols 1e594c9777 Merge branch 'MDL-76550' of https://github.com/AnupamaSarjoshi/moodle 2022-12-08 07:53:09 +08:00
Andrew Nicols 7aeb1f68e9 Merge branch 'MDL-76074-master' of https://github.com/srobotta/moodle 2022-12-08 07:26:24 +08:00
Andrew Nicols bf5efe9d0b Merge branch 'MDL-76116-master' of https://github.com/meirzamoodle/moodle 2022-12-08 06:14:24 +08:00
Sara Arjona 81a7a50ff1 Merge branch 'MDL-75588-master' of https://github.com/HuongNV13/moodle 2022-12-07 19:31:04 +01:00
Sara Arjona ec3a401015 Merge branch 'MDL-76575-master' of https://github.com/HuongNV13/moodle 2022-12-07 18:32:13 +01:00
Sara Arjona d66ca7decc Merge branch 'MDL-76500' of https://github.com/paulholden/moodle 2022-12-07 18:27:46 +01:00
Trevor Jones c49806941c MDL-72906 Quiz: Prevent scrollbar on multichoice
Remove negative margin from the "clear my choice" anchor.
With the negative margin, when the containing box height is calculated
the anchor's hidden style overflows beyond the boundary and triggers
the overflow:auto to add a scroll bar.
2022-12-07 10:24:34 -07:00
Sara Arjona 315f1dafd8 Merge branch 'MDL-76193-master' of https://github.com/JBThong/moodle 2022-12-07 17:26:11 +01:00
Sara Arjona 592de63edb Merge branch 'MDL-76571' of https://github.com/timhunt/moodle 2022-12-07 17:17:23 +01:00
Tim Hunt 83c9a6d311 MDL-76571 quiz reports: should not show description items
... or anything else with length = 0. This got broken in MDL-71696.

The only way to fix this kind-of involves and API change to
quiz_report_get_significant_questions. However, it is only changing
the external API of this function back to how it was before the 4.0 release,
and the chnages in 4.0 were never documented, nor, I would guess, intended,
since they just broke things.
2022-12-07 14:54:40 +00:00
Jun Pataleta 5935cd22c1 Merge branch 'MDL-76559-master' of https://github.com/andrewnicols/moodle 2022-12-07 22:41:20 +08:00
Andrew Nicols 7ce68020b8 MDL-76559 core: validate_email does not take false either 2022-12-07 21:40:18 +08:00
Sara Arjona 1cfa7fc788 Merge branch 'MDL-76273' of https://github.com/paulholden/moodle 2022-12-07 12:51:08 +01:00
Huong Nguyen e1001e2f26 MDL-75588 assign: Reset completion status when resetting a submission 2022-12-07 16:15:30 +07:00
Huong Nguyen dd6349c39f MDL-76575 tiny_media: Remove unnecessary console log 2022-12-07 15:50:01 +07:00
Jun Pataleta 51d1448b06 Merge branch 'MDL-73017_add-environment-check-for-versions-not-supporting-php-8-1' of https://github.com/ziegenberg/moodle 2022-12-07 13:47:04 +08:00
Meirza 883c1becc5 MDL-76116 mnet: styling the delete key confirmation window properly 2022-12-07 11:14:05 +07:00
Jun Pataleta 5bc72f5176 Merge branch 'MDL-76559-master' of https://github.com/andrewnicols/moodle 2022-12-06 23:19:53 +08:00
Andrew Nicols f375cac31a MDL-76559 core: validate_email should not accept empty values 2022-12-06 20:53:30 +08:00
Jun Pataleta daa506a037 Merge branch 'MDL-76476' of https://github.com/paulholden/moodle 2022-12-06 19:34:40 +08:00
Jun Pataleta ab10635ef1 Merge branch 'MDL-75381' of https://github.com/paulholden/moodle 2022-12-06 19:24:41 +08:00
Ilya Tregubov e641428826 Merge branch 'MDL-76490' of https://github.com/paulholden/moodle 2022-12-06 13:09:21 +03:00
Paul Holden 7906f48c6f MDL-76500 grade: fix grade form when item cannot be overridden. 2022-12-06 09:20:09 +00:00
Ilya Tregubov aaa20901b2 Merge branch 'MDL-76446' of https://github.com/paulholden/moodle 2022-12-06 12:18:52 +03:00
Mahmoud Kassaei 20d2752f93 MDL-76293 Gradebook: PHPUnit fails when plugins are not expected 2022-12-06 08:34:50 +00:00
Cameron Ball 3c67e41d0e MDL-76274 assignfeedback_editpdf: Fix upgrade step for stale conversions 2022-12-06 16:00:26 +08:00
Ilya Tregubov ac60253859 Merge branch 'MDL-75516' of https://github.com/larsbonczek/moodle 2022-12-06 10:37:46 +03:00
Andrew Nicols c69902f846 Merge branch 'MDL-75446-master' of https://github.com/andelacruz/moodle 2022-12-06 15:15:48 +08:00
Andrew Nicols 425d4f2583 Merge branch 'MDL-75573' of https://github.com/paulholden/moodle 2022-12-06 13:54:26 +08:00
Andrew Nicols 3365e5a4e6 Merge branch 'MDL-76145-master' of https://github.com/meirzamoodle/moodle 2022-12-06 13:35:46 +08:00
Paul Holden 79bd94089f MDL-76273 core: multi-byte character filename support for TCPDF.
See: https://github.com/tecnickcom/TCPDF/pull/562
2022-12-05 15:03:15 +00:00
Paul Holden 23930c2516 MDL-76490 behat: use defined step for interaction with autocomplete. 2022-12-05 14:02:33 +00:00
Marina Glancy 8d86f30351 MDL-76490 behat: correct step for opening autocomplete in container. 2022-12-05 14:01:55 +00:00
Andrew Nicols aea298513e MDL-76569 editor_tiny: Set table row header style
Configure Tiny to use markup of:

table > thead > tr > th

For all table headers.
2022-12-05 20:49:17 +08:00
Sara Arjona 46114474e4 Merge branch 'MDL-75789' of https://github.com/paulholden/moodle 2022-12-05 12:53:36 +01:00
Anupama Sarjoshi 9e77d14a7b MDL-76550 Quiz and qbank: Fix display of Category and question names 2022-12-05 11:48:43 +00:00
Sara Arjona d5b3abde3c Merge branch 'MDL-76166-username-logging' of https://github.com/brendanheywood/moodle 2022-12-05 12:44:17 +01:00
Ilya Tregubov ff871829c5 Merge branch 'MDL-75788-master' of https://github.com/lameze/moodle 2022-12-05 14:31:16 +03:00
Sara Arjona 474f92910a Merge branch 'MDL-76482-master' of https://github.com/andrewnicols/moodle 2022-12-05 12:03:57 +01:00
Daniel Ziegenberg afe68a65cb MDL-73017 env: Moodle 3.9.x, 3.11.x and 4.0.x do not support PHP 8.1
This commit adds an additional environment check for the unsupported
PHP 8.1 version to Moodle 3.9.x, 3.11.x and 4.0.x.

It also updates the lang string for unsupported PHP version.

Signed-off-by: Daniel Ziegenberg <daniel@ziegenberg.at>
2022-12-05 11:39:14 +01:00
Angelia Dela Cruz 11caf95cb9 MDL-75446 behat: Workshop behat generators use UI
Replace steps that manually add Workshop instances via the UI and use
Behat generators. This improves the speed of the Behat test runs.
2022-12-05 16:09:05 +08:00
Paul Holden aa1970ffa4 MDL-76479 reportbuilder: date filtering by hour. 2022-12-05 06:50:07 +00:00
Ilya Tregubov ea8710f2c9 Merge branch 'MDL-76330-master' of https://github.com/sh-csg/moodle 2022-12-05 09:21:09 +03:00
Jun Pataleta e07adad35f Merge branch 'MDL-76225-master' of https://github.com/ferranrecio/moodle 2022-12-05 13:47:44 +08:00
Thong Bui 79d1b45ba7 MDL-76193 Questions: Backup and Restore with tags fails 2022-12-05 10:00:37 +07:00
Andrew Nicols a8f63b26be MDL-76556 tool_log: Set the store property correctly 2022-12-03 11:47:53 +08:00
Lars Bonczek e875c6118c MDL-75516 core: Perform proper JSON encoding in mustache quote helper 2022-12-02 13:39:58 +01:00
Ilya Tregubov fb27e80566 Merge branch 'MDL-76495-master' of https://github.com/marinaglancy/moodle 2022-12-02 13:48:11 +03:00
Paul Holden 077a30b7ff MDL-76491 javascript: add missing core/notification imports. 2022-12-02 10:05:28 +00:00
Paul Holden bc034026ed MDL-76491 javascript: prevent eslint undefined Notification import. 2022-12-02 10:05:28 +00:00
Paul Holden cccddcd7c0 MDL-76398 reportbuilder: use improved action menu steps in Behat.
Improved steps for using actions menus were added in 232ebac3, so
make use of them here for consistency/reliability.
2022-12-02 09:54:49 +00:00
Paul Holden e2a2332cc0 MDL-76398 behat: broader action menu partial matching by element.
For action menu elements whose trigger element isn't plain text
(e.g. a pix icon), we should be able to match via the title of
that element.
2022-12-02 09:54:49 +00:00
hieuvu ff342087da MDL-76106 qtype_ddmarker: Improve loading consistency.
Wait for the image to load completely before running the js.
2022-12-02 16:14:23 +07:00
Ilya Tregubov 357a937790 Merge branch 'MDL-75951-master' of https://github.com/andrewnicols/moodle 2022-12-02 11:55:35 +03:00
Stephan Robotta ecc6b31176 MDL-76074 completion: fixed filter in reports with custom user fields
When the site uses custom user text fields that would show up in a
user list, the filter for firstname or lastname didnt work anymore.
If a filter was used, no result would show up. Users where shown only
when the course reports where used without filters.
2022-12-02 09:42:35 +01:00
Dani Palou 6ab826fb23 MDL-75788 behat: Use profile field generators in existing tests 2022-12-02 14:54:47 +08:00
Dani Palou 3923ef9408 MDL-75788 testing: Handle new lines in menu profile field generator 2022-12-02 14:54:46 +08:00
Andrew Nicols fad9666817 MDL-75951 core: Update box/spout to address PHP 8.1 deprecation
This change is a direct pull from an upstream fix:
https://github.com/openspout/openspout/commit/64a09a748d04992d63b38712599a9d8742bd77f7

This addresses the deprecation of auto_detect_line_endings in PHP 8.1.
2022-12-02 13:58:05 +08:00
Ilya Tregubov e925e2984a Merge branch 'MDL-76494-master' of https://github.com/marinaglancy/moodle 2022-12-02 08:40:57 +03:00
Andrew Nicols 8ddbc7b055 Merge branch 'MDL-76493-master' of https://github.com/marinaglancy/moodle 2022-12-02 12:15:20 +08:00
Paul Holden be83010d4f MDL-75573 backup: translate async operation type in messages. 2022-12-01 19:48:29 +00:00
Stefan Hanauska d602d936ac MDL-76330 enrol: Check permission to show edit icon 2022-12-01 20:07:15 +01:00
Sara Arjona 1d863c338a weekly on-sync release 4.2dev 2022-12-01 16:08:29 +01:00
Sara Arjona 7418832f75 NOBUG: Fixed file access permissions 2022-12-01 16:08:29 +01:00
Simey Lameze 1531541451 MDL-76507 behat: change step to use 'Recent and next 60 days' option
It was detected that 'This month' option may cause failures in builds in between months
so using the 'Recent and next 60 days' still fixes the weekend scenario and also the
in between months issue.
2022-12-01 08:50:58 +01:00
Andrew Nicols e5f97c07cc Merge branch 'MDL-75604-master' of https://github.com/ssj365/moodle 2022-12-01 08:56:15 +03:00
Andrew Nicols dc3c0bbec3 Merge branch 'MDL-75281-master' of https://github.com/call-learning/moodle 2022-12-01 08:56:15 +03:00
Ilya Tregubov 05535e38df Merge branch 'MDL-76497-master' of https://github.com/junpataleta/moodle 2022-12-01 08:56:09 +03:00
Sara Arjona 919302aa1a Merge branch 'MDL-76226' of https://github.com/paulholden/moodle 2022-12-01 08:55:34 +03:00
Sara Arjona 58e7efd8d7 Merge branch 'MDL-76507-401' of https://github.com/lameze/moodle 2022-12-01 08:55:34 +03:00
Jun Pataleta 17c5b5f232 Merge branch 'MDL-76250' of https://github.com/paulholden/moodle 2022-12-01 08:55:34 +03:00
Jun Pataleta 3947ad99c1 Merge branch 'MDL-76483-master' of https://github.com/andrewnicols/moodle 2022-12-01 08:55:34 +03:00
Ilya Tregubov 9ba9589f09 Merge branch 'MDL-74853-master' of https://github.com/marinaglancy/moodle 2022-12-01 08:55:34 +03:00
Ilya Tregubov ad2b1af12b Merge branch 'MDL-76487-master' of https://github.com/andrewnicols/moodle 2022-12-01 08:55:34 +03:00
Andrew Nicols 3a62d00b28 Merge branch 'MDL-75826-master' of https://github.com/meirzamoodle/moodle 2022-12-01 08:55:34 +03:00
Jun Pataleta bc0c11a191 Merge branch 'MDL-68981-master' of https://github.com/HuongNV13/moodle 2022-12-01 08:55:34 +03:00
Andrew Nicols 0646f7ea5a Merge branch 'MDL-76183-master' of https://github.com/davewoloszyn/moodle 2022-12-01 08:55:34 +03:00
Jun Pataleta 760e29e2de Merge branch 'MDL-76284' of https://github.com/paulholden/moodle 2022-12-01 08:55:34 +03:00
Jun Pataleta ef089741f4 Merge branch 'MDL-76429' of https://github.com/stronk7/moodle 2022-12-01 08:55:34 +03:00
Andrew Nicols cd723a9bc1 Merge branch 'MDL-76380' of https://github.com/paulholden/moodle 2022-12-01 08:55:34 +03:00
Andrew Nicols b1e77fe1f3 Merge branch 'MDL-76218-master' of https://github.com/sammarshallou/moodle 2022-12-01 08:55:34 +03:00
Jun Pataleta 85e8177eac Merge branch 'MDL-75977' of https://github.com/stronk7/moodle 2022-12-01 08:55:33 +03:00
Andrew Nicols a4ad23b855 Merge branch 'MDL-76127-master' of https://github.com/meirzamoodle/moodle 2022-12-01 08:55:33 +03:00
Ilya Tregubov 72145fc34d Merge branch 'MDL-72019-master' of https://github.com/meirzamoodle/moodle 2022-12-01 08:55:33 +03:00
Laurent David e9844e380c MDL-75281 mod_bigbluebuttonbn: Upgrade failure when table exists
* Fix several upgrade script issue when the recording table exists or plugin has been
downgraded prior to 4.x upgrade
2022-11-30 20:17:13 +01:00
Shamiso.Jaravaza 4d64f23395 MDL-75604 mod_bigbluebuttonbn: Fix welcome section
* Removed welcome message from General settings
* Cleaned settings.php file to remove hardcoded add($item) after adding conditional element
2022-11-30 11:42:28 -07:00
Ferran Recio 8cb0c44e17 MDL-76225 core_courseformat: fix section title id 2022-11-30 16:44:48 +01:00
Marina Glancy 8bababa369 MDL-76494 libs: patch Box::Spout for PHP 8.1 - calling basename on null 2022-11-30 10:30:34 +01:00
Andrew Nicols 6ab3740eb4 MDL-76482 output: The javascript mustache helper should return a string 2022-11-30 12:18:32 +08:00
Huong Nguyen 45e3d815b0 MDL-68981 tool_recyclebin: Force necessary settings when restoring
Created code to force the necessary settings for restore_item in:
  + course_bin class
  + category_bin class
2022-11-30 10:16:53 +07:00
David Woloszyn 126028cc76 MDL-76183 lib: Update Github URLs 2022-11-30 14:01:31 +11:00
Meirza ed5db9e301 MDL-76145 course: Avoid long course names that exceed available space
Co-authored-by: Stephen Sharpe <stephen.sharpe@synergy-learning.com>
2022-11-30 09:45:47 +07:00
Brendan Heywood d3789541ab MDL-76166 calendar: Ensure user is in server access logs 2022-11-30 13:25:21 +11:00
Brendan Heywood 825d11ec50 MDL-76166 auth: Ensure user is in server access logs 2022-11-30 13:25:20 +11:00
Jonathan Champ a45c8120c9 MDL-76506 cache_application: Fix MDL_PERF and perfdebug checks 2022-11-29 13:27:31 -05:00
Paul Holden 347bb143e7 MDL-76446 user: correct logic for multiple keyword search.
When the keyword participant filter was used with multiple values
in conjunction with other participants filters, the boolean logic
was effectively:

 X AND Y OR Z

When what we actually wanted was:

 X AND (Y OR Z)
2022-11-29 16:30:35 +00:00
Paul Holden e82198daf9 MDL-76476 tiny_media: don't load image preview if none exists. 2022-11-29 16:27:38 +00:00
Ilya Tregubov 08fc4f9589 Merge branch 'MDL-75463-master' of https://github.com/kevpercy/moodle 2022-11-29 13:24:43 +03:00
Andrew Nicols 62b6e49143 Merge branch 'MDL-76355-master' of https://github.com/marinaglancy/moodle 2022-11-29 17:29:49 +08:00
Andrew Nicols 14d8b7cf82 Merge branch 'MDL-75960-master' of https://github.com/andelacruz/moodle 2022-11-29 17:04:31 +08:00
Paul Holden 33c1fb4445 MDL-75381 gradereport_grader: ensure valid paging preference value.
Set type of the report paging setting to integer, to ensure usage
of it is predictable. Unsupported operated type errors were thrown
on PHP8.0 when it's value contained a string or was empty.
2022-11-29 08:41:33 +00:00
Paul Holden e5c6575bbd MDL-75789 restore: multi-byte safe substring calculating course names.
Co-authored-by: Leon Stringer <leon.stringer@ntlworld.com>
2022-11-29 08:32:22 +00:00
Andrew Nicols 9e2051931f Merge branch 'MDL-74823_upgrade-html-purifier-to-4-14-0' of https://github.com/ziegenberg/moodle 2022-11-29 16:24:31 +08:00
Andrew Nicols f4053b291b Merge branch 'MDL-65939-master' of https://github.com/ewallah/moodle 2022-11-29 15:41:14 +08:00
Andrew Nicols ab44f00548 Merge branch 'MDL-76058-master' of https://github.com/lameze/moodle 2022-11-29 15:36:55 +08:00
Andrew Nicols 5609715e6e Merge branch 'MDL-76088-master' of https://github.com/marinaglancy/moodle 2022-11-29 15:09:27 +08:00
Andrew Nicols b4797f9959 Merge branch 'MDL-74454-master' of https://github.com/pabloamayab/moodle 2022-11-29 14:15:35 +08:00
Jun Pataleta f05944d660 Merge branch 'MDL-76496' of https://github.com/stronk7/moodle 2022-11-29 13:49:39 +08:00
Andrew Nicols 360e16fd8b MDL-76258 mod_lti: Codign style fixes 2022-11-29 12:28:35 +08:00
Andrew Nicols 392a0030a3 Merge branch 'MDL-76258-master' of https://github.com/sh-csg/moodle 2022-11-29 12:27:53 +08:00
Andrew Nicols 56303564c6 MDL-69570 assignfeedback_editpdf: Whitespace fix 2022-11-29 11:49:24 +08:00
Andrew Nicols ebd0cb2eb9 Merge branch 'MDL-69570-master' of https://github.com/abgreeve/moodle 2022-11-29 11:38:36 +08:00
Adrian Greeve c694b57b35 MDL-69570 assignfeedback_editpdf: Upgrade step to remove files.
This upgrade step removes all orphaned editpdf feedback files and
records.
2022-11-29 09:41:30 +08:00
Adrian Greeve a39d00389a MDL-69570 assignfeedback_editpdf: Remove temp pdf files
This adds a new method to the assignfeedback edit pdf library
to specify user data file areas that will return just the meaningful
annotated feedback pdf.

get_file_areas has been updated for this plugin to return all
file areas related to assignfeedback_editpdf, and should stop
producing orphaned files and records when a course reset is done.

Thanks to @toniginard who provided a base solution for me to work
off.
2022-11-29 09:35:51 +08:00
Jonathan Champ 33e3af1899 MDL-76506 core\lock: Fix MDL_PERF and perfdebug checks 2022-11-28 18:53:44 -05:00
Mark Holliday 3476cccf38 MDL-76376 scorm: fix PHP8 TypeError (null is not Countable) 2022-11-28 17:51:07 -05:00
Paul Holden e0d7ab9989 MDL-76380 tool_oauth2: remove double persistent load on update.
The method already loaded the validated persistent model data on the
previous line, there's no need to do it again (while also trying to
load unvalidated properties).
2022-11-28 19:38:47 +00:00
Paul Holden c2d26f8a7b MDL-76250 mod_assign: disable form change checker for grading options.
This was previously fixed in 8e9efe60, but seems to have regressed
somewhere along the way.
2022-11-28 16:06:55 +00:00
Paul Holden 23df60893a MDL-76226 admin: account for preset config checkboxes other than bool.
The assumption that the settings checkbox always stores boolean values
(e.g. 0/1) isn't correct. The `perfdebug` configuration instead uses
the values 7/15.
2022-11-28 16:04:08 +00:00
Marina Glancy a800e7e62f MDL-74853 various: add second parameter to htmlentities functions
Default value of the $flag argument changed in PHP 8.1 from ENT_COMPAT to ENT_QUOTES | ENT_SUBSTITUTE
To ensure consistent behavior across different PHP version the second parameter is now required for the functions:
htmlspecialchars(), htmlentities(), htmlspecialchars_decode(), html_entity_decode() and get_html_translation_table()
2022-11-28 16:12:20 +01:00
Marina Glancy 2d0b8c9282 MDL-76495 libs: patch TCPDF for PHP 8.1 compatibility 2022-11-28 16:01:47 +01:00
Marina Glancy c1dec1d2f4 MDL-76494 libs: patch Box::Spout for PHP 8.1 compatibility 2022-11-28 15:56:35 +01:00
Paul Holden f8ef28f9a6 MDL-76284 webservice: early exit if no users for missing capabilities. 2022-11-28 11:52:45 +00:00
Andrew Nicols 3125eb732b MDL-76487 tiny_autosave: Clarify autosave store rejection message 2022-11-28 19:42:12 +08:00
Andrew Nicols d907d5ccb1 MDL-76487 tiny_autosave: Use navigator.sendBeacon instead of fetch
Firefox does not support the keepalive flag for fetch, despite every
other browser except IE supporting it.
2022-11-28 19:42:12 +08:00
Marina Glancy b99a931f7f MDL-76355 lib: apply a patch to googleapi for php 8.1 compatibility 2022-11-28 12:00:51 +01:00
Marina Glancy 130d371ccf MDL-76088 blocks: fixed incorrect use of static cache 2022-11-28 11:58:47 +01:00
Meirza 934d74a6ff MDL-75826 profile: Redirect to profile page if returnto is profile. 2022-11-28 16:13:14 +07:00
Jun Pataleta c6ab792ddf MDL-76497 upgrade: add the 4.1.0 separation line to all upgrade scripts 2022-11-28 14:43:04 +08:00
Huong Nguyen e4fde5a93e MDL-68981 tool_recyclebin: Extra PHPUnit with General restore config 2022-11-28 09:33:36 +07:00
Huong Nguyen d1fab0c619 MDL-68981 tool_recyclebin: Extra Behat test with General restore config
Including in this commit:
 - Convert existing Behat scenario to use Data generators
 - Convert existing Behat scenario to use Provider
 - Add new scenario for Include users setting in General restore page
2022-11-28 09:33:36 +07:00
Angelia Dela Cruz 7b8aa2c64e MDL-75960 behat: Survey behat generators use UI
Replace steps that manually add Survey instances via the UI and use
Behat generators. This improves the speed of the Behat test runs.
2022-11-28 09:32:09 +08:00
Eloy Lafuente (stronk7) b2ffea4ac0 MDL-76496 backup: Bump release to 4.2 2022-11-26 23:56:08 +01:00
Marina Glancy 369bca652c MDL-76495 lib: test for qrcode in TCPDF 2022-11-26 19:18:29 +01:00
Marina Glancy d2e5bfe26f MDL-76494 core_reportbuilder: behat test for downloading report 2022-11-26 18:31:21 +01:00
Eloy Lafuente (stronk7) 9e58ce1182 MDL-76429 composer: Bump to phpwebdriver 1.2.1 for php81 compat
Note this comes with a bunch of other small updates, all them
pretty minor and should not be problematic. Better we get them
than keeping them apart.
2022-11-26 16:16:25 +01:00
Eloy Lafuente (stronk7) eeaaf131ac MDL-75977 xmldb: Avoid using null params on built-in DB functions
This changes a couple of cases, in postgres and oracle where we
were trying to calculate strlen() on null values (that causes a
PHP 8.1 warning).

Also, at the same time, fixing another case in xmldb_field, it
was detected that it had a bug around precision (being set to the
value of type), being used as object property, when it's not, so
it was also fixed by moving the code logic a little bit.

Note that the bug has been there since inception because there
isn't any code in Moodle using that ->precision property. It
was just detected thanks to PHP 8.2, but that's another story. :-)

Verified that with the patch:
- All DBs can be installed (phpunit install)
- Both DDL and DML pass without any ddl/dml warning (in all DBs).
2022-11-26 16:16:20 +01:00
Marina Glancy 6c30e11dbb MDL-76494 dataformat: tests for Excel and ODS writers 2022-11-26 15:21:52 +01:00
Stefan Hanauska b8a0ac4808 MDL-76258 mod_lti: Reset clientid after restore 2022-11-26 14:38:47 +01:00
Marina Glancy e5f862d0b1 MDL-76493 core: make sure format_string(null) works on PHP 8.1 2022-11-26 14:02:32 +01:00
Jun Pataleta 57c1e97bf1 weekly back-to-dev release 4.2dev 2022-11-26 17:35:00 +08:00
Jun Pataleta 4468b03cd5 NOBUG: Change travis.yml back to master 2022-11-26 17:23:04 +08:00
Andrew Nicols 6eccbc7af5 MDL-76483 core: Handle default value for get_docs_url() 2022-11-25 22:19:04 +08:00
Meirza 409e1fc194 MDL-76127 Profiling: Make the breadcrumb of the profiling URL clickable
Boost has the behavior to remove the last item action.
To avoid that, we need to add an action item.
2022-11-21 14:06:07 +07:00
Kevin Percy a1f4f514d4 MDL-75463 lib: Update Bennu version number to 0.2 2022-11-18 16:37:10 +08:00
Daniel Ziegenberg 877ac800cd MDL-74823 lib: HTMLPurifier upgrade to 4.16.0
Signed-off-by: Daniel Ziegenberg <daniel@ziegenberg.at>
2022-11-17 18:26:28 +01:00
Daniel Ziegenberg be7f6d4834 MDL-74823 lib: normalize line endings for HTMLPurifier
Prior to this change, all the line endings in the imported HTMLPurifier
library were using CRLF (\r\n aka Windows style), but the HTMLPurifier
source and also the downloadable artefacts use LF (\n aka Linux style)
as line endings. This has been the case since
510d190382 when with the commit
"MDL-38672 import HTML Purifier 4.5.0" all line endings were changed
from LF to CRLF. There was no comment in the commit on why this change
was done.

As the original source uses LF, this commit partly reverts
510d190382 and goes back to LF as line
endings.

Signed-off-by: Daniel Ziegenberg <daniel@ziegenberg.at>
2022-11-17 18:26:26 +01:00
Daniel Ziegenberg 90f8efa6b3 MDL-74823 lib: HTMLPurifier upgrade to 4.14.0
Signed-off-by: Daniel Ziegenberg <daniel@ziegenberg.at>
2022-11-17 18:26:14 +01:00
info@eWallah.net 1f16e9b76f MDL-65939 phpunit: Maildigest tests can query a wrong adhoc task 2022-11-17 15:54:58 +01:00
Meirza 7760f1bf34 MDL-72019 user: Allows data to be formatted when exporting. 2022-11-17 16:28:09 +07:00
Tomo Tsuyuki b3e046df7e MDL-72451 core: Stop keep regrading when there is an error
Set needsupdate to finish to avoid regrading each call.
Add error messages for regrading.
Display the error message on the quiz page.

Co-authored-by: Mark Johnson <mark.johnson@catalyst-eu.net>
2022-11-17 08:54:47 +00:00
Kepa Urzelai eae00ca006 MDL-72563 theme_boost: rubric area style fix 2022-11-16 15:42:32 +01:00
michaelkotlyar a8c0258bfe MDL-74874 config: Removed comment "This is an experimental issue". 2022-11-16 16:31:26 +13:00
sam marshall 5f5f922fd8 MDL-76218 cachestore_redis: delete_many can fail with no keys
In some cases, we get an error message such as:

Wrong parameter count for Redis::zRem()

Within the delete_many function. This function requires at least one
key to be supplied, but if delete_many is called with an empty array,
we will call it with no keys.
2022-11-14 14:40:09 +00:00
Simey Lameze ff4292501c MDL-76058 behat: send message using data generator 2022-11-09 09:50:06 +08:00
David Mudrák 3c9ca9007b MDL-75534 Fix usermodified in very old forum discussions
Very early Moodle versions used to leave the field empty. Recent Moodle
versions expect that the value always links to an existing user account.
2022-10-19 20:36:31 +02:00
Pablo Amaya 8cf256648f MDL-74454 mod_scorm: Fixed problems in lateral navigation.
Fixed problems in lateral navigation and grading when
a SCORM has more than three levels

The SCORM module has problems with full screen display,
completion tracking and grading in SCORM.

Also resolves issues MDL-74992, MDL-73249, MDL-75407
2022-10-05 12:40:06 +02:00
Joachim Jablon 42c69bd155 MDL-75371: Remove unrespectful language from code comment
https://tracker.moodle.org/browse/MDL-75371
2022-08-04 09:55:24 +02:00
23077 changed files with 1083839 additions and 631477 deletions
+32 -94
View File
@@ -1,8 +1,12 @@
{
'plugins': [
'babel',
'@babel',
'promise',
'jsdoc',
'jsdoc'
],
'extends': [
'eslint:recommended',
'plugin:promise/recommended'
],
'env': {
'browser': true,
@@ -16,42 +20,19 @@
'M': true,
'Y': true
},
// Warn about unused eslint-disable statements.
'reportUnusedDisableDirectives': true,
'rules': {
// See http://eslint.org/docs/rules/ for all rules and explanations of all
// rules.
// === Possible Errors ===
'comma-dangle': 'off',
'no-compare-neg-zero': 'error',
'no-cond-assign': 'error',
'no-console': 'error',
'no-constant-condition': 'error',
'no-control-regex': 'error',
'no-debugger': 'error',
'no-dupe-args': 'error',
'no-dupe-keys': 'error',
'no-duplicate-case': 'error',
'no-empty': 'warn',
'no-empty-character-class': 'error',
'no-ex-assign': 'error',
'no-extra-boolean-cast': 'error',
'no-extra-parens': 'off',
'no-extra-semi': 'error',
'no-func-assign': 'error',
'no-inner-declarations': 'error',
'no-invalid-regexp': 'error',
'no-irregular-whitespace': 'error',
'no-obj-calls': 'error',
'no-prototype-builtins': 'off',
'no-regex-spaces': 'error',
'no-sparse-arrays': 'error',
'no-unexpected-multiline': 'error',
'no-unreachable': 'warn',
'no-unsafe-finally': 'error',
'no-unsafe-negation': 'error',
'use-isnan': 'error',
'valid-jsdoc': ['warn', { 'requireReturn': false, 'requireParamDescription': false, 'requireReturnDescription': false }],
'valid-typeof': 'error',
// === Best Practices ===
// (these mostly match our jshint config)
@@ -63,15 +44,12 @@
'dot-notation': 'warn',
'no-alert': 'warn',
'no-caller': 'error',
'no-case-declarations': 'error',
'no-div-regex': 'error',
'no-empty-pattern': 'error',
'no-empty-function': 'warn',
'no-eq-null': 'error',
'no-eval': 'error',
'no-extend-native': 'error',
'no-extra-bind': 'warn',
'no-fallthrough': 'error',
'no-floating-decimal': 'warn',
'no-global-assign': 'warn',
'no-implied-eval': 'error',
@@ -83,27 +61,22 @@
'no-multi-str': 'error',
'no-new-func': 'error',
'no-new-wrappers': 'error',
'no-octal': 'error',
'no-octal-escape': 'error',
'no-proto': 'error',
'no-redeclare': 'warn',
'no-restricted-globals': ['error', { 'name': 'Notification' }],
'no-return-assign': 'error',
'no-script-url': 'error',
'no-self-assign': 'error',
'no-self-compare': 'error',
'no-sequences': 'warn',
'no-throw-literal': 'warn',
'no-unmodified-loop-condition': 'error',
'no-unused-expressions': 'error',
'no-unused-labels': 'error',
'no-useless-call': 'warn',
'no-useless-escape': 'warn',
'no-with': 'error',
'wrap-iife': ['error', 'any'],
// === Variables ===
'no-delete-var': 'error',
'no-undef': 'error',
'no-undef-init': 'error',
'no-unused-vars': ['error', { 'caughtErrors': 'none' }],
@@ -136,8 +109,6 @@
'max-statements-per-line': ['warn', { max: 2 }],
'new-cap': ['warn', { 'properties': false }],
'new-parens': 'warn',
'newline-after-var': 'off',
'newline-before-return': 'off',
'newline-per-chained-call': 'off',
'no-array-constructor': 'off',
'no-bitwise': 'error',
@@ -145,7 +116,6 @@
'no-inline-comments': 'off',
'no-lonely-if': 'off',
'no-mixed-operators': 'off',
'no-mixed-spaces-and-tabs': 'error',
'no-multiple-empty-lines': 'warn',
'no-negated-condition': 'off',
'no-nested-ternary': 'warn',
@@ -167,7 +137,6 @@
'padded-blocks': 'off',
'quote-props': ['warn', 'as-needed', {'unnecessary': false, 'keywords': true, 'numbers': true}],
'quotes': 'off',
'require-jsdoc': 'warn',
'semi': 'error',
'semi-spacing': ['warn', {'before': false, 'after': true}],
'sort-vars': 'off',
@@ -180,21 +149,19 @@
'unicode-bom': 'error',
'wrap-regex': 'off',
// === Promises ===
// === Promises (override plugin:promise/recommended) ===
'promise/always-return': 'warn',
'promise/no-return-wrap': 'warn',
'promise/param-names': 'warn',
'promise/catch-or-return': ['warn', {terminationMethod: ['catch', 'fail']}],
'promise/catch-or-return': ['warn', {terminationMethod: ['catch', 'fail', 'always'], allowFinally: true}],
'promise/no-native': 'warn',
'promise/no-promise-in-callback': 'warn',
'promise/no-callback-in-promise': 'warn',
'promise/avoid-new': 'warn',
// === Deprecations ===
"no-restricted-properties": ['warn', {
'object': 'M',
'property': 'str',
'message': 'Use AMD module "core/str" or M.util.get_string()'
'message': 'Use "core/str" module or M.util.get_string()'
}],
},
overrides: [
@@ -234,7 +201,6 @@
parser: '@babel/eslint-parser',
// Check AMD with some slightly stricter rules.
rules: {
'no-unused-vars': 'error',
'no-implicit-globals': 'error',
// Disable all of the rules that have babel versions.
'new-cap': 'off',
@@ -246,65 +212,37 @@
'semi': 'off',
'no-unused-expressions': 'off',
// Enable all of the babel version of these rules.
'babel/new-cap': ['warn', { 'properties': false }],
'@babel/new-cap': ['warn', { 'properties': false }],
// Not using this rule for the time being because it isn't
// compatible with jQuery and ES6.
'babel/no-invalid-this': 'off',
'babel/object-curly-spacing': 'warn',
// This is off in the original style int.
'babel/quotes': 'off',
'babel/semi': 'error',
'babel/no-unused-expressions': 'error',
'@babel/no-invalid-this': 'off',
'@babel/object-curly-spacing': 'warn',
'@babel/semi': 'error',
'@babel/no-unused-expressions': 'error',
// === Promises ===
// We have Promise now that we're using ES6.
'promise/no-native': 'off',
'promise/avoid-new': 'off',
// === JSDocs ===
"jsdoc/check-access": [
'error',
],
"jsdoc/check-alignment": 1, // Recommended.
"jsdoc/check-param-names": [
'error',
],
"jsdoc/check-property-names": [
'error',
],
"jsdoc/empty-tags": [
'error',
],
"jsdoc/implements-on-classes": [
'error',
],
"jsdoc/multiline-blocks": [
'error',
],
"jsdoc/require-jsdoc": [
'error',
],
"jsdoc/require-param": [
'error',
],
"jsdoc/require-param-name": [
'error',
],
"jsdoc/require-param-type": [
'error',
],
"jsdoc/require-property": [
'error',
],
"jsdoc/require-property-name": [
'error',
],
"jsdoc/require-property-type": [
'error',
],
'jsdoc/check-access': 'error',
'jsdoc/check-alignment': 1, // Recommended.
'jsdoc/check-param-names': 'error',
'jsdoc/check-property-names': 'error',
'jsdoc/empty-tags': 'error',
'jsdoc/implements-on-classes': 'error',
'jsdoc/multiline-blocks': 'error',
'jsdoc/require-jsdoc': 'error',
'jsdoc/require-param': 'error',
'jsdoc/require-param-name': 'error',
'jsdoc/require-param-type': 'error',
'jsdoc/require-property': 'error',
'jsdoc/require-property-name': 'error',
'jsdoc/require-property-type': 'error'
},
parserOptions: {
'sourceType': 'module',
'requireConfigFile': false,
'requireConfigFile': false
}
}
]
+7
View File
@@ -0,0 +1,7 @@
*** PLEASE DO NOT OPEN PULL REQUESTS VIA GITHUB ***
The moodle.git repository at Github is just a mirror of the official repository. We do not accept pull requests at Github.
See CONTRIBUTING.md guidelines for how to contribute patches for Moodle. Thank you.
--
+6
View File
@@ -0,0 +1,6 @@
> [!IMPORTANT]
> PLEASE DO NOT PUBLISH SECURITY FINDINGS PUBLICLY.
If you discover a potential security issue, please report it via our [Security Submission Form](https://moodle.org/security/report).
For more information about our security processes and responsible disclosure policy, see the [Security Procedures documentation](https://moodledev.io/general/development/process/security).
+1
View File
@@ -0,0 +1 @@
<svg id="Layer_1" data-name="Layer 1" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1231.24 314.44" preserveAspectRatio="xMinYMid meet"><defs><style>.cls-1{fill:#f48020;}.cls-2,.cls-3{fill:#383738;stroke:#4a4a4c;}.cls-2{stroke-width:2.37px;}.cls-3{stroke-width:2.38px;}.cls-4{fill:#585858;}</style></defs><title>Moodle_Logo_UseonBlack_RGB</title><path class="cls-1" d="M1086.3,235.34a53.42,53.42,0,0,0,16.71,29q13.26,12.27,29.48,12.27,11.29,0,24.56-5.89,16.23-6.88,16.22-16.22l58-.49q-12.29,29-41.76,45.2-27.52,15.23-60.43,15.24-42.25,0-70-26.29t-27.75-68.54q0-43.73,27.75-69.51t72-25.8q48.15,0,75.17,31.94,25.07,29.47,25.06,79.1Zm89.91-33.91q-3.43-17.69-14.73-29-12.8-12.28-29.49-12.29-17.21,0-28.74,11.79t-15.47,29.48Z"/><path class="cls-1" d="M965.45,308.54V0h55V308.54Z"/><path class="cls-1" d="M892.69,308.54V290.36q-7.38,9.83-25.06,15.72a92.31,92.31,0,0,1-30,5.41q-39.31,0-63.13-27T750.7,217.65q0-39.3,23.34-65.84t62.15-26.53q43.71,0,56.5,23.58V0h53.55V308.54Zm0-102.68q0-14.75-14-28.26t-28.74-13.51q-21.12,0-33.41,17.2-10.8,15.24-10.8,37.33,0,21.63,10.8,36.85,12.29,17.71,33.41,17.69,12.78,0,27.76-12t15-24.81Z"/><path class="cls-1" d="M647,313.45q-41.77,0-69-26.53t-27.27-68.3q0-41.73,27.27-68.28t69-26.53q41.75,0,69.27,26.53t27.52,68.28q0,41.79-27.52,68.3T647,313.45ZM647,168q-19.89,0-30.58,15.07t-10.68,35.79q0,20.73,9.94,35.05,11.43,16.31,31.32,16.28t31.32-16.28q10.44-14.31,10.44-35.05t-9.94-35Q667.42,168,647,168Z"/><path class="cls-1" d="M448.07,313.45q-41.76,0-69-26.53t-27.27-68.3q0-41.73,27.27-68.28t69-26.53q41.74,0,69.28,26.53t27.5,68.28q0,41.79-27.5,68.3T448.07,313.45Zm0-145.43q-19.89,0-30.59,15.07t-10.69,35.79q0,20.73,9.94,35.05,11.43,16.31,31.34,16.28t31.32-16.28q10.42-14.31,10.44-35.05t-9.94-35Q468.45,168,448.07,168Z"/><path class="cls-1" d="M288.89,309.11V201q0-33.9-28-33.9t-28,33.9V309.11h-55V201q0-33.9-27.52-33.9-28,0-28,33.9V309.11h-55V194.65q0-35.37,24.56-53.54,21.61-16.22,58.46-16.22,37.35,0,55,19.16,15.23-19.16,55.51-19.16,36.86,0,58.45,16.22,24.57,18.16,24.57,53.54V309.11Z"/><path class="cls-2" d="M.76,145.76"/><path class="cls-3" d="M1.73,145.32"/><path class="cls-4" d="M173.86,116.85l55.08-40.1-.7-2.44C135,83.92,80.42,96.44,0,144.13l.73,2.38,21-.67c15.17.52,30.85,1.26,46,1.32-1,24.09.83,32.65.83,32.65,51.92,17.58,101.22,1.53,127.14-43.9A248.72,248.72,0,0,0,173.86,116.85Z"/><path class="cls-4" d="M113.78,110c-.3-1.08-2.23-1.48-4.28-.9a4.73,4.73,0,0,0-3.14,2.19c-18.53,5-49.16,13.72-70.73,21l-1.33.45c-16.68,5.61-24.73,8.49-25.22,12.55-2.29,18.44-.87,42.18-.86,42.48l.19,6.4c-9.74,27.56.06,49.6,8.38,69.77.06-24.92,1.07-45.22-6-71-.2-3.82-1.49-30.36.61-47.34.34-2.75,11.65-6.56,23.63-10.59l1.33-.44c22-7.42,53.57-16.39,71.9-21.29a6.75,6.75,0,0,0,2.29-.25C112.64,112.43,114.08,111.09,113.78,110Z"/></svg>

After

Width:  |  Height:  |  Size: 2.7 KiB

+31
View File
@@ -0,0 +1,31 @@
name: 'Close Pull Requests'
on:
pull_request_target:
types: opened
workflow_dispatch:
jobs:
close:
# Avoid forks to run this job
if: github.repository_owner == 'moodle'
name: Close Pull Requests
runs-on: ubuntu-latest
steps:
- uses: dessant/repo-lockdown@v4
with:
process-only: prs
close-pr: true
skip-closed-pr-comment: true
pr-comment: >
**Please, don't open pull requests via GitHub.**
This repository (moodle.git) at GitHub is just a mirror of the official Moodle repository.
For how to contribute patches for Moodle see
[CONTRIBUTING.md](https://github.com/moodle/moodle/blob/main/CONTRIBUTING.md).
Closing this pull request.
+143
View File
@@ -0,0 +1,143 @@
name: One by One Testing
# Run all the individual unit tests one by one, with
# fully independent PHPUnit executions. Useful to
# detect issues with some tests that are using stuff
# that has been made available by others, but is not
# available when running individually.
#
# Note that we aren't using PHPUnit's own isolation
# here but completely separated runs, one for each
# test.
#
# The workflow will fail reporting all the tests
# that have failed (and will pass if no failure is
# detected, of course).
#
# It's only executed via workflow dispatch (automated
# or manual), not by push/tag. And acceptd configuration
# of phpunit, specially useful to run it with PHPUnit's
# own isolation or any other option.
on:
workflow_dispatch:
inputs:
phpunit_extra_options:
description: Additional options to apply to PHPUnit
required: false
default: ''
env:
chunks: 7
jobs:
collect:
name: Collect individual unit tests
runs-on: ubuntu-latest
outputs:
matrix: ${{steps.individual-tests.outputs.matrix }}
steps:
- name: Checking out code
uses: actions/checkout@v4
- name: Looking for all individual tests
id: individual-tests
run: |
count=0 # Number of individual tests found.
while read -r testfile; do # For each test file.
while read -r testname; do # For each unit test in a file.
count=$((count + 1))
# Sent it to the correct chunk file.
chunk=$(((($count % $chunks)) + 1))
echo "$testname $testfile" >> ./chunk_$chunk.txt
done < <(grep "function test_" "${testfile}" | sed -r "s/^.*function (test_[a-zA-Z0-9_]+).*/\1/")
done < <(find . -name "*_test.php")
# Generate the matrix to run tests.
echo "matrix=$(ls -1 chunk_*.txt | jq -R -s -c 'split("\n")[:-1]')" >> $GITHUB_OUTPUT
echo "$count individual tests collected in $chunks files"
- name: Upload individual tests files
uses: actions/upload-artifact@v4
with:
name: individual_tests
path: chunk_*.txt
retention-days: 1
test:
name: Run tests
needs: collect
runs-on: ubuntu-latest
services:
exttests:
image: moodlehq/moodle-exttests
ports:
- 8080:80
redis:
image: redis
ports:
- 6379:6379
strategy:
fail-fast: false
matrix:
file: ${{ fromJson(needs.collect.outputs.matrix) }}
steps:
- name: Setting up DB pgsql
uses: m4nu56/postgresql-action@v1
with:
postgresql version: 13
postgresql db: test
postgresql user: test
postgresql password: test
- name: Setting up PHP
uses: shivammathur/setup-php@v2
with:
php-version: 8.3
ini-values: max_input_vars=5000
coverage: none
- name: Checking out code
uses: actions/checkout@v4
- name: Download individual test files
uses: actions/download-artifact@v4
with:
name: individual_tests # Make all the chunk files available for the next steps.
- name: Setting up PHPUnit
env:
dbtype: pgsql
run: |
echo "pathtophp=$(which php)" >> $GITHUB_ENV
cp .github/workflows/config-template.php config.php
mkdir ../moodledata
sudo locale-gen en_AU.UTF-8
php admin/tool/phpunit/cli/init.php --no-composer-self-update
- name: Run PHPUnit test (one by one)
env:
dbtype: pgsql
run: |
status=0
count=0
while read -r line; do # For each line in the chunk file
count=$((count + 1))
filter="${line% *}"
file="${line#* }"
# Run the individual unit test and report problems if needed to.
if ! php vendor/bin/phpunit \
--fail-on-empty-test-suite \
--fail-on-warning \
--fail-on-risky \
--filter "$filter" ${{ inputs.phpunit_extra_options }} \
"$file" >/dev/null 2>&1; then
if [ $status -eq 0 ]; then
echo "Problems found, list of PHPUnit commands failing:"
fi
echo "vendor/bin/phpunit --filter '${filter}' ${{ inputs.phpunit_extra_options }} $file"
status=$((status + 1))
fi
done < ${{ matrix.file }}
echo "Finished: $count individual tests executed, $status tests failed"
exit $status
+24 -12
View File
@@ -3,13 +3,19 @@ name: Core
on:
push:
branches-ignore:
- master
- main
- MOODLE_[0-9]+_STABLE
tags-ignore:
- v[0-9]+.[0-9]+.[0-9]+*
workflow_dispatch:
inputs:
phpunit_extra_options:
description: Additional options to apply to PHPUnit
required: false
default: ''
env:
php: 8.0
php: 8.3
jobs:
Grunt:
@@ -17,10 +23,10 @@ jobs:
steps:
- name: Checking out code
uses: actions/checkout@v3
uses: actions/checkout@v4
- name: Configuring node & npm
uses: actions/setup-node@v3
uses: actions/setup-node@v4
with:
node-version-file: '.nvmrc'
@@ -54,32 +60,35 @@ jobs:
fail-fast: false
matrix:
include:
# MySQL builds always run with the lowest PHP supported version.
- os: ubuntu-22.04
php: 7.4
php: 8.1
extensions:
db: mysqli
# PostgreSQL builds always run with the highest PHP supported version.
- os: ubuntu-22.04
php: 8.0
php: 8.3
db: pgsql
extensions: xmlrpc-beta
steps:
- name: Setting up DB mysql
if: ${{ matrix.db == 'mysqli' }}
uses: johanmeiring/mysql-action@tmpfs-patch
uses: moodlehq/mysql-action@v1
with:
collation server: utf8mb4_bin
mysql version: 5.7
mysql version: 8.0
mysql database: test
mysql user: test
mysql password: test
use tmpfs: true
tmpfs size: '1024M'
extra conf: --skip-log-bin
- name: Setting up DB pgsql
if: ${{ matrix.db == 'pgsql' }}
uses: m4nu56/postgresql-action@v1
with:
postgresql version: 12
postgresql version: 13
postgresql db: test
postgresql user: test
postgresql password: test
@@ -96,7 +105,7 @@ jobs:
coverage: none
- name: Checking out code from ${{ env.GITHUB_REF_SLUG }}
uses: actions/checkout@v3
uses: actions/checkout@v4
- name: Setting up PHPUnit
env:
@@ -112,4 +121,7 @@ jobs:
env:
dbtype: ${{ matrix.db }}
phpunit_options: ${{ secrets.phpunit_options }}
run: vendor/bin/phpunit $phpunit_options
run: vendor/bin/phpunit $phpunit_options ${{ inputs.phpunit_extra_options }}
- name: Git status
run: git status
+23
View File
@@ -0,0 +1,23 @@
name: Web Installer Testing
on:
workflow_dispatch:
jobs:
InstallationTest:
runs-on: ${{ matrix.os }}
strategy:
fail-fast: false
matrix:
os: [ubuntu-latest]
php: [8.1, 8.3]
steps:
- name: Construct repository URL
run: echo "REPOSITORY_URL=${GITHUB_SERVER_URL}/${GITHUB_REPOSITORY}" >> $GITHUB_ENV
shell: bash
- uses: moodlehq/moodle-webinstaller-test@main
with:
repository: ${{ env.REPOSITORY_URL }}
branch: ${{ github.ref_name }}
php: ${{ matrix.php }}
+149
View File
@@ -0,0 +1,149 @@
name: Windows Testing
on:
workflow_dispatch:
inputs:
phpunit_extra_options:
description: Additional options to apply to PHPUnit
required: false
default: ''
env:
php: 8.3
jobs:
Grunt:
runs-on: windows-latest
steps:
- name: Set git to use LF
run: |
git config --global core.autocrlf false
git config --global core.eol lf
- name: Checking out code
uses: actions/checkout@v4
- name: Configuring node & npm
uses: actions/setup-node@v4
with:
node-version-file: '.nvmrc'
- name: Installing node stuff
run: npm ci
- name: Running grunt
run: npx grunt
- name: Looking for uncommitted changes
# Add all files to the git index and then run diff --cached to see all changes.
# This ensures that we get the status of all files, including new files.
# We ignore npm-shrinkwrap.json to make the tasks immune to npm changes.
run: |
git add .
git reset -- npm-shrinkwrap.json
git diff --cached --exit-code
PHPUnit:
runs-on: ${{ matrix.os }}
strategy:
fail-fast: false
matrix:
include:
- os: windows-latest
php: 8.3
# Ideally we should use mysql/mariadb, but they are 4x slower without tweaks and configuration
# so let's run only postgres (1.5h vs 6h) only, If some day we want to improve the mysql runs,
# this is the place to enable them.
# db: mysqli
db: pgsql
extensions: exif, fileinfo, gd, intl, pgsql, mysql, redis, soap, sodium, zip
- os: windows-latest
php: 8.1
db: pgsql
extensions: exif, fileinfo, gd, intl, pgsql, mysql, redis, soap, sodium
steps:
- name: Setting up DB mysql
if: ${{ matrix.db == 'mysqli' }}
uses: shogo82148/actions-setup-mysql@v1
with:
mysql-version: 8.0
user: test
password: test
- name: Creating DB mysql
if: ${{ matrix.db == 'mysqli' }}
run: mysql --host 127.0.0.1 -utest -ptest -e 'CREATE DATABASE IF NOT EXISTS test COLLATE = utf8mb4_bin;';
- name: Setting up DB pgsql
if: ${{ matrix.db == 'pgsql' }}
run: |
# TODO: Remove these conf. modifications when php74 or php80 are lowest.
# Change to old md5 auth, because php73 does not support it.
# #password_encryption = scram-sha-256
(Get-Content "$env:PGDATA\postgresql.conf"). `
replace('#password_encryption = scram-sha-256', 'password_encryption = md5') | `
Set-Content "$env:PGDATA\postgresql.conf"
(Get-Content "$env:PGDATA\pg_hba.conf"). `
replace('scram-sha-256', 'md5') | `
Set-Content "$env:PGDATA\pg_hba.conf"
$pgService = Get-Service -Name postgresql*
Set-Service -InputObject $pgService -Status running -StartupType automatic
Start-Process -FilePath "$env:PGBIN\pg_isready" -Wait -PassThru
& $env:PGBIN\psql --command="CREATE USER test PASSWORD 'test'" --command="\du"
- name: Creating DB pgsql
if: ${{ matrix.db == 'pgsql' }}
run: |
& $env:PGBIN\createdb --owner=test test
$env:PGPASSWORD = 'test'
& $env:PGBIN\psql --username=test --host=localhost --list test
- name: Configuring git vars
uses: rlespinasse/github-slug-action@v4
- name: Setting up PHP ${{ matrix.php }}
uses: shivammathur/setup-php@v2
with:
php-version: ${{ matrix.php }}
extensions: ${{ matrix.extensions }}
ini-values: max_input_vars=5000
coverage: none
- name: Set git to use LF
run: |
git config --global core.autocrlf false
git config --global core.eol lf
- name: Checking out code from ${{ env.GITHUB_REF_SLUG }}
uses: actions/checkout@v4
# Needs to be done after php is available, git configured and Moodle checkout has happened.
- name: Setting up moodle-exttests service
run: |
git clone https://github.com/moodlehq/moodle-exttests.git
nssm install php-built-in C:\tools\php\php.exe -S localhost:8080 -t D:\a\moodle\moodle\moodle-exttests
nssm start php-built-in
- name: Setting up redis service
run: |
choco install redis-64 --version 3.0.503 --no-progress
nssm install redis redis-server
nssm start redis
- name: Setting up PHPUnit
env:
dbtype: ${{ matrix.db }}
shell: bash
run: |
echo "pathtophp=$(which php)" >> $GITHUB_ENV # Inject installed pathtophp to env. The template config needs it.
cp .github/workflows/config-template.php config.php
mkdir ../moodledata
php admin/tool/phpunit/cli/init.php --no-composer-self-update
- name: Running PHPUnit tests
env:
dbtype: ${{ matrix.db }}
phpunit_options: ${{ secrets.phpunit_options }}
run: vendor/bin/phpunit $phpunit_options ${{ inputs.phpunit_extra_options }}
+5 -2
View File
@@ -20,13 +20,15 @@
*~
#
/config.php
/lib/editor/tinymce/extra/tools/temp/
/tags
/TAGS
/cscope.*
/.patches/
/.idea/
.phpstorm.*
!/.phpstorm.meta.php/
/.phpstorm.meta.php/*
!/.phpstorm.meta.php/di.php
/nbproject/
CVS
.DS_Store
@@ -54,5 +56,6 @@ moodle-plugin-ci.phar
/admin/tool/componentlibrary/docs
/admin/tool/componentlibrary/hugo/site/data/my-index.json
.hugo_build.lock
.phpcs.xml
phpcs.xml
jsconfig.json
UPGRADING-CURRENT.md
+178 -3
View File
@@ -40,9 +40,20 @@ const fetchComponentData = () => {
if (!Object.entries(componentData).length) {
componentData.subsystems = {};
componentData.pathList = [];
componentData.components = {};
componentData.standardComponents = {};
// Fetch the component definiitions from the distributed JSON file.
const components = JSON.parse(fs.readFileSync(`${gruntFilePath}/lib/components.json`));
const pluginData = JSON.parse(fs.readFileSync(`${gruntFilePath}/lib/plugins.json`));
componentData.pluginTypes = components.plugintypes;
const standardPlugins = Object.entries(pluginData.standard).map(
([pluginType, pluginNames]) => {
return pluginNames.map(pluginName => `${pluginType}_${pluginName}`);
}
).reduce((acc, val) => acc.concat(val), []);
// Build the list of moodle subsystems.
componentData.subsystems.lib = 'core';
@@ -55,8 +66,8 @@ const fetchComponentData = () => {
}
}
// The list of components incldues the list of subsystems.
componentData.components = componentData.subsystems;
// The list of components includes the list of subsystems.
componentData.components = {...componentData.subsystems};
// Go through each of the plugintypes.
Object.entries(components.plugintypes).forEach(([pluginType, pluginTypePath]) => {
@@ -87,6 +98,20 @@ const fetchComponentData = () => {
});
});
// Create a list of the standard subsystem and plugins.
componentData.standardComponents = Object.fromEntries(
Object.entries(componentData.components).filter(([, name]) => {
if (name === 'core' || name.startsWith('core_')) {
return true;
}
return standardPlugins.indexOf(name) !== -1;
})
);
componentData.componentMapping = Object.fromEntries(
Object.entries(componentData.components).map(([path, name]) => [name, path])
);
}
return componentData;
@@ -156,7 +181,7 @@ const getThirdPartyLibsList = relativeTo => {
* @returns {array}
*/
const getThirdPartyPaths = () => {
const DOMParser = require('xmldom').DOMParser;
const DOMParser = require('@xmldom/xmldom').DOMParser;
const fs = require('fs');
const path = require('path');
const xpath = require('xpath');
@@ -232,6 +257,155 @@ const getOwningComponentDirectory = checkPath => {
return null;
};
/**
* Get the latest tag in a remote GitHub repository.
*
* @param {string} url The remote repository.
* @returns {Array}
*/
const getRepositoryTags = async(url) => {
const gtr = require('git-tags-remote');
try {
const tags = await gtr.get(url);
if (tags !== undefined) {
return tags;
}
} catch (error) {
return [];
}
return [];
};
/**
* Get the list of thirdparty libraries that could be upgraded.
*
* @returns {Array}
*/
const getThirdPartyLibsUpgradable = async() => {
const libraries = getThirdPartyLibsData().filter((library) => !!library.repository);
const upgradableLibraries = [];
const versionCompare = (a, b) => {
if (a === b) {
return 0;
}
const aParts = a.split('.');
const bParts = b.split('.');
for (let i = 0; i < Math.min(aParts.length, bParts.length); i++) {
const aPart = parseInt(aParts[i], 10);
const bPart = parseInt(bParts[i], 10);
if (aPart > bPart) {
// 1.1.0 > 1.0.9
return 1;
} else if (aPart < bPart) {
// 1.0.9 < 1.1.0
return -1;
} else {
// Same version.
continue;
}
}
if (aParts.length > bParts.length) {
// 1.0.1 > 1.0
return 1;
}
// 1.0 < 1.0.1
return -1;
};
for (let library of libraries) {
upgradableLibraries.push(
getRepositoryTags(library.repository).then((tagMap) => {
library.version = library.version.replace(/^v/, '');
const currentVersion = library.version.replace(/moodle-/, '');
const currentMajorVersion = library.version.split('.')[0];
const tags = [...tagMap]
.map((tagData) => tagData[0])
.filter((tag) => !tag.match(/(alpha|beta|rc)/))
.map((tag) => tag.replace(/^v/, ''))
.sort((a, b) => versionCompare(b, a));
if (!tags.length) {
library.warning = "Unable to find any comparable tags.";
return library;
}
library.latestVersion = tags[0];
tags.some((tag) => {
if (!tag) {
return false;
}
// See if the version part matches.
const majorVersion = tag.split('.')[0];
if (majorVersion === currentMajorVersion) {
library.latestSameMajorVersion = tag;
return true;
}
return false;
});
if (versionCompare(currentVersion, library.latestVersion) > 0) {
// Moodle somehow has a newer version than the latest version.
library.warning = `Newer version found: ${currentVersion} > ${library.latestVersion} for ${library.name}`;
return library;
}
if (library.version !== library.latestVersion) {
// Delete version and add it again at the end of the array. That way, current and new will stay closer.
delete library.version;
library.version = currentVersion;
return library;
}
return null;
})
);
}
return (await Promise.all(upgradableLibraries)).filter((library) => !!library);
};
/**
* Get the list of thirdparty libraries.
*
* @returns {Array}
*/
const getThirdPartyLibsData = () => {
const DOMParser = require('@xmldom/xmldom').DOMParser;
const fs = require('fs');
const xpath = require('xpath');
const path = require('path');
const libraryList = [];
const libraryFields = [
'location',
'name',
'version',
'repository',
];
const thirdpartyfiles = getThirdPartyLibsList(fs.realpathSync('./'));
thirdpartyfiles.forEach(function(libraryPath) {
const xmlContent = fs.readFileSync(libraryPath, 'utf8');
const doc = new DOMParser().parseFromString(xmlContent);
const libraries = xpath.select("/libraries/library", doc);
for (const library of libraries) {
const libraryData = [];
for (const field of libraryFields) {
libraryData[field] = xpath.select(`${field}/text()`, library)?.toString();
}
libraryData.location = path.join(path.dirname(libraryPath), libraryData.location);
libraryList.push(libraryData);
}
});
return libraryList.sort((a, b) => a.location.localeCompare(b.location));
};
module.exports = {
fetchComponentData,
getAmdSrcGlobList,
@@ -241,4 +415,5 @@ module.exports = {
getYuiSrcGlobList,
getThirdPartyLibsList,
getThirdPartyPaths,
getThirdPartyLibsUpgradable,
};
+1 -1
View File
@@ -16,4 +16,4 @@ Moodle - the world's open source learning platform
This generated documentation includes API documentation for JavaScript written in the AMD and ES2015 module formats within Moodle.
## Related information
See [https://docs.moodle.org/dev](https://docs.moodle.org/dev) for other related Developer Documentation.
See [https://moodledev.io](https://moodledev.io) for other related Developer Documentation.
+1 -1
View File
@@ -114,7 +114,7 @@ module.exports = {
],
"menu": {
"Developer Docs": {
href: "https://docs.moodle.org/dev",
href: "https://moodledev.io",
target: "_blank",
"class": "menu-item",
id: "devdocs"
+138
View File
@@ -0,0 +1,138 @@
// This file is part of Moodle - http://moodle.org/
//
// Moodle is free software: you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
// the Free Software Foundation, either version 3 of the License, or
// (at your option) any later version.
//
// Moodle is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License for more details.
//
// You should have received a copy of the GNU General Public License
// along with Moodle. If not, see <http://www.gnu.org/licenses/>.
import * as Components from '../../components.js';
const componentData = Components.fetchComponentData();
/**
* The standard components shipped with core Moodle.
*
* @type {Object}
*/
export const standardComponents = componentData.standardComponents;
/**
* All components of the current Moodle instance.
*
* @type {Object}
*/
export const allComponents = componentData.components;
/**
* Get all components of the current Moodle instance.
*
* @returns {Array}
*/
export const getAllComponents = () => {
let components = new Map(Object.entries(componentData.pluginTypes).map(([value, path]) => ([path,{
path,
value,
name: `${value} (plugin type)`,
}])));
Object
.entries(componentData.components)
.filter(([path, value]) => Object.values(componentData.standardComponents).includes(value))
.forEach(([path, value]) => {
const entry = {
path,
value,
name: value,
};
if (Object.values(componentData.subsystems).includes(value)) {
if (components.has(path)) {
entry.name = `${value} (subsystem / plugintype)`;
} else {
entry.name = `${value} (subsystem)`;
}
}
components.set(path, entry);
});
return Array.from(components.values());
};
/**
* Whether the specified component is a standard component shipped with core Moodle.
*
* @param {string} componentName
* @returns {boolean}
*/
export const isStandardComponent = (componentName) => {
if (Object.values(componentData.standardComponents).includes(componentName)) {
return true;
}
if (Object.keys(componentData.pluginTypes).includes(componentName)) {
return true;
}
return false;
};
export const rewritePlugintypeAsSubsystem = (componentName) => {
if (Object.keys(componentData.pluginTypes).includes(componentName)) {
const pluginTypePath = componentData.pluginTypes[componentName];
if (Object.keys(componentData.subsystems).includes(pluginTypePath)) {
return true;
}
}
return false;
};
/**
* Whether the specified component is a community component.
*
* @param {string} componentName
* @returns {boolean}
*/
export const isCommunityComponent = (componentName) => {
if (isStandardComponent(componentName)) {
return false;
}
return Object.values(componentData.components).indexOf(componentName) !== -1;
};
/**
* Sort method for components.
*
* This method sorts components putting `core` first, followed by core subsystems, then everything else.
*
* @param {String} a
* @param {String} b
* @returns {Number}
*/
export const sortComponents = (a, b) => {
// Always put 'core' first.
if (a === 'core') {
return -1;
} else if (b === 'core') {
return 1;
}
// Put core subsystems next.
if (a.startsWith('core_') && !b.startsWith('core_')) {
return -1;
} else if (b.startsWith('core_') && !a.startsWith('core_')) {
return 1;
}
// Sort alphabetically for everything else.
return a.localeCompare(b);
};
+85
View File
@@ -0,0 +1,85 @@
#!/usr/bin/env node
// This file is part of Moodle - http://moodle.org/
//
// Moodle is free software: you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
// the Free Software Foundation, either version 3 of the License, or
// (at your option) any later version.
//
// Moodle is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License for more details.
//
// You should have received a copy of the GNU General Public License
// along with Moodle. If not, see <http://www.gnu.org/licenses/>.
import inquirer from 'inquirer';
import chalk from 'chalk';
import { createNote } from './note.mjs';
import { getInitialValues } from './helpers.mjs';
import * as Prompts from './prompts.mjs';
import logger from './logger.mjs';
export default async (options) => {
// Processs the initial values.
const initialValues = getInitialValues(options);
// Fetch information.
const messages = [];
const { issueNumber } = await inquirer.prompt([
Prompts.getIssuePrompt(),
], initialValues);
let selection = {};
let notePath;
do {
selection = {};
selection = await inquirer.prompt([
Prompts.getComponentsPrompt(),
Prompts.getTypePrompt(),
Prompts.getMessagePromptInput(),
], initialValues);
if (selection.message === '') {
selection = Object.assign(
selection,
await inquirer.prompt([
Prompts.getMessagePromptEditor(),
]),
);
}
logger.info(`
Creating upgrade note with the following options:
- Issue: ${chalk.bold(issueNumber)}
- Component: ${chalk.bold(selection.components)}
- Type: ${chalk.bold(selection.type)}
- Message:
${chalk.bold(selection.message)}
`);
messages.push({
components: [selection.components],
type: selection.type,
message: selection.message,
});
// Save the note so far.
if (notePath) {
await createNote(issueNumber, messages, notePath);
logger.info(`Updated note at: ${chalk.underline(chalk.bold(notePath))}`);
} else {
notePath = await createNote(issueNumber, messages);
logger.info(`Note created at: ${chalk.underline(chalk.bold(notePath))}`);
}
selection = Object.assign(
selection,
await inquirer.prompt([
Prompts.getAddAnotherPrompt(),
], initialValues),
);
} while (selection.addAnother);
};
+357
View File
@@ -0,0 +1,357 @@
#!/usr/bin/env node
// This file is part of Moodle - http://moodle.org/
//
// Moodle is free software: you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
// the Free Software Foundation, either version 3 of the License, or
// (at your option) any later version.
//
// Moodle is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License for more details.
//
// You should have received a copy of the GNU General Public License
// along with Moodle. If not, see <http://www.gnu.org/licenses/>.
import chalk from 'chalk';
import { getAllComponents } from './components.mjs';
import { getCombinedNotesByComponent, deleteAllNotes } from './note.mjs';
import { getNoteName } from './noteTypes.mjs';
import { writeFile, readFile, unlink } from 'fs/promises';
import { join as joinPath } from 'path';
import logger from './logger.mjs';
import { getCurrentVersion } from './helpers.mjs';
/**
* Helper to fetch the current notes from a file.
*
* @param {string} file
* @returns {Promise<string>}
*/
const getCurrentNotes = async (file) => {
try {
return await readFile(file, 'utf8');
} catch (error) {
return null;
}
}
/**
* Update the UPGRADING.md file.
*
* @param {string} upgradeNotes
* @param {Object} options
* @param {boolean} options.deleteNotes
* @returns {Promise<void>}
*/
const updateUpgradeNotes = async (upgradeNotes, options) => {
const fileName = 'UPGRADING.md';
// Write the notes to a file.
logger.info(`Writing notes to ${chalk.underline(chalk.bold(fileName))}`);
// Prepend to the existing file.
const existingContent = await getCurrentNotes(fileName);
if (existingContent) {
await writeFile(fileName, getUpdatedNotes(existingContent, upgradeNotes));
} else {
// This should not normally happen.
await writeFile(fileName, upgradeNotes);
}
if (options.deleteNotes) {
logger.warn(`>>> Deleting all notes <<<`)
// Delete the notes.
deleteAllNotes();
}
};
/**
* Create the current summary notes.
*
* @param {string} upgradeNotes
* @returns {Promise<void>}
*/
const createCurrentSummary = async (upgradeNotes) => {
const fileName = 'UPGRADING-CURRENT.md';
const notes = `# Moodle upgrade notes\n\n${upgradeNotes}`;
await writeFile(fileName, notes);
logger.info(`Running upgrade notes written to ${chalk.underline(chalk.bold(fileName))}`);
};
/**
* Get the indexes of the lines that contain the version headings.
*
* @param {array<string>} lines
* @returns {array<object>}
*/
const getVersionLineIndexes = (lines) => {
const h2Indexes = [];
lines.forEach((line, index) => {
const matches = line.match(/^##\s(?<version>.*)$/);
if (matches) {
h2Indexes.push({
index,
line,
version: matches.groups.version,
});
}
});
return h2Indexes;
};
/**
* Find the index of the Unreleased heading.
*
* @param {array<object>} versionHeadings
* @returns {number}
*/
const findUnreleasedHeadingIndex = (versionHeadings) => versionHeadings.findIndex((heading) => {
if (heading.version === 'Unreleased') {
// Used if version cannot be guessed.
return true;
}
if (heading.version.endsWith('+')) {
// Weekly release for a stable branch.
return true;
}
if (heading.version.match(/beta|rc\d/)) {
// Beta and RC rolls are treated as weeklies.
return true;
}
if (heading.version.endsWith('dev')) {
// Development version.
return true;
}
return false;
});
/**
* Get the before and after content, to facilitate replacing any existing Unreleased notes.
*
* @param {array<string>} lines
* @returns {Object} {beforeContent: string, afterContent: string}
*/
const getBeforeAndAfterContent = (lines) => {
const existingLines = lines.split('\n');
const versionHeadings = getVersionLineIndexes(existingLines);
if (versionHeadings.length > 0) {
const unreleasedHeadingIndex = findUnreleasedHeadingIndex(versionHeadings);
if (unreleasedHeadingIndex !== -1) {
const beforeContent = existingLines.slice(0, versionHeadings[unreleasedHeadingIndex].index).join('\n');
if (versionHeadings.length > unreleasedHeadingIndex + 1) {
const afterContent = existingLines.slice(versionHeadings[unreleasedHeadingIndex + 1].index).join('\n');
return {
beforeContent,
afterContent,
};
}
return {
beforeContent,
afterContent: '',
};
}
return {
beforeContent: existingLines.slice(0, versionHeadings[0].index).join('\n'),
afterContent: existingLines.slice(versionHeadings[0].index).join('\n'),
};
}
return {
beforeContent: existingLines.join('\n'),
afterContent: '',
}
};
/**
* Get the notes for the component.
*
* @param {string} types
* @param {Number} headingLevel
* @returns {string}
*/
const getNotesForComponent = (types, headingLevel) => {
let upgradeNotes = '';
Object.entries(types).forEach(([type, notes]) => {
upgradeNotes += '#'.repeat(headingLevel);
upgradeNotes += ` ${getNoteName(type)}\n\n`;
notes.forEach(({ message, issueNumber }) => {
// Split the message into lines, removing empty lines.
const messageLines = message
.split('\n')
// Remove empty lines between tables, and list entries, but not after lists.
.filter((line, index, lines) => {
if (line.trim().length === 0) {
// This line is empty.
// If it's the first line in the file, remove it.
if (index === 0) {
return false;
}
// This is the last line in the file, remove it.
if (index === lines.length - 1) {
return false;
}
// If the previous line relates to a table, remove this line.
if (lines[index - 1].match(/^\s*\|/)) {
return false;
}
// If the next line is also empty, do not remove this line.
if (lines[index + 1].trim().length === 0) {
return true;
}
// Do not remove the line if the previous line was a list item.
if (lines[index - 1].match(/^\s*[-*]\s/)) {
return true;
}
if (lines[index - 1].match(/^\s*\d+\.\s/)) {
return true;
}
// Preserve all other empty lines by default.
return true;
}
// Keep any line which has content.
return true;
});
const firstLine = messageLines.shift().trim();
upgradeNotes += `- ${firstLine}\n`;
messageLines
.forEach((line) => {
upgradeNotes += ` ${line}`.trimEnd() + `\n`;
});
upgradeNotes += `\n For more information see [${issueNumber}](https://tracker.moodle.org/browse/${issueNumber})\n`;
});
upgradeNotes += '\n';
});
return upgradeNotes;
};
/**
* Get the updated notes mixed with existing content.
*
* @param {string} existingContent
* @param {string} upgradeNotes
*/
const getUpdatedNotes = (existingContent, upgradeNotes) => {
const { beforeContent, afterContent } = getBeforeAndAfterContent(existingContent);
const newContent = `${beforeContent}\n${upgradeNotes}\n${afterContent}`
.split('\n')
.filter((line, index, lines) => {
if (line === '' && lines[index - 1] === '') {
// Remove multiple consecutive empty lines.
return false;
}
return true;
})
.join('\n');
return newContent;
};
/**
* Update the notes for each component.
*/
const updateComponentNotes = (
notes,
version,
notesFileName = 'UPGRADING.md',
removeEmpty = false,
) => {
return getAllComponents().map(async (component) => {
logger.verbose(`Updating notes for ${component.name} into ${component.path}`);
const fileName = joinPath(component.path, notesFileName);
const existingContent = await getCurrentNotes(fileName);
if (!existingContent) {
if (!notes[component.value]) {
// No existing notes, and no new notes to add.
return;
}
} else {
if (!notes[component.value]) {
// There is existing content, but nothing to add.
if (removeEmpty) {
logger.verbose(`Removing empty notes file ${fileName}`);
await unlink(fileName);
}
return;
}
}
const componentNotes = notes[component.value];
let upgradeNotes = `## ${version}\n\n`;
upgradeNotes += getNotesForComponent(componentNotes, 3);
if (existingContent) {
await writeFile(fileName, getUpdatedNotes(existingContent, upgradeNotes));
} else {
await writeFile(
fileName,
`# ${component.name} Upgrade notes\n\n${upgradeNotes}`,
);
}
});
}
/**
* Generate the upgrade notes for a new release.
*
* @param {string|undefined} version
* @param {Object} options
* @param {boolean} options.generateUpgradeNotes
* @param {boolean} options.deleteNotes
* @returns {Promise<void>}
*/
export default async (version, options = {}) => {
const notes = await getCombinedNotesByComponent();
if (Object.keys(notes).length === 0) {
logger.warn('No notes to generate');
return;
}
if (!version) {
version = await getCurrentVersion();
}
// Generate the upgrade notes for this release.
// We have
// - a title with the release name
// - the change types
// - which contain the components
// - which document each change
let upgradeNotes = `## ${version}\n\n`;
Object.entries(notes).forEach(([component, types]) => {
upgradeNotes += `### ${component}\n\n`;
upgradeNotes += getNotesForComponent(types, 4);
});
await Promise.all([
createCurrentSummary(upgradeNotes),
...updateComponentNotes(notes, version, 'UPGRADING-CURRENT.md', true),
]);
if (options.generateUpgradeNotes) {
await Promise.all(updateComponentNotes(notes, version));
await updateUpgradeNotes(upgradeNotes, options);
}
};
+230
View File
@@ -0,0 +1,230 @@
// This file is part of Moodle - http://moodle.org/
//
// Moodle is free software: you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
// the Free Software Foundation, either version 3 of the License, or
// (at your option) any later version.
//
// Moodle is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License for more details.
//
// You should have received a copy of the GNU General Public License
// along with Moodle. If not, see <http://www.gnu.org/licenses/>.
import chalk from 'chalk';
import { isStandardComponent, isCommunityComponent, rewritePlugintypeAsSubsystem } from './components.mjs';
import { isValidNoteName } from './noteTypes.mjs';
import logger from './logger.mjs';
import { readFile } from 'fs/promises';
/**
* Validate an issue number input
*
* @param {string} input
* @returns {string|boolean}
*/
export const validateIssueNumber = (input) => {
if (!input) {
return 'You must provide a tracker issue number';
}
if (input.match(/^[a-zA-Z]*-\d+$/)) {
return true;
}
if (input.match(/^\d+$/)) {
return true;
}
return 'The issue number was not recognised as a valid issue number';
};
/**
* Format an issue number input.
*
* @param {string} input
* @returns {string}
*/
export const formatIssueNumber = (input) => {
if (input.match(/^[a-zA-Z]*-\d+$/)) {
return input;
}
if (input.match(/^\d+$/)) {
return `MDL-${input}`;
}
return input;
};
/**
* Validate a component.
*
* @param {string} input
* @returns {string|boolean}
*/
export const validateComponent = (input) => {
if (isStandardComponent(input)) {
return true;
}
if (isCommunityComponent(input)) {
return 'Currently only core plugins are supported.';
}
return 'The component was not recognised as a standard component';
};
export const formatComponent = (input) => {
if (rewritePlugintypeAsSubsystem(input)) {
return `core_${input}`;
}
return input;
}
/**
* Get the initial values from the options.
*
* @param {object} options
* @returns {object}
*/
export const getInitialValues = (options) => {
const initialValues = {};
const type = getInitialTypeValue(options);
if (type) {
initialValues.type = type;
}
const issueNumber = getInitialIssueValue(options);
if (issueNumber) {
initialValues.issueNumber = issueNumber;
}
const component = getInitialComponentValue(options);
if (component) {
initialValues.components = component;
}
const message = getInitialMessageValue(options);
if (message) {
initialValues.message = message
initialValues.addAnother = false;
}
return initialValues;
};
/**
* Get the initial type value.
*
* @param {Object} options
* @returns {string|undefined}
*/
const getInitialTypeValue = (options) => {
if (!options.type) {
return;
}
options.type = options.type.trim().toLowerCase();
if (isValidNoteName(options.type)) {
return options.type;
}
logger.warn(`Note type "${chalk.underline(chalk.red(options.type))}" is not valid.`);
};
/**
* Get the initial issue number value.
*
* @param {Object} options
* @returns {string|undefined}
*/
const getInitialIssueValue = (options) => {
if (!options.issue) {
return;
}
options.issue = options.issue.trim().toUpperCase();
const issueNumberValidated = validateIssueNumber(options.issue);
if (issueNumberValidated === true) {
const issueNumber = formatIssueNumber(options.issue);
if (issueNumber !== options.issue) {
logger.warn(
`Issue number "${chalk.underline(chalk.red(options.issue))}" was updated to ` +
`"${chalk.underline(chalk.green(issueNumber))}"`
);
}
return issueNumber;
} else {
logger.warn(`Issue number "${chalk.underline(chalk.red(options.issue))}" is not valid: ${issueNumberValidated}`);
}
};
/**
* Get the initial component value.
*
* @param {Object} options
* @returns {string|undefined}
*/
const getInitialComponentValue = (options) => {
if (!options.component) {
return;
}
options.component = options.component.trim().toLowerCase();
const componentValidated = validateComponent(options.component);
if (componentValidated === true) {
const component = formatComponent(options.component);
if (component !== options.component) {
logger.warn(
`Component "${chalk.underline(chalk.red(options.component))}" was updated to ` +
`"${chalk.underline(chalk.green(component))}"`
);
}
return component;
} else {
logger.warn(`Component "${chalk.underline(chalk.red(options.component))}" is not valid: ${componentValidated}`);
}
};
/**
* Get the initial message value.
*
* @param {Object} options
* @returns {string|undefined}
*/
const getInitialMessageValue = (options) => {
if (!options.message) {
return;
}
return options.message.trim();
};
/**
* Get the current version from the project /version.php file.
*
* @returns {Promise<string>}
*/
export const getCurrentVersion = async () => {
const versionRegex = new RegExp(/^ *\$release *= *['\"](?<release>[^ \+]+\+?) *\(Build:.*/m);
try {
const versionFile = await readFile('version.php', 'utf8');
const match = versionFile.match(versionRegex);
if (match) {
return match.groups.release;
}
} catch(error) {
logger.error('Unable to read the version file');
}
return "Unreleased";
}
+30
View File
@@ -0,0 +1,30 @@
#!/usr/bin/env node
// This file is part of Moodle - http://moodle.org/
//
// Moodle is free software: you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
// the Free Software Foundation, either version 3 of the License, or
// (at your option) any later version.
//
// Moodle is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License for more details.
//
// You should have received a copy of the GNU General Public License
// along with Moodle. If not, see <http://www.gnu.org/licenses/>.
import winston from 'winston';
const logger = winston.createLogger({
level: 'info',
format: winston.format.combine(
winston.format.colorize(),
winston.format.simple()
),
transports: [
new winston.transports.Console(),
],
});
export default logger;
+194
View File
@@ -0,0 +1,194 @@
// This file is part of Moodle - http://moodle.org/
//
// Moodle is free software: you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
// the Free Software Foundation, either version 3 of the License, or
// (at your option) any later version.
//
// Moodle is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License for more details.
//
// You should have received a copy of the GNU General Public License
// along with Moodle. If not, see <http://www.gnu.org/licenses/>.
import yaml from 'js-yaml';
import path from 'path';
import { writeFile, mkdir, readdir, readFile, unlink } from 'fs/promises';
import { isValidNoteName, sortNoteTypes } from './noteTypes.mjs';
import { sortComponents } from './components.mjs';
const unreleasedPath = path.resolve('.upgradenotes');
/**
* Get the filename for the note.
*
* @param {string} issueNumnber The issue number
* @returns {string}
*/
const getFilename = (issueNumber) => {
const dateTimeFormat = new Intl.DateTimeFormat(undefined, {
year: 'numeric',
month: '2-digit',
day: '2-digit',
hour: '2-digit',
minute: '2-digit',
second: '2-digit',
fractionalSecondDigits: 2,
timeZone: 'UTC',
});
const date = Object.fromEntries(
dateTimeFormat.formatToParts(new Date())
.filter((p) => p.type !== 'literal')
.map((p) => ([p.type, p.value]))
);
const dateString = [
date.year,
date.month,
date.day,
date.hour,
date.minute,
date.second,
date.fractionalSecond,
].join('');
return `${issueNumber}-${dateString}.yml`;
};
/**
* Create a new note.
*
* @param {string} issueNumber
* @param {[type: string]: {message: string}} messages
* @returns {string} The path to the note on disk
*/
export const createNote = async (
issueNumber,
messages,
notePath,
) => {
const note = {
issueNumber,
notes: {},
};
messages.forEach(({components, type, message}) => {
note.notes[components] = note.notes[components] || [];
note.notes[components].push({message, type});
});
if (!notePath) {
notePath = path.resolve(unreleasedPath, getFilename(issueNumber));
}
const noteContent = yaml.dump(note);
await mkdir(unreleasedPath, {recursive: true});
await writeFile(notePath, noteContent);
return notePath;
};
/**
* Get all unreleased notes.
*
* @returns {Promise<{issueNumber: string, components: string[], types: {[type: string]: {message: string}[]}}[]>
*/
export const getAllNotes = async () => {
const files = await readdir(unreleasedPath);
const notes = files
.filter((file) => file.endsWith('.yml'))
.map(async (file) => {
const filePath = path.resolve(unreleasedPath, file);
const fileContent = await readFile(filePath, 'utf8');
return {
...yaml.load(fileContent),
filePath,
};
});
return Promise.all(notes);
};
/**
* Get the list of notes, grouped by note type, then component.
*
* @returns {Promise<{[type: string]: {[components: string]: {message: string, issueNumber: string}[]}}>}
*/
export const getCombinedNotes = async () => {
const notes = await getAllNotes();
const combinedNotes = {};
notes.forEach((note) => {
Object.entries(note.notes).forEach(([components, data]) => {
data.forEach((entry) => {
if (!isValidNoteName(entry.type)) {
throw new Error(`Invalid note type: "${entry.type}" in file ${note.filePath}`);
}
combinedNotes[entry.type] = combinedNotes[entry.type] || {};
combinedNotes[entry.type][components] = combinedNotes[entry.type][components] || [];
combinedNotes[entry.type][components].push({message: entry.message, issueNumber: note.issueNumber});
});
});
});
return combinedNotes;
};
/**
* Get the list of notes, grouped by component, then by note type.
*
* @returns {Promise<{[component: string]: {[type: string]: {message: string, issueNumber: string}[]}}>}
*/
export const getCombinedNotesByComponent = async () => {
const notes = await getAllNotes();
const combinedNotes = {};
notes.forEach((note) => {
Object.entries(note.notes).forEach(([component, data]) => {
combinedNotes[component] = combinedNotes[component] || {};
data.forEach((entry) => {
if (!isValidNoteName(entry.type)) {
throw new Error(`Invalid note type: "${entry.type}" in file ${note.filePath}`);
}
combinedNotes[component][entry.type] = combinedNotes[component][entry.type] || [];
combinedNotes[component][entry.type].push({
component,
message: entry.message,
issueNumber: note.issueNumber,
type: entry.type,
});
});
});
});
// Sort notes by note type.
Object.entries(combinedNotes).forEach(([component, types]) => {
combinedNotes[component] = Object.fromEntries(
Object.entries(types).sort(([a], [b]) => sortNoteTypes(a, b))
);
});
// Sort components.
return Object.fromEntries(
Object.entries(combinedNotes).sort(([a], [b]) => sortComponents(a, b))
);
};
/**
* Delete all unreleased notes.
*
* @returns {Promise<void>}
*/
export const deleteAllNotes = async () => {
const files = await readdir(unreleasedPath);
return Promise.all(
files
.filter((item, index) => files.indexOf(item) === index)
.filter((file) => file.endsWith('.yml'))
.map((file) => unlink(`${unreleasedPath}/${file}`))
);
};
+80
View File
@@ -0,0 +1,80 @@
// This file is part of Moodle - http://moodle.org/
//
// Moodle is free software: you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
// the Free Software Foundation, either version 3 of the License, or
// (at your option) any later version.
//
// Moodle is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License for more details.
//
// You should have received a copy of the GNU General Public License
// along with Moodle. If not, see <http://www.gnu.org/licenses/>.
/**
* The note types.
*
* Matches the suggested order in https://keepachangelog.com/en/1.1.0/.
* @type {Object<string, string>}
*/
const noteTypes = {
'improved': 'Added',
'changed': 'Changed',
'deprecated': 'Deprecated',
'removed': 'Removed',
'fixed': 'Fixed',
};
/**
* The preferred order of note types.
*
* @type {string[]}
*/
const preferredOrder = Object.keys(noteTypes);
/**
* Comparison method to sort note types.
*
* @param {String} a
* @param {String} b
* @returns {Number}
*/
export const sortNoteTypes = (a, b) => {
const aIndex = preferredOrder.indexOf(a);
const bIndex = preferredOrder.indexOf(b);
if (aIndex === -1) {
return 1;
}
if (bIndex === -1) {
return -1;
}
return aIndex - bIndex;
};
/**
* Get the note names.
*
* @returns {string[]}
*/
export const getNoteNames = () => Object.keys(noteTypes);
/**
* Get the human-readable note name.
*
* @param {string} type
* @returns {string}
*/
export const getNoteName = (type) => noteTypes[type];
/**
* Whether the note name is valid.
*
* @param {string} type
* @returns {boolean}
*/
export const isValidNoteName = (type) => noteTypes[type] !== undefined;
+153
View File
@@ -0,0 +1,153 @@
// This file is part of Moodle - http://moodle.org/
//
// Moodle is free software: you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
// the Free Software Foundation, either version 3 of the License, or
// (at your option) any later version.
//
// Moodle is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License for more details.
//
// You should have received a copy of the GNU General Public License
// along with Moodle. If not, see <http://www.gnu.org/licenses/>.
import inquirer from 'inquirer';
import SearchList from 'inquirer-search-list';
import { getNoteNames } from './noteTypes.mjs';
import { getAllComponents } from './components.mjs';
import {
formatComponent,
formatIssueNumber,
validateComponent,
validateIssueNumber,
} from './helpers.mjs';
/**
* A Search List which accepts an initial value.
*/
class SearchListWithInitialValue extends SearchList {
constructor(options, ...args) {
super(options, ...args);
if (options.default) {
const pointer = this.filterList.findIndex((item) => {
return item.value === options.default;
});
if (pointer > -1) {
this.pointer = pointer;
}
}
}
}
inquirer.registerPrompt('search-list', SearchListWithInitialValue);
/**
* Get the issue type prompt.
*
* @param {string} defaultData The initially selected value
* @returns {Object}
*/
export const getTypePrompt = (defaultData) => ({
default: defaultData,
type: 'search-list',
message: 'Type of change',
name: 'type',
choices: getNoteNames(),
validate: (selection) => {
if (selection.length < 1) {
return 'You must select at least one type of change';
}
return true;
},
});
/**
* Get the component prompt.
*
* @param {string} [defaultValue='core'] The initally selected value.
* @returns
*/
export const getComponentsPrompt = (defaultValue) => {
if (!defaultValue ) {
defaultValue = 'core';
}
return {
choices: getAllComponents(),
default: defaultValue,
type: 'search-list',
message: 'Component',
name: 'components',
validate: validateComponent,
filter: formatComponent,
};
};
/**
* Get the issue number prompt as an inline input.
*
* @param {string} defaultData
* @returns {object}
*/
export const getIssuePrompt = (defaultData) => ({
default: defaultData,
type: 'input',
message: 'Tracker issue number',
name: 'issueNumber',
validate: validateIssueNumber,
filter: formatIssueNumber,
});
/**
* Get a message prompt.
*
* @param {string} defaultData
* @returns
*/
export const getMessagePromptEditor = (defaultData) => ({
default: defaultData,
type: process.stdin.isTTY ? 'editor' : 'input',
postfix: '.md',
message: 'Message',
name: 'message',
waitUserInput: false,
validate: (input) => {
if (!input) {
return 'You must provide a message';
}
return true;
},
// Remove any trailing whitespace.
filter: (input) => input.split('\n').map((line) => line.trimEnd()).join('\n'),
});
/**
* Get a message prompt.
*
* @param {string} defaultData
* @returns
*/
export const getMessagePromptInput = (defaultData) => ({
default: defaultData,
type: 'input',
message: 'Message (leave empty to use editor)',
name: 'message',
filter: (input) => input.trim(),
});
/**
* Get a prompt to ask the user if they wish to add another entry.
*
* @returns {Object}
*/
export const getAddAnotherPrompt = () => ({
type: 'confirm',
message: 'Do you want to add another note?',
default: false,
name: 'addAnother',
});
+8 -6
View File
@@ -45,6 +45,7 @@ module.exports = grunt => {
grunt.log.write(result);
if (error) {
grunt.log.error(result.stdout);
process.exit(code);
}
done();
@@ -56,7 +57,7 @@ module.exports = grunt => {
* @param {array} args
* @returns {object}
*/
const spawnNodeCall = args => grunt.util.spawn({
const spawnNodeCall = (args) => grunt.util.spawn({
cmd: 'node',
args,
}, getSpawnHandler(grunt.task.current.async()));
@@ -91,13 +92,14 @@ module.exports = grunt => {
* @returns {Object} Reference to the spawned task
*/
const cssBuild = () => spawnNodeCall([
'node_modules/node-sass/bin/node-sass',
'--output-style', 'expanded',
'--source-map', true,
'--source-map-contents', true,
'node_modules/sass/sass.js',
'--style', 'expanded',
'--source-map',
'--embed-sources',
'--precision', 6,
'--load-path', process.cwd(),
getCLPath('hugo/scss/docs.scss'),
'-o', getCLPath('hugo/dist/css/'),
getCLPath('hugo/dist/css/docs.css'),
]);
// Register the various component library tasks.
+2 -2
View File
@@ -39,7 +39,7 @@ module.exports = grunt => {
{
rule: {
_attrs: {
ref: './.phpcs.xml.dist',
ref: './phpcs.xml.dist',
},
},
},
@@ -52,7 +52,7 @@ module.exports = grunt => {
});
});
grunt.file.write('.phpcs.xml', toXML(config, {
grunt.file.write('phpcs.xml', toXML(config, {
header: true,
indent: ' ',
}) + "\n");
+9 -22
View File
@@ -21,7 +21,7 @@
*/
/**
* Function to generate the destination for the uglify task
* Function to generate the destination for the minification task
* (e.g. build/file.min.js). This function will be passed to
* the rename property of files array when building dynamically:
* http://gruntjs.com/configuring-tasks#building-the-files-object-dynamically
@@ -30,10 +30,9 @@
* @param {String} srcPath the matched src path
* @return {String} The rewritten destination path.
*/
const babelRename = function(destPath, srcPath) {
destPath = srcPath.replace('src', 'build');
destPath = destPath.replace('.js', '.min.js');
destPath = srcPath.replace(`amd/src`, `amd/build`);
destPath = destPath.replace(/\.js$/, '.min.js');
return destPath;
};
@@ -61,7 +60,6 @@ module.exports = grunt => {
grunt.registerTask('js', ['amd', 'yui']);
// Register NPM tasks.
grunt.loadNpmTasks('grunt-contrib-uglify');
grunt.loadNpmTasks('grunt-contrib-watch');
grunt.loadNpmTasks('grunt-rollup');
@@ -105,6 +103,7 @@ module.exports = grunt => {
// The queue runner will run the next `size` items in the queue.
const runQueue = (size = 1) => {
queue.splice(0, size).forEach(resolve => {
grunt.log.debug(`Item resolved. Kicking off next one.`);
resolve();
});
};
@@ -114,15 +113,17 @@ module.exports = grunt => {
// The options hook is run in parallel.
// We can return an unresolved Promise which is queued for later resolution.
options: async() => {
options: async(options) => {
return new Promise(resolve => {
queue.push(resolve);
startQueue();
return options;
});
},
// When an item in the queue completes, start the next item in the queue.
buildEnd: () => {
generateBundle: (options, bundle) => {
grunt.log.debug(`Finished output phase for ${Object.keys(bundle).join(', ')}`);
runQueue();
},
};
@@ -152,24 +153,10 @@ module.exports = grunt => {
//
// It also adds the Moodle plugin name to the AMD module definition
// so that it can be imported as expected in other modules.
path.resolve('.grunt/babel-plugin-add-module-to-define.js'),
'@babel/plugin-syntax-dynamic-import',
'@babel/plugin-syntax-import-meta',
['@babel/plugin-proposal-class-properties', {'loose': false}],
'@babel/plugin-proposal-json-strings'
path.resolve('.grunt/babel-plugin-add-module-to-define.js')
],
presets: [
['@babel/preset-env', {
targets: {
browsers: [
">0.3%",
"last 2 versions",
"not ie >= 0",
"not op_mini all",
"not Opera > 0",
"not dead"
]
},
modules: false,
useBuiltIns: false
}]
+28 -12
View File
@@ -20,17 +20,33 @@
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
*/
module.exports = grunt => {
// Project configuration.
grunt.config.merge({
jsdoc: {
dist: {
options: {
configure: ".grunt/jsdoc/jsdoc.conf.js",
},
},
},
});
module.exports = (grunt) => {
const path = require('path');
grunt.loadNpmTasks('grunt-jsdoc');
grunt.registerTask('jsdoc', 'Generate JavaScript documentation using jsdoc', function() {
const done = this.async();
const configuration = path.resolve('.grunt/jsdoc/jsdoc.conf.js');
grunt.util.spawn({
cmd: 'jsdoc',
args: [
'--configure',
configuration,
]
}, function(error, result, code) {
if (result.stdout) {
grunt.log.write(result.stdout);
}
if (result.stderr) {
grunt.log.error(result.stderr);
}
if (error) {
grunt.fail.fatal(`JSDoc failed with error code ${code}`);
} else {
grunt.log.write('JSDoc completed successfully'.green);
}
done();
});
});
};
+1 -1
View File
@@ -32,7 +32,7 @@ module.exports = grunt => {
}
},
options: {
implementation: require('node-sass'),
implementation: require('sass'),
includePaths: ["theme/boost/scss/", "theme/classic/scss/"]
}
},
+5 -1
View File
@@ -29,6 +29,7 @@ module.exports = grunt => {
// Use a fully-qualified path.
src: files,
options: {
quietDeprecationWarnings: true,
configOverrides: {
rules: {
// These rules have to be disabled in .stylelintrc for scss compat.
@@ -45,7 +46,10 @@ module.exports = grunt => {
return {
stylelint: {
scss: {
options: {syntax: 'scss'},
options: {
quietDeprecationWarnings: true,
customSyntax: 'postcss-scss',
},
src: files,
},
},
+42
View File
@@ -0,0 +1,42 @@
// This file is part of Moodle - http://moodle.org/
//
// Moodle is free software: you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
// the Free Software Foundation, either version 3 of the License, or
// (at your option) any later version.
//
// Moodle is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License for more details.
//
// You should have received a copy of the GNU General Public License
// along with Moodle. If not, see <http://www.gnu.org/licenses/>.
/* jshint node: true, browser: false */
/* eslint-env node */
/**
* @copyright 2023 Sara Arjona <sara@moodle.com>
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
*/
module.exports = grunt => {
/**
* Generate upgradable third-party libraries (utilising thirdpartylibs.xml data)
*/
grunt.registerTask('upgradablelibs', 'Generate upgradable third-party libraries', async function() {
const done = this.async();
const path = require('path');
const ComponentList = require(path.join(process.cwd(), '.grunt', 'components.js'));
// An array of third party libraries that have a newer version in their repositories.
const thirdPartyLibs = await ComponentList.getThirdPartyLibsUpgradable({progress: true});
for (let library of thirdPartyLibs) {
grunt.log.ok(JSON.stringify(Object.assign({}, library), null, 4));
}
done();
});
};
+103
View File
@@ -0,0 +1,103 @@
#!/usr/bin/env node
// This file is part of Moodle - http://moodle.org/
//
// Moodle is free software: you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
// the Free Software Foundation, either version 3 of the License, or
// (at your option) any later version.
//
// Moodle is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License for more details.
//
// You should have received a copy of the GNU General Public License
// along with Moodle. If not, see <http://www.gnu.org/licenses/>.
import { Argument, Option, program } from 'commander';
import chalk from 'chalk';
import { getNoteNames } from './notes/src/noteTypes.mjs';
import createAction from './notes/src/create.mjs';
import generateAction from './notes/src/generate.mjs';
import logger from './notes/src/logger.mjs';
console.log(`
${chalk.bold(chalk.underline(chalk.green('Moodle Upgrade Notes Generator')))}
This tool is used to generate the upgrade notes for changes you make in Moodle.
Please remember that the intended audience of these changes is
${chalk.italic('plugin developers')} who need to know how to update their plugins
for a new Moodle version.
Upgrade notes should not be used to document changes for site administrators, or
for internal API changes which are not expected to be used outside of the
relevant component.
`)
program.configureHelp({
helpWidth: 100,
});
program.on('option:verbose', () => {
logger.level = 'verbose';
});
program.addOption(
new Option(
'-v, --verbose',
'Output more information during the generation process',
)
.default(false)
);
// Define the command line options.
program
.command('create')
.summary('Generate a new upgrade note')
.addOption(
new Option('-t, --type <type>', `The type of change to document. Valid types are: ${getNoteNames().join(', ')}`)
)
.addOption(new Option('-i, --issue <issue>', 'The tracker issue number'))
.addOption(new Option('-c, --component <component>', 'The component to write a note for'))
.addOption(new Option(
'-m, --message <message>',
'The message to use for the upgrade note',
))
.action((options) => createAction(options));
program
.command('summary')
.summary('Generate a local copy of the upgrade notes summary')
.addArgument(
new Argument('[version]', 'The Moodle version to create the summary notes for')
)
.action((version) => generateAction(version));
program
.command('release')
.summary('Generate the markdown copies of the upgrade notes for a Moodle release')
.addArgument(
new Argument('[version]', 'The Moodle version to create the release notes for')
)
.addOption(
new Option(
'--generate-upgrade-notes',
'Generate the UPGRADING.md notes for the release. ' +
'Note: This option is intended for use by the release manager when generating the upgrade notes.',
)
.default(true)
)
.addOption(
new Option(
'-d, --delete-notes',
'Delete the notes after generating the UPGRADING.md notes for the release. ' +
'Note: This option is intended for use by the release manager when generating the upgrade notes.' +
'This option has no effect unless --generate-upgrade-notes is also set.'
)
.default(false)
)
.action((version, options) => generateAction(version, options));
program.parse();
+1 -1
View File
@@ -1 +1 @@
lts/gallium
lts/iron
-4
View File
@@ -1,4 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<ruleset name="MoodleCore">
<rule ref="moodle"/>
</ruleset>
+40
View File
@@ -0,0 +1,40 @@
<?php
// This file is part of Moodle - http://moodle.org/
//
// Moodle is free software: you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
// the Free Software Foundation, either version 3 of the License, or
// (at your option) any later version.
//
// Moodle is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License for more details.
//
// You should have received a copy of the GNU General Public License
// along with Moodle. If not, see <http://www.gnu.org/licenses/>.
/**
* Helper file for PhpStorm, and other IDEs, to provide better code completion.
*
* @package core
* @copyright 2024 Andrew Lyons <andrew@nicols.co.uk>
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
*/
namespace PHPSTORM_META;
// Assume that anything returned by \core\di::get('...') is an instance of the first argument.
override(\core\di::get(0), map([
'' => '@',
]));
// Assume that anything returned by \Psr\Container\ContainerInterface::get('...') is an instance of the first argument.
override(\Psr\Container\ContainerInterface::get(0), map([
'' => '@',
]));
// Assume that anything returned by \DI\Container::get('...') is an instance of the first argument.
override(\DI\Container::get(0), map([
'' => '@',
]));
+16 -4
View File
@@ -1,9 +1,14 @@
{
"customSyntax": "postcss-scss",
"plugins": [
"stylelint-csstree-validator"
],
"rules": {
"csstree/validator": true,
"csstree/validator": {
"syntaxExtensions": [
"sass"
]
},
"at-rule-empty-line-before": [ "always",
{"except": [ "blockless-after-blockless"], ignore: ["after-comment", "inside-block"]}
],
@@ -45,7 +50,7 @@
"function-name-case": "lower",
"function-parentheses-newline-inside": "always-multi-line",
"function-parentheses-space-inside": "never-single-line",
"function-url-scheme-blacklist": ["data"],
"function-url-scheme-disallowed-list": ["data"],
"function-whitespace-after": "always",
"indentation": 4,
"keyframe-declaration-no-important": true,
@@ -84,12 +89,19 @@
"selector-type-no-unknown": true,
"string-no-newline": true,
"time-min-milliseconds": 100,
"unit-blacklist": ["pt"],
"unit-disallowed-list": ["pt"],
"unit-case": "lower",
"unit-no-unknown": true,
"value-keyword-case": ["lower", {"ignoreKeywords": ["/(@|$)/"]}],
"value-list-comma-newline-after": "always-multi-line",
"value-list-comma-space-after": "always-single-line",
"value-list-comma-space-before": "never",
}
},
"overrides": [
{
"files": ["**/yui/**/*.css"],
"rules": {
}
}
]
}
-276
View File
@@ -1,276 +0,0 @@
# PLEASE NOTE: Travis is not currently utilised by the Moodle core integration
# process (which uses our internal CI system) this file is here for the benefit
# of community developers git clones - see MDL-51458.
notifications:
email:
if: env(MOODLE_EMAIL) != no
language: php
os: linux
dist: focal
services:
- mysql
- docker
addons:
postgresql: "12"
apt:
packages:
- postgresql-12
- postgresql-client-12
branches:
except:
- master
- /MOODLE_[0-9]+_STABLE/
- /^v[0-9]+\.[0-9]+\.[0-9]+.*/
jobs:
# Enable fast finish.
# This will fail the build if a single job fails (except those in allow_failures).
# It will not stop the jobs from running.
fast_finish: true
include:
# First all the lowest php ones (7.4)
- php: 7.4
env: DB=none TASK=CITEST
- php: 7.4
env: DB=none TASK=GRUNT
- if: env(MOODLE_DATABASE) = "pgsql" OR env(MOODLE_DATABASE) = "all" OR env(MOODLE_DATABASE) IS NOT present
php: 7.4
env: DB=pgsql TASK=PHPUNIT
- if: env(MOODLE_DATABASE) = "mysqli" OR env(MOODLE_DATABASE) = "all"
php: 7.4
env: DB=mysqli TASK=PHPUNIT
# Then, conditionally, all the highest php ones (8.0)
- if: env(MOODLE_PHP) = "all"
php: 8.0
env: DB=none TASK=CITEST
- if: env(MOODLE_PHP) = "all"
php: 8.0
env: DB=none TASK=GRUNT
- if: env(MOODLE_PHP) = "all" AND (env(MOODLE_DATABASE) = "pgsql" OR env(MOODLE_DATABASE) = "all" OR env(MOODLE_DATABASE) IS NOT present)
php: 8.0
env: DB=pgsql TASK=PHPUNIT
- if: env(MOODLE_PHP) = "all" AND (env(MOODLE_DATABASE) = "mysqli" OR env(MOODLE_DATABASE) = "all")
php: 8.0
env: DB=mysqli TASK=PHPUNIT
cache:
directories:
- $HOME/.composer/cache
- $HOME/.npm
before_install:
- docker run -d -p 127.0.0.1:8080:80 --name exttests moodlehq/moodle-exttests
# Avoid IPv6 default binding as service (causes redis not to start).
- sudo service redis-server start --bind 127.0.0.1
env:
global:
- PGVER=12
- PGPORT=5433
install:
- >
if [ "$DB" = 'mysqli' ];
then
sudo mkdir /mnt/ramdisk
sudo mount -t tmpfs -o size=1024m tmpfs /mnt/ramdisk
sudo service mysql stop
sudo mv /var/lib/mysql /mnt/ramdisk
sudo ln -s /mnt/ramdisk/mysql /var/lib/mysql
sudo service mysql restart
fi
- >
if [ "$DB" = 'pgsql' ];
then
sudo mkdir /mnt/ramdisk
sudo mount -t tmpfs -o size=1024m tmpfs /mnt/ramdisk
sudo service postgresql stop
sudo mv /var/lib/postgresql /mnt/ramdisk
sudo ln -s /mnt/ramdisk/postgresql /var/lib/postgresql
sudo service postgresql start
fi
- >
if [ "$TASK" = 'PHPUNIT' ];
then
if [ -n "$GITHUB_APITOKEN" ]; then
composer config github-oauth.github.com $GITHUB_APITOKEN;
echo 'auth.json' >> .git/info/exclude
fi
echo 'extension="redis.so"' > /tmp/redis.ini
phpenv config-add /tmp/redis.ini
# Install composer dependencies.
# We need --no-interaction in case we hit API limits for composer. This causes it to fall back to a standard clone.
# Typically it should be able to use the Composer cache if any other job has already completed before we started here.
travis_retry composer install --prefer-dist --no-interaction;
fi
- >
if [ "$TASK" = 'GRUNT' ];
then
nvm install
nvm use
fi
before_script:
- if [[ ${TRAVIS_PHP_VERSION:0:1} -gt 7 ]]; then pecl install xmlrpc-beta; fi
- echo 'max_input_vars=5000' >> ~/.phpenv/versions/$(phpenv version-name)/etc/conf.d/travis.ini
- phpenv config-rm xdebug.ini
- >
if [ "$TASK" = 'PHPUNIT' ];
then
# Copy generic configuration in place.
cp config-dist.php config.php ;
# Create the moodledata directory.
mkdir -p "$HOME"/roots/base
# The database name and password.
sed -i \
-e "s%= 'moodle'%= 'travis_ci_test'%" \
-e "s%= 'password'%= ''%" \
config.php ;
# The wwwroot and dataroot.
sed -i \
-e "s%http://example.com/moodle%https://localhost%" \
-e "s%/home/example/moodledata%/home/travis/roots/base%" \
config.php ;
if [ "$DB" = 'pgsql' ];
then
# Postgres-specific setup.
sed -i \
-e "s%= 'username'%= 'travis'%" \
-e "s%'dbsocket' => false%'dbsocket' => true%" \
config.php ;
psql -c 'CREATE DATABASE travis_ci_test;' -U travis;
fi
if [ "$DB" = 'mysqli' ];
then
# MySQL-specific setup.
sed -i \
-e "s%= 'pgsql'%= 'mysqli'%" \
-e "s%= 'username'%= 'travis'%" \
-e "s%=> 'utf8mb4_unicode_ci'%=> 'utf8mb4_bin'%" \
config.php;
mysql -u root -e 'SET GLOBAL innodb_file_format=barracuda;' ;
mysql -u root -e 'SET GLOBAL innodb_file_per_table=ON;' ;
mysql -u root -e 'SET GLOBAL innodb_large_prefix=ON;' ;
mysql -e 'CREATE DATABASE travis_ci_test DEFAULT CHARACTER SET utf8mb4 DEFAULT COLLATE utf8mb4_bin;' ;
fi
fi
- >
if [ "$TASK" = 'PHPUNIT' ];
then
# Create a directory for the phpunit dataroot.
mkdir -p "$HOME"/roots/phpunit
# The phpunit dataroot and prefix..
sed -i \
-e "/require_once/i \\\$CFG->phpunit_dataroot = '\/home\/travis\/roots\/phpunit';" \
-e "/require_once/i \\\$CFG->phpunit_prefix = 'p_';" \
config.php ;
# Enable test external resources
sed -i \
-e "/require_once/i \\define('TEST_EXTERNAL_FILES_HTTP_URL', 'http://127.0.0.1:8080');" \
-e "/require_once/i \\define('TEST_EXTERNAL_FILES_HTTPS_URL', 'http://127.0.0.1:8080');" \
config.php ;
# Redis cache store tests
sed -i \
-e "/require_once/i \\define('TEST_CACHESTORE_REDIS_TESTSERVERS', '127.0.0.1');" \
config.php ;
# Redis session tests
sed -i \
-e "/require_once/i \\define('TEST_SESSION_REDIS_HOST', '127.0.0.1');" \
config.php ;
# Initialise PHPUnit for Moodle.
php admin/tool/phpunit/cli/init.php
fi
- >
if [ "$TASK" = 'GRUNT' ];
then
npm install --no-spin;
npm install --no-spin -g grunt ;
fi
########################################################################
# CI Tests
########################################################################
- >
if [ "$TASK" = 'CITEST' ];
then
# Note - this is deliberately placed in the script section as we
# should not add any code until after phpunit has run.
# The following repositories are required.
# The local_ci repository does the actual checking.
git clone https://github.com/moodlehq/moodle-local_ci.git local/ci
# We need the official upstream for comparison
git remote add upstream https://github.com/moodle/moodle.git;
git fetch upstream MOODLE_401_STABLE;
export GIT_PREVIOUS_COMMIT="`git merge-base FETCH_HEAD $TRAVIS_COMMIT`";
export GIT_COMMIT="$TRAVIS_COMMIT";
export UPSTREAM_FETCH_HEAD=`git rev-parse FETCH_HEAD`
# Variables required by our linter.
export gitcmd=`which git`;
export gitdir="$TRAVIS_BUILD_DIR";
export phpcmd=`which php`;
fi
script:
- >
if [ "$TASK" = 'PHPUNIT' ];
then
vendor/bin/phpunit --fail-on-risky --disallow-test-output --verbose;
fi
- >
if [ "$TASK" = 'CITEST' ];
then
bash local/ci/php_lint/php_lint.sh;
fi
- >
if [ "$TASK" = 'GRUNT' ];
then
grunt ;
# Add all files to the git index and then run diff --cached to see all changes.
# This ensures that we get the status of all files, including new files.
# We ignore npm-shrinkwrap.json to make the tasks immune to npm changes.
git add . ;
git reset -- npm-shrinkwrap.json ;
git diff --cached --exit-code ;
fi
after_script:
- >
if [ "$TASK" = 'PHPUNIT' ];
then
EXTTESTS_HITS=$(docker logs exttests 2>&1 | grep -Fv -e 'AH00558' -e '[pid 1]' | wc -l)
echo -e "\nTest local resources number of hits: ${EXTTESTS_HITS}.\n"
fi
View File
+52
View File
@@ -0,0 +1,52 @@
# Contributing to Moodle
[Moodle][1] is made by people like you. We are members of a big worldwide community of developers, designers, teachers, testers, translators and many more. We work in universities, schools, companies and other places. You are very welcome to join us and contribute to the project.
There are many ways that you can contribute to Moodle, not just through development. See our [community contribution guide][2] for some of the many ways that you can help.
## Github
> [!NOTE]
> Please do not open pull requests via Github.
All issues should be reported via, and patched provided to the [Moodle Tracker][3].
The Moodle [Github][4] repository is a clone of the official Moodle repository, whcih can be found at https://git.moodle.org.
## Moodle core bug fixes and new features
Over the years, Moodle has developed a mature process for reporting, reviewing, and accepting patches. This is fully documented in our [documentation on development processes][6], but in summary:
- Every bug fix or new feature must have a tracker issue.
- You publish the branch implementing the fix or new feature in your public clone of the moodle.git repository (typically on Github).
- Your patch is peer-reviewed, discussed, integrated, tested and then released as a part of one of our weekly releases.
- New features are developed on the `main` branch. Bug fixes are also backported to currently supported maintenance (stable) branches.
> [!IMPORTANT]
> Please do not publish security issues, or patches releating to them publicly.
> See our [Responsible Disclosure Policy][5] for more information.
## Moodle plugins
Moodle has a framework for additional plugins to extend its functionality. We
have a Moodle plugins directory <https://moodle.org/plugins/> where you can
register and maintain your plugin. Plugins hosted in the plugins directory can
be easily installed and updated via the Moodle administration interface.
* You are expected to have a public source code repository with your plugin
code.
* After registering your plugin in the plugins directory it is reviewed before
being published.
* You are expected to continuously release updated versions of the plugin via
the plugins directory. We do not pull from your code repository; you must do
it explicitly.
For further details, see <https://moodledev.io/general/community/plugincontribution>.
[1]: https://moodle.org
[2]: https://moodledev.io/general/community/contribute
[3]: https://tracker.moodle.org
[4]: https://github.com/moodle/moodle
[5]: https://moodledev.io/general/development/process/security
[6]: https://moodledev.io/general/development/process
-56
View File
@@ -1,56 +0,0 @@
CONTRIBUTING TO MOODLE
======================
Moodle is made by people like you. We are members of a big worldwide community
of developers, designers, teachers, testers, translators and other users. We
work in universities, schools, companies and other places. You are very welcome
to join us and contribute to the project.
See <https://docs.moodle.org/dev/Contributing_to_Moodle> for the many ways you
can help, not only with coding.
Moodle is open to community contributions to core, though all code must go
through peer-review, automated behaviour testing, continuous integration and
human post-integration checks.
Pull requests
-------------
Please do not open pull requests via Github. The repository there is just a
mirror of the official repository at <https://git.moodle.org>. Issues are
reported and patches provided via <https://tracker.moodle.org>. See below for
more information.
Moodle core bug fixes and new features
--------------------------------------
During the years of intensive development, a mature process of including
submitted patches has evolved.
* Every bug fix or new feature must have a tracker issue.
* You publish the branch implementing the fix or new feature in your public
clone of the moodle.git repository (typically on Github).
* Your patch is peer-reviewed, discussed, integrated, tested and then released
as a part of moodle.git.
* New features are developed on the master branch. Bug fixes are also
backported to currently supported maintenance (stable) branches.
For further details, see <https://docs.moodle.org/dev/Process>.
Moodle plugins
--------------
Moodle has a framework for additional plugins to extend its functionality. We
have a Moodle plugins directory <https://moodle.org/plugins/> where you can
register and maintain your plugin. Plugins hosted in the plugins directory can
be easily installed and updated via the Moodle administration interface.
* You are expected to have a public source code repository with your plugin
code.
* After registering your plugin in the plugins directory it is reviewed before
being published.
* You are expected to continuously release updated versions of the plugin via
the plugins directory. We do not pull from your code repository; you must do
it explicitly.
For further details, see <https://docs.moodle.org/dev/Plugin_contribution>.
+2
View File
@@ -260,6 +260,8 @@ module.exports = function(grunt) {
addTask('watch', grunt);
addTask('startup', grunt);
addTask('upgradablelibs', grunt);
// Register the default task.
grunt.registerTask('default', ['startup']);
};
-7
View File
@@ -1,7 +0,0 @@
*** PLEASE DO NOT OPEN PULL REQUESTS VIA GITHUB ***
The moodle.git repository at Github is just a mirror of the official repository. We do not accept pull requests at Github.
See CONTRIBUTING.txt guidelines for how to contribute patches for Moodle. Thank you.
--
+48
View File
@@ -0,0 +1,48 @@
# Moodle
<p align="center"><a href="https://moodle.org" target="_blank" title="Moodle Website">
<img src="https://raw.githubusercontent.com/moodle/moodle/main/.github/moodlelogo.svg" alt="The Moodle Logo">
</a></p>
[Moodle][1] is the World's Open Source Learning Platform, widely used around the world by countless universities, schools, companies, and all manner of organisations and individuals.
Moodle is designed to allow educators, administrators and learners to create personalised learning environments with a single robust, secure and integrated system.
## Documentation
- Read our [User documentation][3]
- Discover our [developer documentation][5]
- Take a look at our [demo site][4]
## Community
[moodle.org][1] is the central hub for the Moodle Community, with spaces for educators, administrators and developers to meet and work together.
You may also be interested in:
- attending a [Moodle Moot][6]
- our regular series of [developer meetings][7]
- the [Moodle User Association][8]
## Installation and hosting
Moodle is Free, and Open Source software. You can easily [download Moodle][9] and run it on your own web server, however you may prefer to work with one of our experienced [Moodle Partners][10].
Moodle also offers hosting through both [MoodleCloud][11], and our [partner network][10].
## License
Moodle is provided freely as open source software, under version 3 of the GNU General Public License. For more information on our license see
[1]: https://moodle.org
[2]: https://moodle.com
[3]: https://docs.moodle.org/
[4]: https://sandbox.moodledemo.net/
[5]: https://moodledev.io
[6]: https://moodle.com/events/mootglobal/
[7]: https://moodledev.io/general/community/meetings
[8]: https://moodleassociation.org/
[9]: https://download.moodle.org
[10]: https://moodle.com/partners
[11]: https://moodle.com/cloud
[12]: https://moodledev.io/general/license
-28
View File
@@ -1,28 +0,0 @@
.-..-.
_____ | || |
/____/-.---_ .---. .---. .-.| || | .---.
| | _ _ |/ _ \/ _ \/ _ || |/ __ \
* | | | | | || |_| || |_| || |_| || || |___/
|_| |_| |_|\_____/\_____/\_____||_|\_____)
Moodle - the world's open source learning platform
Moodle <https://moodle.org> is a learning platform designed to provide
educators, administrators and learners with a single robust, secure and
integrated system to create personalised learning environments.
You can download Moodle <https://download.moodle.org> and run it on your own
web server, ask one of our Moodle Partners <https://moodle.com/partners/> to
assist you, or have a MoodleCloud site <https://moodle.com/cloud/> set up for
you.
Moodle is widely used around the world by universities, schools, companies and
all manner of organisations and individuals.
Moodle is provided freely as open source software, under the GNU General Public
License <https://docs.moodle.org/dev/License>.
Moodle is written in PHP and JavaScript and uses an SQL database for storing
the data.
See <https://docs.moodle.org> for details of Moodle's many features.
+53 -35
View File
@@ -1,48 +1,66 @@
MOODLE TRADEMARKS POLICY
========================
The word "Moodle" is trademarked in many countries around the world. The word
was originally coined as an acronym: Modular Object-Oriented Dynamic Learning
Environment. The trademark is owned by Martin Dougiamas, Founder and Director
of Moodle.
The Moodle Trademark
--------------------
The law obligates trademark owners to police their marks and prevent the use of
confusingly similar names by third parties. Through this policy wed like to
make it clear how Moodle-related projects, organisations, and people can use
the Moodle trademark. Wed also like to be clear about how use of the word is
restricted when used to promote commercial Moodle services. We do this to
protect the very business model that allows us to continue developing Moodle
for you.
The brand and word "Moodle" has trade mark protection in many countries around
the world. Various Moodle™ trade marks are owned by either Moodle Pty Ltd or
one of its associated entities. The law obligates trade mark owners to police
their trade marks and prevent the use of confusingly similar names by
third parties.
Allowed uses
------------
We have created a more concise and thorough set of Trademark Guidelines
(https://moodle.com/wp-content/uploads/2023/02/Moodle-Trademark-Guidelines-2023-4.pdf)
to help you understand how to comply with Moodle's trade mark requirements.
The Trademark Guidelines will also assist our Moodle Certified Partners and the
community to understand some of the principles that inform Moodle's stance
whenever potential infringement has been detected by us or our community.
The following uses dont require any permission at all:
We need to be clear about use of the word "Moodle" and how we restrict its use
when promoting commercial Moodle™ branded services. The proper use of
trade marks reliably assures consumers about the quality of the associated
products or services and where they have been derived from. Because the
Moodle LMS is made available under the open source GNU General Public License'
that permits you to modify the copyrighted software, the distribution of such
modified software in combination with Moodle trade marks can potentially
mislead others in the community. To be clear, the GNU GPL does not include an
implied right or licence to use Moodle's trade marks.
* Referring to the software or the Moodle project.
* Describing your own Moodle implementation (including within corporate
settings).
We do all this to protect the very business model that allows us to continue
developing various Moodle software solutions for you.
Allowed uses of "Moodle"
------------------------
The following uses don't require any permission at all:
* Referring to the software or the Moodle project as the "Moodle™ software"
or the "Moodle™ project"
* Describing your own implementation of the Moodle™ software platform
(including within corporate settings).
* Describing a Moodle-based community hub.
* Describing some software youve made that integrates with Moodle
(eg a Moodle integration feature on another system).
* Describing certain software you've made that integrates with Moodle
branded software (e.g. a Moodle integration feature on another system).
Restricted uses
---------------
Restricted uses of "Moodle"
---------------------------
The following uses are generally prohibited without explicit and direct
permission being granted to you by Moodle Pty Ltd. We do this to protect the
Moodle project from software and sites which could confuse people. Please
contact us to ask for permission in writing.
Moodle project from software and sites which could confuse people. If in
doubt, reach out for clarification at <trademarks@moodle.com>
* You cant use "Moodle" in the name of your software (including Mobile apps)
* You cant use "Moodle" in your company name
* You cant use "Moodle" in your domain name
* You cant use "Moodle" in advertising-related keywords (such as Adsense)
* You cant use "Moodle" to describe services around Moodle (such as hosting,
training, support, consulting, course creation services, theme development,
customisation, installation, integration and certification). This applies
even if you do not charge for the services. Note that usually only Moodle
Partners have this permission.
For information about the Moodle Partner Certification Mark as well as for how
to contact us, please see <https://moodle.com/trademarks/>.
* You can't use the word "Moodle" or any Moodle logos for commercial purposes
without prior written permission from Moodle HQ.
* You can't use "Moodle" in the name of your software (including Mobile apps).
* You can't use "Moodle" in your company name.
* You can't use "Moodle" in your domain name.
* You can't use "Moodle" in advertising-related keywords (such as Adsense).
* You can't use "Moodle" to describe services around Moodle
(such as hosting, training, support, consulting, course creation services,
theme development, customisation, installation, integration, analytics
and certification) that cause consumers to be confused that you are
associated with Moodle HQ if you are not.
This applies even if you do not charge for the services.
Note that usually only Moodle Partners have this permission.
+1216
View File
File diff suppressed because it is too large Load Diff
+9
View File
@@ -0,0 +1,9 @@
# core_admin (subsystem) Upgrade notes
## 4.5rc1
### Removed
- The HTTP Server setting "Use slash arguments" (slasharguments) configuration setting and related to it has been removed. Calling the option with $CFG->slasharguments or get_config('slasharguments') is no longer available.
For more information see [MDL-62640](https://tracker.moodle.org/browse/MDL-62640)
+65
View File
@@ -0,0 +1,65 @@
<?php
// This file is part of Moodle - http://moodle.org/
//
// Moodle is free software: you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
// the Free Software Foundation, either version 3 of the License, or
// (at your option) any later version.
//
// Moodle is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License for more details.
//
// You should have received a copy of the GNU General Public License
// along with Moodle. If not, see <http://www.gnu.org/licenses/>.
/**
* Manage AI subsystem plugins settings.
*
* @package core_admin
* @copyright 2024 Matt Porritt <matt.porritt@moodle.com>
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
*/
require_once('../config.php');
require_once($CFG->libdir . '/adminlib.php');
$action = required_param('action', PARAM_ALPHANUMEXT);
$type = required_param('type', PARAM_PLUGIN); // Must be provider or placement.
$name = required_param('name', PARAM_PLUGIN); // Plugin name, e.g openai.
$syscontext = context_system::instance();
$PAGE->set_url('/admin/ai.php');
$PAGE->set_context($syscontext);
require_admin();
require_sesskey();
$return = new moodle_url('/admin/settings.php', ['section' => "aisettings$type"]);
$plugins = core_plugin_manager::instance()->get_plugins_of_type("ai$type");
$sortorder = array_flip(array_keys($plugins));
if (!isset($plugins[$name])) {
throw new moodle_exception('aipluginnotfound', 'core_ai', $return, $name);
}
$plugintypename = $plugins[$name]->type . '_' . $plugins[$name]->name;
switch ($action) {
case 'disable':
if ($plugins[$name]->is_enabled()) {
$class = core_plugin_manager::resolve_plugininfo_class("aisettings$type");
$class::enable_plugin($name, false);
}
break;
case 'enable':
if (!$plugins[$name]->is_enabled()) {
$class = core_plugin_manager::resolve_plugininfo_class("aisettings$type");
$class::enable_plugin($name, true);
}
break;
}
redirect($return);
+3
View File
@@ -0,0 +1,3 @@
define("core_admin/block_management_table",["exports","./plugin_management_table","core_table/dynamic","core/ajax","core/pending","core/notification"],(function(_exports,_plugin_management_table,_dynamic,_ajax,_pending,_notification){function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}Object.defineProperty(_exports,"__esModule",{value:!0}),_exports.default=void 0,_plugin_management_table=_interopRequireDefault(_plugin_management_table),_pending=_interopRequireDefault(_pending);class _default extends _plugin_management_table.default{constructor(){super(),this.addClickHandler(this.handleBlockProtectToggle)}setBlockProtectState(plugin,state){return(0,_ajax.call)([{methodname:"core_admin_set_block_protection",args:{plugin:plugin,state:state}}])[0]}async handleBlockProtectToggle(tableRoot,e){const stateToggle=e.target.closest('[data-action="toggleprotectstate"]');if(stateToggle){e.preventDefault();const pendingPromise=new _pending.default("core_table/dynamic:processAction");await this.setBlockProtectState(stateToggle.dataset.plugin,"1"===stateToggle.dataset.targetState?1:0);const[updatedRoot]=await Promise.all([(0,_dynamic.refreshTableContent)(tableRoot),(0,_notification.fetchNotifications)()]);updatedRoot.querySelector('[data-action="toggleprotectstate"][data-plugin="'.concat(stateToggle.dataset.plugin,'"]')).focus(),pendingPromise.resolve()}}}return _exports.default=_default,_exports.default}));
//# sourceMappingURL=block_management_table.min.js.map
@@ -0,0 +1 @@
{"version":3,"file":"block_management_table.min.js","sources":["../src/block_management_table.js"],"sourcesContent":["// This file is part of Moodle - http://moodle.org/\n//\n// Moodle is free software: you can redistribute it and/or modify\n// it under the terms of the GNU General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// Moodle is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU General Public License for more details.\n//\n// You should have received a copy of the GNU General Public License\n// along with Moodle. If not, see <http://www.gnu.org/licenses/>.\n\nimport PluginManagementTable from './plugin_management_table';\nimport {refreshTableContent} from 'core_table/dynamic';\nimport {call as fetchMany} from 'core/ajax';\nimport Pending from 'core/pending';\nimport {fetchNotifications} from 'core/notification';\n\nexport default class extends PluginManagementTable {\n constructor() {\n super();\n this.addClickHandler(this.handleBlockProtectToggle);\n }\n\n /**\n * Set the block protection state.\n *\n * @param {string} plugin\n * @param {number} state\n * @returns {Promise}\n */\n setBlockProtectState(plugin, state) {\n return fetchMany([{\n methodname: 'core_admin_set_block_protection',\n args: {\n plugin,\n state,\n },\n }])[0];\n }\n\n /**\n * Handle toggling of block protection.\n *\n * @param {HTMLElement} tableRoot\n * @param {Event} e\n */\n async handleBlockProtectToggle(tableRoot, e) {\n const stateToggle = e.target.closest('[data-action=\"toggleprotectstate\"]');\n if (stateToggle) {\n e.preventDefault();\n const pendingPromise = new Pending('core_table/dynamic:processAction');\n\n await this.setBlockProtectState(\n stateToggle.dataset.plugin,\n stateToggle.dataset.targetState === '1' ? 1 : 0\n );\n\n const [updatedRoot] = await Promise.all([\n refreshTableContent(tableRoot),\n fetchNotifications(),\n ]);\n\n // Refocus on the link that as pressed in the first place.\n updatedRoot.querySelector(`[data-action=\"toggleprotectstate\"][data-plugin=\"${stateToggle.dataset.plugin}\"]`).focus();\n pendingPromise.resolve();\n }\n }\n}\n"],"names":["PluginManagementTable","constructor","addClickHandler","this","handleBlockProtectToggle","setBlockProtectState","plugin","state","methodname","args","tableRoot","e","stateToggle","target","closest","preventDefault","pendingPromise","Pending","dataset","targetState","updatedRoot","Promise","all","querySelector","focus","resolve"],"mappings":"uhBAqB6BA,iCACzBC,2BAESC,gBAAgBC,KAAKC,0BAU9BC,qBAAqBC,OAAQC,cAClB,cAAU,CAAC,CACdC,WAAY,kCACZC,KAAM,CACFH,OAAAA,OACAC,MAAAA,UAEJ,kCASuBG,UAAWC,SAChCC,YAAcD,EAAEE,OAAOC,QAAQ,yCACjCF,YAAa,CACbD,EAAEI,uBACIC,eAAiB,IAAIC,iBAAQ,0CAE7Bd,KAAKE,qBACPO,YAAYM,QAAQZ,OACgB,MAApCM,YAAYM,QAAQC,YAAsB,EAAI,SAG3CC,mBAAqBC,QAAQC,IAAI,EACpC,gCAAoBZ,YACpB,wCAIJU,YAAYG,wEAAiEX,YAAYM,QAAQZ,cAAYkB,QAC7GR,eAAeS"}
+10
View File
@@ -0,0 +1,10 @@
define("core_admin/bulk_user_actions",["exports","core_reportbuilder/local/selectors","core_table/local/dynamic/events","core_form/changechecker","core/custom_interaction_events","jquery"],(function(_exports,reportSelectors,tableEvents,FormChangeChecker,CustomEvents,_jquery){var obj;function _getRequireWildcardCache(nodeInterop){if("function"!=typeof WeakMap)return null;var cacheBabelInterop=new WeakMap,cacheNodeInterop=new WeakMap;return(_getRequireWildcardCache=function(nodeInterop){return nodeInterop?cacheNodeInterop:cacheBabelInterop})(nodeInterop)}function _interopRequireWildcard(obj,nodeInterop){if(!nodeInterop&&obj&&obj.__esModule)return obj;if(null===obj||"object"!=typeof obj&&"function"!=typeof obj)return{default:obj};var cache=_getRequireWildcardCache(nodeInterop);if(cache&&cache.has(obj))return cache.get(obj);var newObj={},hasPropertyDescriptor=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var key in obj)if("default"!==key&&Object.prototype.hasOwnProperty.call(obj,key)){var desc=hasPropertyDescriptor?Object.getOwnPropertyDescriptor(obj,key):null;desc&&(desc.get||desc.set)?Object.defineProperty(newObj,key,desc):newObj[key]=obj[key]}return newObj.default=obj,cache&&cache.set(obj,newObj),newObj}
/**
* Add bulk actions to the users list report
*
* @module core_admin/bulk_user_actions
* @copyright 2024 Marina Glancy
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
*/Object.defineProperty(_exports,"__esModule",{value:!0}),_exports.init=void 0,reportSelectors=_interopRequireWildcard(reportSelectors),tableEvents=_interopRequireWildcard(tableEvents),FormChangeChecker=_interopRequireWildcard(FormChangeChecker),CustomEvents=_interopRequireWildcard(CustomEvents),_jquery=(obj=_jquery)&&obj.__esModule?obj:{default:obj};const Selectors_bulkActionsForm="form#user-bulk-action-form",Selectors_userReportWrapper='[data-region="report-user-list-wrapper"]',Selectors_checkbox='input[type="checkbox"][data-togglegroup="report-select-all"][data-toggle="slave"]',Selectors_masterCheckbox='input[type="checkbox"][data-togglegroup="report-select-all"][data-toggle="master"]',Selectors_checkedRows='[data-togglegroup="report-select-all"][data-toggle="slave"]:checked';_exports.init=()=>{var _userBulkForm$closest;const userBulkForm=document.querySelector(Selectors_bulkActionsForm),userReport=null==userBulkForm||null===(_userBulkForm$closest=userBulkForm.closest(Selectors_userReportWrapper))||void 0===_userBulkForm$closest?void 0:_userBulkForm$closest.querySelector(reportSelectors.regions.report);if(!userBulkForm||!userReport)return;const actionSelect=userBulkForm.querySelector("select");CustomEvents.define(actionSelect,[CustomEvents.events.accessibleChange]),(0,_jquery.default)(actionSelect).on(CustomEvents.events.accessibleChange,(event=>{if(event.target.value&&"0"!=="".concat(event.target.value)){const e=new Event("submit",{cancelable:!0});userBulkForm.dispatchEvent(e),e.defaultPrevented||(FormChangeChecker.markFormSubmitted(userBulkForm),userBulkForm.submit())}}));const updateUserIds=()=>{const selectedUsers=[...userReport.querySelectorAll(Selectors_checkedRows)],selectedUserIds=selectedUsers.map((check=>parseInt(check.value)));userBulkForm.querySelector('[name="userids"]').value=selectedUserIds.join(","),actionSelect.disabled=0===selectedUsers.length,actionSelect.disabled&&(actionSelect.value="0");const selectedUsersNames=selectedUsers.map((check=>document.querySelector('label[for="'.concat(check.id,'"]')).textContent));userBulkForm.data={userids:selectedUserIds,usernames:selectedUsersNames}};updateUserIds(),document.addEventListener("change",(event=>{(event.target.matches(Selectors_checkbox)||event.target.matches(Selectors_masterCheckbox))&&userReport.contains(event.target)&&updateUserIds()})),document.addEventListener(tableEvents.tableContentRefreshed,(event=>{userReport.contains(event.target)&&updateUserIds()}))}}));
//# sourceMappingURL=bulk_user_actions.min.js.map
File diff suppressed because one or more lines are too long
+12
View File
@@ -0,0 +1,12 @@
define("core_admin/expand_hash",["exports"],(function(_exports){Object.defineProperty(_exports,"__esModule",{value:!0}),_exports.init=_exports.expandSection=void 0;
/**
* Expand the collapse section element.
*
* @module core_admin/expand_hash
* @copyright Meirza <meirza.arson@moodle.com>
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
* @since 4.5
*/
const SELECTORS_COLLAPSE_ELEMENTS='[data-toggle="collapse"]',SELECTORS_FOCUSTHENEXPAND_ELEMENTS=".focus-expand";_exports.init=()=>{const focusexpand=document.querySelector(SELECTORS_FOCUSTHENEXPAND_ELEMENTS);null==focusexpand||focusexpand.addEventListener("click",(()=>{expandSection("".concat(focusexpand.getAttribute("href")))}))};const expandSection=hash=>{const container=document.querySelector(hash),targetContainer=null==container?void 0:container.querySelector(SELECTORS_COLLAPSE_ELEMENTS);if("false"===(null==targetContainer?void 0:targetContainer.getAttribute("aria-expanded"))){const collapseId=targetContainer.getAttribute("aria-controls"),collapseContainer=document.getElementById(collapseId);collapseContainer.classList.remove("collapse"),collapseContainer.classList.add("show"),targetContainer.setAttribute("aria-expanded","true"),targetContainer.classList.remove("collapsed");const collapseElement=document.querySelector(".collapseexpand.collapsemenu");collapseElement.setAttribute("aria-expanded","true"),collapseElement.classList.remove("collapsed")}};_exports.expandSection=expandSection}));
//# sourceMappingURL=expand_hash.min.js.map
+1
View File
@@ -0,0 +1 @@
{"version":3,"file":"expand_hash.min.js","sources":["../src/expand_hash.js"],"sourcesContent":["// This file is part of Moodle - http://moodle.org/\n//\n// Moodle is free software: you can redistribute it and/or modify\n// it under the terms of the GNU General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// Moodle is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU General Public License for more details.\n//\n// You should have received a copy of the GNU General Public License\n// along with Moodle. If not, see <http://www.gnu.org/licenses/>.\n\n/**\n * Expand the collapse section element.\n *\n * @module core_admin/expand_hash\n * @copyright Meirza <meirza.arson@moodle.com>\n * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later\n * @since 4.5\n */\n\nconst SELECTORS = {\n COLLAPSE_ELEMENTS: '[data-toggle=\"collapse\"]',\n FOCUSTHENEXPAND_ELEMENTS: '.focus-expand',\n};\n\n/**\n * Initializes the focus and expand functionality.\n */\nexport const init = () => {\n // Select all collapsible elements only.\n const focusexpand = document.querySelector(SELECTORS.FOCUSTHENEXPAND_ELEMENTS);\n\n // Add click event listener to the anchor element\n focusexpand?.addEventListener('click', () => {\n expandSection(`${focusexpand.getAttribute('href')}`);\n });\n};\n\n/**\n * Expands a section based on the provided URL hash.\n *\n * This function takes a hash string, finds the corresponding element in the DOM,\n * and expands it if it is currently collapsed. It updates the necessary ARIA\n * attributes and classes to reflect the expanded state.\n *\n * @param {string} hash - The hash (e.g., '#elementId') of the element to expand.\n */\nexport const expandSection = (hash) => {\n const container = document.querySelector(hash);\n const targetContainer = container?.querySelector(SELECTORS.COLLAPSE_ELEMENTS);\n\n if (targetContainer?.getAttribute('aria-expanded') === 'false') {\n const collapseId = targetContainer.getAttribute('aria-controls');\n const collapseContainer = document.getElementById(collapseId);\n\n // Show the content.\n collapseContainer.classList.remove('collapse');\n collapseContainer.classList.add('show');\n\n // Update aria-expanded attribute to reflect the new state.\n targetContainer.setAttribute('aria-expanded', 'true');\n targetContainer.classList.remove('collapsed');\n\n // Get collapse expand menu element.\n const collapseElement = document.querySelector('.collapseexpand.collapsemenu');\n // Ensure it gets noticed to make it work.\n collapseElement.setAttribute('aria-expanded', 'true');\n collapseElement.classList.remove('collapsed');\n }\n};\n"],"names":["SELECTORS","focusexpand","document","querySelector","addEventListener","expandSection","getAttribute","hash","container","targetContainer","collapseId","collapseContainer","getElementById","classList","remove","add","setAttribute","collapseElement"],"mappings":";;;;;;;;;MAwBMA,4BACiB,2BADjBA,mCAEwB,8BAMV,WAEVC,YAAcC,SAASC,cAAcH,oCAG3CC,MAAAA,aAAAA,YAAaG,iBAAiB,SAAS,KACnCC,wBAAiBJ,YAAYK,aAAa,oBAarCD,cAAiBE,aACpBC,UAAYN,SAASC,cAAcI,MACnCE,gBAAkBD,MAAAA,iBAAAA,UAAWL,cAAcH,gCAEM,WAAnDS,MAAAA,uBAAAA,gBAAiBH,aAAa,kBAA8B,OACtDI,WAAaD,gBAAgBH,aAAa,iBAC1CK,kBAAoBT,SAASU,eAAeF,YAGlDC,kBAAkBE,UAAUC,OAAO,YACnCH,kBAAkBE,UAAUE,IAAI,QAGhCN,gBAAgBO,aAAa,gBAAiB,QAC9CP,gBAAgBI,UAAUC,OAAO,mBAG3BG,gBAAkBf,SAASC,cAAc,gCAE/Cc,gBAAgBD,aAAa,gBAAiB,QAC9CC,gBAAgBJ,UAAUC,OAAO"}
+3
View File
@@ -0,0 +1,3 @@
define("core_admin/plugin_management_table",["exports","core_table/dynamic","core_table/local/dynamic/selectors","core/ajax","core/pending","core/notification"],(function(_exports,_dynamic,Selectors,_ajax,_pending,_notification){var obj;function _getRequireWildcardCache(nodeInterop){if("function"!=typeof WeakMap)return null;var cacheBabelInterop=new WeakMap,cacheNodeInterop=new WeakMap;return(_getRequireWildcardCache=function(nodeInterop){return nodeInterop?cacheNodeInterop:cacheBabelInterop})(nodeInterop)}Object.defineProperty(_exports,"__esModule",{value:!0}),_exports.default=void 0,Selectors=function(obj,nodeInterop){if(!nodeInterop&&obj&&obj.__esModule)return obj;if(null===obj||"object"!=typeof obj&&"function"!=typeof obj)return{default:obj};var cache=_getRequireWildcardCache(nodeInterop);if(cache&&cache.has(obj))return cache.get(obj);var newObj={},hasPropertyDescriptor=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var key in obj)if("default"!==key&&Object.prototype.hasOwnProperty.call(obj,key)){var desc=hasPropertyDescriptor?Object.getOwnPropertyDescriptor(obj,key):null;desc&&(desc.get||desc.set)?Object.defineProperty(newObj,key,desc):newObj[key]=obj[key]}newObj.default=obj,cache&&cache.set(obj,newObj);return newObj}(Selectors),_pending=(obj=_pending)&&obj.__esModule?obj:{default:obj};let watching=!1;return _exports.default=class{constructor(){!function(obj,key,value){key in obj?Object.defineProperty(obj,key,{value:value,enumerable:!0,configurable:!0,writable:!0}):obj[key]=value}(this,"clickHandlers",[]),this.addClickHandler(this.handleStateToggle),this.addClickHandler(this.handleMoveUpDown),this.registerEventListeners()}static init(){watching||(watching=!0,new this)}addClickHandler(handler){this.clickHandlers.push(handler.bind(this))}registerEventListeners(){document.addEventListener("click",function(e){const tableRoot=this.getTableRoot(e);tableRoot&&this.clickHandlers.forEach((handler=>handler(tableRoot,e)))}.bind(this))}getTableRoot(e){const tableRoot=e.target.closest(Selectors.main.region);return tableRoot||!1}setPluginState(methodname,plugin,state){return(0,_ajax.call)([{methodname:methodname,args:{plugin:plugin,state:state}}])[0]}setPluginOrder(methodname,plugin,direction){return(0,_ajax.call)([{methodname:methodname,args:{plugin:plugin,direction:direction}}])[0]}async handleStateToggle(tableRoot,e){const stateToggle=e.target.closest('[data-action="togglestate"][data-toggle-method]');if(stateToggle){e.preventDefault();const pendingPromise=new _pending.default("core_table/dynamic:togglestate");await this.setPluginState(stateToggle.dataset.toggleMethod,stateToggle.dataset.plugin,"1"===stateToggle.dataset.state?0:1);const[updatedRoot]=await Promise.all([(0,_dynamic.refreshTableContent)(tableRoot),(0,_notification.fetchNotifications)()]);updatedRoot.querySelector('[data-action="togglestate"][data-plugin="'.concat(stateToggle.dataset.plugin,'"]')).focus(),this.removeTooltips(),pendingPromise.resolve()}}async handleMoveUpDown(tableRoot,e){const actionLink=e.target.closest('[data-action="move"][data-method][data-direction]');if(!actionLink)return;e.preventDefault();const pendingPromise=new _pending.default("core_table/dynamic:processAction");await this.setPluginOrder(actionLink.dataset.method,actionLink.dataset.plugin,"up"===actionLink.dataset.direction?-1:1);const[updatedRoot]=await Promise.all([(0,_dynamic.refreshTableContent)(tableRoot),(0,_notification.fetchNotifications)()]),exactMatch=updatedRoot.querySelector('[data-action="move"][data-plugin="'.concat(actionLink.dataset.plugin,'"][data-direction="').concat(actionLink.dataset.direction,'"]'));var _updatedRoot$querySel;exactMatch?exactMatch.focus():null===(_updatedRoot$querySel=updatedRoot.querySelector('[data-action="move"][data-plugin="'.concat(actionLink.dataset.plugin,'"]')))||void 0===_updatedRoot$querySel||_updatedRoot$querySel.focus();pendingPromise.resolve()}removeTooltips(){const tooltips=document.querySelectorAll('[id*="tooltip"]');tooltips.length>0&&tooltips.forEach((tooltip=>{tooltip.remove()}))}},_exports.default}));
//# sourceMappingURL=plugin_management_table.min.js.map
File diff suppressed because one or more lines are too long
+11
View File
@@ -0,0 +1,11 @@
define("core_admin/plugins_overview",["exports"],(function(_exports){Object.defineProperty(_exports,"__esModule",{value:!0}),_exports.init=function(){const filters=document.querySelectorAll(SELECTORS_PLUGIN_FILTERS),pluginRows=document.querySelectorAll(SELECTORS_PLUGIN_ROWS),pluginTypeRows=document.querySelectorAll(SELECTORS_PLUGIN_TYPE_ROWS),filterPlugins=target=>{const filterBy=target.getAttribute("data-filterby"),headerVisibility={};for(const row of pluginRows){const type=[...row.classList].find((s=>s.startsWith("type-"))),visible="all"===filterBy||row.classList.contains(filterBy);row.style.display=visible?null:"none",visible&&type&&(headerVisibility[type]=!0)}for(const row of pluginTypeRows){const type=[...row.classList].find((s=>s.startsWith("type-")));if(type){const visible="all"===filterBy||headerVisibility[type];row.style.display=visible?null:"none"}}filters.forEach((el=>el.classList.remove("active"))),target.classList.add("active")};if(filters.forEach((target=>target.addEventListener("click",(e=>{e.preventDefault(),window.history.replaceState({},null,e.target.href),filterPlugins(target)})))),window.location.hash.length>1){const anchor=window.location.hash.substring(1),target=[...filters].find((t=>t.getAttribute("data-filterby")===anchor));target&&filterPlugins(target)}};
/**
* Allows to filter the plugin list on plugins overview page
*
* @module core_admin/plugins_overview
* @copyright 2024 Marina Glancy
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
*/
const SELECTORS_PLUGIN_FILTERS="#plugins-overview-panel [data-filterby]",SELECTORS_PLUGIN_ROWS="table#plugins-control-panel tbody tr:not(.plugintypeheader)",SELECTORS_PLUGIN_TYPE_ROWS="table#plugins-control-panel tbody tr.plugintypeheader"}));
//# sourceMappingURL=plugins_overview.min.js.map
@@ -0,0 +1 @@
{"version":3,"file":"plugins_overview.min.js","sources":["../src/plugins_overview.js"],"sourcesContent":["// This file is part of Moodle - http://moodle.org/\n//\n// Moodle is free software: you can redistribute it and/or modify\n// it under the terms of the GNU General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// Moodle is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU General Public License for more details.\n//\n// You should have received a copy of the GNU General Public License\n// along with Moodle. If not, see <http://www.gnu.org/licenses/>.\n\n/**\n * Allows to filter the plugin list on plugins overview page\n *\n * @module core_admin/plugins_overview\n * @copyright 2024 Marina Glancy\n * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later\n */\n\nconst SELECTORS = {\n PLUGIN_FILTERS: '#plugins-overview-panel [data-filterby]',\n PLUGIN_ROWS: 'table#plugins-control-panel tbody tr:not(.plugintypeheader)',\n PLUGIN_TYPE_ROWS: 'table#plugins-control-panel tbody tr.plugintypeheader',\n};\n\n/**\n * Initialise filters for the \"Plugins overview\" page\n */\nexport function init() {\n const filters = document.querySelectorAll(SELECTORS.PLUGIN_FILTERS);\n const pluginRows = document.querySelectorAll(SELECTORS.PLUGIN_ROWS);\n const pluginTypeRows = document.querySelectorAll(SELECTORS.PLUGIN_TYPE_ROWS);\n\n const filterPlugins = (target) => {\n const filterBy = target.getAttribute('data-filterby');\n const headerVisibility = {};\n\n // Hide all plugin rows in the plugin table that do not match the filter and show all others.\n for (const row of pluginRows) {\n const type = [...row.classList].find(s => s.startsWith('type-'));\n const visible = filterBy === 'all' ? true : row.classList.contains(filterBy);\n row.style.display = visible ? null : 'none';\n if (visible && type) {\n headerVisibility[type] = true;\n }\n }\n\n // Hide all the plugin type headers that do not have any visible plugins and show all others.\n for (const row of pluginTypeRows) {\n const type = [...row.classList].find(s => s.startsWith('type-'));\n if (type) {\n const visible = filterBy === 'all' || headerVisibility[type];\n row.style.display = visible ? null : 'none';\n }\n }\n\n // Toggle 'active' class for the selected filter.\n filters.forEach(el => el.classList.remove('active'));\n target.classList.add('active');\n };\n\n // Add event listeners for the links changing plugins filters.\n filters\n .forEach(target => target.addEventListener('click', (e) => {\n e.preventDefault();\n window.history.replaceState({}, null, e.target.href);\n filterPlugins(target);\n }));\n\n // Pre-filter plugins based on the current url anchor.\n if (window.location.hash.length > 1) {\n const anchor = window.location.hash.substring(1);\n const target = [...filters].find(t => t.getAttribute('data-filterby') === anchor);\n if (target) {\n filterPlugins(target);\n }\n }\n}\n"],"names":["filters","document","querySelectorAll","SELECTORS","pluginRows","pluginTypeRows","filterPlugins","target","filterBy","getAttribute","headerVisibility","row","type","classList","find","s","startsWith","visible","contains","style","display","forEach","el","remove","add","addEventListener","e","preventDefault","window","history","replaceState","href","location","hash","length","anchor","substring","t"],"mappings":"4JAiCUA,QAAUC,SAASC,iBAAiBC,0BACpCC,WAAaH,SAASC,iBAAiBC,uBACvCE,eAAiBJ,SAASC,iBAAiBC,4BAE3CG,cAAiBC,eACbC,SAAWD,OAAOE,aAAa,iBAC/BC,iBAAmB,OAGpB,MAAMC,OAAOP,WAAY,OACpBQ,KAAO,IAAID,IAAIE,WAAWC,MAAKC,GAAKA,EAAEC,WAAW,WACjDC,QAAuB,QAAbT,UAA4BG,IAAIE,UAAUK,SAASV,UACnEG,IAAIQ,MAAMC,QAAUH,QAAU,KAAO,OACjCA,SAAWL,OACXF,iBAAiBE,OAAQ,OAK5B,MAAMD,OAAON,eAAgB,OACxBO,KAAO,IAAID,IAAIE,WAAWC,MAAKC,GAAKA,EAAEC,WAAW,cACnDJ,KAAM,OACAK,QAAuB,QAAbT,UAAsBE,iBAAiBE,MACvDD,IAAIQ,MAAMC,QAAUH,QAAU,KAAO,QAK7CjB,QAAQqB,SAAQC,IAAMA,GAAGT,UAAUU,OAAO,YAC1ChB,OAAOM,UAAUW,IAAI,cAIzBxB,QACCqB,SAAQd,QAAUA,OAAOkB,iBAAiB,SAAUC,IACjDA,EAAEC,iBACFC,OAAOC,QAAQC,aAAa,GAAI,KAAMJ,EAAEnB,OAAOwB,MAC/CzB,cAAcC,aAIdqB,OAAOI,SAASC,KAAKC,OAAS,EAAG,OAC3BC,OAASP,OAAOI,SAASC,KAAKG,UAAU,GACxC7B,OAAS,IAAIP,SAASc,MAAKuB,GAAKA,EAAE5B,aAAa,mBAAqB0B,SACtE5B,QACAD,cAAcC;;;;;;;;MAvDpBJ,yBACc,0CADdA,sBAEW,8DAFXA,2BAGgB"}
+10
View File
@@ -0,0 +1,10 @@
define("core_admin/themeselector/preview_modal",["exports","core/modal_events","core/modal_cancel","core/modal_save_cancel","core/notification","core/templates","core/str"],(function(_exports,_modal_events,_modal_cancel,_modal_save_cancel,_notification,_templates,_str){function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}
/**
* Modal for theme previews.
*
* @module core_admin/themeselector/preview_modal
* @copyright 2023 David Woloszyn <david.woloszyn@moodle.com>
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
*/Object.defineProperty(_exports,"__esModule",{value:!0}),_exports.init=void 0,_modal_events=_interopRequireDefault(_modal_events),_modal_cancel=_interopRequireDefault(_modal_cancel),_modal_save_cancel=_interopRequireDefault(_modal_save_cancel),_notification=_interopRequireDefault(_notification),_templates=_interopRequireDefault(_templates);const SELECTORS_THEMES_CONTAINER="themelist",SELECTORS_PREVIEW='[data-action="preview"]';_exports.init=()=>{registerListenerEvents()};const registerListenerEvents=()=>{document.addEventListener("click",(e=>{const preview=e.target.closest(SELECTORS_PREVIEW);preview&&buildModal(preview).catch(_notification.default.exception)}))},buildModal=async element=>{let description=await(0,_str.getString)("choosereadme","theme_"+element.getAttribute("data-choose"));const themesContainer=document.getElementById(SELECTORS_THEMES_CONTAINER),definedInConfig=parseInt(themesContainer.dataset.definedinconfig),data={name:element.getAttribute("data-name"),image:element.getAttribute("data-image"),description:description.replace(/<[^>]+>/g," "),current:element.getAttribute("data-current"),actionurl:element.getAttribute("data-actionurl"),choose:element.getAttribute("data-choose"),sesskey:element.getAttribute("data-sesskey"),definedinconfig:definedInConfig};let modalTemplate=_modal_save_cancel.default;(data.current||data.definedinconfig)&&(modalTemplate=_modal_cancel.default);const modal=await modalTemplate.create({title:data.name,body:_templates.default.render("core_admin/themeselector/theme_preview_modal",data),large:!0,buttons:{save:(0,_str.getString)("selecttheme","moodle"),cancel:(0,_str.getString)("closebuttontitle","moodle")},show:!0});modal.getRoot().on(_modal_events.default.save,(()=>{modal.getRoot().find("form").submit()}))}}));
//# sourceMappingURL=preview_modal.min.js.map
@@ -0,0 +1 @@
{"version":3,"file":"preview_modal.min.js","sources":["../../src/themeselector/preview_modal.js"],"sourcesContent":["// This file is part of Moodle - http://moodle.org/\n//\n// Moodle is free software: you can redistribute it and/or modify\n// it under the terms of the GNU General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// Moodle is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU General Public License for more details.\n//\n// You should have received a copy of the GNU General Public License\n// along with Moodle. If not, see <http://www.gnu.org/licenses/>.\n\n/**\n * Modal for theme previews.\n *\n * @module core_admin/themeselector/preview_modal\n * @copyright 2023 David Woloszyn <david.woloszyn@moodle.com>\n * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later\n */\n\nimport ModalEvents from 'core/modal_events';\nimport ModalCancel from 'core/modal_cancel';\nimport ModalSaveCancel from 'core/modal_save_cancel';\nimport Notification from 'core/notification';\nimport Templates from 'core/templates';\nimport {getString} from 'core/str';\n\nconst SELECTORS = {\n THEMES_CONTAINER: 'themelist',\n PREVIEW: '[data-action=\"preview\"]',\n};\n\n/**\n * Entrypoint of the js.\n *\n * @method init\n */\nexport const init = () => {\n registerListenerEvents();\n};\n\n/**\n * Register theme related event listeners.\n *\n * @method registerListenerEvents\n */\nconst registerListenerEvents = () => {\n document.addEventListener('click', (e) => {\n const preview = e.target.closest(SELECTORS.PREVIEW);\n if (preview) {\n buildModal(preview).catch(Notification.exception);\n }\n });\n};\n\n/**\n * Build the modal with the provided data.\n *\n * @method buildModal\n * @param {object} element\n */\nconst buildModal = async(element) => {\n\n // This string can be long. We will fetch it with JS as opposed to passing it as an attribute.\n let description = await getString('choosereadme', 'theme_' + element.getAttribute('data-choose'));\n\n const themesContainer = document.getElementById(SELECTORS.THEMES_CONTAINER);\n const definedInConfig = parseInt(themesContainer.dataset.definedinconfig);\n // Prepare data for modal.\n const data = {\n name: element.getAttribute('data-name'),\n image: element.getAttribute('data-image'),\n description: description.replace(/<[^>]+>/g, ' '), // Strip out HTML tags.\n current: element.getAttribute('data-current'),\n actionurl: element.getAttribute('data-actionurl'),\n choose: element.getAttribute('data-choose'),\n sesskey: element.getAttribute('data-sesskey'),\n definedinconfig: definedInConfig,\n };\n\n // Determine which modal template we should use.\n let modalTemplate = ModalSaveCancel;\n if (data.current || data.definedinconfig) {\n modalTemplate = ModalCancel;\n }\n\n const modal = await modalTemplate.create({\n title: data.name,\n body: Templates.render('core_admin/themeselector/theme_preview_modal', data),\n large: true,\n buttons: {\n 'save': getString('selecttheme', 'moodle'),\n 'cancel': getString('closebuttontitle', 'moodle'),\n },\n show: true,\n });\n\n modal.getRoot().on(ModalEvents.save, () => {\n modal.getRoot().find('form').submit();\n });\n};\n"],"names":["SELECTORS","registerListenerEvents","document","addEventListener","e","preview","target","closest","buildModal","catch","Notification","exception","async","description","element","getAttribute","themesContainer","getElementById","definedInConfig","parseInt","dataset","definedinconfig","data","name","image","replace","current","actionurl","choose","sesskey","modalTemplate","ModalSaveCancel","ModalCancel","modal","create","title","body","Templates","render","large","buttons","show","getRoot","on","ModalEvents","save","find","submit"],"mappings":";;;;;;;gWA8BMA,2BACgB,YADhBA,kBAEO,wCAQO,KAChBC,gCAQEA,uBAAyB,KAC3BC,SAASC,iBAAiB,SAAUC,UAC1BC,QAAUD,EAAEE,OAAOC,QAAQP,mBAC7BK,SACAG,WAAWH,SAASI,MAAMC,sBAAaC,eAW7CH,WAAaI,MAAAA,cAGXC,kBAAoB,kBAAU,eAAgB,SAAWC,QAAQC,aAAa,sBAE5EC,gBAAkBd,SAASe,eAAejB,4BAC1CkB,gBAAkBC,SAASH,gBAAgBI,QAAQC,iBAEnDC,KAAO,CACTC,KAAMT,QAAQC,aAAa,aAC3BS,MAAOV,QAAQC,aAAa,cAC5BF,YAAaA,YAAYY,QAAQ,WAAY,KAC7CC,QAASZ,QAAQC,aAAa,gBAC9BY,UAAWb,QAAQC,aAAa,kBAChCa,OAAQd,QAAQC,aAAa,eAC7Bc,QAASf,QAAQC,aAAa,gBAC9BM,gBAAiBH,qBAIjBY,cAAgBC,4BAChBT,KAAKI,SAAWJ,KAAKD,mBACrBS,cAAgBE,6BAGdC,YAAcH,cAAcI,OAAO,CACrCC,MAAOb,KAAKC,KACZa,KAAMC,mBAAUC,OAAO,+CAAgDhB,MACvEiB,OAAO,EACPC,QAAS,OACG,kBAAU,cAAe,kBACvB,kBAAU,mBAAoB,WAE5CC,MAAM,IAGVR,MAAMS,UAAUC,GAAGC,sBAAYC,MAAM,KACjCZ,MAAMS,UAAUI,KAAK,QAAQC"}
+72
View File
@@ -0,0 +1,72 @@
// This file is part of Moodle - http://moodle.org/
//
// Moodle is free software: you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
// the Free Software Foundation, either version 3 of the License, or
// (at your option) any later version.
//
// Moodle is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License for more details.
//
// You should have received a copy of the GNU General Public License
// along with Moodle. If not, see <http://www.gnu.org/licenses/>.
import PluginManagementTable from './plugin_management_table';
import {refreshTableContent} from 'core_table/dynamic';
import {call as fetchMany} from 'core/ajax';
import Pending from 'core/pending';
import {fetchNotifications} from 'core/notification';
export default class extends PluginManagementTable {
constructor() {
super();
this.addClickHandler(this.handleBlockProtectToggle);
}
/**
* Set the block protection state.
*
* @param {string} plugin
* @param {number} state
* @returns {Promise}
*/
setBlockProtectState(plugin, state) {
return fetchMany([{
methodname: 'core_admin_set_block_protection',
args: {
plugin,
state,
},
}])[0];
}
/**
* Handle toggling of block protection.
*
* @param {HTMLElement} tableRoot
* @param {Event} e
*/
async handleBlockProtectToggle(tableRoot, e) {
const stateToggle = e.target.closest('[data-action="toggleprotectstate"]');
if (stateToggle) {
e.preventDefault();
const pendingPromise = new Pending('core_table/dynamic:processAction');
await this.setBlockProtectState(
stateToggle.dataset.plugin,
stateToggle.dataset.targetState === '1' ? 1 : 0
);
const [updatedRoot] = await Promise.all([
refreshTableContent(tableRoot),
fetchNotifications(),
]);
// Refocus on the link that as pressed in the first place.
updatedRoot.querySelector(`[data-action="toggleprotectstate"][data-plugin="${stateToggle.dataset.plugin}"]`).focus();
pendingPromise.resolve();
}
}
}
+97
View File
@@ -0,0 +1,97 @@
// This file is part of Moodle - http://moodle.org/
//
// Moodle is free software: you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
// the Free Software Foundation, either version 3 of the License, or
// (at your option) any later version.
//
// Moodle is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License for more details.
//
// You should have received a copy of the GNU General Public License
// along with Moodle. If not, see <http://www.gnu.org/licenses/>.
/**
* Add bulk actions to the users list report
*
* @module core_admin/bulk_user_actions
* @copyright 2024 Marina Glancy
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
*/
import * as reportSelectors from 'core_reportbuilder/local/selectors';
import * as tableEvents from 'core_table/local/dynamic/events';
import * as FormChangeChecker from 'core_form/changechecker';
import * as CustomEvents from 'core/custom_interaction_events';
import jQuery from 'jquery';
const Selectors = {
bulkActionsForm: 'form#user-bulk-action-form',
userReportWrapper: '[data-region="report-user-list-wrapper"]',
checkbox: 'input[type="checkbox"][data-togglegroup="report-select-all"][data-toggle="slave"]',
masterCheckbox: 'input[type="checkbox"][data-togglegroup="report-select-all"][data-toggle="master"]',
checkedRows: '[data-togglegroup="report-select-all"][data-toggle="slave"]:checked',
};
/**
* Initialise module
*/
export const init = () => {
const userBulkForm = document.querySelector(Selectors.bulkActionsForm);
const userReport = userBulkForm?.closest(Selectors.userReportWrapper)?.querySelector(reportSelectors.regions.report);
if (!userBulkForm || !userReport) {
return;
}
const actionSelect = userBulkForm.querySelector('select');
CustomEvents.define(actionSelect, [CustomEvents.events.accessibleChange]);
jQuery(actionSelect).on(CustomEvents.events.accessibleChange, event => {
if (event.target.value && `${event.target.value}` !== "0") {
const e = new Event('submit', {cancelable: true});
userBulkForm.dispatchEvent(e);
if (!e.defaultPrevented) {
FormChangeChecker.markFormSubmitted(userBulkForm);
userBulkForm.submit();
}
}
});
// Every time the checkboxes in the report are changed, update the list of users in the form values
// and enable/disable the action select.
const updateUserIds = () => {
const selectedUsers = [...userReport.querySelectorAll(Selectors.checkedRows)];
const selectedUserIds = selectedUsers.map(check => parseInt(check.value));
userBulkForm.querySelector('[name="userids"]').value = selectedUserIds.join(',');
// Disable the action selector if nothing selected, and reset the current selection.
actionSelect.disabled = selectedUsers.length === 0;
if (actionSelect.disabled) {
actionSelect.value = "0";
}
const selectedUsersNames = selectedUsers.map(check => document.querySelector(`label[for="${check.id}"]`).textContent);
// Add the user ids and names to the form data attributes so they can be available from the
// other JS modules that listen to the form submit event.
userBulkForm.data = {userids: selectedUserIds, usernames: selectedUsersNames};
};
updateUserIds();
document.addEventListener('change', event => {
// When checkboxes are checked next to individual users or the master toggle (Select all/none).
if ((event.target.matches(Selectors.checkbox) || event.target.matches(Selectors.masterCheckbox))
&& userReport.contains(event.target)) {
updateUserIds();
}
});
document.addEventListener(tableEvents.tableContentRefreshed, event => {
// When the report contents is updated (i.e. page is changed, filters applied, etc).
if (userReport.contains(event.target)) {
updateUserIds();
}
});
};
+74
View File
@@ -0,0 +1,74 @@
// This file is part of Moodle - http://moodle.org/
//
// Moodle is free software: you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
// the Free Software Foundation, either version 3 of the License, or
// (at your option) any later version.
//
// Moodle is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License for more details.
//
// You should have received a copy of the GNU General Public License
// along with Moodle. If not, see <http://www.gnu.org/licenses/>.
/**
* Expand the collapse section element.
*
* @module core_admin/expand_hash
* @copyright Meirza <meirza.arson@moodle.com>
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
* @since 4.5
*/
const SELECTORS = {
COLLAPSE_ELEMENTS: '[data-toggle="collapse"]',
FOCUSTHENEXPAND_ELEMENTS: '.focus-expand',
};
/**
* Initializes the focus and expand functionality.
*/
export const init = () => {
// Select all collapsible elements only.
const focusexpand = document.querySelector(SELECTORS.FOCUSTHENEXPAND_ELEMENTS);
// Add click event listener to the anchor element
focusexpand?.addEventListener('click', () => {
expandSection(`${focusexpand.getAttribute('href')}`);
});
};
/**
* Expands a section based on the provided URL hash.
*
* This function takes a hash string, finds the corresponding element in the DOM,
* and expands it if it is currently collapsed. It updates the necessary ARIA
* attributes and classes to reflect the expanded state.
*
* @param {string} hash - The hash (e.g., '#elementId') of the element to expand.
*/
export const expandSection = (hash) => {
const container = document.querySelector(hash);
const targetContainer = container?.querySelector(SELECTORS.COLLAPSE_ELEMENTS);
if (targetContainer?.getAttribute('aria-expanded') === 'false') {
const collapseId = targetContainer.getAttribute('aria-controls');
const collapseContainer = document.getElementById(collapseId);
// Show the content.
collapseContainer.classList.remove('collapse');
collapseContainer.classList.add('show');
// Update aria-expanded attribute to reflect the new state.
targetContainer.setAttribute('aria-expanded', 'true');
targetContainer.classList.remove('collapsed');
// Get collapse expand menu element.
const collapseElement = document.querySelector('.collapseexpand.collapsemenu');
// Ensure it gets noticed to make it work.
collapseElement.setAttribute('aria-expanded', 'true');
collapseElement.classList.remove('collapsed');
}
};
+195
View File
@@ -0,0 +1,195 @@
// This file is part of Moodle - http://moodle.org/
//
// Moodle is free software: you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
// the Free Software Foundation, either version 3 of the License, or
// (at your option) any later version.
//
// Moodle is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License for more details.
//
// You should have received a copy of the GNU General Public License
// along with Moodle. If not, see <http://www.gnu.org/licenses/>.
import {refreshTableContent} from 'core_table/dynamic';
import * as Selectors from 'core_table/local/dynamic/selectors';
import {call as fetchMany} from 'core/ajax';
import Pending from 'core/pending';
import {fetchNotifications} from 'core/notification';
let watching = false;
export default class {
/**
* @property {function[]} clickHandlers a list of handlers to call on click.
*/
clickHandlers = [];
constructor() {
this.addClickHandler(this.handleStateToggle);
this.addClickHandler(this.handleMoveUpDown);
this.registerEventListeners();
}
/**
* Initialise an instance of the class.
*
* This is just a way of making it easier to initialise an instance of the class from PHP.
*/
static init() {
if (watching) {
return;
}
watching = true;
new this();
}
/**
* Add a click handler to the list of handlers.
*
* @param {Function} handler A handler to call on a click event
*/
addClickHandler(handler) {
this.clickHandlers.push(handler.bind(this));
}
/**
* Register the event listeners for this instance.
*/
registerEventListeners() {
document.addEventListener('click', function(e) {
const tableRoot = this.getTableRoot(e);
if (!tableRoot) {
return;
}
this.clickHandlers.forEach((handler) => handler(tableRoot, e));
}.bind(this));
}
/**
* Get the table root from an event.
*
* @param {Event} e
* @returns {HTMLElement|bool}
*/
getTableRoot(e) {
const tableRoot = e.target.closest(Selectors.main.region);
if (!tableRoot) {
return false;
}
return tableRoot;
}
/**
* Set the plugin state (enabled or disabled)
*
* @param {string} methodname The web service to call
* @param {string} plugin The name of the plugin to set the state for
* @param {number} state The state to set
* @returns {Promise}
*/
setPluginState(methodname, plugin, state) {
return fetchMany([{
methodname,
args: {
plugin,
state,
},
}])[0];
}
setPluginOrder(methodname, plugin, direction) {
return fetchMany([{
methodname,
args: {
plugin,
direction,
},
}])[0];
}
/**
* Handle state toggling.
*
* @param {HTMLElement} tableRoot
* @param {Event} e
*/
async handleStateToggle(tableRoot, e) {
const stateToggle = e.target.closest('[data-action="togglestate"][data-toggle-method]');
if (stateToggle) {
e.preventDefault();
const pendingPromise = new Pending('core_table/dynamic:togglestate');
await this.setPluginState(
stateToggle.dataset.toggleMethod,
stateToggle.dataset.plugin,
stateToggle.dataset.state === '1' ? 0 : 1
);
const [updatedRoot] = await Promise.all([
refreshTableContent(tableRoot),
fetchNotifications(),
]);
// Refocus on the link that as pressed in the first place.
updatedRoot.querySelector(`[data-action="togglestate"][data-plugin="${stateToggle.dataset.plugin}"]`).focus();
// When clicking the toggle and it remains focused, a new tooltip will be generated.
// Therefore, the old tooltip should be removed.
this.removeTooltips();
pendingPromise.resolve();
}
}
async handleMoveUpDown(tableRoot, e) {
const actionLink = e.target.closest('[data-action="move"][data-method][data-direction]');
if (!actionLink) {
return;
}
e.preventDefault();
const pendingPromise = new Pending('core_table/dynamic:processAction');
await this.setPluginOrder(
actionLink.dataset.method,
actionLink.dataset.plugin,
actionLink.dataset.direction === 'up' ? -1 : 1,
);
const [updatedRoot] = await Promise.all([
refreshTableContent(tableRoot),
fetchNotifications(),
]);
// Refocus on the link that as pressed in the first place.
const exactMatch = updatedRoot.querySelector(
`[data-action="move"][data-plugin="${actionLink.dataset.plugin}"][data-direction="${actionLink.dataset.direction}"]`
);
if (exactMatch) {
exactMatch.focus();
} else {
// The move link is not present anymore, so we need to focus on the other one.
updatedRoot.querySelector(`[data-action="move"][data-plugin="${actionLink.dataset.plugin}"]`)?.focus();
}
pendingPromise.resolve();
}
/**
* Remove tooltips.
*/
removeTooltips() {
const tooltips = document.querySelectorAll('[id*="tooltip"]');
if (tooltips.length > 0) {
tooltips.forEach(tooltip => {
tooltip.remove();
});
}
}
}
+82
View File
@@ -0,0 +1,82 @@
// This file is part of Moodle - http://moodle.org/
//
// Moodle is free software: you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
// the Free Software Foundation, either version 3 of the License, or
// (at your option) any later version.
//
// Moodle is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License for more details.
//
// You should have received a copy of the GNU General Public License
// along with Moodle. If not, see <http://www.gnu.org/licenses/>.
/**
* Allows to filter the plugin list on plugins overview page
*
* @module core_admin/plugins_overview
* @copyright 2024 Marina Glancy
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
*/
const SELECTORS = {
PLUGIN_FILTERS: '#plugins-overview-panel [data-filterby]',
PLUGIN_ROWS: 'table#plugins-control-panel tbody tr:not(.plugintypeheader)',
PLUGIN_TYPE_ROWS: 'table#plugins-control-panel tbody tr.plugintypeheader',
};
/**
* Initialise filters for the "Plugins overview" page
*/
export function init() {
const filters = document.querySelectorAll(SELECTORS.PLUGIN_FILTERS);
const pluginRows = document.querySelectorAll(SELECTORS.PLUGIN_ROWS);
const pluginTypeRows = document.querySelectorAll(SELECTORS.PLUGIN_TYPE_ROWS);
const filterPlugins = (target) => {
const filterBy = target.getAttribute('data-filterby');
const headerVisibility = {};
// Hide all plugin rows in the plugin table that do not match the filter and show all others.
for (const row of pluginRows) {
const type = [...row.classList].find(s => s.startsWith('type-'));
const visible = filterBy === 'all' ? true : row.classList.contains(filterBy);
row.style.display = visible ? null : 'none';
if (visible && type) {
headerVisibility[type] = true;
}
}
// Hide all the plugin type headers that do not have any visible plugins and show all others.
for (const row of pluginTypeRows) {
const type = [...row.classList].find(s => s.startsWith('type-'));
if (type) {
const visible = filterBy === 'all' || headerVisibility[type];
row.style.display = visible ? null : 'none';
}
}
// Toggle 'active' class for the selected filter.
filters.forEach(el => el.classList.remove('active'));
target.classList.add('active');
};
// Add event listeners for the links changing plugins filters.
filters
.forEach(target => target.addEventListener('click', (e) => {
e.preventDefault();
window.history.replaceState({}, null, e.target.href);
filterPlugins(target);
}));
// Pre-filter plugins based on the current url anchor.
if (window.location.hash.length > 1) {
const anchor = window.location.hash.substring(1);
const target = [...filters].find(t => t.getAttribute('data-filterby') === anchor);
if (target) {
filterPlugins(target);
}
}
}
@@ -0,0 +1,104 @@
// This file is part of Moodle - http://moodle.org/
//
// Moodle is free software: you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
// the Free Software Foundation, either version 3 of the License, or
// (at your option) any later version.
//
// Moodle is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License for more details.
//
// You should have received a copy of the GNU General Public License
// along with Moodle. If not, see <http://www.gnu.org/licenses/>.
/**
* Modal for theme previews.
*
* @module core_admin/themeselector/preview_modal
* @copyright 2023 David Woloszyn <david.woloszyn@moodle.com>
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
*/
import ModalEvents from 'core/modal_events';
import ModalCancel from 'core/modal_cancel';
import ModalSaveCancel from 'core/modal_save_cancel';
import Notification from 'core/notification';
import Templates from 'core/templates';
import {getString} from 'core/str';
const SELECTORS = {
THEMES_CONTAINER: 'themelist',
PREVIEW: '[data-action="preview"]',
};
/**
* Entrypoint of the js.
*
* @method init
*/
export const init = () => {
registerListenerEvents();
};
/**
* Register theme related event listeners.
*
* @method registerListenerEvents
*/
const registerListenerEvents = () => {
document.addEventListener('click', (e) => {
const preview = e.target.closest(SELECTORS.PREVIEW);
if (preview) {
buildModal(preview).catch(Notification.exception);
}
});
};
/**
* Build the modal with the provided data.
*
* @method buildModal
* @param {object} element
*/
const buildModal = async(element) => {
// This string can be long. We will fetch it with JS as opposed to passing it as an attribute.
let description = await getString('choosereadme', 'theme_' + element.getAttribute('data-choose'));
const themesContainer = document.getElementById(SELECTORS.THEMES_CONTAINER);
const definedInConfig = parseInt(themesContainer.dataset.definedinconfig);
// Prepare data for modal.
const data = {
name: element.getAttribute('data-name'),
image: element.getAttribute('data-image'),
description: description.replace(/<[^>]+>/g, ' '), // Strip out HTML tags.
current: element.getAttribute('data-current'),
actionurl: element.getAttribute('data-actionurl'),
choose: element.getAttribute('data-choose'),
sesskey: element.getAttribute('data-sesskey'),
definedinconfig: definedInConfig,
};
// Determine which modal template we should use.
let modalTemplate = ModalSaveCancel;
if (data.current || data.definedinconfig) {
modalTemplate = ModalCancel;
}
const modal = await modalTemplate.create({
title: data.name,
body: Templates.render('core_admin/themeselector/theme_preview_modal', data),
large: true,
buttons: {
'save': getString('selecttheme', 'moodle'),
'cancel': getString('closebuttontitle', 'moodle'),
},
show: true,
});
modal.getRoot().on(ModalEvents.save, () => {
modal.getRoot().find('form').submit();
});
};
-210
View File
@@ -1,210 +0,0 @@
<?php
/**
* Edit configuration for an individual auth plugin
*/
require_once '../config.php';
require_once $CFG->libdir.'/adminlib.php';
$auth = required_param('auth', PARAM_PLUGIN);
$PAGE->set_pagetype('admin-auth-' . $auth);
admin_externalpage_setup('authsetting'.$auth);
$authplugin = get_auth_plugin($auth);
$err = array();
$returnurl = "$CFG->wwwroot/$CFG->admin/settings.php?section=manageauths";
debugging("Use of config.html files in authentication plugins have been deprecated. " .
" Please migrate your plugin to use the admin settings API", DEBUG_DEVELOPER);
// save configuration changes
if ($frm = data_submitted() and confirm_sesskey()) {
$authplugin->validate_form($frm, $err);
if (count($err) == 0) {
// save plugin config
if ($authplugin->process_config($frm)) {
// save field lock configuration
foreach ($frm as $name => $value) {
if (preg_match('/^lockconfig_(.+?)$/', $name, $matches)) {
$plugin = "auth/$auth";
$name = $matches[1];
set_config($name, $value, $plugin);
}
}
redirect($returnurl);
exit;
}
} else {
foreach ($err as $key => $value) {
$focus = "form.$key";
}
}
} else {
$frmlegacystyle = get_config('auth/'.$auth);
$frmnewstyle = get_config('auth_'.$auth);
$frm = (object)array_merge((array)$frmlegacystyle, (array)$frmnewstyle);
}
$user_fields = $authplugin->userfields;
//$user_fields = array("firstname", "lastname", "email", "phone1", "phone2", "institution", "department", "address", "city", "country", "description", "idnumber", "lang");
/// Get the auth title (from core or own auth lang files)
$authtitle = $authplugin->get_title();
/// Get the auth descriptions (from core or own auth lang files)
$authdescription = $authplugin->get_description();
// output configuration form
echo $OUTPUT->header();
// choose an authentication method
echo "<form id=\"authmenu\" method=\"post\" action=\"auth_config.php\">\n";
echo "<div>\n";
echo "<input type=\"hidden\" name=\"sesskey\" value=\"".sesskey()."\" />\n";
echo "<input type=\"hidden\" name=\"auth\" value=\"".$auth."\" />\n";
// auth plugin description
echo $OUTPUT->box_start();
echo $OUTPUT->heading($authtitle);
echo $OUTPUT->box_start('informationbox');
echo $authdescription;
echo $OUTPUT->box_end();
echo "<hr />\n";
$authplugin->config_form($frm, $err, $user_fields);
echo $OUTPUT->box_end();
echo '<p style="text-align: center"><input type="submit" value="' . get_string("savechanges") . "\" /></p>\n";
echo "</div>\n";
echo "</form>\n";
$PAGE->requires->string_for_js('unmaskpassword', 'core_form');
$PAGE->requires->yui_module('moodle-auth-passwordunmask', 'M.auth.passwordunmask');
echo $OUTPUT->footer();
exit;
/// Functions /////////////////////////////////////////////////////////////////
/**
* auth field locking
* Good enough for most auth plugins
* but some may want a custom one if they are offering
* other options
* Note: lockconfig_ fields have special handling.
*
* @param string $auth authentication plugin shortname
* @param array $user_fields user profile fields
* @param string $helptext help text to be displayed at top of form
* @param boolean $retrieveopts Map fields or lock only.
* @param boolean $updateopts Allow remote updates
* @param array $customfields list of custom profile fields
* @deprecated since Moodle 3.3
*/
function print_auth_lock_options($auth, $user_fields, $helptext, $retrieveopts, $updateopts, $customfields = array()) {
global $DB, $OUTPUT;
debugging("The function 'print_auth_lock_options' has been deprecated, " .
"Please migrate your code to use the admin settings API and use the function 'display_auth_lock_options' instead. ",
DEBUG_DEVELOPER);
echo '<tr><td colspan="3">';
if ($retrieveopts) {
echo $OUTPUT->heading(get_string('auth_data_mapping', 'auth'));
} else {
echo $OUTPUT->heading(get_string('auth_fieldlocks', 'auth'));
}
echo '</td></tr>';
$lockoptions = array ('unlocked' => get_string('unlocked', 'auth'),
'unlockedifempty' => get_string('unlockedifempty', 'auth'),
'locked' => get_string('locked', 'auth'));
$updatelocaloptions = array('oncreate' => get_string('update_oncreate', 'auth'),
'onlogin' => get_string('update_onlogin', 'auth'));
$updateextoptions = array('0' => get_string('update_never', 'auth'),
'1' => get_string('update_onupdate', 'auth'));
$pluginconfig = get_config("auth/$auth");
// Helptext is on a field with rowspan.
if (empty($helptext)) {
$helptext = '&nbsp;';
}
// If we have custom fields then merge them with user fields.
if (!empty($customfields)) {
$user_fields = array_merge($user_fields, $customfields);
}
if (!empty($customfields)) {
$customfieldname = $DB->get_records('user_info_field', null, '', 'shortname, name');
}
foreach ($user_fields as $field) {
// Define some vars we'll work with.
if (!isset($pluginconfig->{"field_map_$field"})) {
$pluginconfig->{"field_map_$field"} = '';
}
if (!isset($pluginconfig->{"field_updatelocal_$field"})) {
$pluginconfig->{"field_updatelocal_$field"} = '';
}
if (!isset($pluginconfig->{"field_updateremote_$field"})) {
$pluginconfig->{"field_updateremote_$field"} = '';
}
if (!isset($pluginconfig->{"field_lock_$field"})) {
$pluginconfig->{"field_lock_$field"} = '';
}
// Define the fieldname we display to the user.
$fieldname = $field;
if ($fieldname === 'lang') {
$fieldname = get_string('language');
} elseif (!empty($customfields) && in_array($field, $customfields)) {
// If custom field then pick name from database.
$fieldshortname = str_replace('profile_field_', '', $fieldname);
$fieldname = $customfieldname[$fieldshortname]->name;
if (core_text::strlen($fieldshortname) > 67) {
// If custom profile field name is longer than 67 characters we will not be able to store the setting
// such as 'field_updateremote_profile_field_NOTSOSHORTSHORTNAME' in the database because the character
// limit for the setting name is 100.
continue;
}
} else {
$fieldname = get_string($fieldname);
}
if ($retrieveopts) {
$varname = 'field_map_' . $field;
echo '<tr valign="top"><td align="right">';
echo '<label for="lockconfig_'.$varname.'">'.$fieldname.'</label>';
echo '</td><td>';
echo "<input id=\"lockconfig_{$varname}\" name=\"lockconfig_{$varname}\" type=\"text\" size=\"30\" value=\"{$pluginconfig->$varname}\" />";
echo '<div style="text-align: right">';
echo '<label for="menulockconfig_field_updatelocal_'.$field.'">'.get_string('auth_updatelocal', 'auth') . '</label>&nbsp;';
echo html_writer::select($updatelocaloptions, "lockconfig_field_updatelocal_{$field}", $pluginconfig->{"field_updatelocal_$field"}, false);
echo '<br />';
if ($updateopts) {
echo '<label for="menulockconfig_field_updateremote_'.$field.'">'.get_string('auth_updateremote', 'auth') . '</label>&nbsp;';
echo html_writer::select($updateextoptions, "lockconfig_field_updateremote_{$field}", $pluginconfig->{"field_updateremote_$field"}, false);
echo '<br />';
}
echo '<label for="menulockconfig_field_lock_'.$field.'">'.get_string('auth_fieldlock', 'auth') . '</label>&nbsp;';
echo html_writer::select($lockoptions, "lockconfig_field_lock_{$field}", $pluginconfig->{"field_lock_$field"}, false);
echo '</div>';
} else {
echo '<tr valign="top"><td align="right">';
echo '<label for="menulockconfig_field_lock_'.$field.'">'.$fieldname.'</label>';
echo '</td><td>';
echo html_writer::select($lockoptions, "lockconfig_field_lock_{$field}", $pluginconfig->{"field_lock_$field"}, false);
}
echo '</td>';
if (!empty($helptext)) {
echo '<td rowspan="' . count($user_fields) . '">' . $helptext . '</td>';
$helptext = '';
}
echo '</tr>';
}
}
+79 -224
View File
@@ -1,239 +1,94 @@
<?php
// This file is part of Moodle - http://moodle.org/
//
// Moodle is free software: you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
// the Free Software Foundation, either version 3 of the License, or
// (at your option) any later version.
//
// Moodle is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License for more details.
//
// You should have received a copy of the GNU General Public License
// along with Moodle. If not, see <http://www.gnu.org/licenses/>.
// Allows the admin to configure blocks (hide/show, uninstall and configure)
/**
* Allows the admin to configure blocks (hide/show, uninstall and configure)
*
* @package core_admin
* @copyright 2023 Andrew Lyons <andrew@nicols.co.uk>
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
*/
require_once('../config.php');
require_once($CFG->libdir.'/adminlib.php');
require_once($CFG->libdir.'/blocklib.php');
require_once($CFG->libdir.'/tablelib.php');
require_once('../config.php');
require_once("{$CFG->libdir}/adminlib.php");
require_once("{$CFG->libdir}/blocklib.php");
require_once("{$CFG->libdir}/tablelib.php");
admin_externalpage_setup('manageblocks');
admin_externalpage_setup('manageblocks');
$confirm = optional_param('confirm', 0, PARAM_BOOL);
$hide = optional_param('hide', 0, PARAM_INT);
$show = optional_param('show', 0, PARAM_INT);
$unprotect = optional_param('unprotect', 0, PARAM_INT);
$protect = optional_param('protect', 0, PARAM_INT);
$plugin = optional_param('plugin', '', PARAM_PLUGIN);
$action = optional_param('action', '', PARAM_ALPHA);
$unprotect = optional_param('unprotect', 0, PARAM_PLUGIN);
$protect = optional_param('protect', 0, PARAM_PLUGIN);
/// Print headings
$strmanageblocks = get_string('manageblocks');
$strmanageblocks = get_string('manageblocks');
$struninstall = get_string('uninstallplugin', 'core_admin');
$strversion = get_string('version');
$strhide = get_string('hide');
$strshow = get_string('show');
$strsettings = get_string('settings');
$strcourses = get_string('blockinstances', 'admin');
$strname = get_string('name');
$strshowblockcourse = get_string('showblockcourse');
$strprotecthdr = get_string('blockprotect', 'admin'). $OUTPUT->help_icon('blockprotect','admin');
$strprotect = get_string('blockprotect', 'admin');
$strunprotect = get_string('blockunprotect', 'admin');
// If data submitted, then process and store.
if (!empty($plugin) && !empty($action) && confirm_sesskey()) {
$manager = \core_plugin_manager::resolve_plugininfo_class('block');
$pluginname = get_string('pluginname', "block_{$plugin}");
// If data submitted, then process and store.
if (!empty($hide) && confirm_sesskey()) {
if (!$block = $DB->get_record('block', ['id' => $hide])) {
throw new \moodle_exception('blockdoesnotexist', 'error');
}
$class = \core_plugin_manager::resolve_plugininfo_class('block');
$class::enable_plugin($block->name, false);
// Settings not required - only pages.
admin_get_root(true, false);
}
if (!empty($show) && confirm_sesskey() ) {
if (!$block = $DB->get_record('block', ['id' => $show])) {
throw new \moodle_exception('blockdoesnotexist', 'error');
}
$class = \core_plugin_manager::resolve_plugininfo_class('block');
$class::enable_plugin($block->name, true);
// Settings not required - only pages.
admin_get_root(true, false);
}
if (!empty($protect) && confirm_sesskey()) {
block_manager::protect_block((int)$protect);
admin_get_root(true, false); // settings not required - only pages
}
if (!empty($unprotect) && confirm_sesskey()) {
block_manager::unprotect_block((int)$unprotect);
admin_get_root(true, false); // settings not required - only pages
}
$undeletableblocktypes = block_manager::get_undeletable_block_types();
echo $OUTPUT->header();
echo $OUTPUT->heading($strmanageblocks);
echo $OUTPUT->notification(get_string('noteunneededblocks', 'admin'), 'info');
/// Main display starts here
/// Get and sort the existing blocks
if (!$blocks = $DB->get_records('block', array(), 'name ASC')) {
throw new \moodle_exception('noblocks', 'error'); // Should never happen.
}
$incompatible = array();
/// Print the table of all blocks
$table = new flexible_table('admin-blocks-compatible');
$table->define_columns(array('name', 'instances', 'version', 'hideshow', 'undeletable', 'settings', 'uninstall'));
$table->define_headers(array($strname, $strcourses, $strversion, $strhide.'/'.$strshow, $strprotecthdr, $strsettings, $struninstall));
$table->define_baseurl($CFG->wwwroot.'/'.$CFG->admin.'/blocks.php');
$table->set_attribute('class', 'admintable blockstable generaltable');
$table->set_attribute('id', 'compatibleblockstable');
$table->setup();
$tablerows = array();
// Sort blocks using current locale.
$blocknames = array();
foreach ($blocks as $blockid=>$block) {
$blockname = $block->name;
if (file_exists("$CFG->dirroot/blocks/$blockname/block_$blockname.php")) {
$blocknames[$blockid] = get_string('pluginname', 'block_'.$blockname);
} else {
$blocknames[$blockid] = $blockname;
}
}
core_collator::asort($blocknames);
foreach ($blocknames as $blockid=>$strblockname) {
$block = $blocks[$blockid];
$blockname = $block->name;
$dbversion = get_config('block_'.$block->name, 'version');
if (!file_exists("$CFG->dirroot/blocks/$blockname/block_$blockname.php")) {
$blockobject = false;
$strblockname = '<span class="notifyproblem">'.$strblockname.' ('.get_string('missingfromdisk').')</span>';
$plugin = new stdClass();
$plugin->version = $dbversion;
} else {
$plugin = new stdClass();
$plugin->version = '???';
if (file_exists("$CFG->dirroot/blocks/$blockname/version.php")) {
include("$CFG->dirroot/blocks/$blockname/version.php");
}
if (!$blockobject = block_instance($block->name)) {
$incompatible[] = $block;
continue;
}
}
if ($uninstallurl = core_plugin_manager::instance()->get_uninstall_url('block_'.$blockname, 'manage')) {
$uninstall = html_writer::link($uninstallurl, $struninstall);
} else {
$uninstall = '';
}
$settings = ''; // By default, no configuration
if ($blockobject and $blockobject->has_config()) {
$blocksettings = admin_get_root()->locate('blocksetting' . $block->name);
if ($blocksettings instanceof admin_externalpage) {
$settings = '<a href="' . $blocksettings->url . '">' . get_string('settings') . '</a>';
} else if ($blocksettings instanceof admin_settingpage) {
$settings = '<a href="'.$CFG->wwwroot.'/'.$CFG->admin.'/settings.php?section=blocksetting'.$block->name.'">'.$strsettings.'</a>';
} else if (!file_exists($CFG->dirroot.'/blocks/'.$block->name.'/settings.php')) {
// If the block's settings node was not found, we check that the block really provides the settings.php file.
// Note that blocks can inject their settings to other nodes in the admin tree without using the default locations.
// This can be done by assigning null to $setting in settings.php and it is a valid case.
debugging('Warning: block_'.$block->name.' returns true in has_config() but does not provide a settings.php file',
DEBUG_DEVELOPER);
}
}
// MDL-11167, blocks can be placed on mymoodle, or the blogs page
// and it should not show up on course search page
$totalcount = $DB->count_records('block_instances', array('blockname'=>$blockname));
$count = $DB->count_records('block_instances', array('blockname'=>$blockname, 'pagetypepattern'=>'course-view-*'));
if ($count>0) {
$blocklist = "<a href=\"{$CFG->wwwroot}/course/search.php?blocklist=$blockid&amp;sesskey=".sesskey()."\" ";
$blocklist .= "title=\"$strshowblockcourse\" >$totalcount</a>";
}
else {
$blocklist = "$totalcount";
}
$class = ''; // Nothing fancy, by default
if (!$blockobject) {
// ignore
$visible = '';
} else if ($blocks[$blockid]->visible) {
$visible = '<a href="blocks.php?hide='.$blockid.'&amp;sesskey='.sesskey().'" title="'.$strhide.'">'.
$OUTPUT->pix_icon('t/hide', $strhide) . '</a>';
} else {
$visible = '<a href="blocks.php?show='.$blockid.'&amp;sesskey='.sesskey().'" title="'.$strshow.'">'.
$OUTPUT->pix_icon('t/show', $strshow) . '</a>';
$class = 'dimmed_text';
}
if ($dbversion == $plugin->version) {
$version = $dbversion;
} else {
$version = "$dbversion ($plugin->version)";
}
if (!$blockobject) {
// ignore
$undeletable = '';
} else if (in_array($blockname, $undeletableblocktypes)) {
$undeletable = '<a href="blocks.php?unprotect='.$blockid.'&amp;sesskey='.sesskey().'" title="'.$strunprotect.'">'.
$OUTPUT->pix_icon('t/unlock', $strunprotect) . '</a>';
} else {
$undeletable = '<a href="blocks.php?protect='.$blockid.'&amp;sesskey='.sesskey().'" title="'.$strprotect.'">'.
$OUTPUT->pix_icon('t/lock', $strprotect) . '</a>';
}
$row = array(
$strblockname,
$blocklist,
$version,
$visible,
$undeletable,
$settings,
$uninstall,
if ($action === 'disable' && $manager::enable_plugin($plugin, 0)) {
\core\notification::add(
get_string('plugin_disabled', 'core_admin', $pluginname),
\core\notification::SUCCESS
);
$table->add_data($row, $class);
// Settings not required - only pages.
admin_get_root(true, false);
} else if ($action === 'enable' && $manager::enable_plugin($plugin, 1)) {
\core\notification::add(
get_string('plugin_enabled', 'core_admin', $pluginname),
\core\notification::SUCCESS
);
// Settings not required - only pages.
admin_get_root(true, false);
}
$table->print_html();
// Redirect back to the page with out any params.
redirect(new moodle_url('/admin/blocks.php'));
}
if (!empty($incompatible)) {
echo $OUTPUT->heading(get_string('incompatibleblocks', 'blockstable', 'admin'));
if (!empty($protect) && confirm_sesskey()) {
block_manager::protect_block($protect);
$pluginname = get_string('pluginname', "block_{$protect}");
\core\notification::add(
get_string('blockprotected', 'core_admin', $pluginname),
\core\notification::SUCCESS
);
// Settings not required - only pages.
admin_get_root(true, false);
}
$table = new flexible_table('admin-blocks-incompatible');
if (!empty($unprotect) && confirm_sesskey()) {
block_manager::unprotect_block($unprotect);
$pluginname = get_string('pluginname', "block_{$unprotect}");
\core\notification::add(
get_string('blockunprotected', 'core_admin', $pluginname),
\core\notification::SUCCESS
);
// Settings not required - only pages.
admin_get_root(true, false);
}
$table->define_columns(array('block', 'uninstall'));
$table->define_headers(array($strname, $struninstall));
$table->define_baseurl($CFG->wwwroot.'/'.$CFG->admin.'/blocks.php');
echo $OUTPUT->header();
echo $OUTPUT->heading($strmanageblocks);
echo $OUTPUT->notification(get_string('noteunneededblocks', 'admin'), 'info', false);
$table->set_attribute('class', 'incompatibleblockstable generaltable');
$table->setup();
foreach ($incompatible as $block) {
if ($uninstallurl = core_plugin_manager::instance()->get_uninstall_url('block_'.$block->name, 'manage')) {
$uninstall = html_writer::link($uninstallurl, $struninstall);
} else {
$uninstall = '';
}
$table->add_data(array(
$block->name,
$uninstall,
));
}
$table->print_html();
}
echo $OUTPUT->footer();
// Print the table of all blocks.
$table = new \core_admin\table\block_management_table();
$table->out();
echo $OUTPUT->footer();
+1 -2
View File
@@ -131,8 +131,7 @@ if ($savebutton) {
$outputhtml .= html_writer::end_tag('div');
}
$visiblepathtosection = array_reverse($settingspage->visiblepath);
$PAGE->set_title("$SITE->shortname: " . implode(": ",$visiblepathtosection));
$PAGE->set_title(implode(moodle_page::TITLE_SEPARATOR, $settingspage->visiblepath));
$PAGE->set_heading($SITE->fullname);
if ($buttons) {
$PAGE->set_button($buttons);
@@ -0,0 +1,127 @@
<?php
// This file is part of Moodle - http://moodle.org/
//
// Moodle is free software: you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
// the Free Software Foundation, either version 3 of the License, or
// (at your option) any later version.
//
// Moodle is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License for more details.
//
// You should have received a copy of the GNU General Public License
// along with Moodle. If not, see <http://www.gnu.org/licenses/>.
namespace core_admin\admin;
use admin_setting;
use core_plugin_manager;
use core_text;
/**
* Admin setting plugin manager.
*
* @package core_admin
* @subpackage admin
* @copyright 2023 Andrew Lyons <andrew@nicols.co.uk>
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
*/
class admin_setting_plugin_manager extends admin_setting {
/** @var core_plugin_manager The plugin manager instance */
protected core_plugin_manager $pluginmanager;
/** @var string The plugintype that this manager covers */
protected string $plugintype;
/** @var string The class of the management table to use */
protected string $tableclass;
public function __construct(
string $plugintype,
string $tableclass,
string $name,
string $visiblename,
string $description = '',
string $defaultsetting = '',
) {
$this->nosave = true;
$this->pluginmanager = core_plugin_manager::instance();
$this->plugintype = $plugintype;
$this->tableclass = $tableclass;
parent::__construct($name, $visiblename, $description, $defaultsetting);
}
/**
* Always returns true, does nothing
*
* @return true
*/
public function get_setting(): bool {
return true;
}
/**
* Always returns true, does nothing
*
* @return true
*/
public function get_defaultsetting(): bool {
return true;
}
/**
* Always returns '', does not write anything
*
* @return string Always returns ''
*/
// phpcs:disable VariableAnalysis.CodeAnalysis.VariableAnalysis.UnusedVariable
public function write_setting($data): string {
// Do not write any setting.
return '';
}
/**
* Checks if $query is one of the available editors
*
* @param string $query The string to search for
* @return bool Returns true if found, false if not
*/
public function is_related($query) {
if (parent::is_related($query)) {
return true;
}
$plugins = $this->pluginmanager->get_installed_plugins($this->plugintype);
foreach (array_keys($plugins) as $plugin) {
$plugin = "{$this->plugintype}_{$plugin}";
if (str_contains($plugin, $query)) {
return true;
}
$pluginname = get_string('pluginname', $plugin);
if (strpos(core_text::strtolower($pluginname), $query) !== false) {
return true;
}
}
return false;
}
/**
* Builds the XHTML to display the control
*
* @param string $data Unused
* @param string $query
* @return string
*/
public function output_html($data, $query = ''): string {
$table = new $this->tableclass();
if (!($table instanceof \core_admin\table\plugin_management_table)) {
throw new \coding_exception("{$this->tableclass} must be an instance of \\core_admin\\table\\plugin_management_table");
}
return highlight($query, $table->get_content());
}
}
+97
View File
@@ -0,0 +1,97 @@
<?php
// This file is part of Moodle - http://moodle.org/
//
// Moodle is free software: you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
// the Free Software Foundation, either version 3 of the License, or
// (at your option) any later version.
//
// Moodle is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License for more details.
//
// You should have received a copy of the GNU General Public License
// along with Moodle. If not, see <http://www.gnu.org/licenses/>.
namespace core_admin\external;
use block_manager;
use core_external\external_api;
use core_external\external_function_parameters;
use core_external\external_single_structure;
use core_external\external_value;
/**
* Web Service to control the state of a plugin.
*
* @package core_admin
* @category external
* @copyright 2023 Andrew Lyons <andrew@nicols.co.uk>
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
*/
class set_block_protection extends external_api {
/**
* Returns description of method parameters
*
* @return external_function_parameters
*/
public static function execute_parameters(): external_function_parameters {
return new external_function_parameters([
'plugin' => new external_value(PARAM_PLUGIN, 'The name of the plugin', VALUE_REQUIRED),
'state' => new external_value(PARAM_INT, 'The target state', VALUE_REQUIRED),
]);
}
/**
* Set the block protection state.
*
* @param string $plugin The name of the plugin
* @param int $state The target state
* @return null
*/
public static function execute(
string $plugin,
int $state,
): array {
[
'plugin' => $plugin,
'state' => $state,
] = self::validate_parameters(self::execute_parameters(), [
'plugin' => $plugin,
'state' => $state,
]);
$context = \context_system::instance();
self::validate_context($context);
require_capability('moodle/site:config', $context);
[, $pluginname] = explode('_', \core_component::normalize_componentname($plugin), 2);
$displayname = get_string('pluginname', $plugin);
if ($state) {
block_manager::protect_block($pluginname);
\core\notification::add(
get_string('blockprotected', 'core_admin', $displayname),
\core\notification::SUCCESS
);
} else {
block_manager::unprotect_block($pluginname);
\core\notification::add(
get_string('blockunprotected', 'core_admin', $displayname),
\core\notification::SUCCESS
);
}
return [];
}
/**
* Describe the return structure of the external service.
*
* @return external_single_structure
*/
public static function execute_returns(): external_single_structure {
return new external_single_structure([]);
}
}
+84
View File
@@ -0,0 +1,84 @@
<?php
// This file is part of Moodle - http://moodle.org/
//
// Moodle is free software: you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
// the Free Software Foundation, either version 3 of the License, or
// (at your option) any later version.
//
// Moodle is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License for more details.
//
// You should have received a copy of the GNU General Public License
// along with Moodle. If not, see <http://www.gnu.org/licenses/>.
namespace core_admin\external;
use core_external\external_api;
use core_external\external_function_parameters;
use core_external\external_single_structure;
use core_external\external_value;
/**
* Web Service to control the order of a plugin.
*
* @package core_admin
* @category external
* @copyright 2023 Andrew Lyons <andrew@nicols.co.uk>
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
*/
class set_plugin_order extends external_api {
/**
* Returns description of method parameters
*
* @return external_function_parameters
*/
public static function execute_parameters(): external_function_parameters {
return new external_function_parameters([
'plugin' => new external_value(PARAM_PLUGIN, 'The name of the plugin', VALUE_REQUIRED),
'direction' => new external_value(PARAM_INT, 'The direction to move', VALUE_REQUIRED),
]);
}
/**
* Set the plugin state.
*
* @param string $plugin The name of the plugin
* @param int $direction The direction to move the plugin
* @return array
*/
public static function execute(
string $plugin,
int $direction,
): array {
[
'plugin' => $plugin,
'direction' => $direction,
] = self::validate_parameters(self::execute_parameters(), [
'plugin' => $plugin,
'direction' => $direction,
]);
$context = \context_system::instance();
self::validate_context($context);
require_capability('moodle/site:config', $context);
[$plugintype, $pluginname] = explode('_', \core_component::normalize_componentname($plugin), 2);
$manager = \core_plugin_manager::resolve_plugininfo_class($plugintype);
$manager::change_plugin_order($pluginname, $direction);
return [];
}
/**
* Describe the return structure of the external service.
*
* @return external_single_structure
*/
public static function execute_returns(): external_single_structure {
return new external_single_structure([]);
}
}
+98
View File
@@ -0,0 +1,98 @@
<?php
// This file is part of Moodle - http://moodle.org/
//
// Moodle is free software: you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
// the Free Software Foundation, either version 3 of the License, or
// (at your option) any later version.
//
// Moodle is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License for more details.
//
// You should have received a copy of the GNU General Public License
// along with Moodle. If not, see <http://www.gnu.org/licenses/>.
namespace core_admin\external;
use core_external\external_api;
use core_external\external_function_parameters;
use core_external\external_single_structure;
use core_external\external_value;
/**
* Web Service to control the state of a plugin.
*
* @package core_admin
* @category external
* @copyright 2023 Andrew Lyons <andrew@nicols.co.uk>
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
*/
class set_plugin_state extends external_api {
/**
* Returns description of method parameters
*
* @return external_function_parameters
*/
public static function execute_parameters(): external_function_parameters {
return new external_function_parameters([
'plugin' => new external_value(PARAM_PLUGIN, 'The name of the plugin', VALUE_REQUIRED),
'state' => new external_value(PARAM_INT, 'The target state', VALUE_REQUIRED),
]);
}
/**
* Set the plugin state.
*
* @param string $plugin The name of the plugin
* @param int $state The target state
* @return null
*/
public static function execute(
string $plugin,
int $state,
): array {
[
'plugin' => $plugin,
'state' => $state,
] = self::validate_parameters(self::execute_parameters(), [
'plugin' => $plugin,
'state' => $state,
]);
$context = \context_system::instance();
self::validate_context($context);
require_capability('moodle/site:config', $context);
[$plugintype, $pluginname] = explode('_', \core_component::normalize_componentname($plugin), 2);
$manager = \core_plugin_manager::resolve_plugininfo_class($plugintype);
$displayname = get_string('pluginname', $plugin);
if ($manager::enable_plugin($pluginname, $state)) {
if (!empty($state)) {
\core\notification::add(
get_string('plugin_enabled', 'core_admin', $displayname),
\core\notification::SUCCESS
);
} else {
\core\notification::add(
get_string('plugin_disabled', 'core_admin', $displayname),
\core\notification::SUCCESS
);
}
}
return [];
}
/**
* Describe the return structure of the external service.
*
* @return external_single_structure
*/
public static function execute_returns(): external_single_structure {
return new external_single_structure([]);
}
}
+1 -1
View File
@@ -62,7 +62,7 @@ class filesize extends \admin_setting {
* @param int|null $defaultunit GB, MB, etc. (in bytes)
*/
public function __construct(string $name, string $visiblename, string $description,
int $defaultvalue = null, int $defaultunit = null) {
?int $defaultvalue = null, ?int $defaultunit = null) {
$defaultsetting = self::parse_bytes($defaultvalue);
+71
View File
@@ -0,0 +1,71 @@
<?php
// This file is part of Moodle - http://moodle.org/
//
// Moodle is free software: you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
// the Free Software Foundation, either version 3 of the License, or
// (at your option) any later version.
//
// Moodle is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License for more details.
//
// You should have received a copy of the GNU General Public License
// along with Moodle. If not, see <http://www.gnu.org/licenses/>.
namespace core_admin\output;
use moodle_url;
use renderable;
use renderer_base;
use stdClass;
use templatable;
/**
* Theme selector renderable.
*
* @package core_admin
* @copyright 2023 David Woloszyn <david.woloszyn@moodle.com>
* @license https://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
*/
class theme_selector implements renderable, templatable {
/** @var array $themedata Theme data to pass to the template. */
private $themedata = null;
/** @var bool Whether $CFG->theme is defined in config.php. */
private $definedinconfig;
/**
* Constructor.
*
* @param array $themedata Theme data used for template.
* @param bool $definedinconfig Whether $CFG->theme is defined in config.php.
*/
public function __construct(array $themedata, bool $definedinconfig = false) {
$this->themedata = $themedata;
$this->definedinconfig = $definedinconfig;
}
/**
* Export this data so it can be used as the context for a mustache template.
*
* @param renderer_base $output Renderer base.
* @return stdClass
*/
public function export_for_template(renderer_base $output): stdClass {
$data = new stdClass();
// Theme data used to populate cards and modal.
$data->themes = $this->themedata;
// Reset theme caches button.
$reseturl = new moodle_url('/admin/themeselector.php', ['sesskey' => sesskey(), 'reset' => 1]);
$resetbutton = new \single_button($reseturl, get_string('themeresetcaches', 'admin'), 'post',
\single_button::BUTTON_SECONDARY);
$data->resetbutton = $resetbutton->export_for_template($output);
$data->definedinconfig = $this->definedinconfig;
return $data;
}
}
+1 -1
View File
@@ -35,7 +35,7 @@ class provider implements \core_privacy\local\metadata\null_provider {
*
* @return string
*/
public static function get_reason() : string {
public static function get_reason(): string {
return 'privacy:metadata';
}
}
@@ -78,6 +78,17 @@ class task_logs extends datasource {
];
}
/**
* Return the column sorting that will be added to the report upon creation
*
* @return int[]
*/
public function get_default_column_sorting(): array {
return [
'task_log:starttime' => SORT_DESC,
];
}
/**
* Return the filters that will be added to the report upon creation
*
@@ -46,12 +46,14 @@ class task_log extends base {
protected const FAILED = 1;
/**
* Database tables that this entity uses and their default aliases
* Database tables that this entity uses
*
* @return array
* @return string[]
*/
protected function get_default_table_aliases(): array {
return ['task_log' => 'tl'];
protected function get_default_tables(): array {
return [
'task_log',
];
}
/**
@@ -103,9 +105,10 @@ class task_log extends base {
))
->add_joins($this->get_joins())
->set_type(column::TYPE_TEXT)
->add_field("$tablealias.classname")
->add_fields("{$tablealias}.classname, {$tablealias}.id")
->set_is_sortable(true)
->add_callback(static function(string $classname): string {
->add_callback(static function($value, stdClass $row): string {
$classname = $row->classname;
$output = '';
if (class_exists($classname)) {
$task = new $classname;
@@ -116,6 +119,7 @@ class task_log extends base {
$output .= \html_writer::tag('div', "\\{$classname}", [
'class' => 'small text-muted',
]);
$output = \html_writer::link(new \moodle_url('/admin/tasklogs.php', ['logid' => $row->id]), $output);
return $output;
});
@@ -181,15 +185,7 @@ class task_log extends base {
->set_type(column::TYPE_FLOAT)
->add_field("{$tablealias}.timeend - {$tablealias}.timestart", 'duration')
->set_is_sortable(true)
->add_callback(static function(float $value): string {
$duration = round($value, 2);
if (empty($duration)) {
// The format_time function returns 'now' when the difference is exactly 0.
// Note: format_time performs concatenation in exactly this fashion so we should do this for consistency.
return '0 ' . get_string('secs', 'moodle');
}
return format_time($duration);
});
->add_callback([format::class, 'format_time'], 2);
// Hostname column.
$columns[] = (new column(
@@ -209,11 +205,8 @@ class task_log extends base {
$this->get_entity_name()
))
->add_joins($this->get_joins())
->set_type(column::TYPE_INTEGER)
->add_field("{$tablealias}.pid")
->set_is_sortable(true)
// Although this is an integer column, it doesn't make sense to perform numeric aggregation on it.
->set_disabled_aggregation(['avg', 'count', 'countdistinct', 'max', 'min', 'sum']);
->set_is_sortable(true);
// Database column.
$columns[] = (new column(
@@ -222,17 +215,14 @@ class task_log extends base {
$this->get_entity_name()
))
->add_joins($this->get_joins())
->set_type(column::TYPE_INTEGER)
->add_fields("{$tablealias}.dbreads, {$tablealias}.dbwrites")
->set_is_sortable(true, ["{$tablealias}.dbreads", "{$tablealias}.dbwrites"])
->add_callback(static function(int $value, stdClass $row): string {
->add_callback(static function($value, stdClass $row): string {
$output = '';
$output .= \html_writer::div(get_string('task_stats:dbreads', 'admin', $row->dbreads));
$output .= \html_writer::div(get_string('task_stats:dbwrites', 'admin', $row->dbwrites));
return $output;
})
// Although this is an integer column, it doesn't make sense to perform numeric aggregation on it.
->set_disabled_aggregation(['avg', 'count', 'countdistinct', 'max', 'min', 'sum']);
});
// Database reads column.
$columns[] = (new column(
@@ -0,0 +1,108 @@
<?php
// This file is part of Moodle - http://moodle.org/
//
// Moodle is free software: you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
// the Free Software Foundation, either version 3 of the License, or
// (at your option) any later version.
//
// Moodle is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License for more details.
//
// You should have received a copy of the GNU General Public License
// along with Moodle. If not, see <http://www.gnu.org/licenses/>.
declare(strict_types=1);
namespace core_admin\reportbuilder\local\filters;
use core\context\system;
use core_course_category;
use MoodleQuickForm;
use core_reportbuilder\local\filters\base;
use core_reportbuilder\local\helpers\database;
/**
* Course role report filter (by role, category, course)
*
* The provided filter field SQL must refer/return an expression for the user ID (e.g. "{$user}.id")
*
* @package core_admin
* @copyright 2023 Paul Holden <paulh@moodle.com>
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
*/
class courserole extends base {
/**
* Setup form
*
* @param MoodleQuickForm $mform
*/
public function setup_form(MoodleQuickForm $mform): void {
$elements = [];
// Role.
$elements['role'] = $mform->createElement('select', "{$this->name}_role", get_string('rolefullname', 'core_role'),
[0 => get_string('anyrole', 'core_filters')] + get_default_enrol_roles(system::instance()));
// Category.
$elements['category'] = $mform->createElement('select', "{$this->name}_category", get_string('category'),
[0 => get_string('anycategory', 'core_filters')] + core_course_category::make_categories_list());
// Course.
$elements['course'] = $mform->createElement('text', "{$this->name}_course", get_string('shortnamecourse'));
$mform->setType("{$this->name}_course", PARAM_RAW_TRIMMED);
$mform->addGroup($elements, "{$this->name}_group", $this->get_header(), '', false)
->setHiddenLabel(true);
}
/**
* Return filter SQL
*
* @param array $values
* @return array
*/
public function get_sql_filter(array $values): array {
[$fieldsql, $params] = $this->filter->get_field_sql_and_params();
[$contextalias, $rolealias, $coursealias] = database::generate_aliases(3);
[$roleparam, $categoryparam, $courseparam] = database::generate_param_names(3);
// Role.
$role = (int) ($values["{$this->name}_role"] ?? 0);
if ($role > 0) {
$selects[] = "{$rolealias}.roleid = :{$roleparam}";
$params[$roleparam] = $role;
}
// Category.
$category = (int) ($values["{$this->name}_category"] ?? 0);
if ($category > 0) {
$selects[] = "{$coursealias}.category = :{$categoryparam}";
$params[$categoryparam] = $category;
}
// Course.
$course = trim($values["{$this->name}_course"] ?? '');
if ($course !== '') {
$selects[] = "{$coursealias}.shortname = :{$courseparam}";
$params[$courseparam] = $course;
}
// Filter values are not set.
if (empty($selects)) {
return ['', []];
}
return ["{$fieldsql} IN (
SELECT {$rolealias}.userid
FROM {role_assignments} {$rolealias}
JOIN {context} {$contextalias} ON {$contextalias}.id = {$rolealias}.contextid AND {$contextalias}.contextlevel = 50
JOIN {course} {$coursealias} ON {$coursealias}.id = {$contextalias}.instanceid
WHERE " . implode(' AND ', $selects) . "
)", $params];
}
}
@@ -143,7 +143,7 @@ class task_logs extends system_report {
new moodle_url('/admin/tasklogs.php', ['logid' => ':id']),
new pix_icon('e/search', ''),
[],
true,
false,
new lang_string('view'),
)));
@@ -0,0 +1,417 @@
<?php
// This file is part of Moodle - http://moodle.org/
//
// Moodle is free software: you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
// the Free Software Foundation, either version 3 of the License, or
// (at your option) any later version.
//
// Moodle is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License for more details.
//
// You should have received a copy of the GNU General Public License
// along with Moodle. If not, see <http://www.gnu.org/licenses/>.
namespace core_admin\reportbuilder\local\systemreports;
use core_admin\reportbuilder\local\filters\courserole;
use core\context\system;
use core_cohort\reportbuilder\local\entities\cohort;
use core_cohort\reportbuilder\local\entities\cohort_member;
use core_reportbuilder\local\entities\user;
use core_reportbuilder\local\filters\boolean_select;
use core_reportbuilder\local\helpers\database;
use core_reportbuilder\local\helpers\user_profile_fields;
use core_reportbuilder\local\report\action;
use core_reportbuilder\local\report\filter;
use core_reportbuilder\system_report;
use core_role\reportbuilder\local\entities\role;
use core_user\fields;
use lang_string;
use moodle_url;
use pix_icon;
defined('MOODLE_INTERNAL') || die();
require_once($CFG->libdir.'/adminlib.php');
require_once($CFG->libdir.'/authlib.php');
require_once($CFG->libdir.'/enrollib.php');
require_once($CFG->dirroot.'/user/lib.php');
/**
* Browse users system report class implementation
*
* @package core_admin
* @copyright 2023 David Carrillo <davidmc@moodle.com>
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
*/
class users extends system_report {
/**
* Initialise report, we need to set the main table, load our entities and set columns/filters
*/
protected function initialise(): void {
global $CFG;
// Our main entity, it contains all of the column definitions that we need.
$entityuser = new user();
$entityuseralias = $entityuser->get_table_alias('user');
$this->set_main_table('user', $entityuseralias);
$this->add_entity($entityuser);
// Any columns required by actions should be defined here to ensure they're always available.
$fullnamefields = array_map(fn($field) => "{$entityuseralias}.{$field}", fields::get_name_fields());
$this->add_base_fields("{$entityuseralias}.id, {$entityuseralias}.confirmed, {$entityuseralias}.mnethostid,
{$entityuseralias}.suspended, {$entityuseralias}.username, " . implode(', ', $fullnamefields));
if ($this->get_parameter('withcheckboxes', false, PARAM_BOOL)) {
$canviewfullnames = has_capability('moodle/site:viewfullnames', \context_system::instance());
$this->set_checkbox_toggleall(static function(\stdClass $row) use ($canviewfullnames): array {
return [$row->id, fullname($row, $canviewfullnames)];
});
}
$paramguest = database::generate_param_name();
$this->add_base_condition_sql("{$entityuseralias}.deleted <> 1 AND {$entityuseralias}.id <> :{$paramguest}",
[$paramguest => $CFG->siteguest]);
$entitycohortmember = new cohort_member();
$entitycohortmemberalias = $entitycohortmember->get_table_alias('cohort_members');
$this->add_entity($entitycohortmember
->add_joins($entitycohortmember->get_joins())
->add_join("LEFT JOIN {cohort_members} {$entitycohortmemberalias}
ON {$entityuseralias}.id = {$entitycohortmemberalias}.userid")
);
$entitycohort = new cohort();
$entitycohortalias = $entitycohort->get_table_alias('cohort');
$this->add_entity($entitycohort
->add_joins($entitycohort->get_joins())
->add_joins($entitycohortmember->get_joins())
->add_join("LEFT JOIN {cohort} {$entitycohortalias}
ON {$entitycohortalias}.id = {$entitycohortmemberalias}.cohortid")
);
// Join the role entity (Needed for the system role filter).
$roleentity = new role();
$role = $roleentity->get_table_alias('role');
$this->add_entity($roleentity
->add_join("LEFT JOIN (
SELECT DISTINCT r0.id, ras.userid
FROM {role} r0
JOIN {role_assignments} ras ON ras.roleid = r0.id
WHERE ras.contextid = ".SYSCONTEXTID."
) {$role} ON {$role}.userid = {$entityuseralias}.id")
);
// Now we can call our helper methods to add the content we want to include in the report.
$this->add_columns();
$this->add_filters();
$this->add_actions();
// Set if report can be downloaded.
$this->set_downloadable(true);
}
/**
* Validates access to view this report
*
* @return bool
*/
protected function can_view(): bool {
return has_any_capability(['moodle/user:update', 'moodle/user:delete'], system::instance());
}
/**
* Adds the columns we want to display in the report
*
* They are all provided by the entities we previously added in the {@see initialise} method, referencing each by their
* unique identifier
*/
public function add_columns(): void {
$entityuser = $this->get_entity('user');
$entityuseralias = $entityuser->get_table_alias('user');
$this->add_column($entityuser->get_column('fullnamewithpicturelink'));
// Include identity field columns.
$identitycolumns = $entityuser->get_identity_columns($this->get_context());
foreach ($identitycolumns as $identitycolumn) {
$this->add_column($identitycolumn);
}
// Add "Last access" column.
$this->add_column(($entityuser->get_column('lastaccess'))
->set_callback(static function ($value, \stdClass $row): string {
if ($row->lastaccess) {
return format_time(time() - $row->lastaccess);
}
return get_string('never');
})
);
if ($column = $this->get_column('user:fullnamewithpicturelink')) {
$column
->add_fields("{$entityuseralias}.suspended, {$entityuseralias}.confirmed")
->add_callback(static function(string $fullname, \stdClass $row): string {
if ($row->suspended) {
$fullname .= ' ' . \html_writer::tag('span', get_string('suspended', 'moodle'),
['class' => 'badge badge-secondary ms-1']);
}
if (!$row->confirmed) {
$fullname .= ' ' . \html_writer::tag('span', get_string('confirmationpending', 'admin'),
['class' => 'badge badge-danger ms-1']);
}
return $fullname;
});
}
$this->set_initial_sort_column('user:fullnamewithpicturelink', SORT_ASC);
$this->set_default_no_results_notice(new lang_string('nousersfound', 'moodle'));
}
/**
* Adds the filters we want to display in the report
*
* They are all provided by the entities we previously added in the {@see initialise} method, referencing each by their
* unique identifier
*/
protected function add_filters(): void {
$entityuser = $this->get_entity('user');
$entityuseralias = $entityuser->get_table_alias('user');
$filters = [
'user:fullname',
'user:firstname',
'user:lastname',
'user:username',
'user:idnumber',
'user:email',
'user:department',
'user:institution',
'user:city',
'user:country',
'user:confirmed',
'user:suspended',
'user:timecreated',
'user:lastaccess',
'user:timemodified',
'user:auth',
'user:lastip',
'cohort:idnumber',
'role:name',
];
$this->add_filters_from_entities($filters);
// Enrolled in any course filter.
$ue = database::generate_alias();
[$now1, $now2] = database::generate_param_names(2);
$now = time();
$sql = "CASE WHEN ({$entityuseralias}.id IN (
SELECT userid FROM {user_enrolments} {$ue}
WHERE {$ue}.status = " . ENROL_USER_ACTIVE . "
AND ({$ue}.timestart = 0 OR {$ue}.timestart < :{$now1})
AND ({$ue}.timeend = 0 OR {$ue}.timeend > :{$now2})
)) THEN 1 ELSE 0 END";
$this->add_filter((new filter(
boolean_select::class,
'enrolledinanycourse',
new lang_string('anycourses', 'filters'),
$this->get_entity('user')->get_entity_name(),
))
->set_field_sql($sql, [
$now1 => $now,
$now2 => $now,
])
);
// Course role filter.
$this->add_filter((new filter(
courserole::class,
'courserole',
new lang_string('courserole', 'filters'),
$this->get_entity('user')->get_entity_name(),
))
->set_field_sql("{$entityuseralias}.id")
);
// Add user profile fields filters.
$userprofilefields = new user_profile_fields($entityuseralias . '.id', $entityuser->get_entity_name());
foreach ($userprofilefields->get_filters() as $filter) {
$this->add_filter($filter);
}
// Set options for system role filter.
if ($filter = $this->get_filter('role:name')) {
$filter
->set_header(new lang_string('globalrole', 'role'))
->set_options(get_assignable_roles(system::instance()));
}
}
/**
* Add the system report actions. An extra column will be appended to each row, containing all actions added here
*
* Note the use of ":id" placeholder which will be substituted according to actual values in the row
*/
protected function add_actions(): void {
global $DB, $USER;
$contextsystem = system::instance();
// Action to edit users.
$this->add_action((new action(
new moodle_url('/user/editadvanced.php', ['id' => ':id', 'course' => get_site()->id]),
new pix_icon('t/edit', ''),
[],
false,
new lang_string('edit', 'moodle'),
))->add_callback(static function(\stdclass $row) use ($USER, $contextsystem): bool {
return has_capability('moodle/user:update', $contextsystem) && (is_siteadmin($USER) || !is_siteadmin($row));
}));
// Action to suspend users (non mnet remote users).
$this->add_action((new action(
new moodle_url('/admin/user.php', ['suspend' => ':id', 'sesskey' => sesskey()]),
new pix_icon('t/show', ''),
[],
false,
new lang_string('suspenduser', 'admin'),
))->add_callback(static function(\stdclass $row) use ($USER, $contextsystem): bool {
return has_capability('moodle/user:update', $contextsystem) && !$row->suspended && !is_mnet_remote_user($row) &&
!($row->id == $USER->id || is_siteadmin($row));
}));
// Action to unsuspend users (non mnet remote users).
$this->add_action((new action(
new moodle_url('/admin/user.php', ['unsuspend' => ':id', 'sesskey' => sesskey()]),
new pix_icon('t/hide', ''),
[],
false,
new lang_string('unsuspenduser', 'admin'),
))->add_callback(static function(\stdclass $row) use ($USER, $contextsystem): bool {
return has_capability('moodle/user:update', $contextsystem) && $row->suspended && !is_mnet_remote_user($row) &&
!($row->id == $USER->id || is_siteadmin($row));
}));
// Action to unlock users (non mnet remote users).
$this->add_action((new action(
new moodle_url('/admin/user.php', ['unlock' => ':id', 'sesskey' => sesskey()]),
new pix_icon('t/unlock', ''),
[],
false,
new lang_string('unlockaccount', 'admin'),
))->add_callback(static function(\stdclass $row) use ($contextsystem): bool {
return has_capability('moodle/user:update', $contextsystem) && !is_mnet_remote_user($row) &&
login_is_lockedout($row);
}));
// Action to suspend users (mnet remote users).
$this->add_action((new action(
new moodle_url('/admin/user.php', ['acl' => ':id', 'sesskey' => sesskey(), 'accessctrl' => 'deny']),
new pix_icon('t/show', ''),
[],
false,
new lang_string('denyaccess', 'mnet'),
))->add_callback(static function(\stdclass $row) use ($DB, $contextsystem): bool {
if (!$accessctrl = $DB->get_field(table: 'mnet_sso_access_control', return: 'accessctrl',
conditions: ['username' => $row->username, 'mnet_host_id' => $row->mnethostid]
)) {
$accessctrl = 'allow';
}
return has_capability('moodle/user:update', $contextsystem) && !$row->suspended &&
is_mnet_remote_user($row) && $accessctrl == 'allow';
}));
// Action to unsuspend users (mnet remote users).
$this->add_action((new action(
new moodle_url('/admin/user.php', ['acl' => ':id', 'sesskey' => sesskey(), 'accessctrl' => 'allow']),
new pix_icon('t/hide', ''),
[],
false,
new lang_string('allowaccess', 'mnet'),
))->add_callback(static function(\stdclass $row) use ($DB, $contextsystem): bool {
if (!$accessctrl = $DB->get_field(table: 'mnet_sso_access_control', return: 'accessctrl',
conditions: ['username' => $row->username, 'mnet_host_id' => $row->mnethostid]
)) {
$accessctrl = 'allow';
}
return has_capability('moodle/user:update', $contextsystem) && !$row->suspended &&
is_mnet_remote_user($row) && $accessctrl == 'deny';
}));
// Action to delete users.
$this->add_action((new action(
new moodle_url('/admin/user.php', ['delete' => ':id', 'sesskey' => sesskey()]),
new pix_icon('t/delete', ''),
[
'class' => 'text-danger',
'data-modal' => 'confirmation',
'data-modal-title-str' => json_encode(['deleteuser', 'admin']),
'data-modal-content-str' => ':deletestr',
'data-modal-yes-button-str' => json_encode(['delete', 'core']),
'data-modal-destination' => ':deleteurl',
],
false,
new lang_string('delete', 'moodle'),
))->add_callback(static function(\stdclass $row) use ($USER, $contextsystem): bool {
// Populate deletion modal attributes.
$row->deletestr = json_encode([
'deletecheckfull',
'moodle',
fullname($row, true),
]);
$row->deleteurl = (new moodle_url('/admin/user.php', [
'delete' => $row->id,
'confirm' => md5($row->id),
'sesskey' => sesskey(),
]))->out(false);
return has_capability('moodle/user:delete', $contextsystem) &&
!is_mnet_remote_user($row) && $row->id != $USER->id && !is_siteadmin($row);
}));
$this->add_action_divider();
// Action to confirm users.
$this->add_action((new action(
new moodle_url('/admin/user.php', ['confirmuser' => ':id', 'sesskey' => sesskey()]),
new pix_icon('t/check', ''),
[],
false,
new lang_string('confirmaccount', 'moodle'),
))->add_callback(static function(\stdclass $row) use ($contextsystem): bool {
return has_capability('moodle/user:update', $contextsystem) && !$row->confirmed;
}));
// Action to resend email.
$this->add_action((new action(
new moodle_url('/admin/user.php', ['resendemail' => ':id', 'sesskey' => sesskey()]),
new pix_icon('t/email', ''),
[],
false,
new lang_string('resendemail', 'moodle'),
))->add_callback(static function(\stdclass $row): bool {
return !$row->confirmed && !is_mnet_remote_user($row);
}));
}
/**
* Row class
*
* @param \stdClass $row
* @return string
*/
public function get_row_class(\stdClass $row): string {
return $row->suspended ? 'text-muted' : '';
}
}
@@ -0,0 +1,118 @@
<?php
// This file is part of Moodle - http://moodle.org/
//
// Moodle is free software: you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
// the Free Software Foundation, either version 3 of the License, or
// (at your option) any later version.
//
// Moodle is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License for more details.
//
// You should have received a copy of the GNU General Public License
// along with Moodle. If not, see <http://www.gnu.org/licenses/>.
namespace core_admin\table;
use core_plugin_manager;
use dml_exception;
use html_writer;
use moodle_url;
use stdClass;
/**
* Activity Module admin settings.
*
* @package core_admin
* @copyright 2023 Andrew Lyons <andrew@nicols.co.uk>
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
*/
class activity_management_table extends plugin_management_table {
public function setup() {
$this->set_attribute('id', 'modules');
$this->set_attribute('class', 'admintable generaltable');
parent::setup();
}
protected function get_table_id(): string {
return 'module-administration-table';
}
protected function get_plugintype(): string {
return 'mod';
}
public function guess_base_url(): void {
$this->define_baseurl(
new moodle_url('/admin/modules.php')
);
}
protected function get_action_url(array $params = []): moodle_url {
return new moodle_url('/admin/modules.php', $params);
}
protected function get_column_list(): array {
$columns = parent::get_column_list();
return array_merge(
array_slice($columns, 0, 1, true),
['activities' => get_string('activities')],
array_slice($columns, 1, null, true),
);
}
protected function col_name(stdClass $row): string {
global $OUTPUT;
$status = $row->plugininfo->get_status();
if ($status === core_plugin_manager::PLUGIN_STATUS_MISSING) {
return html_writer::span(
get_string('pluginmissingfromdisk', 'core', $row->plugininfo),
'notifyproblem'
);
}
return html_writer::span(
html_writer::img(
$OUTPUT->image_url('monologo', $row->plugininfo->name),
'',
[
'class' => 'icon',
],
) . get_string('modulename', $row->plugininfo->name)
);
}
/**
* Show the number of activities present, with a link to courses containing activity if relevant.
*
* @param mixed $row
* @return string
*/
protected function col_activities(stdClass $row): string {
global $DB, $OUTPUT;
try {
$count = $DB->count_records_select($row->plugininfo->name, "course <> 0");
} catch (dml_exception $e) {
$count = -1;
}
if ($count > 0) {
return $OUTPUT->action_link(
new moodle_url('/course/search.php', [
'modulelist' => $row->plugininfo->name,
]),
$count,
null,
['title' => get_string('showmodulecourse')]
);
} else if ($count < 0) {
return get_string('error');
} else {
return $count;
}
}
}
@@ -0,0 +1,85 @@
<?php
// This file is part of Moodle - http://moodle.org/
//
// Moodle is free software: you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
// the Free Software Foundation, either version 3 of the License, or
// (at your option) any later version.
//
// Moodle is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License for more details.
//
// You should have received a copy of the GNU General Public License
// along with Moodle. If not, see <http://www.gnu.org/licenses/>.
namespace core_admin\table;
use moodle_url;
use stdClass;
use html_writer;
use get_string_manager;
/**
* Availability admin settings.
*
* @package core_admin
* @copyright 2024 The Open University
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
*/
class availability_management_table extends plugin_management_table {
protected function get_table_id(): string {
return 'availabilityconditions_administration_table';
}
protected function get_plugintype(): string {
return 'availability';
}
protected function get_action_url(array $params = []): moodle_url {
return new moodle_url('/admin/tool/availabilityconditions/', $params);
}
public function guess_base_url(): void {
$this->define_baseurl(
new moodle_url('/admin/tool/availabilityconditions/')
);
}
protected function get_column_list(): array {
return [
'name' => get_string('plugin'),
'version' => get_string('version'),
'enabled' => get_string('enabled', 'admin'),
'defaultdisplaymode' => get_string('defaultdisplaymode', 'tool_availabilityconditions'),
];
}
public function setup(): void {
$this->set_attribute('id', 'availabilityconditions_administration_table');
$this->set_attribute('class', 'admintable generaltable');
parent::setup();
}
protected function col_name(stdClass $row): string {
return html_writer::span(
get_string('pluginname', 'availability_' . $row->plugininfo->name)
);
}
protected function col_defaultdisplaymode(stdClass $row): string {
global $OUTPUT, $CFG;
$displaymode = get_config('availability_' . $row->plugininfo->name, 'defaultdisplaymode') ? 'show' : 'hide';
$paramsdisplaymode = [
'sesskey' => sesskey(),
'plugin' => $row->plugininfo->name,
'displaymode' => $displaymode,
];
$urldisplaymode = new moodle_url('/' . $CFG->admin . '/tool/availabilityconditions/', $paramsdisplaymode);
return html_writer::link($urldisplaymode, $OUTPUT->pix_icon('t/' . $displaymode,
get_string($displaymode)), ['class' => 'display-mode-' . $row->plugininfo->name]);
}
}
@@ -0,0 +1,153 @@
<?php
// This file is part of Moodle - http://moodle.org/
//
// Moodle is free software: you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
// the Free Software Foundation, either version 3 of the License, or
// (at your option) any later version.
//
// Moodle is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License for more details.
//
// You should have received a copy of the GNU General Public License
// along with Moodle. If not, see <http://www.gnu.org/licenses/>.
namespace core_admin\table;
use html_writer;
use moodle_url;
use stdClass;
/**
* Tiny admin settings.
*
* @package core_admin
* @copyright 2023 Andrew Lyons <andrew@nicols.co.uk>
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
*/
class block_management_table extends \core_admin\table\plugin_management_table {
/** @var plugininfo[] A list of blocks which cannot be deleted */
protected array $undeletableblocktypes;
/** @var stdClass[] A list of basic block data */
protected array $blockdata;
/** @var array<string,int> A list of course counts */
protected array $courseblocks;
public function __construct() {
global $DB;
parent::__construct();
$this->undeletableblocktypes = \block_manager::get_undeletable_block_types();
$sql = 'SELECT b.name,
b.id,
COUNT(DISTINCT binst.id) as totalcount
FROM {block} b
LEFT JOIN {block_instances} binst ON binst.blockname = b.name
GROUP BY b.id,
b.name
ORDER BY b.name ASC';
$this->blockdata = $DB->get_records_sql($sql);
$sql = "SELECT blockname
FROM {block_instances}
WHERE pagetypepattern = 'course-view-*'
GROUP BY blockname";
$this->courseblocks = $DB->get_records_sql($sql);
}
protected function get_plugintype(): string {
return 'block';
}
public function guess_base_url(): void {
$this->define_baseurl(
new moodle_url('/admin/blocks.php')
);
}
protected function get_action_url(array $params = []): moodle_url {
return new moodle_url('/admin/blocks.php', $params);
}
protected function get_table_js_module(): string {
return 'core_admin/block_management_table';
}
protected function get_column_list(): array {
$columns = parent::get_column_list();
return array_merge(
array_slice($columns, 0, 1, true),
['instances' => get_string('blockinstances', 'admin')],
array_slice($columns, 1, 2, true),
['protect' => get_string('blockprotect', 'admin')],
array_slice($columns, 3, null, true),
);
}
protected function get_columns_with_help(): array {
return [
'protect' => new \help_icon('blockprotect', 'admin'),
];
}
/**
* Render the instances column
* @param stdClass $row
* @return string
*/
protected function col_instances(stdClass $row): string {
$blockdata = $this->blockdata[$row->plugininfo->name];
if (array_key_exists($blockdata->name, $this->courseblocks)) {
return html_writer::link(
new moodle_url('/course/search.php', [
'blocklist' => $blockdata->id,
]),
$blockdata->totalcount,
);
}
return $blockdata->totalcount;
}
/**
* Render the protect column.
*
* @param stdClass $row
* @return string
*/
protected function col_protect(stdClass $row): string {
global $OUTPUT;
$params = [
'sesskey' => sesskey(),
];
$protected = in_array($row->plugininfo->name, $this->undeletableblocktypes);
$pluginname = $row->plugininfo->displayname;
if ($protected) {
$params['unprotect'] = $row->plugininfo->name;
$icon = $OUTPUT->pix_icon('t/unlock', get_string('blockunprotectblock', 'admin', $pluginname));
} else {
$params['protect'] = $row->plugininfo->name;
$icon = $OUTPUT->pix_icon('t/lock', get_string('blockprotectblock', 'admin', $pluginname));
}
return html_writer::link(
$this->get_action_url($params),
$icon,
[
'data-action' => 'toggleprotectstate',
'data-plugin' => $row->plugin,
'data-target-state' => $protected ? 0 : 1,
],
);
return '';
}
}
@@ -0,0 +1,63 @@
<?php
// This file is part of Moodle - http://moodle.org/
//
// Moodle is free software: you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
// the Free Software Foundation, either version 3 of the License, or
// (at your option) any later version.
//
// Moodle is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License for more details.
//
// You should have received a copy of the GNU General Public License
// along with Moodle. If not, see <http://www.gnu.org/licenses/>.
namespace core_admin\table;
use moodle_url;
/**
* Tiny admin settings.
*
* @package core_admin
* @copyright 2023 Andrew Lyons <andrew@nicols.co.uk>
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
*/
class editor_management_table extends \core_admin\table\plugin_management_table {
protected function get_plugintype(): string {
return 'editor';
}
public function guess_base_url(): void {
$this->define_baseurl(
new moodle_url('/admin/settings.php', ['section' => 'manageeditors'])
);
}
protected function get_action_url(array $params = []): moodle_url {
return new moodle_url('/admin/editors.php', $params);
}
protected function order_plugins(array $plugins): array {
global $CFG;
// The Editor list is stored in an ordered string.
$activeeditors = explode(',', $CFG->texteditors);
$sortedplugins = [];
foreach ($activeeditors as $editor) {
if (isset($plugins[$editor])) {
$sortedplugins[$editor] = $plugins[$editor];
unset($plugins[$editor]);
}
}
$otherplugins = parent::order_plugins($plugins);
return array_merge(
$sortedplugins,
$otherplugins
);
}
}
+281
View File
@@ -0,0 +1,281 @@
<?php
// This file is part of Moodle - http://moodle.org/
//
// Moodle is free software: you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
// the Free Software Foundation, either version 3 of the License, or
// (at your option) any later version.
//
// Moodle is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License for more details.
//
// You should have received a copy of the GNU General Public License
// along with Moodle. If not, see <http://www.gnu.org/licenses/>.
namespace core_admin\table;
use core_plugin_manager;
use flexible_table;
use html_writer;
use stdClass;
defined('MOODLE_INTERNAL') || die();
require_once("{$CFG->libdir}/tablelib.php");
/**
* Plugin Management table.
*
* @package core_admin
* @copyright 2023 Andrew Lyons <andrew@nicols.co.uk>
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
*/
class hook_list_table extends flexible_table {
/** @var \core\plugininfo\base[] The plugin list */
protected array $plugins = [];
/** @var int The number of enabled plugins of this type */
protected int $enabledplugincount = 0;
/** @var core_plugin_manager */
protected core_plugin_manager $pluginmanager;
/** @var string The plugininfo class for this plugintype */
protected string $plugininfoclass;
/** @var stdClass[] The list of emitted hooks with metadata */
protected array $emitters;
public function __construct() {
global $CFG;
$this->define_baseurl('/admin/hooks.php');
parent::__construct('core_admin-hook_list_table');
// Add emitted hooks.
$this->emitters = \core\hook\manager::discover_known_hooks();
$this->setup_column_configuration();
$this->setup();
}
/**
* Set up the column configuration for this table.
*/
protected function setup_column_configuration(): void {
$columnlist = [
'details' => get_string('hookname', 'core_admin'),
'callbacks' => get_string('hookcallbacks', 'core_admin'),
'deprecates' => get_string('hookdeprecates', 'core_admin'),
];
$this->define_columns(array_keys($columnlist));
$this->define_headers(array_values($columnlist));
$columnswithhelp = [
'callbacks' => new \help_icon('hookcallbacks', 'admin'),
];
$columnhelp = array_map(function (string $column) use ($columnswithhelp): ?\renderable {
if (array_key_exists($column, $columnswithhelp)) {
return $columnswithhelp[$column];
}
return null;
}, array_keys($columnlist));
$this->define_help_for_headers($columnhelp);
}
/**
* Print the table.
*/
public function out(): void {
// All hook consumers referenced from the db/hooks.php files.
$hookmanager = \core\di::get(\core\hook\manager::class);
$allhooks = (array)$hookmanager->get_all_callbacks();
// Add any unused hooks.
foreach (array_keys($this->emitters) as $classname) {
if (isset($allhooks[$classname])) {
continue;
}
$allhooks[$classname] = [];
}
// Order rows by hook name, putting core first.
\core_collator::ksort($allhooks);
$corehooks = [];
foreach ($allhooks as $classname => $consumers) {
if (str_starts_with($classname, 'core\\')) {
$corehooks[$classname] = $consumers;
unset($allhooks[$classname]);
}
}
$allhooks = array_merge($corehooks, $allhooks);
foreach ($allhooks as $classname => $consumers) {
$this->add_data_keyed(
$this->format_row((object) [
'classname' => $classname,
'callbacks' => $consumers,
]),
$this->get_row_class($classname),
);
}
$this->finish_output(false);
}
protected function col_details(stdClass $row): string {
return $row->classname .
$this->get_description($row) .
html_writer::div($this->get_tags_for_row($row));
}
/**
* Show the name column content.
*
* @param stdClass $row
* @return string
*/
protected function get_description(stdClass $row): string {
if (!array_key_exists($row->classname, $this->emitters)) {
return '';
}
return html_writer::tag(
'small',
clean_text(markdown_to_html($this->emitters[$row->classname]['description']), FORMAT_HTML),
);
}
protected function col_deprecates(stdClass $row): string {
if (!class_exists($row->classname)) {
return '';
}
$deprecates = \core\hook\manager::get_replaced_callbacks($row->classname);
if (count($deprecates) === 0) {
return '';
}
$content = html_writer::start_tag('ul');
foreach ($deprecates as $deprecatedmethod) {
$content .= html_writer::tag('li', $deprecatedmethod);
}
$content .= html_writer::end_tag('ul');
return $content;
}
protected function col_callbacks(stdClass $row): string {
global $CFG;
$hookclass = $row->classname;
$cbinfo = [];
foreach ($row->callbacks as $definition) {
$iscallable = is_callable($definition['callback'], false, $callbackname);
$isoverridden = isset($CFG->hooks_callback_overrides[$hookclass][$definition['callback']]);
$info = "{$callbackname}&nbsp;({$definition['priority']})";
if (!$iscallable) {
$info .= '&nbsp;';
$info .= $this->get_tag(
get_string('error'),
'danger',
get_string('hookcallbacknotcallable', 'core_admin', $callbackname),
);
}
if ($isoverridden) {
// The lang string meaning should be close enough here.
$info .= $this->get_tag(
get_string('hookconfigoverride', 'core_admin'),
'warning',
get_string('hookconfigoverride_help', 'core_admin'),
);
}
$cbinfo[] = $info;
}
if ($cbinfo) {
$output = html_writer::start_tag('ol');
foreach ($cbinfo as $callback) {
$class = '';
if ($definition['disabled']) {
$class = 'dimmed_text';
}
$output .= html_writer::tag('li', $callback, ['class' => $class]);
}
$output .= html_writer::end_tag('ol');
return $output;
} else {
return '';
}
}
/**
* Get the HTML to display the badge with tooltip.
*
* @param string $tag The main text to display
* @param null|string $type The pill type
* @param null|string $tooltip The content of the tooltip
* @return string
*/
protected function get_tag(
string $tag,
?string $type = null,
?string $tooltip = null,
): string {
$attributes = [];
if ($type === null) {
$type = 'info';
}
if ($tooltip) {
$attributes['data-toggle'] = 'tooltip';
$attributes['title'] = $tooltip;
}
return html_writer::span($tag, "badge badge-{$type}", $attributes);
}
/**
* Get the code to display a set of tags for this table row.
*
* @param stdClass $row
* @return string
*/
protected function get_tags_for_row(stdClass $row): string {
if (!array_key_exists($row->classname, $this->emitters)) {
// This hook has been defined in the db/hooks.php file
// but does not refer to a hook in this version of Moodle.
return $this->get_tag(
get_string('hookunknown', 'core_admin'),
'warning',
get_string('hookunknown_desc', 'core_admin'),
);
}
if (!class_exists($row->classname)) {
// This hook has been defined in a hook discovery agent, but the class it refers to could not be found.
return $this->get_tag(
get_string('hookclassmissing', 'core_admin'),
'warning',
get_string('hookclassmissing_desc', 'core_admin'),
);
}
$tags = $this->emitters[$row->classname]['tags'] ?? [];
$taglist = array_map(function($tag): string {
if (is_array($tag)) {
return $this->get_tag(...$tag);
}
return $this->get_tag($tag, 'badge bg-info text-white');
}, $tags);
return implode("\n", $taglist);
}
protected function get_row_class(string $classname): string {
return '';
}
}
@@ -0,0 +1,71 @@
<?php
// This file is part of Moodle - http://moodle.org/
//
// Moodle is free software: you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
// the Free Software Foundation, either version 3 of the License, or
// (at your option) any later version.
//
// Moodle is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License for more details.
//
// You should have received a copy of the GNU General Public License
// along with Moodle. If not, see <http://www.gnu.org/licenses/>.
namespace core_admin\table;
use moodle_url;
use stdClass;
/**
* Media plugin admin settings.
*
* @package core_admin
* @copyright 2023 Andrew Lyons <andrew@nicols.co.uk>
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
*/
class media_management_table extends \core_admin\table\plugin_management_table {
/** @var array The list of used extensions */
protected array $usedextensions = [];
protected function get_plugintype(): string {
return 'media';
}
protected function get_action_url(array $params = []): moodle_url {
return new moodle_url('/admin/media.php', $params);
}
protected function get_column_list(): array {
$columns = parent::get_column_list();
return array_merge(
array_slice($columns, 0, 1, true),
['supports' => get_string('supports', 'core_media')],
array_slice($columns, 1, null, true),
);
}
protected function col_name(stdClass $row): string {
global $OUTPUT, $PAGE;
$name = $row->plugininfo->name;
if ($PAGE->theme->resolve_image_location('icon', 'media_' . $name, false)) {
$icon = $OUTPUT->pix_icon('icon', '', "media_{$name}", ['class' => 'icon pluginicon']);
} else {
$icon = $OUTPUT->pix_icon('spacer', '', 'moodle', ['class' => 'icon pluginicon noicon']);
}
$help = '';
if (get_string_manager()->string_exists('pluginname_help', 'media_' . $name)) {
$help = '&nbsp;' . $OUTPUT->help_icon('pluginname', 'media_' . $name);
}
return $icon . $row->plugininfo->displayname . $help;
}
protected function col_supports(stdClass $row): string {
return $row->plugininfo->supports($this->usedextensions);
}
}
@@ -0,0 +1,515 @@
<?php
// This file is part of Moodle - http://moodle.org/
//
// Moodle is free software: you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
// the Free Software Foundation, either version 3 of the License, or
// (at your option) any later version.
//
// Moodle is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License for more details.
//
// You should have received a copy of the GNU General Public License
// along with Moodle. If not, see <http://www.gnu.org/licenses/>.
namespace core_admin\table;
use context_system;
use core_plugin_manager;
use core_table\dynamic as dynamic_table;
use flexible_table;
use html_writer;
use moodle_url;
use stdClass;
defined('MOODLE_INTERNAL') || die();
require_once("{$CFG->libdir}/tablelib.php");
/**
* Plugin Management table.
*
* @package core_admin
* @copyright 2023 Andrew Lyons <andrew@nicols.co.uk>
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
*/
abstract class plugin_management_table extends flexible_table implements dynamic_table {
/** @var \core\plugininfo\base[] The plugin list */
protected array $plugins = [];
/** @var int The number of enabled plugins of this type */
protected int $enabledplugincount = 0;
/** @var core_plugin_manager */
protected core_plugin_manager $pluginmanager;
/** @var string The plugininfo class for this plugintype */
protected string $plugininfoclass;
public function __construct() {
global $CFG;
parent::__construct($this->get_table_id());
require_once($CFG->libdir . '/adminlib.php');
// Fetch the plugininfo class.
$this->pluginmanager = core_plugin_manager::instance();
$this->plugininfoclass = $this->pluginmanager::resolve_plugininfo_class($this->get_plugintype());
$this->guess_base_url();
$this->plugins = $this->get_sorted_plugins();
$this->enabledplugincount = count(array_filter($this->plugins, function ($plugin) {
return $plugin->is_enabled();
}));
$this->setup_column_configuration();
$this->set_filterset(new plugin_management_table_filterset());
$this->setup();
}
/**
* Get the list of sorted plugins.
*
* @return \core\plugininfo\base[]
*/
protected function get_sorted_plugins(): array {
if ($this->plugininfoclass::plugintype_supports_ordering()) {
return $this->plugininfoclass::get_sorted_plugins();
} else {
$plugins = $this->pluginmanager->get_plugins_of_type($this->get_plugintype());
return self::sort_plugins($plugins);
}
}
/**
* Sort the plugins list.
*
* Note: This only applies to plugins which do not support ordering.
*
* @param \core\plugininfo\base[] $plugins
* @return \core\plugininfo\base[]
*/
protected function sort_plugins(array $plugins): array {
// The asort functions work by reference.
\core_collator::asort_objects_by_property($plugins, 'displayname');
return $plugins;
}
/**
* Set up the column configuration for this table.
*/
protected function setup_column_configuration(): void {
$columnlist = $this->get_column_list();
$this->define_columns(array_keys($columnlist));
$this->define_headers(array_values($columnlist));
$columnswithhelp = $this->get_columns_with_help();
$columnhelp = array_map(function (string $column) use ($columnswithhelp): ?\renderable {
if (array_key_exists($column, $columnswithhelp)) {
return $columnswithhelp[$column];
}
return null;
}, array_keys($columnlist));
$this->define_help_for_headers($columnhelp);
}
/**
* Set the standard order of the plugins.
*
* @param array $plugins
* @return array
*/
protected function order_plugins(array $plugins): array {
uasort($plugins, function ($a, $b) {
if ($a->is_enabled() && !$b->is_enabled()) {
return -1;
} else if (!$a->is_enabled() && $b->is_enabled()) {
return 1;
}
return strnatcasecmp($a->name, $b->name);
});
return $plugins;
}
/**
* Get the plugintype for this table.
*
* @return string
*/
abstract protected function get_plugintype(): string;
/**
* Get the action URL for this table.
*
* The action URL is used to perform all actions when JS is not available.
*
* @param array $params
* @return moodle_url
*/
abstract protected function get_action_url(array $params = []): moodle_url;
/**
* Provide a default implementation for guessing the base URL from the action URL.
*/
public function guess_base_url(): void {
$this->define_baseurl($this->get_action_url());
}
/**
* Get the web service method used to toggle state.
*
* @return null|string
*/
protected function get_toggle_service(): ?string {
return 'core_admin_set_plugin_state';
}
/**
* Get the web service method used to order plugins.
*
* @return null|string
*/
protected function get_sortorder_service(): ?string {
return 'core_admin_set_plugin_order';
}
/**
* Get the ID of the table.
*
* @return string
*/
protected function get_table_id(): string {
return 'plugin_management_table-' . $this->get_plugintype();
}
/**
* Get a list of the column titles
* @return string[]
*/
protected function get_column_list(): array {
$columns = [
'name' => get_string('name', 'core'),
'version' => get_string('version', 'core'),
];
if ($this->supports_disabling()) {
$columns['enabled'] = get_string('pluginenabled', 'core_plugin');
}
if ($this->supports_ordering()) {
$columns['order'] = get_string('order', 'core');
}
$columns['settings'] = get_string('settings', 'core');
$columns['uninstall'] = get_string('uninstallplugin', 'core_admin');
return $columns;
}
protected function get_columns_with_help(): array {
return [];
}
/**
* Get the context for this table.
*
* @return context_system
*/
public function get_context(): context_system {
return context_system::instance();
}
/**
* Get the table content.
*/
public function get_content(): string {
ob_start();
$this->out();
$content = ob_get_contents();
ob_end_clean();
return $content;
}
/**
* Print the table.
*/
public function out(): void {
$plugintype = $this->get_plugintype();
foreach ($this->plugins as $plugininfo) {
$plugin = "{$plugintype}_{$plugininfo->name}";
$rowdata = (object) [
'plugin' => $plugin,
'plugininfo' => $plugininfo,
'name' => $plugininfo->displayname,
'version' => $plugininfo->versiondb,
];
$this->add_data_keyed(
$this->format_row($rowdata),
$this->get_row_class($rowdata)
);
}
$this->finish_output(false);
}
/**
* This table is not downloadable.
* @param bool $downloadable
* @return bool
*/
// phpcs:disable VariableAnalysis.CodeAnalysis.VariableAnalysis.UnusedVariable
public function is_downloadable($downloadable = null): bool {
return false;
}
/**
* Show the name column content.
*
* @param stdClass $row
* @return string
*/
protected function col_name(stdClass $row): string {
$status = $row->plugininfo->get_status();
if ($status === core_plugin_manager::PLUGIN_STATUS_MISSING) {
return html_writer::span(
get_string('pluginmissingfromdisk', 'core', $row->plugininfo),
'notifyproblem'
);
}
if ($row->plugininfo->is_installed_and_upgraded()) {
return $row->plugininfo->displayname;
}
return html_writer::span(
$row->plugininfo->displayname,
'notifyproblem'
);
}
/**
* Show the enable/disable column content.
*
* @param stdClass $row
* @return string
*/
protected function col_enabled(stdClass $row): string {
global $OUTPUT;
$enabled = $row->plugininfo->is_enabled();
if ($enabled) {
$labelstr = get_string('disableplugin', 'core_admin', $row->plugininfo->displayname);
} else {
$labelstr = get_string('enableplugin', 'core_admin', $row->plugininfo->displayname);
}
$params = [
'id' => 'admin-toggle-' . $row->plugininfo->name,
'checked' => $enabled,
'dataattributes' => [
'name' => 'id',
'value' => $row->plugininfo->name,
'toggle-method' => $this->get_toggle_service(),
'action' => 'togglestate',
'plugin' => $row->plugin,
'state' => $enabled ? 1 : 0,
],
'title' => $labelstr,
'label' => $labelstr,
'labelclasses' => 'sr-only',
];
return $OUTPUT->render_from_template('core_admin/setting_configtoggle', $params);
}
protected function col_order(stdClass $row): string {
global $OUTPUT;
if (!$this->supports_ordering()) {
return '';
}
if (!$row->plugininfo->is_enabled()) {
return '';
}
if ($this->enabledplugincount <= 1) {
// There is only one row.
return '';
}
$hasup = true;
$hasdown = true;
if (empty($this->currentrow)) {
// This is the top row.
$hasup = false;
}
if ($this->currentrow === ($this->enabledplugincount - 1)) {
// This is the last row.
$hasdown = false;
}
if ($this->supports_ordering()) {
$dataattributes = [
'data-method' => $this->get_sortorder_service(),
'data-action' => 'move',
'data-plugin' => $row->plugin,
];
} else {
$dataattributes = [];
}
if ($hasup) {
$upicon = html_writer::link(
$this->get_action_url([
'sesskey' => sesskey(),
'action' => 'up',
'plugin' => $row->plugininfo->name,
]),
$OUTPUT->pix_icon('t/up', get_string('moveup')),
array_merge($dataattributes, ['data-direction' => 'up']),
);
} else {
$upicon = $OUTPUT->spacer();
}
if ($hasdown) {
$downicon = html_writer::link(
$this->get_action_url([
'sesskey' => sesskey(),
'action' => 'down',
'plugin' => $row->plugininfo->name,
]),
$OUTPUT->pix_icon('t/down', get_string('movedown')),
array_merge($dataattributes, ['data-direction' => 'down']),
);
} else {
$downicon = $OUTPUT->spacer();
}
// For now just add the up/down icons.
return html_writer::span($upicon . $downicon);
}
/**
* Show the settings column content.
*
* @param stdClass $row
* @return string
*/
protected function col_settings(stdClass $row): string {
if ($settingsurl = $row->plugininfo->get_settings_url()) {
return html_writer::link($settingsurl, get_string('settings'));
}
return '';
}
/**
* Show the Uninstall column content.
*
* @param stdClass $row
* @return string
*/
protected function col_uninstall(stdClass $row): string {
$status = $row->plugininfo->get_status();
if ($status === core_plugin_manager::PLUGIN_STATUS_NEW) {
return get_string('status_new', 'core_plugin');
}
if ($status === core_plugin_manager::PLUGIN_STATUS_MISSING) {
$uninstall = get_string('status_missing', 'core_plugin') . '<br/>';
} else {
$uninstall = '';
}
if ($uninstallurl = $this->pluginmanager->get_uninstall_url($row->plugin)) {
$uninstall .= html_writer::link($uninstallurl, get_string('uninstallplugin', 'core_admin'));
}
return $uninstall;
}
/**
* Get the JS module used to manage this table.
*
* This should be a class which extends 'core_admin/plugin_management_table'.
*
* @return string
*/
protected function get_table_js_module(): string {
return 'core_admin/plugin_management_table';
}
/**
* Add JS specific to this implementation.
*
* @return string
*/
protected function get_dynamic_table_html_end(): string {
global $PAGE;
$PAGE->requires->js_call_amd($this->get_table_js_module(), 'init');
return parent::get_dynamic_table_html_end();
}
/**
* Get any class to add to the row.
*
* @param mixed $row
* @return string
*/
protected function get_row_class($row): string {
$plugininfo = $row->plugininfo;
if ($plugininfo->get_status() === core_plugin_manager::PLUGIN_STATUS_MISSING) {
return '';
}
if (!$plugininfo->is_enabled()) {
return 'dimmed_text';
}
return '';
}
public static function get_filterset_class(): string {
return self::class . '_filterset';
}
/**
* Whether this plugin type supports the disabling of plugins.
*
* @return bool
*/
protected function supports_disabling(): bool {
return $this->plugininfoclass::plugintype_supports_disabling();
}
/**
* Whether this table should show ordering fields.
*
* @return bool
*/
protected function supports_ordering(): bool {
return $this->plugininfoclass::plugintype_supports_ordering();
}
/**
* Check if the user has the capability to access this table.
*
* Default implementation for plugin management tables is to require 'moodle/site:config' capability
*
* @return bool Return true if capability check passed.
*/
public function has_capability(): bool {
return has_capability('moodle/site:config', $this->get_context());
}
}
@@ -0,0 +1,27 @@
<?php
// This file is part of Moodle - http://moodle.org/
//
// Moodle is free software: you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
// the Free Software Foundation, either version 3 of the License, or
// (at your option) any later version.
//
// Moodle is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License for more details.
//
// You should have received a copy of the GNU General Public License
// along with Moodle. If not, see <http://www.gnu.org/licenses/>.
namespace core_admin\table;
/**
* This file contains the dynamic interface.
*
* @package core_admin
* @copyright 2023 Andrew Lyons <andrew@nicols.co.uk>
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
*/
class plugin_management_table_filterset extends \core_table\local\filter\filterset {
}
@@ -0,0 +1,44 @@
<?php
// This file is part of Moodle - http://moodle.org/
//
// Moodle is free software: you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
// the Free Software Foundation, either version 3 of the License, or
// (at your option) any later version.
//
// Moodle is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License for more details.
//
// You should have received a copy of the GNU General Public License
// along with Moodle. If not, see <http://www.gnu.org/licenses/>.
namespace core_admin\table;
use moodle_url;
/**
* Admin tool settings.
*
* @package core_admin
* @copyright 2023 Andrew Lyons <andrew@nicols.co.uk>
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
*/
class tool_plugin_management_table extends \core_admin\table\plugin_management_table {
protected function get_plugintype(): string {
return 'tool';
}
protected function get_column_list(): array {
$columns = parent::get_column_list();
unset($columns['settings']);
return $columns;
}
protected function get_action_url(array $params = []): moodle_url {
return new moodle_url('/admin/settings.php', array_merge(['section' => 'toolsmanagement'], $params));
}
}
+72 -29
View File
@@ -27,23 +27,28 @@ define('CLI_SCRIPT', true);
require(__DIR__ . '/../../config.php');
require_once("{$CFG->libdir}/clilib.php");
require_once("{$CFG->libdir}/cronlib.php");
list($options, $unrecognized) = cli_get_params(
[
'execute' => false,
'help' => false,
'keep-alive' => 0,
'showsql' => false,
'showdebugging' => false,
'execute' => false,
'keep-alive' => 0,
'ignorelimits' => false,
'force' => false,
'id' => null,
'classname' => null,
'taskslimit' => null,
'failed' => false,
], [
'h' => 'help',
'e' => 'execute',
'k' => 'keep-alive',
'i' => 'ignorelimits',
'f' => 'force',
'c' => 'classname',
'l' => 'taskslimit',
]
);
@@ -52,8 +57,7 @@ if ($unrecognized) {
cli_error(get_string('cliunknowoption', 'admin', $unrecognized));
}
if ($options['help'] or empty($options['execute'])) {
$help = <<<EOT
$help = <<<EOT
Ad hoc cron tasks.
Options:
@@ -64,22 +68,32 @@ Options:
-k, --keep-alive=N Keep this script alive for N seconds and poll for new adhoc tasks
-i --ignorelimits Ignore task_adhoc_concurrency_limit and task_adhoc_max_runtime limits
-f, --force Run even if cron is disabled
--id Run (failed) task with id
-c, --classname Run tasks with a certain classname (FQN)
-l, --taskslimit=N Run at most N tasks
--failed Run only tasks that failed, ie those with a fail delay
Example:
Run all queued tasks:
\$sudo -u www-data /usr/bin/php admin/cli/adhoc_task.php --execute
Run all queued tasks of specific class:
\$sudo -u www-data /usr/bin/php admin/cli/adhoc_task.php --classname=\\\\core_course\\\\task\\\\course_delete_modules
Double backslash for the shell escape reasons.
Run a specific task:
\$sudo -u www-data /usr/bin/php admin/cli/adhoc_task.php --id=123456
Run a specific task with debugging:
\$sudo -u www-data /usr/bin/php admin/cli/adhoc_task.php --id=123456 --showsql --showdebugging
To profile a long running task:
\$sudo -u www-data /usr/bin/php admin/cli/adhoc_task.php --taskslimit=1 --classname='\\some\\class\\name' --ignorelimits
EOT;
if ($options['help']) {
echo $help;
die;
}
if ($options['showdebugging']) {
set_debugging(DEBUG_DEVELOPER, true);
}
if ($options['showsql']) {
$DB->set_debug(true);
exit(0);
}
if (CLI_MAINTENANCE) {
@@ -92,17 +106,18 @@ if (moodle_needs_upgrading()) {
exit(1);
}
if (empty($options['execute'])) {
exit(0);
}
if (!get_config('core', 'cron_enabled') && !$options['force']) {
mtrace('Cron is disabled. Use --force to override.');
exit(1);
}
if (empty($options['keep-alive'])) {
$options['keep-alive'] = 0;
// Common debugging options.
if ($options['showdebugging']) {
set_debugging(DEBUG_DEVELOPER, true);
}
if ($options['showsql']) {
$DB->set_debug(true);
}
if (!empty($CFG->showcronsql)) {
@@ -112,20 +127,48 @@ if (!empty($CFG->showcrondebugging)) {
set_debugging(DEBUG_DEVELOPER, true);
}
$checklimits = empty($options['ignorelimits']);
// Process params.
core_php_time_limit::raise();
// Increase memory limit.
raise_memory_limit(MEMORY_EXTRA);
// Emulate normal session - we use admin account by default.
cron_setup_user();
$humantimenow = date('r', time());
$keepalive = (int)$options['keep-alive'];
\core\cron::setup_user();
\core\local\cli\shutdown::script_supports_graceful_exit();
$humantimenow = date('r', time());
mtrace("Server Time: {$humantimenow}\n");
cron_run_adhoc_tasks(time(), $keepalive, $checklimits);
$classname = $options['classname'];
// Run a single adhoc task only, if requested.
if (!empty($options['id'])) {
$taskid = (int) $options['id'];
\core\cron::run_adhoc_task($taskid);
exit(0);
}
// Run all failed tasks.
if (!empty($options['failed'])) {
\core\cron::run_failed_adhoc_tasks($classname);
exit(0);
}
// Examine params and determine if we should run.
$execute = (bool) $options['execute'];
$keepalive = empty($options['keep-alive']) ? 0 : (int) $options['keep-alive'];
$taskslimit = empty($options['taskslimit']) ? null : (int) $options['taskslimit'];
$checklimits = empty($options['ignorelimits']);
if ($classname || $keepalive || $taskslimit) {
$execute = true;
}
// Output the help text if no criteria for running the adhoc tasks are given.
if (!$execute) {
echo $help;
exit(0);
}
\core\cron::run_adhoc_tasks(time(), $keepalive, $checklimits, null, $taskslimit, $classname);
+4 -5
View File
@@ -30,7 +30,6 @@ define('CLI_SCRIPT', true);
require(__DIR__.'/../../config.php');
require_once($CFG->libdir.'/clilib.php'); // cli only functions
require_once($CFG->libdir.'/cronlib.php');
// now get cli options
list($options, $unrecognized) = cli_get_params(array('help'=>false),
@@ -80,10 +79,10 @@ if (!empty($CFG->showcrondebugging)) {
$starttime = microtime();
/// emulate normal session
cron_setup_user();
// Emulate normal session.
\core\cron::setup_user();
/// Start output log
// Start output log.
$timenow = time();
mtrace("Server Time: ".date('r',$timenow)."\n\n");
@@ -96,4 +95,4 @@ backup_cron_automated_helper::run_automated_backup(backup_cron_automated_helper:
mtrace("Automated cron backups completed correctly");
$difftime = microtime_diff($starttime, microtime());
mtrace("Execution took ".$difftime." seconds");
mtrace("Execution took ".$difftime." seconds");
+23 -7
View File
@@ -33,6 +33,7 @@ require_once($CFG->dirroot . '/backup/util/includes/backup_includes.php');
list($options, $unrecognized) = cli_get_params(array(
'courseid' => false,
'courseshortname' => '',
'cmid' => false,
'destination' => '',
'help' => false,
), array('h' => 'help'));
@@ -42,13 +43,14 @@ if ($unrecognized) {
cli_error(get_string('cliunknowoption', 'admin', $unrecognized));
}
if ($options['help'] || !($options['courseid'] || $options['courseshortname'])) {
if ($options['help'] || !($options['courseid'] || $options['courseshortname'] || $options['cmid'])) {
$help = <<<EOL
Perform backup of the given course.
Perform backup of the given course or course module.
Options:
--courseid=INTEGER Course ID for backup.
--courseshortname=STRING Course shortname for backup.
--courseshortname=STRING Course shortname for backup. This option is ignored if courseid is set.
--cmid=INTEGER Course module ID for backup. This option is ignored if courseid or courseshortname is set.
--destination=STRING Path where to store backup file. If not set the backup
will be stored within the course backup file area.
-h, --help Print out this help.
@@ -76,16 +78,26 @@ if (!empty($dir)) {
}
}
// Check that the course exists.
// Check that the course or course module exists.
if ($options['courseid']) {
$course = $DB->get_record('course', array('id' => $options['courseid']), '*', MUST_EXIST);
} else if ($options['courseshortname']) {
$course = $DB->get_record('course', array('shortname' => $options['courseshortname']), '*', MUST_EXIST);
} else if ($options['cmid']) {
$cm = $DB->get_record('course_modules', ['id' => $options['cmid']], '*', MUST_EXIST);
}
cli_heading('Performing backup...');
$bc = new backup_controller(backup::TYPE_1COURSE, $course->id, backup::FORMAT_MOODLE,
backup::INTERACTIVE_YES, backup::MODE_GENERAL, $admin->id);
if (!empty($course)) {
$bc = new backup_controller(backup::TYPE_1COURSE, $course->id, backup::FORMAT_MOODLE,
backup::INTERACTIVE_YES, backup::MODE_GENERAL, $admin->id);
} else if (!empty($cm)) {
$bc = new backup_controller(backup::TYPE_1ACTIVITY, $cm->id, backup::FORMAT_MOODLE,
backup::INTERACTIVE_YES, backup::MODE_GENERAL, $admin->id);
} else {
throw new \moodle_exception('invalidoption');
}
// Set the default filename.
$format = $bc->get_format();
$type = $bc->get_type();
@@ -113,7 +125,11 @@ if (!empty($dir)) {
}
}
} else {
mtrace("Backup completed, the new file is listed in the backup area of the given course");
if (!empty($course)) {
mtrace("Backup completed, the new file is listed in the backup area of the given course");
} else {
mtrace("Backup completed, the new file is listed in the backup area of the given module");
}
}
$bc->destroy();
exit(0);
+21 -13
View File
@@ -1,5 +1,4 @@
<?php
// This file is part of Moodle - http://moodle.org/
//
// Moodle is free software: you can redistribute it and/or modify
@@ -30,12 +29,11 @@
define('CLI_SCRIPT', true);
require(__DIR__.'/../../config.php');
require_once($CFG->libdir.'/clilib.php'); // cli only functions
require_once($CFG->libdir.'/cronlib.php');
require(__DIR__ . '/../../config.php');
require_once($CFG->libdir . '/clilib.php');
// now get cli options
list($options, $unrecognized) = cli_get_params(
// Now get cli option.
[$options, $unrecognized] = cli_get_params(
[
'help' => false,
'stop' => false,
@@ -44,7 +42,9 @@ list($options, $unrecognized) = cli_get_params(
'enable' => false,
'disable' => false,
'disable-wait' => false,
], [
'keep-alive' => null,
],
[
'h' => 'help',
's' => 'stop',
'l' => 'list',
@@ -52,6 +52,7 @@ list($options, $unrecognized) = cli_get_params(
'e' => 'enable',
'd' => 'disable',
'w' => 'disable-wait',
'k' => 'keep-alive',
]
);
@@ -62,7 +63,7 @@ if ($unrecognized) {
if ($options['help']) {
$help =
"Execute periodic cron actions.
"Execute periodic cron actions.
Options:
-h, --help Print out this help
@@ -72,6 +73,9 @@ Options:
-e, --enable Enable cron
-d, --disable Disable cron
-w, --disable-wait=600 Disable cron and wait until all tasks finished or fail after N seconds (optional param)
-k, --keep-alive=N Keep this script alive for N seconds and poll for new tasks
The default value can be set by administrators in:
Site administration > Server > Tasks > Task processing > Keep alive time
Example:
\$sudo -u www-data /usr/bin/php admin/cli/cron.php
@@ -105,7 +109,8 @@ if ($options['list']) {
$tasks = \core\task\manager::get_running_tasks();
mtrace('The list of currently running tasks:');
$format = "%7s %-12s %-9s %-20s %-52s\n";
printf ($format,
printf(
$format,
'PID',
'HOST',
'TYPE',
@@ -113,7 +118,8 @@ if ($options['list']) {
'CLASSNAME'
);
foreach ($tasks as $task) {
printf ($format,
printf(
$format,
$task->pid,
substr($task->hostname, 0, 12),
$task->type,
@@ -137,7 +143,7 @@ if ($wait = $options['disable-wait']) {
set_config('cron_enabled', 0);
\core\task\manager::clear_static_caches();
mtrace('Cron has been disabled for the site.');
mtrace('Allocating '. format_time($waitsec) . ' for the tasks to finish.');
mtrace('Allocating ' . format_time($waitsec) . ' for the tasks to finish.');
$lastcount = 0;
while ($wait) {
@@ -151,7 +157,7 @@ if ($wait = $options['disable-wait']) {
if (time() - $started >= $waitsec) {
mtrace('');
mtrace('Wait time ('. format_time($waitsec) . ') elapsed, but ' . count($tasks) . ' task(s) still running.');
mtrace('Wait time (' . format_time($waitsec) . ') elapsed, but ' . count($tasks) . ' task(s) still running.');
mtrace('Exiting with code 1.');
exit(1);
}
@@ -175,4 +181,6 @@ if (!get_config('core', 'cron_enabled') && !$options['force']) {
\core\local\cli\shutdown::script_supports_graceful_exit();
cron_run();
$keepalive = $options['keep-alive'];
\core\cron::run_main_process($keepalive);
-1
View File
@@ -28,7 +28,6 @@ define('CLI_SCRIPT', true);
require(__DIR__ . '/../../config.php');
require_once($CFG->libdir . '/clilib.php');
require_once($CFG->libdir . '/cronlib.php');
list($options, $unrecognized) = cli_get_params(
[
+209
View File
@@ -0,0 +1,209 @@
<?php
// This file is part of Moodle - http://moodle.org/
//
// Moodle is free software: you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
// the Free Software Foundation, either version 3 of the License, or
// (at your option) any later version.
//
// Moodle is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License for more details.
//
// You should have received a copy of the GNU General Public License
// along with Moodle. If not, see <http://www.gnu.org/licenses/>.
/**
* This script allows you to view and change the emailstop flag of any user.
*
* @package core
* @subpackage cli
* @copyright 2023 Stephan Robotta (stephan.robotta@bfh.ch)
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
*/
define('CLI_SCRIPT', true);
require(__DIR__.'/../../config.php');
require_once($CFG->libdir.'/clilib.php');
// Define the input options.
$longparams = [
'email' => '',
'help' => false,
'id' => '',
'quiet' => false,
'stop' => '',
'username' => '',
];
$shortparams = [
'e' => 'email',
'h' => 'help',
'i' => 'id',
'q' => 'quiet',
's' => 'stop',
'u' => 'username',
];
// Define exit codes.
$exitsuccess = 0;
$exitunknownoption = 1;
$exitmissinguserarg = 2;
$exittoomanyuserarg = 3;
$exitnosearchargs = 4;
$exitnousersfound = 5;
$exitinvalidstopflag = 6;
$exiterrordb = 7;
// Now get cli options that are set by the caller.
list($options, $unrecognized) = cli_get_params($longparams, $shortparams);
$verbose = empty($options['quiet']);
if ($unrecognized) {
$unrecognized = implode("\n ", $unrecognized);
if ($verbose) {
cli_error(get_string('cliunknowoption', 'admin', $unrecognized), $exitunknownoption);
}
exit($exitunknownoption);
}
if ($options['help']) {
$help =
"Set/unset or show status of emailstop flag for a user, identified by username or email.
There are no security checks here because anybody who is able to
execute this file may execute any PHP too.
Options:
-h, --help Print out this help
-e, --email=email Specify user by email, separate many users by comma
-i, --id=id Specify user by id, separate many users by comma
-q, --quiet No output to stdout
-s, --stop=0|1|off|on Set new value for emailstop flag
-u, --username=username Specify user by username, separate many users by comma
Example:
\$sudo -u www-data /usr/bin/php admin/cli/emailstop.php --email=student1@example.com --stop=1
\$sudo -u www-data /usr/bin/php admin/cli/emailstop.php --email=student1@example.com,student2@example.com
\$sudo -u www-data /usr/bin/php admin/cli/emailstop.php --u=student1,student2 -s=on
";
echo $help;
exit($exitsuccess);
}
$cntempty = 0;
$cntfilled = 0;
$searchargs = [];
// Try to find out which option is used to fetch the users from. Also do sanitize etc.
foreach (['email', 'username', 'id'] as $option) {
if (empty($options[$option])) {
$cntempty++;
} else {
$cntfilled++;
$argname = $option;
// The search args must be: split by the comma, trimmed, and empty elements filtered out.
$searchargs = array_flip(array_filter(
array_map(
function ($item) {
return trim($item);
},
explode(',', $options[$option])
),
function ($item) {
return $item !== '';
}
));
}
}
if ($cntempty === 3) {
if ($verbose) {
cli_error('One of username, email, or id must be set.', $exitmissinguserarg);
}
exit($exitmissinguserarg);
}
if ($cntfilled > 1) {
if ($verbose) {
cli_error('Only one of email, username, or id can be set to identify a user.', $exittoomanyuserarg);
}
exit($exittoomanyuserarg);
}
if (empty($searchargs)) {
if ($verbose) {
cli_error('No values are provided for users.', $exitnosearchargs);
}
exit($exitnosearchargs);
}
try {
$users = $DB->get_records_list('user', $argname, array_keys($searchargs));
} catch (Exception $e) {
if ($verbose) {
cli_error("Could not fetch data from db by {$argname}: '{$options[$argname]}'.", $exiterrordb);
}
exit($exiterrordb);
}
if (empty($users)) {
if ($verbose) {
cli_error("Can not find any user by {$argname}: '{$options[$argname]}'.", $exitnousersfound);
}
exit($exitnousersfound);
}
// No stop flag set, then just print the user and the current emailstop flag state.
if ($options['stop'] === '') {
foreach ($users as $user) {
if ($verbose) {
echo 'user=' . $user->{$argname} . ' - emailstop=' . (int)$user->emailstop . PHP_EOL;
unset($searchargs[$user->{$argname}]);
}
}
if ($verbose) {
foreach (array_keys($searchargs) as $arg) {
echo 'user=' . $arg . ' - not found' . PHP_EOL;
}
}
exit($exitsuccess);
}
// Allowed values for the stop flag enabled are 1 and on, for disabled are 0 and off.
$validvalues = ['0', '1', 'off', 'on'];
$stopflag = strtolower($options['stop']);
if (!in_array($stopflag, $validvalues)) {
if ($verbose) {
cli_error('Value for the emailstop flag must be one of: ' . implode(', ', $validvalues) . '.', $exitinvalidstopflag);
}
exit($exitinvalidstopflag);
}
foreach ($validvalues as $value) {
if ($value === $stopflag) {
$stopflag = ($value === '1' || $value === 'on') ? 1 : 0;
break;
}
}
// Update each user with the stop flag to be set if it is necessary.
foreach ($users as $user) {
$line = 'Update user ' . $user->{$argname} . ($argname !== 'id' ? ' (' . $user->id . ')' : '') . ' - ';
if ((int)$user->emailstop !== $stopflag) {
$DB->set_field('user', 'emailstop', $stopflag, ['id' => $user->id]);
$line .= 'ok';
} else {
$line .= 'already done';
}
if ($verbose) {
echo $line . PHP_EOL;
unset($searchargs[$user->{$argname}]);
}
}
if ($verbose) {
foreach (array_keys($searchargs) as $arg) {
echo 'user=' . $arg . ' - not found' . PHP_EOL;
}
}
exit($exitsuccess);
+1 -5
View File
@@ -39,8 +39,6 @@ if ($unrecognized) {
cli_error(get_string('cliunknowoption', 'admin', $unrecognized));
}
// TODO: MDL-71421 - Remove the openssl alternative once sodium becomes a requirement in Moodle 4.2.
if ($options['help']) {
echo "Generate secure key
@@ -54,9 +52,7 @@ may be manually installed on multiple servers.
Options:
-h, --help Print out this help
--method <method> Generate key for specified encryption method instead of default.
* sodium
* openssl-aes-256-ctr
--method <method> Generate key for specified encryption method instead of default (sodium)
Example:
php admin/cli/generate_key.php
+132
View File
@@ -0,0 +1,132 @@
<?php
// This file is part of Moodle - http://moodle.org/
//
// Moodle is free software: you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
// the Free Software Foundation, either version 3 of the License, or
// (at your option) any later version.
//
// Moodle is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License for more details.
//
// You should have received a copy of the GNU General Public License
// along with Moodle. If not, see <http://www.gnu.org/licenses/>.
/**
* This script allows to import a course from CLI.
*
* @package core
* @subpackage cli
* @author Tomo Tsuyuki <tomotsuyuki@catalyst-au.net>
* @copyright 2023 Catalyst IT
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
*/
define('CLI_SCRIPT', 1);
require(__DIR__ . '/../../config.php');
require_once($CFG->libdir . '/clilib.php');
require_once($CFG->dirroot . '/backup/util/includes/backup_includes.php');
require_once($CFG->dirroot . "/backup/util/includes/restore_includes.php");
list($options, $unrecognized) = cli_get_params([
'srccourseid' => '',
'srccmid' => '',
'dstcourseid' => '',
'showdebugging' => false,
'help' => false,
], [
's' => 'showdebugging',
'h' => 'help',
]);
if ($unrecognized) {
$unrecognized = implode("\n ", $unrecognized);
cli_error(get_string('cliunknowoption', 'admin', $unrecognized));
}
if ($options['help'] ||
!(($options['srccourseid'] && $options['dstcourseid'])
|| ($options['srccmid'] && $options['dstcourseid']))) {
$help = <<<EOL
Import course or course module into provided course.
Options:
--srccourseid=INT Source course ID to backup.
--srccmid=INT Source course module ID to backup.
--dstcourseid=INT Destination course ID to restore.
-s, --showdebugging Show developer level debugging information
-h, --help Print out this help.
Example1: (Import from a course into another course)
\$sudo -u www-data /usr/bin/php admin/cli/import.php --srccourseid=12 --dstcourseid=13\n
Example2: (Import from a course module into a course)
\$sudo -u www-data /usr/bin/php admin/cli/import.php --srccmid=21 --dstcourseid=11\n
EOL;
echo $help;
exit(0);
}
if ($options['showdebugging']) {
set_debugging(DEBUG_DEVELOPER, true);
}
if (!$admin = get_admin()) {
throw new \moodle_exception('noadmins');
}
if (!empty($options['srccourseid']) && !empty($options['dstcourseid'])) {
// Import from course into course.
if (!$srccourse = $DB->get_record('course', ['id' => $options['srccourseid']], 'id')) {
throw new \moodle_exception('invalidcourseid');
}
if (!$dstcourse = $DB->get_record('course', ['id' => $options['dstcourseid']], 'id')) {
throw new \moodle_exception('invalidcourseid');
}
cli_heading(get_string('importfromcoursetocourse', 'backup', (object)$options));
$bc = new backup_controller(backup::TYPE_1COURSE, $srccourse->id, backup::FORMAT_MOODLE,
backup::INTERACTIVE_NO, backup::MODE_IMPORT, $admin->id);
$backupid = $bc->get_backupid();
$bc->execute_plan();
$bc->destroy();
cli_heading(get_string('backupthenrestore', 'backup'));
$rc = new restore_controller($backupid, $dstcourse->id, backup::INTERACTIVE_NO,
backup::MODE_SAMESITE, $admin->id, backup::TARGET_EXISTING_ADDING);
$rc->execute_precheck();
$rc->execute_plan();
$rc->destroy();
cli_heading(get_string('restoredcourseid', 'backup', $dstcourse->id));
} else if (!empty($options['srccmid']) && !empty($options['dstcourseid'])) {
// Import from course module into course.
if (!$cm = $DB->get_record('course_modules', ['id' => $options['srccmid']], 'id')) {
throw new \moodle_exception('invalidcoursemoduleid', 'error', '', $options['srccmid']);
}
if (!$course = $DB->get_record('course', ['id' => $options['dstcourseid']], 'id')) {
throw new \moodle_exception('invalidcourseid');
}
cli_heading(get_string('importfromccmidtocourse', 'backup', (object)$options));
$bc = new backup_controller(backup::TYPE_1ACTIVITY, $cm->id, backup::FORMAT_MOODLE,
backup::INTERACTIVE_NO, backup::MODE_IMPORT, $admin->id);
$backupid = $bc->get_backupid();
$bc->execute_plan();
$bc->destroy();
cli_heading(get_string('backupthenrestore', 'backup'));
$rc = new restore_controller($backupid, $course->id, backup::INTERACTIVE_NO,
backup::MODE_SAMESITE, $admin->id, backup::TARGET_EXISTING_ADDING);
$rc->execute_precheck();
$rc->execute_plan();
$rc->destroy();
cli_heading(get_string('restoredcourseid', 'backup', $course->id));
} else {
throw new \moodle_exception('invalidoption');
}
exit(0);
+7 -11
View File
@@ -172,11 +172,16 @@ $CFG->debugdeveloper = true;
$parts = explode('/', str_replace('\\', '/', dirname(__DIR__)));
$CFG->admin = array_pop($parts);
//point pear include path to moodles lib/pear so that includes and requires will search there for files before anywhere else
//the problem is that we need specific version of quickforms and hacked excel files :-(
// Point pear include path to moodles lib/pear so that includes and requires will search there for files before anywhere else
// the problem is that we need specific version of quickforms and hacked excel files :-(.
ini_set('include_path', $CFG->libdir.'/pear' . PATH_SEPARATOR . ini_get('include_path'));
// The core_component class can be used in any scripts, it does not need anything else.
require_once($CFG->libdir.'/classes/component.php');
// Register our classloader.
\core\component::register_autoloader();
require_once($CFG->libdir.'/classes/text.php');
require_once($CFG->libdir.'/classes/string_manager.php');
require_once($CFG->libdir.'/classes/string_manager_install.php');
@@ -190,15 +195,6 @@ require_once($CFG->libdir.'/moodlelib.php');
require_once($CFG->libdir.'/deprecatedlib.php');
require_once($CFG->libdir.'/adminlib.php');
require_once($CFG->libdir.'/componentlib.class.php');
require_once($CFG->dirroot.'/cache/lib.php');
// Register our classloader, in theory somebody might want to replace it to load other hacked core classes.
// Required because the database checks below lead to session interaction which is going to lead us to requiring autoloaded classes.
if (defined('COMPONENT_CLASSLOADER')) {
spl_autoload_register(COMPONENT_CLASSLOADER);
} else {
spl_autoload_register('core_component::classloader');
}
require($CFG->dirroot.'/version.php');
$CFG->target_release = $release;
+11
View File
@@ -57,6 +57,7 @@ Options:
--fullname=STRING Name of the site
--shortname=STRING Name of the site
--summary=STRING The summary to be displayed on the front page
--supportemail=STRING Email address for support and help.
-h, --help Print out this help
Example:
@@ -98,6 +99,7 @@ list($options, $unrecognized) = cli_get_params(
'fullname' => '',
'shortname' => '',
'summary' => '',
'supportemail' => '',
'agree-license' => false,
'help' => false
),
@@ -136,6 +138,15 @@ if (!empty($options['adminemail']) && !validate_email($options['adminemail'])) {
cli_error(get_string('cliincorrectvalueerror', 'admin', $a));
}
// Validate that the supportemail provided was an e-mail address.
if (!empty($options['supportemail']) && !validate_email($options['supportemail'])) {
$a = (object) [
'option' => 'supportemail',
'value' => $options['supportemail']
];
cli_error(get_string('cliincorrectvalueerror', 'admin', $a));
}
$options['lang'] = clean_param($options['lang'], PARAM_SAFEDIR);
if (!file_exists($CFG->dirroot.'/install/lang/'.$options['lang'])) {
$options['lang'] = 'en';
+3
View File
@@ -31,6 +31,7 @@ require_once($CFG->libdir.'/clilib.php');
$longoptions = [
'help' => false,
'muc' => false,
'courses' => false,
'theme' => false,
'lang' => false,
'js' => false,
@@ -55,6 +56,8 @@ all caches will be purged.
Options:
-h, --help Print out this help
--muc Purge all MUC caches (includes lang cache)
--courses Purge all course caches (or only those specified by a comma-separated list).
e.g. --courses=4,67,145
--theme Purge theme cache
--lang Purge language string cache
--js Purge JavaScript cache
+42 -14
View File
@@ -32,11 +32,13 @@ require_once($CFG->dirroot . "/backup/util/includes/restore_includes.php");
list($options, $unrecognized) = cli_get_params([
'file' => '',
'categoryid' => '',
'courseid' => '',
'showdebugging' => false,
'help' => false,
], [
'f' => 'file',
'c' => 'categoryid',
'C' => 'courseid',
's' => 'showdebugging',
'h' => 'help',
]);
@@ -46,15 +48,17 @@ if ($unrecognized) {
cli_error(get_string('cliunknowoption', 'admin', $unrecognized));
}
if ($options['help'] || !($options['file']) || !($options['categoryid'])) {
if ($options['help'] || !($options['file']) || !($options['categoryid'] || $options['courseid'])) {
$help = <<<EOL
Restore backup into provided category.
Restore backup into provided category or course.
If courseid is set, course module/s will be added into the course.
Options:
-f, --file=STRING Path to the backup file.
-c, --categoryid=INT ID of the category to restore too.
-s, --showdebugging Show developer level debugging information
-h, --help Print out this help.
-f, --file=STRING Path to the backup file.
-c, --categoryid=INT ID of the course category to restore to.
-C, --courseid=INT ID of the course to restore to. This option is ignored if categoryid is set.
-s, --showdebugging Show developer level debugging information
-h, --help Print out this help.
Example:
\$sudo -u www-data /usr/bin/php admin/cli/restore_backup.php --file=/path/to/backup/file.mbz --categoryid=1\n
@@ -76,12 +80,20 @@ if (!file_exists($options['file'])) {
throw new \moodle_exception('filenotfound');
}
if (!$category = $DB->get_record('course_categories', ['id' => $options['categoryid']], 'id')) {
throw new \moodle_exception('invalidcategoryid');
if ($options['categoryid']) {
if (!$category = $DB->get_record('course_categories', ['id' => $options['categoryid']], 'id')) {
throw new \moodle_exception('invalidcategoryid');
}
} else if ($options['courseid']) {
if (!$course = $DB->get_record('course', ['id' => $options['courseid']], 'id')) {
throw new \moodle_exception('invalidcourseid');
}
} else {
throw new \moodle_exception('invalidoption');
}
$backupdir = "restore_" . uniqid();
$path = $CFG->tempdir . DIRECTORY_SEPARATOR . "backup" . DIRECTORY_SEPARATOR . $backupdir;
$backupdir = restore_controller::get_tempdir_name(SITEID, $USER->id);
$path = make_backup_temp_directory($backupdir);
cli_heading(get_string('extractingbackupfileto', 'backup', $path));
$fp = get_file_packer('application/vnd.moodle.backup');
@@ -92,13 +104,29 @@ try {
list($fullname, $shortname) = restore_dbops::calculate_course_names(0, get_string('restoringcourse', 'backup'),
get_string('restoringcourseshortname', 'backup'));
$courseid = restore_dbops::create_new_course($fullname, $shortname, $category->id);
$rc = new restore_controller($backupdir, $courseid, backup::INTERACTIVE_NO,
backup::MODE_GENERAL, $admin->id, backup::TARGET_NEW_COURSE);
if (!empty($course)) {
$courseid = $course->id;
$rc = new restore_controller($backupdir, $courseid, backup::INTERACTIVE_NO,
backup::MODE_GENERAL, $admin->id, backup::TARGET_EXISTING_ADDING);
} else {
$courseid = restore_dbops::create_new_course($fullname, $shortname, $category->id);
$rc = new restore_controller($backupdir, $courseid, backup::INTERACTIVE_NO,
backup::MODE_GENERAL, $admin->id, backup::TARGET_NEW_COURSE);
}
$rc->execute_precheck();
$rc->execute_plan();
$rc->destroy();
// Rename course name if the backup is from course module and restore to category.
if (empty($course)) {
$course = get_course($courseid);
list($fullname, $shortname) = restore_dbops::calculate_course_names(0, get_string('restoretonewcourse', 'backup'),
get_string('newcourse'));
$course->fullname = $fullname;
$course->shortname = $shortname;
$course->visible = 1;
$DB->update_record('course', $course);
}
} catch (Exception $e) {
cli_heading(get_string('cleaningtempdata'));
fulldelete($path);
+41 -14
View File
@@ -27,7 +27,6 @@ define('CLI_SCRIPT', true);
require(__DIR__ . '/../../config.php');
require_once("$CFG->libdir/clilib.php");
require_once("$CFG->libdir/cronlib.php");
list($options, $unrecognized) = cli_get_params(
[
@@ -37,6 +36,8 @@ list($options, $unrecognized) = cli_get_params(
'showsql' => false,
'showdebugging' => false,
'force' => false,
'disable' => false,
'enable' => false,
], [
'h' => 'help',
'f' => 'force',
@@ -48,11 +49,15 @@ if ($unrecognized) {
cli_error(get_string('cliunknowoption', 'admin', $unrecognized));
}
if ($options['help'] or (!$options['list'] and !$options['execute'])) {
$commands = ['list', 'execute', 'disable', 'enable'];
$hascommand = count(array_filter($commands, fn($command) => $options[$command])) > 0;
if ($options['help'] || !$hascommand) {
$help =
"Scheduled cron tasks.
Options:
--disable=\\some\\task Disable scheduled task
--enable=\\some\\task Enable scheduled task
--execute=\\some\\task Execute scheduled task manually
--list List all scheduled tasks
--showsql Show sql queries before they are executed
@@ -120,14 +125,40 @@ if ($options['list']) {
exit(0);
}
if ($execute = $options['execute']) {
if (!$task = \core\task\manager::get_scheduled_task($execute)) {
mtrace("Task '$execute' not found");
if (moodle_needs_upgrading()) {
mtrace("Moodle upgrade pending, cannot manage tasks.");
exit(1);
}
if ($disable = $options['disable']) {
if (!$task = \core\task\manager::get_scheduled_task($disable)) {
mtrace("Task '$disable' not found");
exit(1);
}
if (moodle_needs_upgrading()) {
mtrace("Moodle upgrade pending, cannot execute tasks.");
try {
$task->disable();
mtrace("Disabled '$disable'");
} catch (Exception $e) {
mtrace("$e->getMessage()");
exit(1);
}
} else if ($enable = $options['enable']) {
if (!$task = \core\task\manager::get_scheduled_task($enable)) {
mtrace("Task '$enable' not found");
exit(1);
}
try {
$task->enable();
mtrace("Enabled '$enable'");
} catch (Exception $e) {
mtrace("$e->getMessage()");
exit(1);
}
} else if ($execute = $options['execute']) {
if (!$task = \core\task\manager::get_scheduled_task($execute)) {
mtrace("Task '$execute' not found");
exit(1);
}
@@ -142,7 +173,7 @@ if ($execute = $options['execute']) {
raise_memory_limit(MEMORY_EXTRA);
// Emulate normal session - we use admin account by default.
cron_setup_user();
\core\cron::setup_user();
// Execute the task.
\core\local\cli\shutdown::script_supports_graceful_exit();
@@ -158,11 +189,7 @@ if ($execute = $options['execute']) {
}
$task->set_lock($lock);
if (!$task->is_blocking()) {
$cronlock->release();
} else {
$task->set_cron_lock($cronlock);
}
$cronlock->release();
cron_run_inner_scheduled_task($task);
\core\cron::run_inner_scheduled_task($task);
}

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