Compare commits

...

7476 Commits

Author SHA1 Message Date
Ilya Tregubov bfbae65caa Moodle release 3.11.15 2023-06-10 14:07:30 +08:00
Ilya Tregubov 8c52e7ca55 weekly release 3.11.14+ 2023-06-09 13:14:36 +08:00
Andrew Nicols fc66630f6c Merge branch 'wip_MDL-78400_m311' of https://github.com/gjb2048/moodle into MOODLE_311_STABLE 2023-06-08 10:59:13 +08:00
Andrew Nicols 9464e3449e Merge branch 'MDL-76406-311' of https://github.com/safatshahin/moodle into MOODLE_311_STABLE 2023-06-08 10:43:23 +08:00
Stevani Andolo 65ab20645a MDL-78215 core: Added support unit test 2023-06-08 09:37:41 +08:00
Stevani Andolo 41afb596e6 MDL-78215 core: support checking if 0.0.0.0 is in subnet 2023-06-08 09:37:40 +08:00
Paul Holden 224a3af976 MDL-77193 mnet: correct sorting of access control table. 2023-06-07 09:54:12 +08:00
Gareth Barnard 78cf3e1b49 MDL-78400 JavaScript: Building JS puts build files in src dir on Win. 2023-06-05 14:47:52 +01:00
Safat e7240a2adb MDL-76406 core: Add environment check for versions not supporting 8.2 2023-06-02 12:10:07 +10:00
Petr Skoda bbf492040e MDL-76683 core_group: fix template 2023-06-02 02:04:16 +00:00
Ilya Tregubov 5291b32c63 weekly release 3.11.14+ 2023-06-02 09:55:53 +08:00
Ilya Tregubov 2c636fe760 Merge branch 'MDL-75961-311' of https://github.com/lameze/moodle into MOODLE_311_STABLE 2023-06-01 09:09:27 +08:00
Sara Arjona 8dca7193e7 Merge branch 'MDL-77907-311' of https://github.com/andelacruz/moodle into MOODLE_311_STABLE 2023-05-31 12:18:28 +02:00
Sara Arjona 9dbb082f04 weekly release 3.11.14+ 2023-05-26 09:29:05 +02:00
Jun Pataleta 87e29b9b4a Merge branch 'MDL-76065-311' of https://github.com/lameze/moodle into MOODLE_311_STABLE 2023-05-25 11:57:34 +08:00
Andrew Nicols 6e21aa585a Merge branch 'MDL-77995-311' of https://github.com/paulholden/moodle into MOODLE_311_STABLE 2023-05-25 09:51:08 +08:00
Simey Lameze a3f8c78437 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:43:19 +08:00
Angelia Dela Cruz c2454323b2 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:43:19 +08:00
Jun Pataleta 1ca2a55381 Merge branch 'MDL-76688/311' of https://github.com/skodak/moodle into MOODLE_311_STABLE 2023-05-23 15:21:40 +08:00
Simey Lameze a989d788c7 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:35:01 +08:00
Angelia Dela Cruz e5830e234d 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:32:05 +08:00
Jun Pataleta f459ae270b weekly release 3.11.14+ 2023-05-19 21:14:09 +08:00
Andrew Nicols 5d14b0b0c2 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 11:28:29 +08:00
Andrew Nicols b1fc632e5c MDL-77733 behat: Correct version number in upgrade.txt 2023-05-18 13:28:28 +08:00
Andrew Nicols 35c252a91d Merge branch 'MDL-77733-311' of https://github.com/lameze/moodle into MOODLE_311_STABLE 2023-05-18 13:27:53 +08:00
Angelia Dela Cruz fa96021455 MDL-77907 Behat: Coverage for duplicating competency framework 2023-05-15 17:24:52 +08:00
Petr Skoda 2edc104c11 MDL-76688 filter_text: prevent LaTeX3 syntax 2023-05-08 10:13:04 +02:00
Sara Arjona 63555942ce weekly release 3.11.14+ 2023-05-04 12:43:09 +02:00
Jun Pataleta 6f2aca4839 Merge branch 'MDL-76857-311' of https://github.com/sarjona/moodle into MOODLE_311_STABLE 2023-05-02 15:44:30 +08:00
Sara Arjona 15224105f4 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:22:42 +02:00
Paul Holden 0aa9dce2a3 MDL-77995 javascript: more precise path matching building JS. 2023-04-24 10:51:23 +01:00
Jun Pataleta 9d8ec047be Moodle release 3.11.14 2023-04-22 16:22:30 +08:00
Eloy Lafuente (stronk7) 731ff89794 weekly release 3.11.13+ 2023-04-21 19:19:29 +02:00
Eloy Lafuente (stronk7) a9ca81e8c9 Merge branch 'install_311_STABLE' of https://git.in.moodle.com/amosbot/moodle-install into MOODLE_311_STABLE 2023-04-21 19:19:24 +02:00
Jun Pataleta d3f5a3c2cc Merge branch 'MDL-77927-311' of https://github.com/stevandoMoodle/moodle into MOODLE_311_STABLE 2023-04-21 16:51:20 +08:00
Jun Pataleta 5f8d85fe23 MDL-77927 core: mod_assignment subplugins environment check 2023-04-21 15:57:36 +08:00
AMOS bot 4f793fe59a Automatically generated installer lang files 2023-04-21 00:07:34 +00:00
Paul Holden 3fd0b34805 MDL-77187 mod_wiki: validate external method sort parameters. 2023-04-19 12:54:30 +00:00
Paul Holden eeae907302 Merge branch 'MDL-77960-311' of https://github.com/lameze/moodle into MOODLE_311_STABLE 2023-04-19 13:41:35 +01:00
Paul Holden 767104a1ff Merge branch 'MDL-77944-311' of https://github.com/andrewnicols/moodle into MOODLE_311_STABLE 2023-04-19 13:06:43 +01:00
Simey Lameze 9e0e54e3c0 MDL-77960 behat: make verification steps more specific 2023-04-19 13:33:49 +08:00
Andrew Nicols 8eaed7a7eb weekly release 3.11.13+ 2023-04-18 22:28:21 +08:00
Andrew Nicols a3e3a3f251 Merge branch 'install_311_STABLE' of https://git.in.moodle.com/amosbot/moodle-install into MOODLE_311_STABLE 2023-04-18 22:28:18 +08:00
Andrew Nicols 1b0c425ade Merge branch 'MDL-77829-311' of https://github.com/stevandoMoodle/moodle into MOODLE_311_STABLE 2023-04-18 12:34:17 +08:00
Andrew Nicols 93bfa46f5e 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:04:24 +08:00
AMOS bot f4e40a3eb8 Automatically generated installer lang files 2023-04-18 00:07:31 +00:00
Sara Arjona b379d31219 weekly release 3.11.13+ 2023-04-14 10:50:19 +02:00
Sara Arjona 05ab49e052 Merge branch 'install_311_STABLE' of https://git.in.moodle.com/amosbot/moodle-install into MOODLE_311_STABLE 2023-04-14 10:50:16 +02:00
AMOS bot 81c5a10527 Automatically generated installer lang files 2023-04-14 00:07:37 +00:00
Sara Arjona ddfd85697f Merge branch 'MDL-73610_311' of https://github.com/stronk7/moodle into MOODLE_311_STABLE 2023-04-12 18:20:03 +02:00
Sara Arjona e2c90dd430 Merge branch 'MDL-77837-311' of https://github.com/andrewnicols/moodle into MOODLE_311_STABLE 2023-04-11 12:13:27 +02:00
Stevani Andolo 83aa818f08 MDL-77829 core: Added environment check for mod_assignment
Decided to add an environment check before uninstalling the
mod_assignment plugin to prevent data lost.
2023-04-10 13:55:55 +08:00
AMOS bot 9ece6979c1 Automatically generated installer lang files 2023-04-07 00:07:26 +00:00
Andrew Nicols 5e6ae141ce MDL-77837 core: Improve usage docs for cron_setup_user 2023-04-06 23:21:29 +08:00
Andrew Nicols eaa34a048b 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:21:29 +08:00
Andrew Nicols 5837ade0ea 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:21:29 +08:00
Eloy Lafuente (stronk7) cddda7483d 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 15:00:03 +02:00
Sara Arjona ca59050173 weekly release 3.11.13+ 2023-04-06 14:02:34 +02:00
Sara Arjona 3334ab4821 Merge branch 'install_311_STABLE' of https://git.in.moodle.com/amosbot/moodle-install into MOODLE_311_STABLE 2023-04-06 14:02:29 +02:00
AMOS bot b409a71f4f Automatically generated installer lang files 2023-04-06 00:07:31 +00:00
AMOS bot 49d7941d81 Automatically generated installer lang files 2023-04-05 00:07:34 +00:00
Andrew Nicols c211a5854f Merge branch 'MDL-77584-311' of https://github.com/ewallah/moodle into MOODLE_311_STABLE 2023-04-04 12:08:01 +08:00
Simey Lameze 3ffc2ed914 MDL-77733 behat: enable Axe accessibility tests by default 2023-04-04 09:21:48 +08:00
AMOS bot cf7c308bcf Automatically generated installer lang files 2023-04-04 00:07:35 +00:00
Paul Holden abc9f31fa3 Merge branch 'MDL-75906-311' of https://github.com/mickhawkins/moodle into MOODLE_311_STABLE 2023-04-03 14:54:06 +01:00
Michael Hawkins 3178ffa04a MDL-75906 core: Updated security.txt expiry 2023-04-03 17:27:56 +08:00
AMOS bot 513bf77347 Automatically generated installer lang files 2023-04-02 00:07:30 +00:00
AMOS bot 48f24504ca Automatically generated installer lang files 2023-04-01 00:07:38 +00:00
Paul Holden e4918f1e1d weekly release 3.11.13+ 2023-03-31 18:12:01 +01:00
Paul Holden 516d111d94 Merge branch 'install_311_STABLE' of https://git.in.moodle.com/amosbot/moodle-install into MOODLE_311_STABLE 2023-03-31 18:11:59 +01:00
AMOS bot fa348c3a04 Automatically generated installer lang files 2023-03-31 00:07:34 +00:00
Sara Arjona 11b53571e6 Merge branch 'MDL-77761-311' of https://github.com/junpataleta/moodle into MOODLE_311_STABLE 2023-03-30 17:53:32 +02:00
Jun Pataleta d1fd4c2660 Merge branch 'MDL-77333_311' of https://github.com/stronk7/moodle into MOODLE_311_STABLE 2023-03-30 19:03:26 +08:00
AMOS bot 9bd8cdae36 Automatically generated installer lang files 2023-03-30 00:07:37 +00:00
Jun Pataleta 54ed5324ac MDL-77761 core_form: Add label for editor format selector 2023-03-28 23:34:02 +08:00
Eloy Lafuente (stronk7) f1095d111e 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-26 11:44:16 +02:00
AMOS bot 4f62cc1df2 Automatically generated installer lang files 2023-03-26 00:07:33 +00:00
Sara Arjona 170be96134 weekly release 3.11.13+ 2023-03-24 13:59:41 +01:00
Jun Pataleta 8fd2717282 Merge branch 'MDL-77669-311' of https://github.com/andrewnicols/moodle into MOODLE_311_STABLE 2023-03-24 11:51:15 +08:00
Paul Holden 51d69fa94b Merge branch 'MDL-77691-311' of https://github.com/roland04/moodle into MOODLE_311_STABLE 2023-03-23 11:43:44 +00:00
Mikel Martín dcce6d99df MDL-77691 behat: Add step to navigate to profile page directly
Co-authored-by: Simey Lameze <simey@moodle.com>
2023-03-23 08:24:52 +01:00
Ilya Tregubov e978042e2a weekly release 3.11.13+ 2023-03-22 09:37:18 +08:00
Ilya Tregubov 939202d95d Merge branch 'install_311_STABLE' of https://git.in.moodle.com/amosbot/moodle-install into MOODLE_311_STABLE 2023-03-22 09:37:16 +08:00
Meirza 23c31f017f MDL-77669 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>

This is a backport of MDL-64153.
2023-03-21 08:48:38 +08:00
Sara Arjona 9b3cf25838 Merge branch 'MDL-77574-311' of https://github.com/lameze/moodle into MOODLE_311_STABLE 2023-03-20 17:06:18 +01:00
AMOS bot a034c0a53b Automatically generated installer lang files 2023-03-20 00:07:34 +00:00
AMOS bot d3eea84c50 Automatically generated installer lang files 2023-03-19 00:07:29 +00:00
AMOS bot 455ca43140 Automatically generated installer lang files 2023-03-18 00:07:34 +00:00
Sara Arjona 7d8be2a715 weekly release 3.11.13+ 2023-03-17 17:58:44 +01:00
Sara Arjona cf33bc4411 Merge branch 'install_311_STABLE' of https://git.in.moodle.com/amosbot/moodle-install into MOODLE_311_STABLE 2023-03-17 17:58:37 +01:00
AMOS bot a9d42baf99 Automatically generated installer lang files 2023-03-17 00:07:36 +00:00
info@eWallah.net b073419601 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:31 +01:00
Jun Pataleta 3b1ca1610e Merge branch 'MDL-77611_311' of https://github.com/timhunt/moodle into MOODLE_311_STABLE 2023-03-15 10:00:37 +08:00
AMOS bot 2ba187b91b Automatically generated installer lang files 2023-03-15 00:07:32 +00:00
Eloy Lafuente (stronk7) 0249b9f16f weekly release 3.11.13+ 2023-03-14 16:07:49 +01:00
Eloy Lafuente (stronk7) 9a45a3fa3f Merge branch 'install_311_STABLE' of https://git.in.moodle.com/amosbot/moodle-install into MOODLE_311_STABLE 2023-03-14 16:07:45 +01:00
Jun Pataleta 223a90679b Merge branch 'MDL-76680/311' of https://github.com/skodak/moodle into MOODLE_311_STABLE 2023-03-14 11:57:01 +08:00
AMOS bot b7d4a3280c Automatically generated installer lang files 2023-03-14 00:07:34 +00:00
Tim Hunt ac15d110ba MDL-77611 tool_uploaduser: fix phpunit assumptions about profile fields 2023-03-13 13:36:42 +00:00
Simey Lameze 9f1de216a4 MDL-77574 myoverview: wait until next button exists before clicking 2023-03-13 14:18:50 +08:00
AMOS bot 0b083a7f6f Automatically generated installer lang files 2023-03-12 00:07:38 +00:00
Petr Skoda aa0d711a6f MDL-76680 core: disable $USER->ignoresesskey on next page 2023-03-11 10:37:45 +01:00
Jun Pataleta cd71612cf6 Moodle release 3.11.13 2023-03-11 13:10:27 +08:00
Jun Pataleta a4874cb9c5 weekly release 3.11.12+ 2023-03-10 22:10:03 +08:00
Jun Pataleta 90818a22ad Merge branch 'install_311_STABLE' of https://git.in.moodle.com/amosbot/moodle-install into MOODLE_311_STABLE 2023-03-10 22:10:01 +08:00
Ilya Tregubov 28bb2b50d6 Merge branch 'MDL-77429-311-fix' of https://github.com/andrewnicols/moodle into MOODLE_311_STABLE 2023-03-10 14:50:40 +08:00
Andrew Nicols 28d6953d48 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
Jun Pataleta c7b3edf823 Merge branch 'MDL-77458-311' of https://github.com/andrewnicols/moodle into MOODLE_311_STABLE 2023-03-10 12:05:56 +08:00
Andrew Nicols 880e150587 Merge branch 'MDL-77429-311' of https://github.com/andelacruz/moodle into MOODLE_311_STABLE 2023-03-09 22:12:39 +08:00
Andrew Nicols 760a316679 Merge branch 'MDL-77463-311' of https://github.com/andelacruz/moodle into MOODLE_311_STABLE 2023-03-09 22:04:24 +08:00
Jun Pataleta 525f816567 Merge branch 'MDL-77559-311-2' of https://github.com/andrewnicols/moodle into MOODLE_311_STABLE 2023-03-09 15:46:24 +08:00
Angelia Dela Cruz 40b1954431 MDL-77463 Behat: Coverage for assign submission notification to teacher 2023-03-09 12:56:39 +08:00
Angelia Dela Cruz 9f152581f0 MDL-77429 Behat: Add coverage for changing course format as teacher 2023-03-09 10:01:40 +08:00
Andrew Nicols 1a624afb87 MDL-77559 js: Rebuild all JS with Node 16 2023-03-09 08:22:29 +08:00
Andrew Nicols f80a3bce0a MDL-77559 js: Revert "MDL-75012 core: Bump NodeJS version requirements"
This reverts commit fb8fa74655.
2023-03-09 08:21:22 +08:00
Andrew Nicols 4deb1eea56 MDL-77559 js: Revert "MDL-75012 js: Bump standard dependencies"
This reverts commit 811526b0a6.
2023-03-09 08:21:19 +08:00
Andrew Nicols 77c72b0bd7 MDL-77559 js: Revert "MDL-75012 js: Remove grunt-contrib-uglify"
This reverts commit d01eba812b.
2023-03-09 08:21:15 +08:00
Andrew Nicols a15df02640 MDL-77559 js: Revert "MDL-75012 js: Bump stylelint and components"
This reverts commit 9899fc0a0f.
2023-03-09 08:21:12 +08:00
Andrew Nicols e5dd087852 MDL-77559 js: Revert "MDL-75012 js: Update browserslist"
This reverts commit c920bb6db5.
2023-03-09 08:21:07 +08:00
Andrew Nicols f46643fd61 MDL-77559 js: Revert "MDL-75012 js: Bump node-sass"
This reverts commit 173b61bf69.
2023-03-09 08:21:03 +08:00
Andrew Nicols 426e58d35d MDL-77559 js: Revert "MDL-75012 js: Audit fix"
This reverts commit dfea25b3d7.
2023-03-09 08:20:57 +08:00
Andrew Nicols be86e18ff1 MDL-77559 js: Revert "MDL-75012 js: Use our own jsdoc wrapper"
This reverts commit a22e2aa0d7.
2023-03-09 08:20:53 +08:00
Andrew Nicols d33aa94074 MDL-77559 js: Revert "MDL-75012 js: Bump shifter to new version"
This reverts commit 0ebccd5bb4.
2023-03-09 08:20:49 +08:00
Andrew Nicols 47fcb7c012 MDL-77559 js: Revert "MDL-75012 js: Put shifter on a diet"
This reverts commit 8d6e0dc416.
2023-03-09 08:20:45 +08:00
Andrew Nicols 7fd65d8896 MDL-77559 js: Revert "MDL-75012 js: Remove unused babel-preset-minify dependency"
This reverts commit 35ef8a9e40.
2023-03-09 08:20:42 +08:00
Andrew Nicols 4ad6481a77 MDL-77559 js: Revert "MDL-75012 js: Bump Babel dependencies"
This reverts commit 0a95429dce.
2023-03-09 08:19:26 +08:00
AMOS bot 40d01acce6 Automatically generated installer lang files 2023-03-09 00:07:34 +00:00
Ilya Tregubov f5daf410af Merge branch 'MDL-77414-311' of https://github.com/andelacruz/moodle into MOODLE_311_STABLE 2023-03-08 17:06:17 +08:00
Angelia Dela Cruz 40510605e4 MDL-77414 Behat: Coverage for "Require all group members submit" setting 2023-03-08 14:52:46 +08:00
Petr Skoda b436508b24 MDL-77524 filter_algebra: fix error message 2023-03-08 11:27:28 +08:00
Paul Holden 98bbce7011 MDL-75517 report_participation: filter report by viewable roles only. 2023-03-08 10:38:29 +08:00
Michael Hawkins 04d74da325 MDL-77204 mod_wiki: Clean filename in Moodle1 backup 2023-03-08 10:34:18 +08:00
Paul Holden 90c5358680 MDL-77046 availability: validate profile field in condition. 2023-03-08 10:24:37 +08:00
Paul Holden 882b9d67f5 MDL-76809 gradereport_history: pre-filter report userids filter.
Ensure current user is able to access each of the provided userids.
2023-03-08 10:01:32 +08:00
Ilya Tregubov 591ffa267d Merge branch 'MDL-77446-311' of https://github.com/andelacruz/moodle into MOODLE_311_STABLE 2023-03-08 09:20:01 +08:00
AMOS bot 7c10813e02 Automatically generated installer lang files 2023-03-08 00:07:36 +00:00
Petr Skoda a099b1d893 MDL-76645 filter_data: fix link title attribute 2023-03-07 14:49:50 +00:00
Lars Bonczek 39ab1182d9 MDL-75659 core: Don't render component argument twice in mustache pix helper 2023-03-07 14:49:50 +00:00
Angelia Dela Cruz 9e5bf8d4d5 MDL-77446 Behat: Add coverage for changing uploaded file details 2023-03-07 16:14:34 +08:00
AMOS bot fc2ed595d9 Automatically generated installer lang files 2023-03-07 00:07:34 +00:00
Jun Pataleta 86f1bf85c4 Merge branch 'MDL-77428-311' of https://github.com/andelacruz/moodle into MOODLE_311_STABLE 2023-03-03 16:34:50 +08:00
Jake Dallimore 4e858410ea weekly release 3.11.12+ 2023-03-03 11:08:47 +08:00
Jake Dallimore dd581ff3f5 Merge branch 'install_311_STABLE' of https://git.in.moodle.com/amosbot/moodle-install into MOODLE_311_STABLE 2023-03-03 11:08:45 +08:00
Andrew Nicols 1a70b72b41 MDL-77458 core: Add supported php version info to phpcs config 2023-03-02 20:37:52 +08:00
Angelia Dela Cruz c7b2f34748 MDL-77428 Behat: Add coverage for forum post word count 2023-03-02 13:48:47 +08:00
Jun Pataleta ee828d828a Merge branch 'MDL-75012-311-5' of https://github.com/andrewnicols/moodle into MOODLE_311_STABLE 2023-03-02 12:25:04 +08:00
Andrew Nicols 499f651729 MDL-75012 js: Full build of all grunt things 2023-03-02 12:15:25 +08:00
Andrew Nicols 0a95429dce 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 12:15:25 +08:00
Andrew Nicols 35ef8a9e40 MDL-75012 js: Remove unused babel-preset-minify dependency 2023-03-02 12:15:25 +08:00
Jake Dallimore 51dae0b04e Merge branch 'MDL-77461-311' of https://github.com/andrewnicols/moodle into MOODLE_311_STABLE 2023-03-02 11:43:09 +08:00
Andrew Nicols bc41f92872 MDL-77461 behat: Use get_course_id instead of DB fetch 2023-03-02 11:07:39 +08:00
Jun Pataleta 430b3e7043 Merge branch 'MDL-77413-311' of https://github.com/andelacruz/moodle into MOODLE_311_STABLE 2023-03-02 09:45:42 +08:00
AMOS bot f6debec437 Automatically generated installer lang files 2023-03-02 00:07:38 +00:00
Jun Pataleta c4d91b4e42 Merge branch 'MDL-77417_311' of https://github.com/stronk7/moodle into MOODLE_311_STABLE 2023-03-01 23:53:54 +08:00
Andrew Nicols 98317ff91a Merge branch 'MDL-72727-311' of https://github.com/paulholden/moodle into MOODLE_311_STABLE 2023-03-01 10:47:27 +08:00
AMOS bot 21c5f2d453 Automatically generated installer lang files 2023-03-01 00:07:32 +00:00
Andrew Nicols 42ec6014c4 Merge branch 'MDL-77097_311' of https://github.com/stronk7/moodle into MOODLE_311_STABLE 2023-02-28 22:34:30 +08:00
Angelia Dela Cruz 45b81544c5 MDL-77413 Behat: Minor changes to optimise the existing tests 2023-02-28 17:38:14 +08:00
Angelia Dela Cruz f055b84644 MDL-77413 Behat: Add coverage to verify groups can have a picture 2023-02-28 17:25:04 +08:00
Andrew Nicols 8d6e0dc416 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 11:10:32 +08:00
Andrew Nicols 0ebccd5bb4 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 11:10:32 +08:00
Andrew Nicols a22e2aa0d7 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 11:10:32 +08:00
Andrew Nicols dfea25b3d7 MDL-75012 js: Audit fix 2023-02-28 11:10:32 +08:00
Andrew Nicols 173b61bf69 MDL-75012 js: Bump node-sass 2023-02-28 11:10:32 +08:00
Andrew Nicols c920bb6db5 MDL-75012 js: Update browserslist 2023-02-28 11:10:31 +08:00
Andrew Nicols 9899fc0a0f MDL-75012 js: Bump stylelint and components 2023-02-28 10:19:24 +08:00
Andrew Nicols d01eba812b 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:23 +08:00
Andrew Nicols 811526b0a6 MDL-75012 js: Bump standard dependencies
This change bumps dependencies which have no impact upon the build
process
2023-02-28 10:19:23 +08:00
Andrew Nicols fb8fa74655 MDL-75012 core: Bump NodeJS version requirements 2023-02-28 10:19:23 +08:00
Paul Holden 36e2f7d5a3 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:30:43 +00:00
Eloy Lafuente (stronk7) 4fa6354d89 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:38:37 +01:00
Eloy Lafuente (stronk7) 7ed2a79297 MDL-77097 store_mongodb: keep compatibility with PHP 7.4
Replaced 4 occurrences of get_debug_type() by gettype() to keep PHP 7.4 compatibility. Note this
has not been applied to 4.2dev and up because, there, it's safe to use get_debug_type().
2023-02-24 12:39:03 +01:00
Jun Pataleta 65731963bc weekly release 3.11.12+ 2023-02-24 15:43:36 +08:00
Jun Pataleta 63c6f278a7 Merge branch 'install_311_STABLE' of https://git.in.moodle.com/amosbot/moodle-install into MOODLE_311_STABLE 2023-02-24 15:43:33 +08:00
Matt Porritt 474ee8524a 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-24 12:36:43 +08:00
Andrew Nicols 5956302d76 Merge branch 'MDL-76843_311' of https://github.com/timhunt/moodle into MOODLE_311_STABLE 2023-02-23 11:54:21 +08:00
Andrew Nicols 9121d889f5 Merge branch 'MDL-77271-311' of https://github.com/lameze/moodle into MOODLE_311_STABLE 2023-02-23 11:49:48 +08:00
Tim Hunt af0aee7d2a 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 15:25:32 +00:00
Simey Lameze 76fc2573ce MDL-77271 behat: verify user licence preference is remembered 2023-02-22 09:31:04 +08:00
AMOS bot d611739b3f Automatically generated installer lang files 2023-02-21 00:07:30 +00:00
Ilya Tregubov f638a5bbae weekly release 3.11.12+ 2023-02-17 09:12:33 +08:00
Ilya Tregubov 2079ba1387 Merge branch 'install_311_STABLE' of https://git.in.moodle.com/amosbot/moodle-install into MOODLE_311_STABLE 2023-02-17 09:12:31 +08:00
AMOS bot c12e3b46de Automatically generated installer lang files 2023-02-17 00:07:43 +00:00
Andrew Nicols bdb1aefaad Merge branch 'MDL-76478-password-unmask-MOODLE_311_STABLE' of https://github.com/brendanheywood/moodle into MOODLE_311_STABLE 2023-02-15 23:28:22 +08:00
Ilya Tregubov 6c48aaf4d9 Merge branch 'MDL-75230-311' of https://github.com/andelacruz/moodle into MOODLE_311_STABLE 2023-02-15 16:13:32 +08:00
AMOS bot a745135867 Automatically generated installer lang files 2023-02-15 00:07:42 +00:00
Ilya Tregubov 2674350a47 Merge branch 'MDL-77189-311' of https://github.com/lameze/moodle into MOODLE_311_STABLE 2023-02-13 13:44:38 +08:00
Simey Lameze 16cee3894e MDL-77189 behat: basic coverage for wikimedia repository 2023-02-13 13:24:03 +08:00
Paul Holden 5e943bf6ba weekly release 3.11.12+ 2023-02-10 13:47:41 +00:00
Angelia Dela Cruz 4d29785724 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-10 17:44:33 +08:00
Andrew Nicols 733b90eef0 Merge branch 'MDL-76499-311' of https://github.com/andelacruz/moodle into MOODLE_311_STABLE 2023-02-09 10:08:00 +08:00
Jun Pataleta 00385e7580 Merge branch 'MDL-74905_311' of https://github.com/stronk7/moodle into MOODLE_311_STABLE 2023-02-08 17:19:11 +08:00
Andrew Nicols 3b757a24eb Merge branch 'MDL-77123-311' of https://github.com/cameron1729/moodle into MOODLE_311_STABLE 2023-02-08 13:01:19 +08:00
Cameron Ball c56edaa116 MDL-77123 message_airnotifier: Don't test configured providers 2023-02-08 09:59:19 +08:00
Paul Holden 6b54bd46f2 Merge branch 'MDL-77078-311' of https://github.com/andelacruz/moodle into MOODLE_311_STABLE 2023-02-06 13:33:09 +00:00
Angelia Dela Cruz 31f13cd315 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-06 14:32:10 +08:00
Angelia Dela Cruz a45ccc464b MDL-77078 Behat: Coverage for assignment submission statement 2023-02-06 12:09:54 +08:00
Andrew Nicols 604d8c291f Merge branch 'MDL-76662-311' of https://github.com/paulholden/moodle into MOODLE_311_STABLE 2023-02-04 21:52:43 +08:00
Eloy Lafuente (stronk7) c5fdf320cd MDL-74905 ci: travis and gha, some adjustments
Apply for some of the improvements made for 4.2:
- Use our own moodlehq/mysql-action
- Define the tmpfs size and ensure that binlogs are disabled.
2023-02-03 19:48:15 +01:00
Eloy Lafuente (stronk7) 0fd5993afb 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:15 +01:00
Eloy Lafuente (stronk7) ec56eeb9a9 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:15 +01:00
Jun Pataleta fa6c77adc7 weekly release 3.11.12+ 2023-02-03 15:43:46 +08:00
Andrew Nicols dca46bcab8 Merge branch 'MDL-75830-311' of https://github.com/andelacruz/moodle into MOODLE_311_STABLE 2023-02-02 11:58:59 +08:00
Andrew Nicols cc045cc27d Merge branch 'MDL-76675_311' of https://github.com/stronk7/moodle into MOODLE_311_STABLE 2023-02-02 11:04:32 +08:00
Andrew Nicols 980a265718 Merge branch 'MDL-75912-311' of https://github.com/andelacruz/moodle into MOODLE_311_STABLE 2023-02-02 09:45:03 +08:00
Angelia Dela Cruz 6ad9dcae1c 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:01:01 +08:00
Paul Holden 2ebc453c99 Merge branch 'MDL-76658-311' of https://github.com/andelacruz/moodle into MOODLE_311_STABLE 2023-02-01 16:34:45 +00:00
Ilya Tregubov 5cbd545cd3 Merge branch 'MDL-76587-311' of https://github.com/lameze/moodle into MOODLE_311_STABLE 2023-02-01 13:26:58 +08:00
Angelia Dela Cruz e988445521 MDL-75912 behat: Wiki Behat tests optimised
Behat cleanup and optimisation
2023-02-01 11:32:00 +08:00
Angelia Dela Cruz b08f86b258 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:31:20 +08:00
Angelia Dela Cruz 58213db159 MDL-76658 Behat: Coverage for course cohort enrolment groups
Co-authored-by: Simey Lameze <simey@moodle.com>
2023-01-31 19:55:10 +08:00
Simey Lameze c34dc466b6 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:21:20 +08:00
Andrew Nicols 2b7ede20b5 Merge branch 'MDL-77040-311' of https://github.com/paulholden/moodle into MOODLE_311_STABLE 2023-01-30 12:28:34 +08:00
Eloy Lafuente (stronk7) 4c64f49a88 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-27 08:50:18 +01:00
Paul Holden 0baa1aa391 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:16 +00:00
Paul Holden a9b87fa989 MDL-76662 tool_log: correct supported reports test assertions. 2023-01-26 13:09:02 +00:00
Sara Arjona cdcfb84d18 weekly release 3.11.12+ 2023-01-26 09:59:22 +01:00
Jun Pataleta 52046c52b1 Merge branch 'MDL-76977-311' of https://github.com/paulholden/moodle into MOODLE_311_STABLE 2023-01-25 16:09:47 +08:00
Jun Pataleta 9eccbb590e Merge branch 'MDL-77036-311' of https://github.com/lameze/moodle into MOODLE_311_STABLE 2023-01-25 16:02:02 +08:00
Simey Lameze 2b7f887245 MDL-77036 core_iplookup: update test_ipv4 test expectations 2023-01-25 15:20:58 +08:00
Jun Pataleta 3dd63e8149 Merge branch 'MDL-76639-311' of https://github.com/andelacruz/moodle into MOODLE_311_STABLE 2023-01-24 18:59:09 +08:00
Jun Pataleta 78e5dd6284 Merge branch 'MDL-76652-311' of https://github.com/lameze/moodle into MOODLE_311_STABLE 2023-01-24 18:45:05 +08:00
Jun Pataleta f14dc52adc Merge branch 'MDL-76655-311' of https://github.com/andelacruz/moodle into MOODLE_311_STABLE 2023-01-24 18:26:47 +08:00
Angelia Dela Cruz aab571ca2c MDL-76655 behat: Coverage for workshop grading strategies 2023-01-24 10:08:33 +08:00
Paul Holden eadfbd21e9 MDL-76977 phpunit: ensure unique data provider keys in mustache test. 2023-01-20 17:23:34 +00:00
Ilya Tregubov b5eb437fcd weekly release 3.11.12+ 2023-01-20 09:41:50 +08:00
Ilya Tregubov 16e5b999ce Merge branch 'MDL-76870-311' of https://github.com/lameze/moodle into MOODLE_311_STABLE 2023-01-19 11:16:27 +08:00
Andrew Nicols 7d596ff339 Merge branch 'MDL-76841-311' of https://github.com/paulholden/moodle into MOODLE_311_STABLE 2023-01-19 08:55:45 +08:00
Andrew Nicols d02bcbb963 Merge branch 'MDL-70070-311' of https://github.com/paulholden/moodle into MOODLE_311_STABLE 2023-01-19 08:51:32 +08:00
Paul Holden c01344a0e7 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:31 +00:00
Paul Holden e9439d064b 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:19 +00:00
Jun Pataleta f21e1443dc Moodle release 3.11.12 2023-01-14 14:16:53 +08:00
Simey Lameze 860bfb6f25 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:13:27 +08:00
Angelia Dela Cruz 388c5731fa MDL-76639 behat: Add Behat test coverage for quiz with limited attempts 2023-01-13 16:32:58 +08:00
Jun Pataleta dc93055e28 weekly release 3.11.11+ 2023-01-13 10:52:25 +08:00
Jake Dallimore d57db03d20 MDL-76862 user: Unit test for setting user home page preferences 2023-01-12 11:30:59 +08:00
Paul Holden bd5bcec3f1 MDL-76862 user: ensure user can only update own preferred start page. 2023-01-12 11:17:12 +08:00
Tim Hunt 261fe42c05 MDL-76810 redirect handling: ensure return URLs are properly sanitised 2023-01-11 11:44:12 +08:00
Paul Holden 6f622e2393 Merge branch 'MDL-76811-311' of https://github.com/andrewnicols/moodle into MOODLE_311_STABLE 2023-01-10 16:40:08 +00:00
Paul Holden 00b9fe36c1 Merge branch 'MDL-76653-311' of https://github.com/lameze/moodle into MOODLE_311_STABLE 2023-01-10 15:29:17 +00:00
Paul Holden e4b27dd81b Merge branch 'MDL-76833-311' of https://github.com/andrewnicols/moodle into MOODLE_311_STABLE 2023-01-10 12:29:19 +00:00
Andrew Nicols 5c9704b210 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 f6f2dd5022 MDL-76811 mod_data: Remove duplicate tests 2023-01-10 11:39:40 +08:00
Andrew Nicols 9fc5f273e0 MDL-76811 mod_data: strpos check should be strict 2023-01-10 11:39:40 +08:00
Andrew Nicols dd63b85ed4 MDL-76811 mod_data: Generator test cleanup 2023-01-10 11:39:39 +08:00
Simey Lameze f164d03df5 MDL-76653 behat: add coverage for SCORM availability 2023-01-10 10:20:58 +08:00
Simey Lameze e32d27e1ff MDL-76652 behat: use data generator and remove duplicated steps 2023-01-09 10:09:58 +08:00
Simey Lameze 2f826724c8 MDL-76652 behat: add coverage for postwithoutthrottling logic 2023-01-09 10:09:58 +08:00
Paul Holden 00ccb3a314 weekly release 3.11.11+ 2023-01-05 10:53:16 +00:00
Sara Arjona 88d4939f25 Merge branch 'MDL-76375-311' of https://github.com/lucaboesch/moodle into MOODLE_311_STABLE 2023-01-04 16:22:00 +01:00
Luca Bösch e3be2fcfb6 MDL-76375 quiz generator: Allow more than one attempt by Behat tests. 2023-01-04 15:15:51 +01:00
Sara Arjona 3585ab5afa Merge branch 'MDL-76760-311' of https://github.com/paulholden/moodle into MOODLE_311_STABLE 2023-01-02 12:27:54 +01:00
Sara Arjona b7bfc77b52 weekly release 3.11.11+ 2022-12-29 12:57:57 +01:00
Sara Arjona 72d98b0dd5 Merge branch 'MDL-76399-patch-311' of https://github.com/ilyatregubov/moodle into MOODLE_311_STABLE 2022-12-29 09:13:49 +01:00
Ilya Tregubov 15916a6f3b MDL-76399 behat: switch to appropriate Behat step for selects. 2022-12-29 14:39:37 +07:00
Ilya Tregubov 48256e0242 Merge branch 'MDL-76399-311' of https://github.com/paulholden/moodle into MOODLE_311_STABLE 2022-12-29 09:44:30 +07:00
Paul Holden 18013b2153 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:48:02 +00:00
Ilya Tregubov 9da4095949 Merge branch 'MDL-76731_311' of https://github.com/PhilippImhof/moodle into MOODLE_311_STABLE 2022-12-28 15:15:09 +07:00
Paul Holden dc399cd841 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-27 16:55:57 +01:00
Philipp Imhof e4a8272d9c MDL-76731 behat: add steps to check for version
Co-authored-by: Andrew Nicols <andrew@nicols.co.uk>
2022-12-22 17:11:44 +01:00
Ilya Tregubov 6832ac123d weekly release 3.11.11+ 2022-12-22 19:16:40 +07:00
Ilya Tregubov e892c66058 Merge branch 'install_311_STABLE' of https://git.in.moodle.com/amosbot/moodle-install into MOODLE_311_STABLE 2022-12-22 19:16:38 +07:00
Andrew Nicols 48637c438d MDL-75105 tool_behat: Coding style fixes 2022-12-22 12:32:01 +07:00
Andrew Nicols 0e64a10ecf Merge branch 'MDL-75105_311_STABLE' of https://github.com/marxjohnson/moodle into MOODLE_311_STABLE 2022-12-22 12:32:01 +07:00
AMOS bot 0dd5b86d3f Automatically generated installer lang files 2022-12-22 00:07:36 +00:00
Mark Johnson b0f89e5b92 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:38 +00:00
Ilya Tregubov c4c67cd975 Merge branch 'MDL-76727-311' of https://github.com/andrewnicols/moodle into MOODLE_311_STABLE 2022-12-21 09:51:19 +07:00
Andrew Nicols 9ae06b8dc7 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-21 09:07:52 +08:00
Paul Holden e59e39c78f MDL-76399 question: switch to appropriate Behat step for selects. 2022-12-16 13:13:55 +00:00
Paul Holden 99e20baa54 MDL-76399 behat: improvements to "should exist in" thrown exception. 2022-12-16 12:29:13 +00:00
Andrew Nicols 7c04ccfdf9 weekly release 3.11.11+ 2022-12-16 09:06:03 +08:00
Andrew Nicols 2f8a56eaf0 Merge branch 'install_311_STABLE' of https://git.in.moodle.com/amosbot/moodle-install into MOODLE_311_STABLE 2022-12-16 09:06:01 +08:00
Sara Arjona 0a774cefb8 Merge branch 'MDL-76674_311' of https://github.com/stronk7/moodle into MOODLE_311_STABLE 2022-12-14 18:35:08 +01:00
Eloy Lafuente (stronk7) 6257ac4de7 MDL-76674 core_lang: Add string for new America/Ciudad_Juarez 2022-12-14 15:52:03 +01:00
Paul Holden 5f34ca7b01 Merge branch 'MDL-76666_311' of https://github.com/stronk7/moodle into MOODLE_311_STABLE 2022-12-14 13:22:09 +00:00
Eloy Lafuente (stronk7) 624d027753 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:26:27 +01:00
AMOS bot b492fa8255 Automatically generated installer lang files 2022-12-14 00:07:36 +00:00
Andrew Nicols 2d1c45a40e Merge branch 'MDL-76398-311' of https://github.com/paulholden/moodle into MOODLE_311_STABLE 2022-12-11 20:21:17 +08:00
Sara Arjona 13000ae319 weekly release 3.11.11+ 2022-12-09 08:57:13 +01:00
Sara Arjona 81dee5182b Merge branch 'install_311_STABLE' of https://git.in.moodle.com/amosbot/moodle-install into MOODLE_311_STABLE 2022-12-09 08:57:09 +01:00
AMOS bot 44ec3591c0 Automatically generated installer lang files 2022-12-08 00:07:35 +00:00
Brendan Heywood 7f638dac59 MDL-76478 formslib: Fix autocomplete bug of existing passwords 2022-12-08 00:45:58 +11:00
Jun Pataleta 3ad36ca4f9 Merge branch 'MDL-73017-M311_add-environment-check-for-versions-not-supporting-php-8-1' of https://github.com/ziegenberg/moodle into MOODLE_311_STABLE 2022-12-07 13:47:27 +08:00
Ilya Tregubov ffc0155eab Merge branch 'MDL-76490-311' of https://github.com/paulholden/moodle into MOODLE_311_STABLE 2022-12-06 13:10:47 +03:00
Andrew Nicols 42e3f4d696 Merge branch 'MDL-75446-311' of https://github.com/andelacruz/moodle into MOODLE_311_STABLE 2022-12-06 15:21:01 +08:00
Paul Holden ff446d05f6 MDL-76490 behat: use defined step for interaction with autocomplete. 2022-12-05 14:22:34 +00:00
Marina Glancy a213654a08 MDL-76490 behat: correct step for opening autocomplete in container. 2022-12-05 14:22:05 +00:00
Ilya Tregubov b7947e03ff Merge branch 'MDL-75788-311' of https://github.com/lameze/moodle into MOODLE_311_STABLE 2022-12-05 14:32:56 +03:00
Daniel Ziegenberg 2c18225da4 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:43:37 +01:00
Angelia Dela Cruz 67edcbd16f 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:49:04 +08:00
AMOS bot a6154a1cab Automatically generated installer lang files 2022-12-04 00:08:25 +00:00
Dani Palou eb7a2e3070 MDL-75788 behat: Use profile field generators in existing tests 2022-12-02 15:04:36 +08:00
Dani Palou 29a6589b8d MDL-75788 testing: Handle new lines in menu profile field generator 2022-12-02 15:04:33 +08:00
Sara Arjona 219206d83e weekly release 3.11.11+ 2022-12-01 16:08:09 +01:00
Jun Pataleta 7391010aac Merge branch 'MDL-76429_311' of https://github.com/stronk7/moodle into MOODLE_311_STABLE 2022-11-30 10:52:28 +08:00
Andrew Nicols 713048a0c9 Merge branch 'MDL-75960-311' of https://github.com/andelacruz/moodle into MOODLE_311_STABLE 2022-11-29 17:05:39 +08:00
Andrew Nicols 9f018ab557 Merge branch 'MDL-65939-311' of https://github.com/ewallah/moodle into MOODLE_311_STABLE 2022-11-29 15:42:38 +08:00
Andrew Nicols 8e6aeda4ba Merge branch 'MDL-76058-311' of https://github.com/lameze/moodle into MOODLE_311_STABLE 2022-11-29 15:37:45 +08:00
Angelia Dela Cruz 8af4bb6a40 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 10:21:24 +08:00
Eloy Lafuente (stronk7) 804ae9ad72 MDL-76429 composer: Bump to phpwebdriver 1.2.1 for php81 compat
This fix is really only required for Moodle 4.1 and up, that will
be the one supporting php81, but we always apply composer changes
to all branches (supported and security), so we keep them running
the same stuff.

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-25 16:27:31 +01:00
Ilya Tregubov 75a49ff1b2 weekly release 3.11.11+ 2022-11-25 15:38:33 +03:00
Jun Pataleta 3931e6fe5c Merge branch 'MDL-76340-311' of https://github.com/stevandoMoodle/moodle into MOODLE_311_STABLE 2022-11-25 08:21:40 +08:00
Stevani Andolo 8e195adb84 MDL-76340 VideoJS: Fixed the menu item not being displayed as expected 2022-11-24 22:55:52 +08:00
Paul Holden 44ab3ba8f1 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-11-21 16:59:24 +00:00
Paul Holden 91de19a803 weekly release 3.11.11+ 2022-11-18 11:43:16 +00:00
Paul Holden fcbd95d16d Merge branch 'install_311_STABLE' of https://git.in.moodle.com/amosbot/moodle-install into MOODLE_311_STABLE 2022-11-18 11:43:13 +00:00
AMOS bot ccb7bb2767 Automatically generated installer lang files 2022-11-18 00:07:36 +00:00
info@eWallah.net 09be924480 MDL-65939 phpunit: Maildigest tests can query a wrong adhoc task 2022-11-17 15:52:11 +01:00
Jun Pataleta 9d9a626038 Merge branch 'MDL-76292-311' of https://github.com/lameze/moodle into MOODLE_311_STABLE 2022-11-17 14:53:10 +08:00
Jun Pataleta 9a3cf47a77 Merge branch 'MDL-76310-311' of https://github.com/paulholden/moodle into MOODLE_311_STABLE 2022-11-17 14:39:26 +08:00
Paul Holden 1fb8bedf50 MDL-76310 enrol_lti: fix consumer key upgrade steps for Oracle.
Avoids CLOB comparison exceptions, related to ORA-00932.
2022-11-16 09:28:46 +00:00
Simey Lameze 92b909033e MDL-76292 completion: split criteria duration test into two tests 2022-11-14 16:13:22 +08:00
Jun Pataleta becbdd847d Moodle release 3.11.11 2022-11-12 12:55:28 +08:00
Sara Arjona 6ac3dd457c weekly release 3.11.10+ 2022-11-11 15:02:00 +01:00
Sara Arjona cd97da9c5c NOBUG: Fixed file access permissions 2022-11-11 15:01:59 +01:00
Mathew May 759b2670a0 MDL-71920 libraries: Migrate LTI lib away from pure curl 2022-11-11 12:54:45 +08:00
Mathew May 3f90e29e39 MDL-71920 core: update filelib opt name definition 2022-11-11 12:54:45 +08:00
Jake Dallimore 257a8126ad Merge branch 'MDL-75872-311' of https://github.com/paulholden/moodle into MOODLE_311_STABLE 2022-11-11 11:45:57 +08:00
Jun Pataleta d32320beac Merge branch 'MDL-63037-311' of https://github.com/snake/moodle into MOODLE_311_STABLE 2022-11-11 10:42:11 +08:00
Sara Arjona 1352a23354 Merge branch 'MDL-71951-311' of https://github.com/stevandoMoodle/moodle into MOODLE_311_STABLE 2022-11-10 16:37:42 +01:00
Sara Arjona 46a8a3bb75 Merge branch 'MOODLE_311_MDL-75874' of https://github.com/matheusot/moodle into MOODLE_311_STABLE 2022-11-10 16:22:22 +01:00
Sara Arjona 79d1331384 Merge branch 'MDL-74606-311-support-multilang-group-names-in-mod_assign' of https://github.com/krostas1983/moodle into MOODLE_311_STABLE 2022-11-10 16:04:45 +01:00
Matheus Rodrigues cd72578917 MDL-75874 aiken_html: correctly display HTML chars for Aiken questions
Updates the Aiken Format class to process answers correctly, enabling
support for special HTML characteres such as <, >, and &.

Co-authored-by: Leticia Luz <leticia.adrielli.luz@gmail.com>
2022-11-10 10:00:48 -03:00
Sara Arjona 72e9f115ab Merge branch 'MDL-75448-MOODLE_311' of https://github.com/golenkovm/moodle into MOODLE_311_STABLE 2022-11-10 13:19:48 +01:00
Paul Holden 01011e49dd Merge branch 'MDL-68550-311' of https://github.com/rezaies/moodle into MOODLE_311_STABLE 2022-11-10 12:00:22 +00:00
Sara Arjona fcf7d12a4b Merge branch 'MDL-75974-311' of https://github.com/paulholden/moodle into MOODLE_311_STABLE 2022-11-10 12:51:43 +01:00
Paul Holden f44d6ba340 Merge branch 'MDL-76011-311' of https://github.com/abgreeve/moodle into MOODLE_311_STABLE 2022-11-10 11:50:07 +00:00
Sara Arjona 15632be78d Merge branch 'MDL-75876-MOODLE_311_STABLE' of https://github.com/praxisdigital/moodle into MOODLE_311_STABLE 2022-11-10 12:47:21 +01:00
Sara Arjona 53a0fbecd2 Merge branch 'MDL-76167-311' of https://github.com/davewoloszyn/moodle into MOODLE_311_STABLE 2022-11-10 12:42:25 +01:00
Paul Holden 832261f49b Merge branch 'MDL-76224-311' of https://github.com/justusdieckmann/moodle into MOODLE_311_STABLE 2022-11-10 08:54:20 +00:00
Paul Holden 2378fc0117 MDL-75862 backup: omit sesskey for continue buttons using get method.
It's automatically added by the rendered single_button instance when
using post method, so no need to add it unconditionally.
2022-11-10 10:17:35 +08:00
Shamim Rezaie cd754d3b44 MDL-68550 tablelib: Use aria-role=button
Use the aria-role=button for:
- show/hide links
- sort links
- reset table preferences link
2022-11-10 06:22:54 +11:00
Shamim Rezaie 8307ce8f18 MDL-68550 output: Improve accessibility of the initials bar
- The current item should be focusable otherwise the focus will be lost
  as soon as a user clicks on an item in the initials bar
- Modified behat tests to not mistakenly click on the 'All' link
- The currently selected item is specified by aria-current
- Useed aria-current=true rather than =page because the links of each
  item in the initials bar is missing the pagination information
2022-11-10 06:21:52 +11:00
Shamim Rezaie 4225940caa MDL-68550 output: Improve accessibility of the paging bar
The use of aria-current is based on the example at
https://design-system.w3.org/components/pagination.html
2022-11-10 06:21:52 +11:00
Shamim Rezaie 2ce1ed7247 MDL-68550 theme: Not showing the gap in the initial bar
The gap issue was a regression from MDL-66670.
2022-11-10 06:21:52 +11:00
Paul Holden f21c892997 MDL-75872 mod_lesson: allow unlimited attempts default value.
Related change in 252e85be added a similar value per activity, we
should also allow it to be chosen as a default for the site.
2022-11-09 18:54:14 +00:00
Sara Arjona 0b8ab4fcef Merge branch 'MDL-50935-311-2' of https://github.com/junpataleta/moodle into MOODLE_311_STABLE 2022-11-09 16:01:30 +01:00
Justus Dieckmann 8ec49b09e5 MDL-76224 Resource: Set correct page url in /mod/label/view.php 2022-11-09 15:50:48 +01:00
Meirza fd9ab3efbd MDL-76131 core_user: encode social profile fields data. 2022-11-09 15:49:53 +01:00
Jun Pataleta acdca038df Merge branch 'MDL-76185-311' of https://github.com/mihailges/moodle into MOODLE_311_STABLE 2022-11-09 21:52:04 +08:00
Jun Pataleta dd6f0debcc Merge branch 'MDL-76054_311' of https://github.com/stronk7/moodle into MOODLE_311_STABLE 2022-11-09 20:08:56 +08:00
Sara Arjona 8f93e88387 Merge branch 'MDL-75889-311' of https://github.com/paulholden/moodle into MOODLE_311_STABLE 2022-11-09 12:36:55 +01:00
Sara Arjona 17fccfcf64 Merge branch 'MDL-76059-311' of https://github.com/paulholden/moodle into MOODLE_311_STABLE 2022-11-09 12:31:46 +01:00
David Woloszyn 0cdb9169cb MDL-76091 lib: Add additional check to local URLs params 2022-11-09 19:24:42 +08:00
Sara Arjona a110b34a5a Merge branch 'MDL-75766-311' of https://github.com/aanabit/moodle into MOODLE_311_STABLE 2022-11-09 11:57:38 +01:00
Sara Arjona 252d0faac1 Merge branch 'MDL-74201-311' of https://github.com/aanabit/moodle into MOODLE_311_STABLE 2022-11-09 11:49:44 +01:00
Jun Pataleta 1802410629 Merge branch 'MDL-76170-311' of https://github.com/snake/moodle into MOODLE_311_STABLE 2022-11-09 15:44:39 +08:00
Jake Dallimore 89cba33e91 MDL-76170 enrol_lti: fix missing secret in enrol_lti_users
If member sync runs before the user launches the tool, a partial record
is created, without consumer secret. Subsequent launches of the tool by
that member don't resolve this and this results in grade sync failing
for any affected users. This patch:
- data fixes the existing affected rows
- fixes the launch code, ensuring secret is recorded on launch,
irrespective of whether the user info record has been created already
or not.
2022-11-09 10:04:39 +08:00
Simey Lameze 2a36ff8dfb MDL-76058 behat: send message using data generator 2022-11-09 09:52:16 +08:00
Frédéric Massart b86162544d MDL-74201 backup: Restore reference to content bank files 2022-11-08 20:20:21 +01:00
Eloy Lafuente (stronk7) 2135ff7c19 MDL-76054 environment: Remove the php-xmlrpc extension check
For Moodle 4.1 and up, the php-xmlrpc is not needed anymore:
- All the MNet stuff has been moved to use php library (MDL-76055).
- The webservice/xmlrpc has been moved from core to contrib (MDL-76052).

So we just remove the check here. Starting with 4.1, it's not
needed for any core functionality.

No lang string changes in this branch, only in master (4.1dev).
2022-11-08 16:46:26 +01:00
Stevani Andolo d0e63f5a60 MDL-75278 VideoJS: Update VideoJS to use validation helper 2022-11-08 13:54:20 +00:00
Víctor Déniz ec65857de0 weekly release 3.11.10+ 2022-11-08 13:44:52 +00:00
Jake Dallimore d34d35d2b6 MDL-63037 mnet: fix hostexists string usage 2022-11-08 17:05:48 +08:00
Jun Pataleta 0742fb7b44 Merge branch 'MDL-76113-311' of https://github.com/snake/moodle into MOODLE_311_STABLE 2022-11-08 12:01:47 +08:00
Jake Dallimore 0e7caf93b5 Merge branch 'MDL-76071-311' of https://github.com/laurentdavid/moodle into MOODLE_311_STABLE 2022-11-08 11:44:34 +08:00
Jake Dallimore e876654d1f Merge branch 'MDL-72882-311-3' of https://github.com/junpataleta/moodle into MOODLE_311_STABLE 2022-11-08 11:32:25 +08:00
Jun Pataleta a11e590324 Merge branch 'MDL-76207-311' of https://github.com/andrewnicols/moodle into MOODLE_311_STABLE 2022-11-08 10:25:22 +08:00
Paul Holden 5ff8f06f64 MDL-75974 tool_customlang: check out language pack in CLI import. 2022-11-07 22:41:07 +00:00
Paul Holden 8a1c8f8bb3 MDL-75889 core: compare domain names in a case-insensitive manner.
As per https://www.rfc-editor.org/rfc/rfc1035#section-3.1
2022-11-07 22:37:00 +00:00
Andrew Nicols 671849b2db Merge branch 'MDL-75880_311' of https://github.com/stronk7/moodle into MOODLE_311_STABLE 2022-11-07 21:57:32 +08:00
Andrew Nicols 8341244903 Merge branch 'MDL-73624-311' of https://github.com/meirzamoodle/moodle into MOODLE_311_STABLE 2022-11-07 21:52:25 +08:00
Víctor Déniz 02d251294c Merge branch 'm311_MDL-74912_Fix_RegExp_Word_Boundaries_On_MySQL8' of https://github.com/scara/moodle into MOODLE_311_STABLE 2022-11-07 10:22:00 +00:00
Jun Pataleta b490d511d6 MDL-50935 atto_equation: Add upgrade step to fix existing sites 2022-11-07 15:15:40 +08:00
Jun Pataleta 2d08d7d2c0 MDL-50935 atto_equation: Fix display of matrix template
Thanks to Geoffrey Rowland's fix suggestion.
2022-11-07 15:13:07 +08:00
Andrew Nicols 016d123034 MDL-76207 contentbank: Switch to opened window 2022-11-06 21:00:09 +08:00
Matteo Scaramuccia 2e4c5f9c12 MDL-74912 dml: Fix PHP coding style problems 2022-11-05 10:09:04 +01:00
Matteo Scaramuccia e7b463af6d MDL-74912 dml: Fix missing nullable marker 2022-11-05 10:09:04 +01:00
Matteo Scaramuccia 314c9671fc MDL-74912 mod_forum: Fix regexp word boundaries markers in MySQL 8 2022-11-05 10:09:04 +01:00
anisa kusumadewi b8c4c975e0 MDL-75766 core_h5p: Added index for pathnamehash to h5p table 2022-11-04 16:55:54 +01:00
Eloy Lafuente (stronk7) f3952dc29f MDL-75880 phpunit: fix all @coversDefaultClass missing @covers
Because @coversDefaultClass doesn't indicate any coverage (it's
just an alias to avoid having to write the class name in @covers),
this commit fixes all the files that were using that annotation
and missing any @covers.

Basically, replacing one by the other and done.
2022-11-04 16:51:30 +01:00
Sara Arjona 71841556aa weekly release 3.11.10+ 2022-11-04 14:52:07 +01:00
Sara Arjona 575fabe57a Merge branch 'install_311_STABLE' of https://git.in.moodle.com/amosbot/moodle-install into MOODLE_311_STABLE 2022-11-04 14:52:03 +01:00
Jun Pataleta 5cf3b78855 Merge branch 'MDL-76103-311' of https://github.com/junpataleta/moodle into MOODLE_311_STABLE 2022-11-04 11:34:28 +08:00
Marina Glancy a84b1f1307 MDL-76103 search: skip solr behat tests if solr is not installed 2022-11-04 11:22:20 +08:00
Jun Pataleta c435b7896f Merge branch 'MDL-76072-311' of https://github.com/lameze/moodle into MOODLE_311_STABLE 2022-11-04 10:37:34 +08:00
AMOS bot e740fa9c3b Automatically generated installer lang files 2022-11-04 00:07:31 +00:00
David Woloszyn 243eb04a85 MDL-76167 installer: Corrected dockblock param types 2022-11-04 10:48:03 +11:00
Víctor Déniz 88c757cef0 Merge branch 'MDL-70071-311' of https://github.com/Chocolate-lightning/moodle into MOODLE_311_STABLE 2022-11-03 20:38:58 +00:00
Sara Arjona 8f06e62409 Merge branch 'MDL-76169-311' of https://github.com/andrewnicols/moodle into MOODLE_311_STABLE 2022-11-03 17:06:22 +01:00
Mihail Geshoski 0eda72ec4f MDL-76185 mod_glossary: Remove separator in continuous display format 2022-11-03 23:54:23 +08:00
Andrew Nicols 68ff5f0ce0 MDL-70071 forum: Convert post threshold warnings to info 2022-11-03 15:04:48 +08:00
Jun Pataleta deb5150786 MDL-72882 tool_langimport: Set default language when deleting lang pack
* When the language pack being deleted is
  - the same as the site default language, we must set the site default
    language to 'en'.
  - fix the user's current language to the default site language.
2022-11-03 14:01:06 +08:00
Jun Pataleta 15521655a3 MDL-72882 core: Use default site lang when user lang no longer available
* Check that the lang attribute for the output HTML exists. If not,
use the default site language.
* Also fix the current language for the user.
2022-11-03 14:01:06 +08:00
Andrew Nicols 3a2703c9f5 Merge branch 'MDL-75904-311' of https://github.com/paulholden/moodle into MOODLE_311_STABLE 2022-11-03 13:48:11 +08:00
Andrew Nicols f48d31f0d4 MDL-76169 behat: Normalise exception message in should (not) steps
These steps have accepted a NodeElement instance as an argument for some
time, but were trying to cast it to string when formulating exception
messages, making it harder to debug and, in the case of the 'should see'
step, not work at all.

This patch introduces a new function to produce a consistent naming for
them.
2022-11-03 13:28:51 +08:00
Andrew Nicols 38da2c3a61 MDL-76169 behat: Add improved steps for using action menus
This commit adds new steps related to action menus to support:
* Choosing an item in a named action menu
* Choosing an item in a named action menu within a container
* Confirming that an action menu item does or does not exist in a named
  action menu
* Confirming that an action menu item does or does not exist in a named
  action menu within a container

The existing action menu steps were insufficient as they assume that
there is only one action menu within he container, which is not
necessarily the case.

The existing action menu steps are not non-JS friendly and will error if
JS is disabled, without providing any fallback when one is easily
available.

Unfortunately these steps cannot be used to replace the existing steps
without manual intervention.
2022-11-03 13:28:51 +08:00
Simey Lameze 583b655e37 MDL-76072 tool_lp: only init inlineGrader module if user can grade 2022-11-03 11:42:10 +08:00
Jake Dallimore 28f06c0f27 MDL-76113 enrol_lti: Fix secret on lti user for LTI 2.0 consumers
Fixes the enrol_lti_users.consumersecret field for LTI 2.0 users.
This field erroneously contained the tool secret and not the consumer
secret needed for service requests when used with LTI 2.0 consumers,
which resulted in complete grade sync failure for LTI 2.0 consumers.
This patch:
- adds an upgrade step to address existing incorrect secrets for LTI
2.0 launched users. It sets these to the correct consumer secret.
- fixes the way the secret is first set during a launch, ensuring
this->consumer->secret is used, which properly captures either the
tool secret (for 1.1 launches) or the consumer secret (for 2.0
launches).
2022-11-02 17:06:04 +08:00
Sara Arjona 4e1e916ca6 Merge branch 'MDL-61880-311' of https://github.com/snake/moodle into MOODLE_311_STABLE 2022-11-02 08:30:59 +01:00
Jake Dallimore 0c2426d207 MDL-61880 tool_oauth2: don't rely on discovery when editing issuers
Adjusts the testing scenarios so that we don't rely on endpoint
discovery being run during an issuer edit, which is no longer the case.
For scenarios that need a userinfo endpoint, set this manually.
2022-11-02 11:12:40 +08:00
Jake Dallimore 3f17ea00e7 MDL-61880 core: don't clear issuer fields not present in form data
In cases where we have an id, load the persistent and then set new data
before saving. This ensures we don't delete fields which are missing in
the form data.
2022-11-02 11:12:40 +08:00
Yannick Forget 565fe67086 MDL-61880 core: Retain OAuth 2.0 user field mappings after issuer update 2022-11-02 11:12:34 +08:00
Ilya Tregubov 97f67db36d weekly release 3.11.10+ 2022-11-01 15:00:04 +03:00
Andrew Nicols e2b085c81b Merge branch '311-mdl-75010' of https://github.com/danmarsden/moodle into MOODLE_311_STABLE 2022-11-01 11:52:57 +08:00
Jun Pataleta 91bb1805d9 Merge branch 'MDL-76108-311' of https://github.com/aanabit/moodle into MOODLE_311_STABLE 2022-10-31 16:49:07 +08:00
Dan Marsden 4d36e008dd MDL-75010 core: Prevent user last access update on user key login 2022-10-31 14:20:23 +13:00
Víctor Déniz e57d9506af Merge branch 'MDL-68437-311' of https://github.com/mihailges/moodle into MOODLE_311_STABLE 2022-10-28 18:28:48 +01:00
Amaia Anabitarte 779cd5b40c MDL-76108 mod_lesson: improving count call for PHP8.0 2022-10-28 18:18:05 +02:00
Sara Arjona 98fd15d75b weekly release 3.11.10+ 2022-10-28 14:09:22 +02:00
Jake Dallimore 552ec1b547 MDL-68943 assignfeedback_editpdf: fix version numbers 2022-10-28 12:09:10 +08:00
Jake Dallimore 977cbaf239 Merge branch 'MDL-68943-311' of https://github.com/cameron1729/moodle into MOODLE_311_STABLE 2022-10-28 11:50:14 +08:00
Cameron Ball a68be3c7fa MDL-68943 assignfeedback_editpdf: Upgrade step for stale conversions 2022-10-28 11:26:43 +08:00
Cameron Ball a123645de3 MDL-68943 assignfeedback_editpdf: Reconvert updated files 2022-10-28 11:26:43 +08:00
Víctor Déniz 29191eeff2 Merge branch 'MDL-75969-311' of https://github.com/andrewnicols/moodle into MOODLE_311_STABLE 2022-10-27 15:45:27 +01:00
Meirza b9701a8bb8 MDL-73624 lib_spout: encode output file name 2022-10-27 17:09:57 +07:00
Adrian Greeve 1fe901e1ab MDL-76011 lib: Updated the zip writer to retain the modified date. 2022-10-27 15:08:40 +08:00
Jun Pataleta 24bc7e9a19 weekly release 3.11.10+ 2022-10-25 17:17:15 +08:00
Jun Pataleta c352ec94a8 Merge branch 'install_311_STABLE' of https://git.in.moodle.com/amosbot/moodle-install into MOODLE_311_STABLE 2022-10-25 17:17:12 +08:00
Laurent David 91c7b05b05 MDL-76071 mod_choice: fix choice display on graphs
* The setting "Display mode" modifies the choices alignment of radio choice button
from horizontally to vertically. It should also display the list of choices in
the graph in the same directions.
2022-10-25 10:42:49 +02:00
Stevani Andolo a9e12e1d84 MDL-71951 calendar: Accessbility issue fix 2022-10-25 13:07:33 +08:00
Andrew Nicols 33eaae5569 Merge branch 'MDL-76049_311' of https://github.com/timhunt/moodle into MOODLE_311_STABLE 2022-10-25 11:50:10 +08:00
Andrew Nicols aaedf21a31 Merge branch 'MDL-74911-311' of https://github.com/matthewhilton/moodle into MOODLE_311_STABLE 2022-10-24 22:23:14 +08:00
Sara Arjona 658c7e9ef5 Merge branch 'MDL-73030-311' of https://github.com/paulholden/moodle into MOODLE_311_STABLE 2022-10-24 15:47:31 +02:00
Jun Pataleta 7ef51203c6 Merge branch 'MDL-75936-311' of https://github.com/andrewnicols/moodle into MOODLE_311_STABLE 2022-10-24 15:57:58 +08:00
Andrew Nicols 6591971e8a MDL-75936 core_message: Drawer must be ready before firing drawer events
This commit addresses a race condition when showing the message drawer
and opening the settings page from the Message preferences page.

In that situation, the message/edit.php page calls the
message_drawer_helper.showSettings function, which publishes a request
to show the drawer.

In some conditions (notably faster machines, or after MDL-66107) this
event is fired before the message_drawer.init has listened to it.

The solution here is to delay firing of the event until the drawer
announces itself as ready.

This ensures that the event is subscribed to before it is fired.
2022-10-24 14:30:32 +08:00
Matthew Hilton 58bc68b0bc MDL-74911 assignfeedback_editpdf: unlock session when polling conversion
Polling conversions will run the document conversion immediately if the
conversion has not already been completed.

Releasing the session lock while doing this ensures large conversions
do not unnecessarily hold the users session.
2022-10-24 12:58:31 +10:00
Matthew Hilton 93c53ea726 MDL-74911 assignfeedback_editpdf: per-assignment conversion poll lock
The lock ensures that multiple conversions do not happen for the same
assignment submission.

Otherwise, subsequent conversions will fail when trying to save the
converted file.
2022-10-24 12:58:29 +10:00
AMOS bot 73eec5d12d Automatically generated installer lang files 2022-10-23 00:08:12 +00:00
Paul Holden ee36b4146f MDL-75904 admin: ignore $CFG->allowcategorythemes during installation. 2022-10-21 23:22:37 +01:00
Paul Holden 6180b175d4 MDL-76059 forms: graceful early exit for invalid button elements.
Ensure login form tries to capture guest button only if it exists.
2022-10-21 19:40:33 +01:00
Sara Arjona e083dae38e Merge branch 'MDL-72828-311' of https://github.com/davewoloszyn/moodle into MOODLE_311_STABLE 2022-10-21 16:24:54 +02:00
Ilya Tregubov 42be9c33eb weekly release 3.11.10+ 2022-10-21 15:33:52 +03:00
David Woloszyn 8ba4d8be17 MDL-72828 js: get_strings supports jquery objects 2022-10-21 15:03:10 +11:00
Tim Hunt 78910334ff MDL-76049 quiz generator: update calendar events for new overrides 2022-10-20 23:45:13 +01:00
Víctor Déniz 6af53fa8c0 Merge branch 'MDL-75907-311' of https://github.com/golenkovm/moodle into MOODLE_311_STABLE 2022-10-20 10:47:02 +01:00
Jun Pataleta d0b8656cb5 Merge branch 'MDL-75497-311' of https://github.com/raortegar/moodle into MOODLE_311_STABLE 2022-10-20 17:28:58 +08:00
Jun Pataleta 9c93fbe3a4 Merge branch 'MDL-75599-311' of https://github.com/laurentdavid/moodle into MOODLE_311_STABLE 2022-10-20 17:25:55 +08:00
raortegar a97f8d6720 MDL-75497 mod_data: Review Check existence of field.class.php 2022-10-20 10:03:12 +02:00
Andrew Nicols 7ceb1466e9 Merge branch 'MDL-75834-m311' of https://github.com/sammarshallou/moodle into MOODLE_311_STABLE 2022-10-20 14:38:03 +08:00
Jun Pataleta 5d0b1f0ed3 Merge branch 'MDL-59458-311' of https://github.com/laurentdavid/moodle into MOODLE_311_STABLE 2022-10-20 13:08:44 +08:00
Jun Pataleta 180bf41216 Merge branch 'MDL-75985-311' of https://github.com/andrewnicols/moodle into MOODLE_311_STABLE 2022-10-19 21:28:07 +08:00
Andrew Nicols 509578453a MDL-75985 behat: Return newline character for \n
Somehow part of this commit was lost during the push and/or squash.
2022-10-19 20:27:45 +08:00
Sara Arjona 8be7ac509a Merge branch 'MDL-76010_311' of https://github.com/stronk7/moodle into MOODLE_311_STABLE 2022-10-19 12:56:32 +02:00
Jun Pataleta fcfd012b6a Merge branch 'MDL-75645_311' of https://github.com/stronk7/moodle into MOODLE_311_STABLE 2022-10-19 15:37:05 +08:00
Jun Pataleta a778af133e Merge branch 'MDL-75985-311' of https://github.com/andrewnicols/moodle into MOODLE_311_STABLE 2022-10-19 10:55:41 +08:00
Eloy Lafuente (stronk7) 1ff07992ec MDL-75645 mnet: Stop caching OpenSSLAsymmetricKey keys
The mnet_environment->keypair array contains the following
elements (and more, just focussing on these):
- keypair_PEM : textual representation of the private key.
- certificate : textual representation of the public key.
- privatekey  : OpenSSLAsymmetricKey representation of the private key,
                generated from keypair_PEM. See get_private_key().
- publickey   : OpenSSLAsymmetricKey representation if the public key,
                generated from certificate. See get_public_key().

The last 2 elements in the array are only used as "caching", to avoid
having to call to openssl_pkey_get_private() and
openssl_pkey_get_public() to convert from the textual representation
to the OpenSSLAsymmetricKey representation that is the one required
by a number of openssl functions.

Problems arrive when, as part of the MNet protocol, the mnet_environment
is serialised, because, since PHP 8.0 those OpenSSLAsymmetricKey objects
aren't serialisable any more.

So, as far as they are only used for internal caching it's perfectly ok
to remove the caching bits and use the openssl_pkey_get_xxx() methods
to calculate them under demand.

The alternative to this would be to implement into the mnet_environment
some custom serialisation, skipping those OpenSSLAsymmetricKey
instances, using __sleep(), the Serializabla interface or __serialize(),
but that seems unnecessary because, as explained above, the uses are
really limited and easily replaceable.

That's what this patch does.
2022-10-18 14:31:03 +02:00
Eloy Lafuente (stronk7) 8cbcbc094c MDL-76010 behat: New scenario to verify that manual attempts work
This is basically the manual background that was removed in the
previous commit, with 4 attempts here. Note it includes the 2
waits that are REQUIRED to make it pass in too-quick environments.

If they are removed, they begin to fail because it seems that
the attempts need a minimum of separation between them.
2022-10-18 14:28:07 +02:00
Eloy Lafuente (stronk7) a35c9aab6d MDL-76010 behat: Move feature to use attempts generator
This moves away from manual attempts and uses the activity
attempts generator instead. Quicker and not exposed to the
problems with clicks, refreshes and missing attempts.

Note that there is a small change in the attempt generator
so, now, when a new attempt is created, if the activity has
tracking enabled, the final result / grades are recalculated.

That's the real behaviour when the activity settings are
changes in the edition form and it's natural to get them
recalculated without having to visit the form. Specifically,
this allows the 1st scenario to pass, because in that scenario
no changes to the form are being performed.

Also, little detail, amend a dupe scenario name.
2022-10-18 14:28:07 +02:00
Sara Arjona bef4181788 weekly release 3.11.10+ 2022-10-18 13:09:58 +02:00
Laurent David abcbc42139 MDL-75599 mod_data: Fix warning message
* Fix warning message when accessing advanced search page with a date field.
2022-10-18 07:56:14 +02:00
Jun Pataleta f65577ef3a Merge branch 'MDL-75783-311' of https://github.com/andrewnicols/moodle into MOODLE_311_STABLE 2022-10-18 10:06:51 +08:00
Andrew Nicols fdc7349577 MDL-75783 javascript: Add optional jsconfig configuration
This commit adds a new Grunt task which generates a jsconfig.json file.

This file is described at
https://code.visualstudio.com/docs/languages/jsconfig and can be used
to configure vscode and other similar editors to understand our module
loading.

This task is an optional task for Grunt and can be run with:

    npx grunt jsconfig

The file is git-ignored and will not affect normal usage.
2022-10-18 09:33:04 +08:00
Víctor Déniz 0ee24af3cd Merge branch 'MDL-75983_311' of https://github.com/stronk7/moodle into MOODLE_311_STABLE 2022-10-18 01:09:04 +01:00
Sara Arjona 815419ad12 Merge branch 'MDL-72836-311' of https://github.com/mickhawkins/moodle into MOODLE_311_STABLE 2022-10-17 16:40:00 +02:00
Sara Arjona b92f5e00aa Merge branch 'MDL-74814-311-1' of https://github.com/HuongNV13/moodle into MOODLE_311_STABLE 2022-10-17 15:30:59 +02:00
Huong Nguyen 54263aa1f6 MDL-74814 forms: Fix accessibility issue in edit profile page
- Fixed legend tag issue
 - Modified the passwordunmask Javascript hide/unhide the password field by CSS class
2022-10-17 15:52:20 +07:00
Andrew Nicols 100fad08fe MDL-75969 behat: Allow the editor field to request a save
Some editors do not immediately store their content to the textarea they
represent and only do so when the form is submitted or they are
requested to.

This change adds to the existing API to allow an (optional)
`store_current_value` function to be defined for the editor type so that
it can use the JavaScript API to persist any current content to the
editor.
2022-10-14 23:46:25 +08:00
Andrew Nicols 14f87ce4b5 MDL-75985 behat: Standardise HTML output when comparing editor content
This commit adds a standardise_html function and updates the matches
function to compare normalised content.

This allows for a wider variety of valid editor output to be handled
using the standard value matching steps in Behat, thus supporting
editors other than Atto better.
2022-10-14 23:44:11 +08:00
Eloy Lafuente (stronk7) b4b650f9cd MDL-75983 gha: Update used actions to be node16 compatible
Node12 is being deprecated in github for actions:

https://github.blog/changelog/2022-09-22-github-actions-all-actions-will-begin-running-on-node16-instead-of-node12/

So we need to ensure we are using node16 actions.
2022-10-14 13:28:25 +02:00
Sara Arjona efc6d19ac2 weekly release 3.11.10+ 2022-10-14 12:49:22 +02:00
Sara Arjona a887e577a4 Merge branch 'install_311_STABLE' of https://git.in.moodle.com/amosbot/moodle-install into MOODLE_311_STABLE 2022-10-14 12:49:20 +02:00
AMOS bot 5b9f243378 Automatically generated installer lang files 2022-10-14 00:07:33 +00:00
Jun Pataleta 1900cadd4f Merge branch 'MDL-74887-MOODLE_311_STABLE' of https://github.com/sh-csg/moodle into MOODLE_311_STABLE 2022-10-14 00:30:55 +08:00
Sara Arjona f55fd1b49c Merge branch 'MDL-75959-311' of https://github.com/andrewnicols/moodle into MOODLE_311_STABLE 2022-10-13 16:03:41 +02:00
Ilya Tregubov 575358c0f0 Merge branch 'MDL-75970-311' of https://github.com/paulholden/moodle into MOODLE_311_STABLE 2022-10-13 14:09:06 +03:00
Stefan Hanauska 83a1703746 MDL-74887 mod_label: Update visibility 2022-10-13 12:47:31 +02:00
Paul Holden 5c74434dfa MDL-75970 tool_customlang: clarify CLI export target/filename. 2022-10-12 10:32:30 +01:00
Jun Pataleta 72e2a0dfb5 Merge branch 'MDL-75887-311' of https://github.com/andrewnicols/moodle into MOODLE_311_STABLE 2022-10-12 09:23:13 +08:00
Simey Lameze 8c30413ba8 MDL-75887 behat: Add ability to set value regardless of the editor
Prior to this commit, the behat_form_editor integration was hard-coded
to use Atto.

This change allows other editors to be used to set editor values, and
breaks that hard bond. Following this change, any editor is able to
define a behat_editor_[name].php file defining a function which meets
the following signature:

  set_editor_value(string $editorid, string $value): void

Each editor is responsible for checking whether its own API is available
and calling any relevant functions to force the editor to set the
content.

Please note: Behat is unable to determine the current editor in use on
the page automatically.
2022-10-12 06:44:30 +08:00
Andrew Nicols ce2a901414 MDL-75959 customfield: Correct inappropriate class import
I suspect this was an incorrect tab completion import by an IDE which
was missed.
2022-10-12 06:40:18 +08:00
Jun Pataleta 811fc31904 weekly release 3.11.10+ 2022-10-11 23:16:41 +08:00
Jun Pataleta 25efc9e7aa Merge branch 'install_311_STABLE' of https://git.in.moodle.com/amosbot/moodle-install into MOODLE_311_STABLE 2022-10-11 23:16:39 +08:00
AMOS bot c29ba27942 Automatically generated installer lang files 2022-10-11 00:07:30 +00:00
sam marshall 125065e488 MDL-75834 lib: Focus lock JS bug when focus area removed 2022-10-10 16:41:49 +01:00
Sara Arjona 613ba34b07 Merge branch 'MDL-75656-311' of https://github.com/paulholden/moodle into MOODLE_311_STABLE 2022-10-10 16:16:32 +02:00
Jun Pataleta 975ef5c540 Merge branch 'MDL-75909-311' of https://github.com/andrewnicols/moodle into MOODLE_311_STABLE 2022-10-10 18:08:04 +08:00
Jun Pataleta 1db7e78c8b Merge branch 'MDL-75922-311' of https://github.com/andrewnicols/moodle into MOODLE_311_STABLE 2022-10-10 14:55:17 +08:00
Jun Pataleta 37fa9f51e9 Merge branch 'MDL-75910-311' of https://github.com/andrewnicols/moodle into MOODLE_311_STABLE 2022-10-10 11:06:55 +08:00
Simey Lameze 4eed9bd261 MDL-75922 behat: Apply @editor_atto tag to tests requiring Atto
These steps are currently using Atto-specific UI features and must
therefore make use of the @editor_atto tag to ensure that they continue
to run using Atto.

A new issue will be raised to migrate each of these to be
editor-agnostic.
2022-10-09 20:27:05 +08:00
Andrew Nicols ec6c3cd9a0 Merge branch 'MDL-61395-311' of https://github.com/paulholden/moodle into MOODLE_311_STABLE 2022-10-09 13:13:39 +08:00
Stefan Hanauska 133b7b700d MDL-74887 course: Hide stealth mode without view page 2022-10-08 08:09:34 +02:00
AMOS bot c269c67830 Automatically generated installer lang files 2022-10-08 00:07:29 +00:00
Michael Hawkins 8d09620c14 MDL-72836 core: Updated security.txt expiry and policy URL 2022-10-07 14:12:14 +08:00
Mikhail Golenkov 94327ba15f MDL-75907 core: Add index on temp table to optimise stats cron 2022-10-07 16:16:44 +11:00
Andrew Nicols 8e1353f39d weekly release 3.11.10+ 2022-10-07 13:04:02 +08:00
Andrew Nicols 342c6367d0 Merge branch 'install_311_STABLE' of https://git.in.moodle.com/amosbot/moodle-install into MOODLE_311_STABLE 2022-10-07 13:04:00 +08:00
AMOS bot fe6c455b51 Automatically generated installer lang files 2022-10-07 00:07:35 +00:00
Simey Lameze 777025b298 MDL-75910 core_form: Allow editor field to set a hidden label
When an editor is used in a form as part of a group, it is missing its
label element.

This happens because there is no inline template for the editor, and
therefore it reverts to using the old `toHtml` function. The legacy
function does not cater to the editor being in a group, and therefore
does not add the hidden label.

In addition, the hiddenLabel attribute was missing from the editor
element. This is a semi-standard element but must be added to each
supporting element.

Both the missing inline template for the editor, and the hidden label
attribute must be present:
- If the hidden label attribute is not present, then the standard inline
  template will add a visible label within the group.
- If the inline editor template is missing, then the label is not shown
  at all.
2022-10-06 22:54:12 +08:00
Andrew Nicols 1545abb21d MDL-75909 mod_data: Make template editor use html editor
When the template editor is configured to use the HTML Editor, it should
indicate this to Behat by setting the `data-fieldtype` to "editor".

This indicates to the behat field manager that the editor is in use,
which ensures that the correct value setting can take place.

This is important in the context of MDL-75887.
2022-10-06 21:49:01 +08:00
Andrew Nicols d70b73345c MDL-71686 core_form: Rebuild amd util module 2022-10-06 16:13:17 +08:00
Andrew Nicols fbc97ebdcd MDL-71686 core_form: Include missing build 2022-10-06 14:44:35 +08:00
Andrew Nicols 95b4682d3c MDL-71686 core_form: Move form serializer to shared function 2022-10-06 10:22:46 +08:00
Andrew Nicols 27f7c54d58 Merge branch 'MDL-71686-311' of https://github.com/marinaglancy/moodle into MOODLE_311_STABLE 2022-10-06 10:21:34 +08:00
Shamim Rezaie 459da610c6 Merge branch 'MDL-75886-311' of https://github.com/andrewnicols/moodle into MOODLE_311_STABLE 2022-10-06 12:24:45 +11:00
Thorsten Siegmund Bartel 930a0d2944 MDL-74606 mod_assign: Support multilanguage strings in group names. 2022-10-05 12:56:16 +02:00
Andrew Nicols e881dee5b4 MDL-75886 atto: Always use Atto for @atto tests
This change, which should be easy to mimic for other editors.

This will ensure that the correct editor is used for tests relating to
that editor, or its subplugins.
2022-10-05 09:57:19 +08:00
Jun Pataleta f525194ea2 Merge branch 'MDL-66955-m311' of https://github.com/NeillM/moodle into MOODLE_311_STABLE 2022-10-04 16:36:25 +08:00
AMOS bot d18f60bd3f Automatically generated installer lang files 2022-10-04 00:07:33 +00:00
Frederik Milling Pytlick 01643574c5 MDL-75876 core_calendar: Add raise_memory_limit call to export_execute
Added a call to raise_memory_limit in /calendar/export_execute.php as it can be very memory intensive.
2022-10-03 12:47:57 +02:00
Paul Holden 0268bbd07b MDL-73030 backup: case-insensitive detection of Moodle backups. 2022-10-03 09:32:05 +01:00
Andrew Nicols 4f5d221749 Merge branch 'MDL-75836_311' of https://github.com/jrchamp/moodle into MOODLE_311_STABLE 2022-10-02 21:44:40 +08:00
Andrew Nicols 8ca4a0087d MDL-75614 dml: Unit tests must test something 2022-09-30 16:38:27 +08:00
Andrew Nicols 357ab40ff4 Merge branch 'MDL-75614-debugsqltrace-MOODLE_311_STABLE' of https://github.com/brendanheywood/moodle into MOODLE_311_STABLE 2022-09-30 16:38:24 +08:00
Neill Magill a0518068fb MDL-66955 messages: Improve speed of message search
The OR conditions in the WHERE clause prevented the query from
effectively filtering the messages related to the user quickly, this
change helps gets around this by allowing the database to limit
the rows in the messages table it needs to scan significantly.
2022-09-30 08:31:11 +01:00
Mihail Geshoski 5ef68db33a MDL-68437 forum: Support to show only active course users in grader
The following change adds support to show only active course users
in the forum grader and generally replicates the behaviour from the
assignment grader which relies on certain config settings, user
permissions and capabilities.
2022-09-30 12:18:46 +08:00
Mihail Geshoski 2914d47171 MDL-68437 course: ws support to optionally fetch only active users
Modifies the 'core_course_get_enrolled_users_by_cmid' webservice and
the generic js methods that call this webservice and enables defining
whether the ws should only return the active users or all enrolled
users in the course.
2022-09-30 12:12:28 +08:00
Jake Dallimore e79b14e2a9 weekly release 3.11.10+ 2022-09-30 10:17:39 +08:00
Andrew Nicols b97ed6d75a Merge branch 'MDL-74922_MOODLE_311_STABLE_fix_storage_wrapper_validate_cache' of https://github.com/gthomas2/moodle into MOODLE_311_STABLE 2022-09-29 12:06:45 +08:00
Jun Pataleta f4d830d7e4 Merge branch 'MDL-75782-311' of https://github.com/andrewnicols/moodle into MOODLE_311_STABLE 2022-09-29 11:53:57 +08:00
Jun Pataleta 2974880afe Merge branch 'MDL-75559-311' of https://github.com/andrewnicols/moodle into MOODLE_311_STABLE 2022-09-29 10:53:59 +08:00
Jun Pataleta 4ed21af7df Merge branch 'MDL-66902_311' of https://github.com/stronk7/moodle into MOODLE_311_STABLE 2022-09-28 23:15:26 +08:00
Jun Pataleta e1d80935a3 Merge branch 'MDL-75827-311' of https://github.com/paulholden/moodle into MOODLE_311_STABLE 2022-09-28 20:35:58 +08:00
Jake Dallimore f40424cd25 Merge branch '31_mdl75668' of https://github.com/danmarsden/moodle into MOODLE_311_STABLE 2022-09-28 16:36:36 +08:00
Jun Pataleta 47f85d5da1 Merge branch 'MDL-72490-m311' of https://github.com/sammarshallou/moodle into MOODLE_311_STABLE 2022-09-28 11:55:08 +08:00
Jun Pataleta ac0444bff4 Merge branch 'MDL-66273-MOODLE-311-v2' of https://github.com/golenkovm/moodle into MOODLE_311_STABLE 2022-09-28 09:45:35 +08:00
Jun Pataleta bb7955546c Merge branch 'MDL-75726_311' of https://github.com/stronk7/moodle into MOODLE_311_STABLE 2022-09-28 08:12:14 +08:00
Jun Pataleta 0fd522dd1f Merge branch 'MDL-75776_311' of https://github.com/stronk7/moodle into MOODLE_311_STABLE 2022-09-28 08:06:39 +08:00
Jonathan Champ a09f258f70 MDL-75836 activities: preserve moodleform validation errors 2022-09-27 14:24:36 -04:00
Andrew Nicols b193122b29 Merge branch 'MDL-75168-311' of https://github.com/paulholden/moodle into MOODLE_311_STABLE 2022-09-27 23:42:42 +08:00
Paul Holden 10d39a1feb MDL-75168 tag: cleanup module tag instances upon course deletion. 2022-09-27 14:11:32 +01:00
Jun Pataleta d51a14792b Merge branch 'MDL-75800-311' of https://github.com/paulholden/moodle into MOODLE_311_STABLE 2022-09-27 20:19:54 +08:00
Andrew Nicols 074307ebba Merge branch 'MDL-27570_311' of https://github.com/timhunt/moodle into MOODLE_311_STABLE 2022-09-27 17:02:24 +08:00
Jun Pataleta aeacebf383 Merge branch 'MDL-71531-311' of https://github.com/andrewnicols/moodle into MOODLE_311_STABLE 2022-09-27 16:29:01 +08:00
Andrew Nicols 51c22d1e3f MDL-75744 qtype_gapselect: Remove unnecessary javascript tag 2022-09-27 12:45:25 +08:00
Andrew Nicols e5bf98ab9d Merge branch 'MDL-75744-311' of https://github.com/NashTechOpenUniversity/moodle into MOODLE_311_STABLE 2022-09-27 12:38:23 +08:00
Paul Holden 1b1758caa2 MDL-75827 theme_boost: append table elements to popover whitelist.
This allows for their use within popover tooltips, such as those
used for showing help icon dialogues.
2022-09-26 16:06:42 +01:00
Eloy Lafuente (stronk7) a71341c693 MDL-66902 tests: Fix all incorrect namespaces
This issue just goes over all the currently incorrect
namespaces in test cases and:

1. Change the namespace to the correct one.
2. Move/rename it to correct location if needed (level 2 and down).
3. Remove not needed MOODLE_INTERNAL check when possible.
4. Remove file phpdoc when the file only has one class.
5. Make small adjustments in case the change of namespace requires it.
2022-09-26 14:34:30 +02:00
Hien Dinh b21541294a MDL-72490 availability: Show error if conflict in date restriction 2022-09-26 11:19:39 +01:00
Paul Holden 806a667b3a MDL-61395 forms: style frozen tag element values. 2022-09-26 11:16:13 +01:00
Paul Holden 7311810970 MDL-75656 tag: decode entities in tags element values. 2022-09-26 10:56:37 +01:00
Eloy Lafuente (stronk7) c8773b698a MDL-75726 ci: Bump GHA to Ubuntu 22.04
Have tried to also bump Travis to 22.04 (jammy) but it
was not working ok, with problems trying to find both
PHP and PostgreSQL versions.

Surely that's because 22.04 support is really new (Sep 9, 2022):

https://blog.travis-ci.com/22-9-9-ubuntujammy

So we'll have to wait a little more before being able to, also,
bump Travis to use 22.04
2022-09-22 17:45:16 +02:00
Eloy Lafuente (stronk7) e446e2b6a9 MDL-75776 composer: minor updates
In stables, just minors updates to components.

Generated using the instructions @ https://docs.moodle.org/dev/Composer
and using PHP 7.3 (always the min version supported) to generate the
lock file.
2022-09-22 17:44:45 +02:00
Eloy Lafuente (stronk7) 6a6344e268 weekly release 3.11.10+ 2022-09-22 17:05:51 +02:00
Tim Hunt bcdee74ae9 MDL-27570 quiz timing: add unit test and simplify top of process_attempt 2022-09-22 11:12:45 +01:00
Philipp Imhof dacd86c23c MDL-27570 quiz: check if time is really up 2022-09-21 11:39:14 +01:00
Paul Holden bb6c03a252 MDL-75800 enrol: correct instance deleted event name. 2022-09-20 14:09:40 +01:00
Jun Pataleta b37a074180 Merge branch 'MDL-75777_311' of https://github.com/stronk7/moodle into MOODLE_311_STABLE 2022-09-20 15:11:59 +08:00
Eloy Lafuente (stronk7) 64e570d0ab MDL-75777 phpunit: Move tests to use correct names and ns (take#6)
Applied the following changes to various testcase classes:

- Namespaced with component[\level2-API]
- Moved to level2-API subdirectory when required.
- Fixed incorrect use statements with leading backslash.
- Remove file phpdoc block
- Remove MOODLE_INTERNAL if not needed.
- Changed code to point to global scope when needed.
- Fix some relative paths and comments here and there.
- All them passing individually.
- Complete runs passing too.
2022-09-19 11:03:36 +02:00
Jun Pataleta 0a4af5f771 Merge branch 'MDL-75757_311' of https://github.com/stronk7/moodle into MOODLE_311_STABLE 2022-09-19 13:01:50 +08:00
Andrew Nicols d288aea421 MDL-75782 mod_quiz: Make TinyMCE autosave less fragile
This commit amends the quiz autosave feature to not assume the
components of the Tiny API as much, and add support for newer versions
of TinyMCE.
2022-09-19 12:56:55 +08:00
Eloy Lafuente (stronk7) a9edf3962a MDL-75757 phpunit: Add some tolerance to a few failing assertions
Recently, PHPUnit (all versions) did some changes about how the
comparators worked and this has caused some float comparisons
to stop working.

We need to move them to assertEqualsWithDelta(), allowing a small
tolerance to workaround the floats comparison problem.

0.00001 has been decided. And applied to all the similar assertions
within the unittest function, so if more cases are added to them
better be copied with the agreed tolerance.
2022-09-18 15:57:36 +02:00
Sara Arjona 6087c2a835 Merge branch 'MDL-75108-m311' of https://github.com/sammarshallou/moodle into MOODLE_311_STABLE 2022-09-16 11:23:29 +02:00
Sara Arjona 6fd68977ac weekly release 3.11.10+ 2022-09-15 16:11:55 +02:00
Sara Arjona 94f6eefb86 Merge branch 'install_311_STABLE' of https://git.in.moodle.com/amosbot/moodle-install into MOODLE_311_STABLE 2022-09-15 16:11:53 +02:00
hieuvu d03da85cef MDL-75744 gapselect: remove empty choices option. 2022-09-15 15:46:16 +07:00
Andrew Nicols 3e789e5d6d MDL-71531 cachestore_file: Stop locking cache files to read
The cache file is only ever written to in the `write_file` function,
where it does so by writing to a temp file and performing an atomic
rename of that file. When writing, the target file is never locked.

The cache file is only ever read in the `get` function, and there is no
need for an exclusive lock in that situation.

There is therefore no need to obtain any lock, shared or exclusive, to
read the cache file. Doing so only affects performance of the file sytem
as file locks must be needlessly obtained and written to disk for a read
operation which does not benefit from them.
2022-09-15 10:14:51 +08:00
Jun Pataleta b16eb4c432 Merge branch 'MDL-75716_311' of https://github.com/stronk7/moodle into MOODLE_311_STABLE 2022-09-15 09:55:38 +08:00
Marina Glancy f533978709 MDL-71686 forms: allow arrays in dynamic forms args 2022-09-14 18:00:05 +02:00
Sara Arjona 53846820df Merge branch 'MDL-74010-311' of https://github.com/paulholden/moodle into MOODLE_311_STABLE 2022-09-14 11:41:53 +02:00
Eloy Lafuente (stronk7) 65c8839157 MDL-75716 phpunit: Move tests to use correct names and ns (take#5)
Applied the following changes to various testcase classes:

- Namespaced with component[\level2-API]
- Moved to level2-API subdirectory when required.
- Fixed incorrect use statements with leading backslash.
- Remove file phpdoc block
- Remove MOODLE_INTERNAL if not needed.
- Changed code to point to global scope when needed.
- Fix some relative paths and comments here and there.
- All them passing individually.
- Complete runs passing too.

Special mention to:

- In lib/tests/blocklib_test.php 2 helper classes have been
  moved to tests/fixtures, because they needed to be namespace-free.
2022-09-12 23:34:59 +02:00
Sara Arjona 0561f8c5b5 Merge branch 'MDL-75051_311' of https://github.com/mkassaei/moodle into MOODLE_311_STABLE 2022-09-12 12:30:38 +02:00
Mikhail Golenkov 8684cd6a76 MDL-66273 qtype_random: Fix question deletion during course restore 2022-09-12 16:43:37 +10:00
Andrew Nicols fa10357f57 MDL-75559 behat: Sort behat_hooks to top of context list 2022-09-12 12:33:40 +08:00
AMOS bot d463e0d8f6 Automatically generated installer lang files 2022-09-11 00:07:54 +00:00
Eloy Lafuente (stronk7) 54b614ca7e Moodle release 3.11.10 2022-09-10 12:16:05 +02:00
Mahmoud Kassaei 9f7d92de62 MDL-75051 Questions: Selecting idnumber in the question bank,
the copy/pasting, includes extraneous text in Chrome
2022-09-09 10:39:22 +01:00
Jun Pataleta 4125c3c470 weekly release 3.11.9+ 2022-09-09 08:36:51 +08:00
Jun Pataleta 258cdfaa6a Merge branch 'MDL-74866-311-behat' of https://github.com/HuongNV13/moodle into MOODLE_311_STABLE 2022-09-08 11:29:43 +08:00
Huong Nguyen 8c2792cb5d MDL-74866 core_calendar: Fix Behat failures 2022-09-08 09:49:40 +07:00
Michael Hawkins 25d4bc7ffc MDL-68066 output: Apply disable lambda rendering to Mustache renderer 2022-09-07 23:56:51 +08:00
Lars Bonczek d98b39a597 MDL-68066 output: Mustache - Add option to disable lambda rendering
This commit is based on an outstanding pull request to the Mustache repo
2022-09-07 23:56:51 +08:00
Paul Holden 191badf5ad MDL-72012 mod_h5pactivity: respect user access when getting report. 2022-09-07 22:10:56 +08:00
Jun Pataleta c4ba598a0b MDL-75283 core: Fetch proper column mapping for sort
Calling \core_user\fields::get_sql() incerements a static uniqueid
variable. This should be called only once and not make a separate call
for the sort mapping data as it doing so will result to an incorrect
table alias for the sort mapping data.
2022-09-07 17:16:03 +04:00
Sara Arjona f77ea5bffa Merge branch 'MDL-74866-311' of https://github.com/HuongNV13/moodle into MOODLE_311_STABLE 2022-09-07 13:10:24 +02:00
stevando 3d11b25cce MDL-75283 admin: Update admin user fetching to use sort helper 2022-09-07 13:18:43 +08:00
Jun Pataleta 8a55673463 Merge branch 'MDL-75553-311' of https://github.com/junpataleta/moodle into MOODLE_311_STABLE 2022-09-07 12:58:54 +08:00
Jun Pataleta 230f7a2d1b MDL-75553 mod_data: Fix wording of data fields in Behat tests 2022-09-07 12:55:50 +08:00
Huong Nguyen 87344d03e1 MDL-74866 bennu: Fix parameter parsing
Some parameter values are wrapped by DQUOTE character.
We need to go through and get the actual value inside the quoted string.
2022-09-07 11:16:01 +07:00
Dan Marsden e237e83dfb MDL-75668 backup: Save context mapping of duplicate blocks. 2022-09-07 12:40:47 +12:00
David Mudrák aa392ce73a MDL-75553 lang: Fix Behat regressions in scenario files 2022-09-06 21:49:32 +02:00
Paul Holden 6220f712ab MDL-75405 block_html: safer unserialize during old block conversion. 2022-09-06 17:54:17 +02:00
Jun Pataleta 714b88a1b8 Merge branch 'MDL-75231-311' of https://github.com/lameze/moodle into MOODLE_311_STABLE 2022-09-06 23:49:08 +08:00
Sara Arjona bbadf7a02c Merge branch 'MDL-75548_311' of https://github.com/timhunt/moodle into MOODLE_311_STABLE 2022-09-05 13:09:57 +02:00
Ilya Tregubov 57b97b29b7 Merge branch 'MDL-60666-311' of https://github.com/ilyatregubov/moodle into MOODLE_311_STABLE 2022-09-05 14:38:41 +04:00
Peter Sistrom 6fe4eb2a86 MDL-60666 auth_ldap: One transaction per user 2022-09-05 14:35:26 +04:00
Sara Arjona 8a0274423d Merge branch 'MDL-75550-311' of https://github.com/mickhawkins/moodle into MOODLE_311_STABLE 2022-09-05 08:57:37 +02:00
Jun Pataleta ddd80a5d2c Merge branch 'MDL-75641_311' of https://github.com/stronk7/moodle into MOODLE_311_STABLE 2022-09-05 14:37:09 +08:00
Helen Foster 50bf83fede MDL-75553 lang: Import fixed English strings (en_fix) 2022-09-04 21:07:38 +02:00
Eloy Lafuente (stronk7) cafbfc6076 MDL-75641 core_lang: Add string for new Europe/Kyiv timezone
With IANA TZDB (timezone database) release 2022b, Europe/Kiev
has been renamed to Europe/Kyiv. So we need to add this string
to our list to keep tests passing.

Note that the old Europe/Kiev continues working (is an alias) and,
also, there are places in core where we are using it. Just we cannot
remove/replace those uses in core until we ensure that everybody is
using PHP 8.0.23 (TZDB 2022b) or more recent versions. Hence,
not changing those uses now.
2022-09-04 10:11:20 +02:00
Ilya Tregubov 2b22716dc2 weekly release 3.11.9+ 2022-09-02 08:49:20 +04:00
Brendan Heywood 3498aeaf1e MDL-75614 dml: Fixed debugsqltrace with anon classes bug 2022-09-02 11:42:22 +10:00
Jun Pataleta c59d4f9612 Merge branch 'MDL-75111_311' of https://github.com/stronk7/moodle into MOODLE_311_STABLE 2022-08-31 23:04:15 +08:00
Jun Pataleta e3ce532831 Merge branch 'MDL-75019-311' of https://github.com/andelacruz/moodle into MOODLE_311_STABLE 2022-08-31 20:24:56 +08:00
Ilya Tregubov 87e0d39e19 Merge branch 'MDL-74861-311' of https://github.com/andelacruz/moodle into MOODLE_311_STABLE 2022-08-31 11:52:30 +04:00
Michael Hawkins 90aceb5e6c MDL-75550 lib: Update Mustache const to reflect correct version
Mustache version 2.14.1 is already included, but the VERSION const
incorrectly listed 2.14.0 in the tagged Mustache release. A later
upstream commit corrected this in the library, which this now matches.
2022-08-31 15:29:52 +08:00
Sara Arjona 7d1996fb3a Merge branch 'MDL-68717-311' of https://github.com/laurentdavid/moodle into MOODLE_311_STABLE 2022-08-30 16:05:11 +02:00
Víctor Déniz cb9583c21c Merge branch 'MDL-75360-311' of https://github.com/paulholden/moodle into MOODLE_311_STABLE 2022-08-30 11:43:33 +01:00
Jun Pataleta 633c6d7e80 MDL-70480 mod_assign: Apply proper upgrade savepoint version 2022-08-30 17:18:38 +08:00
Jun Pataleta 76ed3885a9 MDL-70480 mod_assign: Bump version.php properly 2022-08-30 17:04:17 +08:00
Víctor Déniz f4456f6afe Merge branch 'MDL-70480-311' of https://github.com/chanqihui/moodle into MOODLE_311_STABLE 2022-08-30 09:17:00 +01:00
Ilya Tregubov 21384101e1 Merge branch 'MDL-71662-311' of https://github.com/paulholden/moodle into MOODLE_311_STABLE 2022-08-30 08:00:37 +04:00
Eloy Lafuente (stronk7) 61cedbd56e MDL-75111 phpunit: Move tests to use correct names and ns (take#4)
Applied the following changes to various testcase classes:

- Namespaced with component[\level2-API]
- Moved to level2-API subdirectory when required.
- Fixed incorrect use statements with leading backslash.
- Remove file phpdoc block
- Remove MOODLE_INTERNAL if not needed.
- Changed code to point to global scope when needed.
- Fix some relative paths and comments here and there.
- All them passing individually.
- Complete runs passing too.

Special mention to:

- The following task tests have been moved within the level2 directory:
  - \core\adhoc_task_test => \core\task\adhoc_task_test
  - \core\scheduled_task_test => \core\task\scheduled_task_test
  - \core\calendar_cron_task_test => \core\task\calendar_cron_task_test
  - \core\h5p_get_content_types_task_test => \core\task\h5p_get_content_types_task_test
  - \core\task_database_logger_test => \core\task\database_logger_test
  - \core\task_logging_test => \core\task\logging_test

- The following event tests have been moved within level2 directory:
  - \core\event_context_locked_test => \core\event\context_locked_test
  - \core\event_deprecated_test => \core\event\deprecated_test
  - \core\event_grade_deleted_test => \core\event\grade_deleted_test
  - \core\event_profile_field_test => \core\event\profile_field_test
  - \core\event_unknown_logged_test => \core\event\unknown_logged_test
  - \core\event_user_graded_test => \core\event\user_graded_test
  - \core\event_user_password_updated_test => \core\event\user_password_updated_test

- The following output tests have been moved within level2 directory:
  - \core\mustache_template_finder_test => \core\output\mustache_template_finder_test
  - \core\mustache_template_source_loader_test => \core\output\mustache_template_source_loader_test
  - \core\output_mustache_helper_collection_test => \core\output\mustache_helper_collection_test

- The following tests have been moved to their correct tests directories:
  - lib/tests/time_splittings_test.php => analytics/tests/time_splittings_test.php

- All the classes and tests under lib/filebrowser and lib/filestorage
  belong to core, not to core_files. Some day we should move
  them to their correct subsystem.
- All the classes and tests under lib/grade belong to core, not
  to core_grades. Some day we should move them to their correct
  subsystem.
- The core_grades_external class and its \core\grades_external_test
  unit test should belong to the grades subsystem or, alternatively,
  to \core\external, they both should be moved together.
- The core_grading_external class and its \core\grading_external_test
  unit test should belong to the grading subsystem or, alternatively,
  to \core\external, they both should be moved together.
- The \core\message\message and \core\message\inbound (may be others)
  classes, and their associated tests should go to the core_message
  subsystem.
- The core_user class, and its associated tests should go to the
  core_user subsystem.
- The \core\update namespace is plain wrong (update is not valid API)
  and needs action 1) create it or 2) move elsewhere.
2022-08-26 16:34:28 +02:00
Shamim Rezaie 376e57d267 weekly release 3.11.9+ 2022-08-26 21:07:42 +10:00
Tim Hunt 9de11ea641 MDL-75548 misc: final Required parameter follows optional notices 2022-08-22 15:19:55 +01:00
Simey Lameze d793ac8e5e MDL-75231 files: make bucket calculations more precise
This commit changes changes the unit test calculations to
keep track of the time the bucket starts/finishes bursting
and use milliseconds instead of seconds to have a precise
time to sleep.
2022-08-22 14:11:39 +08:00
Sara Arjona 3828f4b484 Moodle release 3.11.9 2022-08-19 09:50:31 +02:00
Mikhail Golenkov e5e8bc4b22 MDL-75448 assignfeedback_editpdf: Fix conversion for rotated images 2022-08-19 15:35:34 +10:00
Mikhail Golenkov 911fafd9a9 MDL-75448 stored_file: Cover rotate_image() method with unit tests 2022-08-19 15:35:34 +10:00
Sara Arjona 4c5288b32c weekly release 3.11.8+ 2022-08-18 14:54:20 +02:00
Laurent David 284b201a28 MDL-75210 mod_quiz: fix sequential quiz access
* As a student I should only be able to access the next question or the current question
* The API should not show more than the current question
* Once the quiz is previewed we can see the question in any order (existing behaviour)
* Related to ticket MDL-71728

Co-authored-by: Rajneel Totaram <rjnlfj@yahoo.com>
Co-authored-by: Tim Hunt <t.j.hunt@open.ac.uk>
2022-08-18 08:08:25 +04:00
Andrew Nicols 31c078e183 Merge branch 'MDL-75029-311' of https://github.com/paulholden/moodle into MOODLE_311_STABLE 2022-08-18 11:19:17 +08:00
Shamim Rezaie 6b8961b7ae Merge branch 'MDL-75386-311' of https://github.com/andrewnicols/moodle into MOODLE_311_STABLE 2022-08-17 13:29:53 +10:00
Shamim Rezaie 7ef79076fe Merge branch 'MDL-73876-311' of https://github.com/ilyatregubov/moodle into MOODLE_311_STABLE 2022-08-17 02:32:46 +10:00
Sara Arjona 1bf4ac0c11 Merge branch 'MDL-72178-311' of https://github.com/NoelDeMartin/moodle into MOODLE_311_STABLE 2022-08-16 16:58:43 +02:00
Laurent David 739b551fa8 MDL-59458 mod_data: Fix sorting data query
* When activating sorting on a different field than the original field
the list of records is empty
2022-08-15 17:14:33 +02:00
Mark Johnson 2c4cc3caf6 MDL-75388 lib: Update mustache to 2.14.1
MDL-67114 and MDL-73586 local changes removed as they are now available
upstream.
2022-08-12 04:14:19 +02:00
Petr Skoda 3fd34dd999 MDL-75237 core: improve PARAM_SAFEPATH docs 2022-08-12 04:14:19 +02:00
Petr Skoda 4dcb3b244c MDL-75237 qformat_blackboard_six: sanitise blackboard import file paths 2022-08-12 04:14:19 +02:00
Petr Skoda 6272227934 MDL-75237 core: Revert MDL-72029
This reverts commit edc7eb06b7.
2022-08-12 04:14:19 +02:00
Petr Skoda 36e0a49c00 MDL-75237 qformat_blackboard_six: Revert MDL-72029
This reverts commit 46ee4f4062.
2022-08-12 04:14:19 +02:00
Paul Holden 1ee3d6323c MDL-75326 h5p: require sesskey to toggle library enabled state. 2022-08-12 04:14:19 +02:00
Shamim Rezaie 4ed613fbc2 weekly release 3.11.8+ 2022-08-12 11:52:57 +10:00
Noel De Martin 123fc91eea MDL-72178 feedback: Implement behat generators
Based on Andrew's WIP from https://github.com/andrewnicols/moodle/commit/b3d40cb20d1f0edf0bf21077c8f94bce5dec56db

Co-authored-by: Andrew Nicols <andrew@nicols.co.uk>
2022-08-11 10:54:40 +02:00
Jun Pataleta 83c9f41a47 Merge branch 'MDL-75375-311' of https://github.com/junpataleta/moodle into MOODLE_311_STABLE 2022-08-10 00:25:41 +08:00
Brendan Heywood 3bec78df9b MDL-75375 cache: Fix file store path cleaning 2022-08-09 23:54:02 +08:00
Jun Pataleta 6793732790 Merge branch 'MDL-74636_311' of https://github.com/timhunt/moodle into MOODLE_311_STABLE 2022-08-09 11:10:58 +08:00
Laurent David a9ce394b63 MDL-68717 core_calendar: Hide completed event
* "expectcompletionon" type of event should be hidden if the related
activity is completed
2022-08-08 07:18:26 +02:00
Angelia Dela Cruz a8c9e82653 MDL-74861 behat: H5P behat generators use UI
Replace steps that manually add H5Pactivity instances via the UI
and use Behat generators. This improves the speed of the Behat test
runs.

Co-authored-by: Simey Lameze <simey@moodle.com>
2022-08-08 12:18:28 +08:00
Jun Pataleta 9ceb538216 Merge branch 'MDL-74211-311' of https://github.com/lameze/moodle into MOODLE_311_STABLE 2022-08-08 11:15:03 +08:00
Paul Holden f8351de05e MDL-74010 core: check defined MDL_PERF* values in conditionals. 2022-08-05 11:03:09 +01:00
Ilya Tregubov 5073d3542b Merge branch 'MDL-74475-311' of https://github.com/aanabit/moodle into MOODLE_311_STABLE 2022-08-05 12:27:21 +04:00
Angelia Dela Cruz 34f352ded2 MDL-75019 behat: Folder behat generators use UI
Replace steps that manually add Folder instances via the UI and
use Behat generators. This improves the speed of the Behat test
runs.
2022-08-05 15:41:57 +08:00
Andrew Nicols 1125231af0 MDL-75386 theme: Include CSS from editor subplugins in editor style
Editor stylesheets are kept separately to standard plugin stylesheets so
that they can be provided to style individual iframes where loading the
standard Moodle stylesheets would be incorrect.

Unfortunately the editor stylesheet system does not consider that
subplugins may want to add small individual styling to the editor but
this is required in some situations.
2022-08-05 14:18:49 +08:00
Ilya Tregubov 8a147fee4b weekly release 3.11.8+ 2022-08-05 08:29:20 +04:00
Andrew Lyons 1d4a1bc258 MDL-73876 behat: Show exceptions stack trace 2022-08-04 16:51:37 +04:00
Paul Holden 4119bd99a9 MDL-75029 block_news_items: indicate posts made by deleted users. 2022-08-04 09:43:09 +01:00
Qihui Chan a287546036 MDL-70480 mod_assign: fix user and group submission and update database 2022-08-04 18:03:42 +10:00
Jun Pataleta 6102f8553a Merge branch 'MDL-74895-311' of https://github.com/paulholden/moodle into MOODLE_311_STABLE 2022-08-04 11:35:30 +08:00
Jun Pataleta 982dda9417 Merge branch 'MDL-69251-311' of https://github.com/snake/moodle into MOODLE_311_STABLE 2022-08-04 11:16:03 +08:00
Andrew Nicols e5744719c9 Merge branch 'MDL-56923-311' of https://github.com/rezaies/moodle into MOODLE_311_STABLE 2022-08-04 11:13:11 +08:00
Andrew Nicols 1b513e8c42 Merge branch 'MDL-74502-311' of https://github.com/marinaglancy/moodle into MOODLE_311_STABLE 2022-08-04 11:09:15 +08:00
Jake Dallimore 1aa9a5b11f Merge branch 'MDL-74766-311' of https://github.com/JBThong/moodle into MOODLE_311_STABLE 2022-08-04 11:03:28 +08:00
Andrew Nicols a313e53b54 Merge branch 'MDL-75080-311' of https://github.com/andelacruz/moodle into MOODLE_311_STABLE 2022-08-04 10:45:06 +08:00
Simey Lameze 983a79347b MDL-74211 behat: convert few more steps to use new data generators 2022-08-04 10:38:39 +08:00
Andrew Nicols f6a3cbe339 Merge branch 'MDL-74655-311' of https://github.com/NoelDeMartin/moodle into MOODLE_311_STABLE 2022-08-04 10:09:08 +08:00
Andrew Nicols cccef66f0c MDL-74492 editor_atto: Comment the regex change 2022-08-04 10:05:21 +08:00
Andrew Nicols ad58a4c3c3 Merge branch 'MDL-74492__MOODLE_311_STABLE' of https://github.com/PhilippImhof/moodle into MOODLE_311_STABLE 2022-08-04 10:05:17 +08:00
Paul Holden 2eb859a839 MDL-71662 mod_h5pactivity: add group filter to attempts report. 2022-08-03 15:30:36 +01:00
Jun Pataleta 3583300da5 Merge branch 'MDL-62959-311' of https://github.com/snake/moodle into MOODLE_311_STABLE 2022-08-03 16:50:35 +08:00
Noel De Martin 2d9ee56211 MDL-74655 competency: Implement behat generators 2022-08-03 10:49:14 +02:00
Amaia Anabitarte 5ba22c14a1 MDL-74475 core_badges: Behat test using new step 2022-08-03 10:29:39 +02:00
Amaia Anabitarte b3fab1d80e MDL-74475 behat: Option to jump to course edit page 2022-08-03 10:29:39 +02:00
Andrew Nicols d5cd3c95b0 Merge branch 'MDL-72430-311' of https://github.com/HuongNV13/moodle into MOODLE_311_STABLE 2022-08-03 12:50:03 +08:00
Paul Holden 0448a7b267 MDL-75360 user: relax initial parameter types of external method.
Defer cleaning of supplied text to inside the method, so we don't
throw confusing exceptions if a user enters "unsafe" characters in
the form input.
2022-08-02 21:04:40 +01:00
Jun Pataleta 7b841a0f39 Merge branch 'MDL-74947-311' of https://github.com/snake/moodle into MOODLE_311_STABLE 2022-08-02 09:59:19 +08:00
Tim Hunt 25519bc4d8 MDL-74636 behat: step to skip this scenario if a plugin isn't installed 2022-07-29 09:51:11 +01:00
Jun Pataleta 5f6923adf1 Merge branch 'MDL-75244-311' of https://github.com/andrewnicols/moodle into MOODLE_311_STABLE 2022-07-29 15:28:55 +08:00
Philipp Imhof a08fcb8d13 MDL-74492 editor_atto: <line> tags should not be confused with <li> tags 2022-07-29 08:36:38 +02:00
Simey Lameze 9fbbdc8a0a MDL-74211 behat: replace steps to use new categories page type 2022-07-29 13:07:55 +08:00
Simey Lameze 56781dec40 MDL-74211 behat: add course question categories page type 2022-07-29 13:07:55 +08:00
Simey Lameze 15b31bfb39 MDL-74211 quiz: make use of question data generators 2022-07-29 13:07:55 +08:00
Andrew Nicols fc65a2e4a2 Merge branch 'MDL-72349_M311_update_strip_double_headers_function' of https://github.com/christina-roperto/moodle into MOODLE_311_STABLE 2022-07-29 12:12:27 +08:00
Jun Pataleta 3436523f17 weekly release 3.11.8+ 2022-07-29 10:56:47 +08:00
Angelia Dela Cruz 8062e43941 MDL-75080 behat: Chat behat generators use UI
Replace steps that manually add Chat instances via the UI and use
Behat generators. This improves the speed of the Behat test runs.
2022-07-29 10:56:09 +08:00
Andrew Nicols a28e929a74 MDL-75244 form: Change checker should check existence of tinyMCE API
The window.tinyMCE.editors API was present in version 3 of TinyMCE, but
is not present in later versions. As a result, this check tries to loop
over a variable which does not exist and throws an error in the process.

We should check that window.tinyMCE *and* window.tinyMCE.editors both
exist before attempting to loop over them.
2022-07-28 16:09:21 +08:00
Simey Lameze 838f1bfa7b MDL-62959 calendar: add behat to test event type changing 2022-07-27 15:31:10 +08:00
Simey Lameze 88a18df37f MDL-62959 calendar: fix event data mapping for group id 2022-07-27 11:48:16 +08:00
Huong Nguyen cad3403e71 MDL-72430 Calendar: Fix admin cannot edit course event 2022-07-26 11:47:50 +07:00
Andrew Nicols 34b551b4e7 Merge branch 'MDL-73788-311' of https://github.com/andelacruz/moodle into MOODLE_311_STABLE 2022-07-26 11:38:44 +08:00
Jun Pataleta a62e36a9f6 Merge branch 'MDL-74057-311' of https://github.com/andelacruz/moodle into MOODLE_311_STABLE 2022-07-26 11:01:53 +08:00
Paul Holden 7dd9098338 MDL-74895 h5p: more resilient error handling during content fetching.
On new installs, the task for downloading new H5P content types would
throw exceptions and exit when encountering unexpected and/or missing
data.
2022-07-25 20:05:59 +01:00
Ilya Tregubov a69d81beaa Merge branch 'MDL-75083-MOODLE_311_STABLE' of https://github.com/rzhtwberlin/moodle into MOODLE_311_STABLE 2022-07-25 14:56:29 +04:00
Angelia Dela Cruz 4434756fd6 MDL-74057 behat: SCORM behat generators use UI
Replace steps that manually add SCORM instances via the UI and use
Behat generators. This improves the speed of Behat test runs.
2022-07-25 18:22:22 +08:00
Ilya Tregubov 08e64ba626 Merge branch 'MDL-74974__MOODLE_311_STABLE' of https://github.com/PhilippImhof/moodle into MOODLE_311_STABLE 2022-07-25 11:46:42 +04:00
Philipp Imhof caa944907a MDL-74974 quiz override mark: do not hide_all_feedback
(backport of MDL-74495)
2022-07-22 15:34:16 +02:00
Thong Bui 19815c2c2c MDL-74766 html_editor: Fix form is submitted as an empty string 2022-07-22 10:17:45 +07:00
Ilya Tregubov 8de4b14be7 weekly release 3.11.8+ 2022-07-21 21:29:58 +04:00
Ilya Tregubov 2016d64b83 NOBUG: Fixed SVG browser compatibility 2022-07-21 21:29:56 +04:00
Ilya Tregubov 3eedb8a9c9 Merge branch 'install_311_STABLE' of https://git.in.moodle.com/amosbot/moodle-install into MOODLE_311_STABLE 2022-07-21 21:29:56 +04:00
Jun Pataleta 7f8d209ba1 Merge branch 'MDL-75208_311' of https://github.com/stronk7/moodle into MOODLE_311_STABLE 2022-07-21 11:27:14 +08:00
Víctor Déniz 3f2ffcce08 Merge branch 'MDL-73332-311' of https://github.com/martygilbert/moodle into MOODLE_311_STABLE 2022-07-20 19:56:07 +01:00
Christina Thee Roperto 18f46b32a2 MDL-72349 filelib: update strip_double_headers function 2022-07-19 19:14:52 +10:00
Eloy Lafuente (stronk7) ffb762aae0 MDL-75208 oracle: Amend a couple of queries to make Oracle happy
The changes introduced here are completely safe, just we stop
binding SITEID and, instead, embed it in the SQL.

Why? Because Oracle 21 has started to return non-sense results
when SITEID is bound.

After lots of tests, attempts, debugging... we have been unable
to find any logic to the need of this change and also, have been
unable to reproduce the problem with a standalone script that
pretty much runs the same queries that the ones changed here.

I'm sure that there is something, somewhere, but have failed
to find it, grrr.

Please read MDL-75208 and linked issues to find more information
about this problem, that is one of the biggest mysteries I've
seen recently. Maybe at the end there is a tiny detail that
explains it all, but it's really well hidden.
2022-07-19 09:52:59 +02:00
Angelia Dela Cruz 9b6a36114c MDL-73788 behat: URL behat generators use UI
Replace steps that manually add URL instances via the UI and use
Behat generators. This improves the speed of Behat test runs.
2022-07-19 08:53:26 +08:00
Ilya Tregubov 8ef1574c47 Merge branch 'MDL-68843-311' of https://github.com/snake/moodle into MOODLE_311_STABLE 2022-07-18 14:16:37 +04:00
Jake Dallimore 09a93cb6eb MDL-68843 enrol_lti: auto disable orphaned enrolment instances
- pre_course_module_deletion hook to disable on mod delete
- upgrade step dealing with legacy orphaned records
2022-07-18 16:25:08 +08:00
Jake Dallimore b1fa2a9976 MDL-68843 enrol_lti: add deleted activity warning to published tools
Adds a warning to the 'name' column of the tables, letting teachers know
that the activity exposed by the method has been deleted and what their
options are.
2022-07-18 16:25:08 +08:00
AMOS bot 310da5eee7 Automatically generated installer lang files 2022-07-16 00:08:03 +00:00
Denis Brat f9e7aa5820 MDL-69251 enrol_lti: fix sync_members task inconsistent internal state 2022-07-15 12:21:09 +08:00
Marty 91c1bba220 MDL-73332 mustache: Fix shortentext helper
In the docs, it claims you can provide length to
the shortentext template helper as a context variable.
In reality, that is not the case.
2022-07-14 09:36:07 -04:00
Víctor Déniz 8984ffef4f weekly release 3.11.8+ 2022-07-14 12:06:12 +01:00
Víctor Déniz 419e169fa5 Merge branch 'install_311_STABLE' of https://git.in.moodle.com/amosbot/moodle-install into MOODLE_311_STABLE 2022-07-14 12:06:10 +01:00
Víctor Déniz 73003c7c96 Merge branch 'MDL-74681-written_time_in_query_end_311' of https://github.com/catalyst/moodle into MOODLE_311_STABLE 2022-07-12 11:54:39 +01:00
Srdjan 4619b5128d MDL-74681 lib/dml: moodle_read_slave_trait: written table timestamping
Moved written table timestamping from query_start() to query_end():
We are adjusting table last written times at the end of transaction.
That does not apply to immediate database writes that are not performed
within transaction. This change is to set last written time after the query
has finished for such writes, rather than before it started. That way
long write operations cannot spill over the latency parameter.
2022-07-12 14:39:04 +10:00
Jun Pataleta 9a5389830e Merge branch 'MDL-71747_311' of https://github.com/stronk7/moodle into MOODLE_311_STABLE 2022-07-12 10:50:51 +08:00
AMOS bot 44cd084562 Automatically generated installer lang files 2022-07-12 00:07:59 +00:00
Jun Pataleta ca6f1479ad Merge branch 'MDL-74282-311' of https://github.com/paulholden/moodle into MOODLE_311_STABLE 2022-07-11 20:35:40 +08:00
Jun Pataleta 2e592749aa Merge branch 'MDL-73215-undef-plagiarismlinks-311' of https://github.com/leonstr/moodle into MOODLE_311_STABLE 2022-07-11 17:01:50 +08:00
Jun Pataleta e261c7ed25 Merge branch 'MDL-74784-311' of https://github.com/sarjona/moodle into MOODLE_311_STABLE 2022-07-11 16:53:41 +08:00
Jake Dallimore 57c492a6a5 MDL-74947 mod_lti: remove text validation from password field
This is a password field so should not be cleaned.
2022-07-11 13:37:31 +08:00
Johannes Burk 442e1f33c9 MDL-75083 login: prevent double submission
Apply core_form/submit JavaScript code to prevent double submission of login form and guest login button.
Add ID to guest login button to make it addressable.
2022-07-08 16:28:13 +02:00
Paul Holden 9cde5a75bb MDL-74282 grade: omit outcomes report if outcomes aren't enabled. 2022-07-08 10:43:31 +01:00
Jake Dallimore b8fd606243 Moodle release 3.11.8 2022-07-08 11:28:39 +08:00
Eloy Lafuente (stronk7) 191351d2a3 MDL-71747 environment: Ensure that check_xmlrpc_usage is in >=39
This is a partial backport of MDL-73270 to ensure that the
check_xmlrpc_usage custom check is present in all the supported
branches and it's applied to all branches able to run php80:

- MOODLE_311_STABLE
- MOODLE_400_STABLE
- master (aka, 4.1 and up)

Note that the whole patch has not been backported, only the
environmental check (xml file and check implementation).
2022-07-07 23:44:57 +02:00
Eloy Lafuente (stronk7) fec4afdbd3 MDL-71747 environment: Apply agreed changes
- PHP 7.4 required.
- Moodle 3.9 required.
- MariaDB 10.4 required.
- PostgreSQL 12 required.
- Oracle 19c required.
2022-07-07 19:19:53 +02:00
Eloy Lafuente (stronk7) 02daea22d5 MDL-71747 environment: 4.1 base information
This is a direct copy of the 4.0 information, to
have the changes under control in the next commit.
2022-07-07 19:19:53 +02:00
Jun Pataleta 5cb257b4c3 weekly release 3.11.7+ 2022-07-07 21:33:10 +08:00
Jun Pataleta 64b6bca053 Merge branch 'install_311_STABLE' of https://git.in.moodle.com/amosbot/moodle-install into MOODLE_311_STABLE 2022-07-07 21:33:08 +08:00
Shamim Rezaie df61870abc MDL-56923 gradingform_guide: Fix icon positioning in RTL 2022-07-07 16:03:34 +10:00
Jake Dallimore d3d988fcc6 Merge branch 'MDL-69400-311' of https://github.com/abgreeve/moodle into MOODLE_311_STABLE 2022-07-07 11:49:05 +08:00
Jun Pataleta bf3f06bb82 Merge branch 'MDL-75116_311' of https://github.com/aolley/moodle into MOODLE_311_STABLE 2022-07-07 10:47:50 +08:00
Víctor Déniz fb714c7cf6 Merge branch 'MDL-74835-M311_update-nodejs-version-in-travis-integration-to-lts-gallium' of https://github.com/ziegenberg/moodle into MOODLE_311_STABLE 2022-07-06 12:16:56 +01:00
Jun Pataleta 4ce6dc7b4d Merge branch 'MDL-74741-311' of https://github.com/rezaies/moodle into MOODLE_311_STABLE 2022-07-06 16:45:52 +08:00
stevando cd6e0bf763 MDL-72171 tool_mobile: Ensure auto login URL is always local 2022-07-06 14:28:39 +08:00
Adrian Greeve 69ce532809 MDL-69400 mod_forum: Added calender event refreshing. 2022-07-06 12:42:47 +08:00
Mihail Geshoski 0f4e8413fc MDL-71921 scorm: Sanitize element names before outputting track details 2022-07-06 05:24:15 +02:00
Alex Morris 919f5bfb36 MDL-75044 assignfeedback_editpdf: Add SAFER option to GS command
Adds the SAFER option to the Ghostscript command to limit interaction
with IO and OS commands
2022-07-06 05:24:15 +02:00
Huong Nguyen 46ee4f4062 MDL-72029 Lesson: Prevent arbitrary file read when importing lesson questions in blackboard format 2022-07-06 05:24:15 +02:00
Huong Nguyen edc7eb06b7 MDL-72029 lib: Prevent path traversal for clean_param with PARAM_SAFEPATH 2022-07-06 05:24:15 +02:00
Laurent David 8af0c977d0 MDL-74473 core_analytics: Upgrade ML Backend to 2.6.6 2022-07-06 05:24:15 +02:00
Jake Dallimore f1c0f2849b MDL-72299 mod_lti: fix html escaping when reposting cross site posts 2022-07-06 05:24:15 +02:00
Andrew Nicols 00f0ebf5ea Merge branch 'MDL-73305_MOODLE_311_STABLE' of https://github.com/tasosb/moodle into MOODLE_311_STABLE 2022-07-06 11:16:28 +08:00
Andrew Nicols 8c87a29d2e Merge branch 'MDL-74408-311' of https://github.com/paulholden/moodle into MOODLE_311_STABLE 2022-07-06 11:03:12 +08:00
Andrew Nicols 26fe42c16e Merge branch 'MDL-74972-311' of https://github.com/marinaglancy/moodle into MOODLE_311_STABLE 2022-07-06 10:58:29 +08:00
Jun Pataleta d7f72ffdc8 Merge branch 'MDL-74813-311' of https://github.com/mihailges/moodle into MOODLE_311_STABLE 2022-07-06 10:53:53 +08:00
Mihail Geshoski 60d8572d4e MDL-74813 filepicker: Replace the dnd gif animation with a static icon 2022-07-06 10:24:44 +08:00
Jun Pataleta b7d79061f1 Merge branch 'MDL-74821-311' of https://github.com/junpataleta/moodle into MOODLE_311_STABLE 2022-07-05 22:13:27 +08:00
Laurent David cc7ccb6c42 MDL-74821 mod_feedback: Fix HTML validator error
* Remove align attribute on table elements
* Fix dangling tr/td on multichoice rated
* Remove colspan as it is not used
2022-07-05 21:41:12 +08:00
Jake Dallimore d16e3a8141 Merge branch 'MDL-74815-311' of https://github.com/junpataleta/moodle into MOODLE_311_STABLE 2022-07-05 14:53:18 +08:00
Jake Dallimore 05bc504e4e Merge branch '311_mdl-73498' of https://github.com/daniil-berg/moodle into MOODLE_311_STABLE 2022-07-05 12:01:20 +08:00
AMOS bot 7197b264b1 Automatically generated installer lang files 2022-07-05 00:08:20 +00:00
Adam Olley 83e6407074 MDL-75116 mod_feedback: Check array values exist before using them
Without this, the @list will emit a PHP warning under php8.0+ when the array
doesn't have a second element to assign.
2022-07-05 09:18:10 +09:30
Jun Pataleta 93e30fbe3c Merge branch 'MDL-74516_311' of https://github.com/stronk7/moodle into MOODLE_311_STABLE 2022-07-04 23:17:53 +08:00
Jun Pataleta 287d51323f Merge branch 'MDL-75008-311-enfix' of https://github.com/mudrd8mz/moodle into MOODLE_311_STABLE 2022-07-04 22:17:48 +08:00
Jun Pataleta 8acd5f7390 MDL-74815 pix: Convert PNG version of darkened SVG icons
* Conversion was done using rsvg-convert from librsvg
2022-07-04 14:00:55 +08:00
Jun Pataleta f7c7b7cb73 MDL-74815 pix: Darken colour of grey icons
* Change the fill colour of grey icons from #999 to #888.
2022-07-04 12:55:02 +08:00
sam marshall 2571dcf012 MDL-75108 block_html: Search tries to index directory entries
Search attach_files function should only attach indexable files,
not directory entries which are 0 bytes and cannot be indexed.
2022-07-01 14:08:51 +01:00
Eloy Lafuente (stronk7) 1271286cf5 MDL-74516 activities: Better handling of floats for gradepass fields
Note that in 311_STABLE the patch is different from the 400 and master
fixes. The API for grade_floatval() was only changed for 4.0 and up.

Hence, for this branch we are just:

- Changing the form definition to use proper "float" element (instead
  of text + raw.
- Backporting the behat tests to verify that everything continues
  working ok.

Also, in 311_STABLE, the workshop module did not have the grade
to pass completion condition, so we aren't modifying anything
in that activity for that branch.
2022-07-01 13:55:57 +02:00
Víctor Déniz fda6e143af weekly release 3.11.7+ 2022-07-01 11:28:48 +01:00
Marina Glancy cb42a0ad6a MDL-74502 behat: when setting a field value it may not be visible
for example in case of editor field, the textarea element is hidden by wysiwyg widget but we still need to be able to set it
2022-07-01 10:31:28 +02:00
David Mudrák 03c7f3dc87 MDL-75008 lang: Use the fixed strings in Behat scenario files 2022-06-30 22:10:57 +02:00
Helen Foster 985be80d1f MDL-75008 lang: Import fixed English strings (en_fix) 2022-06-30 22:06:42 +02:00
Jun Pataleta ef6bb4439d Merge branch 'MDL-74613-311' of https://github.com/NoelDeMartin/moodle into MOODLE_311_STABLE 2022-06-30 20:24:14 +08:00
Noel De Martin 787e36fea8 MDL-74613 grade: Fix undefined behat step 2022-06-30 11:26:27 +02:00
Shamim Rezaie 79af8fb2f5 Merge branch 'MDL-74812-311' of https://github.com/junpataleta/moodle into MOODLE_311_STABLE 2022-06-30 13:34:52 +10:00
Shamim Rezaie f247f5b048 Merge branch 'MDL-75055-311' of https://github.com/junpataleta/moodle into MOODLE_311_STABLE 2022-06-30 13:20:39 +10:00
Andrew Nicols 3176d756e0 Merge branch 'MDL-75084-311' of https://github.com/NoelDeMartin/moodle into MOODLE_311_STABLE 2022-06-30 11:13:53 +08:00
Andrew Nicols 5de3c84461 Merge branch 'MDL-74613-311' of https://github.com/NoelDeMartin/moodle into MOODLE_311_STABLE 2022-06-30 11:04:56 +08:00
Andrew Nicols b08a9e0b66 Merge branch 'MDL-74220-311' of https://github.com/NoelDeMartin/moodle into MOODLE_311_STABLE 2022-06-30 11:00:01 +08:00
Andrew Nicols ef6a03ea51 Merge branch 'MDL-74744-311' of https://github.com/andelacruz/moodle into MOODLE_311_STABLE 2022-06-30 10:55:54 +08:00
Andrew Nicols ce8237d5fd Merge branch 'MDL-74841-311' of https://github.com/andelacruz/moodle into MOODLE_311_STABLE 2022-06-30 10:44:47 +08:00
Andrew Nicols 8db9ab4908 Merge branch 'MDL-72292-311' of https://github.com/lameze/moodle into MOODLE_311_STABLE 2022-06-30 10:40:40 +08:00
Andrew Nicols eda6b9ba8f MDL-74379 core: Update date_format_string to use x-os functions 2022-06-30 10:36:14 +08:00
Andrew Nicols f85d5e9e5d Merge branch 'MDL-74379_311' of https://github.com/aya-saad1/moodle into MOODLE_311_STABLE 2022-06-30 10:36:10 +08:00
Andrew Nicols dd4702ee80 Merge branch 'MDL-74287-311' of https://github.com/paulholden/moodle into MOODLE_311_STABLE 2022-06-30 10:02:29 +08:00
Víctor Déniz ad5e6f00df Merge branch 'MDL-72885-311' of https://github.com/junpataleta/moodle into MOODLE_311_STABLE 2022-06-29 22:47:49 +01:00
Jun Pataleta a3af9f65bf Merge branch 'MDL74387_MOODLE_311_STABLE' of https://github.com/Amrita1991/moodle into MOODLE_311_STABLE 2022-06-29 23:21:05 +08:00
Jun Pataleta 3584a14e78 MDL-75055 templates: Apply .alert-dismissible class
- Apply the .alert-dismissible class for notification alerts with
close button to fix its positioning. As an added bonus, the
.alert-dismissible class also enlarges the clickable area of the
close button which is great for accessibility.
- Improve example context for the notification alerts templates.
2022-06-29 22:27:35 +08:00
Jun Pataleta 77abe66d2c MDL-75055 theme_boost: Darken close button colour in notification alerts
This is in order for the close button to have a good contrast against
the alert background and meet the minimum Level AA contrast ratio of 3:1
2022-06-29 22:27:35 +08:00
Ilya Tregubov ab22e012d8 Merge branch 'MDL-74548-311' of https://github.com/cameron1729/moodle into MOODLE_311_STABLE 2022-06-29 16:17:18 +04:00
Jun Pataleta 758281716e Merge branch 'MDL-74886-311' of https://github.com/lameze/moodle into MOODLE_311_STABLE 2022-06-29 17:47:12 +08:00
Anastasios Bithas 9b64f0afcd MDL-73305 mod_folder: Download Folder in a mlang formated folder 2022-06-29 12:42:50 +03:00
Jake Dallimore 9c611755d4 Merge branch 'MDL-74674-311' of https://github.com/alfonso-salces/moodle into MOODLE_311_STABLE 2022-06-29 16:45:02 +08:00
Alfonso Salces 96b7a7d066 MDL-74674 core: create notification generators 2022-06-29 10:30:55 +02:00
Noel De Martin cc68de58d1 MDL-75084 blog: Implement behat generators 2022-06-29 09:40:16 +02:00
Jake Dallimore 79c83bfcef Merge branch 'MDL-74864-311' of https://github.com/dpalou/moodle into MOODLE_311_STABLE 2022-06-29 13:41:15 +08:00
Cameron Ball 79e0d92848 MDL-74548 backup: Deprecate get/set copy from base controller 2022-06-29 09:39:51 +08:00
Cameron Ball f7189aea98 MDL-74548 backup: Deprecate core_backup\copy\copy 2022-06-29 09:39:49 +08:00
Cameron Ball 58fcbe9678 MDL-74548 backup: Unit tests for course copy refactor 2022-06-29 09:36:06 +08:00
Cameron Ball 4751e672e3 MDL-74548 backup: Refactor course copies
This patch modifies the way copy data is shared in order to mitigate potential race conditions
and ensure that the serialised controller stored in the DB is always in a valid state.

The restore controller is now considered the "source of truth" for all information about the
copy operation. Backup controllers can no longer contain information about course copies.

As copy creation is not atomic, it is still possible for copy controllers to become orphaned or
exist in an invalid state. To mitigate this the backup cleanup task has been modified to call
a new helper method copy_helper::cleanup_orphaned_copy_controllers.

Summary of changes in this patch:

    - Copy data must now be passed through the restore controller's constructor
    - base_controller::get_copy has been deprecated in favour of restore_controller::get_copy
    - base_controller::set_copy has been deprecated without replacement
    - core_backup\copy\copy has been deprecated, use copy_helper.class.php's copy_helper instead
    - backup_cleanup_task will now clean up orphaned controllers from copy operations that went awry

Thanks to Peter Burnett for assiting with testing this patch.
2022-06-29 09:36:06 +08:00
Jun Pataleta ba64cce68d Merge branch 'MDL-74701-311' of https://github.com/HuongNV13/moodle into MOODLE_311_STABLE 2022-06-28 23:53:10 +08:00
Jun Pataleta 0d20c1c2d6 Merge branch 'MDL-74906-311' of https://github.com/snake/moodle into MOODLE_311_STABLE 2022-06-28 23:33:29 +08:00
Shamim Rezaie 539d1b3c89 Merge branch 'MDL-73121-311' of https://github.com/paulholden/moodle into MOODLE_311_STABLE 2022-06-28 16:09:17 +10:00
Dani Palou 6d047756d2 MDL-74864 forum: Allow specifying group in discussions generator 2022-06-28 07:00:12 +02:00
Jun Pataleta 6ba7009a11 Merge branch 'MDL-68867-311' of https://github.com/lameze/moodle into MOODLE_311_STABLE 2022-06-28 11:23:51 +08:00
Jun Pataleta 56ab65f46a Merge branch 'MDL-74781_311' of https://github.com/aya-saad1/moodle into MOODLE_311_STABLE 2022-06-28 10:45:09 +08:00
Aya Saad ca13d3e05c MDL-74781 search: Fix heading repetition in global search page 2022-06-26 10:37:26 +02:00
Aya Saad df32c00ab5 MDL-74379 language: injecting am/pm in date string
patching the date_format_string() function in moodlelib to add am/pm for languages that don't suuport it.
2022-06-26 10:34:41 +02:00
Shamim Rezaie f375246427 MDL-74741 javascript: Set the role of d&d links to button 2022-06-24 14:27:40 +10:00
Shamim Rezaie 544947c9c7 MDL-74741 javascript: A11y fix for dialogues visible from beginning 2022-06-24 14:26:46 +10:00
Jun Pataleta 1f6ab2b676 weekly release 3.11.7+ 2022-06-24 11:59:10 +08:00
Jun Pataleta 5f098189dd Merge branch 'install_311_STABLE' of https://git.in.moodle.com/amosbot/moodle-install into MOODLE_311_STABLE 2022-06-24 11:59:09 +08:00
Jun Pataleta 9e530add9e Merge branch 'MDL-69939-311' of https://github.com/paulholden/moodle into MOODLE_311_STABLE 2022-06-23 09:53:27 +08:00
Jun Pataleta a349ae01e9 Merge branch 'MDL-74713-311' of https://github.com/paulholden/moodle into MOODLE_311_STABLE 2022-06-23 09:51:27 +08:00
Jun Pataleta 99b5fb3a3b Merge branch 'MDL-73156-M311' of https://github.com/michael-milette/moodle into MOODLE_311_STABLE 2022-06-23 09:50:21 +08:00
Simey Lameze a47525cbc9 MDL-68867 calendar: remove dependency on USER->groupmember hack 2022-06-22 07:57:28 +08:00
Jun Pataleta 762fb71a1f Merge branch 'MDL-73212_311' of https://github.com/stronk7/moodle into MOODLE_311_STABLE 2022-06-21 23:53:43 +08:00
Eloy Lafuente (stronk7) 146d84ebde MDL-73212 gha: Allow parameters to be passed via secret
We are disabling the -v (verbose) option, used by default. Still,
now we support a secret (that can be added to everyone's repository)
to accept any PHPUnit's command line options and run the tests with
them.

Some examples:

phpunit_options = -v (to keep the verbose option enabled)
phpunit_options = --testdox (to print information about every test...)

... (basically anything supported by the CLI)

Also, we are raising here the environment from Ubuntu 18.04 to 20.04

(self tested by GHA, heh)
2022-06-21 16:52:36 +02:00
Jun Pataleta c0b0f6f411 MDL-74812 gradingform_rubric: Add radiogroup role properly
Do not add the radiogroup role to the rubric criterion when the rubric
table is being displayed on edit or preview modes.
2022-06-21 12:33:05 +08:00
Jun Pataleta 6e6260f6d0 MDL-74812 gradingform_rubric: Fix text overlap in rubric levels 2022-06-21 12:33:05 +08:00
Jun Pataleta d0a2de670b MDL-74812 gradingform_rubric: Do not use deprecated width attribute
Use inline CSS style to define level width instead.
2022-06-21 12:33:05 +08:00
Jun Pataleta d82af28545 MDL-74812 gradingform_rubric: Fix contrast issues in rubric table
* Darken the score value using the green theme colour
* Use a light green theme colour for selection backgrounds
* Unify rubric styles related to background and text colour within the
  criteria.
2022-06-21 12:32:22 +08:00
Jun Pataleta ad408bbfdf Merge branch 'MDL-74630-311' of https://github.com/aanabit/moodle into MOODLE_311_STABLE 2022-06-21 10:12:00 +08:00
AMOS bot 0ff0d1d66a Automatically generated installer lang files 2022-06-21 00:09:39 +00:00
Daniil Fajnberg 0957e83d8d MDL-73498 mod_lti: iframe allowed domain fixed 2022-06-20 15:53:13 +02:00
Jun Pataleta 4dd37348b4 Merge branch 'MDL-74358_311' of https://github.com/stronk7/moodle into MOODLE_311_STABLE 2022-06-20 14:35:56 +08:00
Paul Holden c5c6758ed7 MDL-69939 webservice: correct AJAX bool value in services definition. 2022-06-17 11:03:32 +01:00
Eloy Lafuente (stronk7) 78cbd77c0d MDL-74358 availability: Avoid php8 problem with array_values(null) 2022-06-17 11:09:53 +02:00
Jun Pataleta 8303206ae0 weekly release 3.11.7+ 2022-06-17 15:30:35 +08:00
Eloy Lafuente (stronk7) d13ed5575c Merge branch 'MDL-72324-311-fix' of https://github.com/junpataleta/moodle into MOODLE_311_STABLE 2022-06-17 08:38:59 +02:00
Jun Pataleta 1d40ffaf55 MDL-72324 core: Add upgrade.txt note about $plugin->incompatible 2022-06-17 10:42:29 +08:00
Jun Pataleta 146048903b Merge branch 'MDL-74529-311' of https://github.com/paulholden/moodle into MOODLE_311_STABLE 2022-06-17 10:20:47 +08:00
Jun Pataleta 57d119a43f Merge branch 'MDL-72555-311' of https://github.com/laurentdavid/moodle into MOODLE_311_STABLE 2022-06-17 10:20:47 +08:00
Simey Lameze 3b18f7884f MDL-72292 core: add param type and polishing 2022-06-17 09:54:41 +08:00
Alexander Bias 3cc3d83b7e MDL-72292 core: Check if fulldir is set when loading renamed classes 2022-06-17 09:54:40 +08:00
Marina Glancy bd2cb3c4e8 MDL-74972 core_form: frozen autocomplete element does not display values 2022-06-16 10:24:56 +02:00
Paul Holden c8aa905ef0 MDL-74287 forms: request changesmade string as required.
Unconditionally requesting the string was triggering exceptions
during installation, before the required external functions had
been populated.
2022-06-16 08:07:44 +01:00
Paul Holden d1e8870fb5 MDL-74287 media_videojs: skip dynamic loader during install/upgrade. 2022-06-16 08:07:44 +01:00
Michael Milette e34b09be48 MDL-73156 user: Custom user profile field names now filtered. 2022-06-15 11:50:13 -04:00
Jun Pataleta 94d025a912 Merge branch 'MDL-72324-incompatible-check-311' of https://github.com/Peterburnett/moodle into MOODLE_311_STABLE 2022-06-15 23:03:38 +08:00
Jun Pataleta 1a87e306e9 Merge branch 'MDL-73966-311' of https://github.com/paulholden/moodle into MOODLE_311_STABLE 2022-06-15 18:06:04 +08:00
Paul Holden 9bbeeaa557 MDL-74713 admin: format custom profile fields in identify config. 2022-06-14 17:19:33 +01:00
Jun Pataleta 598845e3ff Merge branch 'MDL-74790-311' of https://github.com/paulholden/moodle into MOODLE_311_STABLE 2022-06-14 22:52:29 +08:00
Jun Pataleta 0c2cd0de2a Merge branch 'MDL-74573_311' of https://github.com/aya-saad1/moodle into MOODLE_311_STABLE 2022-06-14 22:35:25 +08:00
Jun Pataleta 170a12537b Merge branch 'MDL-74649-311' of https://github.com/paulholden/moodle into MOODLE_311_STABLE 2022-06-14 22:26:11 +08:00
Víctor Déniz 1662bae0ab Merge branch 'MDL-74449_311' of https://github.com/stronk7/moodle into MOODLE_311_STABLE 2022-06-14 10:02:10 +01:00
Laurent David a0727a15d5 MDL-72555 block_site_main_menu: Fix activity chooser issue
* When adding the block_site_main_menu on every page, the activity chooser generated
for this entire page is set with courseid = 1. So any activity is then added to the
home page instead of a course.
2022-06-14 10:03:42 +02:00
Jun Pataleta 834e634c9f Merge branch 'MDL-74816-311' of https://github.com/dpalou/moodle into MOODLE_311_STABLE 2022-06-14 13:58:47 +08:00
Amrita ac7eedb851 MDL-74387 url: exception for php to correct icon 2022-06-13 08:53:51 +02:00
Jake Dallimore 78a4febfb4 Merge branch 'MDL_74310_311' of https://github.com/cengage/moodle into MOODLE_311_STABLE 2022-06-13 11:46:24 +08:00
Jake Dallimore 99e43efb1e Merge branch 'MDL69756_MOODLE_311_STABLE' of https://github.com/Amrita1991/moodle into MOODLE_311_STABLE 2022-06-13 11:13:27 +08:00
Jake Dallimore 51c5405e6f Merge branch 'MDL-74718-311' of https://github.com/sharidas/moodle into MOODLE_311_STABLE 2022-06-13 10:53:45 +08:00
Huong Nguyen 01222cbb06 MDL-74701 core: Fix popover elements are focusable even when hidden 2022-06-13 09:45:37 +07:00
Eloy Lafuente (stronk7) df048de49d MDL-74449 gradebook: Protect flatten_dependencies_array() a little bit
It has been detected that the flatten_dependencies_array() was fragile
and leading to wrong results when some incorrect data was passed to it.

This includes:

- Missing elements.
- Null dependencies.
- Non array dependencies.

While the existing behaviour (testing-wise) has been preserved, now the
situations above are better controlled and the function ignores all
those incorrect cases that shouldn't happen ever.

That implies that a good number of notices/warnings/errors aren't
happening anymore. That was impacting both results (when the problems
were  only notices and warnings) and execution (when the problems
were errors).

Covered with tests.
2022-06-10 18:18:00 +02:00
Sara Arjona 22dffcd0c2 weekly release 3.11.7+ 2022-06-10 17:08:25 +02:00
Sara Arjona e5ec14cc01 Merge branch 'install_311_STABLE' of https://git.in.moodle.com/amosbot/moodle-install into MOODLE_311_STABLE 2022-06-10 17:08:22 +02:00
Amrita fa82e4aa00 MDL-69756 nextcloud: copy-overwrite handling 2022-06-10 16:30:52 +02:00
Jun Pataleta afa1b6f0ad MDL-74802 core: Remove tooltip on the notification close button
Reverting the addition of a Boostrap tooltip on the alert notification's
close button. It introduced a bug where the tooltip remains after
dismissing the notification alert. We can manually toggle the state of
the tooltip via JS, but I don't think it's worth the effort. The tooltip
is meant as an added bonus for sighted users to see what the close
button is about.
2022-06-10 13:17:01 +02:00
Jun Pataleta 4cb53f71b3 MDL-74802 core_user: Use button label to close notification alert
With the notification alert's close button now properly labelled, it is
better for Behat to interact on it using its label.
2022-06-10 13:17:01 +02:00
Andrew Nicols 7e180482ca MDL-73013 filelib: Fix code lint 2022-06-10 13:17:01 +02:00
Andrew Nicols a9af3c9cd4 MDL-73013 filelib: Address coding style violations 2022-06-10 13:17:01 +02:00
Andrew Nicols a37caf6126 Merge branch 'MDL-73013-311' of https://github.com/paulholden/moodle into MOODLE_311_STABLE 2022-06-10 13:17:00 +02:00
Jake Dallimore 8e0205ec56 Merge branch 'MDL-72377-311' of https://github.com/paulholden/moodle into MOODLE_311_STABLE 2022-06-10 13:17:00 +02:00
Andrew Nicols 3156398c54 Merge branch 'MDL-73466-311' of https://github.com/paulholden/moodle into MOODLE_311_STABLE 2022-06-10 13:17:00 +02:00
Andrew Nicols 21f43574fd Merge branch 'MDL-74764-311' of https://github.com/BruceGoodGuy/moodle into MOODLE_311_STABLE 2022-06-10 13:17:00 +02:00
Shamim Rezaie f83929ab57 Merge branch 'MDL-73702-fix_report_helper' of https://github.com/praxisdigital/moodle into MOODLE_311_STABLE 2022-06-10 13:17:00 +02:00
Víctor Déniz faa4d5ab56 Merge branch 'MDL-69970_311' of https://github.com/aya-saad1/moodle into MOODLE_311_STABLE 2022-06-10 13:17:00 +02:00
Sara Arjona d89301add2 Merge branch 'MDL-74802-311-2' of https://github.com/junpataleta/moodle into MOODLE_311_STABLE 2022-06-10 13:16:59 +02:00
Sara Arjona 15e127fe7e Merge branch 'MDL-74577-311' of https://github.com/sharidas/moodle into MOODLE_311_STABLE 2022-06-10 13:16:59 +02:00
Jun Pataleta 79b5632ce9 Merge branch 'mdl-69637_311' of https://github.com/james-cnz/moodle into MOODLE_311_STABLE 2022-06-10 13:16:59 +02:00
Angelia Dela Cruz 75715efdfa MDL-74841 behat: Label behat generators use UI
Replace steps that manually add Label instances via the UI and use
Behat generators. This improves the speed of Behat test runs.
2022-06-10 13:34:11 +08:00
Paul Holden d80a7c43dc MDL-74649 course: render scale information using page popup layout. 2022-06-09 12:18:55 +01:00
Jake Dallimore 439e4edc99 MDL-74906 mod_lti: fix form selector in multi-item content item post
Use #region-main-box and not .mform in the selector, otherwise it may
return the wrong mform, such as global search, if enabled. This is the
same way the form is selected in showMultipleSummaryAndHideForm().
2022-06-09 17:06:07 +08:00
Paul Holden a39feaefe7 MDL-74408 core: exclude empty patterns in divert email config. 2022-06-09 09:39:32 +01:00
Sujith Haridasan 8c8e5eba2c MDL-74718 webdav: correct the loop when reading chunks
Adjusted the condition while reading the streams
in chunks. Read till the end to make sure we have got all
the data. Else we might not get all the data to show
in file picker.
2022-06-09 12:03:11 +05:30
Paul Holden 16b9813aae MDL-73466 forumreport_summary: use formatted course module name. 2022-06-08 21:36:46 +01:00
Víctor Déniz 07a07679a1 Merge branch 'MDL-73774-311' of https://github.com/HuongNV13/moodle into MOODLE_311_STABLE 2022-06-08 10:16:01 +01:00
Sara Arjona 1207c31c78 Merge branch 'MDL-74182-311' of https://github.com/ericmerrill/moodle into MOODLE_311_STABLE 2022-06-08 10:41:56 +02:00
gthomas2 23f0472514 MDL-74922 javascript: storragewrapper validateCache fix 2022-06-08 09:33:46 +01:00
Adam Olley c8ade37695 MDL-74886 core_admin: Add unit test
Simple unit test to verify we don't get the TypeError anymore.
2022-06-08 10:08:21 +08:00
Simey Lameze 23bb2275d9 MDL-74886 core_admin: cast value and unit to integer 2022-06-08 10:08:20 +08:00
Peter Burnett 1f7a90fbe2 MDL-72324 upgrade: Fix incompatible check in upgrade to match docs 2022-06-08 10:52:54 +10:00
AMOS bot 82d55b7455 Automatically generated installer lang files 2022-06-08 00:08:14 +00:00
Sara Arjona 064c473a4e Merge branch 'MDL-74344-311' of https://github.com/paulholden/moodle into MOODLE_311_STABLE 2022-06-07 16:51:58 +02:00
Sara Arjona bf6e018f9d Merge branch 'MDL-72983-311' of https://github.com/paulholden/moodle into MOODLE_311_STABLE 2022-06-07 16:09:01 +02:00
Paul Holden 5c418c72f3 MDL-74529 theme_boost: accessible autolink styles from filters.
The `autolink` class is used by various filter types to create
hyperlinks within text. Extend existing `aalink` class so they
behave in the same way.
2022-06-07 10:57:49 +01:00
Huong Nguyen 47e66ef9d1 MDL-73774 timeline: Prevent ID duplication 2022-06-07 12:05:27 +07:00
Jun Pataleta 335b09205b Merge branch 'MDL-70223_311' of https://github.com/aya-saad1/moodle into MOODLE_311_STABLE 2022-06-07 10:29:38 +08:00
AMOS bot 9b779e3d53 Automatically generated installer lang files 2022-06-07 00:08:10 +00:00
Paul Holden e084b47f92 MDL-72983 tool_dataprivacy: respect capability to export own data. 2022-06-06 20:50:17 +01:00
Paul Holden 44b49b5651 MDL-72377 grade: fix category form hidden/until fields.
Ensure the saved values for the hidden and hidden until fields are
populated when editing a grade category. Fix behaviour on enabling
the hidden until field.

Re-enable tests commented out in eba1d32c.
2022-06-06 15:29:09 +01:00
Paul Holden 2742b32ed8 MDL-72377 grade: increase size of category hidden fields.
As well as storing 1/0 to indicate hidden state, they are also used
to store a timestamp indicating hidden until date. Increasing field
size allows these values to be stored without triggering exceptions.
2022-06-06 15:29:09 +01:00
Paul Holden df6d634d57 MDL-73121 atto_managefiles: match used files enclosed by quotes. 2022-06-06 15:17:26 +01:00
Ilya Tregubov b2b0d0795e Merge branch 'MDL-69951-remove_drop-font-tags-311' of https://github.com/leonstr/moodle into MOODLE_311_STABLE 2022-06-06 11:38:48 +06:00
aya.saad 39f39999be MDL-74573 mod_assign: convert view other attempt link to a button 2022-06-05 09:21:23 +02:00
aya.saad 088519178f MDL-70223 h5p: fix invalid id when adding h5p activity 2022-06-05 09:19:11 +02:00
aya.saad 7ee20257b0 MDL-69970 icons: flip help icon direction in RTL languages 2022-06-05 09:17:02 +02:00
Shamim Rezaie 4fc3052a73 Merge branch 'MDL-74250-311' of https://github.com/adpe/moodle into MOODLE_311_STABLE 2022-06-03 18:42:50 +10:00
Andrew Nicols fc056f1aa6 Merge branch 'MDL-73898-311' of https://github.com/paulholden/moodle into MOODLE_311_STABLE 2022-06-03 13:32:24 +08:00
Andrew Nicols 2fe2cd8eab weekly release 3.11.7+ 2022-06-03 11:04:08 +08:00
Andrew Nicols 4c0a1ffaab Merge branch 'install_311_STABLE' of https://git.in.moodle.com/amosbot/moodle-install into MOODLE_311_STABLE 2022-06-03 11:04:06 +08:00
AMOS bot c9d14b4ce8 Automatically generated installer lang files 2022-06-03 00:08:06 +00:00
Jun Pataleta 6368b3f055 Merge branch 'MDL-74631-invalid-tag-311' of https://github.com/leonstr/moodle into MOODLE_311_STABLE 2022-06-02 12:20:33 +08:00
Jun Pataleta 544d1ab453 Merge branch 'MDL-57065-311' of https://github.com/ferranrecio/moodle into MOODLE_311_STABLE 2022-06-02 12:03:27 +08:00
Jun Pataleta 4ba43b851d Merge branch 'MDL-71301-311' of https://github.com/junpataleta/moodle into MOODLE_311_STABLE 2022-06-02 11:22:49 +08:00
Issam Taboubi fbbb7da0f6 MDL-71301 qtype_gapselect: Make blank answer box labels more meaningful 2022-06-02 10:51:26 +08:00
Jun Pataleta e78978ec6b Merge branch 'MDL-67966-311' of https://github.com/junpataleta/moodle into MOODLE_311_STABLE 2022-06-02 10:30:09 +08:00
Joshua Ebarvia 394f65e91e MDL-67966 mod_workshop: Use condition to verify form is using editor
This adds a condition to check if Online text is used
for the submission. The functions file_postupdate_standard_editor
and file_postupdate_standard_filemanager needs the property
content_editor of the formdata.
2022-06-02 10:28:24 +08:00
Sara Arjona 2432ac2c08 Merge branch 'MDL-71276-311' of https://github.com/paulholden/moodle into MOODLE_311_STABLE 2022-06-01 18:38:00 +02:00
Noel De Martin 986cf06e55 MDL-74613 grade: Add missing generators 2022-05-31 18:13:48 +02:00
Amaia Anabitarte 3619147c76 MDL-74630 core_contenbank: Add contextid to URL parameters 2022-05-31 09:49:49 +02:00
AMOS bot de03dfa066 Automatically generated installer lang files 2022-05-31 00:08:08 +00:00
AMOS bot bd9c3fd5db Automatically generated installer lang files 2022-05-30 00:08:02 +00:00
AMOS bot e6b39085a8 Automatically generated installer lang files 2022-05-28 00:08:10 +00:00
Jun Pataleta 3c982ce134 MDL-72885 output: Add lang attribute for language custom menu items 2022-05-27 19:44:17 +08:00
Jun Pataleta eefd6bbf54 MDL-72885 output: Allow additional attributes for custom menu items
* Plus don't render the link title if it's the same as the link text.
2022-05-27 19:44:17 +08:00
Leon Stringer 9b3be75879 MDL-73215 assign: Undefined var: plagiarismlinks
Fix: $plagiarismlinks is concatenated in return but may not have been
initialised.
2022-05-27 08:53:57 +01:00
Adrian Perez b5157c8153 MDL-74250 core: Improve indicator that link opens in new window 2022-05-27 07:21:43 +02:00
Khoa Nguyen Dang 53cc3870e1 MDL-74764 core_course: Activity is not in alphabetical order. 2022-05-27 11:07:38 +07:00
Jake Dallimore 72b408772c weekly release 3.11.7+ 2022-05-27 10:02:13 +08:00
Noel De Martin b08d4ea2ed MDL-74220 data: Implement behat generators 2022-05-26 10:39:14 +02:00
Jake Dallimore 0ed76e9316 Merge branch 'MDL-73801-311' of https://github.com/paulholden/moodle into MOODLE_311_STABLE 2022-05-26 12:12:17 +08:00
Jake Dallimore 3cca8ba5d8 Merge branch 'MDL-73386-311' of https://github.com/junpataleta/moodle into MOODLE_311_STABLE 2022-05-26 11:47:48 +08:00
Dani Palou bfad8c4dd1 MDL-74816 mod_resource: Allow specify default file name in generator 2022-05-25 10:41:37 +02:00
Paul Holden da60508071 MDL-74790 mod_resource: better detection of empty module intro. 2022-05-24 21:21:40 +01:00
Angelia Dela Cruz ca14e2d950 MDL-74744 behat: Quiz behat generators use UI
Replace steps that manually add Quiz instances via the UI and use
Behat generators. This improves the speed of Behat test runs.
2022-05-24 10:52:04 +08:00
Jun Pataleta a7db400e61 MDL-74802 core: Improve the accessibility of alert notifications
* Make the ordering of the message and the close button logical on
  the DOM.
* Hide the times HTML entity
* Add sr-only label on the close button for non-sighted users
* Add tooltip on the close button sighted users
2022-05-23 13:01:32 +08:00
Daniel Ziegenberg 59d7b57a7a MDL-74835 ci: Update nodejs version in travis integration to lts/gallium
In MDL-73915 the nodejs version was switched to lts/gallium but the
travis integration was not updated.

Signed-off-by: Daniel Ziegenberg <daniel@ziegenberg.at>
2022-05-22 23:51:53 +02:00
Jun Pataleta 4bdedd7d56 MDL-73386 mod_quiz: Use plain text for quiz navigation fake block title
* No need to enclose the title of the quiz navigation fake block in
a span tag. The block title also gets appended to the skip link which
means that a block title with a span tag assigned with an identifier
can cause duplicate ID errors on the DOM.
2022-05-21 00:33:46 +08:00
Sujith Haridasan dbe2390e97 MDL-74577 core: Reset login_failed_count_since_success after login
When the user is logged in successfully then reset the value
of login_failed_count_since_success to zero, if the value of
login_failed_count_since_success is greater than zero.
2022-05-20 10:14:08 +05:30
james-cnz b24bef6b97 MDL-69637 course: Avoid unnecessary aria labels 2022-05-20 10:09:05 +12:00
Ilya Tregubov 2affa30359 weekly release 3.11.7+ 2022-05-19 19:24:34 +06:00
Ilya Tregubov 83ccb2913b Merge branch 'install_311_STABLE' of https://git.in.moodle.com/amosbot/moodle-install into MOODLE_311_STABLE 2022-05-19 19:24:32 +06:00
Paul Holden a2a37f3cb5 MDL-73801 backup: set predictably ordered backup next start time.
Prior to this change, the testcase would assert ordering based on
identical fields which could lead to random failures. Set distinct
next start time of course backup, and also remove random ordering
by sorting on defined course order (all other fields being equal).
2022-05-19 08:18:56 +01:00
Jun Pataleta b388341f47 Merge branch 'MDL-73163-311' of https://github.com/lameze/moodle into MOODLE_311_STABLE 2022-05-19 10:11:09 +08:00
Jun Pataleta 7261abf98d Merge branch 'MDL-74416-311' of https://github.com/lameze/moodle into MOODLE_311_STABLE 2022-05-19 09:53:49 +08:00
Sara Arjona 1b9df59e3c MDL-74784 core_badges: Fix exception with related badges
System badges with related badges were displaying an error before this patch,
because the is_guest($context) function expects a context_course.
2022-05-18 09:18:05 +02:00
Paul Holden 10de05f5d6 MDL-73966 grade: fetch required user name fields of unenrolled users. 2022-05-17 16:03:12 +01:00
AMOS bot 4091db771e Automatically generated installer lang files 2022-05-17 00:07:36 +00:00
Paul Holden 8978466354 MDL-71276 message_email: include alternate email in privacy export. 2022-05-16 09:41:39 +01:00
Paul Holden 590088f118 MDL-74344 comment: consistent capability check for accessing report.
Co-authored-by: David Wipperfurth <dwipperfurth@webcourseworks.com>
2022-05-13 10:31:24 +01:00
AMOS bot 796a14a5ce Automatically generated installer lang files 2022-05-13 00:07:35 +00:00
Paul Holden 9b302f133a MDL-73013 calendar: fix serving of files added to category events. 2022-05-12 16:12:23 +01:00
Jun Pataleta b8e9cb31e9 weekly release 3.11.7+ 2022-05-12 22:16:09 +08:00
Leon Stringer 972744ee12 MDL-69951 filter_tidy: Replace drop-font-tags
The option drop-font-tags was removed in HTML Tidy version 5.5.14.  It
had been deprecated since 5.1.25, the docs said "Use the clean option
instead" which is what this commit does (see
https://api.html-tidy.org/tidy/quickref_5.1.25.html#drop-font-tags).
2022-05-12 11:36:55 +01:00
Jun Pataleta 98104be4f4 Merge branch 'MDL-74413_311' of https://github.com/stronk7/moodle into MOODLE_311_STABLE 2022-05-12 12:08:48 +08:00
Jun Pataleta e7e690e3b8 Merge branch 'MDL-73971_311' of https://github.com/stronk7/moodle into MOODLE_311_STABLE 2022-05-12 11:54:30 +08:00
Kordan 6ded74cc2a MDL-73163 behat: Changed most to must 2022-05-12 10:11:46 +08:00
Petr Skoda 1099b3f022 MDL-74416 phpunit: fix generator counters reset 2022-05-12 10:10:21 +08:00
Paul Holden 93315ab389 MDL-73898 user: exclude guest user from participants table. 2022-05-10 17:21:10 +01:00
Eloy Lafuente (stronk7) 875591f589 MDL-74413 phpunit: Move more tests to use correct names and namespaces
Applied the following changes to various testcase classes:

- Namespaced with component[\level2-API]
- Moved to level2-API subdirectory when required.
- Fixed incorrect use statements with leading backslash.
- Remove file phpdoc block
- Remove MOODLE_INTERNAL if not needed.
- Changed code to point to global scope when needed.
- Fix some relative paths and comments here and there.
- All them passing individually.
- Complete runs passing too.

Special mention to:

- Moved to the level2 "privacy" namespace:
  - \mod_assign\privacy\feedback_legacy_polyfill_test
  - \mod_assign\privacy\submission_legacy_polyfill_test

- Moved to the level2 "task" namespace:
  - \core_message\task\migrate_message_data_test
  - \ltiservice_gradebookservices\task\cleanup_test
  - \message_email\task\send_email_test
  - \mod_lti\task\clean_access_tokens_test
  - \mod_workshop\task\cron_task_test

- Moved to the level2 "event" namespace:
  - \core_h5p\event\deleted_test
  - \core_h5p\event\viewed_test

- Renamed to a better name:
  - backup_forum_activity_task_test.php (missing "task")
2022-05-07 20:33:48 +02:00
Jun Pataleta 4d48741ed7 Moodle release 3.11.7 2022-05-07 19:34:59 +08:00
Eloy Lafuente (stronk7) 1c33085ede MDL-73971 phpunit: Move more tests to use correct names and namespaces
Applied the following changes to various testcase classes:

- Namespaced with component[\level2-API]
- Moved to level2-API subdirectory when required.
- Fixed incorrect use statements with leading backslash.
- Remove file phpdoc block
- Remove MOODLE_INTERNAL if not needed.
- Changed code to point to global scope when needed.
- Fix some relative paths and comments here and there.
- All them passing individually.
- Complete runs passing too.

Special mention to:

- Some fixtures, initially defined in the test files have been
  moved to new files in fixtures subdirectory, leaving the unit
  test files clearer:
  - moodle2_course_format_test.php
- Rename wrong named test:
  - baseoptiogroup_test = baseoptigroup_test
2022-05-06 18:29:24 +02:00
Eloy Lafuente (stronk7) 199974b45d weekly release 3.11.6+ 2022-05-06 15:58:35 +02:00
Ferran Recio 464a4cb4d5 MDL-57065 theme_boost: fix debug messages
The first debug message is covered by the top navbar header. This patch
will move the body's first debug message down below the navbar.
2022-05-06 12:27:21 +02:00
Jun Pataleta 637c6fbbca Merge branch 'MDL-74511-311' of https://github.com/andrewnicols/moodle into MOODLE_311_STABLE 2022-05-06 11:57:59 +08:00
Andrew Nicols e2d9a7fcee MDL-74511 core: Add phpcs default config 2022-05-06 11:39:20 +08:00
Víctor Déniz b115058dc5 Merge branch 'MDL-74612-311' of https://github.com/paulholden/moodle into MOODLE_311_STABLE 2022-05-05 13:25:53 +01:00
Víctor Déniz fd5832fde9 Merge branch 'MDL-74567-311' of https://github.com/paulholden/moodle into MOODLE_311_STABLE 2022-05-05 09:40:06 +01:00
Paul Holden 8f375b3923 MDL-74567 core: re-factor flickr libraries to use shared user-agent. 2022-05-05 09:21:28 +01:00
Jun Pataleta 2970dfb52d Merge branch 'MDL-73981-311' of https://github.com/ilyatregubov/moodle into MOODLE_311_STABLE 2022-05-05 09:49:14 +08:00
Ilya Tregubov a174a570a6 MDL-73981 tool_uploadcourse: Validate enrolment role from csv. 2022-05-05 07:40:49 +06:00
Jun Pataleta 917d7e1003 Merge branch 'MDL-74511-311' of https://github.com/andrewnicols/moodle into MOODLE_311_STABLE 2022-05-05 09:37:39 +08:00
Jake Dallimore 83a8cfb9e4 MDL-73736 core_auth: Fix concurrency issue in login_attempt_failed()
This patch wraps the login_failed_count logic in a resource lock and
forces a user preferences cache reload. Each thread must wait for the
lock and must fetch the current count before incrementing it. This
ensures that login_failed_count is correct across threads and that the
lockout threshold is correctly honoured.

Co-Authored-By: Sujith Haridasan <sujith@moodle.com>
2022-05-04 14:45:15 +06:00
Michael Hawkins 947b6f202c MDL-74333 badges: Check profile criteria valid when reviewing 2022-05-04 12:58:14 +08:00
Ferran Recio 5ab6d18354 MDL-71623 core_search: fix user document visibility 2022-05-04 04:04:14 +02:00
Amaia Anabitarte e36332c01a MDL-74318 core_user: Description field as hidden on profile 2022-05-04 04:04:14 +02:00
Paul Holden 5f399aa81a MDL-74204 mod_assign: escape identity fields in allocate marker form. 2022-05-04 04:04:14 +02:00
Jun Pataleta 5b02f3bcf7 Merge branch 'MDL-73878-311' of https://github.com/aanabit/moodle into MOODLE_311_STABLE 2022-05-04 09:44:38 +08:00
Leon Stringer 8a6e4904bf MDL-74631 mod_lti: Remove </img>
Remove illegal HTML tag.

Added example context to pass CI checks.
2022-05-03 17:30:36 +01:00
Amaia Anabitarte 692657ffc4 MDL-73878 core_user: Creating a new category for social fields 2022-05-03 17:48:05 +02:00
Amaia Anabitarte 753373d6e6 MDL-73878 core_user: Fixing social fields upgrading issue 2022-05-03 17:39:23 +02:00
Jun Pataleta 43e181f391 Merge branch 'MDL-74543_311' of https://github.com/timhunt/moodle into MOODLE_311_STABLE 2022-05-03 22:21:17 +08:00
Ilya Tregubov 0cdb291d9e Merge branch 'mdl65478-fix-311' of https://github.com/matthewhilton/moodle into MOODLE_311_STABLE 2022-05-03 15:44:05 +06:00
Jake Dallimore 031004097b Merge branch 'MDL-74441-311' of https://github.com/cameron1729/moodle into MOODLE_311_STABLE 2022-05-03 16:55:14 +08:00
Cameron Ball 869c717e72 MDL-74441 mod_forum: Fix overflow in unified grader 2022-05-03 15:52:39 +08:00
Jason den Dulk 0536942919 MDL-65478 backup, course format: Handle editor elements in course format
Modified course format options reading and writing to be able to handle Editor elements by enabling them to split array values into
multiple values before inserting into database, and combining multiple values into an array when reading from the database.
Modified backup and restore code to use backup_nested_elements, and to interact directly with the database.

Co-authored-by: Jason den Dulk <jasondendulk@catalyst-au.net>
Co-authored-by: Matthew Hilton <matthewhilton@catalyst-au.net>
2022-05-03 14:18:53 +10:00
Víctor Déniz 5e5b39ee2c Merge branch 'MDL-73951-311' of https://github.com/mickhawkins/moodle into MOODLE_311_STABLE 2022-05-02 11:13:19 +01:00
Jun Pataleta 055fff8005 Merge branch 'MDL-74436-311' of https://github.com/paulholden/moodle into MOODLE_311_STABLE 2022-05-02 16:30:19 +08:00
Paul Holden e7094cdb75 MDL-74612 cohort: use data generator for populating cohort members. 2022-04-29 16:23:38 +01:00
Michael Hawkins 3a5f610034 MDL-73951 core: Updated security.txt expiry date
Also updated expiry date format to meet latest standard.
2022-04-29 18:55:40 +08:00
Ilya Tregubov 44e3680153 weekly release 3.11.6+ 2022-04-29 07:55:36 +06:00
Ilya Tregubov 11db1b0193 Merge branch 'install_311_STABLE' of https://git.in.moodle.com/amosbot/moodle-install into MOODLE_311_STABLE 2022-04-29 07:55:33 +06:00
Paul Holden c4f95593a9 MDL-74567 repository_flickr: replace user-agent value for API calls.
Flickr doesn't like user agent that looks like a bot. Effectively the
same reasoning/fix as b8ee31a0.
2022-04-28 14:45:45 +01:00
Jun Pataleta 5957b238ef Merge branch 'MDL-74478-311' of https://github.com/mihailges/moodle into MOODLE_311_STABLE 2022-04-28 12:54:17 +08:00
Peter Dias 51a7a0aa3e MDL-74478 badges: Check completion_fail when awarding badge
Bring the award_criteria_activity checks in line with the observer checks
2022-04-28 12:25:54 +08:00
Ilya Tregubov 9bb6ed7c1c Merge branch 'MOODLE_311-MDL-74427-v4' of https://github.com/golenkovm/moodle into MOODLE_311_STABLE 2022-04-28 08:11:07 +06:00
Jun Pataleta 1a01e66976 Merge branch 'MDL-74537-311-enfix' of https://github.com/vmdef/moodle into MOODLE_311_STABLE 2022-04-27 15:49:00 +06:00
Jake Dallimore 899e7e2103 Merge branch 'MDL-73672-311-patch' of https://github.com/ilyatregubov/moodle into MOODLE_311_STABLE 2022-04-27 15:49:00 +06:00
Ilya Tregubov 92509cdeae Merge branch 'MDL-74481-311-LTI13-InstructorRole' of https://github.com/cengage/moodle into MOODLE_311_STABLE 2022-04-27 15:49:00 +06:00
Ilya Tregubov af84b0ea22 MDL-73672 reports: Fix Behat step for classic theme. 2022-04-27 15:49:00 +06:00
Mikhail Golenkov 10ad537723 MDL-74427 question: Implement get_real_question_ids_in_category() 2022-04-27 13:42:23 +10:00
Helen Foster a576209dd1 MDL-74537 lang: Import fixed English strings (en_fix) 2022-04-26 11:28:57 +01:00
Paul Holden 1a76f2752a MDL-74436 calendar: validate course/category field during import. 2022-04-25 18:01:23 +01:00
Ilya Tregubov 8e0da918ab Merge branch 'MDL-73672-311' of https://github.com/BruceGoodGuy/moodle into MOODLE_311_STABLE 2022-04-25 10:03:11 +06:00
AMOS bot ff3fd8a222 Automatically generated installer lang files 2022-04-23 00:07:34 +00:00
Eloy Lafuente (stronk7) 0127abe30e weekly release 3.11.6+ 2022-04-22 18:03:54 +02:00
Ilya Tregubov a0aaa3cacf Merge branch 'MDL-74394_311' of https://github.com/aolley/moodle into MOODLE_311_STABLE 2022-04-22 08:00:52 +06:00
Tim Hunt d02d01aa71 MDL-74543 quiz: correctly record time when overdue attempt submitted 2022-04-21 22:25:28 +01:00
Andrew Nicols b9e3bcb748 MDL-74511 core: Add phpcs config generator 2022-04-19 11:16:46 +08:00
Ilya Tregubov 447067d874 weekly release 3.11.6+ 2022-04-15 16:03:07 +06:00
Ilya Tregubov 282e60115d Merge branch 'install_311_STABLE' of https://git.in.moodle.com/amosbot/moodle-install into MOODLE_311_STABLE 2022-04-15 16:03:05 +06:00
Claude Vervoort d3f3da7277 MDL-74481 mod_lti: fix role lookup for LTI 1.3 2022-04-13 13:03:28 -04:00
Sara Arjona 7228428479 Merge branch 'MDL-74486-311' of https://github.com/HuongNV13/moodle into MOODLE_311_STABLE 2022-04-13 16:59:01 +02:00
Mihail Geshoski 53a493030c MDL-73672 reports: fix navigation when clicking on parent Reports link 2022-04-13 17:08:14 +07:00
Huong Nguyen 3fc5d0dec3 MDL-74486 tool_usertours: Prevent step to inherit theme background image 2022-04-13 09:49:42 +07:00
AMOS bot b6ccf35285 Automatically generated installer lang files 2022-04-12 00:07:35 +00:00
Ilya Tregubov 4af82f5154 weekly release 3.11.6+ 2022-04-08 16:39:53 +06:00
Ilya Tregubov 5855059608 Merge branch 'install_311_STABLE' of https://git.in.moodle.com/amosbot/moodle-install into MOODLE_311_STABLE 2022-04-08 16:39:51 +06:00
Ilya Tregubov 9a7bdedc5a Merge branch 'MDL-73555_311_toolbrickfieldsummaryprocessing' of https://github.com/brickfield/moodle into MOODLE_311_STABLE 2022-04-08 09:24:38 +06:00
Andrew Nicols b276bfce77 Merge branch 'MDL-74438-311' of https://github.com/cameron1729/moodle into MOODLE_311_STABLE 2022-04-08 11:04:02 +08:00
Shamim Rezaie 8d2f2e7d37 Merge branch 'MDL-73874-311' of https://github.com/BruceGoodGuy/moodle into MOODLE_311_STABLE 2022-04-08 12:39:13 +10:00
Cameron Ball 705e6c5614 MDL-74438 cache: Check if cached value is boolean false 2022-04-08 10:10:44 +08:00
Víctor Déniz 48f1e6165d Merge branch 'MDL-74419-311' of https://github.com/sarjona/moodle into MOODLE_311_STABLE 2022-04-07 20:25:13 +01:00
Eloy Lafuente (stronk7) 917369b8ef Merge branch 'MDL-74434-311' of https://github.com/mihailges/moodle into MOODLE_311_STABLE 2022-04-07 17:11:58 +02:00
Khoa Nguyen Dang 81e7828600 MDL-73874 Questions: Add new validation for Drag and drop into text 2022-04-07 17:21:36 +07:00
Andrew Nicols a5776a4bbe Merge branch 'MDL-74202-311' of https://github.com/paulholden/moodle into MOODLE_311_STABLE 2022-04-07 15:29:14 +08:00
Sara Arjona 7917f9a509 Merge branch 'MDL-58044_311' of https://github.com/Chocolate-lightning/moodle into MOODLE_311_STABLE 2022-04-07 09:16:13 +02:00
Mihail Geshoski c15ffa0e88 MDL-74434 block_tag_youtube: Update instances only if category is set
Modifies the existing upgrade step to only take into consideration
block instances that have a specific category set prior to determening
if a legacy category is being used and updating them. Instances that do
not have any category set should be ignored.
2022-04-07 13:26:08 +08:00
Nadav Kavalerchik 36c1a657b4 MDL-58044 report/progress: Fix table headers labels display in RTL mode. 2022-04-07 14:15:30 +12:00
AMOS bot 9fc20a6fef Automatically generated installer lang files 2022-04-07 00:07:31 +00:00
Víctor Déniz c07e077f04 Merge branch 'MDL-74189-311' of https://github.com/mihailges/moodle into MOODLE_311_STABLE 2022-04-06 22:56:23 +01:00
Jun Pataleta 0e9eddf51e Merge branch 'MDL-74332-311' of https://github.com/sharidas/moodle into MOODLE_311_STABLE 2022-04-07 00:35:13 +08:00
Mihail Geshoski c0462feec8 MDL-74189 tool_moodlenet: Add upgrade step to remove irrelevant data
Upgrade step to identify all existing cases where users have linked
their MoodleNet profile on the site and remove the related data from
the database. Due to some recent changes on the MoodleNet platform,
this data is now irrelevant and can no longer be used to authenticate
on the MoodleNet platform.
2022-04-06 23:33:37 +08:00
Mihail Geshoski 711e2b006f MDL-74189 tool_moodlenet: Update language strings
Updates the existing language strings in order to provide more accurate
instructions on how users can link existing their MoodleNet profile on
the site.
2022-04-06 23:31:53 +08:00
Sara Arjona 45e81f4818 Merge branch 'wip_MDL-59545_m311' of https://github.com/gjb2048/moodle into MOODLE_311_STABLE 2022-04-06 12:42:14 +02:00
Sara Arjona ac822d9655 MDL-74419 search_simpledb: Search with quotes not working on Oracle
Global search with quotes is not working on DB engines without
full-text search support (i.e. Oracle).
2022-04-06 11:50:54 +02:00
Jake Dallimore 0907ff86f8 Merge branch 'MDL-74371-311' of https://github.com/sharidas/moodle into MOODLE_311_STABLE 2022-04-06 12:26:25 +08:00
Jake Dallimore a52378726e Merge branch 'MDL-74424-311' of https://github.com/mihailges/moodle into MOODLE_311_STABLE 2022-04-06 12:15:45 +08:00
Sujith Haridasan a2dd8127f0 MDL-74371 mod_survey: Wordrap long questions in response reports
Word wrap long questions in Response reports so that the users dont
see broken questions in the questions page.
2022-04-06 09:38:16 +05:30
AMOS bot e9cf945617 Automatically generated installer lang files 2022-04-06 00:07:31 +00:00
Mihail Geshoski 64bc864e2e MDL-74424 repository_googledocs: Update phpunit tests 2022-04-06 01:43:35 +08:00
Mihail Geshoski e34a301fd0 MDL-74424 repository_googledocs: Respect default import formats
Makes sure that the correct file extension is attributed when importing
a file using the Google Drive repository based on the set configuration
values for the default import format settings.
2022-04-06 01:43:34 +08:00
Eloy Lafuente (stronk7) 339c473b9c Merge branch 'MDL-74330-311-enfix' of https://github.com/vmdef/moodle into MOODLE_311_STABLE 2022-04-05 18:39:43 +02:00
Sara Arjona 62dec781bb weekly release 3.11.6+ 2022-04-05 13:24:48 +02:00
Sara Arjona a76e8e9fbe Merge branch 'install_311_STABLE' of https://git.in.moodle.com/amosbot/moodle-install into MOODLE_311_STABLE 2022-04-05 13:24:46 +02:00
Víctor Déniz 1a9cb490ba Merge branch 'MDL-74113-311' of https://github.com/HuongNV13/moodle into MOODLE_311_STABLE 2022-04-04 20:06:25 +01:00
Sara Arjona ceef8c7e1b Merge branch 'MDL-74383-311' of https://github.com/mihailges/moodle into MOODLE_311_STABLE 2022-04-04 15:46:25 +02:00
Víctor Déniz f8a83d8a67 MDL-74330 lang: Replace modified strings in tests 2022-04-04 10:29:40 +01:00
Helen Foster a6773e6664 MDL-74330 lang: Import fixed English strings (en_fix) 2022-04-04 10:29:40 +01:00
Sujith Haridasan fb9fdc4754 MDL-74332 mod_survey: Indent the file properly
Correct the indentation of the file.
Replaced print_error with moodle_exception.
Updated the comments to start with capital and end with fullstop.
2022-04-04 11:45:40 +05:30
Jun Pataleta 4194bdf0fd Merge branch 'MDL-70014_311' of https://github.com/stronk7/moodle into MOODLE_311_STABLE 2022-04-04 13:56:23 +08:00
Jun Pataleta 710099242f Merge branch 'MDL-74096-311' of https://github.com/ilyatregubov/moodle into MOODLE_311_STABLE 2022-04-04 13:05:52 +08:00
Sujith Haridasan aee71c329d MDL-74332 mod_survey: Critical incidents dont require summary and scales
Do not show summary and scales for the survey with critical
incidents. So critical incidents survey would have questions
and participants only under response reports.
Also corrected the heading for the Questions page.
2022-04-04 09:59:03 +05:30
Mihail Geshoski b72e73d6de MDL-74383 assignfeedback_editpdf: Fix comment issues in the pdf editor 2022-04-04 10:56:32 +08:00
Mihail Geshoski 9a75af7805 MDL-74383 assignfeedback_editpdf: 'Annotated PDF' link style update 2022-04-04 10:56:31 +08:00
AMOS bot a0653230c5 Automatically generated installer lang files 2022-04-04 00:07:28 +00:00
Gareth Barnard 802f6b3fa1 MDL-59545 navigation: Missing editing icons on activity pages 2022-04-03 21:58:03 +01:00
Eloy Lafuente (stronk7) 55198f851c MDL-70014 tool_customlang: Workaround to make behat happier
This is a BEHAT_RUNNING only hack, so it doesn't affect normal
operations at all. What it achieves is to reduce the number of
strings loaded when customising a lang pack from current 31K ones
to the just needed ones for Behat testing purposes.

That way we avoid the random failures that are happening more and
more (while the "en" lang pack grows) and also save some precious
minutes in every behat run.

Also, unrelated, a couple of tiny changes:
- Modified constant (that was really outdated) to current number
  of lang strings (so the progress bar behaves better).
- Remove an elseif occurrence because it was hurting my eyes.
2022-04-01 23:57:09 +02:00
Sara Arjona a4c654d67c Merge branch 'MDL-74286-311' of https://github.com/ferranrecio/moodle into MOODLE_311_STABLE 2022-04-01 17:34:36 +02:00
Sara Arjona 6e7c7a7e2e weekly release 3.11.6+ 2022-04-01 16:40:47 +02:00
Sara Arjona eb3a220af8 Merge branch 'install_311_STABLE' of https://git.in.moodle.com/amosbot/moodle-install into MOODLE_311_STABLE 2022-04-01 16:40:45 +02:00
Ilya Tregubov d3b25ce4d9 MDL-74096 mlbackend_python: Update mlbackend version. 2022-04-01 16:30:15 +06:00
Adam Olley 7e29aee395 MDL-74394 mnet: Better check for openssl_get_publickey() failure
In PHP8, this func now returns an object of type OpenSSLAsymmetricKey, not a
resource.

Reference:
https://www.php.net/manual/en/function.openssl-pkey-get-public.php
2022-04-01 14:33:31 +10:30
Jun Pataleta 556236134a Merge branch 'MDL-74390_311' of https://github.com/timhunt/moodle into MOODLE_311_STABLE 2022-04-01 11:45:23 +08:00
Huong Nguyen b1bad66d46 MDL-74113 atto_media: Listen to play/pause events 2022-04-01 10:04:47 +07:00
Andrew Nicols 660b5b0045 Merge branch 'MDL-69552-311' of https://github.com/HuongNV13/moodle into MOODLE_311_STABLE 2022-04-01 10:57:46 +08:00
Andrew Nicols d28f836536 Merge branch 'MDL-70731-311' of https://github.com/junpataleta/moodle into MOODLE_311_STABLE 2022-04-01 10:26:47 +08:00
Tim Hunt 6b8ae1c193 MDL-74390 filter admin: log filter order changes in config_log 2022-03-31 16:50:19 +01:00
Jun Pataleta 2a606b6a10 MDL-70731 mod_forum: Fix moodle_exception error messages 2022-03-31 22:51:16 +08:00
Andrew Nicols 96cbdb8452 Merge branch 'MDL-72446_311' of https://github.com/stronk7/moodle into MOODLE_311_STABLE 2022-03-31 22:33:10 +08:00
Ilya Tregubov 1a9775cb82 Merge branch 'MOODLE_311_MDL-73948-v4' of https://github.com/golenkovm/moodle into MOODLE_311_STABLE 2022-03-31 15:41:02 +06:00
Eloy Lafuente (stronk7) 7806534af2 MDL-72446 behat: Ensure that the day reset happens on enabled element
Before this change we were setting the month day to 1 unconditionally
and that was working ok for enabled by default elements.

But in a number or cases we were doing that against disabled elements
so the day reset was not happening. Now we wait for the element to
be enabled and only then proceed with the day reset.

Backed with tests using disabled form elements, so we have now
both enabled and disabled fields covered.
2022-03-31 11:30:22 +02:00
Mikhail Golenkov f994a89ce5 MDL-73948 report_loglive: Fix missing records 2022-03-31 18:36:38 +11:00
Huong Nguyen ae1a4cf5a7 MDL-69552 Quiz: Fix tag filter does not work when adding random question 2022-03-31 11:59:04 +07:00
AMOS bot e1d2f92bda Automatically generated installer lang files 2022-03-31 00:07:32 +00:00
Víctor Déniz 0faeb73989 Merge branch 'MDL-74205-311' of https://github.com/ilyatregubov/moodle into MOODLE_311_STABLE 2022-03-30 09:52:17 +01:00
Jun Pataleta 54ca52c917 Merge branch 'MDL-71801-311' of https://github.com/snake/moodle into MOODLE_311_STABLE 2022-03-30 16:14:03 +08:00
Jun Pataleta f3ea59897e Merge branch 'MDL-74231_311' of https://github.com/stronk7/moodle into MOODLE_311_STABLE 2022-03-30 14:28:19 +08:00
Ilya Tregubov d9a3ef29ce MDL-74205 navigation: Don't show participants link to user if he has no permission. 2022-03-30 10:44:13 +06:00
Eloy Lafuente (stronk7) 224038fc65 MDL-74231 grader report: Fix case where old settings are empty / null
There is an edge case in the conversion from old collapse/expand
settings (stored as user preference) to the new ones that can lead
to notices / warnings / errors.

Before PHP 8, they weren't being detected, but now they are.

Basically, if some of the expected components of the preferences
are missing, then some array (array_diff(), array_intersect()..)
operations now are failing, because now those parameter functions
do require to be arrays (so empty strings or nulls aren't allowed).

Also, there were some cases where the old preference was not being
removed ever, so its removal has been moved to a common place at
the end of the function, where it's always evaluated in case
the preference still exists but is empty of contents.

I've tried to cover all the cases I've been able to imagine with
unit tests (empty information, some component not set, all components
not set...), have moved it to a new unit test because the one
already performing some tests with those old preferences was
already too long to add more cases.
2022-03-29 23:47:50 +02:00
Eloy Lafuente (stronk7) 3ab09c775d weekly release 3.11.6+ 2022-03-29 17:53:55 +02:00
Eloy Lafuente (stronk7) 065bcc9a3a Merge branch 'install_311_STABLE' of https://git.in.moodle.com/amosbot/moodle-install into MOODLE_311_STABLE 2022-03-29 17:53:51 +02:00
Jake Dallimore 962f75ec53 MDL-71801 mod_lti: set default keytype value when upgrading tool types
MDL-66920 added this field but didn't set defaults for upgrading tool
types. This patch fixes that for any 1.3 tools which don't yet have a
value for this field.
2022-03-29 14:10:23 +08:00
Andrew Nicols 982e4df1f1 Merge branch 'MDL-74117-311' of https://github.com/rezaies/moodle into MOODLE_311_STABLE 2022-03-29 11:25:06 +08:00
Jun Pataleta d1d96d4902 Merge branch 'MDL-74110-311' of https://github.com/paulholden/moodle into MOODLE_311_STABLE 2022-03-29 10:51:00 +08:00
Víctor Déniz 5c2be62c94 Merge branch 'MDL-74321-311' of https://github.com/junpataleta/moodle into MOODLE_311_STABLE 2022-03-28 22:48:59 +01:00
Jun Pataleta cc05ca22da Merge branch 'MDL-74279_311' of https://github.com/stronk7/moodle into MOODLE_311_STABLE 2022-03-28 23:29:05 +08:00
Andrew Nicols f5b9056370 Merge branch 'MDL-74299-311' of https://github.com/ericmerrill/moodle into MOODLE_311_STABLE 2022-03-28 15:52:34 +08:00
Shamim Rezaie 03a003289a MDL-74117 theme_boost: Only focus the trigger if nothing else is focused 2022-03-28 18:20:10 +11:00
Jun Pataleta a8011f89c8 MDL-74321 mod_forum: Add forum_check_throttling unit tests 2022-03-28 14:40:29 +08:00
Jun Pataleta 8a9fea33e2 MDL-74321 mod_forum: Forum_check_throttling improvements and fixes
* Fetch only the fields required by the function.
* Quick validation of the passed forum parameter. If the forum parameter
is an object, it should have the forum ID and the course ID.
* Default return when there's no need to show a warning yet.
2022-03-28 14:40:28 +08:00
Jun Pataleta 9d827a29a4 MDL-74321 mod_forum: Pass course module to forum_check_throttling() 2022-03-28 14:40:26 +08:00
Jun Pataleta 2c2686d66e MDL-74321 mod_forum: forum_check_throttling performance improvements
* Return early if the forum's blockafter or blockperiod attributes
are empty.
* If $cm is not passed in forum_check_throttling(), try to fetch it
using get_fast_modinfo() which avoids DB reads. Fetch it via
get_coursemodule_from_instance() as a last resort (though it's unlikely
to happen).
2022-03-28 14:40:25 +08:00
Ilya Tregubov 0d05e7696f Merge branch 'MDL-59681-recursive-file-311' of https://github.com/ilyatregubov/moodle into MOODLE_311_STABLE 2022-03-28 12:06:10 +06:00
Brendan Heywood 56846834e4 MDL-59681 file: Stop recursive file serving 2022-03-28 11:57:04 +06:00
Eloy Lafuente (stronk7) 5e1cee2bd4 Merge branch 'MDL-72634-311' of https://github.com/paulholden/moodle into MOODLE_311_STABLE 2022-03-27 16:50:46 +02:00
Eloy Lafuente (stronk7) e34536fc05 Merge branch 'MDL-74306-311' of https://github.com/paulholden/moodle into MOODLE_311_STABLE 2022-03-27 16:04:25 +02:00
Eloy Lafuente (stronk7) 54ecc0d0d7 MDL-74279 phpunit: Tests using sqlsrv AdoDB must reset settings
AdoDB SQL*Server drivers use to modify some error and
logging preferences. As far as the connection is shared
with the main one, that implies that those settings
remain for the whole remaining execution.

We don't want his in tests, because can affect to other
tests at distance.

We are fixing this here, only for tests, because it
doesn't affect normal requests and because, once we
remove AdoDB this won't be needed anymore.
2022-03-26 18:43:30 +01:00
AMOS bot 419f6d6d5c Automatically generated installer lang files 2022-03-26 00:07:28 +00:00
Víctor Déniz 49171c9f6e weekly release 3.11.6+ 2022-03-25 15:00:24 +00:00
Víctor Déniz 53a2efa29f Merge branch 'install_311_STABLE' of https://git.in.moodle.com/amosbot/moodle-install into MOODLE_311_STABLE 2022-03-25 15:00:19 +00:00
Paul Holden 8e19d73c2b MDL-74202 webservice: fix protocol type in exception message. 2022-03-25 09:53:15 +00:00
Jun Pataleta 432bd19d5a Merge branch 'MDL-74143_311' of https://github.com/stronk7/moodle into MOODLE_311_STABLE 2022-03-25 13:12:38 +08:00
Ferran Recio 7eee5bff29 MDL-74286 gradereport_grader: fix overlap scale selector 2022-03-24 15:50:58 +01:00
Víctor Déniz 60d07529d0 Merge branch 'MDL-74307-311' of https://github.com/sharidas/moodle into MOODLE_311_STABLE 2022-03-24 09:19:48 +00:00
Jun Pataleta 81d104300b Merge branch 'MDL-74274-311' of https://github.com/peterRd/moodle into MOODLE_311_STABLE 2022-03-24 16:33:26 +08:00
Eric Merrill 7fc6677853 MDL-74299 question: Don't use a strict comparison for DB objects 2022-03-23 19:20:37 -04:00
Eloy Lafuente (stronk7) f8037d326d MDL-74143 database: Make get_indexes() to return original column names
Sometimes, in order to provide a cross-db behaviour of unique indexes
mixing null and not null columns, we create, under the hood, some
function based indexes.

When that happens get_indexes() is returning the name of the
expression objects used to calculate that function index. But we need
the original column names to be able to compare indexes and get
column dependencies properly.

So, this patch just looks, when the index is unique and function based,
to the expressions (pretty standard CASE statements) and gets the
original column name from it.

Covered with tests.
2022-03-23 23:17:30 +01:00
Claude Vervoort 411416a37a MDL-74310 mod_lti: fix ltilinkid on lineitems import 2022-03-23 16:38:56 -04:00
Paul Holden baba2c573e MDL-74306 mod_assign: fix undefined property in override cache key. 2022-03-23 18:56:17 +00:00
Sara Arjona 08b121599e Merge branch 'MOODLE_311_MDL-48633' of https://github.com/golenkovm/moodle into MOODLE_311_STABLE 2022-03-23 15:14:32 +01:00
Sara Arjona 2532fc2a15 Merge branch 'MDL-74283-311' of https://github.com/paulholden/moodle into MOODLE_311_STABLE 2022-03-23 13:53:23 +01:00
Sara Arjona f31b3f4d55 Merge branch 'MDL-57383-311' of https://github.com/paulholden/moodle into MOODLE_311_STABLE 2022-03-23 13:51:16 +01:00
Ilya Tregubov b6327f4435 Merge branch 'MDL-74121-311' of https://github.com/sharidas/moodle into MOODLE_311_STABLE 2022-03-23 17:22:33 +06:00
Sujith Haridasan 7745c451fd MDL-74307 core_search: Use PARAM_ALPHANUMEXT for $areaid
Use PARAM_ALPHANUMEXT for $areaid as areaid can also be
say mod_h5pactivity. When PARAM_ALPHAEXT is used it would
become mod_hpactivity and would cause exception in code flow.
2022-03-23 14:53:16 +05:30
Sujith Haridasan 290ee98681 MDL-74121 mod_forum: Fix the posting threshold issue
When a student post exceeds the posting threshold
block then 'Add discussion topic' button should not be shown.
Also the student cannot reply to a topic if this is exceeded.
2022-03-23 14:23:13 +05:30
Peter Dias 12c5859ad2 MDL-74274 lesson: Set maxattempts reached when retries allowed 2022-03-23 10:36:38 +08:00
AMOS bot b364d2b8fe Automatically generated installer lang files 2022-03-23 00:07:26 +00:00
Paul Holden 3dd97076d9 MDL-74283 dml: replace hardcoded concat SQL with appropriate API. 2022-03-22 17:32:41 +00:00
Paul Holden 4a61fc1e76 MDL-72634 user: populate default city/country during user creation. 2022-03-22 17:28:01 +00:00
Sara Arjona ced37870e6 MDL-74184 behat: Unrelated, remove the @skip_interim tag
This commit is UNRELATED to the MDL-74184, but we need the
@skip_interim tag removed to a couple of scenarios that were
causing lots of noise and failures @ci infrastructure.
MDL-74265 was created to deal with this issue but these jobs
are now passing, and nothing has been changed...

So we are using MDL-74184 (this extra commit) to remove that
tag (sorry for the noise).
2022-03-22 17:23:38 +01:00
Sara Arjona 008443efdd Merge branch 'MDL-74184_311' of https://github.com/timhunt/moodle into MOODLE_311_STABLE 2022-03-22 16:42:08 +01:00
Mikhail Golenkov a01201ec4c MDL-48633 mod_lesson: Fix lesson grade handling when scales in use 2022-03-22 23:03:41 +11:00
Sara Arjona 25f22a3cb7 weekly release 3.11.6+ 2022-03-22 12:54:47 +01:00
Sara Arjona 7c585543e9 Merge branch 'install_311_STABLE' of https://git.in.moodle.com/amosbot/moodle-install into MOODLE_311_STABLE 2022-03-22 12:54:44 +01:00
Tim Hunt 039953f01a MDL-74184 quiz: prevent repagination of quizzes with attepts
There was a loophole to this rule on the settings form, which is now fixed.
2022-03-22 10:35:40 +00:00
Ilya Tregubov 66165e081d Merge branch 'MDL-74169-311' of https://github.com/FMCorz/moodle into MOODLE_311_STABLE 2022-03-22 08:48:12 +06:00
Jun Pataleta 5a8d478e3d Merge branch 'MDL-72698_311' of https://github.com/stronk7/moodle into MOODLE_311_STABLE 2022-03-22 10:19:26 +08:00
Eloy Lafuente (stronk7) 81da9e8ab2 MDL-72698 behat: fix problem with FF, not able to auto-scroll iframes
The "Save changes" button in the SCORM package falls out from the
viewport and that seems to be a problem for Firefox, not being able
to auto-scroll to it before clicking.

So we are just making the window 200 points taller and that
makes the button to be visible (within the viewport) and clickable.

Also, change the way we "wait" at the end of the scenario and,
instead of reloading, we re-visit one of the contents to allow
completion to be ready for final assertions.
2022-03-22 01:37:39 +01:00
AMOS bot 39d832251f Automatically generated installer lang files 2022-03-22 00:07:28 +00:00
Sara Arjona 6f5dd17b43 Merge branch 'MDL-74225-311' of https://github.com/paulholden/moodle into MOODLE_311_STABLE 2022-03-21 12:59:36 +01:00
Sara Arjona a15d2100b4 Merge branch 'MDL-74183-311' of https://github.com/ericmerrill/moodle into MOODLE_311_STABLE 2022-03-21 12:41:17 +01:00
Frédéric Massart 7eb557e695 MDL-74169 core_message: Hide preferences link when permissions lacking 2022-03-21 18:38:05 +08:00
Paul Holden 1e2c2c5a2a MDL-74110 forms: disable calendar link when date selector disabled. 2022-03-21 09:34:14 +00:00
Jun Pataleta 0b463d4203 Merge branch 'MDL-72698_311' of https://github.com/stronk7/moodle into MOODLE_311_STABLE 2022-03-21 17:13:50 +08:00
Eloy Lafuente (stronk7) c74979a798 MDL-72698 behat: Reduce random lesson behat failures on slow envs
In very slow environments viewing the lesson page for a student takes
more than 1 second and, because of this, the "Spend at least 1 sec"
completion condition is considered done.

So, in order to alleviate this problem, that leads to random failures
in CIs with slow databases, we have changed the condition to be 3
seconds instead.

That seems to do the work in super-slow environments, with 100
executions passing ok (when previously the scenario was failing 33%
of times).

The only cost is that now the behat run will be 2 seconds slower (there
is a wait changed from 2 to 4 seconds), but that's an acceptable
price to pay to get the scenarios consistent passing.

See the issue for more details.
2022-03-19 18:11:02 +01:00
Eloy Lafuente (stronk7) 7bd1ca51c9 MDL-72698 behat: Reduce random scorm behat failures on slow envs
This just applies two "tricks" to make the test to behave better:
- Ensuring that the "wait until the page is loaded" happens in the scorm frame.
- Ensuring that the last item in the package gets some extra time
  by reloading the page completely at the end.

With them, a testing environment with a 100% of failures has become 100%
passing (25 repetitions). That should be good enough to reduce the
impact of that failure everywhere.

See the issue for more details.
2022-03-19 18:10:54 +01:00
Andrew Nicols b463787e70 Merge branch 'MDL-74199-311' of https://github.com/aanabit/moodle into MOODLE_311_STABLE 2022-03-19 22:00:41 +08:00
Andrew Nicols dd1cd6cd8b Merge branch 'MDL-74258-311' of https://github.com/cescobedo/moodle into MOODLE_311_STABLE 2022-03-19 21:54:52 +08:00
Andrew Nicols cd112cf93f Merge branch 'MDL-74270_311' of https://github.com/timhunt/moodle into MOODLE_311_STABLE 2022-03-19 21:42:54 +08:00
Tim Hunt 5ab43fb1b3 MDL-74270 format_float: fix bug with $decimalpoints=0, $stripzeros=true 2022-03-18 22:23:31 +00:00
cescobedo 08e4bc556c MDL-74258 mod_h5pactivity: Add global search to h5pactivity 2022-03-18 17:10:42 +01:00
Sara Arjona 8a5bea2bc3 weekly release 3.11.6+ 2022-03-18 16:28:17 +01:00
Sara Arjona 263a17676b MDL-74116 behat: Unrelated, add the @skip_interim tag
This commit is UNRELATED to the MDL-74116, but we need the
@skip_interim tag added to a couple of scenarios that are
causing lots of noise and failures  @CI infrastructure.
MDL-74265 has been created to deal with this issue.

So we are using MDL-74116 (this extra commit) to add that tag
(sorry for the noise).
2022-03-18 13:46:10 +01:00
Eloy Lafuente (stronk7) 3f6999f42e Merge branch 'MDL-69078-M311_better-error-message-for-wrong-encoding' of https://github.com/ziegenberg/moodle into MOODLE_311_STABLE 2022-03-17 22:24:12 +01:00
Daniel Ziegenberg 8b7d96ca68 MDL-69078 questions: check for UTF-8 encoding of the import file
Signed-off-by: Daniel Ziegenberg <daniel@ziegenberg.at>
2022-03-17 21:36:27 +01:00
Eloy Lafuente (stronk7) 4f5bdfcc0c Merge branch 'MDL-74159-311' of https://github.com/sarjona/moodle into MOODLE_311_STABLE 2022-03-17 18:08:37 +01:00
Andrew Nicols 77655b1ba3 Merge branch 'MDL-72991-311-2' of https://github.com/HuongNV13/moodle into MOODLE_311_STABLE 2022-03-17 22:25:19 +08:00
Sara Arjona 2fae9b9849 Merge branch 'MDL-74214-311' of https://github.com/paulholden/moodle into MOODLE_311_STABLE 2022-03-17 13:11:54 +01:00
Jun Pataleta e9827edb0a Merge branch 'MDL-74112-311' of https://github.com/andrewnicols/moodle into MOODLE_311_STABLE 2022-03-17 17:08:55 +08:00
Sara Arjona bce68bd0c4 Merge branch 'MDL-74127-311' of https://github.com/peterRd/moodle into MOODLE_311_STABLE 2022-03-17 09:15:08 +01:00
Jun Pataleta 8c34c3ed08 Merge branch 'MDL-73597-311' of https://github.com/HuongNV13/moodle into MOODLE_311_STABLE 2022-03-17 15:50:30 +08:00
Andrew Nicols 7da1d94956 MDL-74112 course: Support multiple mforms in format chooser
The format chooser JS assumes that it is the only mform on the page. If
it is not, and another mform appears before it, then the jump will not
work.
2022-03-17 10:55:43 +08:00
Peter Dias 125b689a5c MDL-74127 lesson: Show remaining attempts on all types of jumps
- Show remaining attempts on all types of jumps
- Highlight the lesson tab when viewing the continue page.
2022-03-17 09:10:28 +08:00
Eloy Lafuente (stronk7) 8e2b50aec5 Merge branch 'MDL-74116-311' of https://github.com/andrewnicols/moodle into MOODLE_311_STABLE 2022-03-16 22:19:20 +01:00
Andrew Nicols 74f0fe1e77 MDL-74116 behat: Fix browser instantiation for Selenium 4 2022-03-16 22:29:10 +08:00
Sara Arjona 55e1312f88 Merge branch 'MDL-74073-311' of https://github.com/junpataleta/moodle into MOODLE_311_STABLE 2022-03-16 12:05:24 +01:00
Paul Holden 0c6b884060 MDL-74225 dataformat: load plugin settings into admin tree. 2022-03-16 09:43:01 +00:00
Huong Nguyen 7d764cde8b MDL-73597 Questions: Form checker integration for D&D question types 2022-03-16 16:29:19 +07:00
Jun Pataleta 576020ce6a MDL-74073 core_form: Set aria-expanded values for expand/collapse all 2022-03-16 14:00:28 +08:00
Ilya Tregubov 22fb553178 Merge branch 'MDL-74144-311' of https://github.com/paulholden/moodle into MOODLE_311_STABLE 2022-03-16 10:37:35 +06:00
Ilya Tregubov 820cac7677 Merge branch 'MDL-73344-311' of https://github.com/peterRd/moodle into MOODLE_311_STABLE 2022-03-16 10:05:20 +06:00
Eloy Lafuente (stronk7) 1dcfa8fffe Merge branch 'MDL-74141-311' of https://github.com/sarjona/moodle into MOODLE_311_STABLE 2022-03-15 23:38:26 +01:00
Paul Holden ba53bf48a7 MDL-57383 tool_uploaduser: don't overwrite auth during update.
If updating users during upload along with the option to fill in
missing fields from file content, then we should exclude the auth
column because it will always be present for a user.
2022-03-15 17:20:09 +00:00
Amaia Anabitarte 7b8c92106a MDL-74199 core_user: Remove breadcrumbs on private files 2022-03-15 18:10:35 +01:00
Eloy Lafuente (stronk7) b25dce473b Merge branch 'MDL-74131-311' of https://github.com/aanabit/moodle into MOODLE_311_STABLE 2022-03-15 16:54:47 +01:00
Eloy Lafuente (stronk7) 911441bf43 Merge branch 'MDL-74156-311' of https://github.com/junpataleta/moodle into MOODLE_311_STABLE 2022-03-15 15:38:15 +01:00
Paul Holden 8dc128313a MDL-74214 forms: re-calculate calendar panel zIndex each time.
The previous iteration only calculated it's zIndex value on
initial load. This meant that any nodes added subsequent to this
would not be taken into account (e.g. modal forms).
2022-03-15 13:57:29 +00:00
Sara Arjona e14a534ce1 Merge branch 'MDL-73979-311-2' of https://github.com/HuongNV13/moodle into MOODLE_311_STABLE 2022-03-15 12:29:03 +01:00
Sara Arjona 5aacd4ba77 Merge branch 'MDL-74130_311' of https://github.com/timhunt/moodle into MOODLE_311_STABLE 2022-03-15 12:19:17 +01:00
Sara Arjona ed0dacbb5d weekly release 3.11.6+ 2022-03-15 11:30:30 +01:00
Huong Nguyen 62a909f91a MDL-72991 Course: Improve coursemodinfo cache performance
- New course_modinfo::get_array_of_activities() function was created to reduce
   the unnecessary DB call
 - New course_modinfo::purge_course_cache function was created to purge the cache of a given course
2022-03-15 10:57:12 +07:00
Huong Nguyen 1f85802f86 MDL-72991 Course: Fix move_section_to is not updating correct section
When we change the position of two sections, we just need to update
the position of the affected sections, not all the sections in the course.
This will improve the performance since the system only executes the queries to affected sections.
Also, the system only clears the cache for affected sections, not all the sections in the course.
2022-03-15 10:37:55 +07:00
Eric Merrill 109bac00c8 MDL-74183 completion: Protect against index conflict in cron 2022-03-14 22:56:38 -04:00
Sara Arjona d789be92ae Merge branch 'MDL-74179-311' of https://github.com/cescobedo/moodle into MOODLE_311_STABLE 2022-03-14 18:48:49 +01:00
cescobedo ba26cf7c90 MDL-74179 mod_chat: Fix warnings header when accessing as a guest
Initialize  before showing the no guest message
when user is accesing as a guest.
2022-03-14 11:08:58 +01:00
Amaia Anabitarte f0170da7ec MDL-74131 tags: Fix flagged tags color contrast 2022-03-14 09:59:54 +01:00
Sara Arjona 2fe08752e6 Merge branch 'MDL-73629-311_color_errors' of https://github.com/brickfield/moodle into MOODLE_311_STABLE 2022-03-14 08:37:14 +01:00
Eric Merrill 313aedcf13 MDL-74182 core_task: Obey CFG debug settings 2022-03-13 23:57:27 -04:00
Jun Pataleta 6d7dbaa685 Moodle release 3.11.6 2022-03-12 12:39:27 +08:00
Jun Pataleta 05d7ba80e0 Merge branch 'install_311_STABLE' of https://git.in.moodle.com/amosbot/moodle-install into MOODLE_311_STABLE 2022-03-12 12:39:25 +08:00
AMOS bot cdd969bc64 Automatically generated installer lang files 2022-03-12 00:07:30 +00:00
Mike Churchward 42c4d51f7c MDL-73629 tool_brickfield: Ensuring colour check causes no errors. 2022-03-11 15:21:07 -05:00
Ilya Tregubov 4f5ad93e83 weekly release 3.11.5+ 2022-03-11 16:19:50 +06:00
Jun Pataleta c8f275ceb0 Merge branch 'MDL-71305-311' of git://github.com/rezaies/moodle into MOODLE_311_STABLE 2022-03-11 11:50:53 +08:00
Jun Pataleta 87bb565607 Merge branch 'MDL-73895-311' of https://github.com/paulholden/moodle into MOODLE_311_STABLE 2022-03-11 11:17:18 +08:00
Huong Nguyen b635c658c8 MDL-73979 timeline: Views should display consistent information
The course view is updated to display the events that match
the filter condition, no matter the course start date is in the future
or the course end date is in the past
2022-03-11 09:46:05 +07:00
Víctor Déniz 333811ca7b MDL-54724 qtype_multianswer: fix version.php 2022-03-10 23:54:07 +00:00
Víctor Déniz b052925815 Merge branch 'MDL-54724-311' of https://github.com/cameron1729/moodle into MOODLE_311_STABLE 2022-03-10 23:28:57 +00:00
Paul Holden f29ee3a772 MDL-67802 core: load only those properties defined within persistent.
This is a backport of the patch from MDL-71086.
2022-03-10 21:40:42 +01:00
Sara Arjona c604750339 MDL-74159 output: Add icon near docs link
An icon has been added near the 'Help and documentation' link in the
site footer When the site admin setting 'Open in new window' (doctonewwindow)
is enabled, for consistency with other similar links like 'Give feedback
about this software'.

Apart from that, now the link will be opened using the standard target
'_blank' instead of using the new window Javascript, to let users decide
whether the new page should be opened in a new tab or a new window.
2022-03-10 17:18:01 +01:00
Sara Arjona 87a6da0d59 MDL-74141 tool_task: Display error when Path to CLI not defined
When "Path to PHP CLI" is not defined, an exception with the message
in cannotfindthepathtothecli should be displayed, and the page should
be redirected to System paths settings page.

Apart from that, this patch also replaced core_task to tool_task,
because this message wasn't traslated properly.
2022-03-10 16:25:02 +01:00
Sara Arjona a059ee52a4 Merge branch 'MDL-73760_311' of https://github.com/mkassaei/moodle into MOODLE_311_STABLE 2022-03-10 13:17:31 +01:00
Tim Hunt 37b3397bea MDL-74130 question behat: Update tests to use the new navigation steps 2022-03-10 09:29:24 +00:00
Jun Pataleta f8ebec2da5 MDL-74156 block: Remove redundant configure block headings 2022-03-10 16:47:27 +08:00
Sara Arjona 1e8a05b13a Merge branch 'MDL-74123_h5p_duplicate_file_311' of https://github.com/davosmith/moodle into MOODLE_311_STABLE 2022-03-10 08:41:01 +01:00
Jake Dallimore 263e28634f Merge branch 'MDL-73899-311' of https://github.com/andrewnicols/moodle into MOODLE_311_STABLE 2022-03-10 15:34:45 +08:00
Jun Pataleta e40b7928c9 Merge branch 'MDL-73520-M311_replace-deprecated-php_errormsg-with-error_get_last' of https://github.com/ziegenberg/moodle into MOODLE_311_STABLE 2022-03-10 12:28:20 +08:00
Ilya Tregubov f783ae12d9 Merge branch 'MDL-67428-filter-context-311' of https://github.com/Peterburnett/moodle into MOODLE_311_STABLE 2022-03-10 09:14:18 +06:00
Shamim Rezaie 730e131ad5 Merge branch 'MOODLE_311_STABLE_MDL-67802_2' of https://github.com/mattporritt/moodle into MOODLE_311_STABLE 2022-03-10 08:57:34 +11:00
Sara Arjona 951465e810 Merge branch 'MDL-74104-311' of https://github.com/ferranrecio/moodle into MOODLE_311_STABLE 2022-03-09 18:23:19 +01:00
Eloy Lafuente (stronk7) fd9fbe61da Merge branch 'MDL-73737-311' of https://github.com/paulholden/moodle into MOODLE_311_STABLE 2022-03-09 16:54:22 +01:00
Sara Arjona ed07b798e9 Merge branch 'MDL-73586_311' of https://github.com/stronk7/moodle into MOODLE_311_STABLE 2022-03-09 16:26:20 +01:00
Sara Arjona d4308f1113 Merge branch 'MDL-71807_311' of https://github.com/stronk7/moodle into MOODLE_311_STABLE 2022-03-09 16:22:10 +01:00
Tim Hunt 8af6174946 MDL-74130 question behat: support I am on ... page or key qbank pages 2022-03-09 14:46:36 +00:00
Davo Smith a1fa5e7178 MDL-74123 h5p: delete any existing files when downloading new files 2022-03-09 13:36:07 +00:00
Ferran Recio a484fcb09d MDL-74104 mod_folder: fix recent activity with forcedownload links
The folder module has a setting to force the download links. However,
the recent activity block ignored this setting until now.
2022-03-09 14:06:35 +01:00
Sara Arjona a17a59c8fe Merge branch 'MDL-73923-M311_tool_task_cronrunning-has-very-tight-limits-on-checking-cron-interval-and-expected-frequency' of https://github.com/ziegenberg/moodle into MOODLE_311_STABLE 2022-03-09 13:52:58 +01:00
Sara Arjona cf7429e55e Merge branch 'MDL-73993-MOODLE_311' of https://github.com/golenkovm/moodle into MOODLE_311_STABLE 2022-03-09 13:24:37 +01:00
Sara Arjona 38a6eb9739 Merge branch 'MDL-73779_dynreg_sup_msgs_311' of https://github.com/cengage/moodle into MOODLE_311_STABLE 2022-03-09 13:11:17 +01:00
Paul Holden 767d46be4c MDL-74144 user: add cancel button to user private files form. 2022-03-09 11:43:43 +00:00
Amaia Anabitarte cdc78a16a5 MDL-74075 core_badges: Check accepted criterias 2022-03-09 12:31:33 +01:00
Matt Porritt 6a4801b152 MDL-67802 Authentication: Allow disabling email verification for OAuth
Allow email account verification to be disabled for any Oauth2 provider.
Also add clear indications to administrators of the danger of doing do,
this is done by an additional form checkbox.
This patch also reverts MDL-66598
2022-03-09 01:16:16 +00:00
Sara Arjona 4c00836de9 Merge branch 'MDL-73846-MOODLE_311' of https://github.com/golenkovm/moodle into MOODLE_311_STABLE 2022-03-08 16:34:46 +01:00
Eloy Lafuente (stronk7) e66a822d8a MDL-73586 phpunit: Simply, remove the setting
It's not available since PHP 7.0, so no use at all.
2022-03-08 14:56:05 +01:00
Eloy Lafuente (stronk7) 9f905c73fd MDL-73586 mod_wiki: Removed php init param for php80 and up
For PHP 8 and up, the 'mbstring.func_overload' doesn't exist
anymore, so skip any check/condition based on it.

The patch has been done that way, so it's easier to remove
the whole block of code once PHP 8.0 becomes our min supported
PHP version.

The change is self-coveres (changes the external and its own tests).
2022-03-08 14:55:58 +01:00
Eloy Lafuente (stronk7) 8a6a7d7e36 MDL-73586 mustache.php: Removed php init param for php80 and up
The 'mbstring.func_overload' php init setting was removed for
php80 (it was deprecated since php72). So it won't evaluate to
true ever, so the whole block can be put under php version condition.

Note that this is already fixed upsteam, for commit:
https://github.com/bobthecow/mustache.php/commit/e7165a33b282ab4d20b3863825caadb46313d62b

And it has been released with version 2.14.1 of the library, so, once
we upgrade to it, the fix will be incorporated.
2022-03-08 14:13:37 +01:00
Michael Hawkins a2d230777f MDL-74074 badges: Ensure profile criteria exists before completion check 2022-03-08 12:04:53 +00:00
Daniel Ziegenberg 3fe211d602 MDL-73520 adodb: Remove usage of $php_errormsg from DB2 driver
This applies #791 from upstream libraries: https://github.com/ADOdb/ADOdb/issues/791

Signed-off-by: Daniel Ziegenberg <daniel@ziegenberg.at>
2022-03-08 11:21:25 +01:00
Daniel Ziegenberg 865cd7235e MDL-73520 general: replace deprecated php_errormsg with error_get_last()
For a better PHP8 compatibility this commit replaces the deprecated $php_errormsg
with error_get_last().

The PHP 8.0 migration guide (https://www.php.net/manual/de/migration80.incompatible.php) says:
    The track_errors ini directive has been removed.
    This means that php_errormsg is no longer available.
    The error_get_last() function may be used instead.
Also the documentation on $php_errormsg (https://www.php.net/manual/en/reserved.variables.phperrormsg.php) says:
    This feature has been DEPRECATED as of PHP 7.2.0.
    Relying on this feature is highly discouraged.
    Use error_get_last() instead.

Signed-off-by: Daniel Ziegenberg <daniel@ziegenberg.at>
2022-03-08 11:18:21 +01:00
Eloy Lafuente (stronk7) 2b61c1b77c MDL-71807 cleanup: Replace deprecated codingStandardsIgnore annotations
The PHP_CodeSniffer @codingStandardsIgnore annotations are deprecated
and, since version 3.x, the new // phpcs:ignore comments should be used
instead.

This commits just reviews all the uses in core, replacing them for
the better new candidate, or removing when no longer needed.
2022-03-08 10:49:01 +01:00
Paul Holden c653a49fe3 MDL-72972 tool_uploaduser: observe capability to delete users. 2022-03-08 10:04:21 +01:00
cescobedo 15c282d1e5 MDL-71722 h5plib_v124: Add required changes after lib upgrade 2022-03-08 10:04:21 +01:00
cescobedo d8ce474882 MDL-71722 h5plib_v124: Upgrade ckeditor to 4.17.1 2022-03-08 10:04:21 +01:00
Ilya Tregubov 9fc9168f1c MDL-71703 lib: update phpmailer to 6.5.3 2022-03-08 10:04:21 +01:00
Eloy Lafuente (stronk7) bb864ee2e1 weekly release 3.11.5+ 2022-03-08 10:01:56 +01:00
Peter Dias c64dc2e545 MDL-73344 reports: Include the user/report node based on context
Properly indicate the report node based on context.
2022-03-08 14:02:22 +08:00
Jun Pataleta d96a108ea0 Merge branch 'MDL-72646-font-mimetype-311' of https://github.com/doctorlard/moodle into MOODLE_311_STABLE 2022-03-08 12:18:00 +08:00
Ilya Tregubov 9c6d7dbf7b Merge branch 'MDL-66940-311' of https://github.com/sarjona/moodle into MOODLE_311_STABLE 2022-03-08 05:01:56 +02:00
Shamim Rezaie 8c1587e612 MDL-71305 core_question: Use toggle button for flag question element 2022-03-08 13:44:01 +11:00
Mikhail Golenkov 3679e8d579 MDL-73846 assignfeedback_editpdf: Add limit for convert_submissions task 2022-03-08 12:38:35 +11:00
Shamim Rezaie e0dcb76a41 MDL-71305 core_question: Remove duplicate strings 2022-03-07 11:38:17 +11:00
Sara Arjona 90290e5957 MDL-66940 badges: Create page to display badges info
The OBv2.0 specification includes a field "Criteria" for
BadgeClass. Until now, this field was filled using the
URL of the badge assertion, but that is causing some issues
in Badgr because it linked to the badge assertion of the
first user sending this badge to the Badgr backpack (so then,
the following users linked to the first user assertion page
too).

This patch adds a new page, badgeclass.php which will be
used from now to display any badge information which is
not related to any assertion (like happens with the criteria
in BadgeClass).
2022-03-04 17:16:21 +01:00
Sara Arjona 64b9992366 MDL-66940 badges: simplify external badges page
This is a backport from MDL-72141.

Apart from reorganising the information displayed in the external badges
page, this information has been moved to reuse the template created in
MDL-71937, to make it easier to modify and maintain.
2022-03-04 17:16:21 +01:00
Sara Arjona 3c18fd4e3d MDL-66940 badges: simplify badges page
This is a backport of MDL-71937.

Apart from reorganising the information displayed in the badges page,
this information has been moved to a template in order to make it
easier to modify and maintain.
2022-03-04 17:16:21 +01:00
Shamim Rezaie 523ee08608 Merge branch 'MDL-73824_311' of https://github.com/stronk7/moodle into MOODLE_311_STABLE 2022-03-05 00:40:40 +11:00
Eloy Lafuente (stronk7) e650d04b34 Merge branch 'MDL-73954_311' of https://github.com/timhunt/moodle into MOODLE_311_STABLE 2022-03-04 14:20:52 +01:00
Tim Hunt bb228c82c1 MDL-73954 quiz: fix decimal places for the percentage on review page 2022-03-04 11:54:42 +00:00
Eloy Lafuente (stronk7) cdfae47f94 Merge branch 'MDL-74042-311' of https://github.com/jleyva/moodle into MOODLE_311_STABLE 2022-03-04 12:20:08 +01:00
Mahmoud Kassaei 93052dde8d MDL-73760 Quiz: Manual grading report does not handle separate groups
when the user is not in any group
2022-03-04 11:05:55 +00:00
Eloy Lafuente (stronk7) c2e5f45769 MDL-73824 test: Cover all the changed code with special decsep tests
Various tests have been added to cover the points fixed in the previous
commit, using a localised decimal separator (#). Using the same
numbering, here there are the details:

A. grade/report/singleview/tests/behat/singleview.feature
   grade/tests/behat/grade_category_validation.feature

B. grade/tests/behat/grade_override_letter.feature

C. (done within various scenarios)

D. grade/report/singleview/tests/behat/singleview.feature

E. admin/tool/behat/tests/behat_form_text_test.php

F. grade/tests/behat/grade_to_pass.feature
   mod/lesson/tests/behat/lesson_informations_at_end.feature

G. quiz/tests/behat/preview.feature

H. mod/quiz/tests/behat/info_page.feature

I. question/type/ddimageortext/tests/behat/edit.feature
2022-03-04 10:23:35 +01:00
Eloy Lafuente (stronk7) c6691f7ef7 MDL-73824 gradebook: Add support for localised floats where missing
It has been detected, thanks to php80 specially, that there are
various places in core where support for localised floats is
missing. Before php80, some locale-dependent conversions were
performed by PHP, allowing things to work. But with php80 all
those comparisons are now locale-independent. See:

https://wiki.php.net/rfc/locale_independent_float_to_string

That implies that we now need to, always, unformat floats to
be internally the correct (decimal point as separator) in
order to compare it.

While this was visited in the php80 epic (MDL-70745), nothing
was found, all automated tests were passing ok. Problem is that
we run behat tests with en-AU laguage that has the decimal point
separator.

So, in this issue we are fixing all the problems detected by
running those Behat tests using localised (comma) decimal
separator.

Note that there may be other places still causing problems, but
it's really hard to find them programmatically, so we'll have to
wait for real use reports / issues and go fixing them while they
happen.

Back to this commit, this is the list of changes performed (note that
in the next commit, we'll be adding scenarios explicitly using
a localised decimal separator to ensure that they work ok).

A. Changes to various grade forms to ensure that, on their validation
  floats are unformatted properly. Also, changed the corresponding
  form element from current text/PARAM_RAW to proper float ones that
  take care of the conversion in a number of places (but when disabled,
  that's the reason we still have to unformat in validation.
  This includes the following forms:
    - edit_category_form
    - edit_item_form
  (this is the original problem reported that cause all the research
  to be performed against full behat runs)

B. Changes to edit_letter_form, so it uses a proper PARAM_LOCALISEDFLOAT
  (note this is the type of change that surely should be used for all
  the rest of /grade/edit/tree form, including those in the previous
  point).

C. Changes to the grade_item behat generator, so it's able to work with
  localised floats, un-formatting them when needed.
  At lib/behat/classes/behat_core_generator.php

D. Fix problem passing localised floats to scales, not displaying
  properly. At grade/report/singleview/classes/local/ui/finalgrade.php

E. Change the behat text matcher in order to allow comparison of
  localised floats when they are the current ones. Before this change
  the matches was using soft/lazy comparison, so '50' and '50.0000'
  match. Now, when the comma (for example) is used (and only then),
  '50' and '50,000' will also match. This comparison is in use in a
  bunch of tests and makes sense to make it localisation-aware.
  At grade/report/singleview/classes/local/ui/finalgrade.php

F. Fix a couple of number_format() uses in lesson, because they are
  not localised-aware. Switched to format_float(). At mod/lesson/locallib.php

G. Change the quiz_contains_the_following_questions() step to accept
  localised maxmark expectations. At mod/quiz/tests/behat/behat_mod_quiz.php

H. Change the quiz generator so it accepts localised gradepass.
  At mod/quiz/tests/generator/lib.php

I. Change the edit question form to show proper localised penalties,
  previously it was always showing point-decimal ones. Of course,
  leaving the values of the select element unmodified (internal floats).
  Related, also change a couple of tests to, instead of try to match the
  value (always internal floats), match the description (now localised),
  so we can test them with different separators. At:
    - question/type/ddimageortext/tests/behat/backup_and_restore.feature
    - question/type/ddmarker/tests/behat/backup_and_restore.feature
    - question/type/edit_question_form.php
2022-03-04 10:23:35 +01:00
Jun Pataleta 7139d3404f Merge branch 'MDL-73799_311' of https://github.com/stronk7/moodle into MOODLE_311_STABLE 2022-03-04 14:47:33 +08:00
Jun Pataleta 0cdd0b34f6 Merge branch 'MDL-73785_311' of https://github.com/stronk7/moodle into MOODLE_311_STABLE 2022-03-04 14:36:41 +08:00
Peter Spicer 1c3084df01 MDL-67428 navigation: Apply navigation text filters at system context
On some larger sites, processing the navigation with format_string will
habitually load all the contexts for navigation which can take 400+ DB
queries. Explicitly tying all those format_string calls to the system
context reduces this overhead to a single DB query that probably has
already been run on the page previously.

Co-authored-by: Peter Burnett <peterburnett@catalyst-au.net>
2022-03-04 14:38:39 +10:00
Eloy Lafuente (stronk7) 95430c15f9 Merge branch 'MDL-64770-311' of https://github.com/paulholden/moodle into MOODLE_311_STABLE 2022-03-03 23:20:45 +01:00
Sara Arjona 5d9b0a171b Merge branch 'MDL-72915-311' of https://github.com/HuongNV13/moodle into MOODLE_311_STABLE 2022-03-03 17:31:17 +01:00
Paul Holden 14403a8cb8 MDL-73737 report_loglive: ensure action link popups work post-AJAX. 2022-03-03 14:02:35 +00:00
Daniel Ziegenberg 5971de4590 MDL-73923 tool_task: make a more relaxed check on cron run interval
Prior to this change, the tool_task_cronrunning check had very tight
limits for checking the last cron interval and comparing it to the
expected frequency. When a cron job should take 1:00 min and the last
run was 1:02 min it complained that there was 1:02 between the last two
runs of the cron maintenance script and it should run every 1:00.

This change makes the check a bit more relaxed and adds an additional
minute on top of the expectedfrequency to give the cron job some time.

Signed-off-by: Daniel Ziegenberg <daniel@ziegenberg.at>
2022-03-03 14:28:03 +01:00
Eloy Lafuente (stronk7) 950c3a59cc MDL-73799 phpunit: Move some test names, as agreed in the issue
- behaviourtype_test => behaviour_type_test (10)
- questiontype_test => question_type_test (16)
- upgradelibnewqe_test => upgrade_old_attempt_data_test (13)
2022-03-03 12:22:42 +01:00
Eloy Lafuente (stronk7) 960cfda886 MDL-73799 phpunit: various question & quiz testcase names
To all the walkthrough, questiontype, question, upgradelibnewqe,
behaviourtype_test and edit_form testcase classes::

- Namespaced with component[\level2-API]
- Moved to level2-API subdirectory when required.
- Fixed incorrect use statements with leading backslash.
- Remove file phpdoc block
- Remove MOODLE_INTERNAL if not needed.
- Changed code to point to global scope when needed.
- Fix some relative paths and comments here and there.
- All them passing individually.
- Complete runs passing too.

Special mention to:
- When belonging to other component and being valid api:
  - form related tests have been moved to tests/form subdir.
2022-03-03 12:22:42 +01:00
Eloy Lafuente (stronk7) eb0c520ad6 MDL-73785 phpunit: Move more tests to use correct names and namespaces
Applied the following changes to various testcase classes:

- Namespaced with component[\level2-API]
- Moved to level2-API subdirectory when required.
- Fixed incorrect use statements with leading backslash.
- Remove file phpdoc block
- Remove MOODLE_INTERNAL if not needed.
- Changed code to point to global scope when needed.
- Fix some relative paths and comments here and there.
- All them passing individually.
- Complete runs passing too.

Special mention to:

- When belonging to other components and being valid api:
  - analytics related tests have been moved to tests/analytics subdir.
  - backup & restore related tests have been moved to tests/backup subdir.
  - events related tests have been moved to tests/event subdir.
  - privacy related tests have been moved to tests/privacy.
  - task related tests have been moved to tests/task subdir.
- Some simple renames, not including the component part anymore (not
  needed now that they are namespaced):
  - some xxxlib_test.php have been renamed lib_test.php
    (when they where testing the corresponding lib.php).
  - cache stores tests have been all renamed store_test, originally
    each one had its own name (file_test, apcu_test, redis_test...)
  - assign feedback tests have been all renamed feedback_test, originally
    each one had its own name (file_test, editpdf_test...)
2022-03-03 12:19:38 +01:00
Jun Pataleta 646c691107 weekly release 3.11.5+ 2022-03-03 17:51:32 +08:00
Jun Pataleta 23fb69bbe3 Merge branch 'install_311_STABLE' of https://git.in.moodle.com/amosbot/moodle-install into MOODLE_311_STABLE 2022-03-03 17:51:28 +08:00
Mikhail Golenkov 498c78e23a MDL-73993 phpdoc: get_module_types_names returns lang_string objects 2022-03-03 10:43:41 +11:00
Cameron Ball 83b7836068 MDL-54724 qtype_multianswer: Better handle corrupted questions
When questions are deleted, we now check if the parent is in use before deletion.

Prior to this, it would be possible for multianswer questions to reference
questions that have been deleted. This results in fatal errors when the quiz
is viewed.

This patch uses a dummy 'subquestion_replacement' to handle this case and
display some information to the end user about what has happened so that
they may take action to repair the corrupted question.

As a result of the bug described above, the sequence column of
mdl_question_multianswer can contiain references to questions that no
longer exist, and these IDs can make their way in to backups.

When this happens, the backups cannot be restored. To avoid this,
this patch skips trying to restore those questions that reference
question IDs that no longer exist (as there is no way to recover them).
2022-03-02 18:46:21 +08:00
Juan Leyva 2cae00d9d3 MDL-74042 vimeo: Support security hash for restricted videos 2022-03-01 13:33:09 +01:00
AMOS bot d7de09d272 Automatically generated installer lang files 2022-03-01 00:07:35 +00:00
Paul Holden 28761c2eba MDL-64770 tool_uploaduser: validate unique field values in upload.
If a custom user profile field is set to be unique, then we should
ensure that is respected in the entirety of the uploaded data.
2022-02-28 14:53:13 +00:00
Andrew Nicols 48a9189c12 Merge branch 'MDL-73582-311-nocache' of https://github.com/vmdef/moodle into MOODLE_311_STABLE 2022-02-28 13:03:38 +08:00
AMOS bot 5b5c4361ee Automatically generated installer lang files 2022-02-26 00:07:38 +00:00
Ilya Tregubov 33b053ede8 weekly release 3.11.5+ 2022-02-25 19:23:40 +02:00
Ilya Tregubov 5c762b40bf Merge branch 'install_311_STABLE' of https://git.in.moodle.com/amosbot/moodle-install into MOODLE_311_STABLE 2022-02-25 19:23:36 +02:00
Andrew Nicols ca0bf01e23 Merge branch 'MDL-70792-311-2' of https://github.com/junpataleta/moodle into MOODLE_311_STABLE 2022-02-25 11:52:32 +08:00
Jun Pataleta 1bd98e1641 MDL-70792 theme_boost: Remove default outline on focused menu items
* Remove default browser outline in :focus-visible pseudo-class for
  links within .dropdown-item elements.
2022-02-24 18:26:14 +08:00
Jun Pataleta ef132f0ab4 MDL-70792 output: Menu items should have -1 tab index
* As per WAI ARIA Authoring Practices 1.1 guidelines for menus,
menu items should have a tab index of -1. Navigation between menu items
is done via arrow keys.

See https://www.w3.org/TR/wai-aria-practices-1.1/#menu
2022-02-24 18:26:14 +08:00
Jun Pataleta 62a90218e1 MDL-70792 aria: Dropdown menu keyboard interaction fixes
* Move the focus to the last menu item when the menu is displayed by
pressing the Up arrow key.
* When the menu is open and Tab/Shift-Tab is pressed, focus on the
next/previous focusable element on the DOM instead of focusing back on
the menu trigger.
* Combine event handling for the dropdown menu trigger.
2022-02-24 18:26:14 +08:00
Jun Pataleta 360b0271a5 Merge branch 'MDL-73915-311-terser' of https://github.com/andrewnicols/moodle into MOODLE_311_STABLE 2022-02-24 17:02:19 +08:00
AMOS bot fe8d169b36 Automatically generated installer lang files 2022-02-24 00:07:35 +00:00
Mathew May b3c3f4e0ba MDL-70792 aria: Only set focus on items when triggered by keypress 2022-02-23 22:42:37 +08:00
Andrew Nicols 6fc3618bd5 MDL-73915 js: Switch amd minification to terser
Unfortunately the babel minify-mangle plugin seems to be abandoned and
in certain circumstances can be very buggy. The only safe options are to
disable it, or to switch to a different minification library.

Not minifying our javascript is not ideal, so this commit updates the
javascript tasks to use a rollup, combined with babel, and terser.

Babel still converts code from ES/UMD/AMD to AMD modules with the
relevant browser support, whilst terser minifies the code.

The rollup bundler handles tracking and creation of sourcemaps, and
supports better parallelisation of the tasks.

Since the upgrade to Node LTS/Gallium requires an upgrade to @babel/core
and eslint, which change the built files anyway, this seems like the
ideal time to make this change.
2022-02-23 08:51:44 +08:00
Andrew Nicols 034ffb924b MDL-73915 js: Upgrade babel and eslint 2022-02-23 08:51:44 +08:00
Andrew Nicols 3ee0da8f17 MDL-73915 js: Upgrade packages 2022-02-23 08:51:44 +08:00
Andrew Nicols a6f5c43c9f MDL-73915 js: Switch to nodejs lts/gallium 2022-02-23 08:51:43 +08:00
Andrew Nicols c2f8050802 MDL-73915 js: Upgrade node-sass 2022-02-23 08:51:43 +08:00
Andrew Nicols e3c9bab5e5 MDL-73899 behat: Fix coding style issues to change third-party status
This commit removes the moodle-behat-extension from the list of
third-party libraries.

In order to do this properly, all pending coding-style issues are fixed.
In addition the following niceties have also been included:
* convert long form array() syntax to short form
* alphabetically sort class imports (use)
* remove unused class imports
* correct documentation
* Normalise whitespace in concat operators
* Remove unnecessary file docblocks
2022-02-23 08:19:30 +08:00
Eloy Lafuente (stronk7) 383a8f5fc7 Merge branch 'MDL-73450-311_auroramysql_fix' of https://github.com/Limekiller/moodle into MOODLE_311_STABLE 2022-02-22 19:40:38 +01:00
Sara Arjona c1441da84a weekly release 3.11.5+ 2022-02-22 11:12:51 +01:00
Sara Arjona 18eee87ae9 Merge branch 'install_311_STABLE' of https://git.in.moodle.com/amosbot/moodle-install into MOODLE_311_STABLE 2022-02-22 11:12:48 +01:00
Sara Arjona cbd3fd7d9c Merge branch 'MDL-73905_311' of https://github.com/stronk7/moodle into MOODLE_311_STABLE 2022-02-21 16:40:39 +01:00
Sara Arjona 729ca7f2f8 Merge branch 'MDL-73872-311' of https://github.com/lucaboesch/moodle into MOODLE_311_STABLE 2022-02-21 16:32:09 +01:00
Sara Arjona 7a87dac5cd Merge branch 'MDL-73883-311' of https://github.com/andrewnicols/moodle into MOODLE_311_STABLE 2022-02-21 15:35:19 +01:00
Eloy Lafuente (stronk7) 0196f5326f Merge branch 'MDL-73812-311-enfix' of https://github.com/vmdef/moodle into MOODLE_311_STABLE 2022-02-21 09:15:04 +01:00
AMOS bot 2b0be5b36c Automatically generated installer lang files 2022-02-21 00:07:36 +00:00
Luca Bösch 6513f39863 MDL-73872 admin: align 'Save changes' and 'Cancel' 2022-02-18 18:36:07 +01:00
Víctor Déniz 2407b79b8b MDL-73812 lang: Replace modified strings in tests 2022-02-18 16:22:41 +00:00
Helen Foster a77a75fe72 MDL-73812 lang: Import fixed English strings (en_fix) 2022-02-18 16:22:41 +00:00
Eloy Lafuente (stronk7) ea801b6374 MDL-73905 core: fix coding_exception missing namespace
This was leading to exception:

Class 'core\message\coding_exception' not found

Surely we weren't facing this before MDL-67853, but it seems that
now we are hitting it sometimes (being investigated @ MDL-73747).

So, just ensure the proper \coding_exception is used.
2022-02-18 15:45:18 +01:00
Sara Arjona 554911ee4e weekly release 3.11.5+ 2022-02-18 15:03:40 +01:00
Sara Arjona 7052e98f2c Merge branch 'install_311_STABLE' of https://git.in.moodle.com/amosbot/moodle-install into MOODLE_311_STABLE 2022-02-18 15:03:37 +01:00
Ilya Tregubov 6701dbec13 Merge branch 'MDL-72734-311-fix' of https://github.com/paulholden/moodle into MOODLE_311_STABLE 2022-02-18 13:53:19 +02:00
Paul Holden bd56366374 MDL-72734 tool_task: replace usage of non-existing method.
The method `$task->can_run()` exists only in the master branch,
replace usage with implementation appropriate for 311.
2022-02-18 11:35:18 +00:00
Andrew Nicols 3310bf9924 Merge branch 'MDL-72734-311' of https://github.com/paulholden/moodle into MOODLE_311_STABLE 2022-02-18 10:56:05 +02:00
Andrew Nicols 21e61a347e Merge branch 'MDL-73748-311-check_for_updates' of https://github.com/mudrd8mz/moodle into MOODLE_311_STABLE 2022-02-18 10:56:05 +02:00
Andrew Nicols 134a7ca404 Merge branch 'MDL-73636-311' of https://github.com/paulholden/moodle into MOODLE_311_STABLE 2022-02-18 10:56:04 +02:00
AMOS bot 7b519f1c20 Automatically generated installer lang files 2022-02-17 00:07:31 +00:00
Víctor Déniz 65b49f5be6 MDL-73582 registration: Add endpoint to provide version to linkchecker 2022-02-16 20:42:04 +00:00
Ilya Tregubov 171c9cc802 Merge branch 'MDL-73868-311' of https://github.com/sarjona/moodle into MOODLE_311_STABLE 2022-02-16 13:06:45 +02:00
Sara Arjona 4e4f395994 Merge branch 'MDL-72762_311' of https://github.com/stronk7/moodle into MOODLE_311_STABLE 2022-02-16 11:50:16 +01:00
Paul Holden 1755da1e81 MDL-73895 message: hide empty component notification categories.
If a component has no available notification types (because they're
disabled), then it (the component) should be hidden entirely from
the user notification preferences page.
2022-02-16 10:31:00 +00:00
Jun Pataleta c3facdf7dc Merge branch 'MDL-73827-311' of https://github.com/sarjona/moodle into MOODLE_311_STABLE 2022-02-16 16:52:16 +08:00
Jonathan Harker 0b79f9fdf1 MDL-72646 theme: update font download MIME types, RFC-8081 2022-02-16 19:12:44 +13:00
Sara Arjona 3b2234ee76 Merge branch 'MDL-73834_311' of https://github.com/stronk7/moodle into MOODLE_311_STABLE 2022-02-15 17:18:46 +01:00
Eloy Lafuente (stronk7) b57b50cc0c MDL-73834 mod_lti: Don't load external artifacts, original behaviour
Summary:

- With PHP7, libxml_disable_entity_loader() was making those
  flags futile, and the DTDs were not being requested ever.
- With PHP8, the flags get precedence and requests for the
  DTD have started to happen.
- Those requests are not served by W3C (1 minute time-out).
- Those DTDs aren't used by anything in code (no entity
  replacement, no validation...)

Hence:
- Remove the flags so it will work the same in PHP7 and PHP8.
- Just to double ensure we don't want any remote loading
  to happen ever, add explicitly the LIBXML_NONET flag.
2022-02-15 09:41:47 +01:00
Andrew Nicols 781c3438c2 MDL-73883 behat: Display actual step during testing
Because of the way in which we check for exceptions, we always show the
following string during behat pretty output:

    behat_hooks::i_look_for_exceptions()

We can easily modify this to only show this value when the
i_look_for_exceptions() test itself fails, but otherwise to show the
actual step that is run.
2022-02-15 15:01:20 +08:00
Jun Pataleta e8721581cd Merge branch 'MDL-73805-311' of https://github.com/bmbrands/moodle into MOODLE_311_STABLE 2022-02-15 12:18:24 +08:00
Jun Pataleta ef6a2e594f Merge branch 'MDL-73826_311' of https://github.com/stronk7/moodle into MOODLE_311_STABLE 2022-02-15 11:52:01 +08:00
Sara Arjona 3b32118506 MDL-73868 oauth2: Remove multiple slashes in image URL
There is an issue with the current Badgr manifest because the image
URL contains double slash which is causing an error when storing it
in the database (https://api.test.badgr.com/static//images/logo.png).
This issue parses image URL and removes multiple slashes in URL.
2022-02-14 11:43:23 +01:00
Paul Holden 77857ced5a MDL-72734 tool_task: consistent checks for running tasks from web. 2022-02-14 09:21:50 +00:00
Paul Holden 48a0d87f2f MDL-73636 course: use formatted name in exported activity data. 2022-02-14 09:19:09 +00:00
Eloy Lafuente (stronk7) d6984b7616 MDL-72762 backup: Accept empty and whitespace-only UI labels.
This was causing problems when sections or activity names where
set to be empty or whitespace-only, with the PARAM_CLEANHTML
leading to exception.

Now they are supported and handled like &nbsp; (0xc2a0) to
allow the process to continue.

Added a few extra tests to confirm the behaviour.
2022-02-11 23:50:41 +01:00
Eloy Lafuente (stronk7) ad1c072d04 MDL-73826 phpunit: Allow curl mock responses to handle empty strings
Before this commit, is_empty() was being applied before returning
the mock response. But we want to be able to mock the empty response
for some tests, hence moving the condition to null/isset, that is
the value that array_pop() returns where there aren't more elements
in the array.

With that change performed, we can test lti_load_cartridge() with
empty responses, hence adding a new test for that.
2022-02-11 23:50:12 +01:00
Eloy Lafuente (stronk7) e6aeab1fc0 MDL-73826 mod_lti: Fix for Windows/PHP8 with empty curl responses
Sometimes (detected with Windows, when running @ GHA), both the
response and the error of a curl request to non-existing URL
returns the empty string.

In that case, we cannot call to DOMDocument::loadXML() because the
1st param cannot be empty. So here, whenever that happens, we are
throwing the moodle_exception earlier, instead of waiting for the
XML errors to be processed later.
2022-02-11 23:50:12 +01:00
Sara Arjona 6994e82281 weekly release 3.11.5+ 2022-02-11 15:55:21 +01:00
Sara Arjona eb5efbd0ca Merge branch 'install_311_STABLE' of https://git.in.moodle.com/amosbot/moodle-install into MOODLE_311_STABLE 2022-02-11 15:55:17 +01:00
Limekiller d130a9d0b7 MDL-73450 installation: Support Aurora MySQL >= 8.0.0 2022-02-10 15:13:54 -05:00
Ilya Tregubov b9e8a9af10 Merge branch 'MDL-73764_311' of https://github.com/stronk7/moodle into MOODLE_311_STABLE 2022-02-10 14:19:21 +02:00
Sara Arjona 3bb11e2ab4 MDL-73827 lib: Fix URL blocked error for userinfo endpoint
When the oAuth2 issuer hasn't any userinfo endpoint, a call to
$this->get(false) was done, which was returning "The URL is
blocked".
This is a regression from MDL-70649, which added some cURL security
checks.
2022-02-10 10:44:08 +01:00
AMOS bot 9ce0d04ceb Automatically generated installer lang files 2022-02-10 00:07:49 +00:00
Shamim Rezaie 75968fb87e Merge branch 'MDL-73772-311' of https://github.com/aanabit/moodle into MOODLE_311_STABLE 2022-02-10 09:42:46 +11:00
Amaia Anabitarte a268911ffe MDL-73772 reports: Fix Activity completion report with no group select 2022-02-09 13:19:57 +01:00
Huong Nguyen 5707de083a MDL-72915 qtype_ddimageortext: Fix eventHandler for Unlimited items
Sometimes, for the question that has a lot of input groups and unlimited draggable items,
the 'clone' process takes longer than usual, so the questionManager.init() method
will not add the eventHandler for the cloned drag.
We should make sure to bind the eventHandler for the cloned too
2022-02-09 16:26:39 +07:00
AMOS bot 8d97af30c0 Automatically generated installer lang files 2022-02-09 00:07:34 +00:00
Eloy Lafuente (stronk7) bcb55ea61a MDL-73764 behat: Verify the report works and all files in core are ok 2022-02-08 19:25:09 +01:00
Eloy Lafuente (stronk7) 6af84076b0 MDL-73764 tool_xmldb: Regenerate all the files detected by the report
Note that, instead of going one by one to them from the XMLDB Editor
(load, makes some tiny change, save, revert the change, save), the
report includes a commented line that, once uncommented, does regenerate
the file while reporting.

I've left it there as a commodity for the developer.
2022-02-08 19:25:09 +01:00
Eloy Lafuente (stronk7) efd150059b MDL-73764 tool_xmldb: New report to show all xml files needing reconcile
People uses to edit the install.xml files manually, here and there. That
uses to come with small mistakes, like wrong white-space indentation,
some attributes out of order...

While none of them are critical, they add a lot of noise when somebody
is correctly editing a file with the XMLDB Editor because it, correctly,
overwrites the whole file and then diffs show a lot of unrelated changes.

So, this report will inform us about any file needing to be regenerated
because it has been manually edited (in a different way than the way
the editor has).

Note that the report is very basic, with minimal ouput, manually
generating the HTML, like the rest of the XMLDB Editor actions do. We
are not using renderers neither templates here.

Also note that it includes a commented line of code that, once
uncommented, enables the report to, also, fix the wrong files. Useful
for developers.
2022-02-08 19:25:09 +01:00
Ilya Tregubov e91a1432d1 weekly release 3.11.5+ 2022-02-08 14:54:07 +02:00
Bas Brands 7c9b0751f8 MDL-73805 theme_boost: remove left icon margin
The icon margin added in MDL-73543 is causing multiple alignment issues. The alignment issue it needed to fix is done for the recently accessed course block
only.
2022-02-08 13:07:16 +01:00
Jun Pataleta 66396cf4a5 Merge branch 'MDL-72246-311-2' of https://github.com/andrewnicols/moodle into MOODLE_311_STABLE 2022-02-08 11:37:08 +08:00
Andrew Nicols 0f0b8bbf68 MDL-72246 core_completion: Only fetch other completion data on requested
Prior to this patch, the code was fetching all completion data for all
activities in a course, even when the activity was not requested. This
leads to recursion issues as the data has not been added to the cache
before this operation occurs.

To handle this situation, only the requested CM is fetched in full, and
a boolean flag is used to store whether the full data has been fetched.

When returning a partially fetched value from the cache, the flag is
used to determine whether more data must be fetched, and the cache
updated.

The flag is filtered out before the value is returned.

Note: Many of the tests were updated as these were inspecting private
features of the API which should not really be tested.
2022-02-08 11:35:23 +08:00
Andrew Nicols 1142892aca MDL-72246 core_completion: Test coverage improvements for completion 2022-02-08 11:22:25 +08:00
Andrew Nicols 1330fadb00 MDL-72246 core_completion: Stop testing the inner workings of get_data() 2022-02-08 11:22:24 +08:00
Andrew Nicols 3d7e4f8900 Merge branch 'MDL-73716_311' of https://github.com/stronk7/moodle into MOODLE_311_STABLE 2022-02-08 11:00:22 +08:00
Eloy Lafuente (stronk7) 27ec971d45 MDL-73716 phpunit: remove old simpletest static members
And replace them by phpunit @covers annotations including
all the classes declared or extended in the removed members.

It's not awesome coverage, but better than nothing.
2022-02-07 10:44:49 +01:00
Andrew Nicols 261f79884f Merge branch 'MDL-73659_311' of https://github.com/stronk7/moodle into MOODLE_311_STABLE 2022-02-07 13:34:39 +08:00
David Mudrák 20797726bb MDL-73748 admin: Check for available updates daily on random time
It's been a mistake to make every Moodle site out there to check for
available update every two hours, on the hour. We are experiencing
server load peaks that are harder and harder to deal with.

The patch addresses this by (1) checking for available updates just once
a day and (2) distributing the checking times randomly around the clock.
2022-02-06 21:54:17 +01:00
Eloy Lafuente (stronk7) f92877a5a3 MDL-73659 phpunit: restore_date, api, rule, plugin, manager & helper
All restore_date_test, api_test, rule_test, plugin_test,
manager_test, helper_test testcase classes:

- Namespaced with component[\level2-API]
- Moved to level2-API subdirectory when required.
- Fixed incorrect use statements with leading backslash.
- Remove file phpdoc block
- Remove MOODLE_INTERNAL if not needed.
- Changed code to point to global scope when needed.
- Fix some relative paths and comments here and there.
- All them passing individually.
- Complete runs passing too.

Special mention to:

- All restore_date_test cases have been put under xxx\backup
  level 2 (valid API) namespace.
2022-02-05 00:03:40 +01:00
Claude Vervoort 8b5e15ef5b MDL-73779 mod_lti: dynreg fix messages supported 2022-02-04 15:43:42 -05:00
Sara Arjona 62fe7519b8 weekly release 3.11.5+ 2022-02-04 18:18:30 +01:00
Víctor Déniz 579498f9fa Merge branch 'MDL-73514_311' of https://github.com/stronk7/moodle into MOODLE_311_STABLE 2022-02-03 22:20:07 +00:00
Víctor Déniz b447e683f7 Merge branch 'MDL-73517_311' of https://github.com/stronk7/moodle into MOODLE_311_STABLE 2022-02-03 22:03:51 +00:00
Eloy Lafuente (stronk7) 4b9d3d514d Merge branch 'MDL-73765-311-twenty-three-minutes' of https://github.com/mudrd8mz/moodle into MOODLE_311_STABLE 2022-02-03 22:27:32 +01:00
David Mudrák 30aa6960fc MDL-73765 task: Fix calculation of random minute in the task schedule
The random minute was incorrectly set to a random value from the range
0 - 23 instead of 0 - 59 due to this copy & paste mistake.
2022-02-03 19:17:42 +01:00
Ilya Tregubov 072f686193 Merge branch 'MDL-73543-311' of https://github.com/lameze/moodle into MOODLE_311_STABLE 2022-02-03 10:53:21 +02:00
Jun Pataleta 3e4dd17c54 Merge branch 'MDL-73711_311' of https://github.com/stronk7/moodle into MOODLE_311_STABLE 2022-02-03 11:14:39 +08:00
Simey Lameze a1059b10c1 MDL-73543 theme: add left margin to move block icon 2022-02-02 19:12:45 +08:00
Eloy Lafuente (stronk7) 19c1c5fea6 Merge branch 'MDL-73075-311' of https://github.com/paulholden/moodle into MOODLE_311_STABLE 2022-02-02 11:12:55 +01:00
Paul Holden 29936a7238 MDL-73075 lang: move deprecated strings to correct component.
Fix deprecated version. See original change from f9e1c258 for context.
2022-02-02 10:02:40 +00:00
Eloy Lafuente (stronk7) 8f46c10cb8 weekly release 3.11.5+ 2022-02-01 19:51:04 +01:00
Eloy Lafuente (stronk7) b9348695f6 MDL-73711 behat: Bump to Behat 3.10.x
Generated with php73, following the instructions at:

https://docs.moodle.org/dev/Composer

Note this also comes with a minor PHPUnit bump to 9.5.13.
2022-01-29 16:11:37 +01:00
AMOS bot b2c031f401 Automatically generated installer lang files 2022-01-29 00:07:30 +00:00
Eloy Lafuente (stronk7) 071ea825b7 MDL-73517 mnet: add some openssl missing parameters
Since php80 the 5th parameter (cypher) in the following functions:
  - openssl_seal
  - openssl_open
is mandatory, hence:
  - adding it.
  - with value 'RC4' to keep BC.
2022-01-28 20:10:58 +01:00
Eloy Lafuente (stronk7) 5e8812bfc5 MDL-73514 mnet: fix promiscuous mode and php80 support 2022-01-28 20:10:45 +01:00
Ilya Tregubov 0b00e04cf3 weekly release 3.11.5+ 2022-01-28 20:16:59 +02:00
Ilya Tregubov a0386b12ad Merge branch 'install_311_STABLE' of https://git.in.moodle.com/amosbot/moodle-install into MOODLE_311_STABLE 2022-01-28 20:16:58 +02:00
Shamim Rezaie 75df86e057 Merge branch 'MDL-72852-311-fix' of https://github.com/sarjona/moodle into MOODLE_311_STABLE 2022-01-28 14:59:06 +11:00
Eloy Lafuente (stronk7) 3fc51cf8b4 Merge branch 'MDL-72937-311' of https://github.com/paulholden/moodle into MOODLE_311_STABLE 2022-01-28 00:26:17 +01:00
Eloy Lafuente (stronk7) 42bcaa8aa7 Merge branch 'MDL-73588-311-curlfile' of https://github.com/mudrd8mz/moodle into MOODLE_311_STABLE 2022-01-27 12:17:49 +01:00
Frederik Milling Pytlick c73673f2f3 MDL-73702 reports: Fixed report_helper
Made the report_helper make sure there was an action before trying to output it
2022-01-27 11:04:27 +01:00
Shamim Rezaie 46cbfbfb21 Merge branch 'MDL-73500_311' of https://github.com/stronk7/moodle into MOODLE_311_STABLE 2022-01-27 11:38:13 +11:00
Sara Arjona 26ac673e3e MDL-72852 badges: Improve performance to display Badges nav
The course_get_user_navigation_options() is called on each request
from the add_course_essentials() method, to initialise the basic
navigation options that are available or not for the current user.
This information is not always displayed in boost (for
instance, in a module page), but it might be required by some blocks,
like Navigation.
However, this block is hidden by default in boost since MDL-73347,
so at any point we should check if it's possible to change the way
this navigations options is loaded, to only get this information
when it's strictly required.
2022-01-26 10:36:19 +01:00
Eloy Lafuente (stronk7) fc2020f573 Merge branch 'MDL-72626-311' of https://github.com/sarjona/moodle into MOODLE_311_STABLE 2022-01-26 10:16:36 +01:00
AMOS bot 957ac32358 Automatically generated installer lang files 2022-01-26 00:07:36 +00:00
Sara Arjona 838b33b9ab MDL-72626 lib: Set Moodle files after RTLCSS upgrade 2022-01-25 09:22:00 +01:00
Sara Arjona 36b4656906 MDL-72626 lib: Upgrade RTLCSS to 1.0.1 2022-01-25 09:22:00 +01:00
Shamim Rezaie e44f94b493 Merge branch 'MDL-72852-311' of https://github.com/sarjona/moodle into MOODLE_311_STABLE 2022-01-25 13:34:30 +11:00
Frode Petterson acbfa890f6 MDL-73588 curl: Fix expected CURLOPT_FILE behavior
After cbf9dfb the CURLOPT_FILE no longer behaves as expected. All
redirect responses are appended to the same stream resource.  This fix
reverts back to the old behavior by setting the stream pointer back to
the beginning for each subsequent redirect.
2022-01-24 16:55:37 +01:00
Sara Arjona d9bde2ab22 MDL-72852 navigation: Do not display badges when empty
If there are no course badges, students shouldn't have a link to a
page saying there are no badges available.

This patch is for displaying the Badges in the secondary navigation
only if the user can manage badges or there is, at least, one
badge available to the current user.
2022-01-24 15:32:08 +01:00
Andrew Nicols 1dd52d7b47 Merge branch 'MDL-73625-311' of https://github.com/jleyva/moodle into MOODLE_311_STABLE 2022-01-24 11:09:26 +08:00
Jake Dallimore 4eda8d0571 Merge branch 'MDL-73485_311' of https://github.com/stronk7/moodle into MOODLE_311_STABLE 2022-01-24 10:46:40 +08:00
Paul Holden 4b919b20bc MDL-72937 user: restrict Moodlenet profile field length. 2022-01-23 23:00:53 +00:00
Eloy Lafuente (stronk7) 9835d6920f MDL-73485 phpunit: externallib, generator and filter tescase names
All externallib_test, generator_test and filter_test classes:

- Namespaced with component[\level2-API]
- Moved to level2-API subdirectory when required.
- Fixed incorrect use statements with leading backslash.
- Changed code to point to global scope when needed.
- Fix some relative paths and comments here and there.
- All them passing individually.
- Complete runs passing too.

Special mention to tests under testing/tests:

1) The core_testing component doesn't exist.
2) But testing/tests are allowed because there is a suite pointing to it (phpunit.xml).
3) So, the only possible namespace for them is "core".
4) And to avoid problems with other core testcases (under lib/tests)
   they have been renamed to have testing_xxxx as prefix.

Finally, also modified calendar/tests/event/events_test.php because it uses
some renamed (core_calendar_externallib_testcase => \core_calendar\externallib_test)
classes.
2022-01-21 19:48:30 +01:00
Eloy Lafuente (stronk7) 517e301d5a MDL-73500 general: Remove php < 73 conditional code
This commit removes code that only was being executed by php < 73
and it's 100% safe to do so because Moodle 3.11 and up require
php 73, hence it was not executed ever.

Removed code includes:
- ldap_control_paged_result and ldap_control_paged_result_response
  (that were deprecated in php 73 and have been removed in php 80).
- conditional code in the session manager, where some hacks were
  needed for php < 73. Note that this removes the private function
  append_samesite_cookie_attribute() completely because it was
  doinf nothing (first line was returning for php < 73).
- Also removed the old session.hash_function ini setting because
  it was removed in php 71.

Kept code includes:
- The environmental check_igbinary322_version test has not been
  removed because it doesn't hurt (always returns "ok" for php 73
  sites) and doing it would involve to backport the environment.xml
  file to 39 and 310. Instead, a note has been added to MDL-71747
  in order to get rid of that check for 4.1 and up.
2022-01-21 19:48:01 +01:00
Sara Arjona 1bd5d40c8f weekly release 3.11.5+ 2022-01-21 15:00:49 +01:00
Sara Arjona 00ebf601ff Merge branch 'install_311_STABLE' of https://git.in.moodle.com/amosbot/moodle-install into MOODLE_311_STABLE 2022-01-21 15:00:45 +01:00
Jun Pataleta 8d8b24a320 Merge branch 'MDL-73021-311' of git://github.com/andelacruz/moodle into MOODLE_311_STABLE 2022-01-21 11:21:59 +08:00
AMOS bot 04c907d433 Automatically generated installer lang files 2022-01-21 00:07:39 +00:00
Max Larkin 4c53ddf46b MDL-73555 tool_brickfield: More efficient summary data processing 2022-01-20 11:42:21 -05:00
Sara Arjona 573de6d923 Merge branch 'MDL-73603-311' of https://github.com/paulholden/moodle into MOODLE_311_STABLE 2022-01-20 17:23:50 +01:00
Juan Leyva 158518c79e MDL-73625 tool_mobile: Adapt mobile settings for 4.0 2022-01-20 16:30:00 +01:00
Sara Arjona 42e9f29f8a Merge branch 'MDL-73600-311' of https://github.com/paulholden/moodle into MOODLE_311_STABLE 2022-01-20 15:22:16 +01:00
Jun Pataleta 4eebc40ec3 Merge branch 'MDL-73523_311' of https://github.com/stronk7/moodle into MOODLE_311_STABLE 2022-01-20 21:52:57 +08:00
Eloy Lafuente (stronk7) 32d68836a4 MDL-73523 libraries: openssl_free_xxx() methods are deprecated in php80
So we are putting them under a standard PHP_MAJOR_VERSION < 8 condition.

Also, added TODO comments to remember to delete that block of code when
php80 becomes the minimum required versions in the future (Moodle 4.3?).

When possible, an issue has been created upstream, else a comment in
readme_moodle files has been added.

Finally, when the keys being freed were class or object attributes, also
nullify them (but when the calls were part of destructor methods).
2022-01-20 14:48:50 +01:00
AMOS bot ae8b4733fd Automatically generated installer lang files 2022-01-19 00:07:36 +00:00
Daniel Neis Araujo 21865b22e7 MDL-69965 moodlenet: show moodlenet in profile only if it is enabled
Amended to use plain get_config() condition.
2022-01-18 23:28:40 +01:00
Eloy Lafuente (stronk7) 1fcccd8722 Merge branch 'MDL-73561-311' of https://github.com/sarjona/moodle into MOODLE_311_STABLE 2022-01-18 23:09:36 +01:00
Sara Arjona 0f6643a972 weekly release 3.11.5+ 2022-01-18 12:27:03 +01:00
Jun Pataleta 6c8fd471b4 Merge branch 'MDL-69966-311' of https://github.com/danielneis/moodle into MOODLE_311_STABLE 2022-01-18 10:53:58 +08:00
Jun Pataleta b5dd9b2e8a Merge branch 'MDL-73563-311' of https://github.com/paulholden/moodle into MOODLE_311_STABLE 2022-01-18 10:43:54 +08:00
Andrew Nicols c95fad5c21 Merge branch 'MDL-73476_311' of https://github.com/stronk7/moodle into MOODLE_311_STABLE 2022-01-18 09:31:08 +08:00
Paul Holden 0b73fde437 MDL-73603 webservice: fix user retrieval in token form callback. 2022-01-17 21:52:40 +00:00
Víctor Déniz 36100ed441 Merge branch 'MDL-73584-311' of https://github.com/sarjona/moodle into MOODLE_311_STABLE 2022-01-17 18:54:38 +00:00
Daniel Neis Araujo 48fac357b6 MDL-69966 quiz: start attempt button should be a primary button 2022-01-17 13:54:01 -03:00
Paul Holden 76756f1e10 MDL-73600 user: remove references to deleted user fields/strings.
Since f9e1c258 they are no longer valid.
2022-01-17 16:03:46 +00:00
Bas Brands f2b9070a2c MDL-73486 block_privatefiles: prevent stylelint warnings 2022-01-17 16:32:29 +01:00
Sara Arjona edfcc33471 MDL-73584 lib: Remove role menubar from Actions menu
The menubar role defined in the "menubar d-flex" element is not
required and it's causing the following error "Required ARIA children
role not present: group, menuitemradio, menuitem, menuitemcheckbox".
2022-01-17 12:51:20 +01:00
Sara Arjona 9d49d402eb Merge branch 'MDL-72412-311' of https://github.com/junpataleta/moodle into MOODLE_311_STABLE 2022-01-17 08:28:55 +01:00
Eloy Lafuente (stronk7) a59bec2a6f Moodle release 3.11.5 2022-01-15 12:14:25 +01:00
Eloy Lafuente (stronk7) f773514761 MDL-73476 phpunit: events, external and search tescase names
All events_test, external_test and search_test classes:

- Namespaced with component[\level2-API]
- Moved to level2-API subdirectory when required.
- Fixed incorrect use statements with leading backslash.
- Changed code to point to global scope when needed.
- Fix some relative paths and comments here and there.
- All them passing individually.
- Complete runs passing too.

Special mention to lib/external/tests/external_test.php:
- external is not a valid component
- hence, its only valid namespace is "core"
- also, it's testing lib/external/externallib.php
- hence, the file (and class) have been renamed to external_externallib_test.php
  (to avoid conflicts with other external_test that may exist in core)
2022-01-14 16:19:51 +01:00
Sara Arjona 62f859ed24 weekly release 3.11.4+ 2022-01-14 11:14:04 +01:00
Sara Arjona 4b4508fd8b Merge branch 'install_311_STABLE' of https://git.in.moodle.com/amosbot/moodle-install into MOODLE_311_STABLE 2022-01-14 11:14:01 +01:00
Jun Pataleta c31822a6b4 MDL-72412 core: Add the image role to informative icon fonts 2022-01-14 10:33:30 +08:00
Andrew Nicols 8c2057e569 Merge branch 'MDL-73575-311' of https://github.com/paulholden/moodle into MOODLE_311_STABLE 2022-01-14 09:36:47 +08:00
Paul Holden f84ab6c2e4 MDL-73563 course: add vertical space above category action buttons. 2022-01-13 23:14:20 +00:00
Eloy Lafuente (stronk7) 5c42461b50 Merge branch 'MDL-69624-311' of https://github.com/paulholden/moodle into MOODLE_311_STABLE 2022-01-13 23:25:00 +01:00
Eloy Lafuente (stronk7) cc4940d794 Merge branch 'MDL-73004-311_access_unit_tests' of https://github.com/brickfield/moodle into MOODLE_311_STABLE 2022-01-13 19:23:29 +01:00
Mike Churchward 29bfe17f2c MDL-73004 tool_brickfield: Fix unit tests for question areas.
Search array of areas for expected question components, rather than assume an array position.
2022-01-13 11:58:28 -05:00
Paul Holden 06abb64d09 MDL-69624 question: add missing test required library. 2022-01-13 15:10:17 +00:00
Paul Holden df608012a7 MDL-73575 webservice: ensure configured protocols are non-empty. 2022-01-13 12:32:48 +00:00
Sara Arjona 817212be50 MDL-73561 grade: Use proper alert for success message 2022-01-13 09:22:33 +01:00
Víctor Déniz 04be2d16f7 Merge branch 'MDL-73418_311' of https://github.com/ja9837/moodle into MOODLE_311_STABLE 2022-01-12 22:25:16 +00:00
Eloy Lafuente (stronk7) 50c8887deb Merge branch 'MDL-73564-311' of https://github.com/marinaglancy/moodle into MOODLE_311_STABLE 2022-01-12 18:31:20 +01:00
Paul Holden beb47bcab8 MDL-72772 gradereport_overview: account for users with parent roles. 2022-01-12 14:19:27 +01:00
Marina Glancy d240de81d1 MDL-73564 webservice: make sure to require webservice lib once 2022-01-12 13:20:18 +01:00
Ilya Tregubov ff840af0b7 Merge branch 'MDL-71949-fix-backup-log-311' of https://github.com/matthewhilton/moodle into MOODLE_311_STABLE 2022-01-12 11:52:06 +02:00
Eloy Lafuente (stronk7) d721f94f2b Merge branch 'MDL-70348-311' of https://github.com/paulholden/moodle into MOODLE_311_STABLE 2022-01-12 10:17:41 +01:00
Sara Arjona cb13d527cd Merge branch 'MDL-71461-311' of https://github.com/dravek/moodle into MOODLE_311_STABLE 2022-01-12 09:58:29 +01:00
Sara Arjona d661ace551 Merge branch 'MDL-72771_311' of https://github.com/reskit/moodle into MOODLE_311_STABLE 2022-01-12 09:41:10 +01:00
Shamim Rezaie 6ff9b28f66 Merge branch 'MDL-72880-311' of https://github.com/paulholden/moodle into MOODLE_311_STABLE 2022-01-12 19:21:45 +11:00
Paul Holden e414f5b771 MDL-72772 gradereport_overview: access checks for viewing grades. 2022-01-12 13:43:58 +08:00
Andrew Nicols 7ecb4daee6 Merge branch 'MDL-73526_311' of https://github.com/stronk7/moodle into MOODLE_311_STABLE 2022-01-12 10:21:34 +08:00
AMOS bot b3f1550b40 Automatically generated installer lang files 2022-01-12 00:07:39 +00:00
Eloy Lafuente (stronk7) 17c70ff8a6 MDL-73526 mod_wiki: Remove unused nwiki diff processor
It never has been used in core since it was introduced in 2011
by MDL-22112, because the ouwiki_diff_html() is used unconditionally
for all wiki formats (html, creole or nwiki).

So, removing it to avoid any current (php80) or future incidence
with it.
2022-01-11 17:27:51 +01:00
Paul Holden eda7d884ba MDL-72367 badges: require sesskey to remove badge alignment. 2022-01-11 14:34:17 +01:00
Paul Holden b09d50dd4a MDL-72573 mod_h5pactivity: tighter validation of external sort param.
Restrict external method $sortorder parameter to limited subset of
values.
2022-01-11 14:34:17 +01:00
Dongsheng Cai a0b04d09a7 MDL-71239 calendar: disallow manager role users edit user events 2022-01-11 14:34:17 +01:00
Jun Pataleta bb9cd179ed weekly release 3.11.4+ 2022-01-11 21:30:11 +08:00
Jun Pataleta 4cc87b1326 Merge branch 'install_311_STABLE' of https://git.in.moodle.com/amosbot/moodle-install into MOODLE_311_STABLE 2022-01-11 21:30:05 +08:00
David Matamoros f682557e5f MDL-71461 core_customfield: Add missing library in textarea export value 2022-01-11 11:19:57 +01:00
Jun Pataleta 1303c0fb82 Merge branch 'MDL-69061-311' of https://github.com/junpataleta/moodle into MOODLE_311_STABLE 2022-01-11 11:56:47 +08:00
Adam Pawełczak c343287349 MDL-69061 core: Fix admin path replacement with path to $CFG->admin 2022-01-11 11:34:09 +08:00
AMOS bot 7d872ea52a Automatically generated installer lang files 2022-01-11 00:07:31 +00:00
Víctor Déniz 62bb90821e Merge branch 'MDL-73414-311' of https://github.com/paulholden/moodle into MOODLE_311_STABLE 2022-01-10 23:21:22 +00:00
Jun Pataleta 62dc08644a Merge branch 'MDL-73502_311' of https://github.com/stronk7/moodle into MOODLE_311_STABLE 2022-01-10 15:10:41 +08:00
AMOS bot 68639cb426 Automatically generated installer lang files 2022-01-08 00:07:28 +00:00
Marc Català d98bf4c5ff MDL-72771 core_course: Set module visibility after moving it
Move a module to another section needs to update its visibility after
placing it into the new section. Otherwise an invalid database state
prevents the system to move any module with a completion rule
involving grades.
2022-01-07 14:27:24 +01:00
Paul Holden a35f4515bd MDL-72880 badges: change badge exporter issuername field to text.
This matches it's type in the settings pages, and also the type
of the site name used as the default for the setting. It's content
will now be automatically filtered by the external exporter class.
2022-01-07 09:12:02 +00:00
Ilya Tregubov c261edf5c7 Merge branch 'MDL-73427-311' of https://github.com/cameron1729/moodle into MOODLE_311_STABLE 2022-01-07 09:45:08 +02:00
Shamim Rezaie 4ce7448979 Merge branch 'MDL-73272/3.11' of https://github.com/skodak/moodle into MOODLE_311_STABLE 2022-01-07 17:45:48 +11:00
AMOS bot 2e814c9d0a Automatically generated installer lang files 2022-01-07 00:07:37 +00:00
Eloy Lafuente (stronk7) 5ef22c2458 MDL-73502 libraries: Avoid uses of get_magic_quotes_xxx() functions
They were deprecated in PHP 7.4 (warning) and have been removed in
PHP 8.0 (error). Plus they were returning false since ages ago (PHP
5.x).

Hence, adding conditional check to see if they are available (h5p
editor) or removing the unreachable code-block when they evaluated
to true.

Also, modified the corresponding moodle_readme files to document
the change.
2022-01-07 00:40:53 +01:00
Ilya Tregubov d6688ad206 weekly release 3.11.4+ 2022-01-06 20:50:51 +02:00
Jun Pataleta a569efe93d Merge branch 'MDL-69700-311' of https://github.com/paulholden/moodle into MOODLE_311_STABLE 2022-01-06 12:00:40 +08:00
Cameron Ball 9393fe3643 MDL-73427 core: Remove $SESSION->fromurl 2022-01-06 10:43:12 +08:00
Jun Pataleta ca560fd8b5 Merge branch 'MDL-73497_311' of https://github.com/stronk7/moodle into MOODLE_311_STABLE 2022-01-06 10:25:12 +08:00
Paul Holden 678c8d5c84 MDL-73497 libraries: upgrade to version 3.3.0 of Spout. 2022-01-05 13:11:45 +01:00
Jun Pataleta 96f7dba2c0 Merge branch 'MDL-68773-clear-adhoc-tasks-311' of https://github.com/Peterburnett/moodle into MOODLE_311_STABLE 2022-01-05 18:46:47 +08:00
Paul Holden c96d32990d MDL-69700 tests: clarify expected exceptions in unit tests.
Resolves some leftovers from MDL-67673, see d95c3787.
2022-01-05 08:45:31 +00:00
Jun Pataleta 9e7a680127 Merge branch 'MDL-73425-311' of git://github.com/paulholden/moodle into MOODLE_311_STABLE 2022-01-05 12:53:39 +08:00
Ilya Tregubov 79957c645f Merge branch 'MDL-73255-311' of https://github.com/andrewnicols/moodle into MOODLE_311_STABLE 2022-01-04 16:19:03 +02:00
Jun Pataleta 42361660e3 Merge branch 'MDL-73352_311' of https://github.com/stronk7/moodle into MOODLE_311_STABLE 2022-01-04 21:26:03 +08:00
Peter Burnett 54c42455ad MDL-68773 backup: Allow completed async backup + restore tasks to clear 2022-01-04 10:58:30 +10:00
Petr Skoda b5d9af91dc MDL-73272 behat: move behat extension to core 2021-12-31 09:55:07 +13:00
Eloy Lafuente (stronk7) 6dd561a11c MDL-73352 phpunit: lib_test and locallib_test testcase names
All lib_test and locallib_test classes:

- Namespaced with component (and API whenever makes sense).
- Fixed incorrect use statements with leading backslash.
- Changed code to point to global scope when needed or add new uses.
- All them passing individually.
- Complete runs passing too.

Special mention to tests under login/tests:

1) The core_login component doesn't exist.
2) But login/tests are allowed because there is a suite pointing to it (phpunit.xml).
3) So, the only possible namespace for them is "core".
4) And to avoid problems with other core testcases (under lib/tests)
   they have been renamed to have login_xxxx as prefix.
2021-12-30 16:21:48 +01:00
Sara Arjona 3105d5bc9f weekly release 3.11.4+ 2021-12-30 11:24:10 +01:00
Sara Arjona e08e3de631 Merge branch 'install_311_STABLE' of https://git.in.moodle.com/amosbot/moodle-install into MOODLE_311_STABLE 2021-12-30 11:24:06 +01:00
AMOS bot 700562d609 Automatically generated installer lang files 2021-12-30 00:07:25 +00:00
Sara Arjona f97dd08bbc Merge branch 'MDL-73086-311' of git://github.com/paulholden/moodle into MOODLE_311_STABLE 2021-12-29 16:18:14 +01:00
Sara Arjona 4599bb5251 Merge branch 'MDL-73295-311' of https://github.com/paulholden/moodle into MOODLE_311_STABLE 2021-12-29 15:36:14 +01:00
Sara Arjona 6f35469598 Merge branch 'MDL-72716-311' of https://github.com/paulholden/moodle into MOODLE_311_STABLE 2021-12-29 15:01:46 +01:00
Paul Holden 180389d33f MDL-72716 blocks: fix external fetching of available blocks.
Pass `$PAGE->subpage` value in AJAX request, which is required on
some pages (e.g. user dashboard) for loading existing blocks.
2021-12-29 10:46:59 +00:00
Paul Holden 00b78393b3 MDL-73414 webservice: don't disable all WS when disabling mobile. 2021-12-29 10:36:57 +00:00
Paul Holden 7cf0235ef7 MDL-73086 user: account for mixed casing of profile field shortname.
Custom profile fields allow for shortnames containing mixed character
casing, which should also be supported within the user fields API
when retrieving said custom fields.

Given that the DML libs convert all selected columns to lowercased
equivalent, we need to do the same when requesting custom fields to
ensure calling code doesn't try to access `->profile_field_Foo`
property when the DB returns `->profile_field_foo` instead.
2021-12-29 10:21:37 +00:00
Paul Holden af9f840e8d MDL-73295 webservice: only pass around sesskey for tokens as needed. 2021-12-29 09:59:49 +00:00
Sara Arjona 4e2cfa0fe0 Merge branch 'MDL-73402-311' of git://github.com/paulholden/moodle into MOODLE_311_STABLE 2021-12-29 10:08:04 +01:00
Sara Arjona 2d05bbbf4c Merge branch 'MDL-72375-completion-id-311' of https://github.com/Peterburnett/moodle into MOODLE_311_STABLE 2021-12-29 09:48:29 +01:00
Eloy Lafuente (stronk7) 43066fb582 Merge branch 'MDL-73420-311' of https://github.com/marinaglancy/moodle into MOODLE_311_STABLE 2021-12-29 09:05:36 +01:00
Sara Arjona 97e28f897e Merge branch 'MDL-73237-311' of https://github.com/paulholden/moodle into MOODLE_311_STABLE 2021-12-28 15:58:35 +01:00
Sara Arjona 84ea58618b Merge branch 'MDL-73207-cronspec-MOODLE_311_STABLE' of https://github.com/brendanheywood/moodle into MOODLE_311_STABLE 2021-12-28 15:43:20 +01:00
Sara Arjona 79c65ea145 Merge branch 'MDL-73189-311' of https://github.com/nguyenphuctien/moodle into MOODLE_311_STABLE 2021-12-28 11:42:03 +01:00
AMOS bot 9697eb3054 Automatically generated installer lang files 2021-12-28 00:07:24 +00:00
Víctor Déniz 5488ffe860 Merge branch 'MDL-73269/3.11' of https://github.com/skodak/moodle into MOODLE_311_STABLE 2021-12-27 15:25:56 +00:00
AMOS bot 9c501dc357 Automatically generated installer lang files 2021-12-27 00:07:27 +00:00
AMOS bot 3e2c0af7ad Automatically generated installer lang files 2021-12-26 00:07:24 +00:00
Josh.Aston 0020e31d55 MDL-73418 Quiz: Continue the last attempt > Continue your attempt 2021-12-23 16:04:48 +00:00
Sara Arjona f04d0ddc8f weekly release 3.11.4+ 2021-12-23 16:29:41 +01:00
Sara Arjona ca8f1866fb Merge branch 'install_311_STABLE' of https://git.in.moodle.com/amosbot/moodle-install into MOODLE_311_STABLE 2021-12-23 16:29:38 +01:00
Jun Pataleta 4b39124bf8 Merge branch 'MDL-72701-311' of https://github.com/andrewnicols/moodle into MOODLE_311_STABLE 2021-12-23 12:10:53 +08:00
Andrew Nicols f6f9359c13 MDL-73255 user: Ensure that invalid filters are not left
When there is no group but a default groupmode is set, the group
configuration is provided but the group data is not present. This
resulted in a JS error and an invalid filter line was left in place.

This change conditionally checks the data-filter-type-class value of the
filterDataNode so that no JS error is produced if the filterDataNode
does not exist and therefore removes the empty filter row.
2021-12-23 11:02:10 +08:00
AMOS bot 529150a7d8 Automatically generated installer lang files 2021-12-23 00:07:26 +00:00
Petr Skoda 56f79b2da5 MDL-73269 dev: add requirements to composer.json 2021-12-23 07:21:47 +13:00
Sara Arjona 9394ec0f27 Merge branch 'MDL-73405_311' of https://github.com/stronk7/moodle into MOODLE_311_STABLE 2021-12-22 17:20:49 +01:00
Sara Arjona c6f4cac946 Merge branch 'MDL-73380-311' of git://github.com/paulholden/moodle into MOODLE_311_STABLE 2021-12-22 16:59:13 +01:00
Sara Arjona 21a59229a9 Merge branch 'MDL-73256-311' of git://github.com/paulholden/moodle into MOODLE_311_STABLE 2021-12-22 16:39:49 +01:00
Sara Arjona 36765f08a9 Merge branch 'MDL-69023-M311_mod-lti-conflicts-with-text-alignment-in-chat-messages' of https://github.com/ziegenberg/moodle into MOODLE_311_STABLE 2021-12-22 16:28:05 +01:00
Jun Pataleta acb63ae043 Merge branch 'MDL-73046-311' of https://github.com/junpataleta/moodle into MOODLE_311_STABLE 2021-12-22 18:50:54 +08:00
Frederik Milling Pytlick 343d3f42d4 MDL-73046 media_html5video: Fixed .mov files
.mov files will now have the mimetype 'video/mp4' instead of 'video/quicktime'. (Only if the user's browser is chromium-based)
2021-12-22 18:45:48 +08:00
Shamim Rezaie 51ebf938b7 Merge branch 'MDL-73348_311' of https://github.com/stronk7/moodle into MOODLE_311_STABLE 2021-12-22 21:20:15 +11:00
Angelia Dela Cruz cf7238ac5e MDL-73021 behat: Use assign generators
Replace steps that manually add assignment instances via the UI
and use Behat generators. This improves the speed of Behat test
runs.
2021-12-22 15:12:52 +08:00
AMOS bot 7295679d8f Automatically generated installer lang files 2021-12-22 00:07:29 +00:00
Andrew Nicols f58768ee9e MDL-72701 unit tests: Fix broken @covers annotations 2021-12-21 09:24:06 +08:00
Matthew Hilton 90d21c6351 MDL-71949 backup: Fix userid and add backup ID to logging 2021-12-21 11:18:31 +10:00
AMOS bot c8da07ae5f Automatically generated installer lang files 2021-12-21 00:07:26 +00:00
Paul Holden b8d2dfc18d MDL-73425 phpunit: document expected class and filename layout. 2021-12-20 18:55:32 +00:00
Marina Glancy 363cf89cee MDL-73420 core: make static cache compatible with PHP8.1 2021-12-20 17:07:23 +01:00
Shamim Rezaie fe8e792113 Merge branch 'MDL-73175-311' of https://github.com/NoelDeMartin/moodle into MOODLE_311_STABLE 2021-12-20 11:00:21 +11:00
Eloy Lafuente (stronk7) e14c046a17 MDL-73405 libraries: php80 compatibility fix to Horde Imap Client
The fix is already available upstream for versions 2.30.4 and up
See https://github.com/horde/Imap_Client/pull/13
2021-12-19 12:26:53 +01:00
Eloy Lafuente (stronk7) d02364e83b MDL-73405 phpunit: dataset fixes
This was detected when working in the renaming of test names:
- Fix file name, it was incorrectly named .test.php, now _test.php.
- Add namespace and rename testcase name to match file name.
- Fix php80 deprecation message about optional and required params
  order.
2021-12-19 12:26:53 +01:00
AMOS bot ebc715ceb2 Automatically generated installer lang files 2021-12-19 00:07:25 +00:00
Eloy Lafuente (stronk7) eac985d755 MDL-73348 phpunit: normalize all privacy provider tests
As far as now all them have correct privacy level2 namespace:
- Move them to "privacy" subdir.
- Rename the files to "provider_test.php", this includes old
  privacy_test.php and privacy_provider_test.php files
- Rename the testcase to provider_test too (to match file name)

Also, change some relative paths and comments to point to new
locations.
2021-12-17 14:21:09 +01:00
Eloy Lafuente (stronk7) d6e00bc466 MDL-73348 phpunit: privacy and privacy_provider testcase names
All privacy_test and privacy_provider_test classes:

- Namespaced with component\privacy.
- Fixed incorrect use statements with leading backslash.
- Changed code to point to global scope when needed.
- Renamed a few files to make all be privacy_test or privacy_provider_test.php
- All them passing individually.
- Complete runs passing too.
2021-12-17 14:21:09 +01:00
Paul Holden a8a8555b4f MDL-73402 block_admin_bookmarks: slightly relax section cleaning.
Allow '/' character in external page names.
2021-12-17 11:59:21 +00:00
Eloy Lafuente (stronk7) fd3e2cd428 weekly release 3.11.4+ 2021-12-17 11:47:55 +01:00
Noel De Martin d71c1a0776 MDL-73175 mod_glossary: Add behat generators 2021-12-17 07:51:37 +01:00
Paul Holden 25210e010a MDL-70348 core: fix upgrade note referring to $CFG->localrequestdir.
The change in 9fabe1dd referred to incorrect config property.
2021-12-15 08:56:46 +00:00
AMOS bot d332c8e507 Automatically generated installer lang files 2021-12-15 00:07:27 +00:00
Paul Holden 4a3290f39d MDL-73380 mod_workshop: add lang string for phase auto switch event. 2021-12-14 21:53:41 +00:00
Ilya Tregubov 696857a008 weekly release 3.11.4+ 2021-12-14 17:42:58 +02:00
Ilya Tregubov f6f44d8360 Merge branch 'install_311_STABLE' of https://git.in.moodle.com/amosbot/moodle-install into MOODLE_311_STABLE 2021-12-14 17:42:56 +02:00
Tien Nguyen cff5ca7c2d MDL-73189 File upload: Fix bug can upload more than maximum no. of files 2021-12-14 15:08:16 +07:00
Víctor Déniz d494218b19 Merge branch 'MDL-73039-311' of git://github.com/paulholden/moodle into MOODLE_311_STABLE 2021-12-13 19:31:05 +00:00
Sara Arjona 06eb4fd769 Merge branch 'MDL-69467-311' of https://github.com/sebastianberm/moodle into MOODLE_311_STABLE 2021-12-13 17:34:45 +01:00
Paul Holden 900d4a8039 MDL-73039 course: remove double encoding of course/site for download. 2021-12-13 10:09:10 +00:00
Peter Burnett 0773b6d88a MDL-72375 completion: Remove id from custom rules
The id stored in the default custom rules was the courseid, and would
incorrectly be applied to new activities as the activity id.
2021-12-13 11:52:32 +10:00
AMOS bot 94c4ff2443 Automatically generated installer lang files 2021-12-13 00:07:26 +00:00
AMOS bot 6a959efde8 Automatically generated installer lang files 2021-12-12 00:07:23 +00:00
AMOS bot eee9636851 Automatically generated installer lang files 2021-12-11 00:07:27 +00:00
Ilya Tregubov 0ae57526db Merge branch 'MDL-73278_311' of https://github.com/stronk7/moodle into MOODLE_311_STABLE 2021-12-10 18:51:59 +02:00
Sebastian Berm b8335d5474 MDL-69467 core_h5p: User uniqueness by id instead of email 2021-12-10 14:37:54 +01:00
Ilya Tregubov b47dec983c weekly release 3.11.4+ 2021-12-10 15:14:37 +02:00
Ilya Tregubov e032566df0 Merge branch 'install_311_STABLE' of https://git.in.moodle.com/amosbot/moodle-install into MOODLE_311_STABLE 2021-12-10 15:14:34 +02:00
AMOS bot c9e2652fa7 Automatically generated installer lang files 2021-12-10 00:07:24 +00:00
Eloy Lafuente (stronk7) cdf933d5c2 Merge branch 'MDL-73201-311-enfix' of https://github.com/mudrd8mz/moodle into MOODLE_311_STABLE 2021-12-09 23:18:16 +01:00
David Mudrák f52d41eeef MDL-73201 lang: Use changed strings in tests, too 2021-12-09 19:58:35 +01:00
Helen Foster a63c76ec70 MDL-73201 lang: Import fixed English strings (en_fix) 2021-12-09 19:58:34 +01:00
Sara Arjona 27f6b7542e Merge branch 'MDL-61554-311' of https://github.com/nwp90/moodle into MOODLE_311_STABLE 2021-12-09 17:51:06 +01:00
Eloy Lafuente (stronk7) 935742572d MDL-73278 phpunit: Add missing payment subsystem and fix dataprovider
While testing the changed unit tests one by one, the
payment/tests/helper_test.php was failing because of a mismatch
between the dataProvider data and the param type.

That made me think why that error was not popping in complete runs
and the answer is that the new (3.10) subsystem is not in the
phpunit.xml.dist file.

Hence, adding it and fixing the dataProvider mismatch.

Finally, it has been detected that some old ICU versions (< 62)
have an incorrect behaviour, not adding the required non-breaking
white-space between the currency abbreviation and the value. So
we are skipping some payment tests if that's found.
2021-12-09 10:36:51 +01:00
AMOS bot 513534f7af Automatically generated installer lang files 2021-12-09 00:07:21 +00:00
Daniel Ziegenberg dba6833aa2 MDL-69023 mod_lti: remove superfluous css rule
The mod_lti css rule .path-mod-lti .message conflicts with text
alignment in chats in message an can be removed. The last occurrence
of the css class "message" was deleted from the mod_lti code in 2011
with 036e84c389 (see MDL-30354).

Signed-off-by: Daniel Ziegenberg <daniel@ziegenberg.at>
2021-12-08 19:38:26 +01:00
Eloy Lafuente (stronk7) 3a08925b79 MDL-73278 phpunit: Fix namespaces for the renamed classes
Within the renamed classes in the previous commit, there were a
few incorrect namespace, this commit fixes all them to be
correct component[\api] ones.

Also fix a few incorrect leading backslashes in namespace/use
statements. And tests extending renamed tests.
2021-12-07 23:54:34 +01:00
Eloy Lafuente (stronk7) 2c30590d5d MDL-73278 phpunit: Rename already namespaced classes to match file name
These are the only cases 100% safe to apply the renaming of the
testcase class names to match the file names.

All other cases are not safe, because they are missing namespace
and may enter into name conflicts. Adding namespaces is not as
simple as imagined because it implies to, also, add a good number
of modifications to core. See the issue for more details.
2021-12-07 23:54:34 +01:00
Ilya Tregubov 059e523871 weekly release 3.11.4+ 2021-12-07 14:59:41 +02:00
Ilya Tregubov 9da96dbd6a Merge branch 'install_311_STABLE' of https://git.in.moodle.com/amosbot/moodle-install into MOODLE_311_STABLE 2021-12-07 14:59:39 +02:00
Andrew Nicols 5dc1b69ef7 Merge branch 'MDL-72796_M311_fix-retry-delay-for-redis-session-cache' of https://github.com/ziegenberg/moodle into MOODLE_311_STABLE 2021-12-07 10:52:06 +08:00
Jun Pataleta 1d16b4b752 Merge branch 'MDL-73202-311' of https://github.com/NoelDeMartin/moodle into MOODLE_311_STABLE 2021-12-07 10:38:33 +08:00
AMOS bot 8dd9f8482a Automatically generated installer lang files 2021-12-07 00:07:27 +00:00
Nick Phillips c27559d6b2 MDL-61554 calendar: Set $PAGE context in calendar export. 2021-12-07 12:23:32 +13:00
Paul Holden ecde575d00 MDL-73237 check: detect same role overrides in different contexts.
Prevents DML debugging from duplicate values in first field, also
fixes `context` class namespace and removes undefined `localrole`
property of $role object.
2021-12-06 16:23:22 +00:00
Paul Holden edd6f7f401 MDL-73256 tool_oauth2: save requireconfirmation property on create. 2021-12-06 14:28:30 +00:00
Jun Pataleta 092cc5ec3f Merge branch 'MDL-72870-311' of https://github.com/paulholden/moodle into MOODLE_311_STABLE 2021-12-06 18:43:14 +08:00
Jun Pataleta 2027f4011a Merge branch 'MDL-73153-311' of https://github.com/sarjona/moodle into MOODLE_311_STABLE 2021-12-06 17:43:22 +08:00
Brendan Heywood 8bd98c3bd8 MDL-73207 cron: Fixed cronspec field order bug 2021-12-06 17:54:26 +11:00
Shamim Rezaie 6cd7435119 Merge branch 'MDL-73245-311' of https://github.com/cameron1729/moodle into MOODLE_311_STABLE 2021-12-06 17:08:29 +11:00
Cameron Ball 98775c265b MDL-73245 cache: Fix bug with session lock debugging
When session lock debugging and read only sessions deubgging are both
enabled, session lock debugging becomes moot. This patch causes
the session lock deubgging code to exit early if read only sessions
debugging is enabled.
2021-12-06 12:16:19 +08:00
Daniel Ziegenberg 0ad2a91cdd MDL-72796 caching: fix retry delay for redis session cache
The random retry delay for redis session cache was calculated as
rand(100000, 500000) giving an effective retry delay of 100 seconds
to 500 seconds. That's off by a factor of a thousand! Using Redis as a
session cache and when the connection hangs, you can get random
"cannot obtain session lock" errors because it's waiting up to
500 seconds (or about 8.33 minutes) for a Redis connection.
This sets the delay to the originally intended 100ms to 500ms.
(see MDL-59866).

Signed-off-by: Daniel Ziegenberg <daniel@ziegenberg.at>
2021-12-05 17:09:32 +01:00
Eloy Lafuente (stronk7) 09b004629f Merge branch 'MDL-73253-311' of https://github.com/vmdef/moodle into MOODLE_311_STABLE 2021-12-03 18:52:29 +01:00
Víctor Déniz 29994e98de MDL-73253 ci: use setup-node action in GHA 2021-12-03 15:44:58 +00:00
Sara Arjona 0b626ac5e0 weekly release 3.11.4+ 2021-12-03 10:26:32 +01:00
Jun Pataleta 5f28929d64 Merge branch 'MDL-72789-311' of https://github.com/paulholden/moodle into MOODLE_311_STABLE 2021-12-03 12:16:48 +08:00
Shamim Rezaie a96887e70a Merge branch 'MDL-68944-311' of https://github.com/juancs/moodle into MOODLE_311_STABLE 2021-12-03 14:54:27 +11:00
Andrew Nicols 24ffb2cf6f Merge branch 'MDL-73195-311' of https://github.com/lameze/moodle into MOODLE_311_STABLE 2021-12-03 10:14:35 +08:00
Andrew Nicols df0d1ea93a Merge branch 'MDL-72846-311' of https://github.com/NoelDeMartin/moodle into MOODLE_311_STABLE 2021-12-03 08:29:49 +08:00
Eloy Lafuente (stronk7) 3982b8da9d Merge branch 'MDL-72728-311' of https://github.com/paulholden/moodle into MOODLE_311_STABLE 2021-12-02 18:57:10 +01:00
Noel De Martin 312c646c48 MDL-72846 testing: Add default block generators 2021-12-02 14:57:51 +01:00
Jun Pataleta 9097a7f414 Merge branch 'MDL-72785-311' of git://github.com/paulholden/moodle into MOODLE_311_STABLE 2021-12-02 17:06:15 +08:00
Simey Lameze fda79a220b MDL-73195 mod_url: prevent invalid urls from breaking the course 2021-12-02 16:58:15 +08:00
Andrew Nicols ff396418f7 MDL-73155 qtype_essay: Coding style fix 2021-12-02 14:43:25 +08:00
Andrew Nicols a6e991c75a Merge branch 'MDL-73155_311' of https://github.com/mkassaei/moodle into MOODLE_311_STABLE 2021-12-02 14:43:01 +08:00
Jun Pataleta 8c4cf07c54 Merge branch 'MDL-73142-311' of https://github.com/susyzan/moodle into MOODLE_311_STABLE 2021-12-02 14:30:25 +08:00
Andrew Nicols 3e141207a0 Merge branch 'MDL-73176-311' of https://github.com/paulholden/moodle into MOODLE_311_STABLE 2021-12-02 12:09:44 +08:00
Andrew Nicols 28150789b8 Merge branch 'mdl-68199-fix-311' of https://github.com/jaypha/moodle into MOODLE_311_STABLE 2021-12-02 11:55:32 +08:00
Andrew Nicols a71a1a67be Merge branch 'MDL-73205-311' of https://github.com/paulholden/moodle into MOODLE_311_STABLE 2021-12-02 11:45:49 +08:00
Andrew Nicols 0c0feb164f Merge branch 'MDL-73070_311' of https://github.com/timhunt/moodle into MOODLE_311_STABLE 2021-12-02 11:24:29 +08:00
Jason den Dulk bbee1d9e21 MDL-68199 setup: Fix invalid parameters to make_request_directory()
Removed invalid parameters from calls to make_request_directory()

Removing these parameters should have no effect on behaviour.
2021-12-02 07:44:46 +11:00
Eloy Lafuente (stronk7) 248edcf1b0 Merge branch 'MDL-70894-MOODLE_311_STABLE' of https://github.com/yankudriavtsev/moodle into MOODLE_311_STABLE 2021-12-01 19:10:53 +01:00
Eloy Lafuente (stronk7) eff3041098 Merge branch 'MDL-72791-311' of https://github.com/paulholden/moodle into MOODLE_311_STABLE 2021-12-01 17:13:38 +01:00
Sara Arjona ff285b448f Merge branch 'MDL-73140_311' of https://github.com/timhunt/moodle into MOODLE_311_STABLE 2021-12-01 12:29:53 +01:00
Shamim Rezaie 4307c81b65 Merge branch 'MOODLE_311_STABLE_MDL-59115' of https://github.com/mattporritt/moodle into MOODLE_311_STABLE 2021-12-01 14:53:57 +11:00
Matt Porritt 05127e02e7 MDL-59115 auth_oauth2: Set all mapped field of user
On account creation by Oauth2 all configured mapped user
fields are now saved in the user profile on user creation.

Co-Authored-By: SKOLL Learning Technologies
2021-12-01 03:14:48 +00:00
Paul Holden c092ab42af MDL-72870 mod_quiz: fix attempt navigation button alignment. 2021-11-30 23:21:50 +00:00
Paul Holden 0d99e663aa MDL-73176 forms: escape selector for active autocomplete element. 2021-11-30 20:08:45 +00:00
Eloy Lafuente (stronk7) 4f270213e7 weekly release 3.11.4+ 2021-11-30 19:01:13 +01:00
Eloy Lafuente (stronk7) f1f026cacf Merge branch 'install_311_STABLE' of https://git.in.moodle.com/amosbot/moodle-install into MOODLE_311_STABLE 2021-11-30 19:01:09 +01:00
Noel De Martin 2d5cdf107c MDL-73202 mod_forum: Add behat generators 2021-11-30 10:07:44 +01:00
Eloy Lafuente (stronk7) fa8cf48660 Merge branch 'MDL-73074-311' of https://github.com/paulholden/moodle into MOODLE_311_STABLE 2021-11-29 23:15:03 +01:00
Paul Holden b005d5d510 MDL-73205 forms: handle AJAX error in dynamic/modal form submission. 2021-11-29 18:36:38 +00:00
Paul Holden 4d08b631f7 MDL-72789 report_eventlist: improve filtering of report by component.
Instead of performing partial matching on the event component, which
could return false positives, do an exact match.
2021-11-29 09:20:18 +00:00
Jun Pataleta 66c48b3358 Merge branch 'MDL-70274-311-2' of https://github.com/lameze/moodle into MOODLE_311_STABLE 2021-11-29 12:17:18 +08:00
Simey Lameze 228232965b MDL-70274 core: fix Validate HTML and WCAG Check links 2021-11-29 12:11:33 +08:00
AMOS bot 8ed983a254 Automatically generated installer lang files 2021-11-27 00:07:35 +00:00
Paul Holden e61a1e9ec3 MDL-72728 behat: switch import course steps to native execute method.
The previous iteration using the behat_form_field class directly
didn't explicitly require the file that defines this class, and in
Goutte runs this led to fatal errors (class not found).
2021-11-26 19:07:46 +00:00
Sara Arjona 2fd9b4b822 weekly release 3.11.4+ 2021-11-26 15:25:53 +01:00
Sara Arjona 340196b809 NOBUG: Fixed SVG browser compatibility 2021-11-26 15:25:51 +01:00
Sara Arjona 480b9726f6 Merge branch 'install_311_STABLE' of https://git.in.moodle.com/amosbot/moodle-install into MOODLE_311_STABLE 2021-11-26 15:25:50 +01:00
Mahmoud Kassaei 1ed929a22b MDL-73155 qtype_essay: Errors when Allow attachments is reset to 'No' 2021-11-26 13:55:46 +00:00
Jun Pataleta b1b607f273 Merge branch 'MDL-72443-311' of https://github.com/paulholden/moodle into MOODLE_311_STABLE 2021-11-25 17:32:01 +08:00
Juan Segarra Montesinos a00045a050 MDL-68944 mod_workshop: Workshop skips scheduled allocation 2021-11-25 09:48:10 +01:00
AMOS bot f4985556b3 Automatically generated installer lang files 2021-11-25 00:07:24 +00:00
Eloy Lafuente (stronk7) c29478fdc6 Merge branch 'MDL-73054-311' of https://github.com/paulholden/moodle into MOODLE_311_STABLE 2021-11-24 23:57:08 +01:00
Eloy Lafuente (stronk7) 250f6a1b0f Merge branch 'MDL-72988-311' of https://github.com/paulholden/moodle into MOODLE_311_STABLE 2021-11-24 23:49:52 +01:00
Susanna Zanatta 10eac8c81e MDL-73142 filepicker: improved contrast in allowed file types list
Changed bootstrap class from text-muted to text-dark to bring the
contrast of listed file extensions above the Level AA pass mark.
2021-11-24 16:31:04 +00:00
Sara Arjona 9a21803f8f MDL-73153 badges: get image when it has more data
In some cases, image might have more fields rather than the URL.
This patch is for taking them into account and displaying the image
and also these information properly.
2021-11-24 10:28:07 +01:00
Yan Kudriavtsev 7b3767ec20 MDL-70894 enrol: Fixed return type for count_enrolled_users 2021-11-24 00:04:09 +02:00
Paul Holden 258208056c MDL-72785 course: remove double validation during category deletion.
Fixes issue from 0645319e that meant the category "Move into" field
was required even when user selected to "Delete all content".
2021-11-23 12:29:42 +00:00
Tim Hunt d40a865a2b MDL-73070 Behat: stop using no-longer-existant classes in behat_hooks 2021-11-23 10:59:26 +00:00
Ilya Tregubov 318dbbcb88 weekly release 3.11.4+ 2021-11-23 11:18:57 +02:00
Eloy Lafuente (stronk7) f94adf67d5 Merge branch 'MDL-73128-311' of https://github.com/sarjona/moodle into MOODLE_311_STABLE 2021-11-23 11:37:29 +08:00
Ilya Tregubov 6be3a43c3c Merge branch 'MDL-72967-311' of https://github.com/lameze/moodle into MOODLE_311_STABLE 2021-11-23 11:37:28 +08:00
Eloy Lafuente (stronk7) d31534bb87 Merge branch 'MDL-73095_311_v3' of https://github.com/TomoTsuyuki/moodle into MOODLE_311_STABLE
Added one extra TEXT column so we have it covered too.
2021-11-23 11:37:28 +08:00
Tim Hunt 42055d95cd MDL-73140 grade history: fix badly formatted lists 2021-11-22 23:51:05 +00:00
Paul Holden b6d4db166b MDL-73054 repository_googledocs: avoid $OUTPUT use in data provider. 2021-11-22 22:32:59 +00:00
Paul Holden 6eb8fe2896 MDL-73054 filter_emoticon: re-factor test data providers.
PHPUnit test dataProvider methods should not modify global state,
such as initializing $OUTPUT, as they can cause failures in
unrelated tests at a distance.
2021-11-22 22:32:48 +00:00
Sara Arjona 7ea7a17fb4 MDL-73128 badges: Fix warning with external badges 2021-11-22 16:32:03 +01:00
Paul Holden 3de2b5527f MDL-73074 forms: ensure autocomplete element is enhanced only once. 2021-11-22 10:25:25 +00:00
Eloy Lafuente (stronk7) bd9c2a4bc2 weekly release 3.11.4+ 2021-11-19 19:15:26 +01:00
Eloy Lafuente (stronk7) 8cb8e0d232 Merge branch 'install_311_STABLE' of https://git.in.moodle.com/amosbot/moodle-install into MOODLE_311_STABLE 2021-11-19 19:15:21 +01:00
Paul Holden ed5f906fbb MDL-72988 mod_lti: improved handling of missing tool endpoint. 2021-11-19 08:28:55 +00:00
Tomo Tsuyuki bbbfa6457f MDL-73095 core_ddl: Fix binary type field check 2021-11-19 12:48:34 +11:00
AMOS bot d0aa76458d Automatically generated installer lang files 2021-11-19 00:07:25 +00:00
Eloy Lafuente (stronk7) 2f7e8aee5a Merge branch 'MDL-71882-311' of https://github.com/andrewnicols/moodle into MOODLE_311_STABLE 2021-11-18 23:34:16 +01:00
Sara Arjona 8770bc0898 Merge branch 'MDL-70721-311' of git://github.com/rezaies/moodle into MOODLE_311_STABLE 2021-11-18 15:22:35 +01:00
Shamim Rezaie a4e8329337 Merge branch 'MDL-72887-M311' of https://github.com/michael-milette/moodle into MOODLE_311_STABLE 2021-11-18 22:37:36 +11:00
Michael Milette 0d0833980a MDL-72887 search: Tooltip added to navbar search icon. 2021-11-18 00:57:37 -05:00
AMOS bot c3db183b64 Automatically generated installer lang files 2021-11-18 00:07:23 +00:00
Jun Pataleta cc049c74c3 Merge branch 'MDL-72925_311_v2' of https://github.com/TomoTsuyuki/moodle into MOODLE_311_STABLE 2021-11-17 16:05:56 +08:00
Ilya Tregubov 7664fd2dc6 Merge branch 'MDL-69496_311' of https://github.com/1JackBlack1/moodle into MOODLE_311_STABLE 2021-11-17 09:02:23 +02:00
Andrew Nicols 5aedafd786 MDL-71882 grunt: Replace module names
When a third-party AMD module is provided with an included name we must
replace it with a name that we are able to use.

The structure of an AMD module define function is:

    [name], [dependencies], [callback]
    String, Array,          Function

Each of these is (strangely) optional.

We know that the name is the only String and will always be the first,
and we can use AST to remove a provided name before adding the
Moodle-specific name.

This should be a safe change and not lead to any changes in built code,
but will make it easier to include third-party code.

An additional logging line is also included to inform developers that a
change was made.
2021-11-17 09:20:41 +08:00
AMOS bot 317c441994 Automatically generated installer lang files 2021-11-17 00:07:28 +00:00
PraiseSatan 4124e8b4bb MDL-69496 quiz: Only validate completion if unlocked
Quiz completion settings are only validated if they are unlocked.
Undefined behaviour in the forms API results in the completion
settings 'require passing grade' and 'completion attempts exhausted'
not being sent to the process options function if completion
settings are locked. This resulted in the completion attempts
exhausted setting being disabled whenever the quiz was saved
as it did not detect the require passing grade setting.
This changes the behaviour so that validation is only performed
if the completion settings are unlocked.
A behat test is included to ensure the setting does not change.
2021-11-17 09:02:51 +11:00
Eloy Lafuente (stronk7) ba28c8f782 weekly release 3.11.4+ 2021-11-16 13:59:57 +01:00
Eloy Lafuente (stronk7) dd78b8f983 Merge branch 'install_311_STABLE' of https://git.in.moodle.com/amosbot/moodle-install into MOODLE_311_STABLE 2021-11-16 13:59:52 +01:00
Tomo Tsuyuki ff274fa59d MDL-72925 mod_forum: Filter discussion when grading 2021-11-16 15:24:50 +11:00
Jun Pataleta 4203758fa8 Merge branch 'MDL-72966-311' of https://github.com/NashTechOpenUniversity/moodle into MOODLE_311_STABLE 2021-11-16 11:38:55 +08:00
Faisal Kaleem d0c0a787dd MDL-72967 lib: fix typo in excellib insert_bitmap() method 2021-11-16 10:33:31 +08:00
AMOS bot b884ed5941 Automatically generated installer lang files 2021-11-16 00:07:24 +00:00
Shamim Rezaie bb1be809d1 MDL-70721 output: Remove redundant title
The format_string() function does half html escaping. It escapes < and >
characters, but does not escape ". Therefore, it put us in a situation
where neither {{}}, nor {{{}}} are suitable in templates. If we use {{}}
for an attribute (like title or aria-label), then < and > characters
will be double escaped. On the other hand, if we use {{{}}} there, a
double quote character will break HTML when it is used in an attribute.
Therefore, neither {{}}, nore {{{}}} are usable in html attributes.

Moreover, The title attribute here was redundant because it had the same
value as the link's text.
2021-11-16 10:09:11 +11:00
Shamim Rezaie c587c353c5 MDL-70721 output: remove {{#quote}} wherever it was misused
Also use the new {{#cleanstr}} helper where it was more appropriate
than the {{#str} helper.
2021-11-16 10:09:10 +11:00
Eloy Lafuente (stronk7) 4e66f86add Merge branch 'MDL-72096-311' of https://github.com/mickhawkins/moodle into MOODLE_311_STABLE 2021-11-15 19:13:09 +01:00
Eloy Lafuente (stronk7) c107be7b61 Merge branch 'MDL-72908-311' of https://github.com/paulholden/moodle into MOODLE_311_STABLE 2021-11-15 18:58:59 +01:00
Paul Holden 23b87ccdd7 MDL-72908 admin: correctly distinguish purging all/selected caches. 2021-11-15 12:20:03 +00:00
Michael Hawkins d5038f41fe MDL-72096 core: Add safe ORDER BY helpers for db sorting from user input
The new get_safe_orderby() and get_safe_orderby_multiple() methods
provide a centralised safe way for user submitted sorting values to be
incorporated into SQL ORDER BY. They do this by removing the need for
user submitted data to pass in any SQL and not allowing arbitrary
column values, instead using string keys which map to a predefined
list of allowed sortable columns.
2021-11-15 19:47:49 +08:00
Shamim Rezaie 3c9e9efc97 MDL-70721 core: a new mustache helper to clean string after get_string 2021-11-15 22:16:05 +11:00
Thong Bui 6eb4b2d437 MDL-72966 File upload: Uncaught Error from JS when uploading the file 2021-11-15 07:33:28 +07:00
PraiseSatan 8bfe7b0759 MDL-69496 form: Check if element has attributes
Checks if a form element has attributes before
trying to get the default value. This fixes
an error when trying to get the default value
for a frozen group which does not have the
attributes array.
2021-11-15 09:41:54 +11:00
Paul Holden ec0558f5ba MDL-72791 customfield: correct access checks for course search data. 2021-11-12 15:08:49 +00:00
Paul Holden 0efdee5e6e MDL-72443 files: support svg preview as with other image types. 2021-11-12 15:07:09 +00:00
Eloy Lafuente (stronk7) 5d7fa92613 weekly release 3.11.4+ 2021-11-12 13:40:33 +01:00
Eloy Lafuente (stronk7) fc47a37c54 Merge branch 'install_311_STABLE' of https://git.in.moodle.com/amosbot/moodle-install into MOODLE_311_STABLE 2021-11-12 13:40:29 +01:00
Jun Pataleta 4d15d33bee Merge branch 'MDL-61671-311' of git://github.com/jleyva/moodle into MOODLE_311_STABLE 2021-11-12 10:49:08 +08:00
Shamim Rezaie 8f22de6a46 Merge branch 'MDL-60850-311' of https://github.com/junpataleta/moodle into MOODLE_311_STABLE 2021-11-12 13:00:27 +11:00
Jun Pataleta a33234adf2 MDL-60850 mod_lti: Centre-align tool configure form elements 2021-11-12 09:41:49 +08:00
Jun Pataleta 5186a0bef8 Merge branch 'MDL-72982-311' of https://github.com/junpataleta/moodle into MOODLE_311_STABLE 2021-11-11 23:01:23 +08:00
Luuk Verhoeven c8a93bcabe MDL-72982 tool_dataprivacy: add class name to email table 2021-11-11 22:59:05 +08:00
Sara Arjona 2a31eb2aba Merge branch 'MDL-71751-311' of https://github.com/nguyenphuctien/moodle into MOODLE_311_STABLE 2021-11-11 12:44:33 +01:00
Andrew Nicols 0b18f96813 MDL-71751 js: Do not stop propagation on drop, and handle it properly 2021-11-11 15:57:26 +07:00
Jun Pataleta 41624e65d6 Merge branch 'MDL-72552-311' of https://github.com/spvickers/moodle into MOODLE_311_STABLE 2021-11-11 11:42:21 +08:00
Andrew Nicols 34e1739a71 Merge branch 'MDL-73026-311' of https://github.com/junpataleta/moodle into MOODLE_311_STABLE 2021-11-11 11:01:51 +08:00
Eloy Lafuente (stronk7) 8aab9fc84e Merge branch 'MDL-72696-311' of https://github.com/paulholden/moodle into MOODLE_311_STABLE 2021-11-10 19:21:06 +01:00
Jun Pataleta b68667b9c2 Merge branch 'MDL-72992-311' of git://github.com/cameron1729/moodle into MOODLE_311_STABLE 2021-11-10 18:38:11 +08:00
Juan Leyva b8c4c7694b MDL-61671 tool_mobile: Improve certificate checks
Support different curl implementations and skip last certificate checks in some cases.
2021-11-09 17:06:20 +01:00
AMOS bot 793359862b Automatically generated installer lang files 2021-11-09 00:07:27 +00:00
Sara Arjona 55aa143507 Merge branch 'MDL-72994-311' of https://github.com/lucaboesch/moodle into MOODLE_311_STABLE 2021-11-08 16:38:06 +01:00
Sara Arjona 5cb47da3f1 Merge branch 'MDL-72950_311' of https://github.com/stronk7/moodle into MOODLE_311_STABLE 2021-11-08 15:33:53 +01:00
Jun Pataleta 528f17d06e MDL-73026 theme: Override Bootstrap modal styles for close button
* Adjust the margins to accommodate the button outline so that it
doesn't look clipped.
* Inherit the opacity when the button receives focus to improve the
focus outline's contrast.
2021-11-08 21:44:35 +08:00
Paul Holden 7b22dff89a MDL-72696 behat: support inplace editable fields of type select.
If an inplace editable field is using the "select" type, we should
treat it as a select field when setting it's value during scenarios.
2021-11-08 13:12:25 +00:00
Eloy Lafuente (stronk7) da0f55caa1 MDL-72950 phpunit: Remove skipped tests now that the issue is fixed.
The problem (coincidence of contexts) was detected when running
oracle phpunit tests, so we skipped the tests as part of MDL-72743.

Now, with the problem fixed (previous commit), we can bring back
that test.
2021-11-06 11:06:36 +01:00
Eloy Lafuente (stronk7) 0de172734c MDL-72950 restore: Avoid qcat conflicts with matching contexts
Though it's really rare for this to happen (it only was discovered
when running unit tests with Oracle), it's possible to get
problems restoring courses when context ids in the backup file
do match existing contexts in the restore target site in certain
ways (see the issue for more information).

This change just ensures that every call to the method (that
happens 4 times, for sys, coursecat, course and module levels):

prechek_precheck_qbanks_by_level()

Is processed always for that level. Before the patch it was
possible (hardly but possible) to return question categories
belonging to another level when some qcats contexts were matching
between the backup file and the target site.
2021-11-06 11:06:35 +01:00
Eloy Lafuente (stronk7) e1ad263f90 Moodle release 3.11.4 2021-11-06 10:34:18 +01:00
Luca Bösch 708c3d4b90 MDL-72994 themes: Align Roles column in additional roles. 2021-11-05 23:59:21 +01:00
Ilya Tregubov 107dc9be23 weekly release 3.11.3+ 2021-11-05 19:18:33 +02:00
Ilya Tregubov 59f7f1c961 Merge branch 'install_311_STABLE' of https://git.in.moodle.com/amosbot/moodle-install into MOODLE_311_STABLE 2021-11-05 19:18:30 +02:00
Huong Nguyen 7293a38647 MDL-71918 Calendar: Improve capability checks when fetching events 2021-11-05 13:15:41 +08:00
Jun Pataleta 91a51bbf24 Merge branch 'MDL-72667-311-fix' of https://github.com/lameze/moodle into MOODLE_311_STABLE 2021-11-05 12:44:47 +08:00
Simey Lameze 05f4ac39fa MDL-72667 assign: change overdue message to darker red 2021-11-05 12:42:11 +08:00
Jun Pataleta fa9632cb54 Merge branch 'MDL-72679-311' of git://github.com/HuongNV13/moodle into MOODLE_311_STABLE 2021-11-05 12:40:55 +08:00
Andrew Nicols d905332e97 Merge branch 'MDL-72990-311' of https://github.com/rezaies/moodle into MOODLE_311_STABLE 2021-11-05 11:58:29 +08:00
Andrew Nicols ceba19a45c Merge branch 'MDL-71439_311' of https://github.com/mdjnelson/moodle into MOODLE_311_STABLE 2021-11-05 11:32:59 +08:00
Jun Pataleta 3dcfe5a4c0 Merge branch 'MDL-72688-311' of git://github.com/rezaies/moodle into MOODLE_311_STABLE 2021-11-05 11:23:43 +08:00
Víctor Déniz ddc368559d Merge branch 'MDL-72945-311' of git://github.com/sarjona/moodle into MOODLE_311_STABLE 2021-11-05 01:47:46 +00:00
Shamim Rezaie a7889e19ee MDL-72688 contentbank: Some accessibility improvements described below
- Label the table/list with aria-label
- Hide sort buttons from screen-readers and use aria-sort instead
- Remove the redundant title from decorative thumbnails
2021-11-05 12:46:05 +11:00
Shamim Rezaie eaaf4e9486 MDL-72688 contentbank: Add and maintain appropriate aria roles
Also moved header text into the sorting button as per the example at
https://dequeuniversity.com/library/aria/table-sortable
2021-11-05 12:46:05 +11:00
Víctor Déniz adc358399e Merge branch 'MDL-72969-311' of https://github.com/paulholden/moodle into MOODLE_311_STABLE 2021-11-05 01:19:37 +00:00
AMOS bot 55a21bfe31 Automatically generated installer lang files 2021-11-05 00:07:25 +00:00
Jun Pataleta 1cdea1f1ea Merge branch 'MDL-72667-311' of https://github.com/lameze/moodle into MOODLE_311_STABLE 2021-11-04 22:05:57 +08:00
Simey Lameze 7909173f5d MDL-72667 message: fix contrast issue in the drawer 2021-11-04 21:14:21 +08:00
Simey Lameze bf711cc097 MDL-72667 notifications: improve colour contrast 2021-11-04 21:06:01 +08:00
Simey Lameze 162751f709 MDL-72667 lesson: improve colour contrast of correct text 2021-11-04 21:04:44 +08:00
Simey Lameze 93dc1eb447 MDL-72667 assign: improve contrast of not graded text 2021-11-04 21:04:44 +08:00
Jun Pataleta e2e6731171 Merge branch 'MDL-72672-311' of https://github.com/junpataleta/moodle into MOODLE_311_STABLE 2021-11-04 18:23:00 +08:00
Simey Lameze 8c59e41bfa MDL-72672 lesson: make edit collapsed table responsive 2021-11-04 18:20:35 +08:00
Simey Lameze b1f87d5ef0 MDL-72672 lesson: make detailed stats table responsive 2021-11-04 18:20:35 +08:00
Simey Lameze b874c56751 MDL-72672 lesson: make attempts table responsive 2021-11-04 18:20:34 +08:00
Simey Lameze 4c4abafedc MDL-72672 lesson: add label for true/false checkboxes 2021-11-04 18:20:33 +08:00
Simey Lameze 36e2b9cd95 MDL-72672 lesson: add label for multichoice checkboxes 2021-11-04 18:20:32 +08:00
Simey Lameze 214c3994df MDL-72672 lesson: remove unnecessary nowrap
This commit also remove some deprecated table properties as well.
2021-11-04 18:20:31 +08:00
Simey Lameze 7e69d60652 MDL-72672 mod_lesson: add aria-label to actions select element 2021-11-04 18:20:30 +08:00
Sara Arjona cbc7cdb686 Merge branch 'MDL-72949-311' of https://github.com/NashTechOpenUniversity/moodle into MOODLE_311_STABLE 2021-11-04 10:33:29 +01:00
Cameron Ball f372737b2f MDL-72992 assign: Allow gradebook to override feedback when empty 2021-11-04 15:47:21 +08:00
Nathan Nguyen 41868f952b MDL-72679 qtype_ddmarker: Fix incorrect positions in multiple viewportss
Co-authored-by: Huong Nguyen <huongnv13@gmail.com>
2021-11-04 14:42:50 +07:00
Jun Pataleta 70bb50e3b7 Merge branch 'MDL-72668-311' of git://github.com/rezaies/moodle into MOODLE_311_STABLE 2021-11-04 12:04:01 +08:00
Shamim Rezaie c6f3ea3932 MDL-72990 badges: Use imagecaption as alternative text for badge image 2021-11-04 15:03:32 +11:00
Shamim Rezaie d0d82e9f34 MDL-72668 block_badges: Add alt attribute to badge images 2021-11-04 14:17:36 +11:00
Shamim Rezaie ced90c8a18 MDL-72668 core: Highlight the focused tree item in a tree. 2021-11-04 14:17:35 +11:00
Shamim Rezaie 6e5c04f6c5 MDL-72668 block_private_files: Switched from YUI to core/tree AMD 2021-11-04 14:17:33 +11:00
Víctor Déniz 99c7eacdeb Merge branch 'MDL-72895-311' of git://github.com/lameze/moodle into MOODLE_311_STABLE 2021-11-04 01:47:38 +00:00
Paul Holden 7012c95569 MDL-70823 qtype_ddwtos: new method for safer feedback unserializing. 2021-11-03 16:57:15 +01:00
Paul Holden cdc80e6bfd MDL-70823 mod: safely parse module display options array. 2021-11-03 16:57:15 +01:00
Paul Holden 294fa223c9 MDL-70823 blocks: safer unserializing during block restore. 2021-11-03 16:57:15 +01:00
Paul Holden f8fed9810a MDL-70823 core: safer alternative for unserializing objects. 2021-11-03 16:57:14 +01:00
sangnguyena d01f8ac051 MDL-72949 WS: Return coursegraceperiod setting in tool_mobile_get_config 2021-11-03 16:12:13 +07:00
Ilya Tregubov 0316f650ed Merge branch 'MOODLE_311_MDL-72953' of https://github.com/golenkovm/moodle into MOODLE_311_STABLE 2021-11-03 10:34:47 +02:00
Andrew Nicols e504d7159c MDL-72894 courseexport: Whitespace fix 2021-11-03 16:11:27 +08:00
Andrew Nicols 98a784483a Merge branch 'MDL-72894-311' of https://github.com/paulholden/moodle into MOODLE_311_STABLE 2021-11-03 16:11:23 +08:00
Sara Arjona 72a7266a87 Merge branch 'MDL-72977-311' of https://github.com/juancs/moodle into MOODLE_311_STABLE 2021-11-03 09:04:00 +01:00
Ilya Tregubov 3cb24afce3 Merge branch 'MDL-71872-311' of https://github.com/HuongNV13/moodle into MOODLE_311_STABLE 2021-11-03 09:27:24 +02:00
Jun Pataleta 7bf69ea780 Merge branch 'MDL-72687-311' of git://github.com/lameze/moodle into MOODLE_311_STABLE 2021-11-03 11:57:17 +08:00
Mikhail Golenkov 7552335ccf MDL-72953 core_lang: Add string for new timezone Pacific/Kanton 2021-11-03 11:43:14 +11:00
AMOS bot af5e30b2b2 Automatically generated installer lang files 2021-11-03 00:07:26 +00:00
Paul Holden 1cdacd7771 MDL-72370 badges: require sesskey to remove related badge. 2021-11-02 18:04:15 +01:00
Ilya Tregubov fa363b52eb MDL-70887 mlbackend_python: Update to latest version. 2021-11-02 18:04:15 +01:00
Simey Lameze 2a22a20251 MDL-72571 tool_filetypes: change extension param to PARAM_ALPHANUMEXT 2021-11-02 18:04:15 +01:00
Sara Arjona 5ce9c733ce Merge branch 'MDL-72857-311' of https://github.com/paulholden/moodle into MOODLE_311_STABLE 2021-11-02 18:01:06 +01:00
Eloy Lafuente (stronk7) 8ecf433c53 weekly release 3.11.3+ 2021-11-02 14:07:54 +01:00
Eloy Lafuente (stronk7) a4aefa9c98 Merge branch 'install_311_STABLE' of https://git.in.moodle.com/amosbot/moodle-install into MOODLE_311_STABLE 2021-11-02 14:07:49 +01:00
Juan Segarra Montesinos 40124ef728 MDL-72977 qtype_essay: Honor Information for graders text format. 2021-11-02 12:21:38 +01:00
Simey Lameze 66cf7b94db MDL-72687 assign: move labels for toggle zoom icons to the <a> 2021-11-02 13:55:25 +08:00
Simey Lameze 04e8993910 MDL-72687 assign: move labels for collapse buttons to the button 2021-11-02 13:55:25 +08:00
Simey Lameze 96ea7a04ed MDL-72687 assign: remove title attr from view all submissions link 2021-11-02 13:55:25 +08:00
Simey Lameze 7137b20762 MDL-72687 assign: move label from the edit settings icon to <a> 2021-11-02 13:55:25 +08:00
Simey Lameze 6cb38c56fa MDL-72687 assign: remove presentation role from profile image 2021-11-02 13:55:25 +08:00
Simey Lameze f619fb8df4 MDL-72687 assign: fix email and due date cut off whem zooming 2021-11-02 13:55:25 +08:00
Simey Lameze 994952712c MDL-72687 assign: fix colour picker broken aria menu 2021-11-02 13:55:25 +08:00
Simey Lameze 77a84ad325 MDL-72687 assign: fix stamp picker broken aria menu 2021-11-02 13:55:25 +08:00
Simey Lameze ea35916f09 MDL-72687 assign: fix change filter element tab navigation 2021-11-02 13:55:24 +08:00
Simey Lameze 380b565487 MDL-72687 assign: use correct aria role for toolbar 2021-11-02 13:55:24 +08:00
Simey Lameze fe7b49250d MDL-72687 assign: add missing label to change user element 2021-11-02 13:55:24 +08:00
Simey Lameze e0077b7175 MDL-72687 assign: display a more friendly link when not graded 2021-11-02 13:55:24 +08:00
Simey Lameze 210c80e48e MDL-72687 assign: add missing aria-label to prev/next arrows 2021-11-02 13:55:24 +08:00
Simey Lameze 6f1773b841 MDL-72687 form: only add legend tag if a label is set 2021-11-02 13:55:24 +08:00
Andrew Nicols eb6a7272f9 Merge branch 'MDL-72884-311' of git://github.com/paulholden/moodle into MOODLE_311_STABLE 2021-11-02 11:34:07 +08:00
Andrew Nicols 63f865a594 Merge branch 'MDL-72767-m311' of https://github.com/NeillM/moodle into MOODLE_311_STABLE 2021-11-02 11:28:43 +08:00
AMOS bot 1808fd1d22 Automatically generated installer lang files 2021-11-02 00:07:26 +00:00
Paul Holden 78f2c07d30 MDL-72969 output: correct ansi colour format codes for check results. 2021-11-01 17:12:05 +00:00
Huong Nguyen 521591639c MDL-71872 Questions: The placeholder disappears when double-clicking 2021-11-01 17:30:23 +07:00
Paul Holden 40451d3a90 MDL-72857 badges: filter site/course name when showing issued badge. 2021-11-01 10:20:52 +00:00
Neill Magill 137a1ef570 MDL-72767 forum: Stop duplicate digests being created
This change is to stop there being a possibility of 2 digests tasks
being created for a user on the day that MDL-72767 is applied.
2021-11-01 08:50:29 +00:00
Neill Magill 29f8071c3b MDL-72767 forum: Ensure digests are sent
Before this change if a new post was made after the digest time but
before todays daily digest had been sent the run time on the digest
would be set to the next day resulting in no digest being sent to
the user.

By adding the server midnight to the custom data on the task we
ensure that in this case a new adhoc task is created for the next
day leaving the current one to get processed.

Server midnight is used so that if the digest time setting is
changed we would not get two tasks queued for the same day.
2021-11-01 08:50:28 +00:00
Neill Magill 23f8a8b2d5 MDL-72767 forum: Fix PHPDoc 2021-11-01 08:50:28 +00:00
Andrew Nicols fcbb050b48 Merge branch 'MDL-72921_311' of https://github.com/stronk7/moodle into MOODLE_311_STABLE 2021-11-01 08:55:32 +08:00
AMOS bot 3dd0115779 Automatically generated installer lang files 2021-10-30 00:07:25 +00:00
Eloy Lafuente (stronk7) b97643453d MDL-72921 generators: exported users now match the plan size definition
Before this patch the exported users (to csv file that jmeter consumes)
were all the enrolled users in the test course. And that's ok when the
number of users enrolled match the number of concurrent threads planned
for a jmeter plan (each thread is a user).

But when both numbers don't match, that can lead to the jmeter plan
not behaving as expected, because it iterates over the excessive users
in the file, leading to some users having run 5 loops, others 4...

The only way to make results more consistent is to, always, ensure that
the number of users exported for the plan match the plan size and not
the site size.

And that's what this issue exactly does, restrict the export to the
number of threads that the plan will have. So every user always runs
the very same number of loops.
2021-10-29 18:03:44 +02:00
Eloy Lafuente (stronk7) ee1c3d9837 weekly release 3.11.3+ 2021-10-29 17:10:11 +02:00
Eloy Lafuente (stronk7) f8c673b03c Merge branch 'install_311_STABLE' of https://git.in.moodle.com/amosbot/moodle-install into MOODLE_311_STABLE 2021-10-29 17:10:07 +02:00
Eloy Lafuente (stronk7) acf393873e MDL-72743 phpunit: Skip test until MDL-72950 is fixed
It's good to keep the test because it's not easy to
reproduce the issue to be fixed. Part of the fix will
be to remove this skip.
2021-10-29 13:59:38 +02:00
Huong Nguyen 3cef1996eb MDL-72895 Assignment: Fix colour contrast for grading navigation 2021-10-29 18:53:13 +08:00
Shamim Rezaie 3c1f14fb22 Merge branch 'MDL-72874-311' of git://github.com/andrewnicols/moodle into MOODLE_311_STABLE 2021-10-29 03:34:47 +11:00
Shamim Rezaie 82e055104c Merge branch 'MDL-72924-fix-component-initialisation-for-performance-checks-MOODLE_311_STABLE' of https://github.com/keevan/moodle into MOODLE_311_STABLE 2021-10-29 02:57:01 +11:00
Sara Arjona 3fa45f00c6 MDL-72945 badges: use default issuer contact
The defaultissuercontact was ignored if the sitebackpack email was set
to empty string..
2021-10-28 17:47:20 +02:00
Víctor Déniz fab5e031f9 Merge branch 'MDL-72912_311' of https://github.com/timhunt/moodle into MOODLE_311_STABLE 2021-10-28 15:45:28 +01:00
Víctor Déniz 9afd3da2b3 Merge branch 'MDL-72901_311' of https://github.com/timhunt/moodle into MOODLE_311_STABLE 2021-10-28 13:49:10 +01:00
Ilya Tregubov fb800de092 Merge branch 'MDL-72670-311' of git://github.com/cameron1729/moodle into MOODLE_311_STABLE 2021-10-28 13:14:53 +02:00
Eloy Lafuente (stronk7) 0a8666b01a MDL-72743 tests: tidy up the new test with NS/name/covers
Ideally any new test should be using a class name matching
the file name, and to use namespace when clearly belonging to
a component (sub-namespace also allowed for better accuracy).

And, also, adding a @covers label to indicate which class
(preferred, method is also possible) is being covered with the test.
2021-10-28 13:11:37 +02:00
Eloy Lafuente (stronk7) 48c3f683a6 Merge branch 'MDL-72743-311' of git://github.com/paulholden/moodle into MOODLE_311_STABLE 2021-10-28 13:11:27 +02:00
Andrew Nicols 256242cfd7 Merge branch 'MDL-72871_311' of https://github.com/stronk7/moodle into MOODLE_311_STABLE 2021-10-28 14:16:10 +08:00
Jun Pataleta 8850a21f66 Merge branch 'MDL-72316-311-2' of git://github.com/mickhawkins/moodle into MOODLE_311_STABLE 2021-10-28 13:50:27 +08:00
Michael Hawkins 0f6ab8bf12 MDL-72316 filelib: Add ability for modules to directly load SVG images
This also implements the functionality for SCORM packages, which may
have SVG images embedded within their content which require loading
directly (and are only created by users with appropriate risk flag).
2021-10-28 12:58:41 +08:00
Kevin Pham c21d587016 MDL-72924 check: Fix component initialisation for performance checks 2021-10-28 14:25:48 +11:00
Eloy Lafuente (stronk7) 7165c2ac74 Merge branch 'MDL-72879-311-enfix' of git://github.com/mudrd8mz/moodle into MOODLE_311_STABLE 2021-10-27 22:12:24 +02:00
Jun Pataleta 0421a9aba5 Merge branch 'MDL-72669-311' of git://github.com/rezaies/moodle into MOODLE_311_STABLE 2021-10-27 15:07:38 +08:00
Mark Nelson 53a4d06a8d MDL-71439 core_grades: return a blank mustache template for letters 2021-10-27 12:20:21 +08:00
Mark Nelson 6070bbb37b MDL-71439 mod_forum: display user grade from web service 2021-10-27 12:20:21 +08:00
Mark Nelson f13e3235c4 MDL-71439 core_grades: return result of new method in web services 2021-10-27 12:20:21 +08:00
Mark Nelson 20b3b4c38d MDL-71439 core_grades: add new method 'get_formatted_grade_for_user' 2021-10-27 12:20:21 +08:00
Mark Nelson 641b5a27ab MDL-71439 core_grades: fixed undefined class issues 2021-10-27 12:20:21 +08:00
Mark Nelson ea996d378b MDL-71439 core_grades: remove returning null when not possible
The method explicitly declares 'stdClass' as the return type.
2021-10-27 12:20:21 +08:00
AMOS bot f4f8118ad6 Automatically generated installer lang files 2021-10-27 00:07:26 +00:00
Eloy Lafuente (stronk7) dd89bfab41 MDL-72871 cleanup: Remove incorrect whitespace from codebase
Differences can be checked with git diff --ignore-all-space and
that will show that the only non-whitespace change is in a test
in the git lib/tests/html2text_test.php file. In that case the
whitespace has been replaced by a quoted string (of whitespaces)
keeping the test 100% equivalent and workarrounding the whitespace.
2021-10-26 17:19:17 +02:00
Stephen Vickers 38882aa139 MDL-72552 mod_lti: Add context_memberships_v2_url custom parameter 2021-10-26 15:49:25 +01:00
Víctor Déniz b8e5f7b428 weekly release 3.11.3+ 2021-10-26 13:44:06 +01:00
Víctor Déniz bb033deac1 Merge branch 'install_311_STABLE' of https://git.in.moodle.com/amosbot/moodle-install into MOODLE_311_STABLE 2021-10-26 13:44:00 +01:00
Tim Hunt 90d04a010b MDL-72912 questions: fix type of question_display_options::$context 2021-10-26 08:06:19 +01:00
Helen Foster 6509786f2b MDL-72879 lang: Import fixed English strings (en_fix) 2021-10-25 20:57:04 +02:00
Paul Holden 2a6554678e MDL-72894 course: format name and summary data for download.
The names and summaries of course elements (i.e. the course
itself, plus sections and modules) included when downloading
it's content are now passed through appropriate methods to
format their values.
2021-10-25 08:08:01 +01:00
Andrew Nicols 8bd492084d Merge branch 'MDL-71750-311' of https://github.com/NashTechOpenUniversity/moodle into MOODLE_311_STABLE 2021-10-25 13:58:27 +08:00
AMOS bot ba376027e8 Automatically generated installer lang files 2021-10-24 00:07:27 +00:00
Tim Hunt f89a6106fa MDL-72901 question: add missing {$a} in string attemptfinishedsubmitting 2021-10-22 23:15:58 +01:00
Ilya Tregubov fa492071fe weekly release 3.11.3+ 2021-10-22 12:49:04 +02:00
Shamim Rezaie 6215cbba29 MDL-72669 qtype_multianswer: Replace empty option with NBSP 2021-10-22 16:02:19 +11:00
Víctor Déniz 9b67243b6b Merge branch 'MDL-72607-MOODLE-311-STABLE_fix_media_vimeo_url_parser' of https://github.com/praxisdigital/moodle into MOODLE_311_STABLE 2021-10-22 00:02:32 +01:00
Paul Holden 544ee202ca MDL-72884 atto_image: improve svg support in editor dialogue.
Where the dimensions of an image are not present, we should use
sensible defaults so that the dialogue is still usable.
2021-10-21 23:58:32 +01:00
Paul Holden fe3441d95f MDL-72743 mod_quiz: verify user mapping prior to restoring attempts. 2021-10-21 08:26:41 +01:00
Eloy Lafuente (stronk7) d524f2eadc Merge branch 'MDL-72013-311' of git://github.com/andrewnicols/moodle into MOODLE_311_STABLE 2021-10-21 09:23:04 +02:00
Andrew Nicols 8159824033 Merge branch 'MDL-72507-311' of https://github.com/NashTechOpenUniversity/moodle into MOODLE_311_STABLE 2021-10-21 12:57:36 +08:00
Andrew Nicols babe07eec3 MDL-72874 behat: Allow behat window sizes to be modified during run
In some situations it is useful to modify the requested screensize by a
modifier. This allows for failing tests to be rerun at a different
screensize, where the original screensize triggered a failure for some
size-related reason.
2021-10-21 10:26:01 +08:00
Andrew Nicols e88926fb4f MDL-72013 js: Configure eslint-jsdoc plugin
This change adds configuration for the eslint-jsdoc plugin in order to
detect the following errors with jsdoc blocks:
* missing params
* params in incorrect order
* params with no type defined
* properties incorrectly defined
* incorrect use of @package
* incorrect values for @access

In addition, warnings will be thrown where indentation is incorrect.
2021-10-21 08:52:57 +08:00
Andrew Nicols 0d6e90470b MDL-72013 js: Add eslint-jsdoc plugin 2021-10-21 08:52:57 +08:00
Andrew Nicols a5c1b7924d MDL-72013 js: Fix jsdocs to meet stricter eslint 2021-10-21 08:52:57 +08:00
Ilya Tregubov be58e75573 Merge branch 'MDL-72639-311' of git://github.com/paulholden/moodle into MOODLE_311_STABLE 2021-10-20 13:01:01 +02:00
Eloy Lafuente (stronk7) ff37cc27be Merge branch 'MDL-72849-m311' of https://github.com/sammarshallou/moodle into MOODLE_311_STABLE 2021-10-19 22:17:15 +02:00
sam marshall b449a10a09 MDL-72849 tool_behat: Use of xpath name() not compatible with Firefox
The xpath name() function returns upper-case e.g. 'IMG' in Firefox and
lower-case e.g. 'img' in Chrome.
2021-10-19 13:49:52 +01:00
Ilya Tregubov 68cd3002ce Merge branch 'MDL-71270-311' of git://github.com/mickhawkins/moodle into MOODLE_311_STABLE 2021-10-19 14:45:30 +02:00
Eloy Lafuente (stronk7) 261bc97b3e weekly release 3.11.3+ 2021-10-19 12:51:49 +02:00
Eloy Lafuente (stronk7) 4ef90e61e9 Merge branch 'install_311_STABLE' of https://git.in.moodle.com/amosbot/moodle-install into MOODLE_311_STABLE 2021-10-19 12:51:44 +02:00
Andrew Nicols b71cc1f99d MDL-71785 mod_quiz: Correct string as per reviewer feedback 2021-10-19 11:20:26 +08:00
Andrew Nicols 932c5faef9 Merge branch 'MDL-71785_311' of https://github.com/StudiUM/moodle into MOODLE_311_STABLE 2021-10-19 11:20:24 +08:00
Sara Arjona 49285bf337 Merge branch 'MDL-72590-311' of git://github.com/lucaboesch/moodle into MOODLE_311_STABLE 2021-10-18 17:38:38 +02:00
Luca Bösch e8f4b6ff60 MDL-72590 enrol: Course in success message after unenroll passes filter 2021-10-18 16:38:02 +02:00
Sara Arjona 8639d45416 Merge branch 'MDL-72064-311' of https://github.com/NashTechOpenUniversity/moodle into MOODLE_311_STABLE 2021-10-18 12:59:44 +02:00
Michael Hawkins 800d0e7ad4 MDL-71270 core: Updated security.txt expiry 2021-10-18 17:14:07 +08:00
Sam Møller 81c0b420c6 MDL-72607 media_vimeo: Fix vimeo URL parser
Fix vimeo URL parser to support the new vimeo URL format with privacy
settings (the video with password or domain restricted setting).
For example "https://vimeo.com/123456789/2bffff0000" the plugin must
parse the URL "https://player.vimeo.com/video/123456789?h=2bffff0000"
to the iframe source to make it compatible with the new vimeo URL
format.
See more about vimeo video privacy settings at
https://vimeo.com/blog/post/video-privacy-explained/
2021-10-18 08:52:38 +02:00
Andrew Nicols 5d54d89044 Merge branch 'MDL-65943-311' of git://github.com/HuongNV13/moodle into MOODLE_311_STABLE 2021-10-18 14:04:41 +08:00
Huong Nguyen ed3f7bb078 MDL-65943 media_videojs: add videojs-ogvjs plugin
VideoJS now support to play Ogg Vorbis/Opus/Theora and WebM VP8/VP9/AV1 video on:
 - Safari on Mac OS
 - Safari on iPhone OS
 - Safari on iPad OS
2021-10-18 11:39:59 +07:00
AMOS bot b881fff43f Automatically generated installer lang files 2021-10-16 00:07:33 +00:00
Shamim Rezaie ea0487cdef weekly release 3.11.3+ 2021-10-16 00:29:22 +11:00
Shamim Rezaie 44749626b0 Merge branch 'MDL-71344-311' of git://github.com/HuongNV13/moodle into MOODLE_311_STABLE 2021-10-15 14:24:56 +11:00
Jun Pataleta 9b83cae1b5 Merge branch 'MDL-72623_311' of https://github.com/stronk7/moodle into MOODLE_311_STABLE 2021-10-15 09:47:21 +08:00
Jun Pataleta cc4e898144 Merge branch 'MDL-72807_311' of https://github.com/stronk7/moodle into MOODLE_311_STABLE 2021-10-15 09:08:21 +08:00
Eloy Lafuente (stronk7) 1114a3755a Merge branch 'MDL-26633-311-workshopnumofreviews' of git://github.com/mudrd8mz/moodle into MOODLE_311_STABLE 2021-10-14 22:40:52 +02:00
Eloy Lafuente (stronk7) 95694f0965 Merge branch 'MDL-68325-311' of git://github.com/odeialba/moodle into MOODLE_311_STABLE 2021-10-14 22:19:31 +02:00
Eloy Lafuente (stronk7) 5912b69773 Merge branch 'MDL-72464-311' of https://github.com/paulholden/moodle into MOODLE_311_STABLE 2021-10-14 22:02:15 +02:00
Eloy Lafuente (stronk7) de1f45f535 MDL-72807 behat: Add a few more @skip_chrome_zerosize tags
This is the 3rd round adding the tags to some scenarios
detected to be failing with zerosize problems lately.

Note that @ MDL-71108, the final solution will happen, say
switching to own webdriver till the upstream one is fixed
or whatever. Our @skip_chrome_zerosize solution is just a
workaround to have all those scenarios detected and ignored
by normal runs.
2021-10-14 16:16:52 +02:00
Eloy Lafuente (stronk7) 4c3a318ffa MDL-72623 nodejs: Bump from v14.15.0 to v14.18.0
Without modifying any installed package or dependency
because, after trying to do so, the updated stuff is huge
and leads to some JS validation / minimisation problems.
2021-10-13 09:49:53 +02:00
Andrew Nicols 65ad94b87c weekly release 3.11.3+ 2021-10-13 09:40:48 +08:00
Andrew Nicols 74a41120d6 Merge branch 'install_311_STABLE' of https://git.in.moodle.com/amosbot/moodle-install into MOODLE_311_STABLE 2021-10-13 09:40:45 +08:00
AMOS bot 35ea0a22e3 Automatically generated installer lang files 2021-10-13 00:07:24 +00:00
Víctor Déniz 318637c781 Merge branch 'MDL-72498-311' of git://github.com/paulholden/moodle into MOODLE_311_STABLE 2021-10-12 15:34:11 +08:00
Huong Nguyen 06858a584a MDL-71344 questions: Improve event handler for Drag n Drop family 2021-10-11 11:05:14 +07:00
Andrew Nicols 6f4d296da2 Merge branch 'MDL-66203-311' of git://github.com/rezaies/moodle into MOODLE_311_STABLE 2021-10-11 08:36:54 +08:00
Paul Holden b413ff4684 MDL-72639 admin: consistent primary buttons during site upgrade. 2021-10-10 20:43:18 +01:00
Paul Holden 72b8b2e858 MDL-72498 report_eventlist: 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).
2021-10-10 20:41:43 +01:00
Paul Holden c250f825ed MDL-72464 webservice: fix detection of non-expiring external tokens. 2021-10-10 20:40:38 +01:00
David Mudrák a2a309f9a0 MDL-26633 workshop: Allow to randomly allocate more than 30 reviews
For classes with many students, there may be valid cases for having more
than 30 reviews per submission / reviewer.

The patch changes the type of the input field so that it can freely
editable to any integer value.
2021-10-08 17:10:36 +02:00
Sara Arjona 0850628c6c weekly release 3.11.3+ 2021-10-08 12:43:20 +02:00
Sara Arjona 2082bc6a89 Merge branch 'install_311_STABLE' of https://git.in.moodle.com/amosbot/moodle-install into MOODLE_311_STABLE 2021-10-08 12:43:16 +02:00
Cameron Ball 2de9208ce8 MDL-72670 session: Correct read only debugging logic
Prior to this patch the debugging mode (when enabled) would trigger
on everywhere, regardless of whether or not READ_ONLY_SESSION is defined.

This patch modifies that behaviour so that the debugging only kicks in
if READ_ONLY_SESSION is defined and set to true.
2021-10-08 15:12:03 +08:00
AMOS bot 31f3479fbf Automatically generated installer lang files 2021-10-08 00:07:26 +00:00
Víctor Déniz 221ed2ac87 Merge branch 'MOODLE_311_MDL-64576' of https://github.com/golenkovm/moodle into MOODLE_311_STABLE 2021-10-07 22:29:50 +01:00
Eloy Lafuente (stronk7) 2266158778 Merge branch 'MDL-71306-311' of https://github.com/paulholden/moodle into MOODLE_311_STABLE 2021-10-07 23:10:08 +02:00
Eloy Lafuente (stronk7) e0c0c1dd17 Merge branch 'MDL-72674-311' of git://github.com/junpataleta/moodle into MOODLE_311_STABLE 2021-10-07 22:54:00 +02:00
Eloy Lafuente (stronk7) bc7c322c62 Merge branch 'MDL-72309-311' of git://github.com/paulholden/moodle into MOODLE_311_STABLE 2021-10-07 22:42:57 +02:00
Eloy Lafuente (stronk7) c44a461146 Merge branch 'MDL-72635-311' of git://github.com/lameze/moodle into MOODLE_311_STABLE 2021-10-07 22:39:04 +02:00
Eloy Lafuente (stronk7) 9a6b0b8c31 Merge branch 'MDL-72621-311' of git://github.com/andrewnicols/moodle into MOODLE_311_STABLE 2021-10-07 21:10:05 +02:00
AMOS bot e0fd61d727 Automatically generated installer lang files 2021-10-07 00:07:24 +00:00
Jun Pataleta 802259a6c8 Merge branch 'MDL-72339-m311' of https://github.com/sammarshallou/moodle into MOODLE_311_STABLE 2021-10-06 22:44:31 +08:00
sam marshall 4ae6235d64 MDL-72339 core_availability: Unsafe to use format_string in description
The availability condition get_description method is called while
gathering data for the modinfo object. As such it is not safe to
call other functions which might rely on modinfo, such as format_string
(if using filters which access modinfo).

This change provides a mechanism to call format_string later, and also
a general callback to do other stuff later as well if needed. It uses
the same approach already taken to make activity names work correctly
in the availability_condition class.
2021-10-06 11:26:28 +01:00
Andrew Nicols 13d8eb3321 Merge branch 'MDL-72515-311' of git://github.com/marinaglancy/moodle into MOODLE_311_STABLE 2021-10-06 12:58:39 +08:00
Ilya Tregubov 3fe1755d5d Merge branch 'MDL-72452-resource-filter-311' of https://github.com/Peterburnett/moodle into MOODLE_311_STABLE 2021-10-06 10:55:01 +07:00
Andrew Nicols ab7d7d4d57 Merge branch 'MDL-72599-311' of git://github.com/paulholden/moodle into MOODLE_311_STABLE 2021-10-06 09:12:42 +08:00
Eloy Lafuente (stronk7) d2c4d59f81 weekly release 3.11.3+ 2021-10-06 00:24:51 +02:00
Ilya Tregubov 26bcfa6122 Merge branch 'MDL-56773-311' of git://github.com/rezaies/moodle into MOODLE_311_STABLE 2021-10-05 23:26:59 +02:00
Jun Pataleta 1c8e09b4aa Merge branch 'MDL-39324-moodle311' of https://github.com/kiratskitizing/moodle into MOODLE_311_STABLE 2021-10-05 23:26:59 +02:00
Ilya Tregubov 2980b46bf8 Merge branch 'MDL-72395_311' of https://github.com/stronk7/moodle into MOODLE_311_STABLE 2021-10-05 23:26:59 +02:00
Simey Lameze 1bb79a6cb3 MDL-72635 calendar: fix typo in data attribute 2021-10-05 06:30:43 +08:00
Paul Holden f91d23a739 MDL-71306 cohort: ignore empty values in form autocomplete element. 2021-10-04 21:14:17 +01:00
Joshua Ebarvia 2ac4573661 MDL-39324 mod_url: Fix icon when URL has params 2021-10-04 20:04:00 +10:30
Marina Glancy c9ff42d096 MDL-72515 admin: do not call curl unnecessary on plugins page 2021-10-04 10:01:12 +02:00
Paul Holden 30830852bf MDL-72309 course: make category a required field in forms.
Course category fields were changed en masse from simple select
elements to autocompletes in 93d72205, but weren't defined as
required fields. This could lead to exceptions and/or unexpected
behaviour if their values were cleared prior to form submission.
2021-10-04 08:11:40 +01:00
Mikhail Golenkov 3550f90dad MDL-64576 completion: Fix criteria and course completion dates 2021-10-04 10:52:31 +11:00
Shamim Rezaie 99af155ddd MDL-66203 mod_assign: Reset submission status when removing a submission 2021-10-04 02:12:43 +11:00
Eloy Lafuente (stronk7) 2a0e7b1d8c MDL-72395 composer: Update to newer dependencies
More notably PHPUnit to 9.5.9 that comes with some good fixes
and better support for go prospecting php81 (beta) status.

Generated with php73, that is the lower version supported
by this branch, following the instructions @ https://docs.moodle.org/dev/Composer
2021-10-02 22:46:11 +02:00
Eloy Lafuente (stronk7) d5e66b50b3 weekly release 3.11.3+ 2021-10-02 22:05:12 +02:00
Eloy Lafuente (stronk7) 55aa35d9fe Merge branch 'install_311_STABLE' of https://git.in.moodle.com/amosbot/moodle-install into MOODLE_311_STABLE 2021-10-02 22:05:08 +02:00
Eloy Lafuente (stronk7) 59e08ceb6d Merge branch 'MDL-72714_311' of git://github.com/stronk7/moodle into MOODLE_311_STABLE 2021-10-02 15:29:28 +02:00
Eloy Lafuente (stronk7) f3a6d622a2 MDL-72714 behat: Add new @skip_chrome_zerosize labels
With the move from Chrome 93 to 94 a few new "zerosize" cases
have appeared, this just protect us from them, so they
are run apart.
2021-10-02 12:17:51 +02:00
Eloy Lafuente (stronk7) 2704764d80 MDL-72714 behat: fix problem with button on the edge and failing
Surprise came with Chrome 94, so applying the usual trick by
changing window size. Hopefully some day we'll be able to
revert all them (Chrome 123).
2021-10-02 12:17:51 +02:00
Víctor Déniz 61e68a15a1 MDL-72714 behat: Fix Behat failures for chrome 94. 2021-10-01 11:56:47 +01:00
abgreeve 5f26d8c331 Merge branch 'MDL-69682-311' of git://github.com/paulholden/moodle into MOODLE_311_STABLE 2021-10-01 11:24:46 +08:00
Jun Pataleta 7c814fa48f MDL-72674 core: Add indicator that feedback link opens in new window
* New pix icon i/externallink
* New lang string opensinnewwindow
* Use the external link pix icon with "Opens in new window" lang string
 as its alt text and add it to the "Give feedback about this software"
 link.
* Update cta template to indicate whether the link opens in new window.
2021-10-01 10:39:22 +08:00
Andrew Nicols f603c2c38e Merge branch 'MDL-72673-311' of git://github.com/junpataleta/moodle into MOODLE_311_STABLE 2021-10-01 10:23:44 +08:00
Eloy Lafuente (stronk7) 207174aa0a Merge branch 'MDL-72484-311' of git://github.com/paulholden/moodle into MOODLE_311_STABLE 2021-09-30 23:19:15 +02:00
Víctor Déniz ced66d9d66 Merge branch 'MDL-72496-311_assert_tag' of https://github.com/call-learning/moodle into MOODLE_311_STABLE 2021-09-30 15:41:09 +01:00
Laurent David d0958a89f9 MDL-72496 question tests: fix assertTag if tag not found
* The basic_test::assertTag method will issue a warning as $tag is not
found, failing the PHP Unit test that uses this method.
* Add tests to check that assertTag is working
2021-09-30 13:14:34 +02:00
Thong Bui 392e57b6a0 MDL-72507 Quiz: Quiz auto-save does not detect uploaded files 2021-09-30 12:17:40 +07:00
abgreeve 250524cf5b Merge branch 'MDL-72275-311-2' of git://github.com/mickhawkins/moodle into MOODLE_311_STABLE 2021-09-30 10:03:27 +08:00
AMOS bot dbdc0e44d1 Automatically generated installer lang files 2021-09-30 00:07:25 +00:00
Eloy Lafuente (stronk7) 954bc8e887 Merge branch 'MDL-71970-311' of git://github.com/sarjona/moodle into MOODLE_311_STABLE 2021-09-29 23:27:25 +02:00
Andrew Nicols 0e0984010b MDL-72621 admin: Add environment check for admin deprecation 2021-09-29 22:39:32 +08:00
Shamim Rezaie ddff536561 Merge branch 'MDL-72060-311' of git://github.com/lameze/moodle into MOODLE_311_STABLE 2021-09-28 20:17:12 +10:00
Adrian Perez f0bf659715 MDL-72060 mod_lti: fix comparison if user is gradable 2021-09-28 17:25:27 +08:00
AMOS bot 955ea66652 Automatically generated installer lang files 2021-09-28 00:07:32 +00:00
Paul Holden d8a1fab050 MDL-72484 report_eventlist: looser check for event 'other' docs. 2021-09-27 18:21:34 +01:00
Sara Arjona 8e1463334c MDL-71970 h5plib_v124: Replace references to new Moodle\H5Pxxx namespace
The joubel/core and joubel/editor libraries have been moved to Moodle
namespace.
This commit adds the new namespace to the places where these classes
are used.
Besides, a couple of minor changes have been done to replace the _test.php
classname and remove some unnecessary defined('MOODLE_INTERNAL').
2021-09-27 11:42:28 +02:00
Sara Arjona 79aa88fddd MDL-71970 h5plib_v124: Add namespace to H5P editor library
The joubel/editor is a third-party library. A namespace has been added to
avoid collision with other plugins using it (such as mod_hvp).
That way, they will be able to have a different version without
side effects.
2021-09-27 11:42:28 +02:00
Sara Arjona 88c5228e61 MDL-71970 h5plib_v124: Add namespace to H5P core library
The joubel/core is a third-party library. A namespace has been added to
avoid collision with other plugins using it (such as mod_hvp).
That way, they will be able to have a different version without
side effects.
2021-09-27 11:42:27 +02:00
Jun Pataleta e0dbb85732 MDL-72673 mod_glossary: Generate unique ID for Keywords select element 2021-09-24 18:31:28 +08:00
Paul Holden 0c9993773c MDL-69682 theme_boost: remove minimum height of tables.
The change that introduced this property (a3124b15) is no longer
required, and it caused visual glitches on tables containing a
single row.
2021-09-24 08:22:45 +01:00
Michael Hawkins 5b6f95647b MDL-72275 timeline: Add default offset to template
This value was being passed in the template, but the template
had 0 hardcoded instead of injecting the context value. With the other
bug fixes in this issue correctly loading the "All" view properly on
page load, this uncovered that at load time, the course view would not
load overdue items, which also meant a behat test was failing.
2021-09-24 11:23:57 +08:00
Michael Hawkins 8061730d7b MDL-72275 timeline: Make time dropdown options display consistently
The 6 month option was highlighted on load if previously selected,
which was not the case for any other options. This has been removed
so it behaves consistently.
2021-09-24 11:23:57 +08:00
Michael Hawkins ea0f449e1b MDL-72275 timeline: Fixed non-loading issue in dates sort
Incorrect setting/getting of the "seen" data attribute resulted in no
information being fetched when switching from course view back to dates
view.
2021-09-24 11:23:57 +08:00
Michael Hawkins 4564ed7412 MDL-72275 timeline: Display "all" time on page load fix
When the timeframe filter was set to "all" when the timeline
block was initially loaded, an incorrect value rendered into
the template meant the timeframe limit was set to 0 (which will
return no results) instead of setting no limit (which would fetch all
 action events, as intended).
2021-09-24 11:23:57 +08:00
AMOS bot 61339394d7 Automatically generated installer lang files 2021-09-24 00:07:32 +00:00
Ilya Tregubov 1a63bccf46 weekly release 3.11.3+ 2021-09-23 18:21:52 +02:00
Ilya Tregubov fcd3d82558 Merge branch 'install_311_STABLE' of https://git.in.moodle.com/amosbot/moodle-install into MOODLE_311_STABLE 2021-09-23 18:21:50 +02:00
Jun Pataleta 9063970932 Merge branch 'MDL-72426-311' of git://github.com/lameze/moodle into MOODLE_311_STABLE 2021-09-23 12:23:53 +08:00
Thong Bui a79905af9a MDL-71750 File upload: Disable submittion when uploading multiple files 2021-09-23 09:08:39 +07:00
AMOS bot 58bbab621c Automatically generated installer lang files 2021-09-23 00:07:27 +00:00
Eloy Lafuente (stronk7) 29e944addb Merge branch 'MDL-72110-311' of https://github.com/sharidas/moodle into MOODLE_311_STABLE 2021-09-22 20:12:18 +02:00
Eloy Lafuente (stronk7) bfec56ac5e Merge branch 'MDL-72593-311' of git://github.com/andrewnicols/moodle into MOODLE_311_STABLE 2021-09-22 10:48:18 +02:00
Jun Pataleta 86f5f11cf8 Merge branch 'MDL-51165-moodle311' of https://github.com/kiratskitizing/moodle into MOODLE_311_STABLE 2021-09-22 10:51:42 +08:00
AMOS bot 497dc38a4b Automatically generated installer lang files 2021-09-22 00:07:28 +00:00
Eloy Lafuente (stronk7) dd401b0dfe Merge branch 'MDL-71352-311' of git://github.com/lucaboesch/moodle into MOODLE_311_STABLE 2021-09-21 23:19:34 +02:00
Eloy Lafuente (stronk7) 0170fcddd0 Merge branch 'MDL-72566-311' of git://github.com/ferranrecio/moodle into MOODLE_311_STABLE 2021-09-21 19:07:27 +02:00
Eloy Lafuente (stronk7) fd54c1631f Merge branch 'MDL-69364-311-alt' of git://github.com/andrewnicols/moodle into MOODLE_311_STABLE 2021-09-21 18:19:32 +02:00
Ilya Tregubov f8001bbf14 MDL-70946 repository: Fix 311 branch Behat. 2021-09-21 18:09:42 +02:00
Ilya Tregubov 479d7a42d6 Merge branch 'MDL-70946-311' of git://github.com/peterRd/moodle into MOODLE_311_STABLE 2021-09-21 13:15:21 +02:00
Andrew Nicols 4f4e9b4828 MDL-72593 behat: Improve behat handling of file manager buttons
When using a try/catch for a find if the first match is not met then we
have an implicit 6 second delay waiting for the search to time out.

We can avoid this by combining the searches in a comma-separated
selection.

I have also taken the opportunity to convert the use of ->click() to the
i_click_on function which has the benefit of supporting wait for
pendingJS.
2021-09-21 16:00:41 +08:00
Andrew Nicols 4258188126 MDL-72593 behat: Load the Field node content locally for processing
The standard NodeElement functions for getAttribute, getTagName,
getParent, and friends go back to WebDriver and parse the DOM for each
request. This is insanely slow per request, and in the case of forms we
do a lot of checking to determine the field type.

This change modifies the form field detection to copy the entire node
content into a DOMDocument and parse the document locally.

This is significantly faster - in some cases where there are large
documents minutes faster.

I believe that this should be a safe change as the document fetched from
the browser is normalised to match the doctype specified.
2021-09-21 16:00:41 +08:00
Eloy Lafuente (stronk7) 78c1ecc30c Merge branch 'MDL-72205-311' of git://github.com/HuongNV13/moodle into MOODLE_311_STABLE 2021-09-20 19:05:33 +02:00
Andrew Nicols 3e2cc3cc4c MDL-69364 enrol: Improve setting of save button 2021-09-20 12:07:49 +08:00
Andrew Nicols 9fdaa9daec MDL-69364 enrol: Improve cohort test 2021-09-20 12:07:49 +08:00
Huong Nguyen df426e4a12 MDL-72205 admin: admin_setting_configduration validation improvement
The write_setting() should only use the internal validation if no validation function was provided
2021-09-20 09:18:32 +07:00
Peter Dias 48e1f7f484 MDL-70946 repository: Reenable and fix the disabled behat test 2021-09-20 08:10:09 +08:00
Joshua Ebarvia 0803f695fa MDL-51165 mod_url: allow directory index url direct access 2021-09-19 12:06:37 +09:30
Paul Holden 5279102245 MDL-72599 blocks: handle editing/deletion on admin notification page.
This was broken by changes in fdd5aef0, as the sesskey URL parameter
was required on admin/index.php in order for block related actions
to be performed uninterrupted by any redirections.
2021-09-17 12:21:46 +01:00
Luca Bösch e10d8c46e2 MDL-71352 gradereport_grader: Add icons for pass/fail. 2021-09-17 12:13:20 +02:00
Ilya Tregubov c71b2db9a3 weekly release 3.11.3+ 2021-09-17 08:58:33 +02:00
Ilya Tregubov c7485d9d5f Merge branch 'install_311_STABLE' of https://git.in.moodle.com/amosbot/moodle-install into MOODLE_311_STABLE 2021-09-17 08:58:31 +02:00
Ilya Tregubov cd6c68cf20 Merge branch 'MDL-72173-311' of git://github.com/andrewnicols/moodle into MOODLE_311_STABLE 2021-09-16 15:02:02 +02:00
Andrew Nicols 6220e076f4 MDL-72173 behat: Respect login page preference 2021-09-16 20:47:18 +08:00
Ferran Recio d70cfe4c8c MDL-72566 completion: fix missing mod bug
MDL-71899 produces a regression. When an activity plugin is not present
but it has activities in the DB the course view returns an exception.
With this patch the code will ignore missing modules when calculating
the completion.
2021-09-16 09:59:32 +02:00
Jun Pataleta 533c6717a2 Merge branch 'MDL-72173-311' of git://github.com/andrewnicols/moodle into MOODLE_311_STABLE 2021-09-16 15:39:51 +08:00
Andrew Nicols 84d82ce72e MDL-72173 behat: Fix typo Logout <> Log out 2021-09-16 15:03:07 +08:00
Jun Pataleta 773a4d7603 Merge branch 'MDL-71602-311-2' of git://github.com/rezaies/moodle into MOODLE_311_STABLE 2021-09-16 12:57:50 +08:00
Jun Pataleta 0f82d8c809 Merge branch 'MDL-72173-311' of git://github.com/andrewnicols/moodle into MOODLE_311_STABLE 2021-09-16 12:22:56 +08:00
Andrew Nicols 030dae8824 MDL-72173 behat: Add tests for login/logout steps 2021-09-16 12:20:37 +08:00
Andrew Nicols c47da95926 MDL-72173 behat: Automatically log user out on behat login 2021-09-16 12:13:26 +08:00
Andrew Nicols 3ea7982a85 MDL-72173 behat: Add and use behat logout URL 2021-09-16 12:13:25 +08:00
Jake Dallimore 189b888019 Merge branch 'MDL-71860-311' of git://github.com/lameze/moodle into MOODLE_311_STABLE 2021-09-16 11:02:51 +08:00
Jun Pataleta 5795f1b6b3 Merge branch 'MDL-72589_311' of https://github.com/stronk7/moodle into MOODLE_311_STABLE 2021-09-16 09:46:48 +08:00
AMOS bot 7bcf5222e3 Automatically generated installer lang files 2021-09-16 00:07:27 +00:00
Leon Stringer a40e05798d MDL-71860 core: Migrate lang string
Corresponding move of language string invalidpersistenterror following
move of class invalid_persistent_exception in MDL-57273.

AMOS BEGIN
 CPY [invalidpersistenterror,core_competencies],[invalidpersistenterror,core_error]
AMOS END
2021-09-16 07:00:43 +08:00
Eloy Lafuente (stronk7) 8d080e0994 Merge branch 'MDL-72432-MOODLE_311_STABLE' of https://github.com/katerynadegtyariova/moodle into MOODLE_311_STABLE 2021-09-16 00:37:20 +02:00
Eloy Lafuente (stronk7) 3671f1963e MDL-72589 behat: Create course with 3 sections (workaround)
With the default 5 sections course, after editing the activities, the
"log out" link is exactly on the edge of the view port. It's one of
those cases where Chrome fails to click/press it (have tried both).

So just make the course to have 3 sections is enough to avoid the
problem. Some day Chrome will fix that problem but, until then...
we cannot do much apart from changing the window size or try to
configure things to show differently.
2021-09-15 20:27:06 +02:00
Eloy Lafuente (stronk7) 452c5815e5 MDL-72589 behat: Add @skip_chrome_zerosize to failing scenarios
All the scenarios failing with Chrome zero-size errors are
getting the @skip_chrome_zerosize to be able to keep them apart from
regular runs. See MDL-71108 for more information about
that error.

They will be run by another job, specifically using that tag to
keep them failing and under control.
2021-09-15 20:26:51 +02:00
Jake Dallimore b73f9fec06 Merge branch 'MDL-71550-311' of git://github.com/bmbrands/moodle into MOODLE_311_STABLE 2021-09-15 10:49:45 +08:00
Jake Dallimore c1f3de62ee Merge branch 'MDL-71137-311' of https://github.com/NashTechOpenUniversity/moodle into MOODLE_311_STABLE 2021-09-15 10:12:09 +08:00
Eloy Lafuente (stronk7) 0bc281384d Merge branch '71093-moodle311-backup-honor-formatstringstriptags' of https://github.com/DSI-Universite-Rennes2/moodle into MOODLE_311_STABLE 2021-09-14 22:22:15 +02:00
Eloy Lafuente (stronk7) 7eb9672445 Merge branch 'MDL-72192-311' of git://github.com/paulholden/moodle into MOODLE_311_STABLE 2021-09-14 22:17:31 +02:00
Marie-Eve Lévesque c943722407 MDL-71785 core_quiz: Empty quiz section name behaves like new page 2021-09-14 14:38:18 -04:00
Ilya Tregubov bce29fbd43 Merge branch 'MDL-71961-311' of git://github.com/nguyenphuctien/moodle into MOODLE_311_STABLE 2021-09-14 12:08:58 +02:00
Ilya Tregubov bbdca02068 Merge branch 'MDL-71846-311' of git://github.com/paulholden/moodle into MOODLE_311_STABLE 2021-09-13 13:43:38 +02:00
Tien Nguyen 6115822226 MDL-71961 Quiz: Disable quiz navigation buttons when files are uploading 2021-09-13 17:44:02 +07:00
Odei Alba 1209205766 MDL-68325 completion: Add validation to course completion form 2021-09-13 12:11:53 +02:00
Andrew Nicols 1349e5d2f9 MDL-72173 behat: Switch to behat login URL 2021-09-13 11:20:35 +08:00
gthomas2 6c578308b0 MDL-72173 behat: Add alternative login file for behat 2021-09-13 11:14:02 +08:00
Eloy Lafuente (stronk7) ab931f6aa7 Moodle release 3.11.3 2021-09-12 12:37:26 +02:00
Eloy Lafuente (stronk7) 39cff78f7e weekly release 3.11.2+ 2021-09-11 12:12:19 +02:00
Eloy Lafuente (stronk7) 19cbc68871 Merge branch 'install_311_STABLE' of https://git.in.moodle.com/amosbot/moodle-install into MOODLE_311_STABLE 2021-09-11 12:12:15 +02:00
Shamim Rezaie 6e37e4606c MDL-71240 filter_tex: Add allowlist for filter_tex_sanitize_formula 2021-09-10 18:10:02 +02:00
Eloy Lafuente (stronk7) 89f2984206 Merge branch 'MOODLE_311_STABLE' of git://github.com/cescobedo/moodle into MOODLE_311_STABLE 2021-09-09 18:04:14 +02:00
cescobedo 1d37ef7bbb MDL-63207 auth_ldap: hot fix, remove remaining line 2021-09-09 17:59:51 +02:00
Eloy Lafuente (stronk7) 33c80edfae Merge branch 'MDL-71385-311-3' of git://github.com/junpataleta/moodle into MOODLE_311_STABLE 2021-09-09 12:59:45 +02:00
Jun Pataleta f88a73bbe6 Merge branch 'MDL-71899-311-2' of git://github.com/HuongNV13/moodle into MOODLE_311_STABLE 2021-09-09 12:59:45 +02:00
Eloy Lafuente (stronk7) b1216eefe4 Merge branch 'MDL-63207-311' of git://github.com/cescobedo/moodle into MOODLE_311_STABLE 2021-09-09 12:59:45 +02:00
Eloy Lafuente (stronk7) fec2e6c661 Merge branch 'MDL-69855-311' of git://github.com/junpataleta/moodle into MOODLE_311_STABLE 2021-09-09 12:59:45 +02:00
Jun Pataleta 6903d7e908 MDL-71385 theme: Fix contrast for dimmed text against striped table rows
In order to achieve good colour contrast between dimmed text and striped
table rows, the background colour of the striped rows are being
lightened to 0.03 alpha. While $gray-600 is being adjusted to a bit
darker shade of #6a737b. This gives a colour contrast ratio of 4.5:1
between the dimmed text colour and the striped table row background
which meets WCAG 2.1 Level AA requirements.

Comparing the normal font colour (#212529) with the adjusted dimmed text
colour gives a contrast ratio of 3.20:1 which meets WCAG 2.1 Level AA
requirements and still makes them distinguishable from one another.
2021-09-09 16:02:12 +08:00
Huong Nguyen 3a42d256af MDL-71899 performance: Improve activity completion data caching
- Modified SQL in get_data() to get the activity completion of all course modules without calling get_fast_modinfo() to reduce the DB queries.
 - Building activity completion cache for the whole course in one time instead of building the cache for each course module by passing $wholecourse = true to get_data()
2021-09-09 10:03:53 +07:00
Huong Nguyen 604d58ff4a MDL-71899 performance: Improve course image caching
Changed to use get_course() instead of get_fast_modinfo() for better performance
2021-09-09 10:03:53 +07:00
AMOS bot 7831dff5ac Automatically generated installer lang files 2021-09-09 00:07:25 +00:00
Eloy Lafuente (stronk7) 2f0752bd1c Merge branch 'MDL-72358-311' of git://github.com/sarjona/moodle into MOODLE_311_STABLE 2021-09-08 17:08:14 +02:00
Eloy Lafuente (stronk7) c7aad0eac2 Merge branch 'MDL-72216-311' of git://github.com/lucaboesch/moodle into MOODLE_311_STABLE 2021-09-08 11:29:01 +02:00
Eloy Lafuente (stronk7) 93c2d51181 Merge branch 'MDL-72499-311' of git://github.com/paulholden/moodle into MOODLE_311_STABLE 2021-09-07 23:52:01 +02:00
Eloy Lafuente (stronk7) 3f1828f78d Merge branch 'MDL-72071-311' of git://github.com/paulholden/moodle into MOODLE_311_STABLE 2021-09-07 23:29:54 +02:00
Eloy Lafuente (stronk7) 8c3b24cc8e Merge branch 'MDL-71925-311_wordcount' of https://github.com/brickfield/moodle into MOODLE_311_STABLE 2021-09-07 23:25:33 +02:00
Eloy Lafuente (stronk7) f422c92b97 Merge branch 'MDL-72488-311-importdatastring' of git://github.com/mudrd8mz/moodle into MOODLE_311_STABLE 2021-09-07 22:59:35 +02:00
cescobedo 4bd73eceb8 MDL-63207 auth_ldap: Update user profile if field is empty 2021-09-07 22:54:37 +02:00
Eloy Lafuente (stronk7) a8b9b98827 Merge branch 'MDL-69504-311' of https://github.com/snake/moodle into MOODLE_311_STABLE 2021-09-07 20:03:15 +02:00
Eloy Lafuente (stronk7) 7c9fe59856 Merge branch 'MDL-67610-311-2' of git://github.com/junpataleta/moodle into MOODLE_311_STABLE 2021-09-07 19:25:26 +02:00
Jun Pataleta 7b3b935a2e MDL-67610 mod_forum: Do not include private replies in unread count
Fetching the counts of unread posts should only include unread regular
posts or unread private reply posts directed to the user unless the user
has the capability to read private replies.
In order to retrieve the correct counts, we also need to loop through
each forum instance in the course to check the capability of the user to
read private replies in each forum.
2021-09-07 23:20:23 +08:00
Eloy Lafuente (stronk7) 76a2decae9 Merge branch 'MDL-72025-m311' of https://github.com/sammarshallou/moodle into MOODLE_311_STABLE 2021-09-07 16:30:53 +02:00
AMOS bot 2955eda18a Automatically generated installer lang files 2021-09-07 00:07:26 +00:00
Paul Holden e09e5f427b MDL-71726 course: respect user access when exporting participants.
We should ensure that users being exported are enrolled on the
course being exported from. In courses where the current user can't
access all groups we should ensure that users being exported belong
to the same groups as them.
2021-09-07 00:14:27 +02:00
Sujith Haridasan ed4389857d MDL-71160 auth_db: Use strict comaprison
Use strict comparison to avoid type juggling.

Signed-off-by: Sujith Haridasan <sujith@moodle.com>
2021-09-07 00:14:27 +02:00
Paul Holden b5b7b1f54f MDL-71976 auth_shibboleth: consistent session parsing during logout. 2021-09-07 00:14:27 +02:00
Shamim Rezaie 272780993d MDL-71240 filter_tex: Sanitize the whole latex document
LaTeX documents have a preamble section and admins can use a \newcommand
statement to define new commands there (or to give an alias to another
command). This commit makes sure no blocked command can escape
sanitization by being used in a new seemingly harmless command that is
defined in the LaTeX preamble.
2021-09-07 00:14:27 +02:00
Shamim Rezaie 888c3288a2 MDL-71240 filter_tex: Support paranoid mode for openin_any in latex 2021-09-07 00:14:27 +02:00
Huong Nguyen 298951cd2e MDL-71797 quiz: Improve the checks when fetching user's attempts 2021-09-07 00:14:27 +02:00
Eloy Lafuente (stronk7) 78b3472f5d Merge branch 'MDL-72286-311-test' of git://github.com/rezaies/moodle into MOODLE_311_STABLE 2021-09-06 23:58:04 +02:00
David Mudrák ef8cda836f MDL-72488 lang: Fix hard-coded English string at grades import form
Also adding a help tooltip as this seems to be the most important field
in the form and yet it was the only one without a help.
2021-09-06 17:41:09 +02:00
Paul Holden 14781b4c2e MDL-72499 event: add/correct event language strings as required. 2021-09-06 11:16:38 +01:00
Thong Bui aaa2f20a5f MDL-71137 File upload: progress bar issues display when D&D multi files 2021-09-06 14:11:59 +07:00
Eloy Lafuente (stronk7) 08f9a7a431 Merge branch 'MDL-72428-311-enfix' of git://github.com/mudrd8mz/moodle into MOODLE_311_STABLE 2021-09-03 19:10:26 +02:00
Eloy Lafuente (stronk7) 596cace356 Merge branch 'MDL-72478-311' of git://github.com/sarjona/moodle into MOODLE_311_STABLE 2021-09-03 17:03:01 +02:00
Shamim Rezaie bef758bae6 MDL-56773 atto_equation: The equation editor should always be rtl
Also re-applied the border that was added to the preview area as part of
MDL-44778. The class name that's used no longer exists.
2021-09-03 17:58:42 +10:00
Sara Arjona 7b3ef08994 MDL-72478 calendar: Fix PHPUnit failure with offset
Before PHP 8.0.10, the time is lost when datetime->modify() is used
with weekdays. However, with PHP 8.0.10, the time is kept.
In consequence, the test_yearly_every_20th_monday_forever method
started failing.
For fixing it, the offset has been removed and the time has been set
to 00:00, so the behaviour will be the same regardless the PHP
version.
2021-09-03 09:35:06 +02:00
Simey Lameze 6ba8dbf909 MDL-72426 theme: fix message and notification count colour contrast 2021-09-03 12:26:36 +08:00
Peter Burnett 6f25060b32 MDL-72452 resource: Filter resource media embed output 2021-09-03 09:12:38 +10:00
sam marshall 68204f0870 MDL-72025 Upgrade: Out of memory when updating social profile fields 2021-09-02 13:44:20 +01:00
Luca Bösch e1046f053a MDL-72216 questions: Don't stick buttons together in preview. 2021-09-02 13:36:30 +02:00
Sara Arjona 7fdf72a268 weekly release 3.11.2+ 2021-09-02 11:51:26 +02:00
Jun Pataleta baa54113d6 Merge branch 'MDL-72440_311' of https://github.com/stronk7/moodle into MOODLE_311_STABLE 2021-09-02 09:52:02 +08:00
David Mudrák d6bc2e2a47 MDL-72428 lang: Use the fixed strings in the tests 2021-09-01 21:55:41 +02:00
Helen Foster a8bae35491 MDL-72428 lang: Import fixed English strings (en_fix) 2021-09-01 21:53:31 +02:00
Sara Arjona f06450a050 Merge branch 'MDL-72169-311' of https://github.com/paulholden/moodle into MOODLE_311_STABLE 2021-09-01 17:46:43 +02:00
Sara Arjona 4b63194dd3 Merge branch 'MDL-71375-311' of git://github.com/lameze/moodle into MOODLE_311_STABLE 2021-09-01 17:09:33 +02:00
Sara Arjona 3bf10af46b Merge branch 'MDL-70376-311' of git://github.com/peterRd/moodle into MOODLE_311_STABLE 2021-09-01 16:52:08 +02:00
Sara Arjona 0a9017dad3 Merge branch 'MDL-71674-311' of https://github.com/dcai/moodle into MOODLE_311_STABLE 2021-09-01 11:36:41 +02:00
Dongsheng Cai 6237ac5ae9 MDL-71674 editor_atto: more assessible errors 2021-09-01 18:27:32 +10:00
Eloy Lafuente (stronk7) b849fbebd8 Merge branch 'MDL-71999-311' of https://github.com/danielneis/moodle into MOODLE_311_STABLE 2021-08-31 23:16:16 +02:00
Eloy Lafuente (stronk7) 4053ab14d6 Merge branch 'MDL-71121-311' of https://github.com/paulholden/moodle into MOODLE_311_STABLE 2021-08-31 23:13:07 +02:00
Jun Pataleta baa4772cc6 Merge branch 'MDL-71778-311' of git://github.com/lameze/moodle into MOODLE_311_STABLE 2021-08-31 22:58:44 +08:00
Paul Holden 7c277c69bf MDL-72296 admin: style form when prompting for upgrade key. 2021-08-31 13:52:54 +02:00
Paul Holden e8b23a3efb MDL-72192 user: observe fullname capability in selector context. 2021-08-31 12:17:17 +01:00
Paul Holden 13537c6d64 MDL-71846 group: consistent escaping of user/group names. 2021-08-31 12:15:49 +01:00
Paul Holden 72a28cf776 MDL-72071 message: preserve window scroll opening processor modal. 2021-08-31 11:57:24 +01:00
Paul Holden 97997d1960 MDL-72169 privacy: format course name/summary during export. 2021-08-31 11:56:04 +01:00
Eloy Lafuente (stronk7) ca5a05550d MDL-72440 js: reconcile npm installed stuff
When npm-shrinkwrap.json was regenerated few days ago by MDL-72014
running audit-fix on it, it seems that some checksums in the "lodash"
package were missing.

Now they are properly set and that's leading to npm-shrinkwrap.json
changes when people runs npm install (note npm ci is the recommended
way to install all the dev dependencies).

So, just reconcile the file to include the new checksums.
2021-08-31 11:20:16 +02:00
cperves 1a991ae622 MDL-71778 admin: patch for hard-set check filter 2021-08-31 12:34:20 +08:00
Peter Dias 9d0e0519f2 MDL-70376 mod_assign: Reintroduce pdf orientation check
Reintroduce the orientation check and sizing when importing an image
2021-08-31 12:29:15 +08:00
Jake Dallimore 9aa2e468d6 Merge branch 'MDL-70433-311' of git://github.com/lucaboesch/moodle into MOODLE_311_STABLE 2021-08-30 10:42:14 +08:00
Simeon Naydenov 4edbc6c861 MDL-71375 lib: Fix tooltip in show_hide_icon in flexible table 2021-08-30 09:42:26 +08:00
Luca Bösch 77077c6567 MDL-70433 grades: prevent double escaping in titles 2021-08-27 10:56:07 +02:00
Sara Arjona 1aebcd49c3 MDL-72358 contenttype_h5p: Improve error handling
In MoodleCloud it was raised that, in some cases, loading the content
bank, from a course page, gives an "Invalid H5P content URL", not
offering any way to delete the offending content or create new one.
An extra-check has been added to the "is_view_allowed" method to
guarantee the H5P API is called only if the H5P content has a file.
2021-08-27 10:40:05 +02:00
Andrew Nicols 80c48e12ce weekly release 3.11.2+ 2021-08-27 12:00:17 +08:00
Andrew Nicols 6577d20773 Merge branch 'install_311_STABLE' of https://git.in.moodle.com/amosbot/moodle-install into MOODLE_311_STABLE 2021-08-27 12:00:14 +08:00
Sujith Haridasan 1e67fe7005 MDL-72110 core_navigation: home page preference
Admin should respect the home page preference set
just like any other user.
2021-08-27 07:35:10 +05:30
Sara Arjona 2993eadf2d Merge branch 'MDL-71029-311' of https://github.com/dcai/moodle into MOODLE_311_STABLE 2021-08-26 07:12:27 +02:00
Andrew Nicols 50f6fa90b8 Merge branch 'MDL-72403-311' of git://github.com/rezaies/moodle into MOODLE_311_STABLE 2021-08-26 13:02:16 +08:00
Heena Agheda 7b6e564041 MDL-72187 logstore: record log store's visibility change 2021-08-26 12:56:58 +08:00
Andrew Nicols 8a7f7a4d70 Merge branch 'MDL-70176_311' of https://github.com/TomoTsuyuki/moodle into MOODLE_311_STABLE 2021-08-26 12:16:24 +08:00
Andrew Nicols 1dfc7f6356 Merge branch 'MDL-72271_311' of https://github.com/larsbonczek/moodle into MOODLE_311_STABLE 2021-08-26 11:44:33 +08:00
Andrew Nicols 4f295616af Merge branch 'MDL-72152-m311' of https://github.com/sammarshallou/moodle into MOODLE_311_STABLE 2021-08-26 11:36:12 +08:00
Andrew Nicols 3a8c8fd1ac Merge branch 'MDL-72153-311' of git://github.com/paulholden/moodle into MOODLE_311_STABLE 2021-08-26 11:31:58 +08:00
Andrew Nicols 6884c6b65f Merge branch 'MDL-72312_311' of https://github.com/stronk7/moodle into MOODLE_311_STABLE 2021-08-26 11:26:10 +08:00
AMOS bot 6424a1817b Automatically generated installer lang files 2021-08-26 00:07:29 +00:00
Sara Arjona 5b2c9cf18b Merge branch 'MDL-72106-311' of https://github.com/paulholden/moodle into MOODLE_311_STABLE 2021-08-25 18:38:38 +02:00
Eloy Lafuente (stronk7) cf2d9cdfef Merge branch 'MDL-72163-311' of git://github.com/andrewnicols/moodle into MOODLE_311_STABLE 2021-08-24 20:12:22 +02:00
Sara Arjona c59c09a65d Merge branch '311_MDL-70006' of git://github.com/danmarsden/moodle into MOODLE_311_STABLE 2021-08-24 13:13:13 +02:00
Shamim Rezaie a45b9e347f MDL-72403 calendar: prereserve courseid after form submit 2021-08-24 18:05:00 +10:00
Jake Dallimore c7ae5b9a0f MDL-69504 mod_lti: check role switches when setting lti roles on launch
is_siteadmin isn't aware of role switches, so make sure we're not in a
switched role before calling that method.
2021-08-24 14:33:49 +08:00
Andrew Nicols fb13698049 Merge branch 'MDL-72014_311' of https://github.com/stronk7/moodle into MOODLE_311_STABLE 2021-08-24 09:16:53 +08:00
Andrew Nicols 6c6dc64458 Merge branch 'MDL-72207-311' of git://github.com/jleyva/moodle into MOODLE_311_STABLE 2021-08-24 09:06:36 +08:00
Kateryna Degtyariova 094a136394 MDL-72342 groups: Use get_columns() to handle BOM in CSV
Ensuring that BOM was properly removed from input CSV file by using get_columns() instead of parsing the raw data.
2021-08-24 10:50:17 +10:00
Eloy Lafuente (stronk7) 72e15b8845 Merge branch 'MDL-71055-311' of git://github.com/andrewnicols/moodle into MOODLE_311_STABLE 2021-08-23 23:22:25 +02:00
Sara Arjona 084f74a5a2 Merge branch 'MDL-72257-311' of git://github.com/paulholden/moodle into MOODLE_311_STABLE 2021-08-23 17:52:26 +02:00
Shamim Rezaie fa1da2e471 MDL-71602 qtype_essay: label essay question's answer area 2021-08-24 00:59:18 +10:00
Eloy Lafuente (stronk7) a9a2127ddd MDL-72312 environment: Add new optional custom check for igbinary
This optional environmental check will look if:

- the site is running php72.
- the site has igbinary extension enabled.
- the igbinary extension version is a buggy one >=3.2.2 <= 3.2.4
- the bug is reproducible.

And will warn if all the conditions are met.
2021-08-23 15:11:11 +02:00
Andrew Nicols 81ee8fe275 MDL-71055 behat: Update core settings to use generator
These changes have only been applied to settings which were already
using settings names and values, but which were still using the UI.
2021-08-23 12:23:03 +08:00
Eloy Lafuente (stronk7) 46bac04f41 Merge branch 'MDL-71973-311' of https://github.com/mohalisad/moodle into MOODLE_311_STABLE 2021-08-20 19:07:04 +02:00
Eloy Lafuente (stronk7) 4a0ed883e0 MDL-72014 nodejs: audit fix to solve some security reports
Simply run npm audit fix that updates these main packages:

- xmldom 0.6.0
- grunt 1.4.1
- gherkin-lint 4.2.2

(and also a bunch of dependencies
2021-08-20 13:49:50 +02:00
Ilya Tregubov f9ea7e747f weekly release 3.11.2+ 2021-08-20 13:24:33 +02:00
Ilya Tregubov 01465a4ee4 Merge branch 'install_311_STABLE' of https://git.in.moodle.com/amosbot/moodle-install into MOODLE_311_STABLE 2021-08-20 13:24:31 +02:00
Tomo Tsuyuki b1ab339ee0 MDL-70176 mod_forum: Grading respects separate groups filter 2021-08-20 13:35:28 +10:00
Ilya Tregubov 7569f511b5 MDL-49202 core: Comment broken test.
Should be fixed properly as part of MDL-72377.
2021-08-19 17:14:17 +02:00
Ilya Tregubov 8de0f4896f Merge branch 'MDL-49202_311' of git://github.com/mdjnelson/moodle into MOODLE_311_STABLE 2021-08-19 17:06:04 +02:00
Mark Nelson 03a3b7124c MDL-49202 core: fix failing unit tests
See MDL-72377.
2021-08-19 20:16:10 +08:00
Mark Nelson 150231444f MDL-49202 core_grades: add Behat tests 2021-08-19 20:16:10 +08:00
Juan Leyva 3a229f93cc MDL-72207 assign: Support all participants in get_submission_status WS 2021-08-19 14:11:57 +02:00
Mark Nelson e6ea2e72f4 MDL-49202 core_grades: perform same action on categories in form
When you click on 'Edit' then 'Hide' on a grade item like a course category
that contains many grade items, the course and the grade items are set to
hidden. However, if you use the 'hidden' option on the 'Edit settings'
page it only hides that item and none of the items (assignment etc)
under that course category. We want them to be consistent.
2021-08-19 17:44:02 +08:00
Mark Nelson 9396dacf81 MDL-49202 core_grades: perform same action on items in form
When you click on 'Edit' then 'Hide' on a grade item like an
assignment it also hides the grades. However, If you use the
'hidden' option on the 'Edit settings' page it just hides that
item and doesn't hide grades as well. We want them to be
consistent.
2021-08-19 17:44:02 +08:00
Julien Boulen 63e37835e0 MDL-71093 backup: fix backup when activity names use HTML tags 2021-08-19 11:24:34 +02:00
Thong Bui 49d1413f72 MDL-72064 Questions: response selection area enough 2021-08-19 14:33:45 +07:00
Bas Brands 6fb325de02 MDL-71550 theme_boost: improve dropdown hover styles 2021-08-19 09:17:24 +02:00
Andrew Nicols 1780caf656 Merge branch 'MDL-68639-3.11' of https://github.com/xcaro/moodle into MOODLE_311_STABLE 2021-08-19 10:06:08 +08:00
Eloy Lafuente (stronk7) 60d3bfca83 Merge branch 'MOODLE_311-MDL-72210' of https://github.com/golenkovm/moodle into MOODLE_311_STABLE 2021-08-18 19:55:02 +02:00
Eloy Lafuente (stronk7) 4ee195b5cc Merge branch 'MDL-72206-311' of git://github.com/junpataleta/moodle into MOODLE_311_STABLE 2021-08-18 19:32:37 +02:00
Andrew Nicols 97834dc094 Merge branch 'MDL-69451-shared-temptables-3.11' of https://github.com/srdjan-catalyst/moodle into MOODLE_311_STABLE 2021-08-18 21:40:19 +08:00
Víctor Déniz e3e071c9c9 Merge branch 'MOODLE_311_MDL-72239-v2' of https://github.com/golenkovm/moodle into MOODLE_311_STABLE 2021-08-18 13:57:35 +01:00
Mikhail Golenkov 36b7ae3e52 MDL-72239 phpunit: Assert the number of db queries to be less or equal
The course unit test assumes the number of db call. This assumption
is correct in vanilla moodle only. Once some plugins installed their
observers may do extra db calls. Due to caching the number of actual
db calls in the unit test may be fewer.
2021-08-18 21:29:14 +10:00
Víctor Déniz 22dd5c744b Merge branch 'MDL-71487-311' of https://github.com/paulholden/moodle into MOODLE_311_STABLE 2021-08-18 09:54:48 +01:00
AMOS bot d3fbaed60d Automatically generated installer lang files 2021-08-18 00:07:25 +00:00
Nhan Vo 1b99453e1f MDL-68639 HTML Editor (Atto): Invalid HTML for nested lists 2021-08-17 10:26:06 +07:00
Frédéric Massart c1b68bf712 MDL-72286 editor_atto: Declare type on plugins button groups 2021-08-17 12:00:10 +10:00
Ilya Tregubov c7a0f15a14 Merge branch 'MDL-71814-311' of git://github.com/NashTechOpenUniversity/moodle into MOODLE_311_STABLE 2021-08-16 13:57:10 +02:00
Jun Pataleta 9b0616be13 MDL-69855 mod_forum: Don't show reply link in email for private replies 2021-08-16 17:46:00 +08:00
Thach Le Huy a76e6df756 MDL-71814 Atto: File picker – file info panel focus issue 2021-08-16 16:38:16 +07:00
Mikhail Golenkov 2af7fbcdbf MDL-72210 phpunit: Remove excessive curl mock responses 2021-08-14 10:40:30 +10:00
AMOS bot 099a04142e Automatically generated installer lang files 2021-08-14 00:07:26 +00:00
Paul Holden 667f621ca6 MDL-72153 privacy: correctly export user description/files. 2021-08-13 12:41:00 +01:00
Ilya Tregubov 30991deb7c Merge branch 'MDL-72035-excel_csv_bom-311' of git://github.com/leonstr/moodle into MOODLE_311_STABLE 2021-08-13 11:24:55 +02:00
Jun Pataleta 8eddaa6479 Merge branch 'MDL-72330-311' of git://github.com/vmdef/moodle into MOODLE_311_STABLE 2021-08-13 11:00:47 +08:00
Andrew Nicols 137aed09fd Merge branch 'MDL-72325-311-tourspolicy' of git://github.com/mudrd8mz/moodle into MOODLE_311_STABLE 2021-08-13 09:58:59 +08:00
Víctor Déniz b6bb3e46dd MDL-72330 behat: revert previous incorrect change 2021-08-12 23:43:57 +01:00
Ilya Tregubov 707d09a568 weekly release 3.11.2+ 2021-08-12 16:50:17 +02:00
Ilya Tregubov bd7eb39d7c Merge branch 'install_311_STABLE' of https://git.in.moodle.com/amosbot/moodle-install into MOODLE_311_STABLE 2021-08-12 16:50:15 +02:00
David Mudrák 3188b6fc52 MDL-72325 user: Do not show user tours without site policy agreed
Fetching user tours used to fail on external_api::validate_context() and
require_login() calls if the user did not have the site policy agreed.

The patch introduces a check to see if the user is fully set up and
ready to use the site before attempting to load the tours.
2021-08-12 13:22:07 +02:00
Víctor Déniz c5ff109f53 MDL-71500 calendar_threemonth: fix wrong behat step 2021-08-12 11:42:09 +01:00
Andrew Nicols a4cfda4e51 Merge branch 'MDL-71844-311' of https://github.com/paulholden/moodle into MOODLE_311_STABLE 2021-08-12 10:25:18 +08:00
Eloy Lafuente (stronk7) 6865a3a0a1 Merge branch 'MDL-72265_311' of https://github.com/timhunt/moodle into MOODLE_311_STABLE 2021-08-12 00:05:44 +02:00
Eloy Lafuente (stronk7) a990007a77 Merge branch 'MDL-71500-311' of git://github.com/lameze/moodle into MOODLE_311_STABLE 2021-08-11 20:16:46 +02:00
Eloy Lafuente (stronk7) 8bb82b5bc7 Merge branch 'MDL-71945-M311S' of https://github.com/lucisgit/moodle into MOODLE_311_STABLE 2021-08-11 11:47:09 +02:00
Eloy Lafuente (stronk7) 9bcac8370b Merge branch 'MDL-72242-311-svgforcedfilter' of git://github.com/mudrd8mz/moodle into MOODLE_311_STABLE 2021-08-11 11:40:05 +02:00
Eloy Lafuente (stronk7) 774f6ff070 Merge branch 'MDL-71656-311' of git://github.com/HuongNV13/moodle into MOODLE_311_STABLE 2021-08-10 19:09:41 +02:00
Eloy Lafuente (stronk7) 1f343bf0a2 Merge branch 'MDL-70165-311' of git://github.com/paulholden/moodle into MOODLE_311_STABLE 2021-08-10 18:52:18 +02:00
Ilya Tregubov 983d456fa2 Merge branch 'MDL-72033-311' of git://github.com/NashTechOpenUniversity/moodle into MOODLE_311_STABLE 2021-08-10 16:08:38 +02:00
Tony Butler bf2a7643ef MDL-71945 mod_assign: Remove unneccesary call to assign_update_grades()
The update_grade() call achieves the same thing with additional checks.
2021-08-10 11:07:30 +01:00
Lars Bonczek 637ab9420c MDL-72271 mod_quiz: fix secure_window close function 2021-08-10 11:53:28 +02:00
Paul Holden f20a20b7b0 MDL-72106 calendar: redirect to same page post-subscription process.
Avoid issues when reloading page/re-sending POST data.
2021-08-10 09:40:54 +01:00
Paul Holden 84d1f3c078 MDL-71844 tool_task: preserve navigation when executing task. 2021-08-09 10:44:53 +01:00
Paul Holden a8fe74f951 MDL-71487 admin: ensure filesize settings don't overflow integer. 2021-08-09 10:36:04 +01:00
Paul Holden dd01ce509f MDL-70165 course: always import inplace editable module.
It's required on the course participants table for the roles/groups
columns, but isn't always loaded after adding the first participant.
2021-08-09 10:30:15 +01:00
AMOS bot 0f6ce1dce9 Automatically generated installer lang files 2021-08-06 00:07:28 +00:00
Srdjan e02b3beb79 MDL-69451 dml: use same temptables for both rw and ro database handle
moodle_read_slave_trait: when creating another handle, restore temptables
property that is clobbered by raw_connect().

Also a better condition for temptable related queries detection in
pgsql_native_moodle_database.

dml_pgsql_read_slave_test::test_temp_table(): use real db connection
if possible, otherwise skip the test.
2021-08-06 10:02:31 +10:00
Víctor Déniz 605ce2781b weekly release 3.11.2+ 2021-08-05 16:27:25 +01:00
Víctor Déniz 9f434e5844 Merge branch 'install_311_STABLE' of https://git.in.moodle.com/amosbot/moodle-install into MOODLE_311_STABLE 2021-08-05 16:27:20 +01:00
Tim Hunt 1c25e9ec53 MDL-72265 backup: fix checking of override capabilites on restore
Thanks to Peter Dias <peter@moodle.com> for his help with the unit test.
2021-08-05 14:28:37 +01:00
Víctor Déniz fb50327bcf Merge branch 'MDL-71835-311' of git://github.com/paulholden/moodle into MOODLE_311_STABLE 2021-08-04 23:32:01 +01:00
Víctor Déniz 435c0c34d6 Merge branch 'MDL-71152-311' of git://github.com/roland04/moodle into MOODLE_311_STABLE 2021-08-04 20:37:49 +01:00
Víctor Déniz 22ee833a80 Merge branch 'MDL-72262-311' of git://github.com/ilyatregubov/moodle into MOODLE_311_STABLE 2021-08-04 12:43:37 +01:00
abgreeve 439092427b Merge branch 'MDL-71050-311' of https://github.com/paulholden/moodle into MOODLE_311_STABLE 2021-08-04 15:53:15 +08:00
abgreeve 0af232b461 Merge branch 'MDL-67833-311' of https://github.com/paulholden/moodle into MOODLE_311_STABLE 2021-08-03 10:26:49 +08:00
Dan Marsden 1f1ecab583 MDL-70006 analytics: Don't send notifications to suspended enrolments. 2021-08-03 10:55:17 +12:00
Paul Holden f8cffa2803 MDL-71121 backup: apply config defaults for async backups. 2021-08-02 23:35:03 +01:00
David Mudrák 7e3ea17638 MDL-72242 files: Do not force text filtering of SVG files
It was a mistake to force filtering of SVG files in MDL-55243. It can
easily lead to corrupted SVG files.

The patch removes that forced filtering and clarifies the inline comment
of what and why we need to do.
2021-08-02 14:43:21 +02:00
Paul Holden 4feb3c4835 MDL-72257 gradeexport_xml: detect absense of grade items to export.
Where there are no grade items with idnumbers for selection, then
nothing should be exported. Currently, this is being interpreted as
the user exporting all grade items.
2021-08-02 10:24:01 +01:00
Ilya Tregubov 8521213b82 MDL-72262 behat: Make alias shorter to fix Oracle failures. 2021-08-02 08:26:39 +02:00
AMOS bot 205438924a Automatically generated installer lang files 2021-07-31 00:07:30 +00:00
Víctor Déniz b3a82b1b1e Merge branch 'MDL-72085-MOODLE_311_STABLE' of https://github.com/dmitriim/moodle into MOODLE_311_STABLE 2021-07-30 08:52:32 +01:00
Dmitrii Metelkin a6a5070d06 MDL-72085 core_phpunit: reset session notifications 2021-07-30 10:02:49 +10:00
Jun Pataleta 0a21811ed0 Moodle release 3.11.2 2021-07-29 10:03:20 +08:00
Ilya Tregubov 5102a3a04f weekly release 3.11.1+ 2021-07-28 16:48:22 +02:00
Ilya Tregubov ae77cfd5af Merge branch 'install_311_STABLE' of https://git.in.moodle.com/amosbot/moodle-install into MOODLE_311_STABLE 2021-07-28 16:48:20 +02:00
Ilya Tregubov 6da13bc87a Merge branch 'MDL-71672-311-2' of git://github.com/rezaies/moodle into MOODLE_311_STABLE 2021-07-28 11:16:47 +02:00
Jun Pataleta a8f4ba9af1 Merge branch 'MDL-72203-311-2' of git://github.com/mickhawkins/moodle into MOODLE_311_STABLE 2021-07-28 11:26:52 +08:00
AMOS bot b9ab9d82e9 Automatically generated installer lang files 2021-07-28 00:07:28 +00:00
Mike Churchward ec367da169 MDL-71925 tool_brickfield: Limited DOM tag count using core function. 2021-07-27 15:52:58 -04:00
Michael Hawkins dc19dd6134 MDL-72203 curl: Improve redirect unit testing and update upgrade.txt
lib/upgrade.txt was updated to reflect the fact that all cURL redirects
will be emulated.
2021-07-27 23:09:09 +08:00
David Mudrák 986a6f6f40 MDL-72203 curl: Remove duplicate unit tests for emulated redirects
Before, we had each redirect test duplicated: one for the native
redirects via native cURL, second for our emulated implementation. Now
all redirects are always emulated so there is no need to have them
tested twice.
2021-07-27 22:56:48 +08:00
David Mudrák cbf9dfbd8d MDL-72203 curl: Check each URL in redirect chain to see if it is blocked
The security problem here was that only the first and the last URL in
the redirect chain was checked by the security helper. This patch forces
the curl wrapper to always emulate cURL redirects and check every
redirect URL in the chain before actually visiting it.
2021-07-27 22:56:48 +08:00
David Mudrák 6527cbc492 MDL-72203 curl: Warn if someone actually started to use $maxredirects
The new parameter of curl_security_helper::url_is_blocked() introduced
in MDL-71916 became part of the API. Even if we reverted it quickly,
someone can use a released Moodle version that has that parameter in
place. For that reason and also to avoid potential troubles in the
future (e.g. when yet another argument would be added to this method),
we need to make it clear that the second parameter of this method should
never be used again.

Poor $maxredirects, you did not live long with us. Oh well.
2021-07-27 22:56:48 +08:00
David Mudrák 5068469f6f MDL-72203 curl: Revert original fix of redirects to blocked URLs
This reverts the original fix introduced in MDL-71916. It introduced an
extra native cURL call inside curl_security_helper to check if the given
URL triggers a redirect to a blocked URL or not.

Shortly after the release, a couple of regressions were reported as a
result of the integrated solution. It was agreed to revert the fix and
progress with implementing an alternative approach.
2021-07-27 22:56:48 +08:00
Ilya Tregubov 3f9cc1fc76 Merge branch 'MDL-72179-311' of git://github.com/andrewnicols/moodle into MOODLE_311_STABLE 2021-07-27 12:37:38 +02:00
Andrew Nicols 3dd5ef4cc0 MDL-72179 behat: Make use of page resolvers 2021-07-26 15:14:24 +08:00
Andrew Nicols 2b7a9da30f MDL-72179 behat: Add page resolvers for activity roles/perms 2021-07-23 20:44:26 +08:00
Andrew Nicols 9f1f8e584f MDL-72179 behat: Add page resolver for activity names 2021-07-23 20:43:47 +08:00
Andrew Nicols 68edc3c42a MDL-72179 behat: Add activity editing page resolution 2021-07-23 20:43:47 +08:00
Andrew Nicols 3d4b232a4a MDL-72179 behat: Fix page resolvers to remove ambiguity
The simple pattern matches were conflicting in some situations. To make
this backwards compatable we need to convert it to a Regex pattern match
instead, and provide the quoted and unquoted variants.
2021-07-23 20:43:47 +08:00
Andrew Nicols 63df6e1ee2 MDL-72179 behat: Correct course category page resolving
There were two issues here:
* I am on the [categoryname] category page page (duplicated page)
* the wrong URL was being used

Since an incorrect URL was used I felt it safe to rename the step from
'category page page' to 'category page'.
2021-07-23 20:43:47 +08:00
Andrew Nicols 30adbbf796 MDL-72179 behat: Lowercase all page instance resolvers 2021-07-23 20:43:47 +08:00
Andrew Nicols 995ceb32d0 MDL-72179 behat: Improve core page resolvers
This commit makes the following improvements to core page resolverss:
* allows for mixed case naming (course, Course, etc.)
* allows fields other than the idnumber to be specified:
** course: idnumber, shortname, fullname
** course category: idnumber, name

Whilst some of these fields are not unique, they will typically be
unique in most test scenarios. Where they are not then the idnumber
should be used in preference.
2021-07-23 20:28:10 +08:00
Ilya Tregubov 2c69199ca1 weekly release 3.11.1+ 2021-07-23 11:31:01 +02:00
Ilya Tregubov 0ca014907b Merge branch 'install_311_STABLE' of https://git.in.moodle.com/amosbot/moodle-install into MOODLE_311_STABLE 2021-07-23 11:30:59 +02:00
Jun Pataleta 8096d76275 MDL-72206 theme_boost: Have env check classes extend alert classes
To achieve good colour contrast and consistency with other parts of
Moodle, the environment check classes need to extend the alert-*
classes.
2021-07-23 15:07:59 +08:00
Andrew Nicols 2afafa0431 Merge branch 'MDL-70427-311' of git://github.com/paulholden/moodle into MOODLE_311_STABLE 2021-07-22 11:22:56 +08:00
AMOS bot 9fb9779780 Automatically generated installer lang files 2021-07-22 00:07:33 +00:00
Víctor Déniz e08da48fbd Merge branch 'MDL-72108-311' of git://github.com/andrewnicols/moodle into MOODLE_311_STABLE 2021-07-21 19:28:54 +01:00
Ilya Tregubov d6bd634cc5 Merge branch 'MDL-72125-311' of git://github.com/andrewnicols/moodle into MOODLE_311_STABLE 2021-07-19 14:00:45 +02:00
Andrew Nicols 3fb79f7a6a MDL-72125 mod_assign: Use assign submission data generators 2021-07-19 18:41:31 +08:00
Andrew Nicols 94bdaa6b4e MDL-72125 mod_assign: Add data generator for assign submissions 2021-07-19 18:41:31 +08:00
Andrew Nicols aa1f55f1bc MDL-72125 testing: Make global $CFG available when including generators
This will remove the requirement to add the global $CFG call to the top
of generator scripts.
2021-07-19 18:41:31 +08:00
Shamim Rezaie f2a52e06e5 MDL-71672 javascript: Fix the markup in the header of YUI dialogs
Move the close button out of the element that is set as the
aria-labelledby for the dialog.
Also used h5 for the dialog titles so they are consistent with
AMD modals.
2021-07-19 16:41:52 +10:00
Shamim Rezaie 2bafc91952 MDL-71672 atto_equation: Fix the markup and the initial focused element
The initial focused element should be the first operator button.
This commit also fixes the accessibility issues that previously were
wrongly fixed by a redundant click on the first tab using javascript.
2021-07-19 16:41:51 +10:00
Shamim Rezaie aa3a2a43ea MDL-71672 atto_managefiles: Focus the first file manager button 2021-07-19 16:41:51 +10:00
Shamim Rezaie a7c9576c20 MDL-71672 atto_emojipicker: Focus the search bar initially 2021-07-19 16:41:51 +10:00
Shamim Rezaie 321c443838 MDL-71672 atto_recordrtc: focus Atto button after hide 2021-07-19 16:41:51 +10:00
Shamim Rezaie c34bd1aa46 MDL-71672 javascript: Fix the issue of focusOnShowSelector being ignored
When focusOnShowSelector is not present, as a fallback, focus the first
focusable element in YUI dialogues
Ref:
https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/Roles/dialog_role
2021-07-19 16:41:51 +10:00
Mikel Martín 46225f323a MDL-71152 theme_boost: Use 'scroll-margin-top' for anchor links
Current anchor link offset fix is not working with 'display:flex' elements
2021-07-16 11:56:24 +02:00
boygr49p 5cadd35f14 MDL-71500 calendar_threemonth: add behat step and coverage 2021-07-16 15:08:27 +08:00
boygr49p fa3f88babb MDL-71500 calendar_threemonth: clicking in a diff day should refresh day view
Clicking in a day in the three month block replaces the div with id starting
with calendar- so we can do so repeatedly and successfully and test that it does (with behat).
2021-07-16 15:08:27 +08:00
Andrew Nicols e6e1b50c31 MDL-72163 admin: Plugins overview page should link to categories 2021-07-16 13:49:43 +08:00
Andrew Nicols 2fe23b9295 MDL-72125 behat: Add get_activity_id() behat generators helper 2021-07-16 12:33:56 +08:00
Andrew Nicols c9a309ed6a MDL-72125 testing: Set a default idnumber when creating activities
The activity generator currently requires an idnumber when creating
activities, but this is not a requirement when creating the same
activity through the UI. The requirement comes because we want to
provide a way to refer to activities in subsequent steps.

This commit modifies the behaviour such that the generator uses the name
of the activity as the default idnumber.

This has two  main benefits:
1. it simplfies generation of activities; and
2. it makes the language used when writing behat tests much more natural.

With this change, steps will refer to the activity by its idnumber/title
in all cases, rather than sometimes by an idnumber which bears no
relevance to the title.
2021-07-16 12:33:56 +08:00
Andrew Nicols a247fd8d93 MDL-72125 testing: Add helper to run generators as a user 2021-07-16 12:33:56 +08:00
Thach Le Huy 7076db3492 MDL-72033 User tours: step placement issues if screen too narrow 2021-07-16 11:05:51 +07:00
abgreeve 5774e9e081 weekly release 3.11.1+ 2021-07-16 10:16:38 +08:00
abgreeve fdaeb5c7c3 Merge branch 'install_311_STABLE' of https://git.in.moodle.com/amosbot/moodle-install into MOODLE_311_STABLE 2021-07-16 10:16:37 +08:00
AMOS bot ff2de0df79 Automatically generated installer lang files 2021-07-16 00:07:29 +00:00
sam marshall cfb22b5591 MDL-72152 Behat: No way to test key shortcuts with letter keys
Extends the existing step 'And I press the Shift Left key' so that
it supports letter/other keys: 'And I press the Ctrl C key'.
2021-07-15 10:46:45 +01:00
Jun Pataleta 2cde9d6aff Merge branch 'MDL-63770-311' of /home/jun/moodles/stable_311/moodle into MOODLE_311_STABLE 2021-07-15 16:15:39 +08:00
Matteo Scaramuccia 15d50814c6 MDL-63770 core: 'port' should be an integer like in parse_url()
Plus trivial comment cleanup.
2021-07-15 11:39:33 +08:00
Dmitri Pisarev aa59c122df MDL-63770 core: Fix a false-positive in reverseproxyabused check
A `reverseproxyabused` error is wrongly triggered when external port number doesn't equal internal.
2021-07-15 11:39:33 +08:00
Eloy Lafuente (stronk7) 0443be1bca Merge branch 'MDL-67338-311' of git://github.com/paulholden/moodle into MOODLE_311_STABLE 2021-07-15 00:34:42 +02:00
Paul Holden de589ca25d MDL-67338 message: re-implement block page type patterns.
The `page_type_list` method for the message component was deprecated
in 5b0769db as part of MDL-54744. However it is still required when
trying to configure blocks on any messaging pages.
2021-07-14 19:32:24 +01:00
Eloy Lafuente (stronk7) c2dd676a4e Merge branch 'MDL-72139-311' of git://github.com/cescobedo/moodle into MOODLE_311_STABLE 2021-07-14 13:59:58 +02:00
cescobedo beb13397f8 MDL-72139 core_message: Fix encoding UTF-8 in prevent unclosed tags 2021-07-14 07:41:24 +02:00
Eloy Lafuente (stronk7) 13a902faea Merge branch 'MDL-71874-311' of git://github.com/andrewnicols/moodle into MOODLE_311_STABLE 2021-07-13 20:38:10 +02:00
Sara Arjona 7487cbd043 Merge branch 'MDL-71782_311' of https://github.com/stronk7/moodle into MOODLE_311_STABLE 2021-07-13 16:44:40 +02:00
Jun Pataleta f884dee7e8 Merge branch 'MDL-72036-311' of git://github.com/sarjona/moodle into MOODLE_311_STABLE 2021-07-13 16:05:36 +08:00
Sara Arjona f008960321 MDL-72036 atto_h5p: Random error with external URL
After a major upgrade was done in h5p.com, some random errors appeared
in the "H5P options are ignored for H5P URLs" scenario.
They have been fixed replacing the URL for different (which should
load quicker). As we're checking external content, no other improvement
can be done on the Moodle site.
2021-07-13 08:37:42 +02:00
Huong Nguyen f53dd9c5d2 MDL-71656 atto: Add meaningful labels to colour items
Colour chooser supported:
 - atto_fontcolor
 - atto_backcolor
2021-07-13 13:07:06 +07:00
Paul Holden e6a4dde54b MDL-70427 task: correct missing component when queuing adhoc task.
If the task belongs to a component, and doesn't have it's own
component property set then we can lazy-load it based on class
namespace.
2021-07-12 20:47:00 +01:00
Paul Holden 2a2fd7ad38 MDL-70427 admin: remove plugin adhoc tasks during uninstall. 2021-07-12 20:45:07 +01:00
Paul Holden 37716dc58e MDL-71050 h5p: account for parent languages retrieving translations.
Take account of parent languages when requesting given library
translation. For example if we are currently using "de_kids" as the
current language, we need to recurse each language pack looking for
a matching H5P translation ("de_kids" -> "de_du" -> "de").
2021-07-12 13:17:07 +01:00
AMOS bot bb4bcb120d Automatically generated installer lang files 2021-07-11 00:07:26 +00:00
Eloy Lafuente (stronk7) 2094d420e1 Moodle release 3.11.1 2021-07-10 18:56:04 +02:00
Eloy Lafuente (stronk7) 1e03249349 MDL-71782 behat: Ensure page after saving changes is there
A similar approach was followed @ MDL-67935, although the
case doesn't seem to be the same.

In any case, it's curious that all local execution are
100% passing and only CIs fail so often. Just guessing if,
maybe, there is some Chrome version factor around (we
are running older, sticky, versions @ CIs.
2021-07-10 15:50:31 +02:00
Paul Holden 1f20d8dfed MDL-71835 report_log: correct query returning user fullname from DB. 2021-07-09 13:54:18 +01:00
Paul Holden b40cf3ba54 MDL-67833 tool_customlang: break long text in component column. 2021-07-09 11:37:04 +01:00
AMOS bot a50d03fa58 Automatically generated installer lang files 2021-07-09 00:07:33 +00:00
Eloy Lafuente (stronk7) 04eaed2029 weekly release 3.11+ 2021-07-08 23:44:06 +02:00
Jun Pataleta edd769831c Merge branch 'MDL-71919-311-fix' of https://github.com/cescobedo/moodle into MOODLE_311_STABLE 2021-07-08 23:32:19 +02:00
Jun Pataleta a405f1c947 Merge branch 'MDL-70594_311' of https://github.com/stronk7/moodle into MOODLE_311_STABLE 2021-07-08 23:32:19 +02:00
cescobedo 386b1ad8a6 MDL-71919 core_message: Fix tests in message_send 2021-07-08 23:32:19 +02:00
Huong Nguyen cb48219537 MDL-71922 file: Enhance endless recursion requests protection 2021-07-08 23:32:19 +02:00
cescobedo 1f45155354 MDL-71919 core_message: Fix unclosed html tags in email notification 2021-07-08 23:32:19 +02:00
Paul Holden 17bbd8e109 MDL-71957 auth_shibboleth: safer session retrieval during logout. 2021-07-08 23:32:19 +02:00
Eloy Lafuente (stronk7) fa012b1b3c MDL-70335 behat: Ensure the scenario passes under all themes
Also, get rid of not needed @javascript tag
2021-07-08 23:32:19 +02:00
Dongsheng Cai ecae6484a4 MDL-71978 core_calendar: only allow owner to edit user subscriptions 2021-07-08 23:32:19 +02:00
Adrian Greeve 3a2b3ac3e0 Merge branch 'MDL-71887-311' of https://github.com/snake/moodle into MOODLE_311_STABLE 2021-07-08 23:32:19 +02:00
Paul Holden e3343c280d MDL-71760 admin: escape identity fields in token management table. 2021-07-08 23:32:19 +02:00
Paul Holden 9360ddef14 MDL-71898 mod_quiz: escape user identity fields on override pages. 2021-07-08 23:32:19 +02:00
Mihail Geshoski ee4a1fb8d4 MDL-58393 core: Remove firstname argument from emailconfirmation string 2021-07-08 23:32:19 +02:00
Sujith Haridasan c750bd273b MDL-71241 course: Validate and sanitize sort arguments
Signed-off-by: Sujith Haridasan <sujith@moodle.com>
2021-07-08 23:32:10 +02:00
Mihail Geshoski c4b65df459 MDL-71242 core_course: Test the validation of the sort value
Adds new unit test, test_course_get_recent_courses_sort_validation(),
which is reponsible for testing the validation of the sort value in
course_get_recent_courses().
2021-07-08 23:32:10 +02:00
Mihail Geshoski 4d2f6a1d08 MDL-71242 core_course: Update test_course_get_recent_courses() unit test
Adds additional assertions in test_course_get_recent_courses() test to
ensure that the sort funcionality works as expected.
2021-07-08 23:32:10 +02:00
Mihail Geshoski db6340a0e1 MDL-71242 core_course: Validate the value of the sort argument
This change validates the value of the sort argument in
course_get_recent_courses().
2021-07-08 23:31:50 +02:00
Andrew Nicols d2cd91224f MDL-72108 js: Fix incorrect jsdoc examples for core/ajax 2021-07-08 10:39:44 +08:00
Claude Vervoort 5e64128392 MDL-71887 mod_lti: repost when no cookie due to crosssite request 2021-07-07 14:17:51 +08:00
Michael Hawkins 15264e5d9a MDL-71916 lib: Check cURL redirects for blocked URLs before following 2021-07-06 23:45:41 +02:00
Eloy Lafuente (stronk7) 01a23b30ca Merge branch 'MDL-70638-311' of git://github.com/paulholden/moodle into MOODLE_311_STABLE 2021-07-06 20:21:25 +02:00
Eloy Lafuente (stronk7) bf5e9b7aec Merge branch 'MDL-70335-311' of https://github.com/juancs/moodle into MOODLE_311_STABLE 2021-07-06 20:18:33 +02:00
Eloy Lafuente (stronk7) f70a99543d Merge branch 'MDL-71537-311' of https://github.com/NashTechOpenUniversity/moodle into MOODLE_311_STABLE 2021-07-06 20:16:28 +02:00
Paul Holden 9ed376448f MDL-70638 user: correct access checks when serving profile files.
Requests for files from a users profile file area should follow
the same access checks as for the profile itself.
2021-07-06 10:28:22 +01:00
cescobedo 06d74009ba MDL-71917 core_message: Use $USER in WS delete_message_for_all_users 2021-07-06 13:33:39 +08:00
Thach Le Huy ed48e5149b MDL-71537 User tours: Minor display errors on mobile 2021-07-06 09:34:25 +07:00
Paul Holden 318528af1a MDL-71981 user: escape identity fields if writer supports HTML. 2021-07-06 09:28:01 +08:00
Paul Holden fb18ed8256 MDL-71981 dataformat: indicate HTML support in writer callback. 2021-07-06 09:28:01 +08:00
Ilya Tregubov 0d13cd3f29 Merge branch 'MDL-71796-311' of git://github.com/lameze/moodle into MOODLE_311_STABLE 2021-07-05 12:35:35 +02:00
Simey Lameze 4fc4c6b54b MDL-71796 mod_scorm: fix custom completion logic 2021-07-05 17:47:44 +08:00
Eloy Lafuente (stronk7) 74c605196d Merge branch 'MDL-72063-311-en_fix' of git://github.com/mudrd8mz/moodle into MOODLE_311_STABLE 2021-07-04 11:02:27 +02:00
Juan Segarra Montesinos b7b5d7112f MDL-70335 mod_forum: Subscribe users from Forced to Auto mode
When a teacher changes the subscription mode from forced
subscription to auto subscription using the "cog" icon in the
forum page, users are not seen in the Show/edit current
subscribers" page.

This does not happens when done from the Edit settings page.
2021-07-03 09:51:28 +02:00
Eloy Lafuente (stronk7) 90711fb0c3 MDL-70594 environment: Apply agreed changes
- PostgreSQL 10 required.
- Exif PHP extension recommended.
2021-07-01 22:41:37 +02:00
Eloy Lafuente (stronk7) c5b76d8e54 MDL-70594 environment: 4.0 base information
This is a direct copy of the 3.11 branch to have
the changes under control in next commits.
2021-07-01 22:41:37 +02:00
David Mudrák 9dc8ec17b9 MDL-72063 lang: Use fixed strings in tests, too 2021-07-01 19:29:02 +02:00
Helen Foster b6dca70a44 MDL-72063 lang: Import fixed English strings (en_fix) 2021-07-01 19:14:53 +02:00
Ilya Tregubov aeb47889fa weekly release 3.11+ 2021-07-01 16:42:03 +02:00
Bas Brands 1f3a2943f1 MDL-71366 core_question: prevent question options overflow 2021-07-01 11:58:07 +08:00
Bas Brands ee1fc4661f MDL-71366 core_question: prevent shrinking of input radio 2021-07-01 11:58:02 +08:00
Andrew Nicols 64ce58d737 Merge branch 'MDL-72010_311' of https://github.com/timhunt/moodle into MOODLE_311_STABLE 2021-07-01 11:11:06 +08:00
Paul Holden a263679bdd MDL-71314 course: add category record snapshot to deletion event. 2021-07-01 10:31:57 +08:00
Andrew Nicols b18f066ff2 Merge branch 'MDL-68003_311' of https://github.com/timhunt/moodle into MOODLE_311_STABLE 2021-07-01 09:53:53 +08:00
Sara Arjona cdd0a7f2ae Merge branch 'MDL-67208-311' of git://github.com/lameze/moodle into MOODLE_311_STABLE 2021-06-30 16:55:38 +02:00
Simey Lameze 35d8248b7a MDL-71789 calendar: fix subscription url validation 2021-06-30 16:29:58 +02:00
Sara Arjona debc96a0fa Merge branch 'MDL-71971-311' of git://github.com/lucaboesch/moodle into MOODLE_311_STABLE 2021-06-30 16:16:12 +02:00
Sara Arjona 5bd645d3b3 Merge branch 'MDL-71991_311' of https://github.com/timhunt/moodle into MOODLE_311_STABLE 2021-06-30 16:09:35 +02:00
Leon Stringer 3236bae2ed MDL-72035 csvlib: Write BOM for Excel
Add option to class csv_export_writer to prefix CSV file with UTF-8 byte
order mark (BOM).  This helps Microsoft Excel detect the file's character
encoding.
2021-06-30 15:01:11 +01:00
Tim Hunt 46ba8d9e70 MDL-68003 session timeout warning: don't show in iframes 2021-06-29 16:58:51 +01:00
Eloy Lafuente (stronk7) bd83bb57cb Merge branch 'MDL-71947-311' of https://github.com/bmbrands/moodle into MOODLE_311_STABLE 2021-06-29 11:39:34 +02:00
Sara Arjona d1b55df6d2 Merge branch 'MDL-71777-311' of https://github.com/appalachianstate/moodle into MOODLE_311_STABLE 2021-06-28 11:33:25 +02:00
Fred Woolard 80f368e8aa MDL-71777 antivirus: Use hash_from_path (sha1_file) 2021-06-25 09:50:39 -04:00
Luca Bösch 2ac36fd458 MDL-71971 mod_quiz: separate "Repaginate" and "Select multiple items" 2021-06-25 00:03:34 +02:00
Eloy Lafuente (stronk7) 911f9adccf weekly release 3.11+ 2021-06-24 23:03:13 +02:00
Eloy Lafuente (stronk7) cb2132a69e NOBUG: Fixed SVG browser compatibility 2021-06-24 23:03:09 +02:00
Eloy Lafuente (stronk7) e98fa251a7 Merge branch 'install_311_STABLE' of https://git.in.moodle.com/amosbot/moodle-install into MOODLE_311_STABLE 2021-06-24 23:03:08 +02:00
Tim Hunt 784fd2857f MDL-72010 quiz: prevent session timeouts during attempts 2021-06-24 12:25:50 +01:00
Bas Brands e5400da73e MDL-71947 core_quiz: vertical forms for access rule popups 2021-06-24 12:32:05 +02:00
Bas Brands 64fb0a9587 MDL-71947 theme_boost: fix styles for vertical forms 2021-06-24 12:32:05 +02:00
Simey Lameze 5e5421b56d MDL-67208 calendar: fix manage subscription redirection
This patch fix the subcription page only adding the course parameter
only when viewing the calendar on course context. It also passes the
url to the form instance, so we have the course parameter on the
form action attribute.
2021-06-24 17:00:04 +08:00
Tony Butler 6d175e1769 MDL-71694 assignfeedback_comments: Behat test for feedback preservation
Including efficiency improvements from https://github.com/davosmith
2021-06-24 12:02:47 +08:00
Tony Butler e6f453376b MDL-71694 assignfeedback_comments: Fill latest submitted comment data
Otherwise if grading validation fails, any new/updated comments are
lost and replaced with previously saved data (or an empty editor).
2021-06-24 12:02:46 +08:00
Andrew Nicols c54bf071a1 Merge branch 'MDL-71837-311' of git://github.com/paulholden/moodle into MOODLE_311_STABLE 2021-06-24 10:59:57 +08:00
Andrew Nicols 4e9bef0197 Merge branch 'MDL-55243-311' of git://github.com/HuongNV13/moodle into MOODLE_311_STABLE 2021-06-24 10:56:11 +08:00
Huong Nguyen 29f384fd91 MDL-55243 files: Make is_valid_image support SVG files 2021-06-24 09:03:23 +07:00
Eloy Lafuente (stronk7) 2f07a9416b Merge branch 'MDL-71593-311' of git://github.com/ilyatregubov/moodle into MOODLE_311_STABLE 2021-06-23 23:35:15 +02:00
Daniel Neis Araujo f699d8ee39 MDL-71999 enrol: enrol_imsenterprise_allow_group_member_remove global 2021-06-23 13:21:24 -03:00
Andrew Nicols a0e267c9a5 MDL-71669 editor_atto: Rebuild editor_atto/events 2021-06-23 14:48:33 +08:00
Andrew Nicols e57e76096f Merge branch 'MDL-71669-311' of git://github.com/junpataleta/moodle into MOODLE_311_STABLE 2021-06-23 14:07:13 +08:00
Jun Pataleta 335e628e27 MDL-71669 atto_table: Set appropriate ARIA roles for table button
The table button can become a menu button when the cursor's position
in the editor is within a table. So we'd need to update the button with
ARIA attributes appropriate for a menu button.
This is best done when the button's highlight gets toggled, so we're
adding an event listener for when this happens and add/remove the ARIA
attributes accordingly.
2021-06-23 13:10:16 +08:00
Jun Pataleta 2874db9bd5 MDL-71669 editor_atto: Fire custom event when toggling button highlight 2021-06-23 13:10:16 +08:00
Jun Pataleta 408a698eef MDL-71669 editor_atto: Create an events module for the atto editor 2021-06-23 13:10:16 +08:00
AMOS bot 254f3d34c6 Automatically generated installer lang files 2021-06-23 00:07:31 +00:00
Dongsheng Cai 9a50919cbc MDL-71029 forum: fix post count for users have more than 1 enrolment 2021-06-23 09:44:05 +10:00
Tim Hunt 54197c12d2 MDL-71991 files: check return value of rename when writing files 2021-06-22 19:37:28 +01:00
Víctor Déniz 0cc154a14c Merge branch 'MDL-71634-311' of git://github.com/lucaboesch/moodle into MOODLE_311_STABLE 2021-06-22 18:38:19 +01:00
Sara Arjona ae9c02762e Merge branch 'MDL-70750-311' of git://github.com/ilyatregubov/moodle into MOODLE_311_STABLE 2021-06-22 10:21:05 +02:00
Andrew Nicols 2f36d545a5 Merge branch 'MDL-70233-alternative-disabled-cache-311' of https://github.com/Peterburnett/moodle into MOODLE_311_STABLE 2021-06-22 15:47:41 +08:00
mohalisad 480ceb3b10 MDL-71973 analytics cli: fix enabling model bug
Fix the exception at line 143 caused by wrong argument for constructor in line 140
2021-06-21 18:51:10 +04:30
Ilya Tregubov 69b3669a64 MDL-71593 oauth2: Remove methods that were readded by mistake. 2021-06-21 10:12:45 +02:00
Ilya Tregubov b818405c99 MDL-70750 mod_survey: Fix warning for undefined offset. 2021-06-21 08:42:28 +02:00
Eloy Lafuente (stronk7) bafd525ebe Merge branch 'MDL-71113-311' of git://github.com/andrewnicols/moodle into MOODLE_311_STABLE 2021-06-19 18:03:03 +02:00
AMOS bot 9fc53b4428 Automatically generated installer lang files 2021-06-19 00:07:33 +00:00
Jun Pataleta c4b00efba1 MDL-71669 editor_atto: Set proper roles to toolbar menus
* Menu button fix
  - Added aria-haspopup, aria-controls, and aria-expanded attributes.
* Menu fixes
  - Added aria-labelledby that points to the menu button label.
  - Removed the dialog role in the menu's container.
  - The ul tag needs the "menu" role.
  - The li tag needs the role "none" instead of the "presentation" role

Reference:
https://www.w3.org/TR/wai-aria-practices-1.1/#menubutton
2021-06-18 15:20:52 +08:00
Andrew Nicols 613cd69cbd MDL-71113 javascript: Improve basic JS Documentation 2021-06-18 09:38:05 +08:00
Andrew Nicols e214af5720 MDL-71113 js: Fix all jsdoc warnings 2021-06-18 09:38:05 +08:00
Andrew Nicols 43ae52cbf8 MDL-71113 js: Bare minimum fixes to build jsdoc 2021-06-18 09:38:04 +08:00
Andrew Nicols b811a22f86 MDL-71113 js: Add jsdoc configuration and Grunt 2021-06-18 09:38:04 +08:00
AMOS bot 25a35fc5ac Automatically generated installer lang files 2021-06-18 00:07:31 +00:00
Luca Bösch 77504691d5 MDL-71634 course: Do not show "Your progress" info any more. 2021-06-17 19:22:12 +02:00
Víctor Déniz 0e64d1d00d weekly release 3.11+ 2021-06-17 14:54:56 +01:00
Andrew Nicols 5ef3bfa683 Merge branch 'MDL-71813-311' of https://github.com/NashTechOpenUniversity/moodle into MOODLE_311_STABLE 2021-06-17 11:28:34 +08:00
Andrew Nicols e66cd8b30d Merge branch 'MDL-71926-311' of git://github.com/peterRd/moodle into MOODLE_311_STABLE 2021-06-17 10:45:02 +08:00
Eloy Lafuente (stronk7) 86b801358a Merge branch 'MDL-71896-311' of git://github.com/merrill-oakland/moodle into MOODLE_311_STABLE 2021-06-17 00:11:36 +02:00
Eloy Lafuente (stronk7) afe6b6914c Merge branch 'MDL-71888-311' of git://github.com/paulholden/moodle into MOODLE_311_STABLE 2021-06-17 00:08:12 +02:00
Eloy Lafuente (stronk7) 383fcbbfb2 Merge branch 'MDL-71736-311' of git://github.com/andrewnicols/moodle into MOODLE_311_STABLE 2021-06-17 00:01:50 +02:00
Andrew Nicols 56efe6f9e3 Merge branch 'MDL-71804_311' of https://github.com/stronk7/moodle into MOODLE_311_STABLE 2021-06-15 11:27:08 +08:00
Peter Dias 6c5b6ab10c MDL-71926 core: Check capabilities before adding link
Check whether the user has the capability to manage courses before adding any link
2021-06-15 08:41:53 +08:00
Eloy Lafuente (stronk7) 3b90b7da11 MDL-71804 travis: Bump to bionic 2021-06-13 22:53:36 +02:00
abgreeve 70f99ddd9a weekly release 3.11+ 2021-06-11 13:52:12 +08:00
abgreeve a3ef910dcf Merge branch 'install_311_STABLE' of https://git.in.moodle.com/amosbot/moodle-install into MOODLE_311_STABLE 2021-06-11 13:52:11 +08:00
Eric Merrill c5f16df579 MDL-71896 dml: Add auroramysql to config-dist 2021-06-10 15:30:25 -04:00
Sujith Haridasan b5cd2c809b MDL-68915 core_form: Fix the behat test failure
Fix the behat test failure for the forums when
grades exist.

Signed-off-by: Sujith Haridasan <sujith@moodle.com>
2021-06-10 15:04:05 +08:00
Adrian Greeve 881ec9371b Merge branch 'MDL-71369-311' of git://github.com/andrewnicols/moodle into MOODLE_311_STABLE 2021-06-10 11:50:08 +08:00
Andrew Nicols 430f220649 Merge branch 'MDL-71838_311' of https://github.com/timhunt/moodle into MOODLE_311_STABLE 2021-06-10 11:42:44 +08:00
Adrian Greeve 588db816c9 Merge branch 'MDL-68915-311' of https://github.com/sharidas/moodle into MOODLE_311_STABLE 2021-06-10 11:36:16 +08:00
Adrian Greeve 2048fa0397 Merge branch 'MDL-64236-311' of git://github.com/mihailges/moodle into MOODLE_311_STABLE 2021-06-10 11:28:38 +08:00
Sujith Haridasan ee1b33a480 MDL-68915 lesson: Do not allow maxgrade change
Do not allow maxgrade change when some of the
users are already graded. As of now this is applicable
to the following activities:
1. Forum
2. Database
3. Lesson
4. Glossary

Signed-off-by: Sujith Haridasan <sujith@moodle.com>
2021-06-10 08:32:23 +05:30
Andrew Nicols a14f5eb8ba Merge branch 'MDL-71559-m311' of https://github.com/sammarshallou/moodle into MOODLE_311_STABLE 2021-06-10 10:58:33 +08:00
Adrian Greeve 02bff36c41 Merge branch 'MDL-71682-311' of git://github.com/paulholden/moodle into MOODLE_311_STABLE 2021-06-10 10:52:43 +08:00
Andrew Nicols 6774412034 Merge branch 'MDL-71832-m311' of https://github.com/sammarshallou/moodle into MOODLE_311_STABLE 2021-06-10 10:41:31 +08:00
Andrew Nicols e4f9f7ddea Merge branch 'MDL-71836-m311' of https://github.com/sammarshallou/moodle into MOODLE_311_STABLE 2021-06-10 09:19:04 +08:00
Andrew Nicols 42dc1464df Merge branch 'MDL-70846-311' of https://github.com/dcai/moodle into MOODLE_311_STABLE 2021-06-10 08:41:34 +08:00
AMOS bot 000065610d Automatically generated installer lang files 2021-06-10 00:07:26 +00:00
Paul Holden 71300b78a6 MDL-71888 admin: define clitablesexist string used by CLI installer. 2021-06-09 22:06:10 +01:00
Andrew Nicols 022e9ab852 MDL-71736 javascript: Run the ignorefiles command more liberally 2021-06-09 19:11:53 +08:00
Andrew Nicols 4abe3027d8 MDL-71874 behat: Show warning when using add to section without js 2021-06-09 16:27:19 +08:00
abgreeve dbde80d859 Merge branch 'MDL-67975-311' of https://github.com/sharidas/moodle into MOODLE_311_STABLE 2021-06-09 16:13:57 +08:00
Sujith Haridasan 23f7bdc9a2 MDL-67975 nextcloud: Add support for Link to file
This change set would bring the following new additions
to the nextcloud repo:
1. Create a new radio button in filepicker: "Link to file"
2. When user clicks this radio button a warning message
   would be created, saying this file would become public.
   Meaning a public link is created in the nextcloud server.
3. Created a sync_reference method to sync the files downloaded
   from nextcloud server. The sync/refresh time given is 1 day/24 hours.
4. Made sure that when the file is downloaded, we use the file
   from moodledata file pool.

Signed-off-by: Sujith Haridasan <sujith@moodle.com>
2021-06-09 13:38:07 +05:30
Andrew Nicols a40c30b0be Merge branch 'MDL-65637-311' of git://github.com/peterRd/moodle into MOODLE_311_STABLE 2021-06-09 13:27:06 +08:00
Eloy Lafuente (stronk7) d9ee747e0b Merge branch 'MOODLE_311_MDL-71471_v2' of https://github.com/golenkovm/moodle into MOODLE_311_STABLE 2021-06-07 20:15:02 +02:00
Mikhail Golenkov 4be14f2d27 MDL-71471 assign: Remove submission from queue when converted in web 2021-06-04 15:21:51 +10:00
Eloy Lafuente (stronk7) 193a0a6189 weekly release 3.11+ 2021-06-03 23:56:11 +02:00
Eloy Lafuente (stronk7) b7e345a7eb Merge branch 'install_311_STABLE' of https://git.in.moodle.com/amosbot/moodle-install into MOODLE_311_STABLE 2021-06-03 23:56:07 +02:00
sam marshall 52636524d4 MDL-71559 core_user: Fields support for PROFILE_VISIBLE_TEACHERS 2021-06-03 11:24:24 +01:00
Andrew Nicols 328577f89b Merge branch 'MDL-71741-311' of git://github.com/HuongNV13/moodle into MOODLE_311_STABLE 2021-06-03 11:51:31 +08:00
Huong Nguyen da14398a88 MDL-71741 portfolio: Reset header information between requests
The reset process also removes the CURLFile option in the HTTP object,
which will avoid the serialisation issue on PHP7.4 and upward
2021-06-03 10:51:16 +07:00
Huong Nguyen 63a05f4f1f MDL-71741 portfolio: Use the correct configurations 2021-06-03 10:51:16 +07:00
abgreeve 6e8ccc0851 Merge branch 'MDL-71284-311' of git://github.com/lucaboesch/moodle into MOODLE_311_STABLE 2021-06-03 11:42:31 +08:00
Andrew Nicols 05af1f4404 Merge branch 'MDL-71668-311' of git://github.com/rezaies/moodle into MOODLE_311_STABLE 2021-06-03 11:34:09 +08:00
Andrew Nicols ccac2556c9 Merge branch 'MDL-71622_311' of https://github.com/stronk7/moodle into MOODLE_311_STABLE 2021-06-03 11:20:58 +08:00
Andrew Nicols 24e486017b Merge branch 'MDL-71737-311' of git://github.com/HuongNV13/moodle into MOODLE_311_STABLE 2021-06-03 11:09:21 +08:00
abgreeve 4e63264072 Merge branch 'MDL-71693-311' of git://github.com/paulholden/moodle into MOODLE_311_STABLE 2021-06-03 10:18:27 +08:00
abgreeve a7c2b6d33c Merge branch 'MDL-71644-311' of https://github.com/NashTechOpenUniversity/moodle into MOODLE_311_STABLE 2021-06-03 09:25:10 +08:00
Eloy Lafuente (stronk7) bd512aa401 Merge branch 'MOODLE_311_MDL-71438_v2' of https://github.com/golenkovm/moodle into MOODLE_311_STABLE 2021-06-02 23:52:16 +02:00
Paul Holden 73ac5eb4d6 MDL-71682 course: remove deprecated non-AJAX activity chooser call.
The deprecated method to render the dropdown based activity chooser
from 430746d3 was still being called, which produced debugging on
the site when doing so.
2021-06-02 21:07:34 +01:00
Paul Holden 3ed05ecf8c MDL-71837 calendar: turn off export form double submit protection. 2021-06-02 19:53:02 +01:00
Tim Hunt 490b59a7b3 MDL-71838 quiz reports: average rows calc can run out of memory
Should not use get_records when you mean record_exists.
2021-06-02 16:49:34 +01:00
sam marshall d7434abe97 MDL-71836 core_enrol: Cannot search for users by username 2021-06-02 14:53:49 +01:00
Mikhail Golenkov d36305b090 MDL-71438 blocks: Add index on mdl_user_preferences.name 2021-06-02 22:12:40 +10:00
sam marshall b0be8281b6 MDL-71832 core_admin: Browse users page, sort by custom field fails
The failure was because the sort parameter in URL is like
profile_field_xx, but PARAM_ALPHANUM strips the _ symbols.
2021-06-02 12:06:44 +01:00
Shamim Rezaie 33cb9e8af0 MDL-71668 editor_atto: Accissibility focus styling for Atto buttons
Make all Atto buttons consistent in the way they show the focus outline
2021-06-02 17:11:52 +10:00
Peter Dias a593731e7c MDL-65637 core_oauth2: Introduce a new custom linkedin oauth2 client 2021-06-02 08:13:20 +08:00
Peter Dias 6f411ad4c7 MDL-65637 core_oauth2: Create new oauth2 mapping function
Separated userinfo mapping into a function and new unit test
2021-06-02 08:12:10 +08:00
Andrew Nicols b4d899d0d3 Merge branch 'MDL-71731_311' of https://github.com/stronk7/moodle into MOODLE_311_STABLE 2021-06-01 12:47:53 +08:00
hiendinh a31db6d88a MDL-71813 filepicker: view file not available using keyboard (Enter) 2021-05-31 18:22:21 +07:00
AMOS bot 46a444beb5 Automatically generated installer lang files 2021-05-29 00:07:26 +00:00
Huong Nguyen b17d54b307 MDL-71737 portfolio: Make is_valid_image become internal function 2021-05-28 15:07:19 +07:00
Dongsheng Cai e280853f7a MDL-70846 accessibility: update color to increase contrast 2021-05-28 12:49:56 +10:00
Dongsheng Cai a246699a2b MDL-70846 accessibility: update tree attributes to pass a11y check
- Move aria-* atrributes from <p> to <li>
- Move "role" attribute from <p> to <li>
- Update behat tests

Based on reference implementation from:
- https://www.w3.org/TR/wai-aria-practices-1.1/examples/treeview/treeview-2/treeview-2a.html
- https://www.w3.org/WAI/GL/wiki/Using_ARIA_trees
2021-05-28 12:49:56 +10:00
Luca Bösch a62fc597a7 MDL-71284 assign: prevent double escaping assignment name. 2021-05-27 20:30:49 +02:00
Eloy Lafuente (stronk7) b93c667bf6 MDL-71731 phpunit: isolate tests requiring lots of peak mem
It's mostly addDocuments(), used by test_add_document_batch_large()
with 100 big documents what requires a lot of ram
although apparently, it's freed (partially) once ended.
Just the peak usage remains high. In any case, isolating that
test to avoid the non-freed side of it to consume too
much memory for the rest. (We allow "only" 2GB).

Still, I think that there is a good work about to detect which
tests are leaking / consuming too much, I'd bet there are
a bunch running completely out of control.
2021-05-27 19:42:26 +02:00
Eloy Lafuente (stronk7) 5d3c294eeb MDL-71622 behat: use own fork of friends-of-behat/mink-extension
Upstream behat/mink-extension isn't updated since 2018.

So we switch to friends-of-behat/mink-extension until
upstream situation is clarified.

But friends-of-behat/mink-extension has some PHP8 issues
that, at the time of writting this, have not been solved:

- https://github.com/FriendsOfBehat/MinkExtension/pull/9

So we are temporarily changing to one fork:

https://github.com/moodlehq/MinkExtension

Whenever those issues are solved by friends-of-beha or behat
we will change back to them and remove our fork.

Generated with composer 2.x and PHP 7.3
2021-05-27 19:42:18 +02:00
Sara Arjona 2d82188d89 weekly release 3.11+ 2021-05-27 17:45:09 +02:00
Sara Arjona b84c90b8aa Merge branch 'install_311_STABLE' of https://git.in.moodle.com/amosbot/moodle-install into MOODLE_311_STABLE 2021-05-27 17:45:07 +02:00
Sara Arjona 0d4dd9d891 Merge branch 'MDL-69703-311' of git://github.com/paulholden/moodle into MOODLE_311_STABLE 2021-05-27 12:25:01 +02:00
Paul Holden e2f4bddc6d MDL-69703 theme_boost: ensure multi-select options take all space. 2021-05-27 10:45:48 +01:00
Sara Arjona 6bd128b714 Merge branch 'MDL-71145-311' of git://github.com/HuongNV13/moodle into MOODLE_311_STABLE 2021-05-27 11:37:07 +02:00
Huong Nguyen 67ca5af409 MDL-71145 qtype_ddmarker: Fix Behat failure 2021-05-27 15:29:25 +07:00
Andrew Nicols 2a7cd2b0d8 Merge branch 'MDL-69703-311' of git://github.com/paulholden/moodle into MOODLE_311_STABLE 2021-05-27 12:05:58 +08:00
Andrew Nicols 12db5d25fe Merge branch 'MDL-71637-311' of git://github.com/peterRd/moodle into MOODLE_311_STABLE 2021-05-27 11:53:25 +08:00
Andrew Nicols 96c52f32ae Merge branch 'MDL-71047-3.11' of https://github.com/NashTechOpenUniversity/moodle into MOODLE_311_STABLE 2021-05-27 11:18:34 +08:00
Andrew Nicols cd5c2bd341 Merge branch 'MDL-71462-MOODLE_311_STABLE' of https://github.com/SysBind/moodle into MOODLE_311_STABLE 2021-05-27 09:54:07 +08:00
Andrew Nicols 2b3c70eee8 Merge branch 'MDL-67771-311' of git://github.com/peterRd/moodle into MOODLE_311_STABLE 2021-05-27 09:45:00 +08:00
Andrew Nicols 39151da155 Merge branch 'MDL-71145-311' of git//github.com/HuongNV13/moodle into MOODLE_311_STABLE 2021-05-27 09:39:53 +08:00
AMOS bot 2ab19a8c46 Automatically generated installer lang files 2021-05-27 00:07:27 +00:00
Eloy Lafuente (stronk7) 311519306c Merge branch 'MDL-71159-311' of git://github.com/andrewnicols/moodle into MOODLE_311_STABLE 2021-05-26 18:47:55 +02:00
Peter Dias 04e0c75456 MDL-71637 core: Set default for mb_substitute_character 2021-05-26 14:19:59 +08:00
Mihail Geshoski 73d596570b MDL-64236 gradereport_grader: Add padding to content in grader report
In certain operative systems the browser's scrollbar may partly cover
the content in the student header and user cells when horizontally
scrolling through the table contents. This is most noticeable when in
RTL mode. Adding slight padding on the left (or right in RTL mode) to
the content in these cells would fix this UI issue.
2021-05-26 13:47:39 +08:00
Andrew Nicols 14a0882662 Merge branch 'MDL-71628-311' of https://github.com/nguyenphuctien/moodle into MOODLE_311_STABLE 2021-05-26 10:39:02 +08:00
Sara Arjona 97f3b0cf17 Merge branch 'MDL-68925_311' of git://github.com/mdjnelson/moodle into MOODLE_311_STABLE 2021-05-25 15:34:30 +02:00
Tien Nguyen 57d66da1a5 MDL-71628 quiz: Quiz review: names not shown on Manual grading screens 2021-05-25 16:30:20 +07:00
Eloy Lafuente (stronk7) fa9e5f890a Merge branch 'MDL-71659-311-missinggradeitem' of git://github.com/mudrd8mz/moodle into MOODLE_311_STABLE 2021-05-24 23:23:08 +02:00
Paul Holden 372924b4a8 MDL-69703 theme_boost: remove right padding for multi-selects.
This removes the whitespace obscuring longer option elements when
selected, particularly on narrow screens.
2021-05-24 15:56:44 +01:00
avi 8b4eff6fbd MDL-71462 core: Add phpstorm metadata file to gitignore 2021-05-24 15:54:45 +03:00
AMOS bot 3fc9bf8350 Automatically generated installer lang files 2021-05-24 00:07:26 +00:00
AMOS bot 0fd372707a Automatically generated installer lang files 2021-05-23 00:07:23 +00:00
Andrew Nicols 2a2e548f4c MDL-71369 admin: Apply form change checker to admin/category view 2021-05-21 09:58:16 +08:00
Huong Nguyen 9c4948a892 MDL-71145 qtype_ddmarker: Incorrect marker positions in responsive mode 2021-05-21 08:47:37 +07:00
Jun Pataleta 44257ec096 Merge branch 'MDL-60431_311' of https://github.com/jonof/moodle into MOODLE_311_STABLE 2021-05-21 08:57:20 +08:00
Jonathon Fowler f2c9e1728e MDL-60431 qtype_calculated: handle NAN and INF calculation outcomes
With significant-digits presentation mode, NAN would be formatted as
'NAN' followed by zeroes, which looks silly, and +INF would cause an
execution timeout as Moodle tries to divide +∞ by 10 until it becomes
less than 1, which can happen in a divide-by-zero situation.

Note that the user can't answer NAN or INF to any question, but at this
at least now looks consistent and also doesn't break Moodle in the case
of +INF.
2021-05-21 09:35:40 +10:00
Paul Holden 48c7b4a1fe MDL-71693 admin: set default for debugdisplay to off.
The previous default value for this config was based on the
PHP ini file `display_error` property (6349a3ba). However we
override this propertly during page setup (25338300) according
to the value of the configuration itself.

This had the effect of always setting the default value for
this config to it's current value.
2021-05-20 21:39:36 +01:00
Sara Arjona beefea6bad weekly release 3.11+ 2021-05-20 11:09:04 +02:00
Sara Arjona 1f2f52d949 Merge branch 'install_311_STABLE' of https://git.in.moodle.com/amosbot/moodle-install into MOODLE_311_STABLE 2021-05-20 11:09:01 +02:00
Peter Dias 18fe7a38d3 MDL-67771 theme: Add side-post to incourse views 2021-05-20 15:15:09 +08:00
Mark Nelson 99c43cae2c MDL-68925 assignfeedback_editpdf: avoid hiding comments with a menu open
Co-authored by: Jonathon Fowler <fowlerj@usq.edu.au>
2021-05-20 13:16:06 +08:00
Jun Pataleta bb662a7dc4 Merge branch 'MDL-71157-311' of git://github.com/sarjona/moodle into MOODLE_311_STABLE 2021-05-20 12:29:58 +08:00
abgreeve 98b407a0ba Merge branch 'MDL-65203-311' of https://github.com/dcai/moodle into MOODLE_311_STABLE 2021-05-20 11:05:58 +08:00
Andrew Nicols 09df41a8ac Merge branch 'MDL-71647-311' of https://github.com/paulholden/moodle into MOODLE_311_STABLE 2021-05-20 10:49:34 +08:00
Thong Bui 95974314dd MDL-71644 Quiz: The issues outstanding from MDL-70947.
Issue 1: While essay question's uploading progress, we need to disable submit
buttons to prevent submit form event.

Issue 2: Enable buttons after pressing cancel button on the popup
confirming overwrite file existed.
2021-05-20 08:32:50 +07:00
Andrew Nicols 33c9dde707 Merge branch 'MDL-71626-311' of https://github.com/paulholden/moodle into MOODLE_311_STABLE 2021-05-20 09:32:19 +08:00
Eloy Lafuente (stronk7) 0fc5c86d42 Merge branch 'MDL-71126-311' of git://github.com/HuongNV13/moodle into MOODLE_311_STABLE 2021-05-19 23:03:13 +02:00
Eloy Lafuente (stronk7) b4dee39b4c Merge branch 'MDL-67935-311' of git://github.com/sarjona/moodle into MOODLE_311_STABLE 2021-05-19 22:50:21 +02:00
Eloy Lafuente (stronk7) 5f0b872a5d Merge branch 'MDL-71373-311' of git://github.com/lucaboesch/moodle into MOODLE_311_STABLE 2021-05-19 19:37:54 +02:00
Sara Arjona 88a00e6a78 MDL-71157 block_myoverview: remove wait from behat
The step "And I wait until ".block_myoverview
[data-control='next']" "css_element" exists" is not correct
because this [data-control='next'] element exists before and
after the step so, in some cases, it might cause the following
step will start earlier than expected.
As pending JS has been added, this wait steps are not required
any more.
2021-05-19 12:34:51 +02:00
Andrew Nicols 02bc9d32c3 MDL-71157 core: Pending JS in paged content bars 2021-05-19 12:34:51 +02:00
Luca Bösch a2fc77efad MDL-71373 tool_usertours: localize "previous"/"next" in user tours.
AMOS BEGIN
        CPY [previous,core],[previousstep,tool_usertours]
        CPY [next,core],[nextstep,tool_usertours]
       AMOS END
2021-05-19 09:56:08 +02:00
Luca Bösch c71c13ff70 MDL-71373 core_enrol: localize "close" in role manager. 2021-05-19 09:56:08 +02:00
Luca Bösch c0bb9750f3 MDL-71373 tool_usertours: localize "previous"/"next" in user tours. 2021-05-19 09:56:08 +02:00
Luca Bösch b739173419 MDL-71373 core_table: localize "previous"/"next" in pagination. 2021-05-19 09:56:08 +02:00
Eloy Lafuente (stronk7) 03b86c5364 Merge branch 'MDL-71619-311' of https://github.com/paulholden/moodle into MOODLE_311_STABLE 2021-05-18 22:59:24 +02:00
Eloy Lafuente (stronk7) bca8b8bd49 Merge branch 'MDL-71373-311' of git://github.com/lucaboesch/moodle into MOODLE_311_STABLE 2021-05-18 22:54:25 +02:00
David Mudrák 3d2b204283 MDL-71659 completion: Consider modules without grade_item incomplete
Activity modules may not have the associated grade_item created yet. It
used to throw fatal error in that case - even when trying to view the
course or edit the activity. So there was no easy way to recover from
this situation.

The patch is based on reasoning that an activity without grade item is
same as activity without any grades. And as such it is considered
incomplete.

A new unit test is added to cover this specific scenario. The existing
unit test is modified and it does not expect the exception any more.
There does not seem to be any good reason why this situation should be
exceptional.
2021-05-18 20:56:31 +02:00
Dongsheng Cai 5464f37017 MDL-65203 template: tab should be quoted to produce valid json 2021-05-18 20:42:17 +10:00
AMOS bot 857626bbe1 Automatically generated installer lang files 2021-05-18 00:07:36 +00:00
Paul Holden 113bef8365 MDL-71647 user: allow searching user selector by identity fields.
Fixes regression from d916cd77, which passed empty extra fields when
not including custom fields.
2021-05-17 16:07:39 +01:00
Sara Arjona 536a5a4ac5 Merge branch 'MDL-71638_311' of https://github.com/stronk7/moodle into MOODLE_311_STABLE 2021-05-17 12:44:50 +02:00
Nhan Vo 7981b16046 MDL-71047 HTML Editor (Atto): Cursor position is not correct when paste 2021-05-17 14:22:53 +07:00
Eloy Lafuente (stronk7) b23a50a063 MDL-71638 upgrade: add 3.10.0 separation line to all upgrade scripts 2021-05-16 00:00:43 +02:00
Eloy Lafuente (stronk7) 94f2d3fc4b Moodle release 3.11 2021-05-15 18:10:59 +02:00
Luca Bösch 0c3a643182 MDL-71373 core_enrol: localize "close" in role manager. 2021-05-14 14:17:47 +02:00
Luca Bösch c9be7c7c5b MDL-71373 tool_usertours: localize "previous"/"next" in user tours. 2021-05-14 14:17:47 +02:00
Luca Bösch 280ec710c7 MDL-71373 core_table: localize "previous"/"next" in pagination. 2021-05-14 14:17:47 +02:00
Huong Nguyen c08dab048b MDL-71126 Quiz: Manual grading page size preference can get stuck at 0
Including in this change:
 - New positiveint regex rule to check if the value is a positive integer
2021-05-14 17:02:28 +07:00
Sara Arjona bdd30ee5b1 Moodle release 3.11rc2 2021-05-14 11:09:10 +02:00
Sara Arjona c537bd587c Merge branch 'install_311_STABLE' of https://git.in.moodle.com/amosbot/moodle-install into MOODLE_311_STABLE 2021-05-14 11:09:07 +02:00
Sara Arjona 2864b51c7b MDL-67935 tool_lp: fix random errors with login/logout 2021-05-14 10:53:13 +02:00
AMOS bot 3f02adabd1 Automatically generated installer lang files 2021-05-14 00:07:33 +00:00
Víctor Déniz 439d1cf29d Merge branch 'MDL-71569_Summarydata' of https://github.com/brickfield/moodle into MOODLE_311_STABLE 2021-05-13 22:40:15 +01:00
Paul Holden e16b41d630 MDL-71626 admin: filter site fullname in CLI maintenance script. 2021-05-13 20:27:58 +01:00
Paul Holden 9d5b74865f MDL-71619 privacy: extend correct class in provider testcases.
Extending the privacy provider testcase means that it's tearDown
method will reset the request writer.
2021-05-13 20:25:03 +01:00
Sara Arjona 511986822d Merge branch 'MDL-71611-311_blockaccessreviewupgrade' of https://github.com/brickfield/moodle into MOODLE_311_STABLE 2021-05-13 11:45:41 +02:00
Jun Pataleta 3bf7557afd Merge branch 'MDL-71612-311' of https://github.com/snake/moodle into MOODLE_311_STABLE 2021-05-13 14:30:07 +08:00
Jun Pataleta 789fab146f Merge branch 'MDL-71584-311_Languagestrings' of https://github.com/brickfield/moodle into MOODLE_311_STABLE 2021-05-13 14:00:28 +08:00
Jake Dallimore aaaaf28ec2 MDL-71612 tool_oauth2: remove erroneous hideIf rules for form fields
Some fields were being hidden based on whether the service was set up
for internal service use or was a service shown on the login page.
These fields refer to OAuth 2 logins and must be configurable for both
kinds of services.
2021-05-13 12:54:01 +08:00
Eloy Lafuente (stronk7) 370a38484f Merge branch 'MDL-71580-311-enfix' of git://github.com/mudrd8mz/moodle into MOODLE_311_STABLE 2021-05-12 23:00:00 +02:00
Mike Churchward 311dc0cdea MDL-71611 block_accessreview: Return formats if feature disabled. 2021-05-12 16:27:55 -04:00
David Mudrák 857d7b613f MDL-71580 lang: Fix reworded strings in tests 2021-05-12 17:11:57 +02:00
Helen Foster 5070425e99 MDL-71580 lang: Import fixed English strings (en_fix) 2021-05-12 17:11:57 +02:00
Mike Churchward 38f57b67b6 MDL-71584 tool_brickfield: Fixed up language string issues. 2021-05-12 08:42:30 -04:00
Jun Pataleta 6c3f385c8b Merge branch 'MDL-71590-311' of git://github.com/HuongNV13/moodle into MOODLE_311_STABLE 2021-05-12 13:25:28 +08:00
Huong Nguyen 8a4a205bb5 MDL-71590 usertours: Create language string for activity information 2021-05-12 11:30:54 +07:00
Jake Dallimore c2d7d4cf35 Merge branch 'MDL-71583_311' of https://github.com/stronk7/moodle into MOODLE_311_STABLE 2021-05-12 10:36:01 +08:00
Karen Holland 66a7400dcf MDL-71569 Accessibility toolkit: Fix Summary data task failure 2021-05-11 19:44:41 -04:00
Eloy Lafuente (stronk7) 0524a0b9f9 MDL-71583 versions: Add all the missing full-stops to version/requires
It seems that the new phpcs3 checker is now controlling those
line comments that previously were ignored.

This commit just looks for all the cases and bulk-add
them when needed. The bash script (mac) used to add all them is:

while read -r line; do
    arr=(${line//:/ })
    if [[ -n ${arr[0]} ]] && [[ -n ${arr[1]} ]]; then
        echo "  file ${arr[0]}, line ${arr[1]}"
        sed -i "${arr[1]}s/\$/\./" ${arr[0]}
    fi
done < <(find . -name version.php | xargs ag --nomultiline '>(version|requires) *=.*//.*[^;\.]$')
2021-05-11 20:00:11 +02:00
Eloy Lafuente (stronk7) ab8275f28f MDL-71583 versions: main version bump 2021-05-11 18:50:49 +02:00
Eloy Lafuente (stronk7) 71d0cfefab MDL-71583 versions: bump all versions and requires near release
version = 2021051700 release version
requires= 2021051100 current rc1 (week7roll1) version

Note that, because we are under parallel development period,
this is being done in the branch that is going to be released
(MOODLE_311_STABLE already existing) for Moodle 3.11.0 and
not in master, that is the one getting the bump under normal
(non-parallel) periods.
2021-05-11 18:50:34 +02:00
Sara Arjona 62142a081a Moodle release 3.11rc1 2021-05-11 12:43:50 +02:00
Sara Arjona 7fa14d7439 Merge branch 'install_311_STABLE' of https://git.in.moodle.com/amosbot/moodle-install into MOODLE_311_STABLE 2021-05-11 12:43:47 +02:00
AMOS bot 9f2e86e07c Automatically generated installer lang files 2021-05-11 00:07:34 +00:00
Thong Bui 6af383f5b4 MDL-71060 Questions: Duplicates 'Current category' text. 2021-05-10 23:25:12 +01:00
Víctor Déniz c53a0816c4 Merge branch 'MDL-70900_311' of https://github.com/stronk7/moodle into MOODLE_311_STABLE 2021-05-10 22:46:30 +01:00
Víctor Déniz 773e8b6cda Merge branch 'MDL-71543-311_toggleicon' of https://github.com/brickfield/moodle into MOODLE_311_STABLE 2021-05-10 22:18:35 +01:00
Sara Arjona e62225b1f5 Merge branch 'MDL-71570-311' of git://github.com/mihailges/moodle into MOODLE_311_STABLE 2021-05-10 15:38:30 +02:00
Sara Arjona 7969291581 Merge branch 'm311_MDL-71533' of git://github.com/danmarsden/moodle into MOODLE_311_STABLE 2021-05-10 11:38:05 +02:00
Jun Pataleta e4a811ab21 Merge branch 'MDL-71552-311_heatmaptoggle' of https://github.com/brickfield/moodle into MOODLE_311_STABLE 2021-05-10 17:23:11 +08:00
Mihail Geshoski f78e9f3ffe MDL-71570 mod_forum: Avoid using deprecated string in forum templates 2021-05-10 12:22:11 +08:00
Mihail Geshoski f0351e4d95 MDL-71570 core_grades: Avoid using deprecated string in grade templates 2021-05-10 12:22:10 +08:00
Víctor Déniz ec21302c3c Merge branch 'MDL-71544-311_Errorspage' of https://github.com/brickfield/moodle into MOODLE_311_STABLE 2021-05-08 20:20:57 +01:00
Eloy Lafuente (stronk7) 09febbd51b MDL-70900 ci: Move highest PHP to 8.0 (from current 7.4)
Also adds xmlrpc-beta from PECL (PHP8 moved the extension there)
and setups max_input_vars=5000 as initial value (see MDL-71390).

Note that this also includes a tiny modification when configuring
redis sessions, because there was some outdated code from old issue,
now fixed (MDL-60978), so that info has been removed.
2021-05-07 17:43:22 +02:00
Eloy Lafuente (stronk7) 61f9d3cac6 Moodle release 3.11beta 2021-05-07 16:55:23 +02:00
Eloy Lafuente (stronk7) 3f9c0f2174 NOBUG: Fixed file access permissions 2021-05-07 16:55:23 +02:00
Eloy Lafuente (stronk7) 5f4ac36853 NOBUG: Fixed SVG browser compatibility 2021-05-07 16:55:20 +02:00
Eloy Lafuente (stronk7) b1e9ba53ea Merge branch 'install_311_STABLE' of https://git.in.moodle.com/amosbot/moodle-install into MOODLE_311_STABLE 2021-05-07 16:55:19 +02:00
Jun Pataleta b8cee10357 Merge branch 'MDL-71234-311' of git://github.com/HuongNV13/moodle into MOODLE_311_STABLE 2021-05-07 12:21:37 +08:00
Huong Nguyen 32ae33d19a MDL-71234 usertours: Create tours for the activity completion output 2021-05-07 11:16:14 +07:00
abgreeve fceb660463 Merge branch 'MDL-68747-311' of https://github.com/dcai/moodle into MOODLE_311_STABLE 2021-05-07 11:44:49 +08:00
Mathew May 709cd59808 MDL-70622 mod_lti: Tighten redirect param typing 2021-05-07 11:44:49 +08:00
Adam Olley 547ddfa39f MDL-70622 mod_lti: Prevent xss on lti 1.3 authentication script
Without this, people can craft URLs that other users might use not realising
what they do - and as a XSS vulnerability, it could do any number of things the
clicking-user has access to do on the site.

Change-Id: I82adc71e8706d8929011b4b24523d5b62b8ccea1
2021-05-07 11:44:40 +08:00
Jun Pataleta 1621c3dfe8 Merge branch 'MDL-71395-311-2' of git://github.com/marinaglancy/moodle into MOODLE_311_STABLE 2021-05-07 10:30:32 +08:00
abgreeve 07d2b976f8 Merge branch 'MDL-70181_311' of https://github.com/stronk7/moodle into MOODLE_311_STABLE 2021-05-07 10:22:10 +08:00
Dan Marsden c0e623878e MDL-71533 lib: Remove libraries that already exist in core. 2021-05-07 12:24:12 +12:00
Víctor Déniz 9cd458c3f8 Merge branch 'MDL-71303-311' of https://github.com/StudiUM/moodle into MOODLE_311_STABLE 2021-05-06 23:34:20 +01:00
Mike Churchward e514384695 MDL-71543 block_accessreview: Toggling the heatmap icon image. 2021-05-06 17:28:26 -04:00
Eloy Lafuente (stronk7) 311ca27a8b Merge branch 'MDL-70049-311_count_submissions' of https://github.com/agrowe/moodle into MOODLE_311_STABLE 2021-05-06 23:27:10 +02:00
Eloy Lafuente (stronk7) 330d34a714 Merge branch 'MDL-70772-311' of git://github.com/paulholden/moodle into MOODLE_311_STABLE 2021-05-06 23:20:03 +02:00
Eloy Lafuente (stronk7) 136e008a13 Merge branch 'MDL-71313_311' of https://github.com/timhunt/moodle into MOODLE_311_STABLE 2021-05-06 23:14:58 +02:00
Eloy Lafuente (stronk7) 9ad6dce459 Merge branch 'MDL-71343-m311' of https://github.com/rjnl/moodle into MOODLE_311_STABLE 2021-05-06 23:07:37 +02:00
Mike Churchward 94e6f3c84f MDL-71552 block_accessreview: Removed 'alert' class when toggling off. 2021-05-06 15:24:28 -04:00
Marina Glancy c7e3291ac8 MDL-70926 core: getuserdate() shoud show debugging if null was passed
passing null to getdate() has different results in PHP7 and PHP8
2021-05-06 20:41:16 +02:00
Sara Arjona 383848344c MDL-70110 mod_assign: make phpunit test DB order agnostic 2021-05-06 19:38:32 +02:00
Mike Churchward f136aec38f MDL-71544 tool_brickfield: Allowing text to break in table. 2021-05-06 13:10:47 -04:00
Sara Arjona e5d50dced1 Merge branch 'MDL-71491-311' of git://github.com/paulholden/moodle into MOODLE_311_STABLE 2021-05-06 18:42:25 +02:00
Sara Arjona 8880be478c Merge branch 'MDL-71420_311' of https://github.com/stronk7/moodle into MOODLE_311_STABLE 2021-05-06 17:58:14 +02:00
Víctor Déniz b604c15755 Merge branch 'MDL-71402-311' of git://github.com/paulholden/moodle into MOODLE_311_STABLE 2021-05-06 16:46:50 +01:00
Paul Holden 6972e6ec92 MDL-71491 repository_flickr: return more file data.
See also 643b0cca.
2021-05-06 16:36:42 +01:00
Sara Arjona f4bb15aee8 Merge branch 'MDL-71268-311' of git://github.com/lucaboesch/moodle into MOODLE_311_STABLE 2021-05-06 17:11:24 +02:00
Marina Glancy eca372eb78 MDL-71395 core: fix bug in google lib wrapper
because of changes in PHP8 the '' == 0 is no longer true and the error in the google api wrapper was discovered
2021-05-06 15:39:26 +02:00
Marina Glancy e38247449a MDL-71395 block_tag_youtube: sometimes exception may have empty message 2021-05-06 15:39:26 +02:00
Paul Holden 311c8276df MDL-71402 availability: fix group restriction button in mod form.
* The button to "Add group/grouping access restriction" under
   common module settings should only be present if corresponding
   availability plugins are enabled; and
 * Prevent the same button behaving as a submit button, which
   intercepted the user hitting return in the form and added a
   restriction without deliberate action taken by the user.
2021-05-06 14:20:34 +01:00
Eloy Lafuente (stronk7) f7aa32f2a6 MDL-71420 environment: Add some strategic comments and todos.
This isn't really a deprecations where something is replaced
by another and all uses must adapt to. Instead it's just a
fallback functionality that will stop working in Moodle 4.2.

Because of that, I've tried to add TODO/@todo comments to
the places that will need to modified, always pointing to
MDL-71421 that is where the removal will happen.

Also, haven't added any debugging() output, after thinking
a lot about it, because this isn't anything that developers
can be using but a internal implementation detail (a fallback)
that we want to remove in some versions.
2021-05-06 14:33:23 +02:00
Sara Arjona 61cfcb9253 Merge branch 'MDL-70110-311' of https://github.com/septatrix/moodle into MOODLE_311_STABLE 2021-05-06 13:16:06 +02:00
Víctor Déniz d0e0d3963b Merge branch 'MDL-71434-311' of git://github.com/paulholden/moodle into MOODLE_311_STABLE 2021-05-06 11:15:07 +01:00
Sara Arjona 48ac131ee1 Merge branch 'MDL-71390-311' of git://github.com/marinaglancy/moodle into MOODLE_311_STABLE 2021-05-06 08:02:59 +02:00
Shamim Rezaie e0e5881c12 MDL-71518 behat: Remove %P and AM/PM
The %P modifier is not supported in the macOS (MDL-71549)
2021-05-06 12:01:24 +08:00
Adrian Greeve 7d967d910f Merge branch 'MDL-70786-311' of git://github.com/lucaboesch/moodle into MOODLE_311_STABLE 2021-05-06 10:05:30 +08:00
Jun Pataleta e19c9ce1df Merge branch 'MDL-69863_311' of https://github.com/stronk7/moodle into MOODLE_311_STABLE 2021-05-06 10:02:14 +08:00
Andrew Davis 06395d8c8e MDL-27193 mod_glossary: reducing system setting db queries 2021-05-06 09:49:43 +08:00
Jake Dallimore 4ecd1c4716 Merge branch 'MDL-71492-311' of git://github.com/jleyva/moodle into MOODLE_311_STABLE 2021-05-06 09:16:02 +08:00
AMOS bot 791db7e4fb Automatically generated installer lang files 2021-05-06 00:07:35 +00:00
Eloy Lafuente (stronk7) 43b436c1c0 MDL-69863 database: Fix oracle and sqlsrv problems
1) The GROUP BY statement must include all fields in the SELECT
   not being aggregated or constant cols.
2) There was a missing space causing problems to databases
   using named parameters.
2021-05-06 00:03:03 +02:00
Juan Leyva 85b0b92c73 MDL-71513 mobile: Fix last access visibility 2021-05-05 22:48:58 +01:00
Eloy Lafuente (stronk7) 460fddbc0f MDL-71420 environment: Lower sodium requirement to recommended 2021-05-05 23:06:13 +02:00
Eloy Lafuente (stronk7) c89a1878f0 Merge branch 'MDL-71539_311_PHP8optionalparams' of https://github.com/brickfield/moodle into MOODLE_311_STABLE 2021-05-05 20:01:08 +02:00
Sara Arjona 27d1ba01d7 Merge branch 'MDL-71532_311_illegalwhitespace' of https://github.com/brickfield/moodle into MOODLE_311_STABLE 2021-05-05 19:05:51 +02:00
Mike Churchward f816040530 MDL-71539 tool_brickfield: PHP8 optional param error fixed. 2021-05-05 11:46:49 -04:00
Mike Churchward 96fc86a7a3 MDL-71532 tool_brickfield: Removing tabs and unneeded files. 2021-05-05 11:10:39 -04:00
Juan Leyva 1e2ab99fb6 MDL-71492 mod_quiz: Include missing gradepass in WebService 2021-05-05 14:45:43 +02:00
Sara Arjona 4e01410b9f Merge branch 'MDL-71517-311' of https://github.com/paulholden/moodle into MOODLE_311_STABLE 2021-05-05 12:17:38 +02:00
Sara Arjona af2b6acba6 Merge branch 'MDL-71187-311' of git://github.com/lucaboesch/moodle into MOODLE_311_STABLE 2021-05-05 12:14:06 +02:00
Víctor Déniz 10d776d539 Merge branch 'MDL-71460-311' of git://github.com/peterRd/moodle into MOODLE_311_STABLE 2021-05-05 10:41:54 +01:00
Luca Bösch 48d220aaa6 MDL-71187 quizaccess_seb: Change "Launch Safe Exam Browser" to a href.
In order to allow for correct seb:// or sebs:// calls without browser
warnings of insecure links, it is not possible to send a get request
with an attached cmid parameter to the unknown seb:// or sebs://
URL via a form button.
We've got to use a <a href> link outside a form to circumvent
browsers warning of an insecure link and call Safe Exam Browser
correctly.
2021-05-05 10:54:42 +02:00
Marina Glancy 1001a8fb25 MDL-71390 core: raise max_input_vars requirement 2021-05-05 10:52:11 +02:00
Luca Bösch 7ed02d2233 MDL-70786 report_loglive: respect fullname setting. 2021-05-05 10:51:51 +02:00
Leon Stringer 36a165b63b MDL-70181 database: Quote database object names
Table names and database name now enclosed in backticks.
admin/cli/mysql_collation.php failed if $CFG->prefix was blank with
MySQL 8.0 because table 'groups' conflicted with a new reserved word.

Note that this quotes both mysql_collation.php and mysql_compressed_rows.php
but only the former was mal-functioning.

The case of mysql_compressed_rows.php is a little bit special because
not all tables are processed, only those having big rows. And the groups
table is not one of them. In any case, better add the quotes there for
any future case.

Also, when testing this patch https://tracker.moodle.org/browse/MDL-71512
was discovered and will need to be fixed to make core 100% compliant
with MySQL 8.0 and MariaDB 10.6 and up.
2021-05-05 10:16:49 +02:00
Jun Pataleta 88f1fa9b0f Merge branch 'MDL-71518-311' of git://github.com/rezaies/moodle into MOODLE_311_STABLE 2021-05-05 13:26:19 +08:00
Shamim Rezaie daff66b1df MDL-71518 core: Add weekday to activity dates 2021-05-05 13:59:02 +10:00
Peter Dias bbc896bc34 MDL-71460 hub: Use checkboxes instead of dropdowns
Change the yes/no dropdowns to a checkbox. Defaults to unchecked.
2021-05-05 10:09:10 +08:00
Adrian Greeve 3723014289 Merge branch 'MDL-71530-311' of https://github.com/paulholden/moodle into MOODLE_311_STABLE 2021-05-05 09:30:47 +08:00
Víctor Déniz 116621f973 Merge branch 'MDL-70864-311-zip_packer_windows' of git://github.com/mudrd8mz/moodle into MOODLE_311_STABLE 2021-05-05 00:03:17 +01:00
Eloy Lafuente (stronk7) 896123d130 Merge branch 'MDL-71425-311-enfix' of git://github.com/mudrd8mz/moodle into MOODLE_311_STABLE 2021-05-04 23:39:40 +02:00
Eloy Lafuente (stronk7) c1473c0de0 Merge branch 'MDL-71397-311' of git://github.com/marinaglancy/moodle into MOODLE_311_STABLE 2021-05-04 23:37:41 +02:00
Eloy Lafuente (stronk7) 5670d351ef MDL-69863 tool_brickfield: Final version adjustments to current
In 311_STABLE, to today: 2021050400
2021-05-04 19:44:55 +02:00
Mike Churchward 749c657b50 MDL-69863 block_accessreview: Better error display. 2021-05-04 19:36:33 +02:00
Mike Churchward c0a52bc66c MDL-69863 tool_brickfield: Better instance name displayed in error list. 2021-05-04 19:36:33 +02:00
Mike Churchward a65647f3f3 MDL-69863 tool_brickfield: Add 'periodically' to data message. 2021-05-04 19:36:33 +02:00
Mike Churchward fa07b96a70 MDL-69863 tool_brickfield: Change public to private. 2021-05-04 19:36:33 +02:00
Mike Churchward 199eaa5e5b MDL-69863 tool_brickfield: Removing plugin_installed event. 2021-05-04 19:36:33 +02:00
Mike Churchward af73c3b374 MDL-69863 tool_brickfield: Language improvements. 2021-05-04 19:36:33 +02:00
Mike Churchward a134cfdfe4 MDL-69863 tool_brickfield: Adding settings page title. 2021-05-04 19:36:33 +02:00
Mike Churchward a37aaa8f20 MDL-69863 tool_brickfield: Disable analysis by default on installation. 2021-05-04 19:36:33 +02:00
Mike Churchward c8e14ad361 MDL-69863 tool_brickfield: Ensure language strings use correct case. 2021-05-04 19:36:33 +02:00
Mike Churchward 65c8f7b7f3 MDL-69863 tool_brickfield: Ensuring navigation is correct. 2021-05-04 19:36:33 +02:00
Mike Churchward b3c3fff86b MDL-69863 tool_brickfield: ensuring lang string independence. 2021-05-04 19:36:33 +02:00
Mike Churchward a83c25e80a MDL-69863 tool_brickfield: Moving plugins to core files. 2021-05-04 19:36:33 +02:00
Mike Churchward abf3cb9e3d MDL-69863 tool_brickfield: Added Behat tests. 2021-05-04 19:36:33 +02:00
Andrew Nicols 19e3ba9f07 MDL-69863 block_accessreview: Fix file mode 2021-05-04 19:36:33 +02:00
Mike Churchward 43d29ccbed MDL-69863 tool_brickfield: Adding the Brickfield toolkit. 2021-05-04 19:36:32 +02:00
Paul Holden a46acabdcf MDL-71530 competency: ensure all exported course fields are present.
Previously missing were the two new properties added in 36bc7b07:
showactivitydates & showcompletionconditions - this change ensures
all properties are requested before exporting courses linked to
competencies.
2021-05-04 17:57:45 +01:00
David Mudrák 4806989294 MDL-71425 lang: Fix reworded strings in tests 2021-05-04 17:47:01 +02:00
Paul Holden 49c74619f7 MDL-71359 mod_forum: empty forums shouldn't export anything. 2021-05-04 17:22:21 +02:00
Sara Arjona b3996aebb4 MDL-71408 h5plib_v124: Add required changes after lib upgrade
- The mbstring extension is required since Moodle 3.9 onwards so
the upgrading steps have been removed because they are not
required any more.
- The pull-request for fixing some minor PHP7.4 problems has been
integrated so this patch is not required.
2021-05-04 17:22:21 +02:00
Sara Arjona 3a1aa38bac MDL-71408 h5plib_v124: Upgrade H5P core library to 1.24.02 2021-05-04 17:22:21 +02:00
Huong Nguyen c2db084215 MDL-70720 Quiz: Improve capability checks when fetching users' best grades 2021-05-04 17:22:21 +02:00
Shamim Rezaie f4139818d1 MDL-69028 repository: Put a rate limit on draft file uploads 2021-05-04 17:22:21 +02:00
Paul Holden e806e56ebd MDL-71130 quiz_grading: escape user idnumber on display. 2021-05-04 17:22:21 +02:00
David Mudrák c54a79e9cc MDL-70804 mnet: Use proper DML method to get records from the table
This improves the code and avoids the risk of SQL injection through the
malicious XML-RPC request from the MNet peer.
2021-05-04 17:22:21 +02:00
Sara Arjona 0989db0190 Merge branch 'MDL-71274-311' of git://github.com/aanabit/moodle into MOODLE_311_STABLE 2021-05-04 17:10:42 +02:00
Helen Foster 00006816e0 MDL-71425 lang: Import fixed English strings (en_fix) 2021-05-04 16:43:13 +02:00
Paul Holden 702d0ba4c5 MDL-71517 mod_data: remove invalid form custom data access.
On PHP7.4, trying to access array offsets of NULL triggers a notice.
2021-05-04 15:35:41 +01:00
Luca Bösch cdcf6f44fc MDL-70786 report_log: respect fullname setting. 2021-05-04 15:50:36 +02:00
Luca Bösch 4874954a45 MDL-70786 report_completion: respect fullname setting. 2021-05-04 14:29:57 +02:00
Luca Bösch 7403c62aef MDL-70786 report_competency: respect fullname setting. 2021-05-04 14:29:57 +02:00
Luca Bösch 3917849965 MDL-70786 report_progress: respect fullname setting. 2021-05-04 14:29:57 +02:00
Luca Bösch c33a41a34d MDL-71268 graphics: Use new Moodle logo for RSS feeds by Moodle 2021-05-04 14:16:43 +02:00
Sara Arjona b009de3c60 on-demand release 3.11dev+ 2021-05-04 13:28:17 +02:00
Sara Arjona b38bb3b1ff Merge branch 'install_311_STABLE' of https://git.in.moodle.com/amosbot/moodle-install into MOODLE_311_STABLE 2021-05-04 13:28:14 +02:00
Adrian Greeve 1f93d2bbff Merge branch 'MDL-66673-MOODLE_311_STABLE' of https://github.com/ScottVerbeek/moodle into MOODLE_311_STABLE 2021-05-04 15:48:45 +08:00
Jun Pataleta f350b8e0bd Merge branch 'MDL-71401-311-3' of git://github.com/mickhawkins/moodle into MOODLE_311_STABLE 2021-05-04 12:26:41 +08:00
Michael Hawkins c31d3450b4 MDL-71401 mod_scorm: Completion behat test fix 2021-05-04 12:22:36 +08:00
Michael Hawkins fe02e8f4ab MDL-71401 mod_quiz: Add behat testing for multiple completion conditions
Other tests check behaviour of individual conditions, this tests that
when multiple core and custom conditions are required, each will be
updated as required and not cache until all are completed.
2021-05-04 12:22:36 +08:00
Michael Hawkins 13ff928efd MDL-71401 mod_lesson: Update completion behat to test individual changes 2021-05-04 12:22:36 +08:00
Michael Hawkins ffe4a99adb MDL-71401 mod_glossary: Update completion behat to test all changes 2021-05-04 12:22:36 +08:00
Michael Hawkins 5ba3aa765d MDL-71401 mod_forum: Update completion behat to test individual changes 2021-05-04 12:22:36 +08:00
Michael Hawkins 4308462ad1 MDL-71401 mod_data: Update completion behat to test individual changes 2021-05-04 12:22:36 +08:00
Michael Hawkins 767f129dbf MDL-71401 assign: Update completion behat to test individual changes 2021-05-04 12:22:36 +08:00
Michael Hawkins 2fdf71ffc7 MDL-71401 core_completion: Fix completion status caching
When an automatic completion condition may have had its state change,
we now unset the cached value for the user's completion in the relevant
activity, so up-to-date values are re-fetched and available to students.
The previous behaviour was that custom conditions would remain cached
until the activity reached overall completion.
2021-05-04 12:22:36 +08:00
AMOS bot 127cb81416 Automatically generated installer lang files 2021-05-04 00:07:34 +00:00
Eloy Lafuente (stronk7) 6486979fe6 Merge branch 'MDL-71463-311' of https://github.com/paulholden/moodle into MOODLE_311_STABLE 2021-05-03 19:00:28 +02:00
David Mudrák d95c3a00a0 MDL-70864 files: Fix zip_packer extracting files with trailing dots
File and folder names cannot end with dots on Windows. So replace the
trailing dots with underscore consistently with how some other zip tools
(such as 7-zip) handle this case.
2021-05-03 18:06:40 +02:00
Shamim Rezaie c91c2aa744 MDL-71163 mod_lesson: Fix behat failures 2021-05-03 15:43:02 +02:00
Sara Arjona afb9462896 Merge branch 'MDL-71163-311' of git://github.com/rezaies/moodle into MOODLE_311_STABLE 2021-05-03 12:00:06 +02:00
Sara Arjona 64a1ac1148 MDL-66431 behat: fix goutte + classic failure 2021-05-03 10:08:14 +02:00
Adrian Greeve d5386da038 Merge branch 'MDL-71440-311' of git://github.com/mihailges/moodle into MOODLE_311_STABLE 2021-05-03 16:04:56 +08:00
Jun Pataleta ebae37ea6c Merge branch 'MDL-71454-311' of git://github.com/lameze/moodle into MOODLE_311_STABLE 2021-05-03 15:34:03 +08:00
Mihail Geshoski 0b07c0346f MDL-71440 mod_assign: New capability for viewing the submission summary
Creates a new capability mod/assign:viewownsubmissionsummary which will
be required in order to display the submission summary to the user in
the assignment page.
2021-05-03 15:30:52 +08:00
Víctor Déniz 997d9c4468 Merge branch 'MDL-71189-311-3' of git://github.com/mickhawkins/moodle into MOODLE_311_STABLE 2021-05-03 08:17:45 +01:00
Jake Dallimore ba134b77dc Merge branch 'MDL-71273-311' of git://github.com/dpalou/moodle into MOODLE_311_STABLE 2021-05-03 14:39:34 +08:00
Simey Lameze 57c8fff41a MDL-71454 theme: fix paddings for label resource 2021-05-03 14:35:56 +08:00
Michael Hawkins de08af9e4a MDL-71189 mod_quiz: Update completion rule descriptions method
Allow for conditions that are not set, consistent with other modules.
They will usually always be set in practice, but best to handle it,
which also helps with unit testing.
2021-05-03 13:42:23 +08:00
Michael Hawkins 70b16bb87c MDL-71189 core_completion: Adding completion sort order to activities
This implements sort ordering for all completion conditions, in
activities which support custom completion conditions.
2021-05-03 13:42:23 +08:00
Michael Hawkins 30426fbe5e MDL-71189 core_completion: Implementing custom completion sort ordering
This adds the requirement for activities supporting custom completion to
specify the order all completion conditions should be displayed for that
activity. It also implements the sorting that takes place.
2021-05-03 13:42:23 +08:00
Michael Hawkins c3bd602fb0 MDL-71189 core_completion: Updates to meet current coding standards 2021-05-03 13:42:23 +08:00
Jake Dallimore 8732156670 Merge branch 'MDL-52724-311' of git://github.com/merrill-oakland/moodle into MOODLE_311_STABLE 2021-05-03 13:25:20 +08:00
Adrian Greeve d89a89c862 Merge branch 'MDL-71258_311' of https://github.com/timhunt/moodle into MOODLE_311_STABLE 2021-05-03 11:08:42 +08:00
Eloy Lafuente (stronk7) 372a6c5742 Merge branch 'MDL-66431-311' of git://github.com/ilyatregubov/moodle into MOODLE_311_STABLE 2021-05-02 19:13:56 +02:00
Víctor Déniz 2f2f1e6798 Merge branch 'MDL-69956-311' of https://github.com/dcai/moodle into MOODLE_311_STABLE 2021-05-02 19:13:45 +02:00
Víctor Déniz 43cd8af9e0 Merge branch 'MDL-70753-311' of https://github.com/sharidas/moodle into MOODLE_311_STABLE 2021-05-02 19:13:44 +02:00
Ilya Tregubov 9d4f7eb9c6 MDL-66431 core: Fix lti test for classic theme. 2021-05-02 16:10:20 +02:00
Ilya Tregubov be5eff78ab MDL-66431 core: Fix behat tests.
Move activity creation to data generators. Only fixing those
tests failing due to removing usemodchooser preference.
2021-05-01 16:18:56 +02:00
Ilya Tregubov 21ecadc082 MDL-66431 core: Remove activity chooser user preference.
This commit removes activity chooser user preference and
course preference page. Separate dropdowns to activity and
resource is also removed.
2021-05-01 16:18:56 +02:00
Rajneel Totaram c217daf2a4 MDL-71343 core_h5p: Convert all line-endings to UNIX format 2021-05-01 00:05:30 +12:00
Víctor Déniz 6f48b4ab71 weekly release 3.11dev+ 2021-04-30 12:54:10 +01:00
Andrew Nicols 9a4a49f060 MDL-71343 core_h5p: Add unit test for helper::parse_js_array
Signed-off-by: Rajneel Totaram <rjnlfj@yahoo.com>
2021-04-30 23:51:56 +12:00
Mahmoud Kassaei d25f0453cf MDL-71258 questions: privacy support for settings defaults preferences 2021-04-30 10:16:14 +01:00
Shamim Rezaie 3a70953cf5 MDL-71163 mod_lesson: Remove duplicate info for open and close time 2021-04-30 17:15:54 +10:00
Shamim Rezaie 4b593aaeef MDL-71163 mod_forum: Remove duplicate due date info 2021-04-30 17:15:54 +10:00
Shamim Rezaie b23bbc2711 MDL-71163 mod_data: Remove duplicate info for open and close time 2021-04-30 17:15:54 +10:00
Shamim Rezaie cb80fa82b2 MDL-71163 mod_scorm: Remove duplicate info for open and close time 2021-04-30 17:15:53 +10:00
Shamim Rezaie 1de059a261 MDL-71163 quizaccess_openclosedate: remove duplicate date info
The quiz module now showa the quiz open and close dates at the top of
the page. So there is no need for the quizaccess_openclosedate plugin to
display these dates in the middle of the page.
2021-04-30 17:15:53 +10:00
Shamim Rezaie a1411bb562 MDL-71163 mod_feedback: remove duplicate date info
The $extradetails parameter in the constructor of the
mod_feedback\output\summary class is no longer used by any of the codes
that instantiate the class. Therefore, it is removed.
The respective template is updated as well.
2021-04-30 17:15:53 +10:00
Shamim Rezaie c49d99d1a5 MDL-71163 mod_choice: remove duplicate info for timeopen and timeclose 2021-04-30 17:15:53 +10:00
Shamim Rezaie 1abf669d99 MDL-71163 mod_assign: remove duplicate available from and due date info 2021-04-30 17:15:53 +10:00
Shamim Rezaie dcbfe15f37 MDL-71163 mod_assign: Show the selected group's dates 2021-04-30 17:15:53 +10:00
Shamim Rezaie d8a1cf696e MDL-71163 core: support relative dates in activity dates
AMOS BEGIN
 CPY [relativedatessubmissionduedateafter,mod_assign],[relativedatessubmissionduedateafter,core_course]
 CPY [relativedatessubmissionduedatebefore,mod_assign],[relativedatessubmissionduedatebefore,core_course]
AMOS END
2021-04-30 17:15:53 +10:00
Jun Pataleta 7103cf86d0 Merge branch 'MDL-71051-311' of git://github.com/abgreeve/moodle into MOODLE_311_STABLE 2021-04-30 14:18:27 +08:00
Adrian Greeve ffe3fa8ea8 MDL-71051 profilefield_datetime: Fix to missing required param.
The define_after_data method was looking for a required_param
when it should have been an optional parameter. This was causing
error messages when creating a new datetime field.
2021-04-30 13:05:35 +08:00
Dongsheng Cai 4f1c48ef54 MDL-69956 forum: throw exception when advanced grading is not ready 2021-04-30 14:59:31 +10:00
Adrian Greeve f104a01ba5 Merge branch 'MDL-71481-311' of git://github.com/paulholden/moodle into MOODLE_311_STABLE 2021-04-30 11:19:27 +08:00
Jun Pataleta f852b7d938 Merge branch 'MDL-71486-311' of git://github.com/HuongNV13/moodle into MOODLE_311_STABLE 2021-04-30 11:08:44 +08:00
Sujith Haridasan 9d60d0dd82 MDL-70753 report: Provide a separate page for course report
Provide page for the reports in the course administration.
The page has a drop down to navigate to different reports.
The navigation is remembered just like the grade reports in
the course.

Signed-off-by: Sujith Haridasan <sujith@moodle.com>
2021-04-30 08:37:13 +05:30
Jun Pataleta 67d1960126 Merge branch 'MDL-70947-311' of git://github.com/HuongNV13/moodle into MOODLE_311_STABLE 2021-04-30 10:34:17 +08:00
Sara Arjona ca3f88fd1f Merge branch 'MDL-60331-311_take3' of git://github.com/lucaboesch/moodle into MOODLE_311_STABLE 2021-04-29 17:49:48 +02:00
Sara Arjona 76cda8ba33 Merge branch 'MDL-71162-311-2' of git://github.com/mickhawkins/moodle into MOODLE_311_STABLE 2021-04-29 17:27:27 +02:00
Dani Palou 185ed20456 MDL-71273 tool_mobile: Change the LTI disabled feature 2021-04-29 14:57:07 +02:00
Paul Holden e810f798ee MDL-71463 dml: escape square brackets for SQL Server LIKE operator. 2021-04-29 13:49:35 +01:00
Jun Pataleta b4edfb9031 Merge branch 'MDL-71455-311' of https://github.com/dcai/moodle into MOODLE_311_STABLE 2021-04-29 18:05:17 +08:00
Amaia Anabitarte 3d932a0fd9 MDL-71274 analytics: Don't generate insight for hidden courses
Hidden courses can be used for training
but we do not want to generate insights for them
because students do not have access to hidden courses.
This was fixed in MDL-66806 for "Students at risk" model.
Fixed for "Students who have not accessed the course recently" in this issue.
2021-04-29 11:15:34 +02:00
Paul Holden 864bf17afb MDL-71481 repository_flickr_public: return more file data.
A HTTP HEAD request is required to get the image filesize.
The remaining data can be obtained from existing calls to
the Flickr API.
2021-04-29 09:48:12 +01:00
Huong Nguyen 89fe45e38c MDL-70947 File upload: Upload protection
Interacts badly with double-submit protection, and not all uploads protected
2021-04-29 15:32:00 +07:00
Huong Nguyen feb8548a45 MDL-71486 course: Notice when in site home/course page 2021-04-29 14:43:06 +07:00
Sara Arjona d7f2abf5af Merge branch 'MDL-71016-311' of git://github.com/paulholden/moodle into MOODLE_311_STABLE 2021-04-29 09:21:44 +02:00
Jun Pataleta 20f2014d0d Merge branch 'MDL-70863-311' of git://github.com/jleyva/moodle into MOODLE_311_STABLE 2021-04-29 15:04:32 +08:00
Adrian Greeve cd96ef301c Merge branch 'MDL-71235-311' of https://github.com/dcai/moodle into MOODLE_311_STABLE 2021-04-29 14:41:55 +08:00
Adrian Greeve 24695a6e42 Merge branch 'MDL-71470-311' of git://github.com/mihailges/moodle into MOODLE_311_STABLE 2021-04-29 14:26:23 +08:00
Andrew Nicols 3bc386e69e Merge branch 'MDL-70965-311' of git://github.com/marinaglancy/moodle into MOODLE_311_STABLE 2021-04-29 13:51:02 +08:00
Dongsheng Cai 4104a24196 MDL-71235 webservices: add activity completion data to web services 2021-04-29 13:52:52 +10:00
Andrew Nicols 50a6634639 Merge branch 'MDL-70897-311' of git://github.com/kabalin/moodle into MOODLE_311_STABLE 2021-04-29 10:33:20 +08:00
Dongsheng Cai 0ebdf3f1b4 MDL-71455 core_backup: fix course completion options when backup/restore 2021-04-29 11:42:47 +10:00
Andrew Nicols 14add58a7f Merge branch 'MDL-56609_311' of https://github.com/stronk7/moodle into MOODLE_311_STABLE 2021-04-29 09:41:40 +08:00
Adrian Greeve 702ea8590e Merge branch 'MDL-71051-311-2' of git://github.com/marinaglancy/moodle into MOODLE_311_STABLE 2021-04-29 09:22:37 +08:00
Víctor Déniz da781a899a Merge branch 'MDL-71200-311' of git://github.com/paulholden/moodle into MOODLE_311_STABLE 2021-04-28 20:53:27 +01:00
Paul Holden 23f0859a9c MDL-71016 gradeexport_xml: ensure user/grade idnumbers are encoded. 2021-04-28 19:03:50 +01:00
Michael Hawkins 635a53e293 MDL-71162 mod_assign: Update and improve completion behat testing 2021-04-29 00:47:21 +08:00
Michael Hawkins 3ac450e1fc MDL-71162 mod_resource: Improve behat testing for completion conditions 2021-04-29 00:47:21 +08:00
Michael Hawkins 5c0a2b0d7d MDL-71162 mod_label: Improve behat testing for completion conditions 2021-04-29 00:47:21 +08:00
Michael Hawkins 0fb2ea4eef MDL-71162 mod_imscp: Add behat testing for completion conditions 2021-04-29 00:47:21 +08:00
Michael Hawkins f84235eac7 MDL-71162 mod_h5pactivity: Add behat testing for completion conditions 2021-04-29 00:47:21 +08:00
Michael Hawkins 7b9a10b175 MDL-71162 mod_folder: Add behat testing for completion conditions 2021-04-29 00:47:21 +08:00
Michael Hawkins 29cb40286a MDL-71162 mod_chat: Add behat testing for completion conditions 2021-04-29 00:47:21 +08:00
Michael Hawkins ef3b5d9297 MDL-71162 mod_quiz: Improve behat testing for completion conditions 2021-04-29 00:47:21 +08:00
Michael Hawkins 619b5d1b98 MDL-71162 mod_survey: Improve behat testing for completion conditions 2021-04-29 00:47:21 +08:00
Michael Hawkins 0773b2c4c6 MDL-71162 mod_scorm: Add behat testing for completion conditions 2021-04-29 00:47:21 +08:00
Michael Hawkins 5150efa190 MDL-71162 mod_glossary: Add behat testing for completion conditions 2021-04-29 00:47:21 +08:00
Michael Hawkins 4aec4586d3 MDL-71162 mod_wiki: Improve behat testing for completion conditions 2021-04-29 00:47:21 +08:00
Michael Hawkins 5a9053f87e MDL-71162 mod_wiki: Ensure completion conditions displayed on all tabs 2021-04-29 00:47:21 +08:00
Michael Hawkins 0888b6b285 MDL-71162 mod_book: Add behat testing for completion conditions 2021-04-29 00:47:21 +08:00
Michael Hawkins 751220c3be MDL-71162 mod_forum: Add behat testing for completion conditions 2021-04-29 00:47:21 +08:00
Michael Hawkins 70fe3792b3 MDL-71162 mod_feedback: Add behat testing for completion conditions 2021-04-29 00:47:21 +08:00
Michael Hawkins 29a02febdc MDL-71162 mod_data: Add behat testing for completion conditions 2021-04-29 00:47:21 +08:00
Michael Hawkins f5687b7bc6 MDL-71162 mod_data: Ensure completion conditions displayed on all tabs 2021-04-29 00:47:21 +08:00
Michael Hawkins 954ec584f2 MDL-71162 mod_choice: Updated completion behat to use latest rules 2021-04-29 00:47:21 +08:00
Michael Hawkins b04f03598a MDL-71162 mod_lesson: Add behat testing for completion conditions 2021-04-29 00:47:21 +08:00
Luca Bösch 003d17d98b MDL-60331 questions: prevent double escaping question categories. 2021-04-28 17:16:31 +02:00
Sara Arjona f65de8edfb Merge branch 'MDL-70979-311' of git://github.com/paulholden/moodle into MOODLE_311_STABLE 2021-04-28 13:06:12 +02:00
Sara Arjona c70efcb7ec Merge branch 'MDL-71127-311' of git://github.com/paulholden/moodle into MOODLE_311_STABLE 2021-04-28 12:58:22 +02:00
Marina Glancy 86d19b3474 MDL-70965 core_dml: php8 related changes:
1. pg_connection_status(false) fails on PHP8 because the argument is not a stream
2. skipeed the unittest that expected that pg_query() does not show an error if the resource is invalid
see also MDL-71482
2021-04-28 12:42:41 +02:00
Srdjan 99e536fc4c MDL-70965 core_dml: read_slave - mock db handles as resources
So they comply with the type hints.
2021-04-28 12:42:41 +02:00
Sara Arjona 2e877cd448 Merge branch 'MDL-70763-311' of git://github.com/paulholden/moodle into MOODLE_311_STABLE 2021-04-28 12:36:30 +02:00
Septatrix a05e94a03e MDL-70110 assign: add group submission attemptnumber test 2021-04-28 11:50:37 +02:00
Ruslan Kabalin 66e8f7a3d4 MDL-71051 core_user: fix issues and address review issues 2021-04-28 11:49:28 +02:00
Marina Glancy b597b491ec MDL-71051 core_user: create user profile field form is now modal form 2021-04-28 11:49:28 +02:00
Marina Glancy ac494c7d91 MDL-71051 core_user: move user profile edit field form to classes 2021-04-28 11:49:27 +02:00
Marina Glancy abb2c72b26 MDL-71051 core_user: editing user profiles - modal form, template 2021-04-28 11:49:27 +02:00
Marina Glancy bc74e13322 MDL-71051 core_user: move edit profile category form to classes 2021-04-28 11:49:27 +02:00
Marina Glancy 10bf851874 MDL-71051 core_user: use user profile generator in all tests 2021-04-28 11:49:27 +02:00
Marina Glancy 5ac934b1fd MDL-71051 core_user: fix mistakes in phpdocs, deprecated unused func 2021-04-28 11:49:27 +02:00
Marina Glancy 3c9e54eafa MDL-71051 core_user: always use API when working with profile fields 2021-04-28 11:49:27 +02:00
Mihail Geshoski a4bd04e892 MDL-71470 repository_googledocs: Update unit tests 2021-04-28 16:29:33 +08:00
Sara Arjona 7fae164d47 Merge branch 'MDL-71244-311' of git://github.com/lucaboesch/moodle into MOODLE_311_STABLE 2021-04-28 09:17:34 +02:00
Jun Pataleta e197cf24d8 Merge branch 'MDL-71330-311' of https://github.com/dcai/moodle into MOODLE_311_STABLE 2021-04-28 13:41:52 +08:00
Dongsheng Cai f628b3d1bd MDL-71330 mod_chat: Implement the activity dates functionality 2021-04-28 15:34:02 +10:00
Mihail Geshoski dbd4620365 MDL-71470 repository_googledocs: Use file name in the source attribute
Instead of using the file title when generating the source attribute,
we should be using only the name of the Google Drive file in order to
avoid having the original extension within the filename after the file
is imported and added into Moodle.
2021-04-28 12:56:46 +08:00
Andrew Nicols e3fb7862d7 Merge branch 'MDL-71168-311' of git://github.com/paulholden/moodle into MOODLE_311_STABLE 2021-04-28 10:50:02 +08:00
Andrew Nicols 2f1e3eada4 MDL-70909 mod_h5pactivity: Whitespace fix 2021-04-28 10:26:24 +08:00
Andrew Nicols 66131d9307 Merge branch 'MDL-70909-311' of git://github.com/ferranrecio/moodle into MOODLE_311_STABLE 2021-04-28 10:25:44 +08:00
Andrew Nicols 6645cb3396 Merge branch 'MDL-71386-311' of git://github.com/NoelDeMartin/moodle into MOODLE_311_STABLE 2021-04-28 10:15:42 +08:00
Andrew Nicols 1d7bbdfc08 Merge branch 'MDL-71389-311' of git://github.com/marinaglancy/moodle into MOODLE_311_STABLE 2021-04-28 09:49:48 +08:00
Eloy Lafuente (stronk7) f6062a0bf8 MDL-56609 phpunit: Fix bogus expectation on DST changes day
Current test works ok every day of the year but the day of
DST begin changes (last Sunday of March currently).

That day, 01:00 Europe/London simply doesn't exist, because
the time is moved forward by 60 minutes.

Hence the expectation for the next cron execution is not 1 "normal"
day (24h) but 1 less hour.

Note this only happens for the current test on DST begins, the
opposite change (DST ends), happening the last Sunday of October
is not affected, because, at all effects, 01:00 is a perfectly normal
and existing hour.
2021-04-27 18:30:56 +02:00
Luca Bösch 7758387005 MDL-71244 enrol_manual: Add bootstrap classes to buttons 2021-04-27 17:27:53 +02:00
Sara Arjona 89c919813e Merge branch 'MDL-71403-311' of git://github.com/paulholden/moodle into MOODLE_311_STABLE 2021-04-27 16:02:02 +02:00
Ferran Recio 17ee80ca64 MDL-70909 mod_h5pactivity: fix reports on freeze context 2021-04-27 15:35:39 +02:00
Sara Arjona 5b315fa595 on-demand release 3.11dev+ 2021-04-27 15:15:26 +02:00
Jun Pataleta 00dfc98251 Merge branch 'MDL-71410-311' of git://github.com/rezaies/moodle into MOODLE_311_STABLE 2021-04-27 12:36:29 +08:00
Shamim Rezaie b315affbd4 MDL-71410 core: Prevent recursively calling getters 2021-04-27 14:34:09 +10:00
Shamim Rezaie d8806cc8aa MDL-71410 mod_quiz: implement activity_dates for the quiz module 2021-04-27 14:34:09 +10:00
Shamim Rezaie d89d984048 MDL-71410 mod_quiz: Cache quiz times in modinfo for performance
We update the dates with user/group overrides. The calculation of
the override in the quiz module is different from the assignment
module as the quiz_overrides table des not have a sortorder column.
See quiz_update_effective_access().
2021-04-27 14:34:09 +10:00
Shamim Rezaie e8caa2d2a2 MDL-71410 mod_quiz: Cache user and group overrides 2021-04-27 14:34:07 +10:00
Shamim Rezaie 9bf74e7e85 MDL-71410 mod_lesson: implement activity_dates for the lesson module 2021-04-27 14:33:49 +10:00
Shamim Rezaie 5f9ca816f4 MDL-71410 mod_lesson: Cache lesson times in modinfo for performance
We update the dates with user/group overrides. The calculation of
the override in the lesson module is different from the assignment
module as the lesson_overrides table des not have a sortorder column.
See lesson::update_effective_access().
2021-04-27 14:33:49 +10:00
Shamim Rezaie 04e6d285d8 MDL-71410 mod_lesson: Cache user and group overrides 2021-04-27 14:33:47 +10:00
Shamim Rezaie b700f690ab MDL-71410 mod_assign: implement activity_dates for the assignment module 2021-04-27 14:33:28 +10:00
Shamim Rezaie 279def66dc MDL-71410 mod_assign: Cache assign times in modinfo for performance
We update the dates with user/group overrides
2021-04-27 14:33:27 +10:00
Shamim Rezaie 7b54f5b2e6 MDL-71410 mod_assign: Cache user and group overrides 2021-04-27 14:33:26 +10:00
Shamim Rezaie 8408cb1050 MDL-71410 core: Introduce override_customdata()
The get_custom_data() method now calls obtain_dynamic_data() because
$this->customdata can be dynamic now.
2021-04-27 14:32:54 +10:00
Jun Pataleta 623a3d9d1e Merge branch 'MDL-71252-311' of git://github.com/HuongNV13/moodle into MOODLE_311_STABLE 2021-04-27 10:40:55 +08:00
Huong Nguyen 93d00d6777 MDL-71252 completion: PHPUnit failure 2021-04-27 08:43:16 +07:00
Adrian Greeve dd9ca2ee93 Merge branch 'MDL-71329-311' of https://github.com/Chocolate-lightning/moodle into MOODLE_311_STABLE 2021-04-27 09:36:33 +08:00
Víctor Déniz 57a6625dab Merge branch 'MDL-65687-311' of git://github.com/paulholden/moodle into MOODLE_311_STABLE 2021-04-27 01:12:30 +01:00
Víctor Déniz 5cb1ae3c07 Merge branch 'MDL-71003-311' of git://github.com/paulholden/moodle into MOODLE_311_STABLE 2021-04-27 00:36:28 +01:00
Víctor Déniz 5ffa79f8d8 Merge branch 'MDL-71441-311' of git://github.com/bmbrands/moodle into MOODLE_311_STABLE 2021-04-27 00:04:56 +01:00
Sara Arjona d37145a52f Merge branch 'MDL-70917-311' of git://github.com/paulholden/moodle into MOODLE_311_STABLE 2021-04-26 15:18:04 +02:00
Bas Brands b1db156ec0 MDL-71441 core_user: add profilefield social to standard plugins list 2021-04-26 14:43:55 +02:00
Jun Pataleta 69f6e1e188 MDL-71252 completion: Fix Behat test for manual completion display
Adjusting the test since the manual completion button is now being
hidden from the course homepage when completion is disabled.
2021-04-26 19:53:59 +08:00
Sara Arjona 523e57fb14 Merge branch 'MDL-71416-311' of git://github.com/paulholden/moodle into MOODLE_311_STABLE 2021-04-26 12:35:40 +02:00
Sara Arjona 6a5b32a584 Merge branch 'MDL-71392-311' of git://github.com/paulholden/moodle into MOODLE_311_STABLE 2021-04-26 11:52:54 +02:00
Jun Pataleta 2d576c3b41 Merge branch 'MDL-71252-311' of git://github.com/HuongNV13/moodle into MOODLE_311_STABLE 2021-04-26 17:02:31 +08:00
Huong Nguyen 195ac89d7d MDL-71252 completion: Behat failure 2021-04-26 15:59:26 +07:00
Eloy Lafuente (stronk7) 51536c7cea Merge branch 'MDL-70446-m311' of https://github.com/sammarshallou/moodle into MOODLE_311_STABLE 2021-04-26 10:45:07 +02:00
Jun Pataleta 88a5780f09 Merge branch 'MDL-71252-311' of git://github.com/HuongNV13/moodle into MOODLE_311_STABLE 2021-04-26 15:55:04 +08:00
Sara Arjona 7b62b266fe Merge branch 'MDL-71370-311-test' of git://github.com/junpataleta/moodle into MOODLE_311_STABLE 2021-04-26 09:50:47 +02:00
Huong Nguyen d3dc55b4d5 MDL-71252 completion: Avoid showing the 'Mark as done' button
The following activites will be applied:
 - Label
 - File (Force download/Open/In pop-up)
 - URL (Open/In pop-up)
2021-04-26 14:25:31 +07:00
Paul Holden 8518751467 MDL-71434 mod_data: add form control class to template textarea. 2021-04-25 18:34:58 +01:00
Paul Holden 10d853a891 MDL-71403 message: Bootstrap controls for message preferences.
Replicates changes made to notification preferences in e41b3485.
The templates for each are similar enough than one can be used
from the other. Remove redundant styles for previous controls.
2021-04-25 16:43:11 +01:00
Jun Pataleta 469e492196 MDL-71370 course: Make showcompletionconditions nullable
* When completion tracking is not enabled for the course, it does not
make sense for the course's showcompletionconditions setting to
be set according to the default value indicated by the
"moodlecourse | showcompletionconditions" admin setting. Setting
showcompletionconditions as enabled when completion tracking is disabled
makes even less sense. So in such a case, we should not be setting a
default value for showcompletionconditions and allow it to be null.

* When the course is edited and completion tracking is enabled, this
also would set the "Show completion conditions" field to default to the
value set in the "moodlecourse | showcompletionconditions" admin
setting.
2021-04-24 19:15:19 +08:00
Tim Schroeder 647c5ac8cd MDL-70110 assign: fixed ws get_submissions for groups 2021-04-24 12:10:48 +02:00
Paul Holden 95c8e10fcc MDL-71416 report_log: user context header should show users name.
Co-Authored-By: Luca Bösch <luca.boesch@bfh.ch>
2021-04-23 20:24:28 +01:00
Sara Arjona 6f890af454 Merge branch 'MDL-71144-311' of git://github.com/rezaies/moodle into MOODLE_311_STABLE 2021-04-23 13:16:10 +02:00
Marina Glancy 66a7520a7b MDL-71397 mod_glossary: empty category is the same as all categories
In PHP8 empty string is not equal to zero
2021-04-23 11:46:12 +02:00
Sara Arjona fe04d078a4 on-demand release 3.11dev+ 2021-04-23 10:47:17 +02:00
Sara Arjona 61b35eebfa NOBUG: Fixed SVG browser compatibility 2021-04-23 10:47:15 +02:00
Mathew May 37a80759ea MDL-71329 tool_moodlenet: Check to see if we get errors before curl 2021-04-23 15:48:31 +08:00
Jun Pataleta c60671bdb2 Merge branch 'MDL-71171_311' of git://github.com/mdjnelson/moodle into MOODLE_311_STABLE 2021-04-23 12:41:10 +08:00
Mark Nelson e98a902a7b MDL-71171 customfield_text: ensure we set defaults properly 2021-04-23 12:37:28 +08:00
abgreeve bdad52f522 Merge branch 'MDL-70818-311-4' of git://github.com/rezaies/moodle into MOODLE_311_STABLE 2021-04-23 12:18:31 +08:00
Andrew Nicols 5319d41af0 Merge branch 'MDL-70903-311' of git://github.com/roland04/moodle into MOODLE_311_STABLE 2021-04-23 11:56:59 +08:00
Andrew Nicols 9d275ebbfd Merge branch 'MOODLE_311_STABLE-MDL-71376' of https://github.com/rjnl/moodle into MOODLE_311_STABLE 2021-04-23 11:52:31 +08:00
Shamim Rezaie 57926096b8 MDL-70818 mod_workshop: implement activity_dates for the workshop module 2021-04-23 13:47:51 +10:00
Shamim Rezaie 2d19fa0d5f MDL-70818 mod_workshop: cache workshop times in modinfo for performance 2021-04-23 13:47:51 +10:00
Shamim Rezaie 1a50f27b8b MDL-70818 mod_scorm: implement activity_dates for the scorm module 2021-04-23 13:47:51 +10:00
Shamim Rezaie e6a6b08196 MDL-70818 mod_forum: implement activity_dates for the forum module 2021-04-23 13:47:50 +10:00
Shamim Rezaie 3594a90298 MDL-70818 mod_forum: cache forum times in modinfo for performance 2021-04-23 13:47:50 +10:00
Shamim Rezaie f88f792b3b MDL-70818 mod_feedback: implement activity_dates for the feedback module 2021-04-23 13:47:50 +10:00
Shamim Rezaie ec55d63ca0 MDL-70818 mod_data: implement activity_dates for the database module 2021-04-23 13:47:50 +10:00
Andrew Nicols b9d08260bd Merge branch 'MDL-71394-311' of git://github.com/marinaglancy/moodle into MOODLE_311_STABLE 2021-04-23 11:46:17 +08:00
Andrew Nicols 391447a3b5 Merge branch 'MDL-70970-311' of git://github.com/paulholden/moodle into MOODLE_311_STABLE 2021-04-23 11:38:50 +08:00
Andrew Nicols 7b21ac7a0c Merge branch 'MDL-70902-311' of git://github.com/dravek/moodle into MOODLE_311_STABLE 2021-04-23 11:17:20 +08:00
ScottVerbeek 0c9412a7fd MDL-66673 groups: Stop notice when messaging system is disabled 2021-04-23 08:54:05 +10:00
Sara Arjona 1e0742f0a4 Merge branch 'MDL-57831-311' of git://github.com/paulholden/moodle into MOODLE_311_STABLE 2021-04-22 18:13:10 +02:00
Paul Holden c34d739636 MDL-57831 tool_monitor: update Behat tests for message preferences. 2021-04-22 16:12:49 +01:00
Ferran Recio cd97f217b6 MDL-70909 behat: context freeze and not freeze steps 2021-04-22 15:51:36 +02:00
Sara Arjona 7ccfb2410a Merge branch 'MDL-71136_311' of https://github.com/TomoTsuyuki/moodle into MOODLE_311_STABLE 2021-04-22 13:56:43 +02:00
Shamim Rezaie 7f03204486 MDL-71144 mod_scorm: Deprecate scorm_get_completion_state() 2021-04-22 21:28:10 +10:00
Shamim Rezaie ba90a6462d MDL-71144 mod_quiz: custom_completion should not use deprecated function
This commit also removes an unnecessary DB query.
2021-04-22 21:28:10 +10:00
Shamim Rezaie 7bdff82066 MDL-71144 mod_quiz: Deprecate quiz_get_completion_state() 2021-04-22 21:28:09 +10:00
Shamim Rezaie e88a9462d1 MDL-71144 mod_lesson: Deprecate lesson_get_completion_state() 2021-04-22 21:28:09 +10:00
Shamim Rezaie 0780c6a7bd MDL-71144 mod_survey: Deprecate survey_get_completion_state() 2021-04-22 21:28:09 +10:00
Shamim Rezaie 223bee6bd0 MDL-71144 mod_glossary: Deprecate glossary_get_completion_state() 2021-04-22 21:28:09 +10:00
Jun Pataleta 81ddb3c13d MDL-71144 mod_forum: Deprecate forum_get_completion_state() 2021-04-22 21:28:09 +10:00
Jun Pataleta c008814ca4 MDL-71144 mod_feedback: Deprecate feedback_get_completion_state() 2021-04-22 21:28:09 +10:00
Jun Pataleta 8e79ddef3b MDL-71144 mod_data: Deprecate data_get_completion_state() 2021-04-22 21:28:09 +10:00
Jun Pataleta 9dfc27cc33 MDL-71144 mod_choice: Deprecate choice_get_completion_state() 2021-04-22 21:28:09 +10:00
Jun Pataleta bbe3a4882d MDL-71144 mod_assign: Deprecate assign_get_completion_state() 2021-04-22 21:28:09 +10:00
Jun Pataleta e774335f16 MDL-71144 completion: Deprecate get_completion_state callbacks
* *_get_completion_state() callback functions have been deprecated and
should no  longer be used. Plugins that define custom completion rules
must implement the mod_[modname]\completion\custom_completion class that
extends the \core_completion\activity_custom_completion base class.
2021-04-22 21:28:09 +10:00
Sara Arjona 6abbca9754 Merge branch 'MDL-71400-311' of git://github.com/mihailges/moodle into MOODLE_311_STABLE 2021-04-22 13:16:29 +02:00
Ferran Recio 150280bafa MDL-70909 core: add cannotmatchanyrows to capabilities join 2021-04-22 13:09:47 +02:00
Jun Pataleta 672bbb6cd6 Merge branch 'MDL-71170_311' of git://github.com/mdjnelson/moodle into MOODLE_311_STABLE 2021-04-22 18:55:21 +08:00
Noel De Martin 5c1cf60ae4 MDL-71386 behat: Support for 3.9.5+ mobile app 2021-04-22 12:15:37 +02:00
Paul Holden 50fe1b9885 MDL-71200 mod_folder: ensure "Download folder" option is backed up. 2021-04-22 10:29:18 +01:00
Paul Holden f0db656002 MDL-70979 search: validate external user search parameters.
Clean return value in unit test for same.
2021-04-22 10:22:42 +01:00
Paul Holden 1c00938de9 MDL-71392 mod_quiz: don't display grade to pass if not set. 2021-04-22 09:53:21 +01:00
Mihail Geshoski 3b1c29d233 MDL-71400 assignfeedback_offline: Fix message after worksheet upload 2021-04-22 13:08:44 +08:00
Jun Pataleta 78672323e6 Merge branch 'MDL-71156-311' of git://github.com/lameze/moodle into MOODLE_311_STABLE 2021-04-22 11:53:27 +08:00
Andrew Nicols 67f4a51f68 Merge branch 'MDL-69460-311' of https://github.com/paulholden/moodle into MOODLE_311_STABLE 2021-04-22 11:10:32 +08:00
Simey Lameze 10018bbc39 MDL-71156 core: machinery to recover orphaned calendar events
The machinery to fix orphaned calendar events that were broken by MDL-67494.

The solution consists of:

1) Upgrade step that checks if this site has executed the problematic upgrade steps and
   if positive, it will schedule a new run for calendar_fix_orphaned_events adhoc task.

2) Adhoc task that will self-spawn calling the recovery machinery, running until
   all the orphaned calendar events are fixed. It also sets the maximum runtime of
   60 seconds. It is also possible to override that number by specifing the desired
   number setting the ->calendareventsmaxseconds in your config.php

3) CLI script that will look for all the calendar events which userids
   where broken by a wrong upgrade step, affecting to Moodle 3.9.5
   and up.

   It performs checks to both:
     a) Detect if the site was affected (ran the wrong upgrade step).
     b) Look for orphaned calendar events, categorising them as:
       - standard: site / category / course / group / user events
       - subscription: events created via subscriptions.
       - action: normal action events, created to show common important dates.
       - override: user and group override events, particular, that some activities support.
       - custom: other events, not being any of the above, common or particular.

   By specifying it (--fix) try to recover as many broken events (missing userid) as
   possible. Standard, subscription, action, override events in core are fully supported but
   override or custom events should be fixed by each plugin as far as there isn't any standard
   API (plugin-wise) to launch a rebuild of the calendar events.

4) Unit tests and helper functions to generate calendar events. We have decided to
   keep the tests simple, testing only true and false and not using data generators because
   the code is purely to recover the calendar events and won't turn into an API or something
   and also due to the urgency of this issue.
   The helpers have been created in calendar/tests/helpers.php since there are no data generators
   for calendar.
2021-04-22 10:39:46 +08:00
Jun Pataleta 1ebb8d0264 Merge branch 'MDL-71288-311' of git://github.com/lameze/moodle into MOODLE_311_STABLE 2021-04-22 10:29:16 +08:00
Andrew Nicols 2fb5cb74e9 Merge branch 'MDL-70412-311' of git://github.com/aanabit/moodle into MOODLE_311_STABLE 2021-04-22 10:08:22 +08:00
abgreeve bdd7f0a77c MDL-28452 profilefield_social: Setting the version number to today. 2021-04-22 10:05:04 +08:00
Simey Lameze 068f965a0a MDL-71288 completion: add fallback for plugins
This commits adds a fallback for plugins which does not have
custom_completion implementation.

For those cases, it will search for {modulename}_get_completion_state
callback in the plugin and call get_overall_completion() method in
cm_completion_details class to get the overall completion state for
a course module and user.
2021-04-22 09:46:19 +08:00
abgreeve 3f1727adcf Merge branch 'MDL-28452-311' of git://github.com/bmbrands/moodle into MOODLE_311_STABLE 2021-04-22 09:35:18 +08:00
Paul Holden a760a65c5e MDL-57831 theme_boost: accessibility update for message preferences.
The preferences table did not meet accessibility guidelines regarding
colour contrast between hovered rows and the disabled switch
elements.

Ensure white background is used for all table cells, and replace the
highlighted columns used to differentiate processors with borders.
2021-04-21 21:50:51 +01:00
Sara Arjona 4070ef538b Merge branch 'MDL-64336-m311' of https://github.com/NeillM/moodle into MOODLE_311_STABLE 2021-04-21 17:14:08 +02:00
Marina Glancy 855d6249dc MDL-71394 core_blog: fix incorrect default setting in form
the keys of the options are strings, in PHP8 strings are compared with 0 differently
2021-04-21 16:24:11 +02:00
Neill Magill e0da18119b MDL-64336 assign: Add missing PHP doc 2021-04-21 15:15:00 +01:00
Neill Magill cffc41c27c MDL-64336 assign: Teachers should be able to see all submissions
Before this change a teacher would be able to see users listed if:

* They have an active enrolment and can submit
* They have an an inactive enrolment for a role that can submit

After this change they will additonally be able to see users listed:

* That have an active enrolment and have submitted
* That have an inactive enrolment and have submitted

This means that if an assignment has it's context frozen all users
that have made some form of submission will still be listed.

It will also apply if the submission capability is removed from a
user.

If a user's enrolment is deleted they will not be listed.

The submission and grading counts have also been updated so
they will reflect the new rules.
2021-04-21 15:15:00 +01:00
Neill Magill be1c2eded5 MDL-64336 assign: Submissions should be visible while frozen
Before this change if a student visited an assignment that is
frozen they would only see the title and description even if
they had made a submission to it.

After the change they will be able to see the status of their
submission and any feedback and grades they have recived.

It will also make the Moodle app recognise that submission
should not happen because the assignment is frozen.

Tests based on ones created by Andrew Nicols
2021-04-21 15:14:59 +01:00
Marina Glancy 6d107d48c9 MDL-71389 various: changes to unittests due to php8 changes:
- some engine error messages changed
- some warning levels changed
- the carriage return symbol randomly appears
- one phpunit assertion fails and not really representative of anything
2021-04-21 12:39:02 +02:00
Bas Brands 698c57dc3a MDL-28452 core_user: add custom profilefield capability
Add a setting to show custom profilefields to self or others
with capability moodle/sit:viewuseridentity in the course context only
2021-04-21 11:24:36 +02:00
Bas Brands 6191a34c0f MDL-28452 core_user: add behat test for duplicate shortname warning 2021-04-21 11:24:36 +02:00
Bas Brands 37f26f211f MDL-28452 core_user: migrate social profile fields
Create a new profile field type, move all existing content of the fields
'icq', 'skype', 'aim', 'yahoo', 'msn' and 'url' in the mdl_user table to
theses new profile fields if needed.

AMOS BEGIN
MOV [aimid,core],[aimid,courseimage,profilefield_social]
MOV [yahooid,core],[yahooid,profilefield_social]
MOV [skypeid,core],[skypeid,profilefield_social]
MOV [icqnumber,core],[icqnumber,profilefield_social]
MOV [msnid,core],[msnid,profilefield_social]
MOV [webpage,core],[webpage,profilefield_social]
AMOS END
2021-04-21 11:24:34 +02:00
Sara Arjona d68a8df7ea Merge branch 'dynreg-upgrade-squash-311' of https://github.com/cengage/moodle into MOODLE_311_STABLE 2021-04-21 09:58:38 +02:00
Jun Pataleta bcc9028f20 Merge branch 'MDL-71017-311-2' of git://github.com/marinaglancy/moodle into MOODLE_311_STABLE 2021-04-21 14:56:54 +08:00
abgreeve f0b4559bfe Merge branch 'MDL-71205_311' of https://github.com/mkassaei/moodle into MOODLE_311_STABLE 2021-04-21 13:31:44 +08:00
Jake Dallimore 25716402c1 Merge branch 'MDL-71030-311' of https://github.com/NashTechOpenUniversity/moodle into MOODLE_311_STABLE 2021-04-21 12:07:07 +08:00
abgreeve dfda661753 Merge branch '311_MDL-71174' of git://github.com/danmarsden/moodle into MOODLE_311_STABLE 2021-04-21 11:02:13 +08:00
Eloy Lafuente (stronk7) 52dff48650 Merge branch 'MDL-63381_311_v3' of https://github.com/TomoTsuyuki/moodle into MOODLE_311_STABLE 2021-04-20 23:58:48 +02:00
Claude Vervoort 2eaf60e01b MDL-70500 lti: dyn reg can be used to update tools 2021-04-20 17:13:18 -04:00
Sara Arjona 3c71c49d28 Merge branch 'MDL-62244_311_label_view' of https://github.com/sheesania/moodle into MOODLE_311_STABLE 2021-04-20 17:45:01 +02:00
Marina Glancy 79949dc508 MDL-70897 various: uasort callback can not return bool
Co-authored-by: Ruslan Kabalin <ruslan.kabalin@gmail.com>
2021-04-20 14:59:44 +01:00
Sara Arjona 003dadc64d on-demand release 3.11dev+ 2021-04-20 15:52:10 +02:00
Sara Arjona bfa5ef0ea0 Merge branch 'install_311_STABLE' of https://git.in.moodle.com/amosbot/moodle-install into MOODLE_311_STABLE 2021-04-20 15:52:07 +02:00
Paul Holden 86e161bb16 MDL-70970 quizaccess_seb: consistent property array sorting by key.
In PHP8.0 using `ksort` was producing incorrect results by sorting
keys differing only in case in the wrong order. This change makes
sorting consistent between PHP versions.

Co-Authored-By: Tim Hunt <T.J.Hunt@open.ac.uk>
2021-04-20 14:36:17 +01:00
Mikel Martín b98bcd1e38 MDL-70903 mod_h5p: Fix PHP8.0 warning 2021-04-20 15:17:39 +02:00
Marina Glancy 444a4a8c3e MDL-71017 oath2: configuration check fix and return types 2021-04-20 12:08:19 +02:00
David Matamoros d73cd7c778 MDL-70902 libraries: upgrade to version 6.4.1 of TCPDF 2021-04-20 12:00:40 +02:00
David Matamoros fc02628620 MDL-71017 tool_oauth2: Small fixes on Oauth 2 services UI and tests 2021-04-20 10:52:35 +02:00
Marina Glancy 8cc1bcb123 MDL-71017 tool_oauth2: show not configured services 2021-04-20 10:52:35 +02:00
Marina Glancy 720d74ebeb MDL-71017 oauth2: configure some oauth2 services for login only 2021-04-20 10:52:32 +02:00
Rajneel Totaram 97ba2d707c MDL-71376 mod_quiz: fix undefined object reference 2021-04-20 20:12:05 +12:00
Thong Bui 6a9063c588 MDL-71030 Quiz: Add 'who' made changes in question response history 2021-04-20 09:12:18 +07:00
Jun Pataleta e3bd87cae7 Merge branch 'MDL-71364_311' of https://github.com/stronk7/moodle into MOODLE_311_STABLE 2021-04-20 09:24:44 +08:00
AMOS bot 587afbb7ad Automatically generated installer lang files 2021-04-20 00:07:30 +00:00
Paul Holden 234ca0699c MDL-57831 message: Boostrap controls for notification preferences.
Switch from previous custom controls that caused problems with
overflowing labels when using long language strings.
2021-04-19 23:50:42 +01:00
Víctor Déniz 3de3ebc4f3 Merge branch 'MDL-71087-311' of https://github.com/NashTechOpenUniversity/moodle into MOODLE_311_STABLE 2021-04-19 23:44:38 +01:00
Eloy Lafuente (stronk7) 5e0772ed8b Merge branch 'MDL-69256-311' of git://github.com/andrewnicols/moodle into MOODLE_311_STABLE 2021-04-20 00:04:56 +02:00
Víctor Déniz 6b9033f251 Merge branch 'MOODLE_311_STABLE_fix_gradeimport_csv' of https://github.com/intrajp/moodle into MOODLE_311_STABLE 2021-04-19 22:48:24 +01:00
Víctor Déniz 42a4fea40c Merge branch 'MDL-71118-311' of git://github.com/lucaboesch/moodle into MOODLE_311_STABLE 2021-04-19 19:44:08 +01:00
Eloy Lafuente (stronk7) 6c5c501504 Merge branch 'MDL-71181-311' of https://github.com/ettolrah/moodle into MOODLE_311_STABLE 2021-04-19 18:58:24 +02:00
Eloy Lafuente (stronk7) cb6cdc0fd3 Merge branch 'MOODLE_311_STABLE-MDL-71190-backup-lastaccess' of https://github.com/ScottVerbeek/moodle into MOODLE_311_STABLE 2021-04-19 18:52:30 +02:00
Sara Arjona ab308e8847 Merge branch 'MDL-71262_311' of https://github.com/mkassaei/moodle into MOODLE_311_STABLE 2021-04-19 17:44:09 +02:00
Sara Arjona e4d4369b2f MDL-71225 questions: Remove duplicated empty line 2021-04-19 17:28:43 +02:00
Sara Arjona bcfa03c428 Merge branch 'MDL-71225_311' of https://github.com/mkassaei/moodle into MOODLE_311_STABLE 2021-04-19 17:18:40 +02:00
Sara Arjona 8ec2411be7 Merge branch 'MDL-67882-message-config-log-MOODLE_311_STABLE' of https://github.com/brendanheywood/moodle into MOODLE_311_STABLE 2021-04-19 16:22:54 +02:00
Dongsheng Cai 1dbdbb621c MDL-68747 mod_quiz: force LTR for quiz grading overview chart 2021-04-19 21:06:43 +10:00
Sara Arjona 103d168357 Merge branch 'MDL-71367_311' of https://github.com/stronk7/moodle into MOODLE_311_STABLE 2021-04-19 11:12:56 +02:00
Sara Arjona 350b49766a Merge branch 'MDL-71365_311' of https://github.com/stronk7/moodle into MOODLE_311_STABLE 2021-04-19 10:18:32 +02:00
Paul Holden e64eae866e MDL-71127 mod_quiz: fix thrown exception for invalid question columns. 2021-04-19 09:07:06 +01:00
Paul Holden 1f4ad415b5 MDL-71168 report_participation: fix select all users checkbox. 2021-04-19 09:05:19 +01:00
Paul Holden b35c0337d4 MDL-69460 admin: prevent CLI upgrade when stale files present. 2021-04-19 09:03:49 +01:00
Sara Arjona 5a2ae7ecde Merge branch 'MDL-66475-311' of git://github.com/paulholden/moodle into MOODLE_311_STABLE 2021-04-19 09:49:15 +02:00
Sara Arjona a569ba73b4 Merge branch 'MDL-65553-311' of git://github.com/aanabit/moodle into MOODLE_311_STABLE 2021-04-19 08:53:39 +02:00
Jun Pataleta 8224c9d6b7 Merge branch 'MDL-71324-311' of git://github.com/lucaboesch/moodle into MOODLE_311_STABLE 2021-04-19 12:31:27 +08:00
ScottVerbeek d687a56fed MDL-71190 backup: Include users last access to course
Backup the table user_lastaccess which holds data for when a user last accessed a course.
And also restore to the table user_lastaccess from the .xml file created in the backup.
2021-04-19 12:04:30 +10:00
Andrew Nicols 1e90af329d Merge branch 'MDL-71012-311' of https://github.com/jessansell/moodle into MOODLE_311_STABLE 2021-04-19 08:49:06 +08:00
Eloy Lafuente (stronk7) c86f286543 MDL-71367 unit tests: Add missing ->destroy() call to test backups
As part of the tests preparations, some backups are created, but
the tests aren't calling to their ->destroy() method at the end.

The destroy() method is needed to go cleaning and unsetting various
objects that, only then, will free resources, like memory, open files...

This isn't critical under Unix OSs... but Windows is really sensible
and keeps all open files locked, so any write operation on them fails.
2021-04-19 00:03:46 +02:00
Eloy Lafuente (stronk7) b98005ec2a Merge branch 'MDL-71031_311' of https://github.com/stronk7/moodle into MOODLE_311_STABLE 2021-04-18 17:08:51 +02:00
Eloy Lafuente (stronk7) 51a5d523a1 MDL-71031 external: Minor tweaks towards coding style and external rules
- Some small namespace/use/MOODLE_INTERNAL/requires reorganization.
- Move file phpdocs to class phpdocs.
- Move external method names to be new "execute" default ones.
- Move unit tests to matching core_grades\external namespace.
- Add missing clean_returnvalue() calls.
2021-04-18 11:53:09 +02:00
Peter Burnett 74a86a9880 MDL-71031 webservices: Extended gradecategory creation API
This adds a new webservice that creates gradecategories as a batch,
and deprecates the old single creation call, which is superseded.
It also patches a few small issues in the single WS, for any integrations
currently relying on that webservice.
2021-04-18 11:53:03 +02:00
AMOS bot eb45c21753 Automatically generated installer lang files 2021-04-18 00:07:28 +00:00
Eloy Lafuente (stronk7) e5441b439e MDL-71365 grunt: fix boost ignores order and missing LF @ EOF 2021-04-18 00:13:12 +02:00
Eloy Lafuente (stronk7) b086645bd7 MDL-71364 behat: fix randomness causes by "now" advancing
Some recent tests do set a date time element
to ##now## or tomorrow and, immediately after that
the look if, effectively, ##now## and #tomorrow#
have been set (with minutes resolution).

Problem is that, between the field is set and the field
is verified, it can happen that the time advances to
next minute (from H:M:59 to H:M+1:00) and then the
assertion fails.

To avoid this, we could have lowered the resolution to be
hours... but that doesn't solve the problem just makes it
to happen less often.

So, instead of that... we are setting the 2 now and tomorrow
cases to be "today noon" and "tomorrow noon" (12:00:00) so
we ensure they won't be ever in the risk of jumping of minute.
2021-04-17 12:32:35 +02:00
Luca Bösch e2b1ede0dd MDL-71324 course: Render hasinfo class only if necessary. 2021-04-17 11:49:28 +02:00
Luca Bösch c5446c9cc7 MDL-71118 core: Add grade (verb) string.
AMOS BEGIN
 CPY [grade,core],[gradenoun,core]
 CPY [grade,core],[gradeverb,core]
AMOS END
2021-04-17 11:45:57 +02:00
Luca Bösch 3256a63914 MDL-71118 gradereport_user: Display Grades (plural) in profile page. 2021-04-17 11:45:57 +02:00
Eloy Lafuente (stronk7) 8b9717935c Merge branch 'MDL-70099-311' of git://github.com/paulholden/moodle into MOODLE_311_STABLE 2021-04-17 09:40:28 +02:00
Eloy Lafuente (stronk7) 9b8427c455 Merge branch 'MDL-71334-311' of git://github.com/mickhawkins/moodle into MOODLE_311_STABLE 2021-04-16 19:59:45 +02:00
Sara Arjona 9600becce3 on-demand release 3.11dev+ 2021-04-16 17:06:23 +02:00
Sara Arjona dfbea60ac4 Merge branch 'install_311_STABLE' of https://git.in.moodle.com/amosbot/moodle-install into MOODLE_311_STABLE 2021-04-16 17:06:20 +02:00
Sara Arjona b3209c0ac5 MDL-69331 core_h5p: fix behat errors 2021-04-16 13:07:09 +02:00
Andrew Nicols b816aa102d Merge branch 'MOODLE_311_MDL-71233' of https://github.com/golenkovm/moodle into MOODLE_311_STABLE 2021-04-16 08:06:23 +01:00
Jun Pataleta 03f21e4cc0 Merge branch 'MDL-48594-311' of https://github.com/nguyenphuctien/moodle into MOODLE_311_STABLE 2021-04-16 08:06:23 +01:00
Andrew Nicols c0db4805df Merge branch 'MDL-60490-missing_close_div-311' of https://github.com/leonstr/moodle into MOODLE_311_STABLE 2021-04-16 08:06:22 +01:00
Andrew Nicols 28d07f3373 Merge branch 'MDL-69415-311' of git://github.com/sarjona/moodle into MOODLE_311_STABLE 2021-04-16 08:06:22 +01:00
Paul Phillips 11a15b8b9c MDL-71167 mod_scorm: use full url in redirect 2021-04-16 08:06:22 +01:00
Jake Dallimore a7061af4fb Merge branch 'MDL-71342-311-2' of git://github.com/junpataleta/moodle into MOODLE_311_STABLE 2021-04-16 08:06:22 +01:00
Andrew Nicols e1eff84dd2 Merge branch 'MOODLE_311_MDL-71254' of https://github.com/golenkovm/moodle into MOODLE_311_STABLE 2021-04-16 08:06:22 +01:00
Andrew Nicols 6d6a57dda9 Merge branch 'MDL-71186-m311' of https://github.com/clransom/moodle into MOODLE_311_STABLE 2021-04-16 08:06:22 +01:00
Víctor Déniz 9976bacec2 Merge branch 'MDL-69331-311' of git://github.com/sarjona/moodle into MOODLE_311_STABLE 2021-04-16 08:06:21 +01:00
Sara Arjona 4fcc06b43e Merge branch 'MDL-70269_311' of https://github.com/timhunt/moodle into MOODLE_311_STABLE 2021-04-16 08:06:21 +01:00
Michael Hawkins 65dea75cc6 MDL-71334 mod_lti: Fix manual activity completion behat test 2021-04-16 14:10:27 +08:00
Tien Nguyen 5ad8101553 MDL-48594 Report: More filtering options on Activity Completion Report 2021-04-16 10:07:06 +07:00
Jun Pataleta 91170558ac MDL-71342 mod: Conditionally display activity info
* The activity information output component is still being displayed
even in the case when the activity does not have dates to show and
completion tracking is not enabled.
This also causes a horizontal line to be rendered in activity view pages
below the activity heading which does not serve much purpose when
there's no activity information to be shown.
The activity information output component should only be displayed
if there's completion information to show or if there are activty dates
to show. Otherwise, there's no need to render it.
2021-04-15 23:10:42 +08:00
Amaia Anabitarte e58d63f078 MDL-70412 groups: Improving create_group data generator
Increasing the size of the name for generated groups
to ensure we don't have problems with ordering.
2021-04-15 16:57:23 +02:00
Amaia Anabitarte 82093afe50 MDL-65553 core_analytics: Don't allow to flag predictions several times
Even if a prediction is hidden from the report once is flagged,
it can be flagged several times if the user visits detailed view via URL.
We remove the checkbox to select a prediction and flag it
once it has already been flagged.
2021-04-15 16:39:09 +02:00
Katie Ransom b4fdc7c1b0 MDL-71186 core_user: show custom user fields in group management screens 2021-04-15 15:30:54 +01:00
Sara Arjona cf42280164 Merge branch 'MDL-71090-311' of git://github.com/paulholden/moodle into MOODLE_311_STABLE 2021-04-15 11:56:46 +02:00
Sara Arjona d3b93906d5 MDL-69331 core_h5p: Add missing @core_h5p tag 2021-04-15 09:33:02 +02:00
Sara Arjona d0d7fc835e MDL-69331 core_h5p: Add missing library files to behat tests
Some of the pre-existing behat tests were creating content into the
content bank using the generator but the H5P content-type libraries
weren't uploaded.
Since MDL-69331, libraries need to be deployed previously (so fake
H5P content-type won't be displayed if these libraries don't exist).
2021-04-15 09:33:02 +02:00
Sara Arjona 8a81d74244 MDL-69331 core_contentbank: Hide disabled H5P content-types
If a H5P content-type is disabled:
- The content bank won't display existing contents having it as a
main library.
- The content bank won't allow to create new contents using it.
2021-04-15 09:32:58 +02:00
Sara Arjona 73a7133ef8 MDL-69331 core_h5p: Only upgrade enabled libraries
The core\task\h5p_get_content_types_task task will only download
content-type for enabled libraries.
2021-04-15 09:31:36 +02:00
Sara Arjona be7143381f MDL-69331 core_h5p: Display error when main library is disabled
H5P contents with the main library disabled won't be deployed; a
message error will be displayed instead of.
2021-04-15 09:31:36 +02:00
Sara Arjona dc77f13dab MDL-69331 core_h5p: Add enabled field to libraries
The "enabled" field has been added to the H5P libraries to let
admins decide whether a library should be used or not in the site.
2021-04-15 09:31:36 +02:00
Jake Dallimore c78aa10409 Merge branch 'MDL-71338-311' of git://github.com/paulholden/moodle into MOODLE_311_STABLE 2021-04-15 14:42:25 +08:00
Sara Arjona a1ce0a96d2 Merge branch 'MDL-71337-311' of git://github.com/junpataleta/moodle into MOODLE_311_STABLE 2021-04-15 08:30:14 +02:00
Jake Dallimore d839e4f941 Merge branch 'MDL-61768-311-3' of git://github.com/mihailges/moodle into MOODLE_311_STABLE 2021-04-15 14:16:40 +08:00
abgreeve dfda0b1c19 Merge branch 'MDL-71007-courseidnumer-grade-ws-MOODLE_311_STABLE' of https://github.com/brendanheywood/moodle into MOODLE_311_STABLE 2021-04-15 13:47:02 +08:00
Jun Pataleta 4c5d70b586 MDL-71337 mod_h5pactivity: Increase window size during test
The addition of the activity information moves the h5p content down
out of the window view on Firefox which causes the Check button to be
unclickable. This patch increases the window size to ensure that the
check button is visible and clickable.

Credits to Eloy <stronk7@moodle.org> for the thorough investigation
of the root cause of this issue :)
2021-04-15 12:45:56 +08:00
Mihail Geshoski 17bf8a2ef3 MDL-61768 repository_googledocs: Deprecate unused methods
Deprecates methods from the repository_googledocs class which are
no longer used.
2021-04-15 12:43:00 +08:00
Mihail Geshoski 598a072922 MDL-61768 repository_googledocs: Add unit tests
Adds unit tests for the newly introduced methods related to the content
browsing and searching functionallity across drives.
2021-04-15 12:43:00 +08:00
Mihail Geshoski bded723306 MDL-61768 repository_googledocs: Support shared drives
Enables the Google Drive repository to support browsing and searching
for content from the existing shared drives.
2021-04-15 12:42:58 +08:00
Mihail Geshoski 2950a9a024 MDL-61768 repository_googledocs: Rest API function to list shared drives
Adds a new rest API function in the googledocs repository which would
return the existing shared drives.
2021-04-15 12:41:41 +08:00
Jake Dallimore 38a54270c7 Merge branch 'MDL-70142-311' of git://github.com/paulholden/moodle into MOODLE_311_STABLE 2021-04-15 10:35:49 +08:00
Andrew Nicols dd62d97a1a Merge branch 'MDL-70311-311' of git://github.com/ilyatregubov/moodle into MOODLE_311_STABLE 2021-04-15 09:19:50 +08:00
Jake Dallimore 946d0ea0cf Merge branch 'MDL-70649-M311' of https://github.com/xuangui2018/moodle into MOODLE_311_STABLE 2021-04-15 08:39:08 +08:00
Jake Dallimore 52f8e4001c Merge branch 'MDL-71119-311' of git://github.com/sarjona/moodle into MOODLE_311_STABLE 2021-04-15 08:32:04 +08:00
AMOS bot 7da38579f6 Automatically generated installer lang files 2021-04-15 00:07:38 +00:00
Paul Holden 5138937e79 MDL-71338 tool_usertours: correct Content-Type on tour export.
Replace existing code with standard file serving mechanism, in
turn correcting the previously incorrect Content-Type header.
2021-04-14 21:11:53 +01:00
Eloy Lafuente (stronk7) d1b2b063c9 Merge branch 'MDL-67999-311' of git://github.com/sarjona/moodle into MOODLE_311_STABLE 2021-04-14 19:30:24 +02:00
Mahmoud Kassaei d2d9a7200b MDL-71225 Questions: Default options for
ddimageortext, ddmarker and match qtypes
2021-04-14 17:54:54 +01:00
Mahmoud Kassaei 82a9fb50d0 MDL-71262 Questions: Default options for qtype_essay 2021-04-14 17:14:28 +01:00
Sara Arjona b199ebd0d5 MDL-67999 contentbank: Remove contentbank/upload.php
As the form to upload files to the content bank has been moved to
modal, this file is not required any more, so it has been removed.
2021-04-14 18:10:32 +02:00
Sara Arjona 03ab4546ed MDL-67999 contentbank: Make upload/replace files modal form
Once MDL-64554 landed, content bank can implement the original
proposal, using a modal form when uploading files.
2021-04-14 18:10:32 +02:00
Sara Arjona eb8c1fce66 MDL-67999 core_contentbank: Add namespace to upload form
The form to upload/replace files has been moved to classes/form
(it's where it should have been added when it was created).
Besides, this class has been renamed because now, with the
namespace, contentbank and form don't need to be in the name ;-)
2021-04-14 18:10:32 +02:00
Xuan Gui a32c076d0b MDL-70649 files: Alternative security helper
Augment all installed plugin's security helper if there is any.
Plugins function has to be defined as plugintype_pluginname_security_helper in pluginname/lib.php file.
2021-04-14 21:25:12 +10:00
Eloy Lafuente (stronk7) e0d45a6bc2 Merge branch 'MDL-70616-311-fix' of https://github.com/izendegi/moodle into MOODLE_311_STABLE 2021-04-14 12:45:11 +02:00
Iñigo Zendegi a8d4abf091 MDL-70616 gradingform_rubric: Filters not applied to rubric name 2021-04-14 11:52:16 +02:00
Sara Arjona f58c70ebd5 MDL-71119 core_badges: Add more information to errors
Some errors raised when calling external services were ignored.
Displaying this information helps to debug and find the real reasons
why some action, like connecting to an external backpack, can't be
done.
2021-04-14 10:56:00 +02:00
Sara Arjona 1fdf3adf51 MDL-71119 core_badges: Use basicauth and remove urlencode
Basic authorization header is required to get token. Besides, client
id and secret shouldn't call urlencode.
2021-04-14 10:55:59 +02:00
Sara Arjona 7dd480dde2 MDL-71119 core_badges: Initialise scopes param in backpack-connect.php
The scopes parameter should be passed when creating the OAuth2 badges
client. As it is an optional parameter, when it's empty, it will
be initilised with the supported scopes for the backpack issuer.

It will happen, for instance, when a call is done to oauth2callback.php
because, as defined in RFC6749, OAuth2 authorization response only
supports code and state.
2021-04-14 10:55:59 +02:00
Jun Pataleta 0ff857ca81 Merge branch 'MDL-71315-311' of git://github.com/sarjona/moodle into MOODLE_311_STABLE 2021-04-14 16:50:49 +08:00
Paul Holden 5a862117fd MDL-70772 mod_forum: check for valid usernode before making active. 2021-04-14 09:20:13 +01:00
Sara Arjona 119fb4b712 MDL-71315 core_badges: Fix warning when rendering badges 2021-04-14 09:06:35 +02:00
Andrew Nicols c42ccdd372 Merge branch 'MDL-71154_311' of https://github.com/stronk7/moodle into MOODLE_311_STABLE 2021-04-14 12:10:16 +08:00
Andrew Nicols 8e358c9983 Merge branch 'MDL-71169-311-execute' of git://github.com/mudrd8mz/moodle into MOODLE_311_STABLE 2021-04-14 08:35:38 +08:00
AMOS bot 444291e71a Automatically generated installer lang files 2021-04-14 00:07:33 +00:00
Eloy Lafuente (stronk7) 2c13de9fc8 Merge branch 'MDL-69874-311' of git://github.com/lucaboesch/moodle into MOODLE_311_STABLE 2021-04-13 23:08:57 +02:00
Eloy Lafuente (stronk7) 1f2fbfe331 Merge branch 'MDL-70722-311' of git://github.com/sarjona/moodle into MOODLE_311_STABLE 2021-04-13 22:39:36 +02:00
Víctor Déniz c7e2a997a8 Merge branch 'MDL-71089-311' of git://github.com/roland04/moodle into MOODLE_311_STABLE 2021-04-13 19:40:09 +01:00
Eloy Lafuente (stronk7) 9c4a2b0d47 MDL-71154 ci: Prevent upstream branches and tags to be built
Both for travis and GHA:

- master and MOODLE_XXX_STABLE branches
- any vX.Y.Z tag

won't lead to a build anymore.
2021-04-13 16:55:46 +02:00
Mikel Martín 7c82ff41a3 MDL-71089 core: Add different Toast notification styling 'types' 2021-04-13 16:29:10 +02:00
Mikel Martín b27cb56296 MDL-71089 theme_boost: Add styles for different toast types 2021-04-13 16:29:10 +02:00
Sara Arjona 933d98cd50 Merge branch 'MDL-71011_311' of https://github.com/stronk7/moodle into MOODLE_311_STABLE 2021-04-13 12:27:00 +02:00
Sara Arjona 09851f5882 Merge branch 'MDL-65983-311' of git://github.com/jleyva/moodle into MOODLE_311_STABLE 2021-04-13 12:19:33 +02:00
Luca Bösch 4a67d78a4c MDL-69874 workshop: Title mentions received assessments in close phase. 2021-04-13 12:03:17 +02:00
Eloy Lafuente (stronk7) 7811d7ace4 on-demand release 3.11dev+ 2021-04-13 10:27:30 +02:00
Eloy Lafuente (stronk7) 9d2bb5eb6b Merge branch 'install_311_STABLE' of https://git.in.moodle.com/amosbot/moodle-install into MOODLE_311_STABLE 2021-04-13 10:27:26 +02:00
Adrian Greeve 6dfbb08b53 Merge branch 'MDL-71161-311-4' of git://github.com/junpataleta/moodle into MOODLE_311_STABLE 2021-04-13 11:41:22 +08:00
Tomo Tsuyuki c12ef07260 MDL-63381 backup: Have an option to import permissions
Add options to use permission settings for import / restore
2021-04-13 13:21:54 +10:00
Adrian Greeve f82793d840 Merge branch 'MDL-70821-311-5' of git://github.com/junpataleta/moodle into MOODLE_311_STABLE 2021-04-13 11:14:08 +08:00
Eloy Lafuente (stronk7) efc8877c21 Merge branch 'MDL-71172-311' of https://github.com/AnupamaSarjoshi/moodle into MOODLE_311_STABLE 2021-04-13 00:47:03 +02:00
Tim Hunt 52acec4989 MDL-71313 repositories: warn if get_instances context is wrong type 2021-04-12 20:32:35 +01:00
Michael Hawkins 5485896773 MDL-71161 mod_workshop: Display activity completion information 2021-04-13 01:25:31 +08:00
Michael Hawkins 51e5c13b4e MDL-71161 mod_wiki: Display activity completion information 2021-04-13 01:25:31 +08:00
Michael Hawkins 10a5c03ff3 MDL-71161 mod_url: Display activity completion information 2021-04-13 01:25:31 +08:00
Simey Lameze 5cc0484e01 MDL-71161 mod_survey: show survey activity info 2021-04-13 01:25:31 +08:00
Michael Hawkins f0d40c213c MDL-71161 mod_scorm: Display activity completion information 2021-04-13 01:25:31 +08:00
Michael Hawkins 2a0f56c0b6 MDL-71161 mod_resource: Display activity completion information 2021-04-13 01:25:31 +08:00
Michael Hawkins 18cb6e2fec MDL-71161 mod_quiz: Display activity completion information 2021-04-13 01:25:31 +08:00
Michael Hawkins 4c0b62f6d6 MDL-71161 mod_page: Display activity completion information 2021-04-13 01:25:31 +08:00
Michael Hawkins fdac35d12a MDL-71161 mod_lti: Display activity completion information 2021-04-13 01:25:30 +08:00
Michael Hawkins 63618f9648 MDL-71161 mod_lesson: Display activity completion information 2021-04-13 01:25:30 +08:00
Jun Pataleta 9d4b978c61 MDL-71161 mod_imscp: Display activity information output component 2021-04-13 01:25:30 +08:00
Jun Pataleta c2e643c77f MDL-71161 mod_h5pactivity: Display activity information output component 2021-04-13 01:25:30 +08:00
Simey Lameze abcbc5eb0c MDL-71161 mod_glossary: show glossary activity info 2021-04-13 01:25:30 +08:00
Simey Lameze 35bd229134 MDL-71161 mod_forum: show forum activity info 2021-04-13 01:25:30 +08:00
Jun Pataleta 1c9896e4fd MDL-71161 mod_folder: Display activity information output component 2021-04-13 01:25:30 +08:00
Simey Lameze ee324bc048 MDL-71161 mod_feedback: show feedback activity info 2021-04-13 01:25:30 +08:00
Simey Lameze d2e13ee385 MDL-71161 mod_data: show database activity info 2021-04-13 01:25:30 +08:00
Jun Pataleta ac6e083f9b MDL-71161 mod_chat: Display activity information output component 2021-04-13 01:25:30 +08:00
Jun Pataleta 04903e987d MDL-71161 mod_book: Display activity information output component 2021-04-13 01:25:30 +08:00
Simey Lameze f256097309 MDL-71161 mod_assign: show assign activity info 2021-04-13 01:25:30 +08:00
Jun Pataleta ff5955a829 MDL-70821 core_completion: Fix completion settings Behat tests 2021-04-13 01:05:01 +08:00
Jun Pataleta c9e92d1f5e MDL-70821 course: Render activity information only when necessary
Render the activity information output component in the course homepage
only if either completion details or activity dates are to be displayed.
This can help reduce the number of files being included when loading the
course homepage (e.g. the activity information template for each
activity in the course homepage).
2021-04-13 01:04:07 +08:00
Eloy Lafuente (stronk7) 9bd0f130ea MDL-71011 adodb: Update readme and thirdpartylibs
Small changes in readme and document the bump in xml
2021-04-12 18:50:59 +02:00
Eloy Lafuente (stronk7) 01c8cb9cda MDL-71011 php80: final private makes no sense, throwing warning
Ref: https://php.watch/versions/8.0/final-private-function#final-private

This applies #712 from upstream libraries.

Unrelated: I've also changed a occurrence of "private final"
by the correct (PSR-12) "final private" in the constructor
(the final&private combination is allowed in constructors)
in lib/classes/event/base.php, because it's the unique case
in core and phpcs was really insisting.
2021-04-12 18:50:59 +02:00
Eloy Lafuente (stronk7) 6baa6f0e25 MDL-71011 adodb: Bump to v5.21.0
Following the instructions @ readme_moodle.txt
2021-04-12 18:50:53 +02:00
Eloy Lafuente (stronk7) 2e13d30c9d Merge branch 'MDL-71064-311' of git://github.com/paulholden/moodle into MOODLE_311_STABLE 2021-04-12 17:36:31 +02:00
Sara Arjona e1b7284e33 Merge branch 'MDL-68716-311' of git://github.com/paulholden/moodle into MOODLE_311_STABLE 2021-04-12 17:24:40 +02:00
Sara Arjona 840a9f43db Merge branch 'MDL-71264_311' of https://github.com/stronk7/moodle into MOODLE_311_STABLE 2021-04-12 16:40:10 +02:00
Sara Arjona eef4dbb5ea Merge branch 'MDL-70595-311' of git://github.com/mickhawkins/moodle into MOODLE_311_STABLE 2021-04-12 16:01:35 +02:00
Sara Arjona 6a0c20aa7a Merge branch 'MDL-71107-11' of git://github.com/aanabit/moodle into MOODLE_311_STABLE 2021-04-12 12:41:09 +02:00
Anupama Sarjoshi 8c2e5b3997 MDL-71172 quiz: Improve quiz Behat tests 2021-04-12 11:37:58 +01:00
Juan Leyva fdb4792293 MDL-65983 airnotifier: Configuration check report 2021-04-12 11:23:40 +02:00
Jake Dallimore 37fcd2554f Merge branch 'MDL-71251-311' of git://github.com/jleyva/moodle into MOODLE_311_STABLE 2021-04-12 14:48:44 +08:00
Adrian Greeve aaf93840d0 Merge branch 'MDL-70821-311-5' of git://github.com/junpataleta/moodle into MOODLE_311_STABLE 2021-04-12 14:44:58 +08:00
Jun Pataleta 24b48fd2e7 MDL-70821 course: Activity information fixes
* Make sure the activity is visible to the user (cm_info::uservisible)
before showing the activity completion information.
* Add to-do status for overridden automatic completion
2021-04-12 12:29:24 +08:00
Jun Pataleta 28a1a56762 MDL-70821 course: Check activity dates on course homepage
* Check the activity dates on the course homepage depending on
  the value of the showactivitydates course setting
* Plus use the new Behat steps for checking activity dates
2021-04-12 12:29:24 +08:00
Jun Pataleta d0f819e165 MDL-70821 course: New Behat steps for activity dates
* activity_date_in_activity_should_contain_text()
  - Checks the presence of the given text in the activity's date info.
* activity_dates_information_in_activity_should_exist()
  - Checks the presence of activity dates information in the activity
    information output component.
* activity_dates_information_in_activity_should_not_exist()
  - Checks the absence of activity dates information in the activity
    information output component.
2021-04-12 12:29:23 +08:00
Jun Pataleta 0da0a3d344 MDL-70821 behat: Use new activity completion steps for Behat tests
Replace usages of completion Behat steps that check for the completion
checkboxes with the new activity completion Behat steps.
2021-04-12 12:29:23 +08:00
Jun Pataleta bfedbc37c5 MDL-70821 completion: New Behat steps for activity completion
* activity_completion_condition_displayed_as()
  - Shows the status of an automatic completion condition for a given
    activity
* activity_should_have_the_completion_condition()
  - Checks that the activity displays the given completion condition
* manual_completion_button_displayed_as()
  - Shows the status of the manual completion button for a given
    activity
* the_manual_completion_button_for_activity_should_be_disabled()
  - Checks that the manual completion button for the given activity is
    disabled.
* there_should_be_no_completion_for_activity()
  - Checks that the activity does not show completion information
* toggle_the_manual_completion_state()
  - Toggles the manual completion button's state for a given activity
* overridden_manual_completion_button_displayed_as()
  - Checks the manual completion state of an activity.
* overridden_activity_completion_condition_displayed_as()
  - Checks if the activity with specified name is maked as complete.
2021-04-12 12:29:23 +08:00
Jun Pataleta b8afe46573 MDL-70821 course: activity_information template changes
* Add activity name for completion conditions labels. This would give
  better information to screen reader users the activity that the list
  of automatic completion conditions belong to. This would be useful
  especially when the completion conditions are displayed on the course
  homepage.
* Add data-region attributes to activity dates and completion
  information divs.
* Reorganise activity dates and completion information divs so they
  are only rendered when they have data to show.
2021-04-12 12:29:23 +08:00
Jun Pataleta 9f8a137211 MDL-70821 course: Remove old manual completion toggling
Remove the old ways of toggling manual completion via completion.js
and the ajax part of togglecompletion.php.
2021-04-12 12:29:23 +08:00
Jun Pataleta 6163123c8e MDL-70821 course: Deprecate course_section_cm_completion()
Deprecate \core_course_renderer::course_section_cm_completion(). It is
not being used anymore and is being replaced by
\core_renderer::activity_information().
2021-04-12 12:29:23 +08:00
Jun Pataleta b37b5e992d MDL-70821 course: Cover availability conditions for manual completion
When an activity has manual completion tracking, pressing the manual
completion checkbox reloads the page after toggling the completion
state when the activity is linked to availability conditions.
The "Mark as done" button needs to mimic this behaviour as well.

The approach being taken here is to add a core_course/view JS module
for the course homepage which listens for the manualCompletionToggled
event and reloads the page when the activity module has availability
conditions tied to it.

Perhaps for future development, instead of reloading the page, the
container of the restricted course sections/activities can reloaded via
AJAX as well.
2021-04-12 12:29:23 +08:00
Jun Pataleta 41d9edf9d5 MDL-70821 course: Create manualCompletionToggled event
Add a new "manualCompletionToggled" course event and dispatch this
when the manual completion state for an activity is toggled.
2021-04-12 12:29:23 +08:00
Jun Pataleta 9ec5602f7b MDL-70821 course: Render activity information output component in course
Includes fixup from Shamim Rezaie <shamim@moodle.com>
2021-04-12 12:29:23 +08:00
Eloy Lafuente (stronk7) 61004c89af Merge branch 'MDL-69102-311' of https://github.com/martygilbert/moodle into MOODLE_311_STABLE 2021-04-12 00:01:54 +02:00
Eloy Lafuente (stronk7) ecc8fc3974 MDL-69102 phpunit: Add test to cover ALL cohort criteria
That way we can check that the expectations are
working ok for every database. Previously only the
ANY case was being tested.

Also, convert them to course badges and check, via
review_all_criteria() that the SQL structures returned
by award_criteria_cohort->get_completed_criteria_sql()
doesn't fail and return the expected counters.
2021-04-10 12:39:45 -04:00
Marty Gilbert e4fabe4ae8 MDL-69102 badge: Fixes broken WHERE clause
When buildilng the 'WHERE' clause, the SQL generated
a query that selected any user who was a member of the
**last** group, not all of the groups.

I believe the query has to be re-worked so that it only
returns users who are in ALL of the groups. This can
be done by a GROUP BY and HAVING.
2021-04-10 12:26:16 -04:00
Issam Taboubi f3499b80c6 MDL-71303 core: HTML not escaped in block skip link 2021-04-09 17:27:51 -04:00
Mahmoud Kassaei 87a1a3ebed MDL-71205 Default options for qtype_numerical 2021-04-09 18:33:02 +01:00
Juan Leyva 5327284deb MDL-71251 qtype_essay: Return new min/max word limit settings via WS
Those settings are required by external clients such as the Moodle App
2021-04-09 17:16:23 +02:00
Dan Marsden 7e7b6daddf MDL-32226 plagiarism: add span around links.
Make it easier for Mobile app to parse.
2021-04-09 12:03:31 +02:00
AMOS bot 4a1a97ed78 Automatically generated installer lang files 2021-04-09 00:07:35 +00:00
Víctor Déniz f8f9911cbd Merge branch 'MDL-70769-311' of https://github.com/sharidas/moodle into MOODLE_311_STABLE 2021-04-09 00:54:45 +01:00
Eric Merrill c88ad5c182 MDL-52724 editor_atto: Scrub atto html for invalid ol, ul, and li tags
Try to correct broken ul/ol/li tags, as they have an outsized impact
on course layout. Uses basic regex and loops to track open and closed
tags.

Also adds a deep clean option to the HTML cleaner, that runs less
frequent, more intensive cleanings. This is because normally _cleanHTML
gets called after each keystroke, which could cause problems with
large content on weak systems.

Behat changes are a fix for setting multiline strings in Atto, and
creating a multiline match step.
2021-04-08 15:26:55 -04:00
Eloy Lafuente (stronk7) c1e84df96f Merge branch 'MDL-70802-311' of git://github.com/andrewnicols/moodle into MOODLE_311_STABLE 2021-04-08 18:34:10 +02:00
Sara Arjona 586814d928 Merge branch 'MDL-65616-311' of git://github.com/paulholden/moodle into MOODLE_311_STABLE 2021-04-08 17:46:05 +02:00
Eloy Lafuente (stronk7) 919943b742 Merge branch 'm311_MDL_32226' of https://github.com/danmarsden/moodle into MOODLE_311_STABLE 2021-04-08 17:30:33 +02:00
Víctor Déniz 33aaac019c Merge branch 'MDL-71116-311' of git://github.com/sarjona/moodle into MOODLE_311_STABLE 2021-04-08 01:05:06 +01:00
Víctor Déniz e48f35e850 Merge branch 'MDL-71178-311' of git://github.com/junpataleta/moodle into MOODLE_311_STABLE 2021-04-07 16:09:51 +01:00
Amaia Anabitarte 13d89cdcb5 MDL-71107 core_contentbank: Behat test. Authoring when copying a course 2021-04-07 10:03:38 +02:00
Amaia Anabitarte 78a10f1724 MDL-71107 core_contentbank: Fill content author when copying a course
'usercreated' and 'usermodified' fields can not be always mapped.
We are filling those fields with 'old' users when working on the same
site, or with current user when working on a different instance.
2021-04-07 10:03:38 +02:00
Adrian Greeve 8d638989f1 Merge branch 'MDL-70935-311-4' of git://github.com/mickhawkins/moodle into MOODLE_311_STABLE 2021-04-07 15:40:28 +08:00
Shamim Rezaie 26856f48fa MDL-70935 mod_quiz: Custom completion implementation 2021-04-07 15:12:34 +08:00
Shamim Rezaie e5ac4fd1d9 MDL-70935 mod_quiz: combine 'pass' and 'attemptsexhausted' rules
Custom rules are combined using the AND operator. However, the
'completionpass' and 'completionattemptsexhausted' rules are exceptions
because they are combined together with OR, and form a single new rule
that then will be combined with the rest of the rules using AND.
This commit combines the mentioned rules into a single rule named
'completionpassorattemptsexhausted'.
2021-04-07 15:12:34 +08:00
Shamim Rezaie 1ef67caf2c MDL-70935 mod_quiz: Missing completionminattempts rule description
The mod_quiz_get_completion_active_rule_descriptions() function was not
returning the description for the 'completionminattempts' rule. Added
that.
2021-04-07 15:12:34 +08:00
Michael Hawkins d938c0f299 MDL-70935 mod_scorm: Custom completion implementation 2021-04-07 15:12:34 +08:00
Michael Hawkins 7d594cb0d3 MDL-70935 mod_lesson: Custom completion implementation 2021-04-07 15:12:34 +08:00
Peter Burnett 49e201b592 MDL-70233 cache: Disabled factory now gets writer from parent 2021-04-07 15:33:07 +10:00
Adrian Greeve a0f778a5bf Merge branch 'MDL-70820-311' of git://github.com/lameze/moodle into MOODLE_311_STABLE 2021-04-07 13:25:24 +08:00
Simey Lameze 0484b4b91a MDL-70820 mod_forum: custom completion implementation 2021-04-07 12:18:16 +08:00
Simey Lameze 62c7ce69de MDL-70820 mod_glossary: custom completion implementation 2021-04-07 12:18:16 +08:00
Simey Lameze 58a575c5f2 MDL-70820 mod_assign: custom completion implementation 2021-04-07 12:18:16 +08:00
Simey Lameze 3429235bc6 MDL-70820 mod_data: custom completion implementation 2021-04-07 12:18:16 +08:00
Simey Lameze 716ba1224b MDL-70820 mod_feedback: custom completion implementation 2021-04-07 12:18:16 +08:00
Simey Lameze 8a578bad20 MDL-70820 mod_survey: custom completion implementation 2021-04-07 12:18:16 +08:00
Alex Rowe 69a8d5043e MDL-70049 assign: count_submissions_need_grading call when can't grade 2021-04-07 08:57:36 +10:00
Eloy Lafuente (stronk7) 947512995e Merge branch 'MDL-68635-311' of https://github.com/paulholden/moodle into MOODLE_311_STABLE 2021-04-06 22:23:26 +02:00
Víctor Déniz 033c5fd4ff Merge branch 'MDL-71128-311' of git://github.com/paulholden/moodle into MOODLE_311_STABLE 2021-04-06 19:50:54 +01:00
Eloy Lafuente (stronk7) 66dbfadd2d MDL-71264 behat: Change date(time) element update order
This includes 2 change to the order date(time) elements are filled,
each one addressing one type of problem, where current order is
problematic and can lead to unexpected dates.

1) Changing date, when current month only has X days and target
   month has more than X days. Example, being 1 April, change
   the date to 31 May.
     This is solved by changing the order of introduction
     from current D => M => Y to Y => M => D.
2) Changing date, when target month only has X days and current
   month has more that X days. Example, being 31 March, change
   the date to 28 Feb.
     This is solved by always setting the D to 1, before the
     Y => M => D sequence commented @ 1) begins.
2021-04-06 16:25:49 +02:00
Eloy Lafuente (stronk7) 42200cfd95 MDL-71264 behat: New feature covering all day/month/year date changes
Because of the order that dates and datetimes are filled by behat
sometimes there are some intermediate results that are impossible
and then the form (javascript) automatically reacts and fixes the
date, ultimate leading to a different date that the one we wanted
to set with Behat.

This is noticeable when switching between months (with some day
being the last day of the month) and the 2 months have a different
number of days. For example April date => March date (or the opposite).

This test covers all the critical changes (day, month and year),
back and forth. All times are Perth/Australia.
2021-04-06 16:25:49 +02:00
Sara Arjona 89cab88a3a on-demand release 3.11dev+ 2021-04-06 15:30:53 +02:00
Sara Arjona 26e3915793 Merge branch 'install_311_STABLE' of https://git.in.moodle.com/amosbot/moodle-install into MOODLE_311_STABLE 2021-04-06 15:30:51 +02:00
sam marshall fdcb789242 MDL-71215 Acceptance test: Missing Behat for webservice service_users 2021-04-06 15:18:01 +02:00
Adrian Greeve e7022adf8f Merge branch 'MDL-70817-311' of git://github.com/abgreeve/moodle into MOODLE_311_STABLE 2021-04-06 16:36:25 +08:00
Adrian Greeve 285011017c MDL-70817 lib: Update the install xml file to use the correct length.
The showactivitydates field had the wrong length of 4. This changes
it to 1.
2021-04-06 15:24:00 +08:00
Michael Hawkins 0adce7c350 MDL-70595 core: Updated security.txt expiry 2021-04-06 13:13:31 +08:00
Adrian Greeve 4025e4d726 Merge branch 'MDL-70817-311-8' of git://github.com/junpataleta/moodle into MOODLE_311_STABLE 2021-04-06 12:55:32 +08:00
AMOS bot 14eb59b52b Automatically generated installer lang files 2021-04-06 00:07:41 +00:00
Paul Holden c3b4e76768 MDL-70099 enrol: increase accuracy of current enrolments by date.
By rounding the current time it was possible that the most recently
created user enrolments (e.g. self enrolments) were being excluded.

This would manifest itself in a user being enrolled on a course,
but it not appearing under "My courses" navigation or on their own
Dashboard until the rounded time had caught up with the current
time.
2021-04-05 19:32:25 +01:00
Paul Holden 28da12e05c MDL-71003 user: fix alignment of autocomplete participant filters. 2021-04-04 23:21:20 +01:00
Paul Holden 998ac6ac22 MDL-70917 tool_behat: fix profile/replace option comparison.
The `isset` call always returned true for the 'replace' option,
because even if not specified it receives a non-null value. The
`strpos` call now does a strict equality check rather than
greater-than-or-equal (which always returns true).
2021-04-04 23:18:30 +01:00
Paul Holden 969114e23d MDL-70763 core: export preferences for correct user.
Ensure we are using the ID of the given user rather than falling
back to that of the current user during privacy export.
2021-04-04 23:15:34 +01:00
Paul Holden 0747f473fb MDL-70763 quiz_overview: export preferences for correct user. 2021-04-04 23:15:34 +01:00
Paul Holden 95aa0b1802 MDL-70763 gradereport_grader: export preferences for correct user. 2021-04-04 23:15:34 +01:00
Paul Holden 7365786853 MDL-66475 task: fix random timing failures in logger cleanup test. 2021-04-04 23:12:49 +01:00
sam marshall 200d01b08e MDL-71215 core_user: User fields - remaining deprecated functions
This change removes references in code and comments to a few
deprecated functions that were accidentally missed in the larger
change.

The code changes only affect service_users.php. I made it support
custom user profile fields in this query, because it was easy
enough, rather than adding another TODO to fix later.
2021-04-04 15:50:47 +02:00
AMOS bot 3c466df88f Automatically generated installer lang files 2021-04-04 00:07:37 +00:00
Jun Pataleta 25ebbe21f0 MDL-70817 admin: Remove heading for showcompletionconditions
It should be under the "Completion tracking" subheading just like in
the course form.
2021-04-02 21:56:22 +08:00
Simey Lameze 5d1e66df65 MDL-70781 completion: behat coverage for new setting
Part of MDL-70817
2021-04-02 21:56:22 +08:00
Simey Lameze 94a8b91cd3 MDL-70781 course: setting for displaying completion conditions
Part of MDL-70817
2021-04-02 21:56:22 +08:00
Simey Lameze 79622a47c8 MDL-70782 course: behat coverage for new setting
Part of MDL-70817
2021-04-02 21:56:22 +08:00
Simey Lameze 8b47f16926 MDL-70782 course: add setting to show activity dates
Part of MDL-70817
2021-04-02 21:56:22 +08:00
Jun Pataleta 437b0ff331 MDL-70817 mod_choice: Behat tests for the activity completion info 2021-04-02 21:56:22 +08:00
Jun Pataleta dcba388e03 MDL-70817 mod_choice: Show choice activity info 2021-04-02 21:56:22 +08:00
Jun Pataleta cafe2f95ee MDL-70817 core_course: Create an activity information output component
The activity information output component displays information about
an activity module that can contain:
1. Activity dates
2. Completion information
   a. A manual completion button; or
   b. A list of automatic completion conditions and their statuses.

This patch also includes a new JS module called
core_course/manual_completion_toggle for toggling the
completion state of activities that support manual completion.
2021-04-02 21:56:22 +08:00
Jun Pataleta a1b3596cb8 MDL-70817 core_course: Add manual completion toggle to repository
Add the functionality of toggling the completion state of an
activity with manual completion to the core_course/repository
JS module.
2021-04-02 21:56:22 +08:00
Jun Pataleta 0d0d2db661 MDL-70817 core_course: Convert core_course/repository to ES6 2021-04-02 21:56:22 +08:00
Jun Pataleta 90e30c02cb MDL-70817 core: Allow the manual completion update WS function for AJAX
Allow the core_completion_update_activity_completion_status_manually
web service function to be called from AJAX as well. This is needed
by the new manual completion toggle button in the
core_course/completion_manual template.
2021-04-02 21:56:22 +08:00
Jun Pataleta 430d25d96f MDL-70817 core_completion: Unit tests for cm_completion_details 2021-04-02 21:56:22 +08:00
Jun Pataleta 34a690634d MDL-70817 core_completion: Course module completion details
* Class cm_completion_details builds the custom completion details
for an activity module.
2021-04-02 21:56:22 +08:00
AMOS bot b048ee4925 Automatically generated installer lang files 2021-04-02 00:07:28 +00:00
Alison Blomenberg 672ba41c1c MDL-62244 Resource: label view redirects to label, not course 2021-04-01 11:55:13 -06:00
Jess Ansell 77688321a6 MDL-71012 setup: Return 500 error code for setup errors. 2021-04-01 13:50:52 +01:00
Leon Stringer 092d278806 MDL-60490 tool_lp: Missing div close
Mustache template had opening <div> with missing </div>.
2021-04-01 12:18:52 +01:00
sam marshall 8d9fe81a12 MDL-70446 search_solr: File indexing can fail due to multipart upload
Due to Solr bug SOLR-15039, uploading files for indexing can fail if
it uses multipart upload. This changes it to use direct binary upload.

Unfortunately, the direct binary version in PHP curl only supports a
string, so we have to load the file into memory. I added extra code to
restrict the size of files indexed to (memory limit - 100MB), which is
usually 284MB unless configured differently because cron runs under
MEMORY_EXTRA.
2021-04-01 11:20:28 +01:00
Mikhail Golenkov 8660e9a168 MDL-71254 oauth2: Redirect to the login page in case of error 2021-04-01 13:37:53 +11:00
AMOS bot 4c9a2e4aa0 Automatically generated installer lang files 2021-04-01 00:07:30 +00:00
Jun Pataleta 74cef5e157 MDL-71178 completion: Rebuild course cache before completion reset
Before resetting completion states during module update, we need to
rebuild the course cache first in order to properly reset the completion
states. Otherwise, calls to methods that fetch course module info
via cache (e.g. cm_info::create()) will fetch outdated information.
2021-04-01 00:47:08 +08:00
Juan Leyva 5cfb30aa97 MDL-70863 mod_forum: Allow NULL in timecreated 2021-03-31 17:55:04 +02:00
Jun Pataleta 8eb16699ed Merge branch 'MDL-70895_311' of https://github.com/mkassaei/moodle into MOODLE_311_STABLE 2021-03-31 21:26:33 +08:00
Mahmoud Kassaei 75614af822 MDL-70895 Questions: Default options when creating a question 2021-03-31 09:23:42 +01:00
Adrian Greeve 68964e7823 Merge branch 'MDL-37655_311' of https://github.com/stronk7/moodle into MOODLE_311_STABLE 2021-03-31 15:46:20 +08:00
Eloy Lafuente (stronk7) d1c41b4dbb MDL-37655 phpunit: Avoid having multiple testcase classes in 1 file
Note that there wasn't any case of multiple testcase classes in
1 file. All the cases reported in the issue were false positives
caused but other "mock/fixture" files being named _test.

So all this issue does is:

1) rename any _test suffixed class in test files, because we are
   going to start renaming a lot of test classes to _test.

2) ensure that the 2 test case classes modified in this issue,
   are already observing the filename = classname rule that will
   be implemented soon (and verigy it works).
2021-03-30 19:17:59 +02:00
Víctor Déniz 3c5a338cd4 on-demand release 3.11dev+ 2021-03-30 15:39:41 +01:00
Víctor Déniz 2cb1f59249 Merge branch 'install_311_STABLE' of https://git.in.moodle.com/amosbot/moodle-install into MOODLE_311_STABLE 2021-03-30 15:39:34 +01:00
Paul Holden 22d928d0bb MDL-65687 message: increase confirmation dialog zindex.
Make sure that confirmation dialogs (such as block/unblock user,
delete conversation) are shown with prominence in the messaging
drawer.
2021-03-30 10:50:40 +01:00
Tomo Tsuyuki cf176f2a7f MDL-71136 backup: Fix moodle_exception path. 2021-03-30 10:56:30 +11:00
Mikhail Golenkov 0b4161c14d MDL-71233 backup: Fix Moodle version for MDL-69418 2021-03-30 10:43:53 +11:00
Paul Holden 6dfbe60b9c MDL-68635 tool_cohortroles: observe user initial table filter. 2021-03-29 14:12:29 +01:00
Paul Holden 81900d5e57 MDL-68716 mod_forum: extra column sorting options in privacy export.
Accounts for extra sort options that were added in bc23cbaf.
2021-03-29 14:05:49 +01:00
Eloy Lafuente (stronk7) d24a83f5e7 Merge branch 'MDL-70963-311' of git://github.com/sarjona/moodle into MOODLE_311_STABLE 2021-03-29 12:39:49 +02:00
Sara Arjona c2c04214bb MDL-70963 core_badges: Use expected JSON format for OBv2.1
This patch adds some changes to guarantee that OpenBadges 2.1 (OBv2.1)
will return always the same JSON format that OBv2.0 (because the only
difference between both versions it's the BadgeConnect API).
2021-03-29 10:03:15 +02:00
Andrew Nicols d940eabc2c Merge branch 'MDL-70962-311' of git://github.com/paulholden/moodle into MOODLE_311_STABLE 2021-03-29 11:58:54 +08:00
Andrew Nicols 3815071676 Merge branch 'MDL-71004_311' of https://github.com/stronk7/moodle into MOODLE_311_STABLE 2021-03-29 11:54:13 +08:00
AMOS bot a557cc3998 Automatically generated installer lang files 2021-03-29 00:07:28 +00:00
Eloy Lafuente (stronk7) 859a5589b2 Merge branch 'MDL-68496-311' of git://github.com/andrewnicols/moodle into MOODLE_311_STABLE 2021-03-28 23:48:26 +02:00
Eloy Lafuente (stronk7) 0bbf27a673 Merge branch 'MDL-71131-m311' of https://github.com/sammarshallou/moodle into MOODLE_311_STABLE 2021-03-28 23:21:45 +02:00
AMOS bot fdbf5546bb Automatically generated installer lang files 2021-03-28 00:07:26 +00:00
Eloy Lafuente (stronk7) b56163cbc1 Merge branch 'MDL-71099-m311' of https://github.com/sammarshallou/moodle into MOODLE_311_STABLE 2021-03-27 10:17:51 +01:00
Dan Marsden ab69e730bd MDL-32226 mod_quiz: Add Plagiarism hooks to quiz and essay question. 2021-03-27 09:15:09 +13:00
Víctor Déniz baa15131af Merge branch 'MDL-70537-m311' of https://github.com/sammarshallou/moodle into MOODLE_311_STABLE 2021-03-26 20:14:49 +00:00
Paul Holden 8576829c9b MDL-70142 admin: preserve selected cache definitions in the form.
By not redirecting when we are already on the purge caches page we
can preserve the submitted form data, allowing users to easily
repeat the previous action.
2021-03-26 13:09:24 +00:00
Sara Arjona a2e48a4645 MDL-70722 oauth2: move Nextcloud methods to service class 2021-03-26 09:21:11 +01:00
Sara Arjona ab810ed1f6 MDL-70722 oauth2: move Microsoft methods to service class 2021-03-26 09:21:11 +01:00
Sara Arjona a6c03da192 MDL-70722 oauth2: move Facebook methods to service class 2021-03-26 09:21:11 +01:00
Sara Arjona faef24307f MDL-70722 core_badges: minor fixes from MDL-70689
In MDL-70689, Eloy and Helen suggested some fixes to improve this patch.
As this is a followup issue to move the pending services, this
very first commit will fix pending things raised in the parent issue.
2021-03-26 09:21:11 +01:00
Shintaro Fujiwara e271fd3a79 MDL-69304 gradeimport_csv: Validate if the user id is numerical. 2021-03-26 10:35:51 +09:00
Paul Holden 35efccacee MDL-70962 forms: catch modal exceptions when getting body content.
They are thrown in the following circumstances:

 * The dynamic form class doesn't exist;
 * It does exist but it's `check_access` method throws exception

Co-Authored-By: Andrew Nicols <andrew@nicols.co.uk>
2021-03-25 17:26:33 +00:00
Víctor Déniz 67943be4af Merge branch 'MDL-71194-311' of git://github.com/NoelDeMartin/moodle into MOODLE_311_STABLE 2021-03-25 15:13:50 +00:00
sam marshall 3c688fd9cb MDL-71131 Admin: Users page incorrectly showing all name fields 2021-03-25 13:50:08 +00:00
sam marshall 3dee5cd74c MDL-71099 Lib: Move new user_fields class from core to core_user
This class would belong more appropriately within the 'user' API
(core_user) instead of within the 'core' API, since it is
directly related to user data.

Since the class has only just been added to Moodle, now is a good
time to move it.
2021-03-25 13:48:04 +00:00
Víctor Déniz a4a5863645 Merge branch 'MDL-70842_311_v3' of https://github.com/TomoTsuyuki/moodle into MOODLE_311_STABLE 2021-03-25 12:59:09 +00:00
Noel De Martin c846c46e4e MDL-71194 behat: Fix app tests 2021-03-25 13:52:41 +01:00
Andrew Nicols 7ad0fea3b8 Merge branch 'MDL-70318-311' of https://github.com/ilyatregubov/moodle into MOODLE_311_STABLE 2021-03-25 12:31:44 +08:00
Andrew Nicols 4c9a7df3fb Merge branch 'MDL-65776-311' of git://github.com/sarjona/moodle into MOODLE_311_STABLE 2021-03-25 11:07:24 +08:00
Andrew Nicols dc6079cd39 Merge branch 'MDL-70871-311' of git://github.com/roland04/moodle into MOODLE_311_STABLE 2021-03-25 08:12:08 +08:00
AMOS bot 6c6c6c37af Automatically generated installer lang files 2021-03-25 00:07:31 +00:00
Andrew Nicols 66a719d48f Merge branch 'MDL-70980-311' of git://github.com/ferranrecio/moodle into MOODLE_311_STABLE 2021-03-25 08:06:47 +08:00
Brendan Heywood 67fcd43d15 MDL-67882 message: Add notification setting changes to config_log 2021-03-25 10:37:16 +11:00
Eloy Lafuente (stronk7) 42484d7ae8 MDL-71004 git: Ignore moodle-plugin-ci.phar in any directory 2021-03-24 20:10:29 +01:00
Víctor Déniz c54de9bec2 weekly release 3.11dev 2021-03-24 14:20:41 +00:00
Víctor Déniz 3c3f39d5b8 Merge branch 'MDL-71149_311' of https://github.com/stronk7/moodle into MOODLE_311_STABLE 2021-03-24 13:36:32 +00:00
Eloy Lafuente (stronk7) a771fddb27 Merge branch 'MDL-71182-311-2' of git://github.com/lameze/moodle into MOODLE_311_STABLE 2021-03-24 10:49:32 +01:00
Tim Hunt 8b7aefc1a1 MDL-70269 ClamAV: make retry the default option on failure 2021-03-24 09:35:38 +00:00
Simey Lameze 5efbb6402b MDL-71182 calendar: add logic for category events in get_context
This commit adds the missing logic for category events in
get_context() method. Without this fix, users will get errors
if they have category events with userid set to 0.
2021-03-24 17:33:50 +08:00
Tomo Tsuyuki 35892aedce MDL-70842 mod_assign: Add more cases to add file to archive 2021-03-24 16:02:02 +11:00
Andrew Nicols e36710af52 MDL-70802 javascript: Normalise component consistently in templates 2021-03-24 11:18:33 +08:00
Simey Lameze 41cbdeccab MDL-71182 calendar: Revert "Merge branch 'MDL-67494-311' of git://github.com/lameze/moodle into MOODLE_311_STABLE"
This reverts commit 9f5794834e, reversing
changes made to d30b045210.
2021-03-24 09:18:16 +08:00
Víctor Déniz 7fb15daff2 Merge branch 'MDL-71022-311' of git://github.com/paulholden/moodle into MOODLE_311_STABLE 2021-03-23 23:01:00 +00:00
Dan Marsden b5070635c1 MDL-71174 core: Improve phpdoc for plagiarism_update_status 2021-03-24 11:41:47 +13:00
Víctor Déniz f33dec405a Merge branch 'MDL-70727-311' of https://github.com/NashTechOpenUniversity/moodle into MOODLE_311_STABLE 2021-03-23 18:23:32 +00:00
Charlotte Peachey 32eec4b0f5 MDL-71181 Quiz: Pass grade not displayed on front page 2021-03-23 16:48:02 +00:00
Mikel Martín 75627cc770 MDL-70871 user: Move 'Show all X' functionality to dynamic_table 2021-03-23 09:57:52 +01:00
Mikel Martín 96668b7c35 MDL-70871 table: Add 'Show all X' functionality to dynamic_table 2021-03-23 09:57:52 +01:00
Paul Holden a071252a05 MDL-71090 tool_dataprivacy: convert cancellation of requests to ES6. 2021-03-23 08:49:15 +00:00
Paul Holden 2eee07daa4 MDL-71090 tool_dataprivacy: convert contact DPO to modal forms. 2021-03-23 08:49:15 +00:00
Travis CI 5a3e84a5a2 Merge branch 'MDL-69792-311' of git://github.com/sarjona/moodle into MOODLE_311_STABLE 2021-03-23 13:55:09 +08:00
Travis CI 474a3cecfe Merge branch 'MDL-71104-311-2' of git://github.com/mickhawkins/moodle into MOODLE_311_STABLE 2021-03-23 13:47:02 +08:00
Michael Hawkins e9b94ceb74 MDL-71104 core_completion: Fix fetching of grade completion status
We should be able to fetch the grade completion status for modules
that do not have custom completion configured. This also improves
unit testing coverage.
2021-03-23 12:49:30 +08:00
Jun Pataleta 2323a27150 MDL-71104 completion: Fix completion_info::get_data() unit tests
* Fixed inverted $sameuser test data.
* Fixed caching expectation check. Caching only relies on whether the
user accessing the completion data is the same user or not.
* Fixed checking for the caching of other modules. Should have been
checking cm ID and not instance ID.
* Additional test case when whole course parameter is passed as
true, but the requesting user is different from the target user.
2021-03-23 12:49:30 +08:00
Thinh Pham 746e349524 MDL-71087 File picker: Focus lost after 'Create folder' 2021-03-23 10:47:33 +07:00
Andrew Nicols fa58d33b66 Merge branch 'MDL-71039-311' of git://github.com/marinaglancy/moodle into MOODLE_311_STABLE 2021-03-23 11:18:24 +08:00
Andrew Nicols 13fcc7c4a6 Merge branch 'MDL-70313-311' of git://github.com/peterRd/moodle into MOODLE_311_STABLE 2021-03-23 10:00:19 +08:00
Andrew Nicols 93ad6a244e Merge branch 'MDL-69036-311' of git://github.com/paulholden/moodle into MOODLE_311_STABLE 2021-03-23 09:52:02 +08:00
Andrew Nicols 3488ff7aab Merge branch 'MDL-67870-311' of git://github.com/mihailges/moodle into MOODLE_311_STABLE 2021-03-23 09:24:41 +08:00
Andrew Nicols f0b3a74482 MDL-69256 tests: Fix random slow test failures in completion cron 2021-03-23 08:08:20 +08:00
David Mudrák 4983142e5a MDL-71169 external: Do not explicitly specify the default methodname 2021-03-22 15:49:59 +01:00
David Mudrák 9da861ea63 MDL-71169 external: Use execute as the default external method name
If the 'methodname' is not explicitly specified in db/services.php,
expect it to be 'execute'.
2021-03-22 15:35:52 +01:00
Mark Nelson e4453923aa MDL-71170 customfield_text: use correct error string 2021-03-22 21:56:35 +08:00
Sara Arjona eb813c0b95 MDL-69415 core_h5p: prepend H5P libraries in autoloader
Core and mod_hvp are using the same namespace for some H5P
libraries. This is causing some random errors.
In order to get the expected behaviour in Moodle core, this patch
prepends H5P libraries in order to guarantee they are loaded first.
Plugins using same libraries will need to use a different namespace
if they overlap and a different version of these libraries should
be used.
2021-03-22 12:40:56 +01:00
Ferran Recio d2591bd149 MDL-70980 mod_h5pactivity: fix review mode 2021-03-22 10:57:57 +01:00
Mihail Geshoski 66f592e71b MDL-67870 backup: Skip value change if setting is locked by hierarchy
The given condition in the if statement did not take into account cases
when the setting is locked by hierarchy. Settings which are locked by
hierarchy should should keep their current values which were inherited
from the parent.
2021-03-22 15:33:39 +08:00
Andrew Nicols bd12ca2001 MDL-68496 Grunt: Stylelint should only lint relevant component files
Prior to this change the Grunt stylelint command was too greedy when
determining which files hsould be linted.

This change modifies the watch command to only watch relevant files and
subdirectories of each component directories. This means that unrelated
CSS and SCSS files are no longer watched for changes, and has the added
benefit of significantly increaseing the startup speed of grunt.

Without this patch applied the watch tasks were checking for matches in
the node_modules, and vendor directories.
2021-03-22 15:18:47 +08:00
Andrew Nicols 608852f3a0 Merge branch 'MDL-70816-311-4' of git://github.com/rezaies/moodle into MOODLE_311_STABLE 2021-03-22 13:33:48 +08:00
Shamim Rezaie 0a2c40f76e MDL-70816 mod_choice: activity_dates implementation 2021-03-22 16:19:03 +11:00
Shamim Rezaie 7c16ba2fa4 MDL-70816 core: Activity date details base class
* Base class for fetching an activity module's important date for a user
2021-03-22 16:19:02 +11:00
Andrew Nicols eee0b6865c MDL-71159 output: Do not run content prefetch during install 2021-03-22 13:15:26 +08:00
Andrew Nicols 76b7da2e9f Merge branch 'MDL-71139-311-trademark' of git://github.com/mudrd8mz/moodle into MOODLE_311_STABLE 2021-03-22 12:00:08 +08:00
Andrew Nicols 9882503572 Merge branch 'MDL-70919-311' of git://github.com/marinaglancy/moodle into MOODLE_311_STABLE 2021-03-22 07:48:42 +08:00
Eloy Lafuente (stronk7) 0fc17af158 MDL-71149 install: update the list of stale files for 3.11 2021-03-19 17:31:11 +01:00
Sara Arjona e2585ce116 MDL-65776 libraries: Set moodle files after jsbeautify upgrade 2021-03-19 15:23:06 +01:00
Sara Arjona ec602cf244 MDL-65776 libraries: Upgrade jsbeautify to 1.13 2021-03-19 15:23:05 +01:00
Sara Arjona 1517765cca MDL-69792 core_badges: deprecated backpack.js and BADGE_BACKPACKURL
Final deprecation for constant BADGE_BACKPACKURL (it has been removed)
and badges/backpack.js file (it has been removed too).
Besides, some methods have started the deprecation process too:
 - badges_check_backpack_accessibility
 - badges_setup_backpack_js()
 - badges_local_backpack_js()

Apart from that, string 'addbackpack' has been deprecated here
because it's not used anywhere.
2021-03-19 15:14:09 +01:00
Sara Arjona 66efa30293 MDL-71116 core_badges: Backpack URLs with more than 50 chars
Backpack URLs (web and API) can have up to 255. However, the form
for creating/editing them, doesn't allow URLs with more than 50
characters. This patch align limitation to DB value (255).
2021-03-19 15:09:02 +01:00
Eloy Lafuente (stronk7) c1db56b501 weekly release 3.11dev 2021-03-19 14:06:25 +01:00
Eloy Lafuente (stronk7) b120dc8a92 NOBUG: Fixed file access permissions 2021-03-19 14:06:25 +01:00
Eloy Lafuente (stronk7) c67cafdd64 Merge branch 'install_311_STABLE' of https://git.in.moodle.com/amosbot/moodle-install into MOODLE_311_STABLE 2021-03-19 14:06:21 +01:00
Ilya Tregubov c8edf4e5c8 MDL-70318 core: Moodle customisations. 2021-03-19 10:19:33 +02:00
Ilya Tregubov 62d1082bab MDL-70318 core: Upgrade CFPropertyList to 2.0.2. 2021-03-19 10:19:33 +02:00
Andrew Nicols 5394aac8db MDL-68496 grunt: Restructure grunt tasks into subdirectories
Prior to this change all Grunt features were in a single Gruntfile.js
but this has become difficult to manage and maintain.

This commit moves the existing dependencies for component calculation
and babel moduel definition into a new .grunt directory, and
restructures the existing tasks in Gruntfile.js into separate task
configuration files.

This improves the maintainability of the Grunt build system and allows
for easier future expansion.
2021-03-19 12:55:35 +08:00
sam marshall 45844a161c MDL-70537 Availability: Avoid recursive calls to $cm->name
These recursive calls didn't work in PHP 7.3 and below, but in PHP
7.4 they also cause a fatal error which means if you have invalid
availability data, the whole page might die.
2021-03-18 15:55:31 +00:00
Marina Glancy f878850277 MDL-70919 core_form: non-static method can not be called statically 2021-03-18 12:16:12 +01:00
Sujith Haridasan 2b0302d68f MDL-70769 libraries: Upgrade mimetex to 1.77 version
Upgrade mimetex to version 1.77. The steps followed
remained the same described in readme_moodle.txt.
This time we have made support for 64 bit architecture.
Hence all the binaries created now work with 64 bit only.
Following are the binaries which are upgraded:
1. Linux
2. Arm(aarch64)
3. Windows(exe)
4. Freebsd
5. Mac(darwin)

Signed-off-by: Sujith Haridasan <sujith@moodle.com>
2021-03-18 16:34:52 +05:30
Sujith Haridasan df05266852 MDL-70769 libraries: Upgrading mimetex binaries
Upgrading mimetex binaries to version 1.77

Signed-off-by: Sujith Haridasan <sujith@moodle.com>
2021-03-18 16:34:45 +05:30
Chris Brown 0d53b6cf84 MDL-71139 trademark: Improve the trademark messaging 2021-03-18 10:31:56 +01:00
Jun Pataleta 9f904c2b5e Merge branch 'MDL-70992-311' of https://github.com/NashTechOpenUniversity/moodle into MOODLE_311_STABLE 2021-03-18 12:23:39 +08:00
Adrian Greeve b443f37f91 Merge branch 'MDL-70924-311' of git://github.com/paulholden/moodle into MOODLE_311_STABLE 2021-03-18 11:52:51 +08:00
Adrian Greeve 2b2e3e8ef8 Merge branch 'MDL-71048-311' of https://github.com/paulholden/moodle into MOODLE_311_STABLE 2021-03-18 11:10:59 +08:00
Adrian Greeve 79ed95d0c3 Merge branch 'MDL-70977-311' of git://github.com/paulholden/moodle into MOODLE_311_STABLE 2021-03-18 10:28:55 +08:00
Jun Pataleta 32d345ef1a Merge branch 'MDL-70978-311' of git://github.com/aanabit/moodle into MOODLE_311_STABLE 2021-03-18 09:55:53 +08:00
Adrian Greeve a2ace81606 Merge branch 'MDL-71068-protectusername-confirmed-MOODLE_311_STABLE' of https://github.com/brendanheywood/moodle into MOODLE_311_STABLE 2021-03-18 09:52:10 +08:00
AMOS bot ad324a8543 Automatically generated installer lang files 2021-03-18 00:07:28 +00:00
Eloy Lafuente (stronk7) c0c276e49d Merge branch 'MDL-70901-311' of git://github.com/marinaglancy/moodle into MOODLE_311_STABLE 2021-03-18 00:40:55 +01:00
Eloy Lafuente (stronk7) 0ed97f8d8f Merge branch 'MDL-70896-311' of git://github.com/marinaglancy/moodle into MOODLE_311_STABLE 2021-03-18 00:34:13 +01:00
Eloy Lafuente (stronk7) d42107e093 Merge branch 'MDL-70968-311' of git://github.com/marinaglancy/moodle into MOODLE_311_STABLE 2021-03-18 00:29:46 +01:00
Eloy Lafuente (stronk7) 6f2b5817d6 Merge branch 'MDL-70893-311' of git://github.com/marinaglancy/moodle into MOODLE_311_STABLE 2021-03-18 00:23:36 +01:00
Eloy Lafuente (stronk7) b76e9b6551 Merge branch 'MDL-70689-311' of git://github.com/sarjona/moodle into MOODLE_311_STABLE 2021-03-17 23:20:50 +01:00
Jun Pataleta 3a9b41613c Merge branch 'MDL-71036_311' of https://github.com/stronk7/moodle into MOODLE_311_STABLE 2021-03-17 20:05:17 +08:00
Ilya Tregubov 6fb84d6003 MDL-70311 theme_boost: upgrade bootstrap to version 4.6.0 2021-03-17 12:27:19 +02:00
Brendan Heywood ccfe2c4aba MDL-71068 login: Fix edge cases with $CFG->protectusernames 2021-03-17 17:38:39 +11:00
sangnguyen 2929e6234f MDL-70992 Folder: Unnecessary tab stops to the left of files 2021-03-17 09:34:23 +07:00
Eloy Lafuente (stronk7) 20149b7cf7 Merge branch 'MDL-70565-311' of git://github.com/paulholden/moodle into MOODLE_311_STABLE 2021-03-16 22:49:05 +01:00
Eloy Lafuente (stronk7) 88847544c4 Merge branch 'MOODLE_311_MDL-71044_v3' of https://github.com/golenkovm/moodle into MOODLE_311_STABLE 2021-03-16 22:39:02 +01:00
Paul Holden 649f2cd8c1 MDL-71128 mod_quiz: escape question idnumber on display. 2021-03-16 20:28:42 +00:00
Eloy Lafuente (stronk7) 50520ae4ad Merge branch 'MDL-67748-311-managewebservices' of git://github.com/mudrd8mz/moodle into MOODLE_311_STABLE 2021-03-16 19:29:04 +01:00
David Mudrák 2df0bcc7fd MDL-67748 admin: Add Behat tests for tokens filtering features
Credit goes to Andrew for Behat data generators for webservices.

Co-authored-by: Andrew Nicols <andrew@nicols.co.uk>
2021-03-16 10:47:01 +01:00
Sara Arjona e37ef529db Merge branch 'MDL-44613-integration-311' of git://github.com/mihailges/moodle into MOODLE_311_STABLE 2021-03-16 08:26:57 +01:00
Eloy Lafuente (stronk7) 24c62a15c5 MDL-69474 accessibility: page->url can be not set, protect against that
Both in unit tests, but also in other areas (say blocks, for example)
it's possible that page->url has not been set yet.

So, let's change current code to always check if we have something
(page->url) to compare.

Note the use of has_set_url() is needed, because page->url is magic
method and it doesn't work as expected. Hate magics!
2021-03-16 12:56:40 +08:00
Mihail Geshoski a7fb8415b8 MDL-44613 mod_assign: Fix behat failure in classic
The link to the calendar page is missing in the navigation block in
classic which causes a behat failure in the 'Set availibility dates
for an assignment' feature. The fix includes adding the calendar block
to the Course page which can be used to navigate to the calendar page.
2021-03-16 11:29:57 +08:00
Adrian Greeve 3972a25d6a Merge branch 'MDL-70780-311' of git://github.com/andrewnicols/moodle into MOODLE_311_STABLE 2021-03-16 11:15:12 +08:00
Paul Holden 3e5354717d MDL-71064 media_videojs: enable hotkeys support in player.
Hotkeys were enabled by default, except fullscreen (hotkey "f").
2021-03-15 22:39:11 +00:00
Paul Holden 29f4175b6f MDL-65616 message: always notify user after sending contact request. 2021-03-15 18:56:44 +00:00
David Mudrák 71e7806a18 MDL-67748 admin: Do not show missing capabilities for mobile app service
We used to display capabilities like "Manage any calendar entries",
"Delete evidence", "Manage competency frameworks", "View hidden courses"
and others as "Missing capabilities" for the mobile app service tokens.

This gave dangerous impression that the app will not work for students
without these capabilities granted. There are known cases of admins who
started to grant all these caps to the Authenticated user role because
they were afraid the app would not work for them.

The problem here is that the official mobile app service includes some
functions that have these capabilities declared as required. But they
are not really required to use the app. Either the app makes its own
clever checks of capabilities before calling the functions, or sometimes
the capabilities are not even correctly declared.

It is safer for everybody to display this information for custom
services only where the risk of the falsely missing caps is lower and
the information is more accurate.

Also, the help text has been improved so it does not suggest that these
capabilities must be always added. We do not know why the service has
them declared. In some cases, a service has capabilities declared just
because it makes use of them in the if-then fashion.

Additionally, the patch also displays the service short name because it
is actually needed to know.
2021-03-15 19:09:26 +01:00
David Mudrák bbeba0756d MDL-67748 admin: Show user identity fields on the manage tokens page
On sites with many users, the fullname itself may not be unique
identifier of users. Display the user identity fields below the token
owner's name.
2021-03-15 19:09:26 +01:00
David Mudrák 4d49f07bbb MDL-67748 admin: Add filter to the WS tokens management page
The patch adds ability to filter the list of token by the token value,
the user and the service. Also the button to create a new token is made
more prominent and easier to spot.
2021-03-15 19:09:26 +01:00
David Mudrák 741ea63a70 MDL-67748 admin: Improve the display of tokens the user cannot see 2021-03-15 19:09:26 +01:00
David Mudrák cb7d5a0939 MDL-67748 admin: Refactor tokens management as an external page
No need to have a dedicated admin_setting_managewebservicetokens admin
setting subclass, and yet do not use almost any of its features. So the
patch merges the list and the forms handling into a single external
page.

Similarly, it feels like overkill to have a renderer method for a
simple confirmation widget - especially given that the URLs were
hard-coded in it. So that one was dropped.
2021-03-15 19:09:26 +01:00
David Mudrák fb91df08b3 MDL-67748 admin: Improve the display of missing capabilities
The patch improves the display of the missing capabilities on the Manage
tokens page and the Select authorised users page. The list of
capabilities is rendered in a collapsible area and does not occupy too
much space by default.

Additionally on the later page, the patch improves the display of the
list of existing authorised users so that it respects the configured
identity fields.
2021-03-15 19:09:26 +01:00
David Mudrák 2a189a9fc2 MDL-67748 admin: Improve get_missing_capabilities_by_users()
The previous implementation falsely reported all implicit capabilities
inherited from the authenticated user archetype. That caused a lot of
capabilities reported as missing, even if they were correctly granted.

This new implementation uses a different logic. Instead of seeking for
explicitly assigned capabilities, it searches for capabilities that are
not assigned to any of the user's role across the system.

Please refer to the inline documentation. This should be still used for
informative reports only, not for actual permissions evaluation. The
context has been ignored here, as well as all the overrides etc. This
patch just makes it a lesser evil.
2021-03-15 19:09:26 +01:00
David Mudrák cd7c805d0a MDL-67748 admin: Simplify the webservice token form
We can now use the autocomplete element to select the user. No need to
for the legacy behaviour.
2021-03-15 19:09:26 +01:00
David Mudrák 29cfae4835 MDL-67748 admin: Respect the viewfullnames cap at manage tokens table 2021-03-15 19:09:26 +01:00
David Mudrák cf4dbc4097 MDL-67748 user: Add new core_user/form_user_selector JS module
The module provides AJAX support for the autocomplete form element.
2021-03-15 19:09:26 +01:00
David Mudrák b6be1e9822 MDL-67748 user: Add a new core_user_search_identity external function
The purpose of this external function is to provide data for
asynchronous user selectors and similar widgets. It allows to search
users matching the given query in their name or other available identity
fields.
2021-03-15 19:09:25 +01:00
Eloy Lafuente (stronk7) df5a880db6 Merge branch 'MDL-69474-311' of https://github.com/NashTechOpenUniversity/moodle into MOODLE_311_STABLE 2021-03-15 16:54:51 +01:00
David Mudrák 4d68856c76 MDL-67748 user: Fix @link docs tag usage
Not related to this issue, just spotted while working on it.
2021-03-15 16:30:21 +01:00
David Mudrák 582745e5b9 MDL-67748 admin: Move the web service token form to its own file 2021-03-15 16:30:16 +01:00
David Mudrák 1ab5c29ead MDL-67748 admin: Move the web services under the server administration
I suppose the original reasoning was that the web services protocols are
pluggable and that plugins can provide external function. But those are
not good reasons to put the whole Web services section under plugins.
Web services are not a plugin type and they always felt very
counter-intuitive there.

From the server administrtaion perspective, web services are similar to
scheduled tasks and therefore, they should live in the same section.
2021-03-15 16:21:23 +01:00
Sara Arjona 3329494332 Merge branch 'MDL-44613-311-1' of git://github.com/mihailges/moodle into MOODLE_311_STABLE 2021-03-15 15:53:44 +01:00
Paul Holden 5543e99d6d MDL-70977 mod_forum: fix empty equality check updating post content.
Using the external method for updating posts, the check for empty
subject/message content wasn't correct (disallowed the string '0'),
in addition to being impossible to set a posts message format
property to FORMAT_MOODLE (integer 0).
2021-03-15 12:48:59 +00:00
Paul Holden e2e4b15285 MDL-70924 course: ensure required fields present when getting courses. 2021-03-15 12:46:41 +00:00
Jun Pataleta 38607b4b93 Merge branch 'MDL-66667-cache-course-image-MOODLE_311_STABLE' of https://github.com/dmitriim/moodle into MOODLE_311_STABLE 2021-03-15 17:18:59 +08:00
Adrian Greeve 8dad051443 Merge branch 'MDL-70306-311' of git://github.com/peterRd/moodle into MOODLE_311_STABLE 2021-03-15 11:16:01 +08:00
Peter Dias 17779918f9 MDL-70306 auth: Update the thirdpartylib.xml 2021-03-15 11:10:12 +08:00
Peter Dias e72dbd0752 MDL-70313 core: Update the thirdpartylib.xml 2021-03-15 10:28:03 +08:00
Peter Dias c4b0667582 MDL-70313 core: Rebuilt module files 2021-03-15 10:28:03 +08:00
Peter Dias 63b9f338ed MDL-70313 core: Update codemirror to 5.59.4 2021-03-15 10:28:03 +08:00
Dmitrii Metelkin 88a150467f MDL-66667 course: add course image cache 2021-03-15 12:53:40 +11:00
Mihail Geshoski 978348d189 MDL-44613 mod_assign: Automate testing of the assignment availability 2021-03-15 08:26:17 +08:00
Mihail Geshoski 8a7fadc4ee MDL-44613 tool_behat: Update datetime format usages to strftime
Updates all existing datetime format usages to strftime in the
'time to timestamp' transformation in tool_behat behat tests.
2021-03-15 08:26:17 +08:00
Mihail Geshoski 70ae4664e6 MDL-44613 core_message: Update datetime format usages to strftime
Updates all existing datetime format usages to strftime in the
'time to timestamp' transformation in core_message behat tests.
2021-03-15 08:26:17 +08:00
Mihail Geshoski 3bc58c98d0 MDL-44613 behat: strftime format in time to timestamp transformation
Modifies the 'string time to timestamp' behat trasformation to use
userdate() instead of date(). The userdate() method is generally used
throught Moodle for constructing formatted date strings and this change
will provide more consistency and prevent any potential behat failures.
Therefore, if the date format is defined in the given trasformation, it
has to be strftime compatible. Example:
'I should see "##tomorrow noon##%A, %d %B %Y, %I:%M %p##"'
2021-03-15 08:26:17 +08:00
AMOS bot c8a829ea3c Automatically generated installer lang files 2021-03-13 00:07:30 +00:00
Amaia Anabitarte c2c3148664 MDL-70978 core_contentbank: Increasing contrast for unlisted content 2021-03-12 12:49:20 +01:00
Sara Arjona c9110ffdce MDL-70689 oauth2: unit tests for new IMS OBv2.1
Apart from adding new unit tests for covering new IMS OBv2.1 issuer,
some extra tests have been added to test existing issuers and confirm
they are still working as expected after the changes.
2021-03-12 12:33:54 +01:00
Sara Arjona a7229e4ad9 MDL-70689 oauth2: deprecate unused strings 2021-03-12 12:33:54 +01:00
Sara Arjona 9941e04857 MDL-70689 oauth2: self-register IMS OBv2.1 services
IMS OBv2.1 services have a registration endpoint to get client id
and secret.
This patch adds and implements the "register" method for the IMS
Open Badges Connect discovery system, to get the proper client id
and secret values.
2021-03-12 12:33:54 +01:00
Sara Arjona 84e51fb0fd MDL-70689 oauth2: add support to IMS OBv2.1 service
In order to make easier to create and maintain new OAuth2 services,
a couple of classes have been added:

- discovery\* contains methods related to the discovery system. Until
now, only OpenID Connect was supported by Moodle so all the code was
centralised in api.php.
With this patch, as IMS OBv2.1 has a different discovery system, a new
abstract class (base_definition) has been added to be called and let
every discovery system (OpenID Connect, IMS Badge Connect...)
implement their own methods.

- service\* . Instead of keep adding methods to the api, the service
namespace has been created to store all the standard issuer services.
An interface (issuer_interface) has been created and all the services
should implement it.
This patch creates the "IMS OBv2.1" and "Custom" services and moves
the methods for "Google" service because it uses the OpenID connect
discovery system.
2021-03-12 12:33:53 +01:00
Paul Holden dbc7d37685 MDL-70565 user: filter course participants by country. 2021-03-12 09:50:02 +00:00
Eloy Lafuente (stronk7) 0357efb1fc MDL-71036 phpunit: Coding style changes, 99% whitespace only
I've gone over a few of the mofified files (those
which were showing warnings and errors to CiBoT. Some of them
have been fixed completely, while others only have fixed
for the lines belonging to this issue (lib/tests/moodlelib_test.php)
for example.
2021-03-11 23:07:31 +01:00
Eloy Lafuente (stronk7) e2e333c9cd MDL-71036 phpunit: Add all the noticeable changes to upgrade notes 2021-03-11 23:07:31 +01:00
Eloy Lafuente (stronk7) 790237a77f MDL-71036 phpunit: xml config - switch coverage info to new includes
This applies the "whitelist" => "include" changes to all the core
phpunit_coverage_info occurrences, so core won't emit any deprecation
warning (see previous commit).

At the same time, modified a bunch of comments in coverage files
to be more readable/understandable.
2021-03-11 23:07:31 +01:00
Eloy Lafuente (stronk7) a9c0c3d5a9 MDL-71036 phpunit: xml config - deprecate whitelist from coverage
Following the changes in the schema, from "whitelists" to "includes",
we are deprecating these two properties from phpunit_coverage_info:

- whitelistfolders => includelistfolders
- whitelistfiles   => includelistfiles

They will continue working over the deprecation period but the init/util
scripts will throw some warnings about them being deprecated for 3.11 and
the way to replace them.

Standard 2y deprecation applies with final removed to happen @ MDL-71067
2021-03-11 23:07:31 +01:00
Eloy Lafuente (stronk7) d786046e52 MDL-71036 phpunit: xml config - change dist file to spread them to final
Basically switch to 2-space indenting and small tweaks to comments,
so both the main phpunit.xml file and also the individual components
ones, all them based in the dist one will be consistent.
2021-03-11 23:07:31 +01:00
Eloy Lafuente (stronk7) 50e3bb8546 MDL-71036 phpunit: xml config - change generation code to follow xsd
This performs all the changes needed in the util generator to
produce XML files compliant with the new schema (see previous
commit for description of changes).

- All the occurrences in code of filter => coverage.
- All the occurrences in code of whitelist => include.
- Apply all the changes to comply with the new schema.

- Remove processUncoveredFilesFromWhitelist attribute, useless (false
    is its default value, and now have another name).
- Move from 4-spaces indented XML to 2-spaces indented.
- Small linefeed tweaks to generate better-looking XML.
2021-03-11 23:07:31 +01:00
Eloy Lafuente (stronk7) cf38a34904 MDL-71036 phpunit: xml config - add new (9.5) validation xsd
PHPUnit 9 comes with various changes in the XML
configuration file, namely:

  - the old "filter" section has been renamed to "coverage".
  - "whitelist" has been renamed to "include"
  - "exclude" is not a child of "include" anymore, but of "coverage".
  - "include" cannot have configuration attributes anymore, only
    "coverage" can"

Visually it means that the old section (invented example):
```
<filter>
  <whitelist attributes_may_go_here="xx">
    <directory suffix=".php">classes</directory>
    <directory suffix=".php">externallib.php</directory>
    <exclude>
      <directory suffix="_test.php">.</directory>
    </exclude>
  </whitelist>
</filter>
```
Now looks like:
```
<coverage attributes_may_go_here="xx">
  <include>
    <directory suffix=".php">classes</directory>
    <directory suffix=".php">externallib.php</directory>
  </include>
  <exclude>
    <directory suffix="_test.php">.</directory>
  </exclude>
</filter>
```

So, switching to the new xsd so we can validate the remaining changes.
2021-03-11 23:07:31 +01:00
Eloy Lafuente (stronk7) 2d693cda7a MDL-71036 phpunit: Mock->setMethods() silently deprecated
The current ->setMethods() has been silently (won't emit any
warning) in PHPUnit 9. And will stop working (current plans)
in PHPUnit 10.

Basically the now deprecated method has been split into:

- onlyMethods(): To point to existing methods in the mocked artifact.
- addMethods(): To point to non existing (yet) methods in the mocked
  artifact.

In practice that means that all our current setMethods() calls can be
converted to onlyMethods() (existing) and done. The addMethods() is
mostly useful on development phases, not final testing.

Finally note that <null> isn't accepted anymore as parameter to
double all the methods. Instead empty array [] must be used.

Link: https://github.com/sebastianbergmann/phpunit/issues/3770
2021-03-11 23:07:31 +01:00
Eloy Lafuente (stronk7) 3dd26fe334 MDL-71036 phpunit: assertContains() now performs strict comparison
The methods assertContains() and assertNotContains() now perform
strict (type and value) comparison, pretty much like assertSame()
does.

A couple of new assertContainsEquals() and assertNotContainsEquals()
methods have been created to provide old (non-strict) behavior, pretty
much like assertEquals() do.

Apart from replacing the calls needing a relaxed comparison to those
new methods, there are also a couple of alternative, about how to
fix this, depending of every case:

- If the test is making any array_values() conversion, then it's better
  to remove that conversion and use assertArrayHasKey(), that is not
  strict.
- Sometimes if may be also possible to, simply, cast the expectation
  to the exact type coming in the array. I've not applied this technique
  to any of the cases in core.

Link: https://github.com/sebastianbergmann/phpunit/issues/3426
2021-03-11 23:07:31 +01:00
Eloy Lafuente (stronk7) 8940f67486 MDL-71036 phpunit: ->at() matcher is deprecated
Mocke at() matcher is being deprecated with phpunit9 and
will be removed with phpunit10.

Source: https://github.com/sebastianbergmann/phpunit/issues/4297

Luckily we are using those deprecated matchers only in completionlib
tests, so there aren't many cases to modify. Now, we are using
supported matchers (once, exactly, never...) and the tests have
been reorganised to better represent the expected behavior (how
many times stuff is called, with which params and return values).
2021-03-11 23:07:30 +01:00
Eloy Lafuente (stronk7) ad249ced07 MDL-71036 phpunit: Remove custom autoloader
Custom autoloaders are deprecated with PHPUnit 9 and will be removed
with PHPUnit 10.

Since PHPUnit 8.5 custom autoloaders don't do much because that
version removed the ability to launch unit tests by class name
and that's exactly the reason we had a custom autoloader (to map
class names to files within our tests). See MDL-67673 about
when direct use of classes was deprecated (8.5), now removed (9.5).

So, as far as it's unused, removing it now, test still can be
selectively using any of:

- a relative path to file (although there are some restrictions comming
  with PHPUnit 9, see https://github.com/sebastianbergmann/phpunit/issues/4105
- using --filter, to point to any classname[::method]
- using --testsuite to run a complete suite
- using --config to point to custom components.

Also, commented out the lib/ajax/tests directory because it doesn't
exist / is empty and PHPUnit 9 emits error when a configured test
directory does not exist. See
https://github.com/sebastianbergmann/phpunit/issues/4493.

Alternative was to completely remove the configuration line, but
decided to keep it around in case some day we want to add some
test there.
2021-03-11 23:07:30 +01:00
Eloy Lafuente (stronk7) 6d5eb09218 MDL-71036 phpunit: XML load() method has been moved to new loader class
Used by our custom assertTag() and assertNotTag() assertions, that some
day we should deprecate... the loading of XML content for further
processing has been moved to new classes within the PHPUnit utils. We
are just following the move here.
2021-03-11 23:07:30 +01:00
Eloy Lafuente (stronk7) 23f09c8c1a MDL-71036 phpunit: Fix param check, must be array
With stricter typed param checks in php73, the 7th param of the
getMockForAbstractClass() must be array, so previous code defaulting
to null now throws a TypeError.
2021-03-11 23:07:30 +01:00
Eloy Lafuente (stronk7) 3b37f318d4 MDL-71036 phpunit: Deprecated expectException for notice/warning/error
In PHP 9.1, the use of expectException(PHPUnit\Framework\Error\*) has
been deprecated, that is, when a Notice/Warning/Error/Deprecated
problem is reported. Instead, these new assertions must be used:

- expectDeprecation() for E_DEPRECATED and E_USER_DEPRECATED
- expectNotice() for E_NOTICE, E_USER_NOTICE, and E_STRICT
- expectWarning() for E_WARNING and E_USER_WARNING
- expectError() for everything else

More info:

https://github.com/sebastianbergmann/phpunit/blob/9.0.0/ChangeLog-9.0.md
https://github.com/sebastianbergmann/phpunit/issues/3775

Regexp to find all them:

ag 'expectException.*(Notice|Warning|Error|Deprecated)
2021-03-11 23:07:30 +01:00
Eloy Lafuente (stronk7) c989d6ec61 MDL-71036 phpunit: Renamed various regexp-related assertions
In PHPUnit 9.1, the following regexp-related assertions
have been deprecated and there are new alternatives for
all them:
    - assertRegExp()     -> assertMatchesRegularExpression()
    - assertNotRegExp()  -> assertDoesNotMatchRegularExpression()

This is about to, simply, move all cases to the new alternatives.

Source: https://github.com/sebastianbergmann/phpunit/blob/9.1.0/ChangeLog-9.1.md

Regexp to find all them:

    ag 'assertRegExp|assertNotRegExp' -li
2021-03-11 23:07:30 +01:00
Eloy Lafuente (stronk7) cbf01aa79a MDL-71036 phpunit: Renamed various file-related assertions
In PHPUnit 9.1, the following file-related assertions
have been deprecated and there are new alternatives for
all them:
- assertNotIsReadable()         -> assertIsNotReadable()
- assertNotIsWritable()         -> assertIsNotWritable()
- assertDirectoryNotExists()    -> assertDirectoryDoesNotExist()
- assertDirectoryNotIsReadable()-> assertDirectoryIsNotReadable()
- assertDirectoryNotIsWritable()-> assertDirectoryIsNotWritable()
- assertFileNotExists()         -> assertFileDoesNotExist()
- assertFileNotIsReadable()     -> assertFileIsNotReadable()
- assertFileNotIsWritable()     -> assertFileIsNotWritable()

This is about to, simply, move all cases to the new alternatives.

Source: https://github.com/sebastianbergmann/phpunit/blob/9.1.0/ChangeLog-9.1.md

Regexp to find all them:

ag 'assertNotIsReadable|assertNotIsWritable|assertDirectoryNotExists|\
assertDirectoryNotIsReadable|assertDirectoryNotIsWritable|\
assertFileNotExists|assertFileNotIsReadable|assertFileNotIsWritable'
2021-03-11 23:07:30 +01:00
Eloy Lafuente (stronk7) 87680e8b2b MDL-71036 phpunit: Stricter signature matching 2021-03-11 23:07:30 +01:00
Eloy Lafuente (stronk7) 77f09eccfe MDL-71036 phpunit: Bump to phpunit 9.5.x 2021-03-11 19:34:28 +01:00
Sara Arjona 295901e6a1 weekly release 3.11dev 2021-03-11 17:18:44 +01:00
Sara Arjona 4d1323a8a8 Merge branch 'install_311_STABLE' of https://git.in.moodle.com/amosbot/moodle-install into MOODLE_311_STABLE 2021-03-11 17:18:42 +01:00
hiendinh c06b63113a MDL-69474 Accessibility: Profile image changes 2021-03-11 16:42:05 +07:00
Jun Pataleta 9fe5ab67f1 Merge branch 'MDL-70911-311' of git://github.com/sarjona/moodle into MOODLE_311_STABLE 2021-03-11 17:41:25 +08:00
Sara Arjona 9b74408a33 MDL-70911 core_badges: Add navigation menu in classic
Manage backpacks page wasn't displaying the navigation and administration
menus when using classic theme (it's unrelated to changes done here).
This patch fixes this unexpected behaviour (raised thanks to behat tests).
2021-03-11 09:02:23 +01:00
Adrian Greeve fefc5d6421 Merge branch 'MDL-66025-311' of git://github.com/paulholden/moodle into MOODLE_311_STABLE 2021-03-11 11:43:26 +08:00
Adrian Greeve 24ee5bc2c3 Merge branch 'MDL-71026-311' of git://github.com/ilyatregubov/moodle into MOODLE_311_STABLE 2021-03-11 11:03:28 +08:00
Eloy Lafuente (stronk7) bb4d5dbc25 Merge branch 'MDL-70726-3.11' of https://github.com/NashTechOpenUniversity/moodle into MOODLE_311_STABLE 2021-03-11 00:11:44 +01:00
Eloy Lafuente (stronk7) ca6b26fae7 Merge branch 'MDL-70789-311' of git://github.com/paulholden/moodle into MOODLE_311_STABLE 2021-03-10 23:52:46 +01:00
Eloy Lafuente (stronk7) 3841ce68cf Merge branch 'MDL-70891-311' of git://github.com/marinaglancy/moodle into MOODLE_311_STABLE 2021-03-10 23:40:07 +01:00
Eloy Lafuente (stronk7) 58afea8c59 Merge branch 'MDL-70967-311' of git://github.com/marinaglancy/moodle into MOODLE_311_STABLE 2021-03-10 23:39:15 +01:00
Sara Arjona 266742e6b4 Merge branch 'MDL-70287-311-3' of git://github.com/rezaies/moodle into MOODLE_311_STABLE 2021-03-10 20:48:57 +01:00
Jun Pataleta ad583bba25 MDL-70815 completion: Cast custom data to array
Since cm_info::customdata can be of any type, we need to cast it to an
array first before checking for custom completion rules. Otherwise,
an exception can be thrown (e.g. customdata has been set as an stdClass)
2021-03-10 19:23:04 +01:00
Jun Pataleta b535cf958a Merge branch 'MDL-45242-m311' of https://github.com/sammarshallou/moodle into MOODLE_311_STABLE 2021-03-10 23:38:42 +08:00
sam marshall 3cc4d3d2e2 MDL-45242 Course: Enrol feature supports custom profile fields 2021-03-10 10:58:09 +00:00
sam marshall 4f435cc40f MDL-45242 Course: Participants list supports custom profile fields 2021-03-10 10:58:09 +00:00
sam marshall 1d7d3c984d MDL-45242 Admin: User list supports custom profile fields 2021-03-10 10:58:09 +00:00
sam marshall 0919a04311 MDL-45242 Lib: Replace calls to deprecated functions
In all cases changes have been kept to a minimum while not making
the code completely horrible. For example, there are many instances
where it would probably be better to rewrite a query entirely, but
I have not done that (in order to reduce the risk of changes).
2021-03-10 10:58:09 +00:00
Jun Pataleta 5e7aeb7841 Merge branch 'MDL-70911-311' of git://github.com/sarjona/moodle into MOODLE_311_STABLE 2021-03-10 16:15:36 +08:00
Sara Arjona 52fd43f54d MDL-70911 core_badges: Remove $CFG->badges_site_backpack
The $CFG->badges_site_backpack setting has been completely removed
because it's not required anymore. From now, the primary site
backpack will be the first one in the "Manage backpacks" list (so,
the one with lower sortorder value).
2021-03-10 09:10:32 +01:00
Sara Arjona 3de96274ff MDL-70911 core_badges: Add support to backpacks sortorder
Before removing $CFG->badges_site_backpack setting, admins should be
able to re-order the existing site-backpacks (because then, the first
one will be treated as the default one).
This patch adds the sort order feature to the backpack list.
2021-03-10 08:31:22 +01:00
Sara Arjona 1a2db1297b MDL-70911 core_badges: Move "External backpack" to badges settings
Setting "External backpack connection" has been moved from "Backpack
settings" to "Badges settings" in order to make easier to find and
configure it.
Some extra tests have been added to cover existing behaviour and
confirm is still working as expected.
2021-03-10 08:31:22 +01:00
AMOS bot d6d83cead2 Automatically generated installer lang files 2021-03-10 00:07:24 +00:00
Eloy Lafuente (stronk7) b7b508c5d2 Merge branch 'MDL-63961-311' of git://github.com/sarjona/moodle into MOODLE_311_STABLE 2021-03-10 00:19:58 +01:00
Paul Holden 1fc653d7e0 MDL-69036 theme_boost: consistent table row hovering for links.
When hovering over table rows with the `dimmed_text` class we
should consistently set the text/link colour.

Co-Authored-By: Mikel Martín <mikel@moodle.com>
2021-03-09 16:22:33 +00:00
Sara Arjona 6e2a35733d Merge branch 'MDL-70608-311-langimportasync' of git://github.com/mudrd8mz/moodle into MOODLE_311_STABLE 2021-03-09 16:43:01 +01:00
Sara Arjona b8f38fc98b Merge branch 'MDL-70815-311-6' of git://github.com/junpataleta/moodle into MOODLE_311_STABLE 2021-03-09 15:18:33 +01:00
Sara Arjona 3d10e6fd7f Merge branch 'MDL-70855-MOODLE_311_STABLE' of https://github.com/dmitriim/moodle into MOODLE_311_STABLE 2021-03-09 14:57:04 +01:00
Jun Pataleta 1292b31ac5 MDL-70815 completion: Test internal_get_state() with custom completion
Use the custom completion implementation for mod_choice to test
completion_info::get_state() to cover the case where the completion
state is being determined from the custom completion condition.
2021-03-09 20:19:00 +08:00
Jun Pataleta f2599eb895 MDL-70815 mod_choice: Unit tests for the custom completion class 2021-03-09 20:19:00 +08:00
Jun Pataleta 4a9aeeca59 MDL-70815 mod_choice: Custom completion implementation 2021-03-09 20:19:00 +08:00
Jun Pataleta ad5b613c86 MDL-70815 core_completion: Update completion_info
* Update completion_info::get_data() to add other completion
information from a new method called get_other_cm_completion_data().
This allows the storage of the completion statuses of the following
completion rules to completion_info objects:
  - 'Students must receive a grade' completion rule.
  - Any custom completion rule defined by an activity.
This allows detailed completion information to be fetched for course
modules.
It also allows custom completion statuses to be cached which will help
reduce DB queries when fetching completion statuses.
* Update update_state() to fetch overall completion state from the
module's activity_custom_completion implementation. Falls back to the
*_get_completion_state() callback function.
* Update internal_set_data() to include the other cm completion data
in the updated cache data for the module instance.
2021-03-09 20:18:59 +08:00
Jun Pataleta 31fcbfc2e2 MDL-70815 core_completion: completion_info::get_grade_completion()
Move the current logic for determining the completion status for the
"Student must receive grade" completion rule to a function so it cann
be reused.
Unit test included.
2021-03-09 20:18:59 +08:00
Jun Pataleta baa0001037 MDL-70815 core_completion: Fix unit tests
* Unit tests for completion_info::get_data() and
completion_info::internal_get_state are mocked which causes failures
with the new implementation. It's more straightforward and realistic
to generate real course and modules to test these methods.
2021-03-09 20:18:59 +08:00
Jun Pataleta e789f013b4 MDL-70815 core_completion: Unit tests for activity_custom_completion
Tests cover
 - get_overall_completion_state()
 - is_available()
 - validate_rule()
Tests don't cover
 - methods that rely on static methods such as:
   - is_defined()
 - static methods in the class because they can't be mocked
 - abstract methods that can be tested better by the plugins
   that extend activity_custom_completion such as:
   - get_state()
   - get_defined_custom_rules()
   - get_custom_rule_descriptions()
2021-03-09 20:18:59 +08:00
Jun Pataleta 6d2e36aa37 MDL-70815 core_completion: Activity custom completion details base class
* Base class for defining an activity module's custom completion details
2021-03-09 20:18:59 +08:00
Andrew Nicols 5a492fd886 MDL-70780 customfield: Rewrite management JS as ES6 2021-03-09 07:56:04 +08:00
Andrew Nicols c6f1ee2977 MDL-70780 customfield: Address random behat fails
A number of behat fails have been creeping in with the customfield code
as behat is moving onto the next step before the current step finishes.

This change introduces some additional pending JS tracking to prevent
this.
2021-03-09 07:52:24 +08:00
Sara Arjona 217377d30f Merge branch 'MDL-70766-auth-config-log-MOODLE_311_STABLE' of https://github.com/brendanheywood/moodle into MOODLE_311_STABLE 2021-03-08 11:39:19 +01:00
sam marshall 5b7b1b9a06 MDL-45242 Lib: Replace direct references to ->showuseridentity 2021-03-08 09:17:04 +00:00
sam marshall 947d8c7806 MDL-45242 Lib: Deprecate field-related library functions 2021-03-08 09:17:04 +00:00
sam marshall 68e576b0ed MDL-45242 Lib: Allow custom profile fields in showuseridentity 2021-03-08 09:17:03 +00:00
sam marshall f21cf5bc86 MDL-45242 Testing: Generators for user profile fields 2021-03-08 09:17:03 +00:00
sam marshall 23c20dc23f MDL-45242 Admin: Added lazy-loading callback to multicheckbox
Currently admin_setting_configselect has lazy-loading support via a
callback function (so you don't have to make pointless single-use
classes for each unusual setting), but this is not present in other
similar types.

This commit adds identical support to
admin_setting_configmulticheckbox.
2021-03-08 09:17:03 +00:00
Mikhail Golenkov 68588a8f47 MDL-71044 backup: backup_cleanup_task task to remove old files 2021-03-07 21:48:47 +11:00
AMOS bot 2e4ed73845 Automatically generated installer lang files 2021-03-07 00:07:24 +00:00
AMOS bot f0b5d067bf Automatically generated installer lang files 2021-03-06 00:07:24 +00:00
Sara Arjona f23ffe6645 weekly release 3.11dev 2021-03-05 16:01:36 +01:00
Sara Arjona c644d61c34 Merge branch 'install_311_STABLE' of https://git.in.moodle.com/amosbot/moodle-install into MOODLE_311_STABLE 2021-03-05 16:01:34 +01:00
Amaia Anabitarte 291ff443a5 MDL-70726 behat: Fixing existing fail tests
Some of the current behat tests were wrong but not failing because of the bug in 'should not exist' step.
Once the bug is fixed, we must fix also wrong behats.
2021-03-05 14:06:43 +07:00
Ilya Tregubov 02af750568 MDL-69680 lib: Fix behat test backup_and_restore.feature 2021-03-04 22:51:18 +01:00
Paul Holden 99e1de9756 MDL-71048 lang: fix null equality check of lang string args. 2021-03-04 19:43:44 +00:00
Marina Glancy 8274935cb1 MDL-71039 core_form: support valuehtmlcallback in autocomplete inline 2021-03-04 13:39:45 +01:00
Thinh Pham 99a0d0e411 MDL-70727 Behat: function scrollIntoView not working in the app 2021-03-04 13:35:46 +07:00
Brendan Heywood f8fe2fabfe MDL-71007 grade_report: Add course idnumber to grade report api
The gradereport_user_get_grade_items now includes the idnumber
2021-03-04 16:20:52 +11:00
Ilya Tregubov 4bc3faf193 MDL-69680 lib: Replace deprecated jQuery functions 2021-03-04 12:48:06 +08:00
Ilya Tregubov f2e6985049 MDL-69680 lib: Update jQuery version in Moodle files 2021-03-04 12:48:06 +08:00
Ilya Tregubov a5712a54fa MDL-69680 lib: Upgrade jQuery lib to 3.5.1 2021-03-04 12:48:06 +08:00
Eloy Lafuente (stronk7) 67c851ff81 Merge branch 'MDL-70424-auth-avoid-changes-MOODLE_311_STABLE' of https://github.com/brendanheywood/moodle into MOODLE_311_STABLE 2021-03-04 00:29:07 +01:00
Ilya Tregubov 6c399500e3 MDL-70767 feedback: Prevent xss in feedback answer text. 2021-03-03 23:08:50 +01:00
Sara Arjona 6c9e7f16f3 Merge branch 'MDL-68721-311' of git://github.com/ferranrecio/moodle into MOODLE_311_STABLE 2021-03-03 17:51:23 +01:00
Ferran Recio f4a7aaf1f8 MDL-68721 mod_h5pactivity: report acceptance tests 2021-03-03 17:23:21 +01:00
Paul Holden 567529f722 MDL-65552 block_activity_results: correct Behat tests for idnumbers.
Teachers can see user idnumber fields only when they are configured
identity fields. Students cannot.
2021-03-03 23:14:54 +08:00
Marina Glancy 7ab4eafc02 MDL-65552 user: escape idnumber and email in table_sql 2021-03-03 23:14:54 +08:00
Paul Holden 2474bc765f MDL-65552 user: escape idnumber field on output.
This commit also corrects parameter definition of the field to
match core_user.
2021-03-03 23:14:54 +08:00
Sara Arjona 3fa69248c0 Merge branch 'MDL-70125_311-3' of git://github.com/mdjnelson/moodle into MOODLE_311_STABLE 2021-03-03 15:47:30 +01:00
Sara Arjona b4dcde4dc2 Merge branch 'MDL-70921-311' of git://github.com/marinaglancy/moodle into MOODLE_311_STABLE 2021-03-03 15:24:51 +01:00
Sara Arjona 9f5794834e Merge branch 'MDL-67494-311' of git://github.com/lameze/moodle into MOODLE_311_STABLE 2021-03-03 11:47:00 +01:00
Sara Arjona d30b045210 Merge branch 'MDL-67119-311' of git://github.com/aanabit/moodle into MOODLE_311_STABLE 2021-03-03 11:11:35 +01:00
Ilya Tregubov 66a59ab03f MDL-71026 user: Fix incorrect get_string call. 2021-03-03 11:44:17 +02:00
Jun Pataleta 39627013bf Merge branch 'MDL-70987-311' of git://github.com/andrewnicols/moodle into MOODLE_311_STABLE 2021-03-03 16:42:11 +08:00
Sara Arjona 8110f4a2eb Merge branch 'MDL-70966-311' of git://github.com/marinaglancy/moodle into MOODLE_311_STABLE 2021-03-03 09:30:47 +01:00
Simey Lameze fe0a2248f1 MDL-67494 calendar: user_delete_user should delete all user events 2021-03-03 16:29:20 +08:00
Simey Lameze 0375020308 MDL-67494 calendar: privacy provider should not delete shared events 2021-03-03 16:29:20 +08:00
Simey Lameze 6bd9922957 MDL-67494 calendar: shared subscriptions should not set userid to 0 2021-03-03 16:29:20 +08:00
Simey Lameze a08b268b27 MDL-67494 calendar: only user overrides should retain userid 2021-03-03 16:29:20 +08:00
Simey Lameze 25f0a459c1 MDL-67494 calendar: set userid to zero for shared events 2021-03-03 16:29:19 +08:00
Simey Lameze 05540f0eef MDL-67494 calendar: step to set userid 0 to all shared events 2021-03-03 16:29:18 +08:00
Simey Lameze dc9701aa68 MDL-67494 calendar: add logic for category events in get_context 2021-03-03 16:27:00 +08:00
Jun Pataleta 768fb99ba4 Merge branch 'MDL-71009_311' of https://github.com/timhunt/moodle into MOODLE_311_STABLE 2021-03-03 16:22:44 +08:00
Sara Arjona 321ee59dbc Merge branch 'MDL-69097-311' of https://github.com/inigozendegi/moodle into MOODLE_311_STABLE 2021-03-03 09:06:52 +01:00
Jun Pataleta 28bdd2795b Merge branch 'MDL-70995-311' of https://github.com/paulholden/moodle into MOODLE_311_STABLE 2021-03-03 15:05:26 +08:00
Jun Pataleta 05b4006146 Merge branch 'MDL-69883-311' of https://github.com/paulholden/moodle into MOODLE_311_STABLE 2021-03-03 14:34:55 +08:00
Andrew Nicols 13bda0057c Merge branch 'MDL-70268-311-2' of git://github.com/peterRd/moodle into MOODLE_311_STABLE 2021-03-03 12:22:52 +08:00
Peter Dias ff411bebe1 MDL-70268 core: Update the oauthlib to exclude scope if none provided 2021-03-03 12:06:10 +08:00
AMOS bot 1484bd7348 Automatically generated installer lang files 2021-03-03 00:07:24 +00:00
Paul Holden 8a738cbf52 MDL-70822 enrol: respect capability to view other users profile.
When retrieving courses of another user via web services, we should
respect the capability to view that users profile in a given course.
2021-03-02 23:44:43 +01:00
Sander Wind 616070614e MDL-70668 auth: Fix secret validation during user confirmation
Co-authored-by: Michael Hawkins <michaelh@moodle.com>
2021-03-02 23:44:43 +01:00
Juan Leyva 7276dfd592 MDL-70340 mod_workshop: Do not apply format to peer comments
This text is not directly output to final users, it is used just in the textarea in both the site and the app.
Applying format, case issues like adding glossary links etc...
2021-03-02 23:32:55 +01:00
Víctor Déniz ee44d51aee Merge branch 'MDL-70676-311' of git://github.com/ilyatregubov/moodle into MOODLE_311_STABLE
Fixed mod/workshop/db/upgrade.php: \xmldb_field::getNotNull()
does not verify if the column is nullable in the database.
2021-03-02 22:10:39 +00:00
Peter Dias 9e08079278 MDL-59293 block_onlineusers: Update behat tests 2021-03-02 16:05:08 +00:00
Peter Dias 950cdd5c06 MDL-59293 block_onlineusers: Check whether current user can view online users
- Removed block from site admin.
- Blocked guest from viewuserlist cap
2021-03-02 16:05:08 +00:00
Ilya Tregubov a81dda9fb2 MDL-70676 workshop: Allow empty grades. 2021-03-02 13:45:40 +02:00
Sara Arjona 56630bd392 Merge branch 'MDL-67515-311' of git://github.com/vmdef/moodle into MOODLE_311_STABLE 2021-03-02 11:21:27 +01:00
Jun Pataleta 4fe87411db Merge branch 'MDL-70457_311' of https://github.com/stronk7/moodle into MOODLE_311_STABLE 2021-03-02 17:39:29 +08:00
Víctor Déniz 01fc159374 Merge branch 'MDL-70172-311' of git://github.com/rezaies/moodle into MOODLE_311_STABLE 2021-03-02 09:16:53 +00:00
Paul Holden d1c9dc2ac0 MDL-71022 gradereport_history: prevent double escaping of users.
The user identity fields are already escaped by the AJAX endpoint
that returns them, we don't need to do it again at the client.
2021-03-02 09:14:32 +00:00
Víctor Déniz b46b9092b7 MDL-67515 tool_customlang: Ignore invalid component strings
After uninstalling a plugin, the translated strings remain in
tool_customlang table, throwing an exception when trying to localise
any strings. Currently there is no mechanism to
clean up customlang tables and files during the uninstall process,
so with this patch the invalid components will be ignored.
2021-03-02 09:09:08 +00:00
Sara Arjona e476171f85 Merge branch 'MDL-70877_311' of https://github.com/stronk7/moodle into MOODLE_311_STABLE 2021-03-02 09:29:26 +01:00
Jun Pataleta c9d57344b0 Merge branch 'MDL-70876_311' of https://github.com/stronk7/moodle into MOODLE_311_STABLE 2021-03-02 16:02:15 +08:00
AMOS bot 8963bb7c04 Automatically generated installer lang files 2021-03-02 00:07:22 +00:00
Eloy Lafuente (stronk7) 81761afcb1 Merge branch 'MDL-70898-311' of git://github.com/marinaglancy/moodle into MOODLE_311_STABLE 2021-03-01 22:50:41 +01:00
Eloy Lafuente (stronk7) 241cf14d71 Merge branch 'MDL-67974-311' of git://github.com/sarjona/moodle into MOODLE_311_STABLE 2021-03-01 22:33:26 +01:00
Eloy Lafuente (stronk7) 217698a385 Merge branch 'MDL-70916_311' of https://github.com/timhunt/moodle into MOODLE_311_STABLE 2021-03-01 21:58:55 +01:00
Eloy Lafuente (stronk7) f276e63dce Merge branch 'MDL-70899-311' of git://github.com/marinaglancy/moodle into MOODLE_311_STABLE 2021-03-01 20:20:53 +01:00
Shamim Rezaie e9e31ed1ff MDL-70172 output: pages with main logo should have a first-level header 2021-03-02 05:36:19 +11:00
Shamim Rezaie 9e17f08e97 MDL-70172 output: Fix empty links
The approach taken is inline with font-awesome documentation:
https://fontawesome.com/how-to-use/on-the-web/other-topics/accessibility
2021-03-02 05:36:19 +11:00
Eloy Lafuente (stronk7) 2baf0175f9 Merge branch 'MDL-70912-311' of git://github.com/sarjona/moodle into MOODLE_311_STABLE 2021-03-01 16:47:37 +01:00
Sara Arjona addd1937c1 Merge branch 'MDL-68735_311' of https://github.com/stronk7/moodle into MOODLE_311_STABLE 2021-03-01 16:17:32 +01:00
Eloy Lafuente (stronk7) 2ebc333858 Merge branch 'MDL-70913-311' of git://github.com/sarjona/moodle into MOODLE_311_STABLE 2021-03-01 14:22:12 +01:00
Sara Arjona 2e03630504 MDL-70913 core_badges: Use and update properly sortorder
Sortorder field in badge_external_backpack was updated with a wrong
value. This patch fixes this behaviour and adds sortorder as
sorting criteria for displaying the list of site backpacks.

In the phpunit method reviewed for covering this, a couple of
assertEquals() calls have been changed too to put the expected value
first.
2021-03-01 13:07:58 +01:00
Thong Bui 502c11cc5d MDL-70726 behat: should_not_exist function does not work correctly 2021-03-01 17:53:30 +07:00
Eloy Lafuente (stronk7) c886b6cf07 Merge branch 'MDL-70931-311-xmldbeol' of git://github.com/mudrd8mz/moodle into MOODLE_311_STABLE 2021-03-01 10:01:05 +01:00
Eloy Lafuente (stronk7) b82d5f84f9 Merge branch 'MDL-70941-311' of git://github.com/dravek/moodle into MOODLE_311_STABLE 2021-03-01 09:54:09 +01:00
Eloy Lafuente (stronk7) 8e8240ff6e Merge branch 'MDL-70910-311' of git://github.com/dravek/moodle into MOODLE_311_STABLE 2021-03-01 09:50:08 +01:00
Eloy Lafuente (stronk7) 0085741f6f Merge branch 'MDL-70964-311-enfix' of git://github.com/mudrd8mz/moodle into MOODLE_311_STABLE 2021-03-01 09:33:57 +01:00
Dmitrii Metelkin f38fc37008 MDL-70855 course: add extra callback for extending course module form 2021-03-01 13:34:46 +11:00
AMOS bot 43b4384913 Automatically generated installer lang files 2021-03-01 00:07:25 +00:00
Marina Glancy ac06e60ae1 MDL-70968 core: PHP8 compatibility, not allowed to pass extra parameters 2021-02-28 19:43:57 +01:00
Marina Glancy b2d8938431 MDL-70966 various: Under PHP8 empty string is no longer equals to 0 2021-02-28 19:16:53 +01:00
AMOS bot bb999f4ff5 Automatically generated installer lang files 2021-02-28 00:07:23 +00:00
AMOS bot 4afb746475 Automatically generated installer lang files 2021-02-27 00:07:29 +00:00
David Matamoros 52627c5f0f MDL-70910 contentbank: fix for using contentid not validated 2021-02-26 14:36:02 +01:00
Tim Hunt 0b661342dc MDL-71009 question bank: escape idnumbers when displayed 2021-02-26 12:47:33 +00:00
Eloy Lafuente (stronk7) bbe91c4828 MDL-70876 php80: 5th param removed from custom error handlers
It was deprecated in php72 and now it's gone.

Have used this regexp to find all the uses in core:

ag set_error_handler | uniq

And then checked all them manually, that parameter was not
being used in the 3 methods where we are removing it.
2021-02-26 13:08:31 +01:00
Eloy Lafuente (stronk7) 0cbda5bda4 MDL-68735 env: Moodle 3.8.x, 3.9.x and 3.10.x do not support PHP 8.0 2021-02-26 13:08:03 +01:00
Marina Glancy e87182d827 MDL-70877 php: remove final functions __clone and __wakeup
Implementing these functions as final does not prevent the object to be
cloned or serialized, so the comment to them was wrong.
However having these functions not public breaks in PHP 8.0.
It still does not make sense to clone or serialise file_system or external_settings classes
but there are a lot of classes in moodle that should not be cloned, no reason to have
a specific solution here.
2021-02-26 13:07:55 +01:00
David Matamoros f648e9d0fa MDL-70941 contentbank: fix empty equality check when renaming content 2021-02-26 12:01:51 +01:00
Eloy Lafuente (stronk7) 7b1dd2fbee MDL-70457 forms: php74 fix for the (not used in core) date element
Curly brackets to access by index to strings or arrays is
deprecated since php74.
2021-02-26 11:55:28 +01:00
Amaia Anabitarte a3cc4fd3b1 MDL-67119 core_analytics: Analyse users once per course
User's activity in a course should be analysed only once
no matter the number of enrolments the user has in that course.
2021-02-26 11:48:09 +01:00
Jun Pataleta 4652b66ee4 weekly release 3.11dev 2021-02-26 13:42:46 +08:00
Jun Pataleta cb75adc946 Merge branch 'install_311_STABLE' of https://git.in.moodle.com/amosbot/moodle-install into MOODLE_311_STABLE 2021-02-26 13:42:43 +08:00
Marina Glancy f2adb56be0 MDL-70921 repository: filter function can not accept argument by ref
PHP8.0 shows error that filter function accepts value by reference
The nested filtering was never working but also this function was never called on a tree with sub-levels,
so this logic is now removed
2021-02-25 18:25:05 +01:00
David Mudrák deb99d0c7e MDL-70964 lang: Use the fixed strings in tests 2021-02-25 16:32:11 +01:00
Helen Foster d37a1b7e9f MDL-70964 lang: Import fixed English strings (en_fix) 2021-02-25 16:31:43 +01:00
Jun Pataleta b5e913a5c4 Merge branch 'MDL-70169-311' of git://github.com/lameze/moodle into MOODLE_311_STABLE 2021-02-25 12:30:11 +08:00
Jun Pataleta 71287b89ff Merge branch 'MDL-70768-langpack-admin-MOODLE_311_STABLE' of https://github.com/brendanheywood/moodle into MOODLE_311_STABLE 2021-02-25 11:30:38 +08:00
AMOS bot da37a00736 Automatically generated installer lang files 2021-02-25 00:07:26 +00:00
Paul Holden 7aee6e2fb2 MDL-69883 message: fix lazy loading of conversations.
Set max-height on each container section rather than the container
itself, so that each can respond to the scrollBottom event within
the lazy loading module (which handles the overflow itself).
2021-02-24 22:01:34 +00:00
Paul Holden 18628ed5b9 MDL-70995 user: format group names in course participants filter. 2021-02-24 19:26:04 +00:00
Iñigo Zendegi 62f91770e2 MDL-69097 mod_forum: Apply filters to whole forum grading 2021-02-24 17:09:50 +01:00
Víctor Déniz 31ab9835e8 Merge branch 'MDL-51111-muc-reset-MOODLE_311_STABLE' of https://github.com/brendanheywood/moodle into MOODLE_311_STABLE 2021-02-24 14:07:55 +00:00
Shamim Rezaie 4b73612459 MDL-70287 core_payment: Redirect user to the successurl after payment 2021-02-24 22:47:22 +11:00
Shamim Rezaie 058e57bc88 MDL-70287 core_payment: Add get_success_url to service_provider 2021-02-24 22:47:21 +11:00
Shamim Rezaie e37e06d194 MDL-70287 core_payment: Improving existing and missing phpdocs 2021-02-24 22:47:21 +11:00
Eloy Lafuente (stronk7) 70a7ba1edd Merge branch 'MDL-70828-311' of git://github.com/abgreeve/moodle into MOODLE_311_STABLE 2021-02-24 12:15:05 +01:00
Adrian Greeve e7c47b194c MDL-70828 performance: Allow session locking issue to be turned off.
If a developer has debugging on then they will recieve all debugging
messages for locking whether wanted or not. We already have a setting
to display these messages.
2021-02-24 11:28:06 +08:00
Brendan Heywood 27758f45f1 MDL-51111 cache: Don't lock and write the config file if unchanged 2021-02-24 12:43:42 +11:00
Andrew Nicols bcd05412b6 MDL-70987 core_form: Use correct id for elementid during validation
The id of the formid was being passed instead of the elementid.
2021-02-24 09:06:27 +08:00
Eloy Lafuente (stronk7) 9e59404425 Merge branch 'MDL-52817-311' of git://github.com/paulholden/moodle into MOODLE_311_STABLE 2021-02-23 19:08:04 +01:00
Eloy Lafuente (stronk7) 197775a6bb MDL-70314 lib: Remove a few more hidden files and add instructions 2021-02-23 18:39:24 +01:00
Eloy Lafuente (stronk7) 954212adf8 Merge branch 'MDL-70314-311' of https://github.com/Chocolate-lightning/moodle into MOODLE_311_STABLE 2021-02-23 18:34:07 +01:00
Eloy Lafuente (stronk7) 6e9c9f7f87 Merge branch 'MDL-70920-311' of git://github.com/marinaglancy/moodle into MOODLE_311_STABLE 2021-02-23 17:43:39 +01:00
Sara Arjona 2ac767233a MDL-67974 core_badges: Recovered expired stamp
Expired stamp icon displayed over the badge images has been added
again to CSS (it was lost at any point).
2021-02-23 15:32:41 +01:00
Sara Arjona 0e63ad9f4c MDL-67974 core_badges: Badge expiry date when hover
Text displayed for expired badges when the user hovers over the
warning (!) icon has been fixed in the "Issued badge information"
page.
2021-02-23 15:32:41 +01:00
Víctor Déniz fb8e9abd70 Merge branch 'MDL-70038-311' of https://github.com/jpahullo/moodle into MOODLE_311_STABLE 2021-02-23 12:23:14 +00:00
Jordi Pujol Ahulló 0846a76c68 MDL-70038 assign: add suport for pdftoppm tool
pdftoppm (from poppler-utils package) is several orders of
magnitude quicker than ghostscript extracting PNG images
from PDF documents.

We add support for this tool and use it whenever set up,
or using gs as before if missing.

Revisited code with peer review comments. In particular:

1. Make default path for pdftoppm empty string.
2. Fix a typo on the method description for get_gs_command_for_image.
3. Added more information why is useful pdftoppm into string pathtopdftoppm_help.
4. Check that path for pdftoppm is executable to prevent errors. Otherwise, use gs.
2021-02-23 08:08:23 +01:00
Brendan Heywood e4f011cf78 MDL-70424 auth: Avoid random changes to $CFG->auth 2021-02-23 11:41:34 +11:00
Eloy Lafuente (stronk7) 8a620aa0e9 Merge branch 'MDL-43697-311' of https://github.com/praxisdigital/moodle into MOODLE_311_STABLE 2021-02-22 23:10:03 +01:00
Marina Glancy e334bd9921 MDL-70967 enrol_meta: fix error in unittest 2021-02-22 18:06:38 +01:00
Marina Glancy 681c70017c MDL-70901 core: @ no longer masks errors in PHP 8.0 2021-02-22 16:19:37 +01:00
Marina Glancy 920331e74e MDL-70901 cache: @ no longer masks errors in unlink in php 8 2021-02-22 16:19:37 +01:00
Marina Glancy 03b198f45d MDL-70901 core_files: @ does no mask errors in php8 anymore 2021-02-22 16:19:37 +01:00
Marina Glancy 8b5bd4fb00 MDL-70901 backup: check handle before calling fclose()
@fclose no longer catches error in PHP 8.0 when handle is null
2021-02-22 16:19:37 +01:00
Sara Arjona 172dc36b46 MDL-63961 core_badges: Use high-resolution image
High-resolution image for a badge (f3) should be sent to external
backpacks through JSON and WS methods.
Besides, when a badge is cloned, the high-resolution image should be
used to avoid the copied looks blurry.
2021-02-22 12:52:04 +01:00
Mark Nelson 0f33c1b820 MDL-70125 core_grade: do not change overridden status during regrading 2021-02-22 17:35:53 +08:00
Mathew May e7268eff4b MDL-70314 lib: Change XLSX wrapper to no change the default styles
This is required due to changes in the base library see #1712
Summary is that if a column already has styling it can't be overpowered.
2021-02-22 15:33:56 +08:00
Mathew May f079df4ce2 MDL-70314 lib: Apply Moodle specific phpspreadsheet changes 2021-02-22 15:33:21 +08:00
Mathew May 8ff625ed61 MDL-70314 lib: Upgrade PhpSpreadsheet to 1.16.0 2021-02-22 15:33:21 +08:00
Andrew Nicols daaf5f372d MDL-69259 h5pactivity: Whitespace fix 2021-02-22 12:21:12 +08:00
Andrew Nicols f14b74138c Merge branch 'MDL-69259-311' of git://github.com/ilyatregubov/moodle into MOODLE_311_STABLE 2021-02-22 12:19:33 +08:00
AMOS bot 542bfd1cb7 Automatically generated installer lang files 2021-02-22 00:07:26 +00:00
Andrew Nicols 3340e11074 Merge branch 'MDL-70879_311' of https://github.com/stronk7/moodle into MOODLE_311_STABLE 2021-02-22 07:50:15 +08:00
Marina Glancy 267fe07d4a MDL-70920 core: prevent calls to call_user_fun_array() with assoc array 2021-02-21 22:22:56 +01:00
Marina Glancy acc72a1f00 MDL-70920 backup: call_user_func_array can accept named arguments
Because arguments names do not match in associative array, we change it to regular array or arguments
2021-02-21 22:22:56 +01:00
Marina Glancy 19d1a2ee61 MDL-70891 core: fix the lang_string::__set_state()
The function must be static and actually has to do what it is supposed to. It also breaks PHP 8.0
2021-02-21 22:09:29 +01:00
Paul Holden b81f03d1da MDL-52817 dml: implement driver methods for SQL group concatenation. 2021-02-19 15:30:54 +00:00
David Mudrák d83ceadf07 MDL-70608 lang: Recommend running the scheduled task to update packs 2021-02-19 15:55:41 +01:00
David Mudrák b21d428307 MDL-70608 lang: Install langpacks asynchronously via ad hoc task
When multiple language packs are selected for installation, perform the
installation asynchronously in the background via ad hoc task.
2021-02-19 15:55:41 +01:00
Daniel Kristian Steffensen 94f2284bdb MDL-43697 backup: Archived badges are restored during course restore 2021-02-19 15:50:42 +01:00
Ilya Tregubov b263d9b720 MDL-69259 h5pactivity: Add get_user_attempts webservice 2021-02-19 16:09:23 +02:00
Eloy Lafuente (stronk7) 03df3f1c51 MDL-70879 behat: Bump to Behat 3.8.x (required for php80) 2021-02-19 14:49:15 +01:00
Víctor Déniz af0040445a weekly release 3.11dev 2021-02-19 12:39:06 +00:00
Víctor Déniz 6b4a466e16 NOBUG: Fixed file access permissions 2021-02-19 12:39:06 +00:00
Víctor Déniz 25d8c845e2 Merge branch 'install_311_STABLE' of https://git.in.moodle.com/amosbot/moodle-install into MOODLE_311_STABLE 2021-02-19 12:39:00 +00:00
Jake Dallimore f1feceffe4 Merge branch 'MDL-64554-311-fix2' of git://github.com/andrewnicols/moodle into MOODLE_311_STABLE 2021-02-19 11:53:40 +08:00
Andrew Nicols ba42ad4aa1 MDL-64554 user: Fix use of Private files page on classic
The "Private files" link does not exist in the site navigation when
using the classic theme, so it is not possible to test the dedicated
page via Behat at this time.
2021-02-19 09:34:40 +08:00
AMOS bot e2f1086226 Automatically generated installer lang files 2021-02-19 00:07:34 +00:00
Marina Glancy 5e343e277b MDL-64554 form: reset form change checker before triggering submit event 2021-02-18 13:08:33 +01:00
Jun Pataleta 7f23a739ed Merge branch 'MDL-47410-311' of git://github.com/andrewnicols/moodle into MOODLE_311_STABLE 2021-02-18 11:23:45 +08:00
Andrew Nicols 319a5f42af Merge branch 'MDL-64554-311' of git://github.com/andrewnicols/moodle into MOODLE_311_STABLE 2021-02-18 11:16:58 +08:00
Andrew Nicols f5e4e9cdbc MDL-64554 core_form: Rename class for dynamic form 2021-02-18 11:16:21 +08:00
Andrew Nicols c71876c818 Merge branch 'MDL-70880-311' of git://github.com/paulholden/moodle into MOODLE_311_STABLE 2021-02-18 10:48:05 +08:00
Andrew Nicols 0b09c2556f Merge branch 'MDL-64554-311' of git://github.com/andrewnicols/moodle into MOODLE_311_STABLE 2021-02-18 10:22:45 +08:00
Andrew Nicols aac6ad5f93 MDL-64554 core_form: CI fixes 2021-02-18 10:10:43 +08:00
Andrew Nicols 6b8b548779 MDL-47410 behat: Perform exact match for date_time selectors 2021-02-18 09:34:59 +08:00
Víctor Déniz dc054248ed Merge branch 'MDL-70536-reset-page-cli-MOODLE_311_STABLE' of https://github.com/brendanheywood/moodle into MOODLE_311_STABLE 2021-02-18 00:34:45 +00:00
David Mudrák e2f81e4a8e MDL-70931 xmldb: Generate install.xml files with EOL and EOF
As discussed in MDLSITE-6397, all Moodle code files should end with
single Unix-style end of line character. Files created and edited
through the XMLDB editor should follow this rule, too.
2021-02-17 21:05:53 +01:00
Marina Glancy d58581358f MDL-64554 core_form: Move strings to outputrequirements.lib 2021-02-17 18:09:42 +01:00
Marina Glancy 4868d7b93e MDL-64554 user: make private files editor modal/ajax form 2021-02-17 18:09:42 +01:00
Marina Glancy 9f47d93ba6 MDL-64554 core_customfield: use modal forms for fields 2021-02-17 18:09:41 +01:00
Marina Glancy 1d33351fbb MDL-64554 core_form: new API for modal forms 2021-02-17 18:09:38 +01:00
Víctor Déniz 93034373df Merge branch 'MOODLE_311_MDL-70752' of https://github.com/golenkovm/moodle into MOODLE_311_STABLE 2021-02-17 16:57:18 +00:00
Tim Hunt 9bc2094202 MDL-70916 Essay/Moodle XML: min and max word limits not imported 2021-02-17 11:32:56 +00:00
Eloy Lafuente (stronk7) 7591ad49c7 Merge branch 'MDL-70552-311' of git://github.com/ilyatregubov/moodle into MOODLE_311_STABLE 2021-02-17 10:26:41 +01:00
Ilya Tregubov d208bc5353 MDL-70552 core_message: Show popup for teachers when anonymous
user completed feedback.
2021-02-17 08:43:21 +02:00
Andrew Nicols 52e980f548 MDL-68853 mod_h5pactivity: Whitespace fix 2021-02-17 12:03:20 +08:00
Andrew Nicols fd5822c4c3 Merge branch 'MDL-68853-311' of git://github.com/ilyatregubov/moodle into MOODLE_311_STABLE 2021-02-17 12:03:17 +08:00
Andrew Nicols 5e99241c0c Merge branch 'MDL-47410-311' of git://github.com/mihailges/moodle into MOODLE_311_STABLE 2021-02-17 09:40:14 +08:00
AMOS bot 036a0fe243 Automatically generated installer lang files 2021-02-17 00:07:31 +00:00
Andrew Nicols 615541ceec Merge branch 'MDL-70264-311' of git://github.com/sarjona/moodle into MOODLE_311_STABLE 2021-02-17 07:26:37 +08:00
Eloy Lafuente (stronk7) d4b6fb8d32 Merge branch 'MDL-69562_311' of https://github.com/dvdcastro/moodle into MOODLE_311_STABLE 2021-02-16 22:39:25 +01:00
Eloy Lafuente (stronk7) a49d63db27 Merge branch 'MDL-66600_311' of https://github.com/mkassaei/moodle into MOODLE_311_STABLE 2021-02-16 22:12:03 +01:00
Eloy Lafuente (stronk7) ad911e4f78 Merge branch 'MDL-70525_311' of https://github.com/TomoTsuyuki/moodle into MOODLE_311_STABLE 2021-02-16 19:56:20 +01:00
Eloy Lafuente (stronk7) 2ec39bb193 Merge branch 'MDL-48269-311-4' of git://github.com/junpataleta/moodle into MOODLE_311_STABLE 2021-02-16 19:49:43 +01:00
Sara Arjona d0840f514c MDL-70912 mod_data: Add filepicker to the H5P Atto button
The filepicker wasn't displayed fot the H5P Atto button when a text
area database field was created because some options were missing
in the textarea field class.
2021-02-16 18:17:14 +01:00
Sara Arjona dfc9092c39 Merge branch 'MDL-69762_M311_STABLE' of https://github.com/grillonbleu/moodle into MOODLE_311_STABLE 2021-02-16 15:29:47 +01:00
Jun Pataleta ef9bf314c4 MDL-48269 core_backup: Prevent unwanted group icons from being restored
* Old backups might have hidepicture defined and set to 1 in which case
we must make sure to exclude the group picture for these groups from
being restored.
2021-02-16 22:28:43 +08:00
Jun Pataleta ce6a52f8c3 MDL-48269 mod_forum: Remove occurrences of hidepicture 2021-02-16 12:53:34 +08:00
Jun Pataleta 19a3252053 MDL-48269 messageoutput_email: Remove occurrences of hidepicture 2021-02-16 12:53:34 +08:00
Jun Pataleta 77c263c0c9 MDL-48269 group: Remove additional occurrences of hidepicture 2021-02-16 12:53:34 +08:00
Frederic Massart 2248714268 MDL-48269 language: Deprecating 'hidepicture' string 2021-02-16 12:53:34 +08:00
Frederic Massart 026d2d227b MDL-48269 group: Remove the option to hide the picture of a group
Plus additional amendments to Fred's original commit:
1. Updating the version numbers
2. Merging the original two-step upgrade below into one for simplicity:
   1. Deleting the pictures for groups with hidepicture set to 1; and
   2. Dropping the hidepicture field itself.
3. Converted array() usages to the short syntax [].
2021-02-16 12:53:30 +08:00
AMOS bot f013aa7c8e Automatically generated installer lang files 2021-02-16 00:07:28 +00:00
Eloy Lafuente (stronk7) 4b87850904 Merge branch 'MDL-70806-311' of git://github.com/ferranrecio/moodle into MOODLE_311_STABLE 2021-02-15 22:29:24 +01:00
Eloy Lafuente (stronk7) 6b1cab3630 Merge branch 'MDL-70882-311' of git://github.com/andrewnicols/moodle into MOODLE_311_STABLE 2021-02-15 22:22:24 +01:00
François Moreau e8c98e17e6 MDL-69762 core_contentbank: let users hide their content 2021-02-15 13:49:57 -05:00
Marina Glancy a282cbd3f9 MDL-70896 mod: libxml_disable_entity_loader is deprecated in php 8.0 2021-02-15 19:00:40 +01:00
Marina Glancy d2d0cffd1d MDL-70893 various: optional function arguments must be in the end 2021-02-15 16:54:01 +01:00
Marina Glancy dbb31d14d6 MDL-70898 various: private functions can not be declared final 2021-02-15 16:37:05 +01:00
Marina Glancy 9a1ea11a0b MDL-70899 dml: set_db_handle() definition not compatible with parent 2021-02-15 16:31:26 +01:00
Mahmoud Kassaei 6b93f2cb9d MDL-66600 quiz manual grading: show any automated grading and feedback 2021-02-15 08:23:40 +00:00
Adrian Greeve 177491645f Merge branch 'MDL-70735-pdf-metadata-MOODLE_311_STABLE' of https://github.com/brendanheywood/moodle into MOODLE_311_STABLE 2021-02-15 09:04:33 +08:00
Andrew Nicols fa64a7ce8d MDL-70882 performance: Revert "MDL-47456 core: Remove redundant DB call during bootstrap"
This reverts commit 522e4c6c76.

The DB calls are not redundant and have an impact in a number of edge
cases.
2021-02-15 08:21:20 +08:00
Paul Holden 1efc1a723c MDL-66025 user: require message content in bulk action.
Also import missing 'core/notification' dependency.
2021-02-14 20:10:32 +00:00
Paul Holden 7796421dea MDL-70880 message: preserve window scroll when close message drawer. 2021-02-14 19:29:26 +00:00
AMOS bot 87712caf89 Automatically generated installer lang files 2021-02-13 00:07:33 +00:00
Ilya Tregubov ea8175e141 MDL-68853 h5pactivity: Add a websevice to trigger report_viewed event. 2021-02-12 15:50:07 +02:00
Brendan Heywood 97a3fbdbb5 MDL-70735 tcpdf: Reduce information disclosure from TCPDF 2021-02-12 15:42:01 +11:00
Simey Lameze 0226aa3090 MDL-70169 login: fix accessibility issues 2021-02-12 12:12:45 +08:00
Paul Holden 7d7259f1b6 MDL-70789 theme_boost: fix double click on drawer hiding content.
If the drawer toggle button was clicked in quick succession to close
and then re-open, then the delayed Aria.hide method would be called
which hid the drawer content when it finished opening.
2021-02-11 21:45:49 +00:00
Sara Arjona a71954fc77 MDL-70264 badges: remove badges/oauth2callback.php
File badges/oauth2callback.php has been removed and now badges
API will use admin/oauth2callback.php because it makes no sense having
it twice.

Credits go to Andrew Nicols for raising it!
2021-02-11 16:58:41 +01:00
Sara Arjona a2fda1289f weekly release 3.11dev 2021-02-11 14:54:40 +01:00
Sara Arjona a61d1821b5 NOBUG: Fixed file access permissions 2021-02-11 14:54:40 +01:00
Sara Arjona 43aa3e828a Merge branch 'install_311_STABLE' of https://git.in.moodle.com/amosbot/moodle-install into MOODLE_311_STABLE 2021-02-11 14:54:38 +01:00
Ferran Recio c7cbd92f8c MDL-70806 h5p: fix resize glitch 2021-02-11 13:12:12 +01:00
Mihail Geshoski b8a5e4463e MDL-47410 mod_assign: Update mod_assign behat tests
Updates the mod_assign behat tests to utilize the ability to
conviniently populate the datetime selector fields.
2021-02-11 12:11:06 +08:00
Mihail Geshoski ac28d4fc96 MDL-47410 behat: Support selection from the datetime selector element
Adds behat support for selecting date and time from a datetime selector
element. The passed values should represent a textual date and time
description wrapped in '##' (e.g. '##first day of January 2020 08:00##',
'##1 Jan 2020 10:30##'). Also, the value 'disabled' is valid and can be
used to disable the datetime selector element.
2021-02-11 12:11:06 +08:00
Mihail Geshoski f92c2e9eba MDL-47410 tool_licensemanager: Update tool_licensemanager behat tests
Updates the tool_licensemanager behat tests to utilize the ability to
conviniently populate the date selector fields.
2021-02-11 12:11:06 +08:00
Mihail Geshoski 8d7a6f740d MDL-47410 behat: Support date selection from the date selector element
Adds behat support for selecting a date from the date selector element.
The passed values should represent a textual date description wrapped
in '##' (e.g. '##first day of January 2020##', '##1 Jan 2020##'). Also,
the value 'disabled' is valid and can be used to disable the date
selector element.
2021-02-11 12:11:06 +08:00
Mihail Geshoski bcd7a97d33 MDL-47410 behat: Create custom selector for the date and datetime fields
Creates a custom field selector to locate the requested date or datetime
form fields.
2021-02-11 12:11:06 +08:00
Mihail Geshoski 44558f34ca MDL-47410 behat: Move logic from guess_type() to a separate method
Moves the logic from guess_type() to a separate protected method
get_field_instance_for_element(). This would be quite useful for
form field classes as they can now use this method when there is
a need to determine the type of a given node element.
2021-02-11 12:11:06 +08:00
Mihail Geshoski c70d7f624f MDL-47410 behat: Use data-fieldtype attribute to guess the field type
The data-fieldtype attribute (if present) should be also utilized in
guess_field_type() and match the behavior in get_field_node_type().
2021-02-11 12:11:05 +08:00
Mihail Geshoski 72ad6a2b2c MDL-47410 form: Add data-fieldtype attribute to checkbox inline element
Includes the data-fieldtype attribute to the checkbox inline form
element. This element does not extend the parent inline element
template due to its specific nature and therefore this attribute was
missing.
2021-02-11 12:11:05 +08:00
Tuan.Dinh 8aab39c1d2 MDL-70124 course: Activity names are now trimmed. 2021-02-11 11:11:12 +08:00
Adrian Greeve 1d44395512 Merge branch 'MDL-70755_311' of https://github.com/mkassaei/moodle into MOODLE_311_STABLE 2021-02-11 10:53:35 +08:00
Adrian Greeve 3153941092 Merge branch 'MDL-70773_311' of https://github.com/mkassaei/moodle into MOODLE_311_STABLE 2021-02-11 10:18:30 +08:00
Adrian Greeve bbb937067e Merge branch 'MDL-70513_311' of https://github.com/timhunt/moodle into MOODLE_311_STABLE 2021-02-11 10:06:15 +08:00
John Yao 4f998e5004 MDL-70627 filters: aarch64 mimetex type support for filter tex notation
Amended to correct permissions.
2021-02-11 02:41:05 +01:00
Adrian Greeve e2e91b493d Merge branch 'MDL-69867-311_display_grade_with_scale' of git://github.com/moffe42/moodle into MOODLE_311_STABLE 2021-02-11 09:24:15 +08:00
Brendan Heywood 33788af7b2 MDL-70768 tool_langimport: Make installed admin UI more consistent 2021-02-11 11:36:04 +11:00
AMOS bot 8701806622 Automatically generated installer lang files 2021-02-11 00:07:27 +00:00
Brendan Heywood 778c0e5fb3 MDL-70766 auth: Add all auth plugin changes to configlog 2021-02-11 11:05:53 +11:00
Sara Arjona d4868df65e Merge branch 'MDL-70732-311' of git://github.com/aanabit/moodle into MOODLE_311_STABLE 2021-02-10 17:20:29 +01:00
Sara Arjona 4611cf3b9f Merge branch 'MDL-70796_311' of https://github.com/timhunt/moodle into MOODLE_311_STABLE 2021-02-10 16:50:09 +01:00
Sara Arjona ea1407452c Merge branch 'MDL-69101_311' of https://github.com/timhunt/moodle into MOODLE_311_STABLE 2021-02-10 15:11:58 +01:00
Sara Arjona 8da0d08c22 Merge branch 'MDL-70631-311-unzip' of git://github.com/mudrd8mz/moodle into MOODLE_311_STABLE 2021-02-10 12:38:11 +01:00
Sara Arjona cfc4b194db Merge branch 'MDL-70736_MOODLE_311_STABLE' of https://github.com/TomoTsuyuki/moodle into MOODLE_311_STABLE 2021-02-10 08:28:15 +01:00
Jacob Christiansen 78b1da0d74 MDL-69867 mod_assign: Display current grade with scale value
When using workflow we show the current grade with its scale value
instead of the internal index
2021-02-10 07:58:12 +01:00
Adrian Greeve e1e6547241 Merge branch 'MDL-70643-311' of git://github.com/paulholden/moodle into MOODLE_311_STABLE 2021-02-10 14:04:37 +08:00
Adrian Greeve 171be5c788 Merge branch 'MDL-52420-311' of https://github.com/sharidas/moodle into MOODLE_311_STABLE 2021-02-10 12:58:25 +08:00
Sara Arjona 878aaf5d7c Merge branch 'MOODLE_311_STABLE-MDL-65390' of https://github.com/yao9394/moodle into MOODLE_311_STABLE 2021-02-09 15:10:50 +01:00
Sara Arjona 578b4156c2 Merge branch 'MDL-68736-311' of git://github.com/ferranrecio/moodle into MOODLE_311_STABLE 2021-02-09 15:05:34 +01:00
Sara Arjona d5b8ef98c2 Merge branch 'MDL-70282-oauth2_improve_error-311' of https://github.com/leonstr/moodle into MOODLE_311_STABLE 2021-02-09 11:05:05 +01:00
Sara Arjona b54bf76664 Merge branch 'MDL-70173-311' of git://github.com/rezaies/moodle into MOODLE_311_STABLE 2021-02-09 08:29:20 +01:00
Sara Arjona 4cd7f621ed Merge branch 'MDL-70377_311' of https://github.com/mkassaei/moodle into MOODLE_311_STABLE 2021-02-09 08:23:30 +01:00
Shamim Rezaie cebee49bf7 MDL-70173 core: Use a meaningful first level header 2021-02-09 16:16:00 +11:00
Shamim Rezaie 1ac3fb7e0e MDL-70173 theme_boost: Fix empty link issue on the "Go to top" button
On behat, we have to use a more specific test step if we are looking
for a "Go" button on a modal. The reason is that the html of the modal
content is put after the html of the "Go to top" button, so behat
may find the "Go to top" button if we just look for "Go".
2021-02-09 16:16:00 +11:00
Shamim Rezaie a53037f5c6 MDL-70173 theme_boost: Increase the size of notification counter
WAVE considers any text with the size of 10px or below really small.
Increasing the font size of the navbar counter by 1px should not make a
big negative impact on the design, but improves accessibility.
2021-02-09 16:16:00 +11:00
Shamim Rezaie ca6a8dfb22 MDL-70173 output: All pages should have a heading
In MDL-63040, it was decided that the page header for the dashboad page
should be removed.
However, Based on Success Criteria 1.3.1 and 2.4.6 from the WebAIM's
WCAG 2 Checklist, all pages should have an <h1> element.
So I put an sr-only heading on the dashboard and all other pages, where
no page header is shown.
2021-02-09 16:16:00 +11:00
Shamim Rezaie 3fcb116eea MDL-70173 dashboard: ARIA role presentation conflicted the empty alt
The markup <img role="presentation" alt="alt text"> is contradictory.

According to https://www.w3.org/TR/2017/WD-wai-aria-practices-1.1-20170628/examples/presentation/PresentationRoleExamples.html
 It is recommended that authors instead use empty alt text (alt="")
 where they use role="presentation".
2021-02-09 16:16:00 +11:00
Shamim Rezaie d97a43417d MDL-70173 message: Fix empty link 2021-02-09 16:16:00 +11:00
Shamim Rezaie 766f52afb9 MDL-70173 output: use an empty alt to hide user pic from screen readers
There is no need to use WAI-ARIA to hide images from screen readers.
See https://www.w3.org/WAI/tutorials/images/decorative/
2021-02-09 16:16:00 +11:00
Tomo Tsuyuki b9812e022d MDL-70525 tool_profiling: Cannot import profiling file
Change type from int to integer to be able to have big numbers
2021-02-09 10:17:01 +11:00
Mahmoud Kassaei dcb319c441 MDL-70377 qtype_essay: When reviewing an attempt as a teacher
In the Response history table, Action Saved: does not display the value
of $a in the language string.
2021-02-08 17:05:03 +00:00
Sara Arjona 82de03b116 Merge branch 'MDL-51287-311' of https://github.com/SangNguyenAnh/moodle into MOODLE_311_STABLE 2021-02-08 11:29:08 +01:00
Andrew Nicols ee74321fa5 Merge branch 'MDL-70429-311' of git://github.com/sarjona/moodle into MOODLE_311_STABLE 2021-02-08 12:27:31 +08:00
Andrew Nicols f00b196906 Merge branch 'MDL-69898-311' of https://github.com/paulholden/moodle into MOODLE_311_STABLE 2021-02-08 10:53:45 +08:00
Andrew Nicols c012235654 Merge branch 'MDL-70614-311' of git://github.com/paulholden/moodle into MOODLE_311_STABLE 2021-02-08 10:35:54 +08:00
Andrew Nicols 92546105b9 Merge branch 'MDL-70725-311' of git://github.com/sarjona/moodle into MOODLE_311_STABLE 2021-02-08 10:30:17 +08:00
Andrew Nicols fd396798d0 Merge branch 'MDL-70719_311' of https://github.com/mkassaei/moodle into MOODLE_311_STABLE 2021-02-08 09:47:21 +08:00
Brendan Heywood 21ace1f7a7 MDL-70536 cli: Fixed cli progress bar when 100% more than once 2021-02-07 00:36:30 +11:00
Brendan Heywood 7459503e31 MDL-70536 cli: Add cli for resetting all dashboards 2021-02-07 00:36:29 +11:00
AMOS bot d8951a8b7f Automatically generated installer lang files 2021-02-06 00:07:27 +00:00
Mahmoud Kassaei c13b829c00 MDL-70719 quiz overrides: only show Actions column header if needed 2021-02-05 15:40:51 +00:00
Tim Hunt 9ca6fd447c MDL-70796 count_words: match the count from LibraOffice & MS Word 2021-02-05 15:31:10 +00:00
Amaia Anabitarte a3d8c4a54c MDL-70732 behat: Adding second parameter to ExpectationException() 2021-02-05 11:01:31 +01:00
Tomo Tsuyuki 77b857714a MDL-70736 gradingform_guide: Fix loading marking guide template issue
Do not check grade item name if it is from shared template.
2021-02-05 10:54:33 +11:00
Sara Arjona d7dd8517fc weekly release 3.11dev 2021-02-04 14:56:13 +01:00
Sara Arjona 2dc9e93753 Merge branch 'install_311_STABLE' of https://git.in.moodle.com/amosbot/moodle-install into MOODLE_311_STABLE 2021-02-04 14:56:11 +01:00
Mikhail Golenkov f9c1978c5e MDL-70752 restore: Fix remote file recovery 2021-02-04 19:20:24 +11:00
sangnguyen a7ac52538e MDL-51287 Profile: Should notify users that changes are saved 2021-02-04 14:56:24 +07:00
Andrew Nicols bf9838f31c Merge branch 'MDL-69748-311' of git://github.com/rezaies/moodle into MOODLE_311_STABLE 2021-02-04 11:52:10 +08:00
Andrew Nicols 691cdcee88 Merge branch 'MDL-64866-311' of git://github.com/ilyatregubov/moodle into MOODLE_311_STABLE 2021-02-04 11:40:48 +08:00
Shamim Rezaie d9cfd2ecc5 MDL-69748 core: Fix hideif issue with array elements
Changed the element selector to get all array elements,
whether named or unnamed. The previus selector was only
working for elements that thir names were like name="something[]".
It was not working for name="something[a]" elements.
2021-02-04 14:38:37 +11:00
Andrew Nicols 914f716b8a Merge branch 'MDL-70579-311' of git://github.com/paulholden/moodle into MOODLE_311_STABLE 2021-02-04 09:30:06 +08:00
Andrew Nicols 69165b6516 Merge branch 'MDL-70632-311' of git://github.com/paulholden/moodle into MOODLE_311_STABLE 2021-02-04 09:26:40 +08:00
AMOS bot c87420a59f Automatically generated installer lang files 2021-02-04 00:07:32 +00:00
Eloy Lafuente (stronk7) 30cc70ec2c MDL-70741 capability overview: missing whitespace after placeholder 2021-02-04 00:01:22 +01:00
Tim Hunt f143531c76 MDL-70513 quiz manual grading: use formchangechecker to avoid dataloss 2021-02-03 16:07:32 +00:00
David Mudrák 6d9412853c MDL-70631 files: Replace hard-coded value with FL_ENC_RAW constant
This is not related to the issue but I noticed it while trying to debug
it.

Back when this line was introduced in 9c140a681e, the ZipArchive had
not yet exposed this flag as a constant. It was added later with PHP
7.0.8 and we can switch to using it now.
2021-02-03 16:09:57 +01:00
David Mudrák db74c9f6fa MDL-70631 files: Fix performance of zip_packer::extract_to_pathname()
The original implementation was based on ZipArchive::getStream() which
turns out to be very slow and if the archive contains many files, the
unzipping performance is very slow.

The patch changes the implementation to use ZipArchive::extractTo()
unless the extracted entry path contains a folder name ending with dot
(such as some/path./to/file.txt). There is a known upstream bug in the
PHP ZIP extension #77214 (also #74619 and #69477) so that we fall back
to keep using the stream in those cases.
2021-02-03 16:09:57 +01:00
Sara Arjona 1605bb60f1 Merge branch 'MDL-70315-311' of git://github.com/paulholden/moodle into MOODLE_311_STABLE 2021-02-03 16:04:25 +01:00
Sara Arjona 66e33a14cc Merge branch 'MDL-70705-311' of git://github.com/lucaboesch/moodle into MOODLE_311_STABLE 2021-02-03 15:33:14 +01:00
Sara Arjona d5923517e8 Merge branch 'MDL-70316-311' of git://github.com/mihailges/moodle into MOODLE_311_STABLE 2021-02-03 15:29:33 +01:00
Luca Bösch ad04c622d8 MDL-70705 block_blog_recent: support multilang blog entry titles 2021-02-03 15:15:12 +01:00
Sara Arjona ac8130d0a4 Merge branch 'MDL-70741_311' of https://github.com/timhunt/moodle into MOODLE_311_STABLE 2021-02-03 14:49:43 +01:00
David Castro 8eae412d42 MDL-69562 admin: Allow getting IP from all sources. 2021-02-03 07:20:22 -05:00
Eloy Lafuente (stronk7) e912f3bb7a Merge branch 'MDL-70711-M311' of git://github.com/kordan/moodle into MOODLE_311_STABLE 2021-02-03 13:06:20 +01:00
Sara Arjona 6331fb14f0 Merge branch 'MDL-70439-311' of https://github.com/DinhHien0307/moodle into MOODLE_311_STABLE 2021-02-03 13:03:10 +01:00
Mahmoud Kassaei 963eaa3453 MDL-70773 Quiz overrides: User links don't point to user profile page 2021-02-03 11:45:07 +00:00
Sara Arjona 6e42f0380a Merge branch 'MDL-70163-311' of git://github.com/paulholden/moodle into MOODLE_311_STABLE 2021-02-03 12:25:35 +01:00
Sara Arjona 44c3d4354b Merge branch 'MDL-70634-311' of git://github.com/ferranrecio/moodle into MOODLE_311_STABLE 2021-02-03 11:34:18 +01:00
Sara Arjona a05c39c117 Merge branch 'MDL-70535-311' of git://github.com/paulholden/moodle into MOODLE_311_STABLE 2021-02-03 11:19:26 +01:00
Paul Holden 21e728c7a4 MDL-70632 tool_langimport: search for available language packs. 2021-02-03 10:03:33 +00:00
Sara Arjona 48174f38b9 Merge branch 'MDL-67959-311-2' of git://github.com/junpataleta/moodle into MOODLE_311_STABLE 2021-02-03 10:50:38 +01:00
Mahmoud Kassaei 90de909f53 MDL-70755 Quiz overrides: Broken layout for Group overrides 2021-02-03 09:26:07 +00:00
Sara Arjona c1dc87c2ed Merge branch 'MDL-66769-311' of git://github.com/ilyatregubov/moodle into MOODLE_311_STABLE 2021-02-03 09:33:02 +01:00
Tim Hunt 1550b2a3e9 MDL-69101 Essay/Moodle XML: recent new settings not imported/exported 2021-02-03 08:10:55 +00:00
Sara Arjona 6085fa0604 Merge branch 'MDL-70621-311' of git://github.com/lucaboesch/moodle into MOODLE_311_STABLE 2021-02-03 09:02:51 +01:00
Sara Arjona 74dde403d6 Merge branch 'MDL-68970_311' of https://github.com/timhunt/moodle into MOODLE_311_STABLE 2021-02-03 08:51:18 +01:00
Luca Bösch 2cb1bdf427 MDL-70621 mod_glossary: use glossary rsstype string. 2021-02-03 08:35:14 +01:00
Luca Bösch cd6180b0d2 MDL-70621 mod_forum: use forum rsstype string. 2021-02-03 08:35:14 +01:00
Ilya Tregubov 8f52651988 MDL-66769 core_h5p: Clean up orphaned h5p records task. 2021-02-03 09:33:17 +02:00
Andrew Nicols eeec65dbb5 Merge branch 'MDL-56772-311' of git://github.com/peterRd/moodle into MOODLE_311_STABLE 2021-02-03 10:57:35 +08:00
Andrew Nicols 803b2374aa Merge branch 'MDL-66932_M311' of https://github.com/nadavkav/moodle into MOODLE_311_STABLE 2021-02-03 10:21:44 +08:00
Andrew Nicols a78d00b18c Merge branch 'MDL-68893-311' of git://github.com/lucaboesch/moodle into MOODLE_311_STABLE 2021-02-03 09:40:51 +08:00
Andrew Nicols d1157ec971 Merge branch 'MDL-68958-311' of git://github.com/peterRd/moodle into MOODLE_311_STABLE 2021-02-03 09:35:11 +08:00
Andrew Nicols 4a14262695 Merge branch 'MDL-70339-311' of git://github.com/peterRd/moodle into MOODLE_311_STABLE 2021-02-03 09:08:49 +08:00
Andrew Nicols fb537d0c39 Merge branch 'MDL-70583-cli-progress-MOODLE_311_STABLE' of https://github.com/brendanheywood/moodle into MOODLE_311_STABLE 2021-02-03 08:28:17 +08:00
Brendan Heywood 52aac97590 MDL-70583 cli: Allow progress bars to be rendered in cli scripts 2021-02-02 22:07:53 +11:00
Sara Arjona b6ea9f0d8c Merge branch 'MDL-70309-311' of git://github.com/ferranrecio/moodle into MOODLE_311_STABLE 2021-02-02 10:44:54 +01:00
Víctor Déniz 91cfc3ce08 Merge branch 'MDL-59782-311' of git://github.com/bmbrands/moodle into MOODLE_311_STABLE 2021-02-02 09:36:02 +00:00
Andrew Nicols 654a25c22f Merge branch 'MDL-70304-311' of git://github.com/ilyatregubov/moodle into MOODLE_311_STABLE 2021-02-02 15:32:13 +08:00
Sara Arjona 82a6dc6dd1 Merge branch 'MDL-70574_311' of https://github.com/timhunt/moodle into MOODLE_311_STABLE 2021-02-02 08:20:25 +01:00
Sara Arjona a5304827cc Merge branch 'MDL-70288-311-2' of git://github.com/junpataleta/moodle into MOODLE_311_STABLE 2021-02-02 07:59:36 +01:00
Ilya Tregubov e1f6c22780 MDL-70304 core: updated adapter.js to 7.4.0 2021-02-02 08:59:09 +02:00
Jun Pataleta 868af1cb0b MDL-70288 qtype: Remove unnecessary empty label string
* When a label is passed to an (advanced) checkbox and no text
  was provided, the label will be displayed on the right of the the
  checkbox element. So there's no point in passing an empty string for
  the label just to render the text to the right of the checkbox.
2021-02-02 14:22:15 +08:00
Jun Pataleta c7b0a60a3c MDL-70288 mod_lti: Remove unnecessary empty label string
* When a label is passed to an (advanced) checkbox and no text
  was provided, the label will be displayed on the right of the the
  checkbox element. So there's no point in passing an empty string for
  the label just to render the text to the right of the checkbox.
2021-02-02 14:22:15 +08:00
Jun Pataleta 9730348163 MDL-70288 core: Remove duplicate labels for checkbox elements
* If there's a label, the text will serve as the description of  the
element.
2021-02-02 14:22:15 +08:00
Jun Pataleta 03d6acbb57 MDL-70288 theme_boost: Manage aria-describedby on form validation
* The aria-describedby attribute can be a list of element IDs that
describe the element. On form validation, the ID of the error message
container is added to this attribute which may already be containing
another ID. So we need to properly add/remove the error message ID
so that we don't delete any existing ID(s) in the aria-describedby
attribute during form validation.
2021-02-02 14:22:15 +08:00
Sujith Haridasan 889d449265 MDL-52420 mod_assign: Save comment when save buttons are clicked
Save comment in the assignment when the Save changes
or Save and show next button are clicked at the bottom
of the page.

Signed-off-by: Sujith Haridasan <sujith@moodle.com>
2021-02-02 10:52:48 +05:30
Eloy Lafuente (stronk7) de5a304746 Merge branch 'MDL-46256_311' of https://github.com/timhunt/moodle into MOODLE_311_STABLE 2021-02-01 23:20:11 +01:00
Eloy Lafuente (stronk7) 80cf455e48 Merge branch 'MDL-70648-311' of git://github.com/lameze/moodle into MOODLE_311_STABLE 2021-02-01 19:17:45 +01:00
Sara Arjona 7eab65170c Merge branch 'MDL-70625-311' of git://github.com/rezaies/moodle into MOODLE_311_STABLE 2021-02-01 15:37:02 +01:00
Paul Holden da9f213b3a MDL-70643 admin: add summary argument to install database CLI.
Show warning for any unrecognised arguments.
2021-02-01 12:33:22 +00:00
Sara Arjona 1706d90d02 Merge branch 'MDL-70734-311' of git://github.com/andrewnicols/moodle into MOODLE_311_STABLE 2021-02-01 12:30:13 +01:00
Sara Arjona 9db1e485ee Merge branch 'MDL-70740-311' of git://github.com/andrewnicols/moodle into MOODLE_311_STABLE 2021-02-01 11:25:12 +01:00
Paul Holden f86f396226 MDL-69898 admin: link to config changes report from logged event. 2021-02-01 09:14:02 +00:00
Paul Holden 7ee621420d MDL-69898 report_configlog: allow searching settings by page parameter. 2021-02-01 09:14:02 +00:00
Paul Holden 58b31a5e75 MDL-70614 user: consistent roles spacing in course profile. 2021-02-01 07:54:56 +00:00
Andrew Nicols 5b51e88492 Merge branch 'MDL-58673-311' of git://github.com/paulholden/moodle into MOODLE_311_STABLE 2021-02-01 14:05:14 +08:00
Andrew Nicols d5ff729197 MDL-70734 behat: Increase the WebDriver Curl timeout 2021-02-01 09:49:54 +08:00
AMOS bot d5094e6846 Automatically generated installer lang files 2021-02-01 00:07:30 +00:00
Andrew Nicols ac2e94f946 MDL-70740 behat: Composer bump for new version of Mink Driver 2021-01-31 20:26:35 +08:00
AMOS bot db80653efa Automatically generated installer lang files 2021-01-31 00:07:26 +00:00
Luca Bösch 908f4ca718 MDL-68893 mod_data: use own RSS feed string.
AMOS BEGIN
 CPY [rsstype,core],[rsstype,mod_data]
AMOS END
2021-01-29 23:21:20 +01:00
Tim Hunt 341b7245df MDL-70741 capability overview: avoid errors from orphan contexts 2021-01-29 20:49:06 +00:00
Víctor Déniz fb9419ec0b weekly release 3.11dev 2021-01-29 17:12:59 +00:00
Víctor Déniz 01af47f95d Merge branch 'install_311_STABLE' of https://git.in.moodle.com/amosbot/moodle-install into MOODLE_311_STABLE 2021-01-29 17:12:54 +00:00
Jake Dallimore 1cca977486 Merge branch 'MDL-66979-311-7' of git://github.com/andrewnicols/moodle into MOODLE_311_STABLE 2021-01-29 15:43:14 +08:00
Andrew Nicols 5a706a506c MDL-66979 behat: Mark some tests as being slow
Uses of the httpsreplace and customlang tools are known to be extremely
slow.

In our CI infrastructure on slwoer DBs, the customlang tool can take
over 90 seconds to load the page, whilst the httpsreplace tool can take
up to about 60 seconds.

These changes set appropriate timeout factors to increase the timeout
accordingly.
2021-01-29 14:18:51 +08:00
Andrew Nicols 3d89a661df MDL-66979 behat: Add a step to set a timeout factor for a test 2021-01-29 14:18:51 +08:00
Eloy Lafuente (stronk7) 909f1d7203 MDL-66979 behat: Goutte driver doesn't implement setTimeouts()
Also, change:

get_real_timeout(30000)

to:

get_real_timeout(30) * 1000

because the original functions are defined to use seconds, and
having the 1000 around will help us detecting cases in the case
of a hypothetical review of uses.
2021-01-29 14:18:45 +08:00
Jun Pataleta cd030a854b MDL-67959 mod_forum: Display group pictures in forum only if available
Displaying a default group picture in forum posts leads to confusion,
so better to not display a default group picture when the group
picture is not set for the group.
2021-01-29 12:30:06 +08:00
AMOS bot 39e785e4b0 Automatically generated installer lang files 2021-01-29 00:07:30 +00:00
Eloy Lafuente (stronk7) 01fd844e94 MDL-66979 behat: Goutte driver doesn't implement setTimeouts()
Also, change:

get_real_timeout(30000)

to:

get_real_timeout(30) * 1000

because the original functions are defined to use seconds, and
having the 1000 around will help us detecting cases in the case
of a hypothetical review of uses.
2021-01-28 17:12:05 +01:00
Sara Arjona 4a29cae1fb MDL-70429 repository_contentbank: set default returntype
Credits for Alexander Bias, for sharing the patch!

The content bank was designed for making easier to reuse content.
So "Link to the file" should be the default option when using the
contentbank repository, in order to let teachers modify their
content in the content bank and update automatically it everywhere
is used.
2021-01-28 16:45:50 +01:00
Leon Stringer 6a6cd2bb5d MDL-70282 oauth: Improve error information
If the request to the OAuth 2 token endpoint fails show the response
body the endpoint returned with its HTTP status (when debug: DEVELOPER).
If no response is available show any error returned by Curl.  Previously
none of this information was available making troubleshooting difficult.

If a token refresh fails in \core\oauth2\refresh_system_tokens_task an
exception is now thrown so that the result is shown as "Fail" on
admin/tasklogs.php?filter=core\oauth2\refresh_system_tokens_task
2021-01-28 10:02:58 +00:00
Eloy Lafuente (stronk7) dc7b085229 Merge branch 'MDL-66979-311-7' of git://github.com/andrewnicols/moodle into MOODLE_311_STABLE 2021-01-28 09:08:53 +01:00
Kordan 954bce987a MDL-70711 form: deleted useless if block
get_magic_quotes_gpc() always return false since PHP 5.3 so (1 == get_magic_quotes_gpc()) is never verified.
This allows me to safetly delete what I dropped out.
2021-01-28 08:40:42 +01:00
Andrew Nicols e631b8c5e1 MDL-66979 behat: Set script timeout with timeout factor 2021-01-28 15:27:49 +08:00
Andrew Nicols ec9bb74405 MDL-66979 behat: Correct selenium2 reference in config-dist 2021-01-28 15:08:10 +08:00
Andrew Nicols 7cff15dc4d MDL-66979 behat: Handle driver stop failure properly
An case was found where the webdriver stop() call could fail in an
AfterScenario hook, leading to a complete rerun if no other errors were
experienced.
2021-01-28 15:07:52 +08:00
Jun Pataleta 67ddc3a9a2 Merge branch 'MDL-70444-dashboard-reset-progress-311' of https://github.com/Peterburnett/moodle into MOODLE_311_STABLE 2021-01-28 09:53:56 +08:00
Andrew Nicols 0911cc0b1e Merge branch 'MDL-70048-311' of git://github.com/peterRd/moodle into MOODLE_311_STABLE 2021-01-28 08:04:22 +08:00
Peter Dias 384d1874ac MDL-70048 dropbox: Augmented unit tests to account for additional params 2021-01-28 07:32:20 +08:00
Peter Dias 0cc373fca6 MDL-70048 dropbox: Update the dropbox search URL.
- Update fetch_dropbox_data to allow different result nodes and version
- Update search to the new URL with new params
- Update the get entities function to account for the change in structure.
2021-01-28 07:32:20 +08:00
Víctor Déniz 40f7439381 Merge branch 'MDL-69816-311' of git://github.com/paulholden/moodle into MOODLE_311_STABLE 2021-01-27 18:23:12 +00:00
Sara Arjona 8c696c7f95 MDL-70725 oauth2: move expectException to separate method 2021-01-27 17:54:08 +01:00
Víctor Déniz c1f4d038d4 Merge branch 'MDL-70585-311' of git://github.com/paulholden/moodle into MOODLE_311_STABLE 2021-01-27 10:21:00 +00:00
hiendinh 6972d1a9d8 MDL-70439 Profile: Indicate user email address settings on own profile 2021-01-27 13:40:19 +07:00
Mihail Geshoski f752cd1a71 MDL-70316 core: Update the emoji categories in the emoji picker 2021-01-27 13:37:47 +08:00
Mihail Geshoski ef03523704 MDL-70316 core: Document emoji-data upgrade and update version in core 2021-01-27 13:37:47 +08:00
Mihail Geshoski ea2fac7ca2 MDL-70316 core: Upgrade emoji-data to 6.0.0 2021-01-27 13:37:47 +08:00
Mihail Geshoski 0dd59085a5 MDL-70316 core: Update the categories in the emoji data generator script
The emoji categories were modified in the newer versions of the
emoji-data library. Therefore, the category list in $categorysortorder
needs to be updated with the correct category names in order to properly
sort the categories in the generated emoji data file.
2021-01-27 13:37:47 +08:00
Mihail Geshoski d63aa867d6 MDL-70316 core: Detect category name changes in the emoji data generator
The emoji data generator script is enabled to detect inconsistencies
between the emoji category names used in the emoji-data library and the
ones used in Moodle. These inconsistencies should be fixed, as soon as
they are detected upon library upgrade.
2021-01-27 13:37:47 +08:00
John Yao 1a013d3fee MDL-65390 accessibility: correct focus after "Show more" clicked 2021-01-27 11:21:52 +11:00
AMOS bot 8194b3151c Automatically generated installer lang files 2021-01-27 00:07:30 +00:00
Eloy Lafuente (stronk7) cdb14d91f7 Merge branch 'MDL-66979-311-7' of git://github.com/andrewnicols/moodle into MOODLE_311_STABLE 2021-01-26 22:44:11 +01:00
Víctor Déniz d3e82b7640 Merge branch 'MDL-70528-311' of git://github.com/ilyatregubov/moodle into MOODLE_311_STABLE 2021-01-26 14:05:22 +00:00
Ilya Tregubov f283de3d3e MDL-70528 h5pactivity: Fix block can't be added to h5pactivity page. 2021-01-26 15:44:26 +02:00
Ferran Recio 269449644d MDL-68736 h5pactivity: remove legacy log method 2021-01-26 11:16:14 +01:00
Paul Holden 1fc46d1583 MDL-70163 core: fix attachment validation when localrequestdir absent.
Switch the order of operations performed when collating list of paths
from which a user can include attachments.

First collect all normalised/absolute paths then filter empty entries,
which fixes an issue where $CFG->localrequestdir could be defined but
not exist. This would lead to an empty string being passed to strpos
which triggered a PHP warning.

Co-authored-by: Peter Burnett <peterburnett@catalyst-au.net>
2021-01-25 19:53:41 +00:00
Tim Hunt c68beeeedf MDL-68970 quiz: prevent page caching during attempts
This ensures that the page reloads if the student uses
the Back or Forwards buttons within an attempt. This
avoids questions being in a stale state, or
the timer showing the wrong time.

Thanks to Jake Dallimore and Russell Boyatt for suggestions
which lead to this fix.
2021-01-25 18:34:24 +00:00
Víctor Déniz 88bb658169 Merge branch 'MDL-65135-311' of https://github.com/paulholden/moodle into MOODLE_311_STABLE 2021-01-25 15:06:00 +00:00
Ferran Recio 68e1dd3c0b MDL-70634 h5p: minimizing height glitch 2021-01-25 13:54:40 +01:00
Peter Dias 9c08b2b8aa MDL-70339 mod_lti: Use the convenience function to get the right img 2021-01-25 13:39:02 +08:00
Peter Dias 4a6dfb94f2 MDL-68958 mod_imscp: Return manifestfilename as default response. 2021-01-25 13:23:15 +08:00
Peter Burnett 81b25fc274 MDL-70444 my: Improved robustness of bulk dashboard reset 2021-01-25 13:55:41 +10:00
Peter Dias 76f3835477 MDL-56772 core: Update the picker styles for rtl langs 2021-01-25 11:36:32 +08:00
Adrian Greeve 54b81d0f32 Merge branch 'MOODLE_311_MDL-69631-v3' of https://github.com/golenkovm/moodle into MOODLE_311_STABLE 2021-01-25 08:14:43 +08:00
Andrew Nicols 0bac7faf90 MDL-66979 behat: Warn about old behat.yml file location 2021-01-23 20:44:23 +08:00
AMOS bot 6dd97088db Automatically generated installer lang files 2021-01-23 00:07:28 +00:00
Ferran Recio e134a42963 MDL-70309 libraries: upgrade mongodb integration files 2021-01-22 14:44:29 +01:00
Ferran Recio e941b105ac MDL-70309 libraries: upgrade mongodb to version 1.8.0 2021-01-22 14:44:29 +01:00
Paul Holden 4b01d3bea0 MDL-70585 course: deeper clean of path names in course export.
This fixes an issue on those systems that don't fully support unicode
characters within zip structures, which subsequently led to broken
links when browsing downloaded course content.
2021-01-22 08:15:25 +00:00
Ilya Tregubov 9874857540 MDL-64866 message: Remove message/defaultoutputs.php
and final deprecation of admin_page_defaultmessageoutputs class.
2021-01-22 09:45:54 +02:00
Andrew Nicols 19db0c4b44 MDL-66979 behat: Rename and warn on old config 2021-01-22 14:52:19 +08:00
Andrew Nicols dd4693ac0c MDL-66979 behat: Uncomment step disabled for old firefox 2021-01-22 14:52:18 +08:00
Andrew Nicols 6704b2b5a4 MDL-66979 behat: Pad messaging drawer
This works around an issue highlighted by MDL-70411 whereby some of the
messaging links are covered by the scrollbar in Firefox on MacOS.
2021-01-22 14:52:18 +08:00
Andrew Nicols d467f87bd7 MDL-66979 behat: Work around weird gradebook focus behaviour
I can't expand this one in a sane fashion but the older JS is doing some
weird and wonderful things with focus.

The only way I could get this to behave correctly was to move away from
the field, move back to it, and then move away again. Other combinations
failed in different browsers for different reasons.
2021-01-22 14:52:18 +08:00
Andrew Nicols 0bd971ebc0 MDL-66979 behat: availability field extends textarea
The availability behat field extends the textarea type, and therefore
needs to include this type.
2021-01-22 14:52:18 +08:00
Andrew Nicols 13c2654eb1 MDL-66979 behat: Improve chromeOptions configuration
Simplify the chromeOptions configuration to improve readability.
2021-01-22 14:52:18 +08:00
Andrew Nicols a85f7f83b9 MDL-66979 question: Improve behat test reliability
Expand all fieldsets rather than individual fieldsets.

This can fail in some situations where the page moves as the first
fieldset opens and HTML transitions take effect. This causes subsequent
fieldsets to move after WebDriver has calculated the click target.
2021-01-22 14:52:18 +08:00
Andrew Nicols c501f5fa25 MDL-66979 mod_assign: Stop clicking the user filters
Remove the documented hack which was re-opening a popup because it
"closes for some reason". It no longer randomly closes.
2021-01-22 14:52:18 +08:00
Andrew Nicols 3ab052e70d MDL-66979 behat: Switch to generators
These steps were creating content manually in an unnecessary fashion. I
had to debug some issues with features in these areas so took the time
to update them to make use of data generators, which are significantly
faster.
2021-01-22 14:52:18 +08:00
Andrew Nicols f60b5ea4db MDL-66979 behat: Remove unused var 2021-01-22 14:52:18 +08:00
Andrew Nicols ac88e330a6 MDL-66979 behat: Whitespace fix 2021-01-22 14:52:18 +08:00
Andrew Nicols be9e3ebd34 MDL-66979 behat: Remove manually triggered events
Behat should not trigger Synthetic browser events. It is incorrect to do
so as the UI should be used to trigger events correctly.

The W3C WebDriver specification explicitly states when and where these
events will be triggered from (the browser) and therefore there is no
ambiguity and no need to synthetically trigger them from Behat.
2021-01-22 14:52:18 +08:00
Andrew Nicols 74a156c3d0 MDL-66979 group: Replace direct element interaction with steps
The W3C WebDriver leads to faster operation of individual steps which
highlights where WebDriver is moving to a new step faster than the
browser can process it.

The solution here is to use the `execute` function to interact with the
browsers as this makes use of the various wait and check steps.
2021-01-22 14:52:17 +08:00
Andrew Nicols 2c967d8d07 MDL-66979 behat: Remove unnecessary steps which fail
These steps were completely pointless and were failing with the W3C
Webdriver becuase focus was never on the Update Profile button in the
first place.

At a minimum we should remove the Focus change step as it not valid, but
the following step is also pointless.
2021-01-22 14:52:17 +08:00
Andrew Nicols d2ceac9d3d MDL-66979 scorm: Increase behat window size
On Firefox there can be some issues with ensuring that all nodes are
visible in order to click them.

This is likely an upstream geckodriver bug and not one that can be
easily addressed across all of Moodle.

In this instance the "Next" button is just outside the Visible Window,
but it is in an iFrame which is fully visible. In this situation
Firefox is unable to click the button but does not error.
2021-01-22 14:52:17 +08:00
Andrew Nicols 45b0f89d87 MDL-66979 behat: Scroll nodes into view before hover
The W3C Specification does not require that a NodeElement be in the
current viewport before triggering a mouseOver. As a result the
mouseOver will generate an Exception because the element is not in the
viewport, and the X/Y co-ordinates are invalid.

To handle this the node is scrolled into view.
2021-01-22 14:52:17 +08:00
Andrew Nicols a6512819b3 MDL-66979 behat: Fix window switching
Normalise switching of window contexts by setting the main window name
to a null.

Where the window has no name (null/empty), then the root context is
selected.
2021-01-22 14:52:17 +08:00
Andrew Nicols 740c2e80d8 MDL-66979 behat: Use tab to blur current focus
The focus should be on something, rather than removed.

The way in which focus removal works can lead to side effects.
2021-01-22 14:52:17 +08:00
Andrew Nicols 44d9f77cae MDL-66979 behat: Update passwordunmask form field control
Update the passwordunmask form field type for behat to interact with the
form element as a human would rather than via synthetic event triggers.
2021-01-22 14:52:17 +08:00
Andrew Nicols 076ec2766f MDL-66979 behat: iFrames must have a name for switchTo
The W3C WebDriver protocol supports switching of contexts using a named
context, and not the class asscoiated with that context.
2021-01-22 14:52:17 +08:00
Andrew Nicols eb03e5c7b7 MDL-66979 mod_data: Improve behat chart data step
Charts data visibility is more reliable when checked via the
aria-expanded attribute.

The isVisible attribute can cause some failures under Firefox.
2021-01-22 14:52:17 +08:00
Andrew Nicols d196e8093b MDL-66979 behat: Handle JS on elements better
This change introduces a new function to execute Javascript directly on
a node.

This should not, ordinarily, be used directly by steps, but may be
required in other parts of the Behat interaction.
2021-01-22 14:52:17 +08:00
Andrew Nicols 2d68b303f9 MDL-66979 behat: Rename selenium config to webdriver
The PHP WebDriver Mink Driver does not necessarily require Selenium. It
supports Selenium 3 upwards, and can be used directly with ChromeDriver,
EdgeDriver, SafariDriver, GeckoDriver, and others.

It therefore uses a slightly different configuraitno path.
2021-01-22 14:52:17 +08:00
Andrew Nicols c5d25f9017 MDL-66979 behat: Core updates for W3C WebDriver
This commit updates core Behat features to make use of the
php-webdriver/webdriver library instead of the legacy Instaclick
library.

Most of these changes relate to use of features of WebDriver which we
are required to use directly rather than through the Mink Driver.
2021-01-22 14:52:16 +08:00
Andrew Nicols 675ff118f2 MDL-66979 behat: Switch to new W3C Behat driver
This commit updates the composer dependencies to make use of the updated
version of moodlehq/moodle-behat-extension which depends upon the
php-webdriver/webdriver and relevant Mink WebDriver.
2021-01-22 14:52:16 +08:00
Jake Dallimore 500bee1af0 weekly release 3.11dev 2021-01-22 11:30:46 +08:00
Jake Dallimore b9896f4a8e NOBUG: Fixed file access permissions 2021-01-22 11:30:46 +08:00
Jake Dallimore 6db835f666 Merge branch 'install_311_STABLE' of https://git.in.moodle.com/amosbot/moodle-install into MOODLE_311_STABLE 2021-01-22 11:30:43 +08:00
Tim Hunt 0dedf60a9a MDL-46256 count_words: fix handling of paragraphs 2021-01-21 09:54:01 +00:00
Tim Hunt 063dce507a MDL-46256 count_letters: an unit tests and fix HTML editity handling 2021-01-21 09:54:01 +00:00
Tim Hunt b4fd86591d MDL-46256 word count: Convert existing tests to a data provider 2021-01-21 09:54:01 +00:00
Paul Holden b19e413368 MDL-70315 libraries: upgrade Javascript polyfills.
* mdn-polyfills@5.20.0
 * url-polyfill@1.1.12
2021-01-21 08:58:46 +00:00
Jun Pataleta a10a3f94c7 Merge branch 'MDL-70297-311' of git://github.com/ilyatregubov/moodle into MOODLE_311_STABLE 2021-01-21 12:19:04 +08:00
Adrian Greeve 23baaf8f61 Merge branch 'MDL-57020-311-allow_delete_unused_scale' of https://github.com/sharidas/moodle into MOODLE_311_STABLE 2021-01-21 12:02:10 +08:00
Sujith Haridasan 1215070d8d MDL-57020 scales: Allow deletion of unused scales in forum
Allow deletion of unused scales used in a
forum for the course.

Signed-off-by: Sujith Haridasan <sujith@moodle.com>
2021-01-21 09:16:46 +05:30
Mikhail Golenkov 04298671e5 MDL-69631 assign: Add 'Draft' filter for grading table 2021-01-21 14:41:36 +11:00
Jun Pataleta 84922dc4fc Merge branch 'MDL-70301-311' of https://github.com/Chocolate-lightning/moodle into MOODLE_311_STABLE 2021-01-21 11:33:35 +08:00
Mathew May ec4d3aa389 MDL-70301 lib: Update thirdpartylibs scssphp 2021-01-21 10:35:24 +08:00
Mathew May 9a3e290efb MDL-70301 lib: Upgrade scssphp to 1.4.1 2021-01-21 10:35:10 +08:00
Adrian Greeve 1263d09396 Merge branch 'MDL-70302-311' of git://github.com/peterRd/moodle into MOODLE_311_STABLE 2021-01-21 09:48:34 +08:00
Peter Dias c60b950b87 MDL-70302 core: Update the lib's readme, xml and upgrade files 2021-01-21 09:34:33 +08:00
Eloy Lafuente (stronk7) b390eebb7a Merge branch 'MDL-70317-311' of git://github.com/lucaboesch/moodle into MOODLE_311_STABLE 2021-01-20 23:27:11 +01:00
Eloy Lafuente (stronk7) 85ae2babde Merge branch 'MDL-70134_311' of https://github.com/timhunt/moodle into MOODLE_311_STABLE 2021-01-20 22:47:30 +01:00
Luca Bösch beec305005 MDL-70317 filter_mathjaxloader: update default CDN to 2.7.9 2021-01-20 22:02:09 +01:00
Eloy Lafuente (stronk7) 2236ac67b0 Merge branch 'MDL-70055-MOODLE_311_STABLE' of https://github.com/kabalin/moodle into MOODLE_311_STABLE 2021-01-20 19:44:56 +01:00
Eloy Lafuente (stronk7) e24754693a Merge branch 'MDL-70291-311-1' of git://github.com/peterRd/moodle into MOODLE_311_STABLE 2021-01-20 19:18:07 +01:00
Sara Arjona e49ad9eeb6 MDL-70438 contentbank: fix behat issue with classic 2021-01-20 19:02:19 +01:00
Eloy Lafuente (stronk7) c5dd5a6fe1 Merge branch 'MDL-70296-311-1' of git://github.com/peterRd/moodle into MOODLE_311_STABLE 2021-01-20 17:19:40 +01:00
Jun Pataleta e4527dc68f Merge branch 'MDL-70319-311' of git://github.com/ilyatregubov/moodle into MOODLE_311_STABLE 2021-01-20 22:40:35 +08:00
Jun Pataleta 93ae28874e Merge branch 'MDL-70300-311' of https://github.com/Chocolate-lightning/moodle into MOODLE_311_STABLE 2021-01-20 17:13:37 +08:00
Mathew May 95fa1e387e MDL-70300 core_lib: Update thirdpartylibs php-css-parser 2021-01-20 15:53:10 +08:00
Nadav Kavalerchik 99b1551e54 MDL-66932 theme/boost: Use LTR directionality to display user % grades 2021-01-20 09:29:38 +02:00
Jun Pataleta 7627763dfe Merge branch 'MDL-70562-311' of git://github.com/lucaboesch/moodle into MOODLE_311_STABLE 2021-01-20 15:01:27 +08:00
Jake Dallimore eebb226156 Merge branch 'MDL-69333-fingerprint-checks-MOODLE_311_STABLE' of https://github.com/brendanheywood/moodle into MOODLE_311_STABLE 2021-01-20 11:24:42 +08:00
Adrian Greeve b2bad0b648 Merge branch 'MDL-70438-311' of git://github.com/sarjona/moodle into MOODLE_311_STABLE 2021-01-20 09:51:06 +08:00
Simey Lameze 3e2de0c6c9 MDL-70648 calendar: upgrade step to delete wrong cat events 2021-01-20 09:32:09 +08:00
Simey Lameze b0aa55a75a MDL-70648 calendar: add form validation for category events 2021-01-20 09:26:33 +08:00
Brendan Heywood 6f60d650d3 MDL-69333 report_security: Add checks for many public & private urls 2021-01-20 11:20:31 +11:00
Brendan Heywood 63e7f2a64f MDL-69333 error: Allow explicit http error codes in web server config
eg in Apache you could capture 403 errors and funnel them to this
error handler script and also transform them to 404s:

ErrorDocument 403 /error/index.php?code=404
2021-01-20 11:20:31 +11:00
Eloy Lafuente (stronk7) 4c698ab3d3 Merge branch 'MDL-70159-311' of git://github.com/paulholden/moodle into MOODLE_311_STABLE 2021-01-19 23:44:54 +01:00
Jun Pataleta dbd55e05ae Merge branch 'MDL-70292-311' of git://github.com/ilyatregubov/moodle into MOODLE_311_STABLE 2021-01-20 00:12:11 +08:00
Sara Arjona 8510e9d881 Merge branch 'MDL-70303-311' of git://github.com/ferranrecio/moodle into MOODLE_311_STABLE 2021-01-19 16:50:09 +01:00
Ferran Recio 8408a82960 MDL-70303 libraries: upgrade GeoIP to 2.11.0 and MaxMind DB to 1.9.0 2021-01-19 16:35:39 +01:00
Sara Arjona 92674c614a MDL-70438 contentbank: Add column to view mode for content uses 2021-01-19 16:08:50 +01:00
Sara Arjona d83b4b4abf MDL-70438 contentbank: Display content uses before removal 2021-01-19 16:08:50 +01:00
Sara Arjona a80dcdf641 MDL-70438 contentbank: Add method get_uses to content 2021-01-19 16:08:50 +01:00
Ilya Tregubov 78d39f360b MDL-70319 core: Moodle customizations. 2021-01-19 10:04:52 +02:00
Ilya Tregubov 4415ecbe7b MDL-70319 core: Upgrade php-enum to 1.7.7 2021-01-19 10:04:52 +02:00
Ilya Tregubov f12a16b991 MDL-70297 libraries: Moodle customizations. 2021-01-19 09:51:34 +02:00
Ilya Tregubov e060179098 MDL-70297 libraries: xhprof upgraded to 2.2.3 2021-01-19 09:51:34 +02:00
Adrian Greeve 58a3b7a8ad Merge branch 'MDL-69202_311' of https://github.com/ffhs/moodle into MOODLE_311_STABLE 2021-01-19 15:40:47 +08:00
Jake Dallimore 1773ffc774 Merge branch 'MDL-69522-custom-message-311' of https://github.com/Peterburnett/moodle into MOODLE_311_STABLE 2021-01-19 15:38:52 +08:00
Ilya Tregubov ef9dab903f MDL-70292 lib: fix unit tests. 2021-01-19 09:17:42 +02:00
Ilya Tregubov 1379a55025 MDL-70292 lib: Moodle customizations. 2021-01-19 09:17:42 +02:00
Ilya Tregubov a93d965968 MDL-70292 lib: update phpmailer to 6.2.0 2021-01-19 09:17:42 +02:00
Adrian Greeve e105a212b6 Merge branch 'MDL-70128-311' of git://github.com/jleyva/moodle into MOODLE_311_STABLE 2021-01-19 14:49:51 +08:00
Mathew May a18cf2c3a3 MDL-70300 lib: Apply php css parser patches 2021-01-19 11:01:38 +08:00
Mathew May 8e1cc98115 MDL-70300 lib: Upgrade php css parser to 8.3.1 2021-01-19 11:01:24 +08:00
Jun Pataleta f4b3440fb8 Merge branch 'MDL-70294-311' of git://github.com/paulholden/moodle into MOODLE_311_STABLE 2021-01-19 09:20:11 +08:00
Paul Holden 48cbfcc87b MDL-70294 libraries: document upgrade of TCPDF. 2021-01-18 21:07:41 +00:00
Paul Holden b369129642 MDL-70294 libraries: upgrade to version 6.3.5 of TCPDF. 2021-01-18 21:07:31 +00:00
Tim Hunt 296669ea36 MDL-70134 essay qtype: Provide options for smaller response boxes
And make the default box size 10
2021-01-18 09:24:57 +00:00
Tim Hunt c2f419bc75 MDL-70134 manual grading: make starting comment box size 3 lines
I am guessing most comments are short, and the box can be expanded if needed.
2021-01-18 09:24:57 +00:00
Sara Arjona d6fa4e499e Merge branch 'MDL-70290-311' of git://github.com/peterRd/moodle into MOODLE_311_STABLE 2021-01-18 09:23:40 +01:00
Sara Arjona fc67a37242 Merge branch 'MDL-70305-311' of git://github.com/peterRd/moodle into MOODLE_311_STABLE 2021-01-18 09:20:30 +01:00
Bas Brands a1ba936d59 MDL-59782 core_question: improve questionbank highlighting 2021-01-18 09:13:07 +01:00
Peter Dias 238e0646e2 MDL-70296 core: Update the moodle's readme, xml and upgrade files 2021-01-18 09:30:25 +08:00
Peter Dias fe91e572bb MDL-70296 core: Upgrade markdown lib 2021-01-18 09:30:25 +08:00
Peter Dias 56dece35b3 MDL-70291 core: Update lib readme, upgrade and xml files 2021-01-18 09:28:32 +08:00
Peter Dias 9bdf4fe1e9 MDL-70291 core: Add custom moodle patch to minify 2021-01-18 09:28:32 +08:00
Peter Dias 7c9cceed94 MDL-70291 core: Upgrade pathconverter lib to 1.1.3 2021-01-18 09:28:32 +08:00
Peter Dias ed3fbb505e MDL-70291 core: Upgrade minify lib to 1.3.63 2021-01-18 09:28:32 +08:00
Peter Dias 23df19225a MDL-70302 core: Upgrade spout to 3.1.0 2021-01-18 09:20:48 +08:00
AMOS bot 1e56e0626c Automatically generated installer lang files 2021-01-17 00:07:29 +00:00
Adrian Perez 0e365f283c MDL-69202 Restore backup: add getter method for oldmoduleid 2021-01-16 10:36:33 +01:00
Paul Holden dcb3381d77 MDL-58673 media_videojs: enable playback rates in player. 2021-01-15 14:06:19 +00:00
Paul Holden c9f5e23f9b MDL-70535 media_videojs: fallback to English language video player.
When current language doesn't have accompanying videojs language file
we should fallback to displaying the player in English, otherwise the
web service returns empty and a Javascript exception is triggered.
2021-01-15 13:50:59 +00:00
Luca Bösch 8bd0898ce3 MDL-70562 mod_quiz: "Edit quiz" and "Back to the course" button spacing 2021-01-15 11:59:26 +01:00
Sara Arjona fee3970787 weekly release 3.11dev 2021-01-15 08:25:42 +01:00
Sara Arjona ad14375609 NOBUG: Fixed file access permissions 2021-01-15 08:25:41 +01:00
Sara Arjona 5146b7e563 NOBUG: Fixed SVG browser compatibility 2021-01-15 08:25:39 +01:00
Sara Arjona 2943454ee8 Merge branch 'install_311_STABLE' of https://git.in.moodle.com/amosbot/moodle-install into MOODLE_311_STABLE 2021-01-15 08:25:39 +01:00
Sara Arjona 1520ae2cbd Merge branch 'MDL-69308_311' of https://github.com/stronk7/moodle into MOODLE_311_STABLE 2021-01-14 12:03:36 +01:00
Paul Holden d462ff4d30 MDL-65135 message: use full date in messaging drawer for old messages.
Messages sent in previous years will now include the year portion of
the date string.
2021-01-14 08:00:59 +00:00
Paul Holden 721b1b6168 MDL-70159 tool_capability: order capabilities by their name. 2021-01-14 07:32:53 +00:00
Jake Dallimore 9349702f8a Merge branch 'MDL-69877-311' of git://github.com/mickhawkins/moodle into MOODLE_311_STABLE 2021-01-14 14:52:02 +08:00
Michael Hawkins 6d02c5fa1c MDL-69877 core: Added security.txt 2021-01-14 14:30:40 +08:00
Jun Pataleta 92c7d807bb Merge branch 'MDL-70312-311' of git://github.com/paulholden/moodle into MOODLE_311_STABLE 2021-01-14 11:54:26 +08:00
Jake Dallimore dc2b9a34c1 Merge branch 'MDL-68608-improve-readonly-debugging-MOODLE_311_STABLE' of https://github.com/brendanheywood/moodle into MOODLE_311_STABLE 2021-01-14 08:48:46 +08:00
Adrian Greeve e07bba321d Merge branch 'MDL-68597_311' of https://github.com/timhunt/moodle into MOODLE_311_STABLE 2021-01-14 08:30:12 +08:00
AMOS bot bcb3e2cda7 Automatically generated installer lang files 2021-01-14 00:07:26 +00:00
Peter Dias fc26c95cd2 MDL-70290 core: Update the lib's xml and upgrade files 2021-01-14 07:59:10 +08:00
Peter Dias a14ee586d8 MDL-70290 core: HTMLPurifier upgrade to 4.13.0 2021-01-14 07:59:10 +08:00
Peter Dias 60c5c0e8df MDL-70305 lib: Update thirdpartylibs chartjs version 2021-01-14 07:55:25 +08:00
Peter Dias e193299876 MDL-70305 lib: Upgrade chartjs to 2.9.4 2021-01-14 07:55:25 +08:00
Eloy Lafuente (stronk7) 7cd9a3c4a0 Merge branch 'MDL-70408-311' of git://github.com/sarjona/moodle into MOODLE_311_STABLE 2021-01-13 23:59:50 +01:00
Eloy Lafuente (stronk7) 5aed7f4217 MDL-69308 upgrade: remove all the < 3.6.0 upgrade steps
This just deletes all the upgrade steps previous to 3.6.0. Some
small adjustments, like tweaking globals can also be applied
when needed.

Also includes an upgrade step to prevent upgrading from any
version < 2018120300 (v3.6.0) as anti-cheating measure.

Note that in this case, there wasn't any case of upgradelib
functions being used, hence we haven't to deprecate/remove
anything in codebase. When there is such a need, that is done
in separate commits (one for each function) and documented here.

See MDL-65809 commits for an example removing/deprecating a
good number of functions.
2021-01-13 19:28:39 +01:00
Eloy Lafuente (stronk7) aff5b5abb9 MDL-69308 github actions: Bump min PHP requirement to 7.3 2021-01-13 19:27:04 +01:00
Eloy Lafuente (stronk7) 0f7aafe1fe MDL-69308 travis: Bump min PHP requirement to 7.3 2021-01-13 19:27:00 +01:00
Eloy Lafuente (stronk7) c6fb18ef1d MDL-69308 environment: Apply agreed changes
- PHP 7.3 required.
- Moodle 3.6 required.
- SQL*Server 2017 (aka, 14.0) required.
- Sodium PHP extension required.
2021-01-13 19:26:54 +01:00
Eloy Lafuente (stronk7) 0c2d9d9db7 MDL-69308 environment: 3.11 base information
This is a direct copy of the 3.10 branch to have
the changes under control in next commits.
2021-01-13 19:26:48 +01:00
Sara Arjona e730802e08 Merge branch 'MDL-70299-311' of git://github.com/paulholden/moodle into MOODLE_311_STABLE 2021-01-13 17:20:00 +01:00
Shamim Rezaie 120e744a43 MDL-70625 core_calendar: Fix whitespace appearance in the id attribute 2021-01-14 01:58:52 +11:00
Sara Arjona 44012cdfe3 Merge branch 'MDL-70394-311' of git://github.com/rezaies/moodle into MOODLE_311_STABLE 2021-01-13 15:31:19 +01:00
Sara Arjona 4bd52c7ac3 Merge branch 'MDL-70387-311' of git://github.com/jleyva/moodle into MOODLE_311_STABLE 2021-01-13 14:56:12 +01:00
Juan Leyva 4f2cfe7af8 MDL-70387 files: New WS core_files_get_unused_draft_itemid 2021-01-13 13:03:00 +01:00
Sara Arjona 24b10d62da Merge branch 'MOODLE_311_MDL-70362' of https://github.com/golenkovm/moodle into MOODLE_311_STABLE 2021-01-13 12:36:46 +01:00
Sara Arjona bc439a9dfc Merge branch 'MDL-68010-cron-run-disabled-MOODLE_311_STABLE' of https://github.com/brendanheywood/moodle into MOODLE_311_STABLE 2021-01-13 11:28:21 +01:00
Mihail Geshoski 19e4e865ac MDL-68486 auth_shibboleth: Reset convert_data if it uses dataroot file
Upgrade step that resets the 'Data modification API' (convert_data)
setting to its default value if this setting is currently configured
to use a file located within the $CFG->dataroot directory.
2021-01-13 12:34:45 +08:00
Mihail Geshoski 2116878465 MDL-68486 auth_shibboleth: Prevent using dataroot files in convert_data
Prevents configuring the 'Data modification API' (convert_data) setting
to use files located within the $CFG->dataroot directory as it exposes
the site to security risks.
2021-01-13 12:34:45 +08:00
Jun Pataleta 5e4a7224a5 Merge branch 'MDL-70580-311' of git://github.com/paulholden/moodle into MOODLE_311_STABLE 2021-01-13 10:20:00 +08:00
AMOS bot 62fb6ac53a Automatically generated installer lang files 2021-01-13 00:07:28 +00:00
Paul Holden 5f9c1e5dd2 MDL-70580 core: retrieve closest tree node in click handler. 2021-01-12 20:17:22 +00:00
Tim Hunt 8306fc3f3e MDL-68597 qtype_essay: show the word count on the review screen 2021-01-12 19:53:01 +00:00
Tim Hunt 8d7b3b3fe7 MDL-68597 qtype_essay: switch the form to consistently use hideIf 2021-01-12 17:54:39 +00:00
Michael Hawkins da051fa484 MDL-69911 core: Clean content passed through TeX filter 2021-01-12 17:14:31 +01:00
Ferran Recio 8da4872464 MDL-67782 message: fix messages max length 2021-01-12 17:14:31 +01:00
Juan Segarra Montesinos c689df0a5d MDL-69797 core_grades: Implement authorization into fetch method 2021-01-12 17:14:31 +01:00
Juan Segarra Montesinos 3a02eccc2e MDL-69797 core_grades: Implement authorization into fetch method 2021-01-12 17:14:31 +01:00
Juan Segarra Montesinos dcbaed2862 MDL-69797 gradingform_rubric: Implement authorization into fetch method 2021-01-12 17:14:31 +01:00
Juan Segarra Montesinos 808ad0df73 MDL-69797 gradingform_guide: Implement authorization into fetch method 2021-01-12 17:14:31 +01:00
Sara Arjona 220ad68736 Merge branch 'MDL-70308-311' of git://github.com/ferranrecio/moodle into MOODLE_311_STABLE 2021-01-12 17:04:28 +01:00
Sara Arjona 3d7d18adea Merge branch 'MDL-70298-311' of git://github.com/ilyatregubov/moodle into MOODLE_311_STABLE 2021-01-12 15:58:41 +01:00
Ilya Tregubov b12594dbfa MDL-70298 lib_horde: Upgrade Horde library to 5.2.23 2021-01-12 15:58:36 +02:00
Sara Arjona 33da471284 Merge branch 'MDL-70009-311' of git://github.com/ilyatregubov/moodle into MOODLE_311_STABLE 2021-01-12 10:21:02 +01:00
David Watson ad590f99db MDL-69431 course: validate section url param against maxsections 2021-01-12 17:08:44 +08:00
Sara Arjona 1e8ec8ef26 Merge branch 'MDL-68768-adhoc-task-faildelay-check-MOODLE_311_STABLE' of https://github.com/brendanheywood/moodle into MOODLE_311_STABLE 2021-01-12 10:07:01 +01:00
Jake Dallimore 1e667ac167 Merge branch 'MDL-69529-311' of git://github.com/ilyatregubov/moodle into MOODLE_311_STABLE 2021-01-12 16:48:10 +08:00
Ilya Tregubov dc4f973e62 MDL-70009 h5pactivity: Split get_pluginfile_hash in two methods. 2021-01-12 09:10:50 +02:00
Jun Pataleta 7ff1b6c79c Merge branch 'MDL-70580-311' of git://github.com/paulholden/moodle into MOODLE_311_STABLE 2021-01-12 13:15:50 +08:00
AMOS bot d37d56025f Automatically generated installer lang files 2021-01-12 00:07:37 +00:00
Andrew Nicols 1894ea0c5c MDL-70580 core: Tree nodes should check if they were clicked directly 2021-01-11 23:43:22 +00:00
Paul Holden 186879fca4 MDL-69816 tool_uploadcourse: configure course content download value. 2021-01-11 22:24:39 +00:00
Eloy Lafuente (stronk7) ae6c7b1f9d Merge branch 'MDL-70486-311-get_region_name' of git://github.com/mudrd8mz/moodle into MOODLE_311_STABLE 2021-01-11 22:55:35 +01:00
Tim Hunt 48e0b24587 MDL-68597 essay word limits: fixes requested by the integrator 2021-01-11 20:32:24 +00:00
Mahmoud Kassaei 9b7439c3a8 MDL-68597 Qtype_Essay: Adding word min/max for online text input 2021-01-11 20:32:20 +00:00
Tim Hunt 7449ad7861 MDL-70574 qtype_multianswer: fractional scores should be possible 2021-01-11 17:35:51 +00:00
Michael Hawkins d8056de5c4 MDL-70571 lib: Added additional escaping to search_input template 2021-01-11 16:20:23 +01:00
Eloy Lafuente (stronk7) 19996b52b1 Merge branch 'MDL-70266_311' of https://github.com/timhunt/moodle into MOODLE_311_STABLE 2021-01-11 16:12:02 +01:00
Mark Nelson a64c837ae5 MDL-70034 gradingform_guide: use new API to retrieve grade item name 2021-01-11 15:20:05 +01:00
Sara Arjona 376b9d5a13 Merge branch 'MDL-70567-MOODLE_311_STABLE' of https://github.com/dmitriim/moodle into MOODLE_311_STABLE 2021-01-11 13:09:41 +01:00
Sara Arjona 6c330f2f76 Merge branch 'MDL-70578-311' of git://github.com/lucaboesch/moodle into MOODLE_311_STABLE 2021-01-11 12:58:11 +01:00
Sara Arjona 0c3ae37c2c Merge branch 'MDL-70352-MOODLE_311_STABLE' of https://github.com/dmitriim/moodle into MOODLE_311_STABLE 2021-01-11 12:23:57 +01:00
AMOS bot 29cde70458 Automatically generated installer lang files 2021-01-11 00:08:42 +00:00
Eloy Lafuente (stronk7) 7a62f6d76d Merge branch 'MDL-70550-311-enfix' of git://github.com/mudrd8mz/moodle into MOODLE_311_STABLE 2021-01-09 13:17:43 +01:00
AMOS bot a061175fba Automatically generated installer lang files 2021-01-09 00:07:30 +00:00
Sara Arjona cf317d9712 Merge branch 'MDL-70558-311' of git://github.com/paulholden/moodle into MOODLE_311_STABLE 2021-01-08 17:07:16 +01:00
Sara Arjona 57f38e3de2 Merge branch 'MDL-70102-m311' of https://github.com/sammarshallou/moodle into MOODLE_311_STABLE 2021-01-08 15:50:18 +01:00
Paul Holden 705bc7fdaa MDL-70299 libraries: upgrade to version 1.7.1 of loglevel. 2021-01-08 09:51:09 +00:00
David Mudrák 3a9b87a29c MDL-70550 lang: Use the fixed strings in Behat tests, too 2021-01-08 09:01:29 +01:00
Helen Foster af16c0310f MDL-70550 lang: Import fixed English strings (en_fix) 2021-01-08 09:00:42 +01:00
Jun Pataleta cb49142a6b Merge branch 'MDL-70310-311' of git://github.com/ilyatregubov/moodle into MOODLE_311_STABLE 2021-01-08 14:47:23 +08:00
Luca Bösch 1fc4efa834 MDL-70578 cohorts: Add bootstrap classes to buttons 2021-01-08 07:28:25 +01:00
Jun Pataleta dab0910676 weekly release 3.11dev 2021-01-08 12:14:48 +08:00
Jun Pataleta 34545b649b Merge branch 'install_311_STABLE' of https://git.in.moodle.com/amosbot/moodle-install into MOODLE_311_STABLE 2021-01-08 12:14:47 +08:00
AMOS bot eaac45decc Automatically generated installer lang files 2021-01-08 00:07:26 +00:00
Tomo Tsuyuki 943562e227 MDL-70245 core_grade: Fix grade_get_setting unit test failures
To fix the phpunit issue, change from static variable to use cache
2021-01-07 23:49:29 +01:00
Eloy Lafuente (stronk7) 35e0fb9f86 Merge branch 'MDL-70584-311' of git://github.com/marinaglancy/moodle into MOODLE_311_STABLE 2021-01-07 23:31:17 +01:00
sam marshall 13f8798c79 MDL-70102 PHPunit: Core test fails with weird added modules
Specifically it fails if the modules have unusual default capabilities
so that editingteacher doesn't have addinstance.
2021-01-07 16:11:10 +00:00
Marina Glancy 1fa27828ef MDL-70584 core_iplookup: increase tolerance in test 2021-01-07 14:46:38 +01:00
Tim Hunt 9082d68d54 MDL-70266 quiz overrides: respect show user identity setting 2021-01-07 10:46:11 +00:00
Ilya Tregubov 8af3db04d3 MDL-70310 user: Remove yahoo icon since domain no longer exists. 2021-01-07 09:15:21 +02:00
Jun Pataleta fa9c582da9 Merge branch 'MDL-70374_311' of https://github.com/timhunt/moodle into MOODLE_311_STABLE 2021-01-07 12:24:26 +08:00
Eloy Lafuente (stronk7) f6df48b48b Merge branch 'MDL-70476_311' of https://github.com/timhunt/moodle into MOODLE_311_STABLE 2021-01-07 00:27:57 +01:00
Eloy Lafuente (stronk7) 19b96bd3ba Merge branch 'MOODLE_311_MDL-70520' of https://github.com/golenkovm/moodle into MOODLE_311_STABLE 2021-01-07 00:19:00 +01:00
Paul Holden eee8bf063f MDL-70579 course: filter site fullname when exporting course content. 2021-01-06 21:30:30 +00:00
Dmitrii Metelkin 835000c522 MDL-70567 task: fix broken result filter on logs page 2021-01-06 14:29:45 +11:00
Sébastien Mehr f5a317feed MDL-70482 template: add missing closing bracket 2021-01-06 11:26:03 +08:00
Dmitrii Metelkin 571df8fe10 MDL-70352 core: attach modal to a specific element 2021-01-06 11:16:15 +11:00
Jun Pataleta b9ca4b0e7e Merge branch 'MDL-57552-311' of git://github.com/aanabit/moodle into MOODLE_311_STABLE 2021-01-05 22:20:24 +08:00
Jun Pataleta ff06987784 Merge branch 'MOODLE_311_MDL-68792_v3' of https://github.com/golenkovm/moodle into MOODLE_311_STABLE 2021-01-05 22:09:08 +08:00
Paul Holden 76693a564f MDL-70558 tool_langimport: sort available language packs. 2021-01-04 23:55:55 +00:00
Paul Holden c7f65e34bb MDL-70312 libraries: upgrade to version 2.3.5 of FPDI. 2021-01-04 09:33:58 +00:00
Ilya Tregubov 48238329ee MDL-69529 contentbank: Remove redundant code. 2021-01-04 09:28:41 +02:00
AMOS bot eaf6f58369 Automatically generated installer lang files 2020-12-27 00:07:28 +00:00
Ruslan Kabalin 921f8aee81 MDL-70055 pgsql DML: Support large number of SQL-IN parameters.
This patch adds a solution for Postgres that allows overriding IN
statement limit of 16bit (65535 values) by wrapping items in VALUES
list. This only takes place in number of items exceeds 65535, otherwise
parent class get_in_or_equal() function is used.
2020-12-24 14:40:22 +00:00
AMOS bot 288db59992 Automatically generated installer lang files 2020-12-24 00:07:29 +00:00
Eloy Lafuente (stronk7) 7eb99cedd4 weekly release 3.11dev 2020-12-23 20:24:32 +01:00
Eloy Lafuente (stronk7) 1c0811636b Merge branch 'install_311_STABLE' of https://git.in.moodle.com/amosbot/moodle-install into MOODLE_311_STABLE 2020-12-23 20:24:29 +01:00
Ferran Recio 982e52b366 MDL-70308 libraries: upgrade videojs to 7.10.0 2020-12-23 10:38:23 +01:00
Jake Dallimore 52976d4eb3 Merge branch 'MDL-69399-311_lti_alpha' of https://github.com/haietza/moodle into MOODLE_311_STABLE 2020-12-23 11:36:54 +08:00
Eloy Lafuente (stronk7) c8855a36ab Merge branch 'MDL-56119-311' of https://github.com/inigozendegi/moodle into MOODLE_311_STABLE 2020-12-23 01:27:00 +01:00
Eloy Lafuente (stronk7) 518fbeb84e Merge branch 'MDL-70279-311' of git://github.com/paulholden/moodle into MOODLE_311_STABLE 2020-12-23 00:46:51 +01:00
Bas Brands fe68109683 MDL-70436 theme_boost: closebutton styles in moodle-dialog-fullscreen 2020-12-22 18:29:46 +01:00
Bas Brands c4f8590a9d MDL-70386 theme_boost: quizes correctness badges 2020-12-22 18:23:13 +01:00
Víctor Déniz 0d33e00c43 Merge branch 'MDL-70341-311-task-override-fix-disabled' of https://github.com/jamie-catalyst/moodle into MOODLE_311_STABLE 2020-12-22 10:35:46 +00:00
Jake Dallimore 6c5fc83f17 Merge branch 'MDL-70459-311' of git://github.com/rezaies/moodle into MOODLE_311_STABLE 2020-12-22 16:51:15 +08:00
Jake Dallimore cf02c19b01 Merge branch 'MDL-69422-311-2' of git://github.com/junpataleta/moodle into MOODLE_311_STABLE 2020-12-22 15:58:45 +08:00
Jake Dallimore d8247c90f2 Merge branch 'MDL-70426-311' of https://github.com/HuongNV13/moodle into MOODLE_311_STABLE 2020-12-22 15:16:23 +08:00
Kristian Ringer 43f48b8828 MDL-64865 auth: Log changing auth config in get_enabled_auth_plugins 2020-12-22 13:39:21 +08:00
Mikhail Golenkov 1685058696 MDL-70520 mod_assign: Use task API to get scheduled task lastruntime 2020-12-22 15:29:24 +11:00
Mikhail Golenkov 5623d3bae6 MDL-70520 tasks: Keep lastruntime when a scheduled task is reset 2020-12-22 15:29:02 +11:00
Andrew Nicols d2ef283eb0 Merge branch 'MOODLE_311_MDL-65856' of https://github.com/hdagheda/moodle into MOODLE_311_STABLE 2020-12-22 09:41:48 +08:00
AMOS bot 8d5e440db7 Automatically generated installer lang files 2020-12-22 00:07:26 +00:00
Víctor Déniz b499883da2 Merge branch 'MDL-70355-311' of git://github.com/lucaboesch/moodle into MOODLE_311_STABLE 2020-12-21 23:19:46 +00:00
Eloy Lafuente (stronk7) 3e4d38868d Merge branch 'MDL-70430-311-oauth2refreshtoken' of git://github.com/mudrd8mz/moodle into MOODLE_311_STABLE 2020-12-22 00:06:53 +01:00
Víctor Déniz 990f1d5b73 Merge branch 'MDL-70284-dynreg-bug-311' of https://github.com/cengage/moodle into MOODLE_311_STABLE 2020-12-21 13:43:17 +00:00
Heena Agheda 690d44219c MDL-65856 session: UX review of session timeout
Add new setting 'sessiontimeoutwarning', gives logged in user ability to extend session when there is no activity.
2020-12-21 09:11:10 +11:00
Sara Arjona cbee3f569c Merge branch 'MDL-69107-311-2' of git://github.com/andrewnicols/moodle into MOODLE_311_STABLE 2020-12-18 15:22:16 +01:00
Michelle Melton d2fd52c0b3 MDL-69399 LTI: Alphabetize LTI tool list in selection menu 2020-12-18 08:58:39 -05:00
Tim Hunt 7242488cc0 MDL-70374 qtype_multichoice: code cleanup
* Remove some obsoliete CSS.
* Put the CSS in a more logical order.
* Rename some variables in the renderer, for more clarity.
2020-12-18 13:14:04 +00:00
Tim Hunt 5426f8bc35 MDL-70374 qtype_multichoice: improve alignment of choices 2020-12-18 13:14:03 +00:00
Tim Hunt 4774aadd3e MDL-70476 permission overrides: role names double-escaped in tool tip 2020-12-18 13:02:32 +00:00
Mikhail Golenkov ffccb474b3 MDL-70362 admin_cli: Add showdebugging and showsql to uninstall_plugins 2020-12-18 12:17:12 +11:00
Mikhail Golenkov 478852d08f MDL-68792 theme_boost: Do not move blocks on embedded layout. 2020-12-18 12:07:26 +11:00
Mikhail Golenkov 64891ca0c7 MDL-68792 theme_boost: Show the fake blocks on embedded layout. 2020-12-18 12:07:26 +11:00
Sara Arjona 6531992043 MDL-70408 mod_h5pactivity: Add link to content bank content
If the activity uses a referenced H5P file from the content bank,
a link for displaying this specific content will be shown into the H5P
activity form instead of the generic one to the main content bank
page.
2020-12-17 18:35:26 +01:00
Luca Bösch 26345a0de5 MDL-70355 calendar: Filter popuptext for calendar entries. 2020-12-17 17:45:23 +01:00
Amaia Anabitarte c94cb31678 MDL-57552 core_course: Typo in view-combined class 2020-12-17 17:12:25 +01:00
Sara Arjona 21c367cee6 weekly release 3.11dev 2020-12-17 15:52:44 +01:00
Sara Arjona a734358dc6 Merge branch 'install_311_STABLE' of https://git.in.moodle.com/amosbot/moodle-install into MOODLE_311_STABLE 2020-12-17 15:52:42 +01:00
David Mudrák 34ae2bfdf4 MDL-70486 output: Improve check for block region name string existence
* The fact that non-existing strings are returned in certain format
  starting with the bracket, is kind of side debugging effect. The value
  is really undefined and should not be relied upon.
* The string could actually exist and be worded so that its first
  character is also the square bracket.
2020-12-17 10:03:42 +01:00
Jake Dallimore e596b517b2 Merge branch 'MDL-65284-311' of git://github.com/aanabit/moodle into MOODLE_311_STABLE 2020-12-17 11:07:08 +08:00
Jake Dallimore 24e842283c Merge branch 'MDL-66138-311' of git://github.com/ilyatregubov/moodle into MOODLE_311_STABLE 2020-12-17 10:59:37 +08:00
Jun Pataleta d0d7861278 Merge branch 'MDL-68831_311' of https://github.com/timhunt/moodle into MOODLE_311_STABLE 2020-12-17 00:04:43 +08:00
Jun Pataleta 5855302aed Merge branch 'MDL-69735_311' of https://github.com/timhunt/moodle into MOODLE_311_STABLE 2020-12-16 23:01:37 +08:00
Ilya Tregubov b6621e64b1 MDL-66138 forum: Deprecate get_forum_discussions_paginated 2020-12-16 16:32:54 +02:00
Tim Hunt 5b59ead94f MDL-68831 quiz overrides: show a summary on the quiz info page 2020-12-16 14:24:55 +00:00
Shamim Rezaie f3a92acdd1 MDL-70394 paygw_paypal: Fix the incorrect foreign key 2020-12-17 00:24:45 +11:00
Víctor Déniz dc556668d3 Merge branch 'MDL-70261-311' of git://github.com/ilya-catalyst/moodle into MOODLE_311_STABLE 2020-12-16 12:32:01 +00:00
Amaia Anabitarte f9071947e9 MDL-65284 analytics: Final deprecation get_analysables() 2020-12-16 12:47:52 +01:00
Sara Arjona bb08b03b4f Merge branch 'MDL-70373_311' of https://github.com/timhunt/moodle into MOODLE_311_STABLE 2020-12-16 12:40:42 +01:00
Shamim Rezaie ff67cd2b87 MDL-70459 enrol_fee: Sort the list of currencies when displaying 2020-12-16 22:30:40 +11:00
Shamim Rezaie abe543bfa7 MDL-70459 core_payment: use array_merge to merge currencies 2020-12-16 22:30:40 +11:00
Sara Arjona 1b03e98d41 Merge branch 'MDL-70322-311' of git://github.com/roland04/moodle into MOODLE_311_STABLE 2020-12-16 12:04:12 +01:00
Jun Pataleta 0a7c652a83 Merge branch 'MDL-68481_311' of git://github.com/mdjnelson/moodle into MOODLE_311_STABLE 2020-12-16 15:20:19 +08:00
Jun Pataleta bb57afaa88 Merge branch 'MDL-68533_311-clean_param' of git://github.com/mdjnelson/moodle into MOODLE_311_STABLE 2020-12-16 12:48:54 +08:00
Jun Pataleta faea6bc0f7 Merge branch 'MDL-54907_311' of https://github.com/timhunt/moodle into MOODLE_311_STABLE 2020-12-16 10:34:23 +08:00
Andrew Nicols 6dae4aa3ad MDL-69107 user: Fix autocomplete usages 2020-12-16 07:50:56 +08:00
Sara Arjona d827df6fd0 Merge branch 'MDL-70422-311' of https://github.com/paulholden/moodle into MOODLE_311_STABLE 2020-12-15 16:42:54 +01:00
Sara Arjona 70b7066a9e Merge branch 'MDL-70409-311' of git://github.com/merrill-oakland/moodle into MOODLE_311_STABLE 2020-12-15 16:15:44 +01:00
Alexander Bias 91306f5f66 MDL-70342 block_timeline: Get rid of double quotes
This commit gets rid of double quotes around the activity name and course name
which have sneaked into block_timeline's view in MDL-65183.
2020-12-15 15:29:04 +01:00
Sara Arjona b98b5e10e5 Merge branch 'MDL-70357-311-cronlibthrowables' of git://github.com/mudrd8mz/moodle into MOODLE_311_STABLE 2020-12-15 14:55:56 +01:00
Ilya Tregubov ef27ea9f90 MDL-70261 course: Allow update locked course custom fields
on course upload.
2020-12-15 14:39:56 +02:00
Jake Dallimore 716a38fafe Merge branch 'MDL-67623-311_blocks_myoverview_pagination_regression' of https://github.com/tomdickman/moodle into MOODLE_311_STABLE 2020-12-15 18:21:41 +08:00
Brendan Heywood feda75bdff MDL-68010 tool_task: Allow disable tasks to still be run manually 2020-12-15 17:00:26 +11:00
Jun Pataleta 83e20b9335 Merge branch 'MDL-70361-dlrlid-311' of https://github.com/cengage/moodle into MOODLE_311_STABLE 2020-12-15 11:17:07 +08:00
Brendan Heywood 5fd5aec1f0 MDL-68608 session: Improved the readonly session debugging 2020-12-15 13:44:18 +11:00
Brendan Heywood 2d935948ea MDL-68768 tool_tasks: Check for failing adhoc tasks 2020-12-15 13:42:17 +11:00
Andrew Nicols 119977e663 MDL-69107 form_autocomplete: Rewrite item selection
The form_autocomplete is essentially a custom element. Unfortunately the
`setValue()` function in Mink has undesired actions so it is necessary
to write our own handling for it.

The standard Mink `setValue()` function focuses the element, sets a
value, and then blurs the element. In the case of the autocomplete this
can cause the autocomplete suggestions list to be closed in some
situations. Instead of using the setValue we click, and type the value,
but do not immediately blur.
2020-12-15 09:08:05 +08:00
AMOS bot eb9f9a029a Automatically generated installer lang files 2020-12-15 00:07:27 +00:00
Sara Arjona 72f635ab12 Merge branch 'MDL-70397-311' of git://github.com/andrewnicols/moodle into MOODLE_311_STABLE 2020-12-14 17:12:00 +01:00
Jake Dallimore 306f024312 Merge branch 'MDL-70324-3.11' of https://github.com/JBThong/moodle into MOODLE_311_STABLE 2020-12-14 11:29:57 +08:00
Tom Dickman 761d070b76 MDL-67623 block overview: fix pagination regression
Fixed a regression caused by MDL-64194 resulting in Dashboard - Course
overview pagination not working from second page of courses onwards.

Course overview block should now do the following:
- Display no pagination controls when user has no courses
- Display no pagination controls when less than 12 courses to display
- Only display pagination controls up to the number of courses user is
enrolled in
- Work correctly when on a page greater than the second page.
2020-12-14 13:26:22 +11:00
AMOS bot c28e9297db Automatically generated installer lang files 2020-12-13 00:07:28 +00:00
Mark Nelson 374bbf59bc MDL-68481 mod_folder: stream files when creating zip 2020-12-12 12:50:54 +08:00
Mark Nelson aa8d0aac23 MDL-68533 mod_assign: stream files when creating zip 2020-12-12 12:45:36 +08:00
Mark Nelson f9810e2aff MDL-68533 core_files: add archive_writer API 2020-12-12 12:45:36 +08:00
AMOS bot 3d3ad1cc3e Automatically generated installer lang files 2020-12-12 00:07:32 +00:00
AMOS bot 59208e5f3f Merge branch 'MOODLE_311_STABLE' into install_311_STABLE 2020-12-12 00:07:31 +00:00
Tim Hunt 27bc291f71 MDL-69735 quiz: new capability for read-only view of setting overrides 2020-12-11 21:25:57 +00:00
Tim Hunt f226b6e1b9 MDL-69735 core renderer notifications: make closebutton option usable 2020-12-11 21:23:07 +00:00
Mikel Martín deaf34ee3a MDL-70322 core_search: consistent search icon 2020-12-11 15:42:35 +01:00
AMOS bot 64cedaa361 Automatically generated installer lang files 2020-12-11 00:07:33 +00:00
Víctor Déniz d328ef1c9d weekly release 3.11dev 2020-12-10 21:10:02 +00:00
Víctor Déniz 858ff2096a Merge branch 'install_311_STABLE' of https://git.in.moodle.com/amosbot/moodle-install into MOODLE_311_STABLE 2020-12-10 21:09:55 +00:00
Huong Nguyen 0cc42a2047 MDL-70426 qtype_ddmarker: infinite markers keep duplicating 2020-12-10 15:52:09 +07:00
Shamim Rezaie 11987c1554 MDL-69301 theme_boost: Remove the special handling of Escape key 2020-12-10 15:02:33 +08:00
Jake Dallimore 435bb5ce2a Merge branch 'MDL-70320-311' of https://github.com/andrewnicols/moodle into MOODLE_311_STABLE 2020-12-10 12:01:11 +08:00
Andrew Nicols 8f3d77d228 MDL-70320 behat: User full path to page admin node 2020-12-10 07:55:50 +08:00
Víctor Déniz 46acc5d7ff Merge branch 'MDL-63683-311' of https://github.com/dravek/moodle into MOODLE_311_STABLE 2020-12-09 12:25:40 +00:00
Jake Dallimore 4abc3ab89a Merge branch 'MDL-70151-311' of git://github.com/andrewnicols/moodle into MOODLE_311_STABLE 2020-12-09 14:45:57 +08:00
Shamim Rezaie c16004ce15 MDL-69301 behat: comment a test out
The e.key is not filled correctly by Geckodriver on the verssion of
Firefox that we use.
2020-12-09 13:42:03 +08:00
Andrew Nicols 99ef1a78c1 Merge branch 'MDL-65186-311' of git://github.com/ilya-catalyst/moodle into MOODLE_311_STABLE 2020-12-09 13:34:42 +08:00
Andrew Nicols 94212ac598 Merge branch 'MDL-70295-311' of git://github.com/paulholden/moodle into MOODLE_311_STABLE 2020-12-09 12:11:08 +08:00
Andrew Nicols 72e6bd78aa Merge branch 'MDL-70320_311' of https://github.com/timhunt/moodle into MOODLE_311_STABLE 2020-12-09 11:57:54 +08:00
Andrew Nicols 666ba2d5b9 Merge branch 'MDL-70293-311' of git://github.com/paulholden/moodle into MOODLE_311_STABLE 2020-12-09 11:29:10 +08:00
Andrew Nicols 62ad3fe713 Merge branch 'MDL-69869-311' of git://github.com/ilya-catalyst/moodle into MOODLE_311_STABLE 2020-12-09 11:09:51 +08:00
Jake Dallimore 5eeab9a25f Merge branch 'MDL-69145-311-3' of git://github.com/junpataleta/moodle into MOODLE_311_STABLE 2020-12-09 11:02:17 +08:00
Jun Pataleta a684f59d65 MDL-69145 core_user: Set default filter to ALL 2020-12-09 10:54:02 +08:00
Jun Pataleta bc7d1118b1 MDL-69145 core: Set the default filterset join type to ALL
* Plus minor PHPDoc type fix for the JOINTYPE_DEFAULT constants
2020-12-09 10:54:02 +08:00
Andrew Nicols 618835595c Merge branch 'MDL-62707-311' of https://github.com/paulholden/moodle into MOODLE_311_STABLE 2020-12-09 08:53:20 +08:00
David Mudrák 8017912028 MDL-70430 oauth2: Fix storing of the new refresh token
There was a typo - missing underscore. As a result, the new refresh
token was never updated in the database. Depending on the issuer and
whether or when theyu invalidate issued refresh tokens, this might or
might not make the token refresh stop working.
2020-12-08 11:26:14 +01:00
Jake Dallimore 98635e4444 Merge branch 'MDL-70285_311' of https://github.com/timhunt/moodle into MOODLE_311_STABLE 2020-12-08 16:33:20 +08:00
Ilya Tregubov 4afa3bfda4 MDL-69869 enrol: Fixing intendation for travis. 2020-12-08 09:15:35 +02:00
Ilya Tregubov a2d652e332 MDL-69869 enrol: Clean up - switch to [] from array(). 2020-12-08 09:15:35 +02:00
Ilya Tregubov 3401b6fb42 MDL-69869 enrol: Add ability to get suspended users through
core_enrol_get_enrolled_users webservice.
2020-12-08 09:15:35 +02:00
Ilya Tregubov 724b7606da MDL-65186 analytics: Deprecate add_builtin_models 2020-12-08 09:12:21 +02:00
AMOS bot fb93b22f71 Automatically generated installer lang files 2020-12-08 00:07:25 +00:00
Jamie Stamp 3b4eded721 MDL-70341 tasks: Allow disabled tasks to be overridden 2020-12-07 16:41:04 +00:00
Paul Holden e5e287396d MDL-70422 restore: fix for undefined question answer ordering in test. 2020-12-07 10:15:48 +00:00
Peter Burnett 292b0f2975 MDL-69522 antivirus: Added ability for scanners to set found message 2020-12-07 14:45:18 +10:00
Jake Dallimore 330927d2c4 Merge branch 'MDL-64982-311' of git://github.com/rezaies/moodle into MOODLE_311_STABLE 2020-12-07 12:04:01 +08:00
Jake Dallimore 6762c1e585 Merge branch 'MDL-65818-m311' of https://github.com/sammarshallou/moodle into MOODLE_311_STABLE 2020-12-07 11:27:06 +08:00
Adrian Greeve 91f3377c2f Merge branch 'MDL-69301-311' of git://github.com/rezaies/moodle into MOODLE_311_STABLE 2020-12-07 09:55:35 +08:00
AMOS bot b624187e4d Automatically generated installer lang files 2020-12-06 00:07:30 +00:00
Eric Merrill 14c905a41e MDL-70409 chat: Use require_once to import lib.php 2020-12-04 10:52:00 -05:00
Paul Holden 0ce7a5e021 MDL-70279 tool_templatelibrary: preserve component search field value. 2020-12-04 14:55:35 +00:00
sam marshall 4045bfd723 MDL-65818 Security: Encryption API and admin setting for secure data 2020-12-04 14:40:18 +00:00
Paul Holden c19a18ecd4 MDL-62707 search: account for no matching courses when listing areas.
When limiting the list of courses during retrieval of the search areas
the user can access, make sure we have some contexts before looking
for blocks.
2020-12-04 09:43:07 +00:00
inigozendegi 227021b657 MDL-56119 gradingform_rubric: Rubric display layout issue 2020-12-04 09:41:45 +01:00
David Matamoros 10fa98fcf4 MDL-63683 enrol: Fix plugin settings when no role has student archetype 2020-12-04 09:24:56 +01:00
Shamim Rezaie a5b47b660b MDL-64982 behat: Remove deprecated behat timeout constants
Behat timeout constants behat_base::TIMEOUT, EXTENDED_TIMEOUT, and
REDUCED_TIMEOUT, which were deprecated in 3.7, have been removed.
2020-12-04 17:07:49 +11:00
Andrew Nicols 2881ad191f MDL-70397 behat: Prevent browser restarting after initial start 2020-12-04 12:07:05 +08:00
Jake Dallimore 329c04c1de weekly release 3.11dev 2020-12-04 08:42:38 +08:00
Jake Dallimore a52882b521 Merge branch 'install_311_STABLE' of https://git.in.moodle.com/amosbot/moodle-install into MOODLE_311_STABLE 2020-12-04 08:42:35 +08:00
Juan Leyva f677721abe MDL-70128 webservice: New entry point for draftfiles 2020-12-03 14:28:36 +01:00
Jake Dallimore b1dbb286de Merge branch 'MDL-70326-MOODLE_311_STABLE' of https://github.com/durzo/moodle into MOODLE_311_STABLE 2020-12-03 11:54:31 +08:00
Andrew Nicols b9af298885 Merge branch 'MDL-70327-311' of git://github.com/cescobedo/moodle into MOODLE_311_STABLE 2020-12-03 11:50:18 +08:00
Andrew Nicols c80610ac49 Merge branch 'MDL-70321_311' of https://github.com/timhunt/moodle into MOODLE_311_STABLE 2020-12-03 11:41:19 +08:00
Jake Dallimore 718453d393 Merge branch 'MDL-69411-311' of git://github.com/dravek/moodle into MOODLE_311_STABLE 2020-12-03 11:36:45 +08:00
Jake Dallimore e0302e5412 Merge branch 'MDL-67460-311_profile_secure' of https://github.com/beenet-dev/moodle into MOODLE_311_STABLE 2020-12-03 11:15:49 +08:00
Adrian Greeve 79a2c32236 Merge branch 'wip_MDL-70267_m311' of git://github.com/gjb2048/moodle into MOODLE_311_STABLE 2020-12-03 10:57:50 +08:00
Peter Dias 30d259a68b MDL-65319 core: Final deprecation get_courses_page 2020-12-03 10:29:35 +08:00
Peter Dias d8c62285c3 MDL-65086 analytics: Deprecate get_enabled_time_splitting_methods 2020-12-03 10:15:43 +08:00
Adrian Greeve 680b096c8b Merge branch 'MDL-70167-311' of git://github.com/andrewnicols/moodle into MOODLE_311_STABLE 2020-12-03 09:59:18 +08:00
AMOS bot d85c512ed6 Automatically generated installer lang files 2020-12-03 00:07:28 +00:00
Andrew Nicols c3c4974d93 Merge branch 'MDL-69868-311' of git://github.com/ilya-catalyst/moodle into MOODLE_311_STABLE 2020-12-03 07:47:31 +08:00
Tim Hunt a3cf931e3d MDL-70373 qtype_essay: missing border on atto input 2020-12-02 20:09:43 +00:00
Shamim Rezaie 1320da3240 MDL-69301 theme_boost: Use event.key in aria.js
Both event.which and event.keyCode are deprecated. So
We switched to using event.key. We can only do so now
because IE is no longer supported.
2020-12-03 04:21:53 +11:00
Shamim Rezaie 049e9e835c MDL-69301 course: Remove custom keyboard navigation code 2020-12-03 04:21:53 +11:00
Shamim Rezaie c4430d6a66 MDL-69301 core: Enhanced WAI-ARIA support for tab elements 2020-12-03 04:21:53 +11:00
Shamim Rezaie bede777bed MDL-69301 theme_boost: convert aria.js to es6 module 2020-12-03 04:21:53 +11:00
Jake Dallimore a265ba6148 Merge branch 'MDL-67514-311' of https://github.com/paulholden/moodle into MOODLE_311_STABLE 2020-12-02 16:23:34 +08:00
Andrew Nicols 348e288f08 Merge branch 'MDL-57614-311-4' of git://github.com/mihailges/moodle into MOODLE_311_STABLE 2020-12-02 15:12:28 +08:00
Mihail Geshoski 671a566121 MDL-57614 core: Fetch blocks through a webservice in add block modal 2020-12-02 13:47:55 +08:00
Mihail Geshoski d65d1b4185 MDL-57614 core_block: Create webservice that returns the addable blocks
Creates a webservice that returns the addable blocks in a given page.
The webservice expects the page context id, page type and page layout as
parameters and returns the block name and block title for each available
block.
2020-12-02 13:47:54 +08:00
AMOS bot 020e91f176 Automatically generated installer lang files 2020-12-02 00:07:26 +00:00
Thong Bui c2cb01662a MDL-70324 Question: get_all_response_file_areas() not work correctly 2020-12-01 16:08:37 +07:00
Sara Arjona 0bdfb78bfd Merge branch 'MDL-70037-311' of git://github.com/paulholden/moodle into MOODLE_311_STABLE 2020-12-01 08:00:38 +01:00
AMOS bot 767fdd1661 Automatically generated installer lang files 2020-12-01 00:07:33 +00:00
Paul Holden 4380745602 MDL-70037 mod_forum: include post modified date in external structure. 2020-12-01 00:04:35 +00:00
Claude Vervoort e2a22320ca MDL-70361 mod_lti: deeplinking multiple preserve resourceid and tag 2020-11-30 15:01:21 -05:00
David Mudrák afb99e900b MDL-70357 cron: Catch Throwables not just Exceptions when running tasks
Starting from PHP 7, most language errors throw Error exceptions. We
want to deal with those equally as with any other exception so we need
to catch all Throwables here.
2020-11-30 17:40:52 +01:00
Dan Marsden 7e6b9d8d7e MDL-68052 analytics: Clean up analytics_indicator_calc records. 2020-11-30 09:40:53 +08:00
Gareth Barnard 6756cf3dd9 MDL-70267 ux, theme: Course user profile inconsistent page layout. 2020-11-29 23:45:15 +00:00
AMOS bot 4ffb2fe37c Automatically generated installer lang files 2020-11-29 00:07:35 +00:00
AMOS bot cba8e995c3 Merge branch 'MOODLE_311_STABLE' into install_311_STABLE 2020-11-28 00:07:28 +00:00
Tim Hunt 5f4d8a800c MDL-54907 quiz unit tests: clean up code style in attempts_test.php 2020-11-27 18:30:57 +00:00
Tim Hunt 847f22b59e MDL-54907 quiz: better timefinish for attempts finished asynchronously
There are serveral ways a quiz attempt can be submitted:

1. The student click the Submit and finish button. In this case,
   no problem. We record the current time as the finish time
   for the quiz attempt.

2. The student is activly working away at the quiz, and the
   count-down timer reachers zero. In this case, we also record
   the current time. Note that, if the server is under high load,
   then this could well end up being a few seconds after the
   theoretical end time, so you could have a quiz with a 30 minute
   time limit, with an attempt that lasted 30:07. However, this
   is just an accurate reflection of what happened, so should
   be recorded like this.

3. If the student is offline when the time expires, then
   (depending on the quiz settings) the attempt may be
   automatically submitted by cron, but this will happen with
   at least some delay (to prevent race conditions between cron
   and a student working online) and if cron is running slow
   on the server, it could be a lot later. Previously, this led
   to, say, a 30 minute quiz where an attempt seemed to have
   lasted 67 minutes, which confused people.

   Now, in this situation, the finsh time for the quiz attempt is
   recorded as the time when the time limit ran out. This is not
   just less confusing for teachers looking at the quiz report,
   it is also more accurate. That is the latest time at which
   students could have made any changes to their responses.
2020-11-27 18:30:56 +00:00
Tim Hunt 82fb0fbc69 MDL-54907 quiz generator: defaults should match a new Moodle install 2020-11-27 18:30:56 +00:00
Tim Hunt 91aa099907 MDL-54907 dml: Correct incorrect PHPdoc 2020-11-27 18:30:56 +00:00
Jun Pataleta 0f05c1dc0b MDL-69422 mod_data: Deprecate unused 'unsupportedexport' string 2020-11-27 23:28:25 +08:00
Jun Pataleta b92ff2923c MDL-69422 mod_data: Export form accessibility fixes
* Set appropriate heading element IDs
* Replace usages of deprecated HTML tag acronym with abbr instead.
* Add a label for the export fields fieldset.
* Move the CSV delimiter list outside the radio group.
* Fix div under a label element and duplicate labels
for the checkboxes of the fields to be exported by showing the field
name and type together.
* Group the fields to be exported as a fieldset.
* Move unsupported fields into a separate list.
* Move export options into its own section and group the options as a
fieldset.
2020-11-27 23:28:25 +08:00
Jun Pataleta 5f040a5ac8 MDL-69422 core: Convert required and help button container to div
* A span element cannot have a div as a child.
2020-11-27 23:28:25 +08:00
Sara Arjona c8a6134c8c weekly release 3.11dev 2020-11-27 07:50:38 +01:00
AMOS bot 1edb7aabf4 Automatically generated installer lang files 2020-11-27 06:21:10 +00:00
Sara Arjona fd478e6c1a Merge branch 'MDL-70276_311' of https://github.com/stronk7/moodle into MOODLE_311_STABLE 2020-11-26 15:04:21 +01:00
Peter Dias 729a45dc64 MDL-65215 core: Deprecate i_dock_block 2020-11-26 12:51:53 +01:00
Andrew Nicols 0873a544ed Merge branch 'MDL-63266-311' of git://github.com/peterRd/moodle into MOODLE_311_STABLE 2020-11-26 12:51:53 +01:00
Andrew Nicols 41e1eecf36 MDL-70153 qtype_essay: Whitespace/behat fixes 2020-11-26 12:51:53 +01:00
Andrew Nicols f225783ae8 Merge branch 'MDL-70153-311' of git://github.com/dpalou/moodle into MOODLE_311_STABLE 2020-11-26 12:51:53 +01:00
Andrew Nicols 7c40a570d4 Merge branch 'MDL-70237-311' of git://github.com/rezaies/moodle into MOODLE_311_STABLE 2020-11-26 12:51:53 +01:00
Marina Glancy fe9a2acbcc MDL-70242 auth_oauth2: set page context and url 2020-11-26 12:51:53 +01:00
Andrew Nicols d8f1f5e8b8 Merge branch 'MDL-65852-311' of git://github.com/ilya-catalyst/moodle into MOODLE_311_STABLE 2020-11-26 12:51:53 +01:00
Eloy Lafuente (stronk7) 9db57a69d2 Merge branch 'MDL-42382-311' of git://github.com/NoelDeMartin/moodle into MOODLE_311_STABLE 2020-11-26 12:51:53 +01:00
Sara Arjona 029be97d37 Merge branch 'MDL-70248-311' of https://github.com/HuongNV13/moodle into MOODLE_311_STABLE 2020-11-26 12:51:52 +01:00
Sara Arjona 0f3f0c297c Merge branch 'MDL-70265_311' of https://github.com/stronk7/moodle into MOODLE_311_STABLE 2020-11-26 12:51:52 +01:00
Bas Brands 2d81fc6f65 MDL-69878 core_message: always show message drawer close icon 2020-11-26 12:51:52 +01:00
Andrew Nicols 9851292212 Merge branch 'MDL-70192_311' of https://github.com/stronk7/moodle into MOODLE_311_STABLE 2020-11-26 12:51:52 +01:00
Ilya Tregubov 5cb529630c MDL-69868 h5pactivity: Prevent breaking $USER when seeing
attempt report.
2020-11-26 12:40:23 +02:00
Eloy Lafuente (stronk7) 83875bc586 MDL-70276 github actions: First cut, phpunit and grunt checks
First working version, supports phpunit (using build matrix):

- php72 (lowest), running mysql.
- php74 (highest), running postgres.

Also verifies that the branch has been "gruntified" and there
isn't any missing change (build js/css files).

TODO: Verify the remaining checks currently in .travis.yml, namely:
 - CITEST
 - Add caching
 - Better health-check for DB images.
 - Support from the tracker (satus badges and enable check).
 - Support from CiBoT (status and enable check).
 - Consider moving both the common setup (git, composer...)
   and the database (mysql, postgres) to own actions for
   easier tweaking.
2020-11-26 00:25:42 +01:00
Paul Holden 3eab26586b MDL-70295 libraries: upgrade to version 4.3.1 of Html2Text. 2020-11-25 21:42:05 +00:00
Tim Hunt 7de93d7a6b MDL-70320 permission overrides: role names were double-escaped 2020-11-25 21:21:10 +00:00
Paul Holden 48cce80561 MDL-70293 libraries: upgrade to version 1.5.6 of SimplePie. 2020-11-25 21:03:46 +00:00
Claude Vervoort ce5bed44ca MDL-70284 mod_lti: dynreg fix response claims 2020-11-25 10:51:45 -05:00
cescobedo 38914ee3cd MDL-70327 core_h5p: Add preventredirect to the player 2020-11-25 16:30:43 +01:00
Jordan Tomkinson c59d3c606f MDL-70326 antivirus: fixing regression in MDL-66222 2020-11-25 11:30:58 +01:00
Ilya Tregubov 375af0e6c3 MDL-65852 user: Fix permission check to download course participants. 2020-11-25 11:27:41 +02:00
Jamie Stamp b0c2b85310 MDL-69121 core: Add ZSTD/Gzip compression options to Redis sessions 2020-11-24 23:16:30 +01:00
Sara Arjona e16deb2c2b Merge branch 'MOODLE_311_MDL-69773_v2' of https://github.com/golenkovm/moodle into MOODLE_311_STABLE 2020-11-24 17:24:49 +01:00
Tim Hunt 48eadbc999 MDL-70321 question backup: fix MDL-47178 unit tests
They were failing if you had CodeRunner installed
2020-11-24 15:29:23 +00:00
Simon Mok b85314b06f MDL-67460 profile: User profile link to use HTTPS 2020-11-24 20:47:32 +08:00
Adrian Greeve e2ea199759 Merge branch 'MDL-64776-311' of git://github.com/peterRd/moodle into MOODLE_311_STABLE 2020-11-24 08:55:17 +08:00
Mikhail Golenkov 64e7678c47 MDL-69773 block_section_links: Add an option to display section name 2020-11-24 11:34:38 +11:00
Tim Hunt fa2e457944 MDL-70285 completion upgrade: fix performance of the MDL-69687 code 2020-11-23 20:49:56 +00:00
David Matamoros 873e8961e5 MDL-69411 core_message: Fix return structure for empty result set
Passing a timefrom higher than last message timecreated needs to
return a formatted response so it does not break ws.
2020-11-23 19:25:42 +01:00
Eloy Lafuente (stronk7) a014ebdc6a MDL-70265 travis: Completely remove the UPGRADE check
It was broken since ages ago, see MDL-64874, so no sense
to keep it eating minutes for nothing.
2020-11-23 13:42:36 +01:00
Adrian Greeve 13c3289335 Merge branch 'MDL-67668-311-2' of git://github.com/andrewnicols/moodle into MOODLE_311_STABLE 2020-11-23 15:39:16 +08:00
Peter Burnett 08c6aad9a7 MDL-70160 cache: plugin_functions checks for function_exists() 2020-11-23 15:22:27 +08:00
Adrian Hutchinson 50baaebc31 MDL-67028 mod_lti: Support CourseSection.timeFrame custom parameters 2020-11-23 14:07:18 +08:00
Andrew Nicols 62763b84d4 MDL-70151 assign: Fix bulk change for behat
Behat does not play well with confirmation dialogues and in some
situations it does not wait for the page to reload before starting the
next step.

This change adds a pending_js call which is only resolved if the cancel
button was pressed, otherwise it remains in-progress until the page
reloads resetting the entire state of it.
2020-11-23 11:11:50 +08:00
Andrew Nicols 9bec65f04f MDL-70167 behat: Rewrite attribute check steps
This commit updates the following steps to use the
`the_attribute_of_should_be_set` step under the hood:
- the [element] [type] should be disabled
- the [element] [type] should be enabled
- the [element] [type] should be readonly
- the [element] [type] should not be readonly

This reduces unnecssary code duplication.
2020-11-23 11:03:15 +08:00
Andrew Nicols 5654ddc32e MDL-70167 behat: Boolean attributes should either exist or not 2020-11-23 11:03:15 +08:00
Andrew Nicols 94a492a0f4 MDL-67668 behat: Update tests for inplace editable field type 2020-11-23 09:00:46 +08:00
Andrew Nicols 7a2006b499 MDL-67668 behat: Add inplace editable field type
This commit promotes the Inplace Editable field to a first-class form
element by introducing a new partial selector for inplace editable
fields, and teaching the field manager how to recognise these, then
introducing a new field type which can handle setting values for this
field.
2020-11-23 09:00:46 +08:00
Andrew Nicols 75801895aa MDL-67668 behat: Share behat_behat functionality with forms
Behat form fields are implemented in a way completely isolated from the
rest of the Behat Context system. Whereas regular step definitions have
access to execute steps, to call `find`, check for JS running, and other
related functionality, the Moodle implementation of a field type does
not have any access to this.

By moving the core functionality of behat_base to a new trait, and the
constants to a new interface, the functionality can also be used in
behat form fields in the same way as elsewhere.
2020-11-23 09:00:46 +08:00
Andrew Nicols a53c5b847e MDL-67668 behat: Correct js pending check
Pending checks should only run when JS is running, but some uses were
not apply this check.
2020-11-23 09:00:46 +08:00
Andrew Nicols 621199b331 MDL-67668 behat: Support NodeElement when fetching node in container
This is similar to change made in MDL-69136 to allow an already-fetched
NodeElement to be provided to the get_node_in_container() function and
makes it easier to be deterministic when writing steps.
2020-11-23 09:00:46 +08:00
Eloy Lafuente (stronk7) 89a9b87c95 MDL-70265 travis: Only run highest phpunit if configured via env
By default only lowest php version will be executed, and only pgsql.

This default behavior can be changed with a new variable:

MOODLE_PHP = [all]
MOODLE_DATABASE = [pgsql | mysqli | all]
2020-11-21 11:28:35 +01:00
Eloy Lafuente (stronk7) 788a74ad05 MDL-70192 composer: bump to moodle-behat-extension 3.311.0
Generated following the instructions @:

https://docs.moodle.org/dev/Composer#How_to_prepare_and_submit_composer_changes

(using php72)
2020-11-21 11:28:06 +01:00
Eloy Lafuente (stronk7) ae8e7f90ad weekly release 3.11dev 2020-11-20 23:16:46 +01:00
Huong Nguyen d921cbb41f MDL-70248 qtype_ddimageortext: Drop zones have UI issue in Editing form 2020-11-19 17:02:55 +07:00
Peter Dias e339a551d2 MDL-64776 book: Final deprecation booktool_print_get_toc 2020-11-19 17:03:08 +08:00
Peter Dias b505b893fc MDL-63266 core: Final deprecation enrol/cli/sync.php 2020-11-19 16:22:14 +08:00
Shamim Rezaie 118c309a87 MDL-70237 payment: Allow html tags in gateway description 2020-11-19 16:09:16 +11:00
John Yao 738449323a MDL-67636 gradebook: Prevent exposing hidden grade in locked category 2020-11-19 11:58:48 +08:00
Brendan Heywood a25c20edea MDL-67081 xhprof: Allow conditional profiling from CLI using env vars 2020-11-19 11:42:28 +08:00
Jamie Stamp 30d2f286b6 MDL-65843 tasks: Allow schedules to be overridden in config 2020-11-19 11:31:08 +08:00
Adrian Greeve b4d21549b5 Merge branch 'MDL-56653-311' of git://github.com/lameze/moodle into MOODLE_311_STABLE 2020-11-19 11:09:59 +08:00
Paul Holden c7e5d1c422 MDL-69809 mod_folder: include forcedownload setting in WS responses. 2020-11-19 10:42:20 +08:00
Paul Holden 4ddb0590ea MDL-67702 gradereport_grader: user filters per report instance. 2020-11-19 10:35:59 +08:00
Paul Holden fcc605cfd2 MDL-67702 mod_assign: distinct uniqueid value for grading tables.
This has the effect of making table sorting and filtering by initials
apply only to the current table instance, rather than to all of them.
2020-11-19 10:35:59 +08:00
Jun Pataleta d31ac2f343 Merge branch 'MDL-70094-311' of https://github.com/SangNguyen2601/moodle into MOODLE_311_STABLE 2020-11-19 09:37:58 +08:00
Brendan Heywood b6f59eb325 MDL-47456 core: Remove redundant DB call during bootstrap 2020-11-19 08:54:13 +08:00
Brendan Heywood 9fa0decc04 MDL-70107 tool_task: Unlock session on long running tasks in UI 2020-11-18 23:07:30 +01:00
Paul Holden e6a54ae764 MDL-69201 core: consistent table primary sort column/order. 2020-11-18 23:01:23 +01:00
Dani Palou 5047eac57e MDL-70153 qtype_essay: Add behat test for attachments max size 2020-11-18 10:48:08 +01:00
Dani Palou 4657c380a6 MDL-70153 qtype_essay: Fix max size displayed for attachments 2020-11-18 10:48:08 +01:00
Vitaly 88d12b5dff MDL-56653 enrol_meta: a single DB query in edit_instance_validation
The 'edit_instance_validation()' method checks for existing meta enrolment instances.
The fix replaces DB queries in a loop for each course with a single query for all courses.
Also, a new testing method 'test_edit_instance_validation_with_existing_courses()'
was added to /enrol/meta/tests/plugin_test.php to test if the new implementation
returns an error in case of trying to save the already linked courses in the 'customint1' field.
2020-11-18 15:10:46 +08:00
sangnguyen2601 6b29dca9fb MDL-70094 Question: Technical info section expands if click help icon 2020-11-18 13:28:36 +07:00
Paul Holden 3d1f7d39c7 MDL-70158 tool_templatelibrary: group and sort list of components. 2020-11-18 10:18:35 +08:00
Sam Hemelryk 8bf2d6eb60 MDL-68896 mod_scorm: improved sendBeacon use when unloading 2020-11-18 09:49:56 +08:00
Paul Holden 4c37e43e6a MDL-67514 customfield: correct external usescategories return type. 2020-11-17 22:13:14 +00:00
Eloy Lafuente (stronk7) b3268aeead Merge branch 'MDL-70148-311' of git://github.com/andrewnicols/moodle into MOODLE_311_STABLE 2020-11-17 23:13:07 +01:00
Noel De Martin 86565e4a36 MDL-42382 admin: Add replace filters button
Co-authored-by: Luca Bösch <luca.boesch@bfh.ch>
Co-authored-by: Andrei Bautu <abautu@gmail.com>
2020-11-17 10:11:12 +01:00
Andrew Nicols c7d3bc62fe MDL-70148 gradereport_grader: Improve reliability of keyboard usage
In some browsers the ajax grade select does not properly update the
grade after setting values. The previous solution was to press the
[enter] key, but doing this with the new key type step opens the select
box again. This is what happens when a real user presses enter on the
select.

This is the last possible field in the report, so pressing the tab key
to move to the next gradable element does not work.

The solution uses a shift-tab to move the focus away to the previous
gradale element. In this case it must also be moved to an earlier step
because the previously selected value must be checked in the Then
section of the test and if it is selected then its value cannot be
checked.
2020-11-17 15:14:43 +08:00
Andrew Nicols f4a38bbaac MDL-70148 qtype: Update qtype steps to new key interaction
Note: The ddmarker question type was previously getting the number of
keypresses wrong. This was because it was using both keyDown/keyUp, and
also keyPress. As a result each keypress was essentially happening two
times.
2020-11-17 15:14:43 +08:00
Andrew Nicols 5b9b1f07e6 MDL-70148 behat: Update steps for keyboard 2020-11-17 15:14:43 +08:00
Andrew Nicols 346fdae360 MDL-70148 behat: Add steps to send keys without an element 2020-11-17 15:14:43 +08:00
Andrew Nicols 57672107a1 Merge branch 'MDL-69526-311' of git://github.com/lucaboesch/moodle into MOODLE_311_STABLE 2020-11-17 14:54:16 +08:00
Adrian Greeve c6e649f5ed Merge branch 'MDL-50955-311' of git://github.com/peterRd/moodle into MOODLE_311_STABLE 2020-11-17 13:05:57 +08:00
Peter Dias 443a35d18c MDL-50955 core: Reset lessons completion criteria if grade type is none 2020-11-17 11:23:21 +08:00
Paul Holden 47b60c97ed MDL-69964 course: toggle participant checkboxes in root element.
For a given toggleGroup, the relevant action elements are not
necessarily descendants of the same tableRoot element, on the
course participants page.
2020-11-17 10:23:37 +08:00
Andrew Nicols 725a75e064 MDL-67513 core: Only move modal to body if currently attached
A previous change as part of this commitset was intended to move the
modal to the document.body, but where the modal had been destroyed it
was instead added back to the body.
2020-11-16 09:34:01 +01:00
Luca Bösch 6ef1b21b64 MDL-69526 block_myoverview: custom course fields natural sorting 2020-11-16 01:47:14 +01:00
Neill Magill 0c6d8a96ce MDL-67513 forum: View conversations while fullscreen grading
Before this change when a modal was shown and an element on the page
was fullscreen the modal would be created behind it.

This change ensures that the modal will be inside an element that is
fullscreen so that it will be correctly displayed.
2020-11-16 08:27:16 +08:00
Neill Magill dd25aa095e MDL-67513 forum: Test that discussions can be viewed while grading 2020-11-16 08:27:16 +08:00
Eloy Lafuente (stronk7) b4274fe6da weekly release 3.11dev 2020-11-14 19:54:10 +01:00
Eloy Lafuente (stronk7) 5ba86bc8f5 Merge branch 'MDL-70229_311' of https://github.com/stronk7/moodle into MOODLE_311_STABLE 2020-11-14 19:50:45 +01:00
Eloy Lafuente (stronk7) adb8fe4c42 MDL-70229 install: Changes to continue working with parallel branches
- Main version (version, release, branch and maturity), guaranteeing
  we are diverging from previous stable branch and won't overlap any more.
- Backup release, to match new branch.
- CI configuration files (.travis.yml in this case), to match new branch.

For changes needed to START working with parallel branches, see MDL-69475
2020-11-14 17:10:41 +01:00
Eloy Lafuente (stronk7) f86b5e3545 weekly release 3.10+ 2020-11-12 22:11:40 +01:00
Adrian Greeve dd74c34e36 Merge branch 'MDL-69453-310' of git://github.com/bmbrands/moodle into MOODLE_310_STABLE 2020-11-12 11:56:29 +08:00
Andrew Nicols 5f3b5fdadf Merge branch 'MDL-70067-310_theme_classic' of https://github.com/alexmorrisnz/moodle into MOODLE_310_STABLE 2020-11-12 10:27:27 +08:00
Adrian Greeve 029f061e60 Merge branch 'MOODLE_310_MDL-70117' of https://github.com/golenkovm/moodle into MOODLE_310_STABLE 2020-11-12 09:27:08 +08:00
Eloy Lafuente (stronk7) 14ea8ed50a Merge branch 'MDL-65941-310' of https://github.com/snake/moodle into MOODLE_310_STABLE 2020-11-12 00:18:39 +01:00
Eloy Lafuente (stronk7) 28b14d17c2 Merge branch 'MDL-70023-310' of git://github.com/marinaglancy/moodle into MOODLE_310_STABLE 2020-11-11 23:57:25 +01:00
Alex Morris ce69ce2db5 MDL-70067 report_insights: Replace BS3 column naming
Bootstrap 4 removed col-xs- and replaced it with col-
2020-11-12 08:57:02 +13:00
Sara Arjona 7ca7076c1b Merge branch 'MDL-70063-310-1' of git://github.com/mihailges/moodle into MOODLE_310_STABLE 2020-11-11 16:30:21 +01:00
Jun Pataleta 4c1fbc320f Merge branch 'MDL-70072-310' of git://github.com/rezaies/moodle into MOODLE_310_STABLE 2020-11-11 22:09:07 +08:00
Mihail Geshoski 7b5a1a1967 MDL-70063 block_tag_youtube: Add behat tests 2020-11-11 21:45:09 +08:00
Mihail Geshoski 2a5d1ba26e MDL-70063 block_tag_youtube: Fix category config in existing instances
Upgrade step that fixes the category configuration of existing
tag_youtube block instances.
2020-11-11 21:45:09 +08:00
Mihail Geshoski 6e4c5bf0a2 MDL-70063 block_tag_youtube: Update category config to use category ID
In YouTube Data API v3, the API call to fetch the videos related to a
certain category expects the category ID to be passed to the
videoCategoryId parameter, instead of the category name. Therefore, the
category config should store the category ID.
2020-11-11 21:45:09 +08:00
Bas Brands e6ebfa4baa MDL-69453 core_form: improve form UI icons and alignment 2020-11-11 14:04:54 +01:00
Sara Arjona 5a29867e2d Merge branch 'MDL-70141-m310' of https://github.com/sammarshallou/moodle into MOODLE_310_STABLE 2020-11-11 08:39:23 +01:00
Michael Aherne bbb83614d2 MDL-65941 cache: Prevent cache config failure on redis problems. 2020-11-11 14:49:15 +08:00
Sara Arjona 0ab938d309 Merge branch 'MDL-69823-310' of git://github.com/jleyva/moodle into MOODLE_310_STABLE 2020-11-11 07:41:31 +01:00
Andrew Nicols 6882790684 Merge branch 'MDL-70126-310' of git://github.com/paulholden/moodle into MOODLE_310_STABLE 2020-11-11 10:25:04 +08:00
Andrew Nicols e78929087e Merge branch 'MDL-70065_310' of https://github.com/timhunt/moodle into MOODLE_310_STABLE 2020-11-11 10:10:24 +08:00
Mikhail Golenkov 10a0ea20ac MDL-70117 dataformat_pdf: Fix content overflow when headers are involved 2020-11-11 10:52:01 +11:00
Juan Leyva d0b4b6fa2f MDL-69823 qtype: Support core question types 2020-11-10 19:21:32 +01:00
Juan Leyva a5dcaee31c MDL-69823 mod_quiz: Return question options via WS 2020-11-10 19:21:32 +01:00
Sara Arjona 05ef5c3c48 Merge branch 'MDL-70106-icon-cache-310' of https://github.com/Peterburnett/moodle into MOODLE_310_STABLE 2020-11-10 16:53:37 +01:00
Jun Pataleta e803a24401 Merge branch 'MDL-69930-310' of https://github.com/HuongNV13/moodle into MOODLE_310_STABLE
# Conflicts:
#	question/type/ddimageortext/amd/build/question.min.js
#	question/type/ddimageortext/amd/build/question.min.js.map
#	question/type/ddimageortext/amd/src/question.js
2020-11-10 14:08:57 +08:00
Jun Pataleta 4b0988f014 Merge branch 'MDL-68349-310' of git://github.com/marinaglancy/moodle into MOODLE_310_STABLE 2020-11-10 10:14:37 +08:00
Jake Dallimore 56ec88ca1c Merge branch 'MDL-69841-310' of https://github.com/HuongNV13/moodle into MOODLE_310_STABLE 2020-11-10 09:33:06 +08:00
Víctor Déniz 849c7704f7 Merge branch 'MDL-69955-310' of https://github.com/HuongNV13/moodle into MOODLE_310_STABLE 2020-11-09 21:47:22 +00:00
Paul Holden f5e374c278 MDL-70126 tag: correct thrown exception class name. 2020-11-09 19:43:38 +00:00
Andrew Nicols d0295d8ff2 Merge branch 'MDL-70146_310' of https://github.com/stronk7/moodle into MOODLE_310_STABLE 2020-11-09 10:01:19 +08:00
Eloy Lafuente (stronk7) 4aa83d92bf MDL-70146 upgrade: add 3.10.0 separation line to all upgrade scripts 2020-11-07 23:26:09 +01:00
Eloy Lafuente (stronk7) ec58cefefb Moodle release 3.10 2020-11-07 17:24:12 +01:00
Eloy Lafuente (stronk7) e4cda88e76 Moodle release 3.10rc2 2020-11-06 22:56:08 +01:00
Víctor Déniz 8752df87ed Merge branch 'MDL-70137-310-2' of git://github.com/andrewnicols/moodle into MOODLE_310_STABLE 2020-11-06 19:16:52 +00:00
Andrew Nicols 511dab1cd3 MDL-70137 cache: Write config to temp file and move into place 2020-11-06 19:16:51 +00:00
Andrew Nicols b26a5e5e08 MDL-70137 cache: Use sensible default when reading MUC config
When we read the MUC configuration, a file which exists but is empty
will not error, but will cause all configuration to be empty.

We already perform an {{is_array()}} check on the {{$configuration}}
variable, but the default value for {{$configuration}} is an empty
array. In the case where the file exists, but is empty, no errors occur
when the file is loaded, and the initial {{$configuration}} value is
not overwritten, leading to the file being replaced with an empty copy.
2020-11-06 19:16:44 +00:00
Eloy Lafuente (stronk7) fcb699808c Merge branch 'MDL-70143-310' of git://github.com/marinaglancy/moodle into MOODLE_310_STABLE 2020-11-06 19:51:54 +01:00
Eloy Lafuente (stronk7) f9dc16ca05 Merge branch 'MDL-70139-310' of git://github.com/sarjona/moodle into MOODLE_310_STABLE 2020-11-06 18:56:00 +01:00
sam marshall 72ad8e6919 MDL-70141 core_block: Web service set $PAGE url to avoid warnings 2020-11-06 17:39:06 +00:00
Marina Glancy a350376b65 MDL-70143 tool_uploaduser: fix wrong cache reference 2020-11-06 18:07:24 +01:00
Sara Arjona 29f7a9a210 MDL-70139 core_badges: fix invalid request when sending to backpack
Having mixed $data in badge exporters is causing some issues.
As all these exporters are using $data as an object, $data can be
converted to object in the constructor, to avoid errors and get
the expected behaviour always.
2020-11-06 16:36:52 +01:00
Shamim Rezaie f6b7ed422a MDL-70072 core: Fix always displaying date in Gregorian 2020-11-06 19:23:11 +11:00
Jun Pataleta 022a019637 Merge branch 'MDL-70130-310' of git://github.com/andrewnicols/moodle into MOODLE_310_STABLE 2020-11-06 11:27:54 +08:00
Andrew Nicols 50f5563c1f MDL-70130 core: Compare realpaths for file attachment checks
Rather than using the provided path, the `realpath` must be used to
ensure that the use of symlinks in paths is normalised.
2020-11-06 11:00:30 +08:00
Andrew Nicols 1c0b8f8c50 MDL-70130 core: Simplify attachment handling in email_to_suer 2020-11-06 11:00:29 +08:00
Marina Glancy c879cb24df MDL-70130 core: allow to attach files from localrequestdir to emails
Co-authored-by: Paul Holden <paulh@moodle.com>
2020-11-06 11:00:29 +08:00
Andrew Nicols 6890ad18e3 Merge branch 'MDL-70131-310' of git://github.com/marinaglancy/moodle into MOODLE_310_STABLE 2020-11-06 09:27:33 +08:00
Andrew Nicols b88679e3a1 Merge branch 'MDL-70120-assign-stamp-expires-MOODLE_310_STABLE' of https://github.com/brendanheywood/moodle into MOODLE_310_STABLE 2020-11-06 09:26:01 +08:00
Marina Glancy 8c1917588d MDL-70131 cli: only allow to negate existing keys 2020-11-05 18:10:13 +01:00
Eloy Lafuente (stronk7) c50c904c9e Moodle release 3.10rc1 2020-11-05 12:16:53 +01:00
Marina Glancy 65d419b204 MDL-70023 core_course: improve performance of recently accessed courses 2020-11-05 09:55:15 +01:00
Jun Pataleta 9023021ae0 Merge branch 'MDL-70075-310-2' of git://github.com/andrewnicols/moodle into MOODLE_310_STABLE 2020-11-05 12:51:23 +08:00
Andrew Nicols 919ead58fe Merge branch 'MDL-70066-310' of git://github.com/lameze/moodle into MOODLE_310_STABLE 2020-11-05 10:01:18 +08:00
Andrew Nicols 27de77007b MDL-70075 core: Autocomplete selection should always have an active item
Ensure that there is always one active element in the list of selected
autocomplete elements.

Without this we have issues beacuse clicking on the link makes the first
one active if one is not already active, and this turns a click event
into a drag event, which means that it is not deleted.
2020-11-05 09:05:38 +08:00
Andrew Nicols 34d1c23668 MDL-70075 core: Do not return a value in an event handler
Returning a value of `false` in an event handler has the effect of
calling event.preventDefault() and event.stopPropagation().

This is neither obvious, nor desirable in this situation.
2020-11-05 09:05:38 +08:00
Andrew Nicols dc7ca062ca MDL-70075 core: jQuery.attr() does not accept a bool value
The documented values that jQuery.attr() accepts are String, Number, or
null. For some reason, when we pass a Boolean value, the subsequent
click handler does not work in some situations.

Changing this to take a Number, and unsetting it when empty, resolves
this issue.
2020-11-05 09:05:38 +08:00
Andrew Nicols 8100d46f85 MDL-70075 core: Listen for change in accessibleChange event
The accessibleChange custom interaction event was only listening for
blur and focus, however some OS/browser combinations do not emit these
events until the element is explicitly blurred. This is notably
different on Firefox on some Operating Systems.

Recent changes in MDL-68167 explicitly moved the user participants page
filter module to use the accessibleChange event, which means that the
selections are now only triggered on an explicit blur when using
Firefox. This highlight a bug whereby, when the mouse is used to make a
selection, the event is not triggered until the element is blurred.

This change modifies the accessibleChange event to ignore the `change`
event where it was triggered by the keyboard and where that keybaord
event was not a [return] or [escape] keypress, but to otherwise respect
the native change event.
2020-11-05 09:05:38 +08:00
Andrew Nicols f4dfe66ea8 MDL-70075 core: Listen for the focus and blur events again
The `blur` event does not bubble, but the `focusout` events are not
available in all supported versions of Firefox.

Rather than switching event, this patch using event capture to
effectively achieve the same result and bubble the event up through the
DOM to the delegated listener.

There should be no functional change with this patch, except to support
Firefox fully.
2020-11-05 09:05:38 +08:00
Eloy Lafuente (stronk7) e92c6b19b8 Merge branch 'MDL-70100-310' of git://github.com/bmbrands/moodle into MOODLE_310_STABLE 2020-11-04 22:40:54 +01:00
Víctor Déniz fa79a1876c Merge branch 'MDL-70112_310' of https://github.com/timhunt/moodle into MOODLE_310_STABLE 2020-11-04 19:17:34 +00:00
Sara Arjona c9ab02b0cc Merge branch 'MDL-70114-310' of git://github.com/bmbrands/moodle into MOODLE_310_STABLE 2020-11-04 20:15:04 +01:00
Víctor Déniz 9c2241dee4 Merge branch 'MDL-68749-310-2' of git://github.com/mickhawkins/moodle into MOODLE_310_STABLE 2020-11-04 15:24:08 +00:00
Sara Arjona 8028bf10dc Merge branch 'MDL-70119-310' of git://github.com/ferranrecio/moodle into MOODLE_310_STABLE 2020-11-04 15:19:44 +01:00
Bas Brands 04704c2108 MDL-70114 mod_data: add border for to textarea 2020-11-04 13:30:11 +00:00
Brendan Heywood fbe13d55f3 MDL-70120 assignfeedback_editpdf: Stamp files should be cached 2020-11-04 23:06:02 +11:00
Ferran Recio 75d6582fef MDL-70119 core_badges: fix tab names 2020-11-04 12:57:30 +01:00
Simey Lameze 7ca4fd97d9 MDL-70066 badges: change usages of array_key_exists to isset 2020-11-04 16:05:45 +08:00
Jun Pataleta 940ed72017 Merge branch 'MDL-70089_310' of https://github.com/stronk7/moodle into MOODLE_310_STABLE 2020-11-04 13:05:47 +08:00
Peter Burnett 3885c566aa MDL-70106 cache: Set icon localstorage cache to use theme localisation 2020-11-04 13:33:23 +10:00
Huong Nguyen ab542b6e98 MDL-69955 qtype_ddimageortext: drop zone disappear in special case 2020-11-04 09:52:31 +07:00
Jake Dallimore 477cd8b5fe Merge branch 'MOODLE_310_MDL-70093' of https://github.com/golenkovm/moodle into MOODLE_310_STABLE 2020-11-04 09:00:26 +08:00
Tim Hunt a8efb07714 MDL-70112 drag-drop qtypes: fix form preview 2020-11-03 21:36:00 +00:00
Eloy Lafuente (stronk7) 51c9ea5194 MDL-70089 versions: main version bump 2020-11-03 19:38:27 +01:00
Eloy Lafuente (stronk7) b0a1b4ce8b MDL-70089 versions: bump all versions and requires near release
version = 2020110900 release version
requires= 2020110300 current beta+ (week6roll1) version

Note that, because we are under parallel development period,
this is being done in the branch that is going to be released
(MOODLE_310_STABLE already existing) for Moodle 3.10.0 and
not in master, that is the one getting the bump under normal
(non-parallel) periods.
2020-11-03 19:34:52 +01:00
Mihail Geshoski 3d9175f6f1 MDL-67837 backup: Add unit tests 2020-11-03 12:34:28 +01:00
Mihail Geshoski fd2427746f MDL-67837 backup: Verify caps before unenrolling users on course restore 2020-11-03 12:34:28 +01:00
andreasschenkel 49afa008f4 MDL-69844 user: Fix no email in download_participants_table
Only include eMail in download_participants_table 
if selected in showuseridentity 
($identityfieldsselect)
2020-11-03 12:34:28 +01:00
Juan Leyva 551892e2a7 MDL-67015 mod_data: Prevent users adding entries to other groups 2020-11-03 12:34:28 +01:00
Amaia Anabitarte 45c339ef09 MDL-69046 core_contentbank: Escape quotes when showing name 2020-11-03 12:34:28 +01:00
Ferran Recio e9fe9f4ae3 MDL-69378 tool_uploadcourse: fix enrolment methods uploads 2020-11-03 12:34:28 +01:00
Peter Dias 1d1b148ca9 MDL-56310 restore: Confirm user has permission to change capabilities 2020-11-03 12:34:28 +01:00
Eloy Lafuente (stronk7) 15b4174a9f on-demand release 3.10beta+ 2020-11-03 12:23:48 +01:00
Bas Brands 99ab172211 MDL-70100 theme_boost: quiztimer zindex fix 2020-11-03 10:36:11 +01:00
Michael Hawkins 5cc9f3448c MDL-68749 theme: Fix bootstrap toggle switches in RTL layout
Co-authored-by: Bas Brands <bas@moodle.com>
2020-11-03 14:47:58 +08:00
Andrew Nicols 4dd870de20 Merge branch 'MDL-70059-310' of git://github.com/sarjona/moodle into MOODLE_310_STABLE 2020-11-03 12:05:19 +08:00
Jun Pataleta c353963ef8 Merge branch 'MDL-70033-310-2' of git://github.com/mickhawkins/moodle into MOODLE_310_STABLE 2020-11-03 12:01:33 +08:00
Michael Hawkins 60585523ad MDL-70033 course: Update download content event handling for Classic 2020-11-03 11:54:56 +08:00
Michael Hawkins eeaf19eb5c MDL-70033 core: Update tree.js event handlers to replace stopPropagation
Also added support to allow links to override action keys (enter/space)

Co-authored-by: Andrew Nicols <andrew@nicols.co.uk>
2020-11-03 11:54:56 +08:00
Juan Leyva 63da614e4f MDL-70081 airnotifier: Add missing device type in token registration 2020-11-03 01:25:57 +01:00
Jun Pataleta 73372330a9 Merge branch 'MDL-69975_310' of https://github.com/stronk7/moodle into MOODLE_310_STABLE 2020-11-03 00:00:25 +08:00
Sara Arjona 5f3de24306 Merge branch 'MDL-69973_310' of https://github.com/stronk7/moodle into MOODLE_310_STABLE 2020-11-02 15:44:54 +01:00
Mikhail Golenkov c15eac212b MDL-70093 dataformat_pdf: Fix row height calculation with high cells 2020-11-02 22:25:24 +11:00
Sara Arjona 01c8c8828b MDL-70059 core_badges: avoid duplicate key error
When 2 or more backpack were created without credentials,
a "Duplicate key value violates unique constraint" error
was raised because externalbackpackid was not taking the
correct value.
Other improvements have been done to the code too in order
to make it more readable.
2020-11-02 10:48:06 +01:00
Jake Dallimore 2dbe5f54f1 Merge branch 'MDL-70073-310' of git://github.com/peterRd/moodle into MOODLE_310_STABLE 2020-11-02 13:57:35 +08:00
Jun Pataleta bcf59d235b Merge branch 'MDL-70074-add-authendpoint-310' of https://github.com/cengage/moodle into MOODLE_310_STABLE 2020-11-02 10:04:31 +08:00
Alexander 62530e097b MDL-70067 theme_classic: Use col-12 as col-xs-12 was removed in BS4 2020-11-02 09:08:07 +13:00
Peter Dias 32574e9cae MDL-70073 badges: Fix the backpack-add to match current master 2020-11-01 22:33:28 +08:00
Brendan Heywood 256f8a261c MDL-69975 core: Fix paths longer than 260 chars on windows
Also, ensure that remove_dir() only processes directories,
because sometimes it was being called by shutdown managers
with files, leading to PHP warnings.

Co-authored-by: Eloy Lafuente (stronk7) <stronk7@moodle.org>
Co-authored-by: Jun Pataleta <jun@moodle.com>
2020-11-01 11:09:39 +01:00
Claude Vervoort 60232d2b9b MDL-70074 mod_lti: add authorization_endpoint 2020-10-30 18:08:18 -04:00
Eloy Lafuente (stronk7) 864ddb77c5 MDL-69973 xmldb: Ensure all reports use fresh metadata (not cached) 2020-10-30 19:27:14 +01:00
Eloy Lafuente (stronk7) 462fe3e925 MDL-69973 xmldb: Fix problem with MariaDB >= 10.2.7 metadata defaults
With MariaDB 10.2.7 the driver was incorrectly returning '' (empty
string) as default for all the columns having null (meaning, no
default).

Also, cover the case in unit tests, it seems that we were already
testing other defaults but not the null case.
2020-10-30 19:27:14 +01:00
Marina Glancy 937c7eeef1 MDL-68349 auth_db: user_created event should be triggered later 2020-10-30 14:21:06 +01:00
Eloy Lafuente (stronk7) 6bb7478e8d on-demand release 3.10beta+ 2020-10-30 13:49:20 +01:00
Jun Pataleta 03960b96cb Merge branch 'MDL-68167-310' of git://github.com/rezaies/moodle into MOODLE_310_STABLE 2020-10-30 13:16:55 +08:00
Shamim Rezaie 4d00ebae7a MDL-68167 lib: autocomplete focos should not be removed on blur
See https://www.w3.org/TR/wai-aria-practices-1.1/examples/listbox/listbox-rearrangeable.html
2020-10-30 16:08:56 +11:00
Shamim Rezaie 352e2f7787 MDL-68167 lib: Do not set aria-expanded if it should not be set 2020-10-30 16:08:56 +11:00
Shamim Rezaie 2d2b8d9170 MDL-68167 user: Fix missing label for participants filter input fields 2020-10-30 16:08:56 +11:00
Shamim Rezaie 53f2acb263 MDL-68167 lib: Clear single-select autocomplete elements with keyboard
Following MDL-57680, it should be possible to clear the selected option
using keyboard as well.
2020-10-30 16:08:56 +11:00
Shamim Rezaie 3ea25c3b77 MDL-68167 user: Fix a hardcoded string to be read from lang pack 2020-10-30 16:08:55 +11:00
Shamim Rezaie 7931148cbb MDL-68167 lib: Fix label for autocomplete selection/suggestion box
The content of the autocomplete selection div is purged by javascript
so we have to move its label outside of it. aria-labeledby is the way
to go.

Each time the suggestion box is expanded, autocomplete js renders the
autocomplete suggestions template. So the label cannot be outside the
suggestions ul.
2020-10-30 16:08:40 +11:00
Shamim Rezaie 1031836d89 MDL-68167 user: filter elements should listen to accessibleChange event 2020-10-30 15:01:39 +11:00
Shamim Rezaie ec1e1fd01a MDL-68167 lib: The accessibleChange custom event now supports bubbling
The change event bubbles so the accessibleChange shoud bubble as well.
2020-10-30 15:01:39 +11:00
Shamim Rezaie b5a04a9fe2 MDL-68167 theme_boost: make focus outline accessible for autocompletes 2020-10-30 15:01:39 +11:00
Shamim Rezaie be7b73a24b MDL-68167 lib: Autocomplete selection to use listbox aria role
The aria-selected state cannot be used for the listitem role. The
autocomplete widget highly uses the aria-selected state internally.
2020-10-30 14:59:50 +11:00
Shamim Rezaie 0c438b4d3e MDL-68167 user: Improve keyboard navigation on autocomplete fields 2020-10-30 14:59:50 +11:00
Shamim Rezaie 3f0373cb7e Merge branch 'MDL-69390-310' of git://github.com/bmbrands/moodle into MDL-69390-310-test 2020-10-30 14:59:34 +11:00
Andrew Nicols 6a64b9c5b7 Merge branch 'MDL-69156_310' of https://github.com/ffhs/moodle into MOODLE_310_STABLE 2020-10-30 11:52:07 +08:00
Huong Nguyen 7e47aca045 MDL-69841 Quiz: Review options 'Help' icons do not work correctly 2020-10-30 10:25:43 +07:00
Víctor Déniz 04569f819f Merge branch 'MDL-70032-310-2' of git://github.com/junpataleta/moodle into MOODLE_310_STABLE 2020-10-29 22:26:35 +00:00
Tim Hunt c611f94e04 MDL-70065 quiz: fix paging when adding questions from the bank 2020-10-29 20:29:26 +00:00
Paul Holden a850fa5de8 MDL-69156 backup: correct behaviour of course copy idnumber field.
When a given user doesn't have the capability to change the idnumber
field during course copy, freeze the field value.
2020-10-29 14:15:04 +01:00
Adrian Perez 8d0d0b1f59 MDL-69156 course_copy: set defaults for idnumber when not permitted 2020-10-29 14:15:00 +01:00
Jun Pataleta 8ea746fa79 MDL-70032 qtype_multichoice: Use custom partial named selector
* With the removal of the label element, Behat now has to click on the
answer text. In order to achieve this, the custom partial named selector
"qtype_multichoice > Answer" was now added and have replaced the
instances where the label of the answer's checkbox/radio button is
being clicked.
2020-10-29 16:21:53 +08:00
Jun Pataleta 5d7bd0208a MDL-70032 qtype_multichoice: Fix answer labelling
* Discard the use of the label element in order to be able to render
multiple choice answers as they are and have these act as the radio
button/checkbox' label through the aria-labelledby attribute.
* New JS module qtype_multichoice/answers that listens for click events
on the answer text container and selects the appropriate answer radio
button/checkbox.
2020-10-29 16:21:53 +08:00
Andrew Nicols 52ad601de1 Merge branch 'MDL-68722-310' of https://github.com/matt-catalyst/moodle into MOODLE_310_STABLE 2020-10-29 14:03:15 +08:00
Jake Dallimore 2e02b4d678 Merge branch 'MDL-69716-310' of git://github.com/aanabit/moodle into MOODLE_310_STABLE 2020-10-29 12:40:06 +08:00
Jake Dallimore 859578b0d5 Merge branch 'MDL-70041-310' of git://github.com/mihailges/moodle into MOODLE_310_STABLE 2020-10-29 11:49:20 +08:00
Adrian Greeve 761b8a95f9 Merge branch 'm310_MDL-70042_Progress_Bar_Upgrade_Message_Popup' of https://github.com/scara/moodle into MOODLE_310_STABLE 2020-10-29 08:33:33 +08:00
Matteo Scaramuccia 4ca3d0a0ae MDL-70042 message_popup: Trivial savepoint comment cleanup 2020-10-28 23:00:48 +01:00
Matteo Scaramuccia 75c793f830 MDL-70042 message_popup: progress bar on upgrade only when necessary 2020-10-28 23:00:32 +01:00
Jun Pataleta d546f308d2 Merge branch 'MDL-69390-310' of git://github.com/bmbrands/moodle into MOODLE_310_STABLE 2020-10-28 22:44:08 +08:00
Bas Brands 74f37f98ad MDL-69390 theme_boost: dropdown menu accessibility
- display a dot before the active element
- use the active colour for the hover colour
2020-10-28 14:03:06 +01:00
Jun Pataleta aead807ce6 Merge branch 'MDL-69815-310' of git://github.com/andrewnicols/moodle into MOODLE_310_STABLE 2020-10-28 14:19:23 +08:00
Andrew Nicols f7ad3eaca3 Merge branch 'MDL-70004-310' of git://github.com/junpataleta/moodle into MOODLE_310_STABLE 2020-10-28 13:14:12 +08:00
Jake Dallimore da4fc1e256 Merge branch 'MDL-64723-310' of git://github.com/paulholden/moodle into MOODLE_310_STABLE 2020-10-28 12:10:47 +08:00
Mihail Geshoski 35364e22fc MDL-70041 filepicker: Make sure the user has a recently used license 2020-10-28 12:06:34 +08:00
Jake Dallimore b1ef67ba62 Merge branch 'MDL-65792-310' of git://github.com/bmbrands/moodle into MOODLE_310_STABLE 2020-10-28 12:00:16 +08:00
Jake Dallimore 461bf54590 Merge branch 'MDL-70010_310' of https://github.com/stronk7/moodle into MOODLE_310_STABLE 2020-10-28 11:07:52 +08:00
Andrew Nicols 6ba76c0097 MDL-69815 core: Bump Node to v14.15.0 (LTS/Fermium) 2020-10-28 09:34:31 +08:00
Eloy Lafuente (stronk7) 323ea697c3 Merge branch 'MDL-69998-310-enfix' of git://github.com/mudrd8mz/moodle into MOODLE_310_STABLE 2020-10-28 00:42:05 +01:00
Eloy Lafuente (stronk7) 46f6bae002 Moodle release 3.10beta 2020-10-27 23:48:46 +01:00
Eloy Lafuente (stronk7) 8aacc3fa2b NOBUG: Fixed file access permissions 2020-10-27 23:48:45 +01:00
Eloy Lafuente (stronk7) 0715960dd8 NOBUG: Fixed SVG browser compatibility 2020-10-27 23:48:43 +01:00
Sara Arjona 65084e7371 MDL-69166 enrol_fee: fix behat string from fee to enrolment by payment 2020-10-27 15:01:47 +01:00
Sara Arjona da4b94e012 MDL-69166 enrol_fee: define default value to currency setting 2020-10-27 15:01:47 +01:00
David Mudrák 05679468c5 MDL-69998 lang: Fix reworded strings in Behat test scenarios 2020-10-27 11:20:03 +01:00
Helen Foster 0a64b2ed99 MDL-69998 lang: Import fixed English strings (en_fix) 2020-10-27 11:20:03 +01:00
Andrew Nicols e243810142 Merge branch 'MDL-69166-310-4' of git://github.com/rezaies/moodle into MOODLE_310_STABLE 2020-10-27 16:35:58 +08:00
Bas Brands a5fa563757 MDL-65792 mod_forum: show release time on timed posts 2020-10-27 08:41:28 +01:00
Shamim Rezaie f018e92334 MDL-69166 core: Fix missing lang strings 2020-10-27 18:15:09 +11:00
Andrew Nicols 46e3cfa354 Merge branch 'MDL-69166-310-4' of git://github.com/rezaies/moodle into MOODLE_310_STABLE 2020-10-27 12:59:25 +08:00
Shamim Rezaie 25cf4fa5ca MDL-69166 core_payment: Add privacy implementation 2020-10-27 15:45:25 +11:00
Shamim Rezaie 0fb7847e09 MDL-69166 core_payment: Use promises instead of callbacks 2020-10-27 15:45:25 +11:00
Shamim Rezaie b63f17b5f1 MDL-69166 core_payment: Addressing various integration points
- Add help for 'payment account' field in the enrol instance form
- Remove MOODLE_INTERNALs when not necessary
- Add $userid to deliver_order
- Check if provider classes implement the provider interface
- Rename get_cost to get_payable
- get_payable returns payable object
- Improve registerEventListeners and added init
- Rename payment\provider to payment\service_provider
2020-10-27 15:45:25 +11:00
Shamim Rezaie 52305c9a2e MDL-69166 core_payment: Rename componentid to itemid 2020-10-27 15:45:25 +11:00
Shamim Rezaie 6b3d163a56 MDL-69166 core_payment: Renamed plugintype name from pg to paygw 2020-10-27 15:45:23 +11:00
Marina Glancy efc576fc5c MDL-69166 core_payment: addressing integration review 2020-10-27 15:45:00 +11:00
Marina Glancy 90fbc58de6 MDL-69166 core_payment: rename some functions 2020-10-27 15:45:00 +11:00
Shamim Rezaie 087845bb30 MDL-69166 Replace all upgrade steps with just "create_table" steps 2020-10-27 15:45:00 +11:00
Shamim Rezaie 7d10f35278 MDL-69166 core_payment: Add paymentarea to the payment subsystem 2020-10-27 15:45:00 +11:00
Marina Glancy 9476b48942 MDL-69166 core_payment: archiving accounts, triggering events, tests 2020-10-27 15:45:00 +11:00
Shamim Rezaie 7e11261633 MDL-69166 core_payment: Show cost on the modal when no gateway is chosen 2020-10-27 15:45:00 +11:00
Marina Glancy 15a4e4c87c MDL-69166 core_payment: improvements to api, small fixes 2020-10-27 15:45:00 +11:00
Marina Glancy 895f38cc76 MDL-69166 core_payment: add payment accounts 2020-10-27 15:45:00 +11:00
Shamim Rezaie acd1c82403 MDL-69166 enrol_fee: Show a warning when no currency is supported 2020-10-27 15:44:59 +11:00
Shamim Rezaie c9271eba7c MDL-69166 enrol_fee: Prevent adding instance if no currency is supported 2020-10-27 15:44:59 +11:00
Shamim Rezaie 0cf4bb2afc MDL-69166 pg_paypal: only prevent closing during autorisation 2020-10-27 15:44:59 +11:00
Shamim Rezaie 58a89a46e4 MDL-69166 core-payment: Autoselect gateway when there is only one 2020-10-27 15:44:59 +11:00
Shamim Rezaie 1882bb4792 MDL-69166 core_payment: payment gateways can have a surcharge 2020-10-27 15:44:59 +11:00
Shamim Rezaie bb7d679395 MDL-69166 core_payment: show cost on the modal 2020-10-27 15:44:59 +11:00
Shamim Rezaie 048a652106 MDL-69166 pg_paypal: capture payment directly 2020-10-27 15:44:59 +11:00
Shamim Rezaie 23e24a504e MDL-69166 pg_paypal: New helper to get order details from PayPal 2020-10-27 15:44:59 +11:00
Marina Glancy 761898c876 MDL-69166 core_form: allow modals to prevent closing on accidental click 2020-10-27 15:44:59 +11:00
Shamim Rezaie dc976fba1e MDL-69166 core_payment: ES6-ifying modal_gateways 2020-10-27 15:44:59 +11:00
Shamim Rezaie e2faf67247 MDL-69166 core_payment: Use a custom modal type for gateway selector 2020-10-27 15:44:59 +11:00
Shamim Rezaie b97899634c MDL-69166 pg_paypal: Support multiple currencies on the same page 2020-10-27 15:44:59 +11:00
Shamim Rezaie 2427b92114 MDL-69166 enrol_fee: use template for payment btn & properly format cost 2020-10-27 15:44:59 +11:00
Shamim Rezaie 34770016ee MDL-69166 core_payment: es6-ify 2020-10-27 15:44:59 +11:00
Shamim Rezaie d00c00dd4f MDL-69166 core_payment: add a callback for when payment is done 2020-10-27 15:44:59 +11:00
Shamim Rezaie ed1cc02522 MDL-69166 pg_paypal: Display PayPal buttons in a modal 2020-10-27 15:44:59 +11:00
Shamim Rezaie e1151bf6f5 MDL-69166 pg_paypal: handle paypal checkout callbacks 2020-10-27 15:44:59 +11:00
Shamim Rezaie bbb887f6ae MDL-69166 pg_paypal: Ability to connect to sandbox or live environment 2020-10-27 15:44:59 +11:00
Shamim Rezaie 4403b8f60d MDL-69166 pg_paypal: Process after payment 2020-10-27 15:44:59 +11:00
Shamim Rezaie 3c3b43a58c MDL-69166 core_payment: Save general payment information 2020-10-27 15:44:59 +11:00
Shamim Rezaie 04e2dc7c3b MDL-69166 pg_paypal: paypal helper class to work with API 2020-10-27 15:44:59 +11:00
Shamim Rezaie 05574af1a6 MDL-69166 enrol_fee: Implement callback functions for payment subsystem 2020-10-27 15:44:59 +11:00
Shamim Rezaie 5337ca485c MDL-69166 core_payment: helper methods to get cost and to deliver order
Also create the infrastructure to let components know when they have to
deliver what they sold. We are going to use namespace functions instead
of traditional callbacks.
2020-10-27 15:44:59 +11:00
Shamim Rezaie 3b0034cc91 MDL-69166 enrol_fee: set a description for enrolment 2020-10-27 15:44:59 +11:00
Shamim Rezaie ab6ca27571 MDL-69166 core_payment: send a purchase description to payment gateways
We truncate description to 127 chars as per PayPal requirement
2020-10-27 15:44:59 +11:00
Shamim Rezaie 149e530cc1 MDL-69166 pg_paypal: render PayPal buttons and set up transaction
We truncate brand_name to 127 chars as per PayPal requirement.
2020-10-27 15:44:59 +11:00
Shamim Rezaie 9a7aed4a25 MDL-69166 pg_paypal: WS and AMD to return some settings to be used in js 2020-10-27 15:44:59 +11:00
Shamim Rezaie ed04c3824c MDL-69166 core_payment: post to process payment 2020-10-27 15:44:59 +11:00
Shamim Rezaie 97e8cb0de4 MDL-69166 core_payment: display an image for each gateway 2020-10-27 15:44:59 +11:00
Shamim Rezaie a435c63e16 MDL-69166 core_payment: some basic styling 2020-10-27 15:44:59 +11:00
Shamim Rezaie c2321a263b MDL-69166 core_payment: display the gateways modal 2020-10-27 15:44:58 +11:00
Shamim Rezaie f3d7526419 MDL-69166 core_payment: WS to get list of gateways supporting a currency 2020-10-27 15:44:58 +11:00
Shamim Rezaie d3432a883c MDL-69166 enrol_fee: An enrolment plugin that supports payments 2020-10-27 15:44:58 +11:00
Shamim Rezaie e1cab8e18e MDL-69166 pg_paypal: A new payment gateway is born 2020-10-27 15:44:56 +11:00
Shamim Rezaie bc28c05995 MDL-69166 core: list settings page in the admin tree 2020-10-27 15:05:23 +11:00
Shamim Rezaie 4865d2a0ae MDL-69166 core_payment: basic gateway skeleton 2020-10-27 15:05:23 +11:00
Shamim Rezaie 8317134779 MDL-69166 core: define payment as a subsystem and pg as a plugin type 2020-10-27 15:05:23 +11:00
Michael Hawkins fbac2e9296 MDL-69559 course: Fix course download cap checks when creating courses 2020-10-27 12:01:09 +08:00
Jun Pataleta c978fa26e2 MDL-70004 qtype_multichoice: Set appropriate clear my choice role 2020-10-27 09:57:32 +08:00
Michael Hawkins 599eed0f95 MDL-69559 core: Removed stopPropagation from tree click handling
It was preventing JS click event handlers being reached on some
elements, such as course admin items in Classic
(eg download course content for teachers).
2020-10-27 08:02:20 +08:00
Michael Hawkins 7d52d5def6 MDL-69559 course: Fixed behat navigation in download course content 2020-10-27 08:01:48 +08:00
Paul Holden 8813318d61 MDL-64723 tool_mobile: workaround for invalid certificate parsing.
This is to account for specific server configuration that are affected
by one of the following issues, which results in certificate signature
algorithms being incorrectly parsed:

 * https://bugs.php.net/bug.php?id=77548
 * https://github.com/curl/curl/issues/3706
2020-10-26 23:04:43 +00:00
Sara Arjona 0459910b53 MDL-65959 core_badges: fix unique index in upgrade.php
There was an error when creating the unique index. Apart from that,
the code has been reorganised to copy data in the new structure only
if password field hasn't been removed.
2020-10-26 23:56:46 +01:00
Matt Clarkson adeaafd59d MDL-68722 atto_equation: fix for form elements with special characters
Element id's containing characters such as ':' would break the tab
selector in bootstrap.

This specifically affects the essay question type.
2020-10-27 11:10:58 +13:00
Sara Arjona 0dd7bb8374 Merge branch 'MDL-65959-310' of git://github.com/peterRd/moodle into MOODLE_310_STABLE 2020-10-26 22:44:05 +01:00
Peter Dias bcba1347f8 MDL-65959 badges: Allow cross domain/protocol functionality - obv2 2020-10-26 18:36:26 +08:00
Peter Dias b0e1edd427 MDL-65959 badge: Enable OB2.1 *connection* with cross domain ability 2020-10-26 18:36:26 +08:00
Peter Dias b0007a154c MDL-65959 badge: Reset external_identifiers if backpack details modified 2020-10-26 18:36:26 +08:00
Peter Dias 8c9d3695e3 MDL-65959 badge: Confirm assertion data is updated before awarding 2020-10-26 18:36:26 +08:00
Peter Dias 184944ce6a MDL-65959 badges: Unit and Behat tests 2020-10-26 18:36:26 +08:00
Peter Dias ad9f9e54a3 MDL-65959 badges: Do not use badge user preference after verification 2020-10-26 18:36:26 +08:00
Peter Dias 943b261760 MDL-65959 badges: Update the implementation to use admin set backpack 2020-10-26 18:36:25 +08:00
Peter 8dbc7c6532 MDL-65959 core_badges: Allow ability to upload badges cross domain. 2020-10-26 18:35:36 +08:00
Peter 6f7fe5df9c MDL-65959 core_badges: Unrestricted user's badger account
* Restructure the email to be backpack specific
* Amended table defintion and functions
2020-10-26 18:35:35 +08:00
Eloy Lafuente (stronk7) 7e5f0e1fe6 MDL-70010 core: reconcile MOODLE_310_STABLE and master
There are some unexpected differences between 310 and master,
better reconcile them now. Note this is not 100% critical but,
as far as nothing exclusively for 4.0 has landed to master yet
only branch/version differences should exist.
2020-10-26 11:03:40 +01:00
Eloy Lafuente (stronk7) 11b6df58db Merge branch 'MDL-69993-310' of git://github.com/paulholden/moodle into MOODLE_310_STABLE 2020-10-26 10:42:51 +01:00
Andrew Nicols 36beec930e Merge branch 'MDL-69995-310' of git://github.com/lucaboesch/moodle into MOODLE_310_STABLE 2020-10-26 16:00:38 +08:00
Adrian Greeve 750fe24949 MDL-69559 core_course: Fix to bad behat test formatting. 2020-10-26 13:28:10 +08:00
Adrian Greeve cc718b59d0 Merge branch 'MDL-69559-310-7' of git://github.com/mickhawkins/moodle into MOODLE_310_STABLE 2020-10-26 13:05:33 +08:00
Jun Pataleta 4dcc2d37c6 Merge branch 'MDL-67301-dynreg-squashed-310' of https://github.com/cengage/moodle into MOODLE_310_STABLE 2020-10-26 12:40:23 +08:00
Michael Hawkins d358b91e2b MDL-69559 course: Add course setting and cap to control course downloads 2020-10-26 10:25:37 +08:00
Michael Hawkins c053b93f0c MDL-69559 course: Add course content download UI and execution page 2020-10-26 10:19:39 +08:00
Michael Hawkins cdf91cc236 MDL-69559 course: Add capability and access checks for course download 2020-10-26 10:19:33 +08:00
Michael Hawkins fab34222ca MDL-69559 admin: Add course download admin settings and lang strings 2020-10-26 10:19:27 +08:00
Huong Nguyen ef6f42a825 MDL-69930 qtype_ddimageortext: Duplication items in drag-onto-image question 2020-10-25 20:14:43 +07:00
Luca Bösch a9f5f8094c MDL-69995 backup: padding before activity icons. 2020-10-25 02:07:26 +02:00
Claude Vervoort 10e16c69c8 MDL-67301 mod_lti: dynamic registration 2020-10-24 09:28:32 -04:00
Amaia Anabitarte e66e3740a7 MDL-69716 mod_quiz: No timestamp for in progress attempts 2020-10-23 16:02:25 +02:00
Eloy Lafuente (stronk7) 6594c54b2e on-demand release 3.10dev+ 2020-10-23 14:41:20 +02:00
Paul Holden 6dc336a5d4 MDL-69993 output: correct navigation node type for user reports. 2020-10-23 08:25:40 +01:00
Adrian Greeve 39128991d7 Merge branch 'MDL-67650-forced-checkbox-textarea-MOODLE_310_STABLE' of https://github.com/brendanheywood/moodle into MOODLE_310_STABLE 2020-10-23 09:01:59 +08:00
Víctor Déniz e1990f2f33 Merge branch 'MDL-68664-310' of git://github.com/lameze/moodle into MOODLE_310_STABLE 2020-10-22 12:25:51 +01:00
Sara Arjona 1ce223c7e1 Merge branch 'MDL-69553-m310' of https://github.com/NeillM/moodle into MOODLE_310_STABLE 2020-10-22 08:56:05 +02:00
Brendan Heywood 6694715840 MDL-67650 admin: Consistently show forced config settings 2020-10-22 13:17:49 +11:00
Jake Dallimore 0a43a459ba Merge branch 'MDL-68438_310' of https://github.com/t-schroeder/moodle into MOODLE_310_STABLE 2020-10-22 09:30:48 +08:00
Adrian Greeve 7e0bcbfb19 Merge branch 'MDL-69788-310' of https://github.com/paulholden/moodle into MOODLE_310_STABLE 2020-10-22 09:07:54 +08:00
Eloy Lafuente (stronk7) eaf89f7754 Merge branch 'MDL-66392-310' of https://github.com/paulholden/moodle into MOODLE_310_STABLE 2020-10-21 19:45:26 +02:00
Paul Holden 5bbfcc25c0 MDL-66392 analytics: make model output directory default to empty.
Falling back to path within $CFG->dataroot/models.
2020-10-21 18:04:20 +01:00
Sara Arjona 4a495d66b8 Merge branch 'm310_MDL-68536_Notice_Undefined_Property_CFG_branch' of https://github.com/scara/moodle into MOODLE_310_STABLE 2020-10-21 18:32:47 +02:00
Sara Arjona b13ec3c353 Merge branch 'MDL-67673_310' of https://github.com/stronk7/moodle into MOODLE_310_STABLE 2020-10-21 17:38:16 +02:00
Víctor Déniz 5903054142 Merge branch 'MDL-69392-310' of git://github.com/junpataleta/moodle into MOODLE_310_STABLE 2020-10-21 16:26:44 +01:00
Víctor Déniz 2dd9b53fd6 Merge branch 'MDL-69513-dkim-settings-MOODLE_310_STABLE' of https://github.com/brendanheywood/moodle into MOODLE_310_STABLE 2020-10-21 11:56:54 +01:00
Eloy Lafuente (stronk7) 7f20e2071c MDL-67673 phpunit: Document all the changes in upgrade.txt
This includes:

- Breaking changes (return void + PHP 7.1 min requirement).
- Deprecations and removals.
- Specifically DbUnit and its replacement.
- Printer showing how to rerun tests removed.
2020-10-21 12:46:05 +02:00
Eloy Lafuente (stronk7) 0ab106f41c MDL-67673 phpunit: Remove the rerun hint on failed test cases
That custom printer was using some hacks to be able to intercept
configuration switches, reflection and other tricks to be able to
print the:

To re-run:
 vendor/bin/phpunit --verbose "core_setuplib_testcase" lib/tests/setuplib_test.php

line on every failed/exceptional/skipped test. After some internal
discussion it was agreed that the normal phpunit output:

1) core_setuplib_testcase::test_localcachedir
Time is lower that allowed start value
Failed asserting that 1601976686 is equal to 1601976687 or is greater than 1601976687.

/var/www/html/lib/phpunit/classes/advanced_testcase.php:446
/var/www/html/lib/tests/setuplib_test.php:170
/var/www/html/lib/phpunit/classes/advanced_testcase.php:80

has already all the information at hand about how to rerun a test:

- vendor/bin/phpunit lib/tests/setuplib_test.php
- vendor/bin/phpunit --filter core_setuplib_testcase::test_localcachedir
- vendor/bin/phpunit --filter ::test_localcachedir
- vendor/bin/phpunit --testsuite componentname_testsuite
- vendor/bin/phpunit --config <<compoenent directory>>
- use --cache-result to get failed tests rerun with ease.
- ...

So better, let's use standard phpunit output and done. Also, note that,
with the upgrade to phpunit 8.5, the printer was not working correctly
any more, causing some switches, like --verbose ... to be ignored. Sure
it could have been fixed but, as commented above, no real need for all
that "parapheranlia" to print the rerun information.
2020-10-21 12:46:05 +02:00
Eloy Lafuente (stronk7) 9f82c9aece MDL-67673 phpunit: deprecate old phpunit/dbunit stuff
Apply the standard deprecation procedure to the old APIs, to
be removed in Moodle 4.2 (MDL-69882). Existing unit tests
cover the deprecation debugging.

Originally MDL-64600
2020-10-21 12:46:05 +02:00
Eloy Lafuente (stronk7) 1f13dff1a7 MDL-67673 phpunit: Move tests to use new phpunit_dataset
- Make advanced_testcase old methods to use new ones internally.
- Fix advanced_testcase, statslib, mod/quiz and mod/data tests.

Originally MDL-64600
2020-10-21 12:46:05 +02:00
Eloy Lafuente (stronk7) be396eddf0 MDL-67673 phpunit: Introduce a new, lightweight phpunit_dataset
In charge of taking over the, now removed/archived, phpunit/dbunit
package. It supports loading of CSV/XML files and strings and
PHP arrays, allowing to send the loaded information to database.

Perform some basic controls about the consistency of information,
surely not super-exhaustive but fair enough.

100% covered with unit test.

Planned like an "interim" replacement for phpunit/dbunit uses in
core that, ideally, should be moved to generators stuff at some
point.

Note, expect a few tests in core to fail with this commit, I've
changed some fixtures around. Next commit will fix existing uses.

Originally MDL-64600
2020-10-21 12:46:05 +02:00
Eloy Lafuente (stronk7) 4af4d709a4 MDL-67673 phpunit: Disable phpunit results cache by default
It can be enabled if desired from CLI using the --cache-result
option (or modifying the phpunit.xml cacheResult to true).

That will create the .phpunit.result.cache files that,
later, can be used to easily repeat failed (defects) tests or
run the slow ones first and more. See the --order-by option
to know more about all the available criteria. For example:

./vendor/bin/phpunit --order-by=defects --stop-on-defect

(will run all the failed ones first, stopping on problem, useful
for TDD and other scenarios, not so much for complete runs or CI).

Also, added to .gitignore so they won't be committed ever.
2020-10-21 12:46:05 +02:00
Eloy Lafuente (stronk7) 46606b3ddd MDL-67673 phpunit: Remove deprecated assertEquals() params
The optional parameters of assertEquals() and assertNotEquals()
are deprecated in PHPUnit 8 (to be removed in PHPUnit 9):

- delta => use assertEqualsWithDelta()
- canonicalize => use assertEqualsCanonicalizing()
- ignoreCase => use assertEqualsIgnoringCase
- maxDepth => removed without replacement.

More info @ https://github.com/sebastianbergmann/phpunit/issues/3341

Initial search done with:

ag 'assert(Not)?Equals\(.*,.*,' --php

Then, running tests and fixing remaining cases.
2020-10-21 12:46:05 +02:00
Eloy Lafuente (stronk7) 35bc26b516 MDL-67673 phpunit: Remove deprecated assertContains() uses on strings
Both assertContains() and assertNotContains() are deprecated in PHPUnit 8
for operations on strings. Also the optional case parameter is. All uses
must be changed to one of:

- assertStringContainsString()
- assertStringContainsStringIgnoringCase()
- assertStringNotContainsString()
- assertStringNotContainsStringIgnoringCase()

More info: https://github.com/sebastianbergmann/phpunit/issues/3422

Regexp to find all uses:

ag 'assert(Not)?Contains\('
2020-10-21 12:46:05 +02:00
Eloy Lafuente (stronk7) 106c64ac24 MDL-67673 phpunit: Remove deprecated non-public attribute assertions
With PHPUnit 8 a good number of assertions, all them related with
operations on non-public attributes have been deprecated. And will
be removed with PHPUnit 9.

The main point is that unit tests shouldn't be testing non-public
APIs (good practice) and those assertions were an error originally.

See https://github.com/sebastianbergmann/phpunit/issues/3338 for
the complete list and other details.

When possible (the attributes being checked are public), the change
is simple, just switching to normal assertions.

When the attributes are not public we need to find a workaround
to be able to test the same using public APIs, or use Reflection,
or remove the tests.

For the records, this is the regexp used to find all the cases:

ag '>(assertAttribute|attribute\(|readAttributte|getStaticAttribute| \
    getObjectAttribute)' -G "test.php"
2020-10-21 12:46:05 +02:00
Eloy Lafuente (stronk7) ddf72dd60d MDL-67673 phpunit: Remove expectedException annotations
While this is not strictly required, because removal will
happen in PHPUnit 9.0, we are already getting rid of all
uses in core.

From release notes:https://phpunit.de/announcements/phpunit-8.html

The annotations `@expectedException`, `@expectedExceptionCode`,
`@expectedExceptionMessage`, and `@expectedExceptionMessageRegExp`
are now deprecated.
Using these annotations will trigger a deprecation warning
in PHPUnit 8 and in PHPUnit 9 these annotations will be removed.

Also, all uses of expectExceptionMessageRegExp() has been moved
to expectExceptionMessageMatches(). See https://github.com/sebastianbergmann/phpunit/issues/3957

TODO: Various weirdness found while doing the changes with these tests:
- vendor/bin/phpunit lib/tests/exporter_test.php (created MDL-69700)
- vendor/bin/phpunit competency/tests/external_test.php (same issue than prev one)
- vendor/bin/phpunit question/engine/tests/questionengine_test.php (created MDL-69624)
- vendor/bin/phpunit lib/tests/event_test.php (created MDL-69688)
2020-10-21 12:46:05 +02:00
Eloy Lafuente (stronk7) 0ae27225f5 MDL-67673 phpunit: Remove deprecated assertArraySubset()
While this is not strictly required, because removal will
happen in PHPUnit 9.0, we are already getting rid of all
uses in core.

From release notes:https://phpunit.de/announcements/phpunit-8.html

assertArraySubset() is deprecated and will be removed in PHPUnit 9.
2020-10-21 12:46:05 +02:00
Eloy Lafuente (stronk7) a6674bf8a4 MDL-67673 phpunit: Remove deprecated assertInternalType()
While this is not strictly required, because removal will
happen in PHPUnit 9.0, we are already getting rid of all
uses in core.

From release notes:https://phpunit.de/announcements/phpunit-8.html

assertInternalType() is deprecated and will be removed in
PHPUnit 9. Refactor your test to use assertIsArray(), assertIsBool(),
assertIsFloat(), assertIsInt(), assertIsNumeric(), assertIsObject(),
assertIsResource(), assertIsString(), assertIsScalar(),
assertIsCallable(), or assertIsIterable() instead.
2020-10-21 12:46:05 +02:00
Eloy Lafuente (stronk7) dc87fd4b3f MDL-67673 phpunit: phpunit_constraint_object_is_equal_with_exceptions
Constraints are now declared final, so we cannot extend them anymore.

Hence, instead of extending PHPUnit\Framework\Constraint\IsEqual we
are just wrapping it into our constraint.
2020-10-21 12:46:04 +02:00
Eloy Lafuente (stronk7) d81a94807b MDL-67673 phpunit: Fix the return type of template methods
All the setup/teardown/pre/post/conditions template methods
now are required to return void. This was warned with phpunit 7
and now is enforced.

At the same time, fix a few wrong function names,
provider data and param types, return statements...
2020-10-21 12:46:04 +02:00
Eloy Lafuente (stronk7) c611109ed7 MDL-67673 phpunit: Bump to PHPUnit 8.5 and remove DBunit
This makes everything to break, but it's what we'll be fixing
in the next commits, heh. :-)

Generated with php72 (min version supported), following the
instructions @ https://docs.moodle.org/dev/Composer
2020-10-21 12:46:04 +02:00
Paul Holden 74ef7dc5b1 MDL-69788 admin: validate language menu configuration. 2020-10-21 11:24:22 +01:00
Jun Pataleta 8996ed98c7 Merge branch 'MDL-37226-310' of git://github.com/lucaboesch/moodle into MOODLE_310_STABLE 2020-10-21 17:46:48 +08:00
Tim Schroeder 3fcba4be5e MDL-68438 message: fixed email format change with messaging disabled 2020-10-21 11:29:15 +02:00
Neill Magill 55d463b9f2 MDL-69553 output: Handle pre-loading multiline string defines
Before this patch strings that were declared over multiple lines in
a template would not be parsed correctly.

{{#str}}value,
mod_forum{{/str}}

would have been been parsed to get_string('value', 'core')

{{#str}}
value, mod_forum
{{/str}}

would have been been parsed to get_string('', 'core')
2020-10-21 10:06:26 +01:00
Neill Magill bbb58b10ad MDL-69553 output: Unit tests for loading multiline string defines 2020-10-21 10:06:25 +01:00
Jun Pataleta f266c852c3 Merge branch 'MDL-69945-310' of git://github.com/lucaboesch/moodle into MOODLE_310_STABLE 2020-10-21 16:03:14 +08:00
Jun Pataleta b14daeaa9a MDL-69392 mod_forum: Colour contrast check for locked discussions 2020-10-21 14:54:25 +08:00
Jun Pataleta 8e083da3d5 MDL-69392 block_myoverview: Basic contrast check for the dashboard 2020-10-21 14:54:25 +08:00
Jun Pataleta 8312eeacb0 MDL-69392 question: Fix Try again button styling 2020-10-21 14:54:24 +08:00
Jun Pataleta 0ce40927cf MDL-69392 theme_boost: Improve question colour contrast
* Lighten info container.
* Fix colour contrast for the question container by
  - Lightening the background a bit
  - Darkening the text colour a bit
  - Making sure the link colour has good colour contrast against the
  question text.
* Fix colour contrast for the comments container by
  - Lightening the text colour a bit
  - Darkening the link colour a bit for better colour contrast against
  the feedback text.
2020-10-21 14:54:05 +08:00
Jun Pataleta 0cdfaccd4e MDL-69392 theme_classic: Darken red, blue and green colours
The current red, blue, and green colours achieve the minimum colour
contrast against a white background. However, when they're against
coloured background, text with these colours will easily fail the
4.5:1 contrast ratio requirement for Level AA.
The updated colours now have the following contrast ratio against a
white background:
* Blue  - #0f6fc5 (5.12:1, from 4.58:1)
* Green - #357a32 (5.27:1, from 4.63:1)
* Red   - #ca3120 (5.29:1, from 4.59:1)
2020-10-21 14:54:03 +08:00
Jun Pataleta d386d21360 MDL-69392 theme_boost: Darken red, blue and green colours
The current red, blue, and green colours achieve the minimum colour
contrast against a white background. However, when they're against
coloured background, text with these colours will easily fail the
4.5:1 contrast ratio requirement for Level AA.
The updated colours now have the following contrast ratio against a
white background:
* Blue  - #0f6fc5 (5.12:1, from 4.58:1)
* Green - #357a32 (5.27:1, from 4.63:1)
* Red   - #ca3120 (5.29:1, from 4.59:1)
2020-10-21 14:53:44 +08:00
Adrian Greeve 5429ece3f8 Merge branch 'MDL-69807-310' of https://github.com/paulholden/moodle into MOODLE_310_STABLE 2020-10-21 14:18:02 +08:00
Adrian Greeve 32f99bc4d1 Merge branch 'MDL-68766-M310' of https://github.com/michael-milette/moodle into MOODLE_310_STABLE 2020-10-21 12:54:02 +08:00
Jake Dallimore df0df3110d Merge branch 'MDL-68983-recent-session-lock-ro-MOODLE_310_STABLE' of https://github.com/brendanheywood/moodle into MOODLE_310_STABLE 2020-10-21 12:45:55 +08:00
Jake Dallimore 2ced8c6674 Merge branch 'MDL-69902-310' of https://github.com/marinaglancy/moodle into MOODLE_310_STABLE 2020-10-21 10:57:35 +08:00
Jake Dallimore 17056bf206 Merge branch 'MDL-69751-310' of git://github.com/mihailges/moodle into MOODLE_310_STABLE 2020-10-21 10:02:47 +08:00
Eloy Lafuente (stronk7) 27b09acf75 on-demand release 3.10dev+ 2020-10-21 00:51:10 +02:00
Luca Bösch d159c32b84 MDL-65448 block_site_main_menu: Restyle moving. 2020-10-20 17:26:14 +02:00
Jake Dallimore 221f0e16d0 Merge branch 'MDL-67695-MOODLE_310_STABLE_get_lti_proxies' of https://github.com/andrewmadden/moodle into MOODLE_310_STABLE 2020-10-20 11:08:46 +08:00
Adrian Greeve 55189def65 Merge branch 'MOODLE_310_STABLE-MDL-68284' of https://github.com/yao9394/moodle into MOODLE_310_STABLE 2020-10-20 08:49:06 +08:00
Mihail Geshoski 086a2adc35 MDL-69751 core: Restore deleted guest user and add missing context
This upgrade step fixes the cases where the current guest user is
labelled as 'deleted' and the related user context is missing.
2020-10-20 08:41:35 +08:00
Mihail Geshoski 3c315a874a MDL-69751 course: Handle missing guest user context
Makes sure the guest user context exists when fetching
the recommended modules. If the context does not exist
an exception is being thrown describing the problem.
2020-10-20 08:39:17 +08:00
Simey Lameze b4a8a99898 MDL-68664 theme: remove right margin from form-inline class 2020-10-20 08:32:45 +08:00
Katie Ransom 08e8205d6f MDL-69962 tool_usertours: Fix increase in included files 2020-10-20 01:29:47 +01:00
Andrew Nicols 0a54a501eb Merge branch 'MDL-69687-m310' of https://github.com/sammarshallou/moodle into MOODLE_310_STABLE 2020-10-20 08:02:22 +08:00
Jenkins Automation 213ea00afe MDL-69726 calendar: fix raw event fetcher under postgres
Without this, there's a code path that under the right circumstances is hit and
results in a query with `FROM (mdl_event) ev` in it - which is not valid syntax
under postgres.
2020-10-20 07:46:00 +08:00
Paul Holden 9428e33d55 MDL-69807 blocks: remove redundant sesskey loading edit/delete page. 2020-10-19 22:40:45 +01:00
Eloy Lafuente (stronk7) 31a98b3fb2 Merge branch 'MDL-69906-310-searchsimpledb' of git://github.com/mudrd8mz/moodle into MOODLE_310_STABLE 2020-10-19 22:56:31 +02:00
Eloy Lafuente (stronk7) ae6da7d6a0 Merge branch 'MDL-57756-text-customparams-310' of https://github.com/cengage/moodle into MOODLE_310_STABLE 2020-10-19 22:32:02 +02:00
Andrew Madden 4d5bc273ce MDL-67695 mod_lti: Use correct return structure for get_tool_proxies.
* Deprecated serialise_tool_proxy() as no longer used.
* Use tool_proxy_return_structure for each proxy.
* Added tests for getting all proxies and orphaned proxies.
2020-10-20 04:09:44 +11:00
Sara Arjona 33c7881448 Merge branch 'MDL-69897-310' of https://github.com/paulholden/moodle into MOODLE_310_STABLE 2020-10-19 18:14:54 +02:00
Sara Arjona b7146b655a Merge branch 'MDL-69900-310' of git://github.com/mihailges/moodle into MOODLE_310_STABLE 2020-10-19 13:41:59 +02:00
sam marshall 178d5a0e23 MDL-69687 Course: remove_course_contents orphaned completion data
The remove_course_contents function did not delete data from
course_module_completion table in most cases, resulting in large
quantities of orphaned data.
2020-10-19 10:24:44 +01:00
Sara Arjona f576390bd2 Merge branch 'MOODLE_310_MDL-69791' of https://github.com/golenkovm/moodle into MOODLE_310_STABLE 2020-10-19 10:07:21 +02:00
Andrew Nicols 7ed7afad98 Merge branch 'MDL-65448-310' of git://github.com/lucaboesch/moodle into MOODLE_310_STABLE 2020-10-19 15:54:36 +08:00
Luca Bösch a7e12a77b1 MDL-65448 block_social_activities: Restyle moving. 2020-10-19 09:50:20 +02:00
Luca Bösch 09e02634d4 MDL-65448 core_course: Restyle non-JS activity moving. 2020-10-19 09:50:20 +02:00
Luca Bösch be019636d1 MDL-65448 gradebook: Remove erraneous dev .movehere class left over. 2020-10-19 09:50:19 +02:00
Luca Bösch 7789be4030 MDL-65448 core_course: Restyle non-JS activity moving. 2020-10-19 09:50:19 +02:00
Luca Bösch 91c9ca0f49 MDL-65448 block_site_main_menu: Restyle moving. 2020-10-19 09:50:18 +02:00
Luca Bösch 7c0923a3e4 MDL-65448 block_social_activities: Restyle moving. 2020-10-19 09:50:18 +02:00
Luca Bösch 83cba7b9b0 MDL-65448 gradebook: Restyle moving. 2020-10-19 09:50:18 +02:00
Sara Arjona cb4418bc5b Merge branch 'MDL-69736-310' of git://github.com/ferranrecio/moodle into MOODLE_310_STABLE 2020-10-19 09:03:51 +02:00
Brendan Heywood 4db3403481 MDL-69513 email: Add support for email DKIM signatures 2020-10-19 16:20:42 +11:00
Andrew Nicols 9296086653 Merge branch 'MDL-69687-m310' of https://github.com/sammarshallou/moodle into MOODLE_310_STABLE 2020-10-19 13:19:28 +08:00
Andrew Nicols 38d4a1b75f Merge branch 'MDL-65448-310' of git://github.com/lucaboesch/moodle into MOODLE_310_STABLE 2020-10-19 10:07:45 +08:00
Michael Milette 1b4ef7cd88 MDL-68766 auth: Login form: 'Log in using...' should be h3, not h6 2020-10-17 03:59:35 -04:00
sam marshall 3576eb4835 MDL-69687 Course: Improve removal of completion data on MySQL 2020-10-16 18:22:51 +01:00
sam marshall 39eb58c754 MDL-69687 DB: Add API for deleting data based on subquery
The new API works on normal databases (by deleting data based on the
subquery) and also on MySQL (by deleting the data using a weird join
on the subquery).
2020-10-16 18:22:51 +01:00
Luca Bösch c6731f8045 MDL-37226 assign: align select all header checkbox 2020-10-16 16:08:58 +02:00
Paul Holden 252f95e1b7 MDL-69788 lang: fallback to all translations if misconfigured.
If given translation list contains only invalid entries, fallback
to returning the complete list of available language translations.
2020-10-16 14:38:03 +01:00
Luca Bösch c24c9e174b MDL-65448 block_site_main_menu: Restyle moving. 2020-10-16 14:50:11 +02:00
Luca Bösch 199333208d MDL-65448 block_social_activities: Restyle moving. 2020-10-16 14:50:10 +02:00
Luca Bösch 91557080d7 MDL-65448 core_course: Restyle non-JS activity moving. 2020-10-16 14:50:10 +02:00
Luca Bösch 3370b20e3c MDL-65448 gradebook: Restyle moving. 2020-10-16 14:50:10 +02:00
Luca Bösch 2c98bfc4f4 MDL-69945 core_calendar: let circles appear as circles 2020-10-16 14:22:47 +02:00
Sara Arjona 36f0c3d531 on-demand release 3.10dev+ 2020-10-16 13:18:54 +02:00
Sagar Ghimire 1ebbd18b82 MDL-68284 gradebook: Prevent exposing hidden quiz grade item 2020-10-16 15:06:34 +11:00
Jake Dallimore 04a02b5bd9 Merge branch 'MOODLE_310_MDL-47178' of https://github.com/golenkovm/moodle into MOODLE_310_STABLE 2020-10-16 11:52:29 +08:00
Jun Pataleta 506df9bdbd Merge branch 'MDL-69266-310' of https://github.com/HuongNV13/moodle into MOODLE_310_STABLE 2020-10-16 10:09:40 +08:00
Huong Nguyen 873b4847f5 MDL-69266 qtype_ddwtos: 'unlimited' options fail in 3.9 2020-10-15 20:05:52 +07:00
Adrian Greeve a2aa548af7 Merge branch 'MDL-69549-310-7' of git://github.com/andrewnicols/moodle into MOODLE_310_STABLE 2020-10-15 15:11:29 +08:00
Jun Pataleta d0c89df9ee Merge branch 'MDL-69583-310' of git://github.com/ferranrecio/moodle into MOODLE_310_STABLE 2020-10-15 13:56:58 +08:00
Jun Pataleta 30eccfabaa Merge branch 'MDL-69520-310' of git://github.com/sarjona/moodle into MOODLE_310_STABLE 2020-10-15 13:53:36 +08:00
Simey Lameze 63e2c543ae MDL-69549 mod_resource: content export implementation 2020-10-15 13:46:25 +08:00
Andrew Nicols a69b38d604 MDL-69549 mod_page: Content export implementation 2020-10-15 13:46:25 +08:00
Andrew Nicols 0ea391d1eb MDL-69549 mod_folder: Content export implementation 2020-10-15 13:46:25 +08:00
Andrew Nicols 17d4bc49f6 MDL-69549 core: Add context export API 2020-10-15 13:46:25 +08:00
Katie Ransom 57a13a5971 MDL-69739 tool_usertours: Add tour-level CSS selector 2020-10-15 13:35:32 +08:00
Eloy Lafuente (stronk7) 12fce2a4bd Merge branch 'MDL-69813-310' of https://github.com/paulholden/moodle into MOODLE_310_STABLE 2020-10-14 22:47:12 +02:00
Eloy Lafuente (stronk7) b68dd3a121 Merge branch 'MDL-63805-310' of git://github.com/jleyva/moodle into MOODLE_310_STABLE 2020-10-14 21:22:08 +02:00
Eloy Lafuente (stronk7) eb4c7963c0 MDL-68070 messaging: Ensure that error is shown on first messages
Before there is a conversation, messages between users are sent
using core_message_send_instant_messages instead of
core_message_send_messages_to_conversation.

That method had an undefined $errormessage variable, ultimately
causing the problem detected on message_post_message()/message_send()
to never been returned by the external.

This just adds the same error than already existing conversations do,
but returning it as warning, for BC, JS will show it.
2020-10-14 18:57:29 +02:00
Sara Arjona dde0818f6c MDL-69520 core_h5p: unit tests for covering example and tutorial 2020-10-14 18:35:52 +02:00
Sara Arjona ad28920d0b MDL-69520 core_h5p: add example and tutorial links 2020-10-14 18:35:50 +02:00
Eloy Lafuente (stronk7) a5cde22a26 MDL-68070 messaging: Amend lang string to be clearer for any user.
Credit goes to Helen Foster for the improvement, thanks!
2020-10-14 16:54:26 +02:00
Víctor Déniz 44719d2ad9 Merge branch 'MDL-68900-m310' of https://github.com/sumitnegi933/moodle into MOODLE_310_STABLE 2020-10-14 12:22:22 +01:00
Juan Leyva 784c09c834 MDL-63805 glossary: New WS mod_glossary_prepare_entry_for_edition 2020-10-14 12:57:33 +02:00
Juan Leyva 004be78003 MDL-63805 glossary: New WS mod_glossary_update_entry 2020-10-14 12:56:52 +02:00
Juan Leyva 7fae5f61ef MDL-63805 glossary: Glossary API refactor 2020-10-14 12:56:43 +02:00
Ferran Recio d7cadcc244 MDL-69583 tool_customlang: add CLI import 2020-10-14 11:59:33 +02:00
Jake Dallimore 2cb45addb1 Merge branch 'MOODLE_310_MDL-69848' of https://github.com/golenkovm/moodle into MOODLE_310_STABLE 2020-10-14 09:42:43 +08:00
Víctor Déniz 5ea92799c4 Merge branch 'MDL-69779-better-x-redirect-by-MOODLE_310_STABLE' of https://github.com/brendanheywood/moodle into MOODLE_310_STABLE 2020-10-13 23:41:59 +01:00
Víctor Déniz 55c9482171 Merge branch 'MDL-68440-310' of https://github.com/Peterburnett/moodle into MOODLE_310_STABLE 2020-10-13 23:15:48 +01:00
Simon Mok 1a7928173b MDL-68070 messaging: Fix error when personal notification is disabled 2020-10-13 23:40:46 +02:00
Eloy Lafuente (stronk7) c3299761f7 Merge branch 'MDL-63806-310' of git://github.com/jleyva/moodle into MOODLE_310_STABLE 2020-10-13 22:26:35 +02:00
Sara Arjona 9aeb59af73 on-demand release 3.10dev+ 2020-10-13 13:25:30 +02:00
Ferran Recio 3759daa952 MDL-69583 tool_customlang: add customization import 2020-10-13 12:33:13 +02:00
Brendan Heywood 15044cea7f MDL-68983 cache: Fix bug with readonly session combined with lock debug 2020-10-13 14:53:26 +11:00
Andrew Nicols 1170a8b694 Merge branch 'MDL-66928-request-dir-purge-bug-MOODLE_310_STABLE' of https://github.com/brendanheywood/moodle into MOODLE_310_STABLE 2020-10-13 11:49:10 +08:00
Brendan Heywood 69959c371f MDL-66928 core: Move request dirs to system tmp instead of localcache 2020-10-13 14:29:30 +11:00
Andrew Nicols ec46b18e13 Merge branch 'MDL-67654-310' of https://github.com/paulholden/moodle into MOODLE_310_STABLE 2020-10-13 07:58:20 +08:00
Paul Holden f1acce7bef MDL-67654 mod_forum: formchangechecker for discussion inline replies. 2020-10-12 23:32:44 +01:00
Adrian Greeve 1c6e578db4 Merge branch 'MOODLE_310_MDL-69818' of https://github.com/golenkovm/moodle into MOODLE_310_STABLE 2020-10-12 14:48:48 +08:00
Jake Dallimore a7ea95030c Merge branch 'MDL-68292-admin-sesskey-MOODLE_310_STABLE' of https://github.com/brendanheywood/moodle into MOODLE_310_STABLE 2020-10-12 14:37:07 +08:00
Brendan Heywood 3f04dbee09 MDL-68292 core: Remove sesskey leakage on module pages 2020-10-12 17:11:59 +11:00
Adrian Greeve 6a91117d4a Merge branch 'MDL-65743-310' of git://github.com/lameze/moodle into MOODLE_310_STABLE 2020-10-12 13:41:44 +08:00
Simey Lameze cfe9f53e91 MDL-65743 lib: update moodle library docs 2020-10-12 13:10:12 +08:00
Simey Lameze decd480c42 MDL-65743 lib: add XMPPHP namespace and update calls 2020-10-12 13:10:12 +08:00
Simey Lameze d947f53d4c MDL-65743 lib: upgrade XMPPHP library to v2.2 2020-10-12 13:10:12 +08:00
Andrew Nicols 00877bf283 Merge branch 'MDL-69776-310' of git://github.com/jleyva/moodle into MOODLE_310_STABLE 2020-10-12 12:33:51 +08:00
Adrian Greeve 6f86e933ed Merge branch 'MDL-69649-310' of git://github.com/rezaies/moodle into MOODLE_310_STABLE 2020-10-12 10:15:41 +08:00
Jake Dallimore 6d7b36da59 Merge branch 'MDL-69910-calendar-protectusername-MOODLE_310_STABLE' of https://github.com/brendanheywood/moodle into MOODLE_310_STABLE 2020-10-12 10:05:43 +08:00
Jake Dallimore 7924191691 Merge branch 'MDL-69707-redis-avoid-write-MOODLE_310_STABLE' of https://github.com/brendanheywood/moodle into MOODLE_310_STABLE 2020-10-12 09:57:46 +08:00
Peter Burnett 0628d11380 MDL-68440 cache: Added counting of default mappings 2020-10-12 11:57:17 +10:00
Jake Dallimore 151a63b4cc Merge branch 'MDL-68406-310' of git://github.com/jleyva/moodle into MOODLE_310_STABLE 2020-10-12 09:51:51 +08:00
Adrian Greeve 4ebfbfe88c Merge branch 'MDL-69825-310' of https://github.com/paulholden/moodle into MOODLE_310_STABLE 2020-10-12 08:09:47 +08:00
Brendan Heywood 93a60507fc MDL-69779 core: Improved the X-Redirect-By header when debugging is on 2020-10-11 09:50:21 +11:00
Brendan Heywood 0a8371c690 MDL-69910 calendar: Fix export exception when both params are sent 2020-10-10 19:28:45 +11:00
Paul Holden 604f19afd6 MDL-69825 admin: externalpage class using a callback for access check.
Co-Authored-By: Marina Glancy <marina@moodle.com>
2020-10-09 15:09:05 +01:00
David Mudrák bda1473afa MDL-69906 admin: Display Setup search engine as link only if it is valid
We use auto-generated admin section name here so we need to check that
the target section actually exists.
2020-10-09 14:16:29 +02:00
Sara Arjona d70cfda576 on-demand release 3.10dev+ 2020-10-09 11:12:48 +02:00
Juan Leyva 3dc820a057 MDL-68406 tool_mobile: Allow users to log-out from the app
In this commit, we also reorganised how the Mobile box is displayed in the user profile.
We are allowing now site admins to see the user last access time.
2020-10-09 09:59:43 +02:00
Juan Leyva 4b64516b0e MDL-63806 glossary: New WS mod_glossary_delete_entry 2020-10-09 09:50:38 +02:00
Juan Leyva e8496407e9 MDL-63806 glossary: Return user permissions for entries in WS 2020-10-09 09:49:59 +02:00
Juan Leyva 0ab3fd7958 MDL-63806 glossary: Move delete code to API function 2020-10-09 09:49:59 +02:00
Marina Glancy d103bdba3d MDL-69902 core_search: fix error in the custom fields indexing 2020-10-09 08:52:47 +02:00
Adrian Greeve cf1d32e9c5 Merge branch 'MDL-68384-fix-spec-violations-310' of https://github.com/cengage/moodle into MOODLE_310_STABLE 2020-10-09 12:05:34 +08:00
Jun Pataleta b5fe033b18 Merge branch 'MDL-69740_310' of https://github.com/timhunt/moodle into MOODLE_310_STABLE 2020-10-09 11:56:44 +08:00
Jun Pataleta 05a3e35677 Merge branch 'MDL-69257-310' of git://github.com/mihailges/moodle into MOODLE_310_STABLE 2020-10-09 11:12:16 +08:00
Mihail Geshoski 03058394f2 MDL-69257 core_h5p: Move $maxsize outside the foreach loop
There is no reason to repeatedly obtain the maximum size for uploading
files as a part of foreach loop.
2020-10-09 10:36:01 +08:00
Martin Gauk 1a80427018 MDL-69257 H5P: Check size of uploaded files and virus scan 2020-10-09 10:36:01 +08:00
Stephen Bourget a2b727d7bc MDL-69900 core_backup: Allow IMSCC v1.0 restore to finish 2020-10-09 09:06:26 +08:00
Eloy Lafuente (stronk7) b2a382016f Merge branch 'MDL-69582-310' of git://github.com/ferranrecio/moodle into MOODLE_310_STABLE 2020-10-08 22:44:29 +02:00
Paul Holden 31efbf2e0e MDL-69897 repository: add heading to delete file modal. 2020-10-08 20:29:48 +01:00
Thomas Wedekind 3540343ceb MDL-69582 tool_customlang: export cli script 2020-10-08 19:30:26 +02:00
Thomas Wedekind 78076a621f MDL-69582 tool_customlang: add export langstring feature 2020-10-08 19:30:26 +02:00
Eloy Lafuente (stronk7) ca80e9a68d Merge branch 'MDL-69810-310' of git://github.com/jleyva/moodle into MOODLE_310_STABLE 2020-10-08 16:58:34 +02:00
Eloy Lafuente (stronk7) 9b9b38f44e Merge branch 'MDL-69712-310' of git://github.com/aanabit/moodle into MOODLE_310_STABLE 2020-10-08 16:25:35 +02:00
Sara Arjona 8e5b007c3e Merge branch 'MDL-64657-310' of git://github.com/jleyva/moodle into MOODLE_310_STABLE 2020-10-08 14:15:38 +02:00
Sara Arjona d487ee2240 Merge branch 'MDL-69146_310' of https://github.com/stronk7/moodle into MOODLE_310_STABLE 2020-10-08 12:43:29 +02:00
Sumit Negi 300e4aef4c MDL-68900 mod_forum: permission check for user who is viewing timed post
Pass current user object to post builder as argument, so that the permission to view timed post
will check with current user, who is viewing the posts instead of user who made that post.
2020-10-08 12:46:17 +05:30
Adrian Greeve eefa5c928f Merge branch 'MDL-69805-310' of https://github.com/dravek/moodle into MOODLE_310_STABLE 2020-10-08 15:00:29 +08:00
Adrian Greeve 407dcd4922 Merge branch 'MDL-69798_310' of https://github.com/timhunt/moodle into MOODLE_310_STABLE 2020-10-08 13:34:30 +08:00
Jake Dallimore 8d9a36fb8a Merge branch 'MDL-69192-310-behat' of https://github.com/andrewnicols/moodle into MOODLE_310_STABLE 2020-10-08 09:22:40 +08:00
Andrew Nicols b2d43a7db1 MDL-68665 assignfeedback_editpdf: Coding style fixes 2020-10-08 08:24:07 +08:00
Andrew Nicols 876a5c143b Merge branch 'MDL-68665-310-assign-stamp-cache' of https://github.com/jamie-catalyst/moodle into MOODLE_310_STABLE 2020-10-08 08:23:36 +08:00
Andrew Nicols c562848596 MDL-69192 mod_assign: Stop clicking OK on non-existent modal 2020-10-08 08:04:43 +08:00
Eloy Lafuente (stronk7) 74efdb135d Merge branch 'MDL-69760-MOODLE_310_STABLE' of https://github.com/inkjet2000/moodle into MOODLE_310_STABLE 2020-10-08 00:25:14 +02:00
Víctor Déniz 46d1546c6e Merge branch 'MDL-69759-m310' of https://github.com/sammarshallou/moodle into MOODLE_310_STABLE 2020-10-07 22:24:58 +01:00
Jamie Stamp c2ba78902c MDL-68665 assignfeedback_editpdf: Fix systemsstamp URLs 2020-10-07 16:23:18 +01:00
Jamie Stamp 12fb5964f2 MDL-68665 assignfeedback_editpdf: Add filearea to persist stamps 2020-10-07 16:21:18 +01:00
Justin Merrill 52a84caaaa MDL-69760 core: add mdl_event index for assign adhoc tasks 2020-10-07 09:18:24 -04:00
Sara Arjona 524f6a656b Merge branch 'MDL-65451-310' of https://github.com/marinaglancy/moodle into MOODLE_310_STABLE 2020-10-07 09:39:58 +02:00
Andrew Nicols 86e69ea7b2 Merge branch 'MDL-69192-310' of https://github.com/willob99/moodle into MOODLE_310_STABLE 2020-10-07 13:18:41 +08:00
Andrew Nicols 12820e3a56 Merge branch 'MDL-67275-310-post_noun_verb' of git://github.com/mudrd8mz/moodle into MOODLE_310_STABLE 2020-10-07 12:38:02 +08:00
Victor Deniz Falcon 36905f42b8 MDL-52407 travis: use Travis default notifications(email) 2020-10-07 10:45:54 +08:00
Adrian Greeve fd532533dd Merge branch 'MDL-59510-310' of https://github.com/snake/moodle into MOODLE_310_STABLE 2020-10-07 09:58:52 +08:00
Víctor Déniz d6806beb3e Merge branch 'MDL-62678-core-fetch-notifications-MOODLE_310_STABLE' of https://github.com/brendanheywood/moodle into MOODLE_310_STABLE 2020-10-06 22:58:45 +01:00
Eloy Lafuente (stronk7) 9ab387d707 Merge branch 'MDL-69746-MOODLE_310_STABLE' of https://github.com/tuanngocnguyen/moodle into MOODLE_310_STABLE 2020-10-06 23:53:22 +02:00
Marina Glancy 2a4d1c64bf MDL-65451 tool_uploaduser: move code away from index.php, add CLI script 2020-10-06 15:53:13 +02:00
Ferran Recio a0999ab66f MDL-69736 core_h5p: enable player reporting 2020-10-06 13:05:33 +02:00
Paul Holden 7e3f7e3d7c MDL-69813 h5p: fix undefined addon ordering in framework test. 2020-10-06 10:48:06 +01:00
Eloy Lafuente (stronk7) 823bc36276 on-demand release 3.10dev+ 2020-10-06 10:21:14 +02:00
Mikhail Golenkov 1f3aacf8fc MDL-47178 question: Retain question authors when restoring backups. 2020-10-06 09:33:56 +11:00
Eloy Lafuente (stronk7) 38bcf316ee Merge branch 'MDL-69772-310-allcountrycodes' of git://github.com/mudrd8mz/moodle into MOODLE_310_STABLE 2020-10-06 00:04:05 +02:00
Eloy Lafuente (stronk7) f993881244 Merge branch 'MDL-65074-310' of https://github.com/hitteshahuja/moodle into MOODLE_310_STABLE 2020-10-05 23:12:25 +02:00
Víctor Déniz 3277fc9db6 Merge branch 'MDL-69625-310' of https://github.com/paulholden/moodle into MOODLE_310_STABLE 2020-10-05 19:21:12 +01:00
Sara Arjona ef3720efbd Merge branch 'MDL-69355-310-filebuffer' of git://github.com/mudrd8mz/moodle into MOODLE_310_STABLE 2020-10-05 18:33:45 +02:00
Jun Pataleta 41bc6b9400 Merge branch 'MDL-69704-310' of git://github.com/sarjona/moodle into MOODLE_310_STABLE 2020-10-05 23:12:57 +08:00
Paul Holden b9f8e3e114 MDL-69625 course: return raw custom field value in external method.
For clients that wish to consume the original value of the custom
field (e.g. timestamps for date fields), rather than the formatted
version, add a new "valueraw" property to the returned data.
2020-10-05 10:40:33 +01:00
Eloy Lafuente (stronk7) 355d07e0b4 Merge branch 'MOODLE_310-MDL-69752' of https://github.com/golenkovm/moodle into MOODLE_310_STABLE 2020-10-05 10:54:56 +02:00
Amaia Anabitarte 5af206ad2a MDL-69712 core_h5p: Remove 'whitelist' key uses 2020-10-05 10:28:07 +02:00
Jun Pataleta 5ec265b48d Merge branch 'MOODLE_310_MDL-53966' of https://github.com/golenkovm/moodle into MOODLE_310_STABLE 2020-10-05 13:24:04 +08:00
Mikhail Golenkov 35b29ce7d9 MDL-69791 gradereport: Fix error message when invalid grade is entered 2020-10-05 14:59:41 +11:00
Mikhail Golenkov bec49592ce MDL-69848 upgrade: Delete notifications in chunks 2020-10-05 13:13:51 +11:00
Jake Dallimore 57bb99edd4 MDL-59510 core_oauth2: autorefresh google drive, nextcloud and onedrive
Request additional offline access, allowing the repository to sign in
automatically each time, including across different user sessions, until
either the refresh token is invalidated or the user logs out of the
repository.
2020-10-05 09:17:14 +08:00
Jake Dallimore eb6b828b81 MDL-59510 core: report oauth2_refresh_token table in core provider 2020-10-05 09:17:14 +08:00
Jake Dallimore 8b09853319 MDL-59510 core_oauth2: add autorefresh mode to oauth2\client
Changes:
- The client can now be instantiated with the new mode enabled.
- A user refresh token will be stored if returned as part of the
authorization_code grant but only if the user is authenticated and only
if the mode is enabled.
- If the mode permits it, attempt to exchange a stored refresh token for
a new access token during login checks, allowing access to continue
across sessions without the need to re-grant consent every time.
- Purge all refresh tokens for a given user, issuer and scope on client
log out. This makes sure logout persists across logins.
2020-10-05 09:17:14 +08:00
Jake Dallimore fe1031244b MDL-59510 core_oauth2: add oauth2_refresh_token table 2020-10-05 09:17:14 +08:00
Mikhail Golenkov 03de8ed6d9 MDL-69818 mod_feedback: Fix item dependency during activity restoration 2020-10-04 18:27:32 +11:00
Mikhail Golenkov 6fae5e65e9 MDL-69752 mod_data: Format module intro on Database activities page 2020-10-04 13:46:32 +11:00
Mikhail Golenkov d7157063c3 MDL-53966 lesson: Allow maximum number of attempts to be unlimited 2020-10-04 13:18:45 +11:00
Tim Hunt 477fb6c9d6 MDL-69740 Behat init: more progress info at the end of the install 2020-10-02 23:16:23 +01:00
Juan Leyva c50b024463 MDL-69810 tool_mobile: Return support contact information via WS 2020-10-02 21:02:37 +02:00
Eloy Lafuente (stronk7) fadd2915eb MDL-69146 composer: bump to moodle-behat-extension 3.310.0
Generated following the instructions @:

https://docs.moodle.org/dev/Composer#How_to_prepare_and_submit_composer_changes

(using php72)

Note that here we are jumping to 3-digit branches (for all branches > 39),
exactly how we have done for moodle.git branches (310, 311, 400, 401...)
2020-10-02 15:07:01 +02:00
Sara Arjona c71355941b on-demand release 3.10dev+ 2020-10-02 13:44:05 +02:00
Nathan Nguyen 18871c74e2 MDL-69746 tool_replace: additional skip tables 2020-10-02 15:00:18 +10:00
Víctor Déniz 5cffc7f78b Merge branch 'MDL-69087-310' of git://github.com/sarjona/moodle into MOODLE_310_STABLE 2020-10-01 23:42:20 +01:00
Nathan Nguyen 946159a554 MDL-69572 mod_book : add bookid index to book_chapters 2020-10-01 23:28:21 +01:00
Eloy Lafuente (stronk7) 8d371859dc Merge branch 'MDL-69758-m310' of https://github.com/sammarshallou/moodle into MOODLE_310_STABLE 2020-10-01 23:44:15 +02:00
Claude Vervoort aad6afe979 MDL-57756 mod_lti: params change to text type 2020-10-01 17:32:44 -04:00
Sara Arjona d12c1406df MDL-69704 course: catch exception when calling get_course_content_items
When plugins are removed from disk, an exception is thrown when
calling component_callback_exists.
This exception should be catched here in order to load properly
the activity chooser (otherwise, the exception will be displayed
and no activity will appear).
2020-10-01 19:56:34 +02:00
Víctor Déniz 5130127a3e Merge branch 'MDL-69613-MOODLE_310_STABLE' of https://github.com/tuanngocnguyen/moodle into MOODLE_310_STABLE 2020-10-01 17:39:51 +01:00
Tim Hunt 651dbb729c MDL-69798 XML question export: excape special chars in idnumbers 2020-10-01 17:10:28 +01:00
Jamie Stamp 2c8db06e7a MDL-68665 assignfeedback_editpdf: Improve caching on stamps 2020-10-01 16:52:48 +01:00
Eloy Lafuente (stronk7) e98d18241f Merge branch 'MDL-69672-310' of git://github.com/aanabit/moodle into MOODLE_310_STABLE 2020-10-01 17:49:15 +02:00
Eloy Lafuente (stronk7) 3e460f45ac Merge branch 'MDL-69586-310' of https://github.com/paulholden/moodle into MOODLE_310_STABLE 2020-10-01 17:12:43 +02:00
Sara Arjona d5e30e0108 Merge branch 'MDL-69638_310' of https://github.com/stronk7/moodle into MOODLE_310_STABLE 2020-10-01 15:01:56 +02:00
Sara Arjona 7db1a61a72 Merge branch 'MDL-69050-310-allowlist' of git://github.com/mudrd8mz/moodle into MOODLE_310_STABLE 2020-10-01 14:51:12 +02:00
David Mudrák d335530a28 MDL-69772 admin: Better validation for the allcountrycodes setting
The patch introduces a new admin_setting fiela type that can be used for
specifying comma separated list of countries. The field has inbuilt
validation so that only valid country codes can be inserted.
2020-10-01 13:38:48 +02:00
Sara Arjona 6fe5bb1b96 MDL-69050 lang: Fix few remaining places spotted during integration 2020-10-01 13:01:58 +02:00
Sara Arjona e2a73965ca Merge branch 'MDL-68098-310' of git://github.com/dpalou/moodle into MOODLE_310_STABLE 2020-10-01 12:56:23 +02:00
Ferran Recio ccd0b96591 MDL-69582 tool_customlang: fix options layout 2020-10-01 11:04:10 +02:00
Ferran Recio 851f0d3354 MDL-69582 tool_customlang: add label to textarea 2020-10-01 11:04:10 +02:00
Sara Arjona 5576a97713 Merge branch 'MDL-67473-multipledeeplinking-squashed-310' of https://github.com/cengage/moodle into MOODLE_310_STABLE 2020-10-01 10:28:12 +02:00
Jake Dallimore b235c3a5a7 Merge branch 'MDL-69573-MOODLE_310_STABLE' of https://github.com/tuanngocnguyen/moodle into MOODLE_310_STABLE 2020-10-01 12:20:29 +08:00
Adrian Greeve c00b8b7cab Merge branch 'MDL-54956-310' of git://github.com/jleyva/moodle into MOODLE_310_STABLE 2020-10-01 11:17:44 +08:00
willob99 b19f178e0d MDL-69192 mod_assign: replace grading confirmation popup 2020-09-30 11:08:11 -07:00
David Matamoros 56b28e8e0b MDL-69805 mod_data: Freeze comment field if comments disabled 2020-09-30 15:51:02 +02:00
Matteo Scaramuccia 6658d9fba1 MDL-68536 core: Fix notice about undefined prop 'branch' in $CFG 2020-09-30 14:43:42 +02:00
Claude Vervoort 09dabe003a MDL-67473 mod_lti: deeplinking multiple support
AMOS BEGIN
 CPY [contentitem_help,mod_lti],[contentitem_deeplinking_help,mod_lti]
AMOS END
2020-09-30 08:04:53 -04:00
Nathan Nguyen 85f136094b MDL-69573 core_course: Make MAX_COURSES_IN_CATEGORY configurable 2020-09-30 16:04:55 +10:00
Adrian Greeve 1c55d84794 Merge branch 'MDL-37802-310' of https://github.com/paulholden/moodle into MOODLE_310_STABLE 2020-09-30 13:51:31 +08:00
Brendan Heywood 3ac504fd3d MDL-62678 core: Improve efficiency of notifications and avoid ajax call 2020-09-30 13:56:29 +10:00
Jake Dallimore 1f25df48b1 Merge branch 'MDL-68845-310' of git://github.com/jleyva/moodle into MOODLE_310_STABLE 2020-09-30 11:45:43 +08:00
Adrian Greeve 64ba1753a8 Merge branch 'MDL-68562_310' of https://github.com/mkassaei/moodle into MOODLE_310_STABLE 2020-09-30 11:12:34 +08:00
Eloy Lafuente (stronk7) 0e8d14f4e9 MDL-69638 install: update the list of stale files for 3.10 2020-09-29 22:37:56 +02:00
Víctor Déniz 9c28e07d31 Merge branch 'MDL-67841-310' of git://github.com/jleyva/moodle into MOODLE_310_STABLE 2020-09-29 18:33:48 +01:00
Sara Arjona 4ea44f96e5 Merge branch 'MDL-69342-310_profile_picture_deletion' of https://github.com/vtos/moodle into MOODLE_310_STABLE 2020-09-29 19:01:05 +02:00
Amaia Anabitarte c5c1b8b121 MDL-69672 core_contentbank: is_context_allowed unit tests 2020-09-29 17:47:37 +02:00
Amaia Anabitarte 3490f29ad9 MDL-69672 core_contentbank: Check used context level 2020-09-29 17:47:36 +02:00
Jun Pataleta 3b03a3da47 Merge branch 'MDL-69600-divertemails-MOODLE_310_STABLE' of https://github.com/brendanheywood/moodle into MOODLE_310_STABLE 2020-09-29 20:27:36 +08:00
Sara Arjona a6aefe15f0 Merge branch 'MDL-65976-310' of git://github.com/jleyva/moodle into MOODLE_310_STABLE 2020-09-29 14:09:26 +02:00
Juan Leyva b294665c21 MDL-65976 completion: New course completion message provider 2020-09-29 13:41:49 +02:00
Brendan Heywood 2b50abffa2 MDL-69707 session: Avoid redis writes if the session is unchanged 2020-09-29 20:46:25 +10:00
Brendan Heywood acb848cdce MDL-69600 core: Expose divertallemails config in UI 2020-09-29 20:30:09 +10:00
Jun Pataleta 7cd362b873 Merge branch 'MDL-41492-310' of https://github.com/peterburnett/moodle into MOODLE_310_STABLE 2020-09-29 18:07:18 +08:00
Juan Leyva cc16de4ccc MDL-68845 calendar: New WS get_calendar_export_token 2020-09-29 10:56:29 +02:00
Juan Leyva c0af823086 MDL-68845 calendar: Move duplicated code to function 2020-09-29 10:54:05 +02:00
Eloy Lafuente (stronk7) 8b026809c5 on-demand release 3.10dev+ 2020-09-29 10:48:59 +02:00
Jun Pataleta 2dbc9a5005 Merge branch 'MDL-69283-310' of git://github.com/jleyva/moodle into MOODLE_310_STABLE 2020-09-29 13:53:53 +08:00
Claude Vervoort d224506353 MDL-68384 mod_lti: fix spec violations bo claim name and dl value type 2020-09-28 17:02:40 -04:00
Juan Leyva 0d1187b052 MDL-67841 tool_mobile: Inform about last access with the app 2020-09-28 21:40:54 +02:00
Víctor Déniz a2e3aa6806 Merge branch 'MDL-69644-310' of https://github.com/paulholden/moodle into MOODLE_310_STABLE 2020-09-28 20:34:01 +01:00
Shamim Rezaie adac2a9e55 MDL-69649 form: Fix labels for defaultcustom form elements 2020-09-28 23:43:01 +10:00
Shamim Rezaie 2fca843e49 MDL-69649 backup: Fix missing labels
- The backup details page uses a table to show a sumary of the backup
  content. Used role attribute to denote the tabular format of the
  summary.
- The backup details page displays activity name next to each activity
  icon. Therefore the icons are only decorative and do not need to have
  any title or even alt text.
- Form labels should be associated with form controls.  A div element is
  not a form control.
- The from attribute of the form labels should be equal to the id
  attribute of an element. Therefore, we first create a label and an
  input elements and associate them to each other, and then pass them to
  backup_detail_pair() when a label is needed.
2020-09-28 23:43:01 +10:00
Sara Arjona 157a497a3e Merge branch 'MDL-69695-310' of https://github.com/paulholden/moodle into MOODLE_310_STABLE 2020-09-28 13:03:21 +02:00
sam marshall 4f0fc4f45b MDL-69759 Web services: app checks to token.php cause log errors 2020-09-28 11:55:14 +01:00
Sara Arjona 27b1425eb2 Merge branch 'MDL-68935-310' of git://github.com/jleyva/moodle into MOODLE_310_STABLE 2020-09-28 11:41:01 +02:00
Peter Burnett 40e41c1997 MDL-41492 cache: Added ability for alternate cache config 2020-09-28 15:14:30 +10:00
Nathan Nguyen 89ce0b387e MDL-69613 gradereport: confirm message if override none is selected 2020-09-28 10:40:06 +10:00
Juan Leyva 9b64c178dd MDL-69283 webservice: New external setting for forcing timezone 2020-09-25 19:09:50 +02:00
Hittesh Ahuja 69cc1d1dd5 MDL-65074 mod_quiz: Quiz navigation buttons shouldnt use btn-secondary
Removing .btn-secondary as plain.scss and default.scss in bootstrap hide the button from view.
2020-09-25 15:14:06 +01:00
Juan Leyva 39c8e99e67 MDL-69776 files: New WS core_files_delete_draft_files 2020-09-25 10:38:25 +02:00
Paul Holden 833ab0ea9f MDL-37802 repository: return error if unzipping files fails.
For instance, when a user tried to unzip a password protected zip
archive using the file manager.
2020-09-25 09:33:54 +01:00
Paul Holden 2b87250347 MDL-69586 tool_usertours: use specified user in privacy prefs export. 2020-09-25 09:13:28 +01:00
Mahmoud Kassaei 95d1f1f18d MDL-68562 Qtype_essay: Adding file-size limit to the attachment files 2020-09-25 08:52:59 +01:00
Sara Arjona d23f05828f MDL-69087 core_h5p: add renderer to let personalize styles
Existing mod_hvp pluging has a renderer to let Moodle instances
alter styles, Javascript, semantics (fields in the editor) and
content: https://github.com/h5p/moodle-mod_hvp/blob/stable/renderer.php

The approach for core_h5p is exactly the same, to let people
to reuse their existing code.
2020-09-24 19:56:42 +02:00
David Mudrák 972340b678 MDL-69050 lang: Stop using the term blacklist in mustache output engine 2020-09-24 19:39:36 +02:00
David Mudrák 3971892bd3 MDL-69050 lang: Fix the variable name in the admin/cli/svgtool.php 2020-09-24 19:33:36 +02:00
David Mudrák b18b714165 MDL-69050 lang: Fix variable name and comment in core-notification YUI 2020-09-24 19:33:36 +02:00
David Mudrák 781545d34d MDL-69050 lang: Rename and deprecate filetypes_util methods 2020-09-24 19:33:32 +02:00
David Mudrák 19fe7f27a8 MDL-69050 lang: Improve the wording of the comments
Stop using the terms whitelist/blacklist when used to allow/deny things.
2020-09-24 19:32:40 +02:00
David Mudrák bd686af064 MDL-69050 lang: Fix the variable name in the Essay question type 2020-09-24 19:32:40 +02:00
David Mudrák fd18dc14ff MDL-69050 lang: Rename the filetypesnotwhitelisted string
Rename the string identifier to filetypesnotallowed, copy all the
existing translations in AMOS and deprecate the original string to be
eventually removed.

AMOS BEGIN
 CPY [filetypesnotwhitelisted,core_form],[filetypesnotallowed,core_form]
AMOS END
2020-09-24 19:32:40 +02:00
David Mudrák e840b14f4c MDL-69050 lang: Fix the variable name in the TeX filter library 2020-09-24 19:32:39 +02:00
David Mudrák 730aa1dcb0 MDL-69050 lang: Rename the whitelist variable in the Workshop locallib 2020-09-24 19:32:39 +02:00
David Mudrák 9ef6492e5d MDL-69050 lang: Fix variables and methods names in curl_security_helper
The code has been using terms that were found exclusive and potentially
derogatory. Fixing the terms and making the variables and methods
consistent with the related admin settings.
2020-09-24 19:32:39 +02:00
David Mudrák 41ad54e182 MDL-69050 lang: Fix placeholder in the err_wrongfileextension string
The name of the placeholder has been found exclusive and potentially
derogatory. Also the name of variable that was used to populate the
placeholder value. That was not the intention.
2020-09-24 19:32:39 +02:00
David Mudrák 2a1fb5b5e7 MDL-69772 admin: Fix legacy coding style on Location settings admin page
No actual change here. Just polishing the coding style and adding
fulltree check.
2020-09-24 18:14:29 +02:00
David Mudrák 56adf1f3d8 MDL-69772 lang: Ignore misconfigured allcountrycodes filter
If the allcountrycodes filter contains only invalid values, ignore the
whole filter setting and make get_list_of_countries() return the full
list of all known countries, rather than empty list.
2020-09-24 18:14:29 +02:00
Víctor Déniz a36870c175 weekly release 3.10dev 2020-09-24 16:27:15 +01:00
Eloy Lafuente (stronk7) a0f377cf2b Merge branch 'MDL-69698-310-licensecache' of git://github.com/mudrd8mz/moodle into MOODLE_310_STABLE 2020-09-24 16:50:39 +02:00
Eloy Lafuente (stronk7) 7905d70497 Merge branch 'MDL-69718-display-size-MOODLE_310_STABLE' of https://github.com/brendanheywood/moodle into MOODLE_310_STABLE 2020-09-24 16:39:26 +02:00
Paul Holden d0a55062f9 MDL-69644 tool_dataprivacy: fix focus outline of contact DPO link.
The link class attribute is a leftover from 7258bf0b, which was mostly
removed in 3b2f691f. It no longer serves a purpose and interferes with
the element focus outline.
2020-09-24 11:53:29 +01:00
Vitaly 7f177d440c MDL-69342 core_user: fixed user picture updating
When editing a user and checking the 'Delete picture' checkbox to delete
the old picture and uploading a new one at a time, the new one didn't appear
in the user profile. This happened due to the 'if/else' statement
in the 'core_user::update_picture()' method which allowed either to delete
the old picture or to upload a new one.
The fix removes the 'else' part of the 'if/else' statement to force
checking for a new uploaded picture no matter if a user checked
the 'Delete picture' checkbox or not.
2020-09-24 10:29:31 +03:00
Bas Brands 8730ffcbe1 MDL-66587 mod_quiz: visible quiz timer 2020-09-24 11:32:18 +08:00
Bas Brands 486aa319c2 MDL-69454 core_search: consistent backup search 2020-09-23 17:36:15 +02:00
Bas Brands 6fa8e1c86f MDL-69454 core_search: consistent cohort search 2020-09-23 17:36:15 +02:00
Bas Brands dcfb713ca6 MDL-69454 core_search: consistent content bank search 2020-09-23 17:36:15 +02:00
Bas Brands 9d82cdb62e MDL-69454 core_search: consistent activity chooser search 2020-09-23 17:36:15 +02:00
Bas Brands a88f50d1b2 MDL-69454 core_search: consistent template library search 2020-09-23 17:36:15 +02:00
Bas Brands 94adb3429b MDL-69454 core_search: consistent capability search 2020-09-23 17:36:15 +02:00
Bas Brands bd516bf05c MDL-69454 core_search: consistent tag search 2020-09-23 17:36:15 +02:00
Bas Brands 02829c03c1 MDL-69454 core_search: message search 2020-09-23 17:36:14 +02:00
Bas Brands e9435e8f6d MDL-69454 core_search: consistent mod searches 2020-09-23 17:36:14 +02:00
Bas Brands 6a750d283d MDL-69454 core_search: consistent block searches 2020-09-23 17:36:14 +02:00
Bas Brands b5e39191fc MDL-69454 core_search: consistent course management search 2020-09-23 17:36:14 +02:00
Bas Brands 42c1cf3b03 MDL-69454 core_search: consistent frontpage course search 2020-09-23 17:36:14 +02:00
Bas Brands a5cd815635 MDL-69454 core_search: consistent admin search 2020-09-23 17:36:14 +02:00
Bas Brands 1fdb4fda4a MDL-69454 core_search: consistent navbar search 2020-09-23 17:36:14 +02:00
Juan Leyva 61772eb89b MDL-54956 quiz: Fix WS to support files submission 2020-09-23 12:52:45 +02:00
Juan Leyva e49ccc92c4 MDL-54956 quiz: Return response files in attempts 2020-09-23 12:52:45 +02:00
Dani Palou f9f289f69d MDL-68098 tests: Reset FILTERLIB_PRIVATE after tests 2020-09-23 12:09:08 +02:00
Dani Palou e16b858ff9 MDL-68098 ws: Add unit tests to test mathjax in WS 2020-09-23 12:08:52 +02:00
Dani Palou f4bdb898c7 MDL-68098 ws: Fix WebServices broken by filters HTML 2020-09-23 12:08:40 +02:00
Eloy Lafuente (stronk7) 2d502fd749 Merge branch 'MDL-68229-310' of git://github.com/jleyva/moodle into MOODLE_310_STABLE 2020-09-23 11:51:16 +02:00
Eloy Lafuente (stronk7) b552d604ff Merge branch 'MDL-69014-310' of https://github.com/paulholden/moodle into MOODLE_310_STABLE 2020-09-22 23:04:57 +02:00
Eloy Lafuente (stronk7) 6d73afb2bf Merge branch 'MDL-66934-coursehistory-310' of https://github.com/cengage/moodle into MOODLE_310_STABLE 2020-09-22 14:40:12 +02:00
Juan Leyva 0ad2d843d7 MDL-64657 course: Return hidden section names when configured 2020-09-22 11:53:04 +02:00
Eloy Lafuente (stronk7) 82a1e8fae7 Merge branch 'MDL-66648-310' of https://github.com/paulholden/moodle into MOODLE_310_STABLE 2020-09-21 23:36:22 +02:00
Eloy Lafuente (stronk7) a2c1a20055 Merge branch 'MDL-69667-MOODLE_310_STABLE' of https://github.com/comete-upn/moodle into MOODLE_310_STABLE 2020-09-21 23:20:05 +02:00
David Mudrák 76c3dc5f6b MDL-67275 forum: Fix language and accessibility issues with buttons
There were inconsistencies with the text shown on the submit button,
depending on the where the button was shown.

* Inline reply forum displayed general "Submit".
* Experimental nested discussion view reply form displayed "Post"
  (post/core string) which acts as a noun in other contexts and cannot
  be used as such in many non-English languages.
* Advanced reply form displayed "Post to forum".

The patch fixes this and starts to show "Post to forum" in all three
places consistently.

While working on this, two more issues were noticed and fixed:

* Inline reply textarea's title was hard-coded English "post" text.
  Changed to "Message" to provide advisory information related to the
  element.
* Buttons contained title attribute with the same value as the explicit
  button text. This goes against accessibility guidelines.
2020-09-21 22:50:43 +02:00
sam marshall 62ea8b1cae MDL-69758 Web services: core_get_course_contents PHP warnings
Calls to core_get_course_contents can cause PHP warnings in the server
log if there are any URL instances in the course with sketchy URLs.
This is because url_export_contents incorrectly returns null instead
of an empty array if there is an error.
2020-09-21 15:28:11 +01:00
Brendan Heywood c36d5093e3 MDL-69718 core: Added support for TB and PT to display_size 2020-09-21 12:55:44 +10:00
Claude Vervoort fae57261e7 MDL-66934 mod_lti: support context history param 2020-09-18 14:06:58 -04:00
Juan Leyva 11a49b08e7 MDL-68229 tool_mobile: Add missing option to disable tags in the app 2020-09-18 15:31:03 +02:00
Sara Arjona a730c334c7 MDL-69548 grunt: build ignorefiles 2020-09-18 09:56:22 +02:00
Sara Arjona fb5e3957be Merge branch 'MDL-69548-310' of git://github.com/mickhawkins/moodle into MOODLE_310_STABLE 2020-09-18 09:41:10 +02:00
Michael Hawkins 54524f1ff0 MDL-69548 core: Adding the http-message library
This is a dependency of ZipStream
2020-09-18 10:03:22 +08:00
Michael Hawkins bbfbe8e260 MDL-69548 core: Adding the php-enum library
This is a dependency of ZipStream
2020-09-18 10:03:22 +08:00
Michael Hawkins cfe02e4d3e MDL-69548 core: Adding the ZipStream library
This allows downloading of zip files as a stream, and will be used by
the Download course content project (MDL-69540).
2020-09-18 10:03:22 +08:00
Eloy Lafuente (stronk7) 611399214b weekly release 3.10dev 2020-09-17 19:04:13 +02:00
David Mudrák 321de29e93 MDL-69355 file: Do not attempt to set headers after output started
It was found out that in certain situations there may be some content
in to output handlers buffers. Let's allow that to happen given that:

* default handler's buffer is not sent as a part of the file and an
  error is reported into the server log.
* other handlers' buffer is sent with the assumption that it is required
  for the correct serving of the file.
2020-09-17 17:37:28 +02:00
Eloy Lafuente (stronk7) f200ba55f8 Merge branch 'MDL-69395_310' of github.com:stronk7/moodle into MOODLE_310_STABLE 2020-09-17 17:02:08 +02:00
Eloy Lafuente (stronk7) 8d791e12ba MDL-69395 theme_classic: remove superfluous selector already in boost 2020-09-17 13:05:40 +02:00
Jun Pataleta 8923308d47 Merge branch 'MDL-69630-310' of git://github.com/mihailges/moodle into MOODLE_310_STABLE 2020-09-17 09:17:23 +02:00
Eloy Lafuente (stronk7) 0e97e40e5a Merge branch 'MDL-62387-310' of https://github.com/paulholden/moodle into MOODLE_310_STABLE 2020-09-17 09:17:23 +02:00
Eloy Lafuente (stronk7) 7254648363 Merge branch 'MDL-68909-310' of git://github.com/sarjona/moodle into MOODLE_310_STABLE
Bump version to 2020091000.02 (01 was already current)
2020-09-17 09:17:20 +02:00
Eloy Lafuente (stronk7) c3176af430 Merge branch 'MDL-69664-310' of git://github.com/junpataleta/moodle into MOODLE_310_STABLE 2020-09-17 09:16:52 +02:00
Eloy Lafuente (stronk7) cb82c4d901 Merge branch 'MDL-69395-310' of git://github.com/bmbrands/moodle into MOODLE_310_STABLE 2020-09-17 09:16:52 +02:00
Sara Arjona bf127517b3 Merge branch 'MDL-68688-310' of git://github.com/aanabit/moodle into MOODLE_310_STABLE 2020-09-17 09:16:52 +02:00
Jun Pataleta 29e56fef72 Merge branch 'MDL-69663-m310' of https://github.com/sammarshallou/moodle into MOODLE_310_STABLE 2020-09-17 09:16:52 +02:00
Sara Arjona b249ab9df4 Merge branch 'MDL-68564_before_footer' of git://github.com/davosmith/moodle into MOODLE_310_STABLE 2020-09-17 09:16:52 +02:00
Sara Arjona 7805d0bb44 MDL-68909 h5p: move temporary editor files to draft area 2020-09-17 09:16:51 +02:00
Sara Arjona 6fcc509ed1 MDL-68909 h5p: upgrade step to remove files in editor filearea
As temporary editor files have been moved from core_h5p/editor to
user/draft, they can be removed (to clean unused DB entries).
2020-09-17 09:16:49 +02:00
Mihail Geshoski ebd136ca12 MDL-69630 format_social: Fix behat tests 2020-09-17 12:24:39 +08:00
Stephen Bourget c96a155937 MDL-69630 format_social: Add ajax support 2020-09-17 12:24:39 +08:00
Juan Leyva fdb7f85140 MDL-68935 course: Return context data in get_content WS 2020-09-16 12:43:53 +02:00
David Mudrák fbae45d7c9 MDL-69698 licenses: Improve the performance of the licenses cache
The cache uses a single simple key and there is no need to hash it.
2020-09-15 10:35:34 +02:00
David Mudrák a398a60092 MDL-69698 licenses: Do not cache the localised licenses fullnames
The localisation must happen only after loading the list of licenses
from cache so that the name is displayed in the current user's preferred
language, not in the language of the user who initiated the cache
rebuild.
2020-09-15 10:35:34 +02:00
Paul Holden de0e594a10 MDL-62387 tool_lp: switch to core 'cohort' form element.
The autocomplete AJAX is identical to the version in tool_lp, but also
includes support for excluding suggestions (i.e. cohorts already
synced with the current learning plan).
2020-09-15 08:08:11 +01:00
comete-upn 93097192e6 MDL-69667 competencies: fix competencies count always 0 in frameworks. 2020-09-15 08:37:53 +02:00
Jun Pataleta 1427573cde Merge branch 'MDL-68702-MOODLE_310_STABLE' of https://github.com/tuanngocnguyen/moodle into MOODLE_310_STABLE 2020-09-15 11:56:28 +08:00
Jun Pataleta 28790a42ad Merge branch 'MDL-42012-310-alt' of git://github.com/andrewnicols/moodle into MOODLE_310_STABLE 2020-09-15 11:52:56 +08:00
Andrew Nicols e5f0085cdb MDL-42012 cache: Fix missing return value 2020-09-15 11:46:31 +08:00
Eloy Lafuente (stronk7) 682593054d Merge branch 'MDL-42012-310-alt' of git://github.com/andrewnicols/moodle into MOODLE_310_STABLE 2020-09-14 23:28:54 +02:00
Eloy Lafuente (stronk7) 8fba6189fe Merge branch 'MDL-69658-310' of https://github.com/paulholden/moodle into MOODLE_310_STABLE 2020-09-14 22:56:42 +02:00
Paul Holden 31188e93d6 MDL-69695 mod_folder: use forcedownload setting during inline display. 2020-09-14 21:40:38 +01:00
Paul Holden 9bc368f71c MDL-69014 tool_usertours: clean up user preferences of deleted tours. 2020-09-14 20:36:28 +01:00
Paul Holden 1aa7c68c6f MDL-66648 user: consistent checks for linking to full profile.
The access checks for displaying a link to a users' full profile
now match the checks performed on the full profile page itself.
2020-09-14 20:22:05 +01:00
Davo Smith 23efc7337a MDL-68564 outputrenderers: extend before_footer hook to allow output 2020-09-14 11:00:36 +01:00
Nathan Nguyen cf4b6c8c94 MDL-68702 core_backup: exclude legacy course files 2020-09-11 10:59:28 +10:00
Amaia Anabitarte abb2037b0f MDL-68688 core_contentbank: Empty content bank notification 2020-09-10 11:58:53 +02:00
sam marshall c94b6b2ab7 MDL-69663 Web services: override_webservice_execution not honoured
If two different plugin types (e.g. theme, local) implement
override_webservice_execution callbacks, then all of them except
the 'last' plugin type do not work correctly.
2020-09-10 09:50:50 +01:00
Sara Arjona ab5d361c80 weekly release 3.10dev 2020-09-10 08:52:01 +02:00
Jun Pataleta 334333b6c7 MDL-69664 mod_lti: Apply correct badge class to tool card 2020-09-09 23:34:39 +08:00
Bas Brands 3d08cd2272 MDL-69395 theme_boost: improve colour contrast for form input fields
- for this issue the atto styles.css was moved into theme boost so
we can use our preset variable for $gray-500
2020-09-09 13:41:32 +02:00
Sara Arjona 83a5ed90ce Merge branch 'MDL-69466-3.10' of https://github.com/JBThong/moodle into MOODLE_310_STABLE 2020-09-09 11:39:16 +02:00
Sara Arjona d945333b47 Merge branch 'MDL-69645-310' of git://github.com/lucaboesch/moodle into MOODLE_310_STABLE 2020-09-09 11:00:49 +02:00
Jun Pataleta da84b731c7 Merge branch 'MDL-57682-310-fix' of git://github.com/andrewnicols/moodle into MOODLE_310_STABLE 2020-09-09 16:06:02 +08:00
Andrew Nicols 36f3b1e418 MDL-57682 mediaplayer_videojs: Improve in-page caching of lang strings 2020-09-09 15:37:54 +08:00
Andrew Nicols a3cc6898e9 MDL-57682 mediaplayer_videojs: Login not required for lang fetch 2020-09-09 15:37:52 +08:00
Thong Bui fcbca18c7b MDL-69466 Autocomplete widget: Improve keyboard accessibility 2020-09-09 13:44:23 +07:00
Tien Nguyen c0280f4405 MDL-68797 Administration: Add auto complete setting 2020-09-09 14:37:34 +08:00
Sara Arjona c83543095a Merge branch 'MDL-69521_310' of https://github.com/stronk7/moodle into MOODLE_310_STABLE 2020-09-09 08:08:29 +02:00
Andrew Nicols 13e34fb428 MDL-42012 cache: Valid definitions are required even when disabled 2020-09-09 14:05:03 +08:00
Andrew Nicols c705434a62 MDL-42012 cache: Fully disable cache for disabled cache factory 2020-09-09 14:05:03 +08:00
Andrew Nicols cfe1a9a8d8 MDL-42012 cache: Allow data sources to work when caching is disabled 2020-09-09 14:05:03 +08:00
Andrew Nicols 94d05a5bfb MDL-68797 tool_mobile: Version bump 2020-09-09 12:43:55 +08:00
Tien Nguyen 2562b9f3a3 MDL-68797 Administration: Setting for mobile file type exclusion list 2020-09-09 12:29:06 +08:00
Andrew Nicols e8b05c6cb4 Merge branch 'MDL-57682-310' of git://github.com/rezaies/moodle into MOODLE_310_STABLE 2020-09-09 12:23:33 +08:00
Eloy Lafuente (stronk7) 8f0297915c Merge branch 'MDL-69116-310' of git://github.com/rezaies/moodle into MOODLE_310_STABLE 2020-09-08 23:16:24 +02:00
Paul Holden b25763e875 MDL-69658 quizaccess_seb: progress bar on install only when necessary. 2020-09-08 19:32:24 +01:00
Eloy Lafuente (stronk7) 84bcfbb0d5 MDL-69521 core: Move all comments in code from 4.4 to 4.2 2020-09-08 19:01:42 +02:00
Eloy Lafuente (stronk7) e419e7acba MDL-69521 core: Move all comments in code from 4.3 to 4.1 2020-09-08 19:01:41 +02:00
Eloy Lafuente (stronk7) 309aad5a82 MDL-69521 core: Move all comments in code from 4.2 to 4.0 2020-09-08 19:01:41 +02:00
Eloy Lafuente (stronk7) 8452418666 MDL-69521 core: Move all comments in code from 4.1 to 3.11 2020-09-08 19:01:36 +02:00
Eloy Lafuente (stronk7) 5ba67416e6 Merge branch 'MDL-69510-310' of https://github.com/snake/moodle into MOODLE_310_STABLE 2020-09-08 15:28:33 +02:00
Sara Arjona bd0de2d965 Merge branch 'MDL-69525-310-1' of git://github.com/mihailges/moodle into MOODLE_310_STABLE 2020-09-08 14:21:46 +02:00
Sara Arjona db54910ce2 Merge branch 'MDL-28501-310' of https://github.com/mackensen/moodle into MOODLE_310_STABLE 2020-09-08 13:28:51 +02:00
Michael Hawkins 9d356676c3 MDL-69340 tag: Correct the filter input HTML in the tag manager 2020-09-08 08:54:33 +02:00
Mihail Geshoski a9d3f4b96c MDL-69048 book: Sanitize previous chapter value in add new chapter page 2020-09-08 08:54:33 +02:00
Andrew Nicols ca6cf0bd21 MDL-68974 calendar: Use page context for block check 2020-09-08 08:54:33 +02:00
Andrew Nicols 7d990ee185 MDL-68974 blocks: Check permission before generating content 2020-09-08 08:54:33 +02:00
Mihail Geshoski e2a11dc2aa MDL-65115 repository: Prevent unzipping if it will exceed allowed quota 2020-09-08 08:54:33 +02:00
Mihail Geshoski a2a6303397 MDL-65115 core_files: Add get_total_content_size() in stored_file class
New function get_total_content_size() is introduced in the stored_file
class. The puprose of this function is to calculate and return the
total size (in bytes) of the content of an archive file.
2020-09-08 08:54:33 +02:00
Andrew Nicols 6c4cdd6d96 MDL-68974 admin: Unit tests for context parent/child test 2020-09-08 08:54:33 +02:00
Andrew Nicols 4bb41b4e5a MDL-68974 admin: Unit tests for loginas 2020-09-08 08:54:33 +02:00
Andrew Nicols a937d4d807 MDL-68974 admin: Prevent login as outside of the desired context 2020-09-08 08:54:33 +02:00
Thong Bui 2301f9bfaa MDL-68344 filepicker: File Picker focus lost on upload 2020-09-08 08:45:09 +02:00
Jun Pataleta 0e9c755896 Merge branch 'MDL-69492-310' of https://github.com/paulholden/moodle into MOODLE_310_STABLE 2020-09-08 12:56:38 +08:00
Eloy Lafuente (stronk7) 3452156e6e Merge branch 'MDL-69262-310-2' of git://github.com/junpataleta/moodle into MOODLE_310_STABLE 2020-09-07 23:42:53 +02:00
Eloy Lafuente (stronk7) 6ef1780225 Merge branch 'MDL-69448-310' of https://github.com/paulholden/moodle into MOODLE_310_STABLE 2020-09-07 23:26:08 +02:00
Eloy Lafuente (stronk7) a8c60a4c31 Merge branch 'MDL-69577-310' of git://github.com/crazyserver/moodle into MOODLE_310_STABLE 2020-09-07 23:09:37 +02:00
Luca Bösch b2995f7a29 MDL-69645 quizaccess: Set allowPreferencesWindow to false in manual conf
Signed-off-by: Luca Bösch <luca.boesch@bfh.ch>
2020-09-07 22:40:58 +02:00
Charles Fulton 51201bc672 MDL-28501 mod_folder: make force downloading behavior configuable 2020-09-07 14:40:40 -04:00
Mathew May aa13890df0 MDL-69240 tool_moodlenet: Clean MoodleNet profile field
Amended by: Eloy Lafuente (stronk7) <stronk7@moodle.org>
- adjust versions for every branch.
- modify verify_webfinger->profileurl external to PARAM_NOTAGS.
2020-09-07 17:36:22 +02:00
Sara Arjona 644b80410d Merge branch 'MDL-69632-310-adminserversettings' of git://github.com/mudrd8mz/moodle into MOODLE_310_STABLE 2020-09-07 13:44:03 +02:00
Sara Arjona b36a28b37a Merge branch 'MDL-67468-MOODLE_310_STABLE' of https://github.com/tuanngocnguyen/moodle into MOODLE_310_STABLE 2020-09-07 13:19:56 +02:00
Mathew May 386223bd86 MDL-62609 lang: Final removal of deprecated strings 2020-09-07 08:06:32 +02:00
Sara Arjona 95359bf9e7 Merge branch 'MDL-63261-310' of https://github.com/Chocolate-lightning/moodle into MOODLE_310_STABLE 2020-09-07 07:30:17 +02:00
Mathew May 1bc2a3b345 MDL-63261 messaging: Final 3.6 deprecations 2020-09-07 09:09:07 +08:00
Eloy Lafuente (stronk7) 709b46dbfd MDL-69521 core: Move all comments in code from 4.0 to 3.10 2020-09-06 17:23:58 +02:00
Shamim Rezaie 94c19e0fea MDL-57682 media_videojs: Cache videojs languages in the localstorage 2020-09-04 18:55:16 +10:00
Shamim Rezaie 4a60349a8a MDL-57682 media_videojs: webservice to get the language pack of videojs 2020-09-04 18:51:37 +10:00
Shamim Rezaie 2189db9c86 MDL-57682 media_videojs: convert videojs loader to es6 2020-09-04 18:51:37 +10:00
David Mudrák f54cb0c257 MDL-69632 admin: Fix the legacy coding style at the server section
No actual changes to the file made, only reformatted and cleaned up to
follow the recent coding guidelines.
2020-09-04 10:23:06 +02:00
Paul Holden 95e0ff974c MDL-69492 auth_ldap: normalise member distinguished name config. 2020-09-04 08:25:58 +01:00
Paul Holden db361e09e7 MDL-69492 auth_cas: normalise member distinguished name config. 2020-09-04 08:25:58 +01:00
Paul Holden f2b1242364 MDL-69448 backup: fix capability checks when unable to copy user data.
When a given user doesn't have the capability to "Include user data"
during course copying, freeze the form element rather than not adding
it at all.

This caused problems as the element was required before preceding with
the course copy.
2020-09-04 08:20:04 +01:00
Nathan Nguyen d0fd7bc58c MDL-67468 filter_activitynames: use MUC 2020-09-04 15:41:52 +10:00
Sara Arjona 916809d995 weekly release 3.10dev 2020-09-03 17:09:17 +02:00
Sara Arjona e22ac10067 NOBUG: Fixed SVG browser compatibility 2020-09-03 17:09:12 +02:00
Andrew Nicols f558127d0e MDL-69391 behat: Grammar correction in feature 2020-09-03 11:35:08 +08:00
Andrew Nicols fc1d22ea70 Merge branch 'MDL-69391-310' of git://github.com/junpataleta/moodle into MOODLE_310_STABLE 2020-09-03 11:35:04 +08:00
Jun Pataleta 5d1979c911 MDL-69391 calendar: Accessibility tests for calendar 2020-09-03 11:11:29 +08:00
Jun Pataleta fe346f0afb MDL-69391 auth: Colour contrast accessibility test for login page 2020-09-03 11:11:29 +08:00
Jun Pataleta 8d5470145d MDL-69391 theme: Darken course selector text colour
Use $gray-600 for a darker text colour in the course select box.
This also makes the colour consistent with the view selector which
also uses $gray-600.
2020-09-03 11:11:29 +08:00
Jun Pataleta 61d32ad081 MDL-69391 theme: Darken navbar-light colour
Increase the opacity for the sass variable $navbar-light-color a
little bit in order to achieve an acceptable colour contrast against
the white background.
2020-09-03 11:11:29 +08:00
Dmitrii Metelkin 558ef4f778 MDL-69418 backup: attach data to grade items 2020-09-03 11:08:00 +08:00
Andrew Nicols c8221dedcd Merge branch 'MDL-69360-310' of git://github.com/NoelDeMartin/moodle into MOODLE_310_STABLE 2020-09-03 10:52:02 +08:00
Andrew Nicols 5265491a8f Merge branch 'MDL-69246_310' of https://github.com/timhunt/moodle into MOODLE_310_STABLE 2020-09-03 10:39:58 +08:00
Jake Dallimore b96e85feac MDL-69510 admin: make ldap configuration warnings clear 2020-09-03 10:26:00 +08:00
Andrew Nicols 817d6dcdbb Merge branch 'MDL-55340-310' of git://github.com/sarjona/moodle into MOODLE_310_STABLE 2020-09-03 10:13:49 +08:00
Andrew Nicols de1a942280 Merge branch 'MDL-69069-310' of git://github.com/bmbrands/moodle into MOODLE_310_STABLE 2020-09-03 09:33:05 +08:00
Andrew Nicols 3e1c856bd9 MDL-69117 output: Correct remove_dir usage 2020-09-03 09:01:43 +08:00
Bas Brands cce23499e6 MDL-69117 theme_boost: themedesigner source maps 2020-09-03 08:40:41 +08:00
Bas Brands 74160de2cb MDL-69117 theme_boost: deprecate the autoprefixer 2020-09-03 08:40:41 +08:00
Eloy Lafuente (stronk7) 4ca7232b1f Merge branch 'MDL-55971-310' of https://github.com/paulholden/moodle into MOODLE_310_STABLE 2020-09-03 00:51:33 +02:00
Peter Burnett ded581156a MDL-67306 webservices: Added webservice for Grade category creation 2020-09-03 00:21:44 +02:00
Marina Glancy 4cfc74d176 MDL-69608 core_form: frozen forms do not have form tag 2020-09-02 23:48:39 +02:00
Sara Arjona 893cf77d33 Merge branch '67278-moodle-310-categories-selector' of https://github.com/DSI-Universite-Rennes2/moodle into MOODLE_310_STABLE 2020-09-02 17:37:24 +02:00
Sara Arjona e66f450c8f Merge branch 'MDL-68680-MOODLE_310_STABLE' of https://github.com/tuanngocnguyen/moodle into MOODLE_310_STABLE 2020-09-02 17:16:01 +02:00
Julien Boulen f9f41f5061 MDL-67278 course: Use autocomplete widget for course category selector 2020-09-02 16:00:20 +02:00
Eloy Lafuente (stronk7) 76e2d15794 Merge branch 'MDL-69174-310' of git://github.com/sarjona/moodle into MOODLE_310_STABLE 2020-09-02 13:14:34 +02:00
Sara Arjona 31d3fd27fc MDL-69174 mod_h5pactivity: component passed always
The $component = 'mod_h5pactivity' will be passed always to the H5P
player because it's required for being able to call these activities
from outside using embed code. The xAPI implementation checks whether
the information should be tracked or not.
2020-09-02 12:12:25 +02:00
Sara Arjona 2874c6d5a1 MDL-69174 h5p: add component to the embed H5P code
When the Moodle component is passed to the player, xAPI tracking
is enabled so, if the component implements required xAPI API methods
(for instance, mod_h5pactivity does), grades and responses are sent.
Adding this component to the embed code will help to add
the embed code from a mod_h5pactivity to any other place (such as label,
page or book), and being able to track the responses to the original
mod_h5pactivity.
2020-09-02 12:12:25 +02:00
Noel De Martin d8892dcca3 MDL-69360 behat: Fix js ready checks for non-moodle sites 2020-09-02 10:20:28 +02:00
Andrew Nicols 85a1c2c99e Merge branch 'MDL-68892-310' of git://github.com/ferranrecio/moodle into MOODLE_310_STABLE 2020-09-02 09:48:59 +08:00
Dan Marsden 58bf730494 MDL-69190 grade: fix slow query. 2020-09-02 09:31:28 +08:00
Farhan Karmali d179137f1b MDL-67419 admin: New admin setting for lang during user creation 2020-09-02 08:54:47 +08:00
Eloy Lafuente (stronk7) 8eafd115cc Merge branch 'wip_MDL-69491_m310' of git://github.com/gjb2048/moodle into MOODLE_310_STABLE 2020-09-02 00:27:36 +02:00
Eloy Lafuente (stronk7) 3b111cf8a0 Merge branch 'MDL-69174-310' of git://github.com/sarjona/moodle into MOODLE_310_STABLE 2020-09-02 00:21:55 +02:00
Sara Arjona a244344e2e Merge branch 'MDL-63387-310' of https://github.com/paulholden/moodle into MOODLE_310_STABLE 2020-09-01 16:58:15 +02:00
Pau Ferrer Ocaña 23fed91412 MDL-69577 forum: Add courseid, forumid on get_discussion_posts response 2020-09-01 14:26:08 +02:00
Sara Arjona dee4097c9d Merge branch 'MDL-64525-m310' of https://github.com/NeillM/moodle into MOODLE_310_STABLE 2020-09-01 14:18:05 +02:00
Paul Holden 7665c701fd MDL-63387 course: use renamed role names, update Behat tests.
Specify that we want both role names (renamed course role plus
original).
2020-09-01 12:05:26 +01:00
Paul Holden 3827cbe523 MDL-63387 user: show both role names on course participants page. 2020-09-01 12:05:26 +01:00
Paul Holden f6a2d57b3e MDL-63387 enrol_cohort: show both roles names in instance config form. 2020-09-01 12:05:25 +01:00
Paul Holden 35a5c1adda MDL-63387 enrol_manual: show both role names in enrol users dialog. 2020-09-01 12:05:25 +01:00
Paul Holden e4d86a6ec4 MDL-63387 access: add parameter to define how role names are returned. 2020-09-01 12:04:47 +01:00
Sara Arjona 8d2229db48 Merge branch 'MDL-51709-310' of git://github.com/lucaboesch/moodle into MOODLE_310_STABLE 2020-09-01 09:04:13 +02:00
Mihail Geshoski 4d6b3406c5 MDL-69525 core: Publish a single event when toggling slave checkboxes 2020-09-01 14:53:54 +08:00
Sara Arjona 11a58dd4b0 Merge branch 'MDL-69394-310' of git://github.com/junpataleta/moodle into MOODLE_310_STABLE 2020-09-01 06:45:12 +02:00
Andrew Nicols 0713666486 Merge branch 'MDL-69507_310' of https://github.com/timhunt/moodle into MOODLE_310_STABLE 2020-09-01 11:15:55 +08:00
Andrew Nicols 260e9753d4 Merge branch 'MDL-69387-310-2' of git://github.com/junpataleta/moodle into MOODLE_310_STABLE 2020-09-01 10:59:37 +08:00
Sara Arjona e83fad7382 Merge branch 'MDL-38350-m310' of https://github.com/sammarshallou/moodle into MOODLE_310_STABLE 2020-09-01 07:28:40 +08:00
Andrew Nicols c7e5431086 Merge branch 'MDL-69505-310' of https://github.com/snake/moodle into MOODLE_310_STABLE 2020-09-01 07:28:27 +08:00
Andrew Nicols 10ba6d0aa1 Merge branch 'MDL-69270-310' of git://github.com/ferranrecio/moodle into MOODLE_310_STABLE 2020-09-01 07:28:27 +08:00
Andrew Nicols a4f4cbf095 MDL-69269 contentbank: Fix issues identified in integration 2020-09-01 07:28:27 +08:00
Andrew Nicols 66c757f689 Merge branch 'MDL-69269-310' of git://github.com/sarjona/moodle into MOODLE_310_STABLE 2020-09-01 07:28:27 +08:00
Andrew Nicols 2f7236aa3c Merge branch 'MDL-68569-310' of https://github.com/paulholden/moodle into MOODLE_310_STABLE 2020-09-01 07:28:26 +08:00
Andrew Nicols a704b87f8b Merge branch 'MDL-56595-310' of https://github.com/paulholden/moodle into MOODLE_310_STABLE 2020-09-01 07:28:26 +08:00
Luca Bösch 59f48908aa MDL-51709 gradebook: Name display in single view. 2020-08-31 17:58:53 +02:00
Shamim Rezaie e6f0b5a3a3 MDL-69116 qtype_multichoice: accessibility improvement
- Screen-readers should not see 'clear my choice' when it is not visible
- 'clear my choice' option should only become visible when a choice is
selected
2020-08-31 23:53:54 +10:00
Shamim Rezaie 7a85cc6d2e MDL-69116 qtype_mutichoice: Use label for the "clear my choice" link 2020-08-31 23:53:54 +10:00
Bas Brands 3d08c7d396 MDL-69069 theme_boost: color contrast for custom alerts 2020-08-31 08:21:27 +02:00
Nathan Nguyen f809bca508 MDL-33981 repository_equella: support internal copy 2020-08-31 10:39:49 +08:00
Jake Dallimore fbcc91236e MDL-69505 core_form: fix js min/max date restriction in dateselector
This was using the yui2-calendar attribute, not the yui 3 attribute.
2020-08-31 07:57:50 +08:00
Ferran Recio 2dab18e681 MDL-69270 contentbank: replace content with file 2020-08-28 17:59:18 +02:00
Ferran Recio 3565a77362 MDL-68892 mod_h5pactivity: add required to package 2020-08-28 17:50:40 +02:00
Gareth Barnard cbecc140f7 MDL-69491 themes: No 'fontsize' setting in Boost causes unit conflict. 2020-08-28 14:14:38 +01:00
Sara Arjona c3a4859c7d MDL-69269 contentbank: add support to download content 2020-08-28 12:29:03 +02:00
Sara Arjona 330ba8cb10 MDL-69174 h5p: add component to the embed H5P code
When the Moodle component is passed to the player, xAPI tracking
is enabled so, if the component implements required xAPI API methods
(for instance, mod_h5pactivity does), grades and responses are sent.
Adding this component to the embed code will help to add
the embed code from a mod_h5pactivity to any other place (such as label,
page or book), and being able to track the responses to the original
mod_h5pactivity.
2020-08-28 12:26:38 +02:00
Marina Glancy 4e32add0ac MDL-55340 mod_feedback: export question labels
This was present in export in 3.0 but got lost during export
refactoring in 3.1
2020-08-28 12:25:09 +02:00
Eric Merrill e48fecc679 MDL-69112 assign: Improve parsing of uploaded feedback names 2020-08-28 13:29:20 +08:00
Nathan Nguyen d7113bee4e MDL-68680 core_grades: check grade item before trigger delete event 2020-08-28 11:40:31 +10:00
Paul Holden 61ce84f178 MDL-56595 tool_usertours: set page params when configuring tours/steps. 2020-08-27 23:08:15 +01:00
Tim Hunt e3bfcb1cde MDL-69246 questions: allow for float issues when validating manual marks
As well as fixing the bug, I also rewrote the test to use
data providers, which should lead to more useful failure messages.

And, I moved the magic number we used as the float tolerence to
be a named constant.
2020-08-27 17:39:15 +01:00
Sara Arjona 4a6a2636a0 weekly release 3.10dev 2020-08-27 17:36:21 +02:00
Jun Pataleta 09646d7b53 MDL-69262 core: Use core/action_menu_link in core/action_menu_trigger
* Introduce the "actionmenulinkclasses" block in the action_menu_link
template so other templates importing it can have the option to override
its classes.
* Have the action menu trigger template use the action menu link
template to reduce code duplication.
2020-08-27 13:30:32 +08:00
Jun Pataleta 9211552660 MDL-69262 core: Make instance count variable as a static class variable
With the static function variable $instance, calls to
\action_menu_link::export_for_template() from its subclasses are stored
in different variables. This causes duplicate IDs when different
implementations of action menu links are rendered on the action menu
trigger/link template. (e.g. action_menu_link and
action_menu_link_secondary both rendered on the same page).
To make the incrementing uniform for the action_menu_link class and its
implementations, the $instance variable is moved out of the
export_to_template() method and is now made to a static class variable.
2020-08-27 13:30:32 +08:00
Andrew Nicols f51678c56a Merge branch 'MOODLE_310_MDL-67211_v6' of https://github.com/golenkovm/moodle into MOODLE_310_STABLE 2020-08-27 12:48:33 +08:00
Mihail Geshoski fa3b387185 MDL-69458 report_insights: Respect perpage value in pagination bar 2020-08-27 12:42:57 +08:00
Adrian Greeve dddff390da Merge branch 'MDL-69479-310' of git://github.com/mihailges/moodle into MOODLE_310_STABLE 2020-08-27 11:40:11 +08:00
Andrew Nicols 6bcc070827 Merge branch 'MDL-69501-310-enfix' of git://github.com/mudrd8mz/moodle into MOODLE_310_STABLE 2020-08-27 11:30:53 +08:00
eWallah e1e362b7ff MDL-67413 competencies: do nothing upon activity completion 2020-08-27 11:11:08 +08:00
Mikhail Golenkov ae12edc741 MDL-67211 phpunit: Do not test the order of the running adhoc tasks. 2020-08-27 13:03:49 +10:00
Mikhail Golenkov 5934444b27 MDL-69358 backup: Do not clean up records for incomplete adhoc tasks.
Co-authored-by: Heena Agheda <heenaagheda@catalyst-au.net>
2020-08-27 10:57:48 +08:00
Andrew Nicols c187594e5b Merge branch 'MDL-66810-310' of git://github.com/peterRd/moodle into MOODLE_310_STABLE 2020-08-27 10:23:25 +08:00
Justin Hunt f9f0f1cc26 MDL-66810 mod_lti: Reinstate deprecated default permissions on iframe
microphone, webcam, camera, midi, encrypted-media, geolocation
2020-08-27 09:44:47 +08:00
Andrew Nicols f0b7948c96 MDL-66222 report_antivirus: Correct version number 2020-08-27 09:44:24 +08:00
Andrew Nicols 3114d04721 Merge branch 'MDL-66222-antivirus-reporting' of https://github.com/Peterburnett/moodle into MOODLE_310_STABLE 2020-08-27 09:36:33 +08:00
Adrian Greeve e78b9f9574 Merge branch 'MDL-69419-310' of git://github.com/andrewnicols/moodle into MOODLE_310_STABLE 2020-08-27 08:08:07 +08:00
Sara Arjona b0d96c297b Merge branch 'MDL-69389-310' of git://github.com/junpataleta/moodle into MOODLE_310_STABLE 2020-08-26 18:02:55 +02:00
Bas Brands 54d32ce4a9 MDL-69114 theme_boost: improve the color contrast for .*-info classes 2020-08-26 16:28:34 +02:00
Andrew Nicols 71f44b0611 Merge branch 'MOODLE_310_MDL-69307_v4' of https://github.com/golenkovm/moodle into MOODLE_310_STABLE 2020-08-26 15:03:01 +08:00
Mikhail Golenkov b8a0258357 MDL-69307 restore: Add CLI script to restore a course.
Co-authored-by: Matt Porritt <mattp@catalyst-au.net>
2020-08-26 14:39:41 +10:00
Jun Pataleta db8fea04f5 MDL-69389 auth: Add wcag141 test for the login page accessibility test 2020-08-26 11:05:27 +08:00
Jun Pataleta 227281d355 MDL-69389 theme_classic: Make default body font colour darker
Links and normal text should have at least a colour contrast ratio
of 3:1. To achieve this, $body-color will be using the darker
shade of gray $gray-900 (#212529).
2020-08-26 11:05:27 +08:00
Jun Pataleta fb6460ca98 MDL-69389 theme_boost: Make default body font colour darker
Links and normal text should have at least a colour contrast ratio
of 3:1. To achieve this, $body-color will be using the darker
shade of gray $gray-900 (#212529).
2020-08-26 11:05:27 +08:00
Jun Pataleta 424c5df1eb MDL-69387 pix: Create PNG versions of the darkened completion icons
Thanks to Barbara Ramiro <barbara@moodle.com> for the help in
generating these PNG versions of the darkened completion icons!
2020-08-26 11:03:06 +08:00
Jun Pataleta 64c4074699 MDL-69387 pix: Darken completion icons
Darkened the fills of completion icons in order to meet the required
minimum contrast ratio of 3:1.
* Changed gray fills (#999) to #949494.
* Changed blue fills (#76A1F0) to #6393ee
* Changed green fills (#9C3) to #79a128

Thanks to Barbara Ramiro <barbara@moodle.com> for the help in
updating the SVG icons!
2020-08-26 11:03:06 +08:00
Jun Pataleta b4ab127434 MDL-69394 calendar: Fix event colour indicator contrast
* Darkened the link and clickable icon colours inside coloured events.
* Added borders around event colour indicators inside the month-view of
  the calendar for better contrast against the white background.
2020-08-26 11:00:22 +08:00
Andrew Nicols 4d03cc37b2 MDL-69419 core: Task reset tests cannot use random test times
If a scheduled task which uses a 'R' field is picked, then the reset of
updated task times will not necessarily be correctly determined as the
randomisation is picked during reset.

This can lead to some random test failures.

Actively specifying a test which does not make use of the 'R' random
field time addresses this issue.
2020-08-26 09:58:22 +08:00
Andrew Nicols 195e7c9cf1 Merge branch 'MOODLE_310_MDL-67211_v6' of https://github.com/golenkovm/moodle into MOODLE_310_STABLE 2020-08-26 09:41:07 +08:00
Paul Holden 1ffb6b09ee MDL-55971 dataformat: method to write exports to file storage. 2020-08-25 17:30:51 +01:00
Paul Holden 06411e3689 MDL-68569 customfield_select: get field options via instance method.
Deprecate the previous static method, which was only called from
instantiated field classes.
2020-08-25 15:08:12 +01:00
Mikhail Golenkov e419e18f0d MDL-67211 Tasks: Add cron_enabled setting.
Co-authored-by: Sam Marshall <s.marshall@open.ac.uk>
2020-08-25 17:01:00 +10:00
Mikhail Golenkov 3263daba84 MDL-67211 Tasks: Front-end to display currently running tasks.
Co-authored-by: Sam Marshall <s.marshall@open.ac.uk>
2020-08-25 17:00:46 +10:00
Mikhail Golenkov 59a5923924 MDL-67211 Tasks: Record when a task is running.
Co-authored-by: Sam Marshall <s.marshall@open.ac.uk>
2020-08-25 16:59:47 +10:00
Andrew Nicols f2602288eb MDL-69464 core_output: Whitespace fix 2020-08-25 13:22:36 +08:00
Marina Glancy 4413ca209f MDL-69464 core_output: allow to avoid formatting in page->set_heading 2020-08-25 13:22:36 +08:00
Adrian Greeve 427f046cff Merge branch 'MDL-68921-310' of git://github.com/vmdef/moodle into MOODLE_310_STABLE 2020-08-25 09:43:31 +08:00
Victor Deniz Falcon e29edbe89e MDL-68921 core_h5p: Add H5P libraries metadata settings
An upgrade step updates installed H5P libraries
2020-08-25 00:30:02 +01:00
Helen Foster e9df0c43bc MDL-69501 lang: Import fixed English strings (en_fix) 2020-08-24 09:53:02 +02:00
Neill Magill d71659dd6d MDL-64525 comments: Should not be able to delete frozen comments
Before this change in a frozen context a user would be able to delete
their own comments.

After this change a user will only be able to delete their own comments
if they still have the capability to post new comments or the capability
to delete comments from any user.
2020-08-24 08:00:10 +01:00
Neill Magill fb6c682850 MDL-64525 comments: Tests for deleting frozen comments 2020-08-24 08:00:10 +01:00
Mihail Geshoski 356a8ee948 MDL-69479 core: Change 4.0 to 3.10 in theme/upgrade.txt 2020-08-24 14:08:46 +08:00
Eloy Lafuente (stronk7) fe9ecef92b MDL-69479 upgrade: Change all 4.0 occurrences to 3.10
Under parallel development, when something is worth being commented
in upgrade.txt notes, it will be applied to all the development branches
using the "earliest" one to be released. So, if something changes
in 3.10 (and also is applied to master), the upgrade.txt notes will
show 3.10 in both branches.

Of course, if something only goes to one dev branch (say master), then the
master version will be used in the notes (4.0 in this case).
2020-08-24 14:08:46 +08:00
Paul Holden 9c1f7874d8 MDL-69493 cohort: remove escaping of return URL params. 2020-08-22 17:09:23 +02:00
Eloy Lafuente (stronk7) 96fac6d9ce weekly release 3.10dev 2020-08-21 20:42:59 +02:00
Adrian Greeve 4b327e1109 MDL-68683 competencies: Update previous bad bump update.
I made a mistake with the previous version bump and updated the
line below what I should have changed. This fixes it to the
intended version numbers.
2020-08-21 14:41:09 +08:00
Jun Pataleta f649cd722f Merge branch 'MDL-66818-310' of git://github.com/andrewnicols/moodle into MOODLE_310_STABLE 2020-08-21 11:32:21 +08:00
Peter Burnett 8e0e99e4fd MDL-66222 antivirus: Improved error email capture 2020-08-21 12:21:09 +10:00
Nathan Nguyen adbe92ce0a MDL-66222 antivirus: Added antivirus failure reporting 2020-08-21 11:43:56 +10:00
Andrew Nicols 03e84b68a1 MDL-66818 mod_forum: Use cap manager to check exportability 2020-08-21 08:17:01 +08:00
Andrew Nicols 51dc7d230f MDL-42434 chat: Disable stylelint important check 2020-08-21 07:39:24 +08:00
Sara Arjona 1044e94507 MDL-42434 mod_chat: styles for chat themes to view help-icon properly
The styles for the bubble and the compact themes have been reviewed
because there weren't enough contrast for the help icon.
2020-08-20 23:44:48 +01:00
Sara Arjona c4303bba51 MDL-42434 mod_chat: display the whole help text
When testing this issue was raised that the help text was cut-off.
This patch should fix this issue changing the placement from
right/left to top.
2020-08-20 23:44:47 +01:00
Andrew Nicols 9d32114bf6 MDL-68705 testing: New CLI args to disable composer features
This commit introduces the following new flags:

  --no-composer-self-update   Disable composer self-update of the
                              composer.phar utility

  --no-composer-upgrade       Disable upgrade of development
                              dependencies using Composer.

  --disable-composer          Disable both composer self-update and
                              composer upgrade
2020-08-20 20:14:54 +02:00
Andrew Nicols 8ddb17b641 MDL-68705 testing: Allow composer updates to be disabled 2020-08-20 20:14:50 +02:00
sam marshall 30990ac512 MDL-38350 Lib: Rename directory before removing it, to reduce races 2020-08-20 16:57:06 +01:00
Tim Hunt 0c6f661def MDL-69507 duration form field: should return an int number of seconds 2020-08-20 11:31:28 +01:00
Tim Hunt 24d0335a0a MDL-69507 duration form field: modernise coding style 2020-08-20 11:31:28 +01:00
Sara Arjona 52836faa5b MDL-69055 core_badges: display password/oauth fields properly 2020-08-20 12:01:49 +08:00
Peter Burnett 64f64e44d8 MDL-69486 webservices: Added user and grade idnumber to grade items 2020-08-20 11:59:41 +08:00
carlos a133b89976 MDL-69375 mod_lti: Fix Names and Roles Link header format
- Changed line 469 of memberships.php to build Link header according to the Web Linking specification RFC8288.
2020-08-20 11:50:54 +08:00
Ferran Recio 93fec2c58c MDL-68964 mod_chat: fix theme param 2020-08-20 11:41:10 +08:00
Sara Arjona 3db6d44feb MDL-42434 mod_chat: add again the usingchat help icon
In Moodle 2.4 the help icon displayed in the chat window was
removed. It has been added to gui_ajax and gui_basic in order to help users.
2020-08-20 11:23:03 +08:00
Adrian Greeve 83aa08c7e1 MDL-68683 competencies: Fix bad version bump. 2020-08-20 11:01:31 +08:00
Simey Lameze 79082f8b6b MDL-68683 competencies: fix query to delete stale files 2020-08-20 10:21:00 +08:00
Paul Holden 544c7d68b6 MDL-69449 block_timeline: use dayslimit context data in template.
Ensures the correct value is used when initially rendering the
course timeline.
2020-08-20 09:24:46 +08:00
Bas Brands 699a82df1a MDL-68889 block_recentlyaccessedcourses: small viewport issues
- on small devices the recentlyaccessedcourses does not show any courses
2020-08-20 09:16:38 +08:00
Peter Burnett d369c098be MDL-69170 task: Added timecreated field to adhoc task table 2020-08-20 08:50:42 +08:00
Sara Arjona 191448afc5 MDL-68975 contentbank: add author field to file details view 2020-08-20 08:42:20 +08:00
Eloy Lafuente (stronk7) 606fbca6b4 MDL-67415 environment: change requirements
- mysql requirement up to 5.7
- postgres requirement up to 9.6
2020-08-20 08:29:43 +08:00
Eloy Lafuente (stronk7) 050eb97c33 MDL-67415 environment: 3.10 base information
This is a direct copy of the 3.9 branch to have
changes under control easier for next commits.
2020-08-20 08:29:43 +08:00
Simey Lameze f6f824597a MDL-66818 mod_forum: remove unnecessary behat steps 2020-08-20 08:16:49 +08:00
gthomas2 f2b4fba61e MDL-66818 mod_forum: hide portfolio export button based on caps 2020-08-20 08:16:49 +08:00
Paul Holden 3a394dd671 MDL-66900 course: don't clean category description when editing. 2020-08-20 07:54:13 +08:00
Sara Arjona 98480b3932 MDL-69473 contentbank: change incorrect ref to size in type column 2020-08-20 07:43:56 +08:00
Eloy Lafuente (stronk7) e010b2e75c MDL-69271 auth_ldap: Don't assume any ordering, just verify matches
Both ldap or the DB can return information in a non-consistent
ordering leading to events to be generated in different order.

And current tests are, right now, assuming a given order.

Note this is a rare random, but it's happening, so better
fix it, see the issue for some more details.

So we just do the tests ordering immune, verifying that all the
expected events have been triggered and done. Irrespectively of their order.
2020-08-20 07:35:59 +08:00
Sara Arjona aa3a9c7895 MDL-69054 core_badges: allow editing OBv1.0 backpacks 2020-08-20 07:31:48 +08:00
Sara Arjona f075ec01ca MDL-61215 core_user: use the new optimised_image filetype group
For the user profile picture (instead of the web_image which includes
SVG files).
2020-08-20 07:16:41 +08:00
Sara Arjona c4c770f48c MDL-61215 core_badges: use the new optimised_image filetype group
For the badge picture (instead of the web_image which includes
SVG files).
2020-08-20 07:16:41 +08:00
Sara Arjona 24ce9b8a10 MDL-61215 core_files: add new optimised_image group
Currently, PHP getimagesize method doesn't support SVG images.
As some features, such as badges, processs and optimise the images
before using them, a new filetype group has been created to exclude
SVG from there: optimised_image.
SVG can't be removed from web_image because then users won't be
able to add SVG images to their courses using labels, pages...
2020-08-20 07:16:41 +08:00
Mihail Geshoski adebc5f811 MDL-69401 book: Limit character length in chapter title 2020-08-20 07:03:24 +08:00
Peter Dias afc19a201c MDL-69297 assign: Check whether there is content for a submission
Confirm there is some content to be submitted for an assignment when processing it.
2020-08-19 23:42:27 +01:00
Peter Dias aa7707cd52 MDL-66665 assign: Check whether a modified user could actually grade 2020-08-19 14:27:59 +08:00
Simey Lameze 676c840c5c MDL-68683 competencies: step to delete orphaned evidence files 2020-08-19 12:55:53 +08:00
Simey Lameze 1222c2125e MDL-68683 core: fix DML exception on upgrade step 2020-08-19 12:55:35 +08:00
Simey Lameze 776b4a85d1 MDL-26401 group: add delimiter and encoding fields to import 2020-08-19 11:11:14 +08:00
Amaia Anabitarte 29fe254b17 MDL-69089 core_contentbank: Empty content names are not allowed 2020-08-19 10:51:58 +08:00
Adrian Greeve bf84a08900 Merge branch 'MDL-69475_310' of https://github.com/stronk7/moodle into MOODLE_310_STABLE 2020-08-19 10:42:51 +08:00
Simey Lameze 97043c76b7 MDL-26401 group: change import to use csv_import_reader class 2020-08-19 08:51:32 +08:00
Andrew Nicols c1813ed818 MDL-67735 theme_boost: Fix incorrect whitespace 2020-08-19 08:39:15 +08:00
Bas Brands 49f1803c9d MDL-67735 theme_boost: remove bs2 and bs4alpha compatibility css 2020-08-19 08:29:50 +08:00
Amaia Anabitarte 157f8a87b4 MDL-69089 core_contentbank: Tests for empty content names 2020-08-19 08:19:44 +08:00
Leon Stringer c66bf80bd8 MDL-65847 auth_db: user_update() handle errors
The external database authentication plugin (auth_db) can update the
external database if mapped fields are set to Update external: On
update.  This change adds error handling in case this update fails.
2020-08-19 00:36:21 +02:00
Juan Leyva ad25efc776 MDL-69095 tool_mobile: Display warning if not allowed to use qr login 2020-08-19 00:20:54 +02:00
Juan Leyva 1019a2b5ba MDL-69095 tool_mobile: Avoid non-https sites using qrlogin by default 2020-08-19 00:20:54 +02:00
Matt Davidson 7404858689 MDL-63375 workshop: fix rubric grid view 2020-08-19 00:13:54 +02:00
Shamim Rezaie 7b313f407a MDL-68444 calendar: Improve how screenreaders say week titles
Also removed the scope attribute from the mini-calendar table
because according to https://www.w3.org/TR/WCAG20-TECHS/H63.html
it was not needed:
  Note 1: For simple tables that have the headers in the first row
  or column then it is sufficient to simply use the TH elements without
  scope.
2020-08-18 19:13:37 +02:00
Shamim Rezaie 931fc89e13 MDL-68444 calendar: Improve how screenreaders read day titles
Screenreaders now know if each day has any event or not
2020-08-18 19:13:27 +02:00
Mathew May fbbfe9aa00 MDL-68928 core_course: Select activity chooser footer 2020-08-18 19:02:25 +02:00
Victor Deniz Falcon b81952a23d Merge branch 'MDL-69477_310' of https://github.com/stronk7/moodle into MOODLE_310_STABLE 2020-08-18 12:48:09 +01:00
Eloy Lafuente (stronk7) 12ffcc5097 MDL-69475 backup: Proper handling of backup::RELEASE versions
1) Remove any floatval() casting. They are breaking / killing
   .10 versions (converting them to .1). Since Moodle 2.0 all the
   backup::RELEASE have been 100% numerical values.
2) Use version_compare() always to compare backup::RELEASE values.
   They are always versions and the function is aware of versions
   > .9, able to clean/ignore alpha chars... and everything else.

Note that I've also changed a couple of cases in formats (topics and
weeks) that were correct, but just added the same comment and used
the same version_compare() comparison parameters style, so all uses
in core are consistent (and safe to be copied out there).
2020-08-18 12:49:20 +02:00
Andrew Nicols bd1eaea02b MDL-69273 travis: Use exttests for https too 2020-08-18 10:59:13 +02:00
Andrew Nicols 99a8358b85 MDL-69273 travis: Move exttests check to after_script
The result of the final command `script` phase determines the build
result.

The cleanup belongs in the `after_script` phase.
2020-08-18 10:59:13 +02:00
Eloy Lafuente (stronk7) 0a352c4790 MDL-69477 install: Ensure CFG variables are set before using them
On installation (or also phpunit/behat unit) some CFG variables
were being used (on setting validation) before being set.

So this commit just verifies they are set before using them. Note that,
strictly speaking, only one of them ($CFG->searchenginequeryonly)
required the extra check, but I think it's better to apply it to all
them, as a reference and in case validations are run in any other order.
2020-08-17 10:53:38 +02:00
Nadav Kavalerchik 67dfb55d49 MDL-69414 qtype/ddimageortext: Fix dropzones display in RTL mode 2020-08-17 14:53:20 +08:00
Mihail Geshoski 12bd4bc5ad MDL-67943 core: Update timezone list in core_date 2020-08-17 10:36:01 +08:00
Adrian Greeve 22ec6995ea Merge branch 'MDL-69475_310' of https://github.com/stronk7/moodle into MOODLE_310_STABLE 2020-08-17 09:49:54 +08:00
Eloy Lafuente (stronk7) ae3af1d860 MDL-69475 install: Version, env. and minimal changes before branching
- Also bump travis to get builds against 310_STABLE.
- And backup release to match 3.10

Note this doesn't aim to be a complete change-set, but just the
minimum to switch to 3-digit $branches and keep installation, checks
and tests running and passing.
2020-08-17 00:12:30 +02:00
Andrew Nicols a0fc902eb1 weekly release 4.0dev 2020-08-14 14:42:18 +08:00
Andrew Nicols d665dec78e NOBUG: Fixed SVG browser compatibility 2020-08-14 14:42:17 +08:00
Andrew Nicols a059ec19b9 Merge branch 'MDL-68666-master' of git://github.com/bmbrands/moodle 2020-08-13 15:20:03 +08:00
Bas Brands 9e8cfc0235 MDL-68666 core_pix: add missing fallback icons 2020-08-13 08:47:56 +02:00
Andrew Nicols e0f91914a7 Merge branch 'MDL-69253' of https://github.com/timhunt/moodle 2020-08-13 11:50:09 +08:00
Andrew Nicols 39229f3cbd Merge branch 'MDL-60492-tagcloud_html' of https://github.com/leonstr/moodle 2020-08-13 11:44:13 +08:00
Andrew Nicols 7213b650ee Merge branch 'MDL-69381' of https://github.com/marinaglancy/moodle 2020-08-13 11:28:09 +08:00
Adrian Greeve b713aa80b4 Merge branch 'MDL-68423-master' of git://github.com/ferranrecio/moodle 2020-08-13 11:02:04 +08:00
Andrew Nicols 8bec7c109d Merge branch 'MDL-68932-master' of git://github.com/rezaies/moodle 2020-08-13 10:51:59 +08:00
Andrew Nicols 1736d2e66f Merge branch 'MDL-69421-master' of git://github.com/noeldemartin/moodle 2020-08-13 09:35:37 +08:00
Andrew Nicols 5a3e92e76c Merge branch 'MDL-67991-master' of git://github.com/aanabit/moodle 2020-08-13 08:54:35 +08:00
Andrew Nicols dec6eebdaa Merge branch 'MDL-69241-master' of git://github.com/mickhawkins/moodle 2020-08-13 08:27:01 +08:00
Andrew Nicols 48e5fbe1f5 Merge branch 'MDL-67708-master' of git://github.com/vmdef/moodle 2020-08-13 08:11:09 +08:00
Andrew Nicols c59247e1e8 Merge branch 'MDL-60260' of https://github.com/paulholden/moodle 2020-08-13 07:54:26 +08:00
Andrew Nicols f27f995522 Merge branch 'MDL-69143-master' of git://github.com/ferranrecio/moodle 2020-08-13 07:45:16 +08:00
Andrew Nicols 78193d34b4 Merge branch 'MDL-69265-email-headers' of https://github.com/brendanheywood/moodle 2020-08-13 07:28:27 +08:00
Eloy Lafuente (stronk7) d337e7a546 Merge branch 'MDL-68860' of https://github.com/paulholden/moodle into master 2020-08-13 00:55:09 +02:00
Eloy Lafuente (stronk7) 8e29cce41c Merge branch 'MDL-68558-master-plugindepscheckdeadend' of git://github.com/mudrd8mz/moodle into master 2020-08-13 00:40:10 +02:00
Eloy Lafuente (stronk7) 5374c768f3 Merge branch 'MDL-67394' of https://github.com/paulholden/moodle into master 2020-08-13 00:28:51 +02:00
Eloy Lafuente (stronk7) d40cecdb8a Merge branch 'MDL-67002' of https://github.com/timhunt/moodle into master 2020-08-13 00:08:17 +02:00
Eloy Lafuente (stronk7) a470c9064a Merge branch 'master-MDL-66716' of https://github.com/golenkovm/moodle into master 2020-08-12 20:09:40 +02:00
Ferran Recio 5132309170 MDL-69143 contentbank: catching Exception on file upload 2020-08-12 16:57:17 +02:00
Brendan Heywood 0f89884980 MDL-69265 email: Add admin setting for email headers 2020-08-12 20:51:10 +10:00
Andrew Nicols 08b8b76655 Merge branch 'MDL-69356' of https://github.com/stronk7/moodle 2020-08-12 14:00:44 +08:00
Andrew Nicols 12403bc004 Merge branch 'MDL-68618' of https://github.com/paulholden/moodle 2020-08-12 13:39:20 +08:00
Andrew Nicols b7146cdff9 Merge branch 'MDL-69353' of https://github.com/paulholden/moodle 2020-08-12 11:21:48 +08:00
Andrew Nicols 452497da41 Merge branch 'MDL-68334-master' of git://github.com/lucaboesch/moodle 2020-08-12 11:05:54 +08:00
Andrew Nicols 6c772c3b60 Merge branch 'MDL-69296' of https://github.com/NeillM/moodle 2020-08-12 10:27:55 +08:00
Andrew Nicols d6c8f14ed9 Merge branch 'MDL-68731' of https://github.com/jonof/moodle 2020-08-12 08:32:00 +08:00
Eloy Lafuente (stronk7) 62a7d2b5de Merge branch 'MDL-68729-master' of https://github.com/sammarshallou/moodle into master 2020-08-12 01:28:51 +02:00
Andrew Nicols 2a247aab70 Merge branch 'MDL-69143-master' of git://github.com/ferranrecio/moodle 2020-08-11 14:33:44 +08:00
Andrew Nicols d689b2e029 Merge branch 'MDL-69168_recently-accessed-items-block-uses-stock-lti-icon__master' of https://github.com/stopfstedt/moodle 2020-08-11 12:59:49 +08:00
Adrian Greeve b4f6fe06fd Merge branch 'MDL-69204' of https://github.com/paulholden/moodle 2020-08-11 08:42:02 +08:00
Andrew Nicols 7a6ea323e4 Merge branch 'MDL-64818_master' of git://github.com/gjb2048/moodle 2020-08-10 18:54:30 +08:00
Paul Holden e9a5485f3e MDL-68618 mod_forum: stop reverting idnumber when updating instance. 2020-08-10 09:11:02 +01:00
Paul Holden 36a34b89f6 MDL-68860 mod_lti: Oracle support for retrieving shared secrets.
Thanks to Mark van Hoek!
2020-08-10 09:05:58 +01:00
Mikhail Golenkov 1c3cd955ea MDL-66716 block_timeline: Group events by usermidnight event property. 2020-08-10 11:36:29 +10:00
Mikhail Golenkov 364d4caeec MDL-66716 calendar: Add usermidnight property for events. 2020-08-10 11:36:29 +10:00
Adrian Greeve e9d5a2b0a8 Merge branch 'MDL-60493-grader_span_tag' of https://github.com/leonstr/moodle 2020-08-10 09:20:50 +08:00
Luca Bösch 4994817908 MDL-68334 user: Display name in footer as elsewhere. 2020-08-08 10:38:56 +02:00
Stefan Topfstedt 82e868fd38 MDL-69168 block_recentlyaccesseditems: apply custom icon
Overwrite the default mod icon with the configured icon url if
applicable.
2020-08-07 09:14:01 -07:00
Gareth Barnard da4ded8a16 MDL-64818 blocks: blocks_for_region() is inefficient. 2020-08-07 13:58:35 +01:00
Amaia Anabitarte e68850295f MDL-67991 availability: Fix access restrictions labels 2020-08-07 10:02:37 +02:00
Michael Hawkins bb32174261 MDL-69241 lib: Reset dynamic tables to page 1 when filtering or sorting
This ensures consistency and that the page will always exist, which may
not be true for later pages if applying filters returns fewer results.
2020-08-07 12:51:49 +08:00
Eloy Lafuente (stronk7) 27738e1c07 MDL-69356 unit tests: make some assertions dir separator agnostic 2020-08-07 02:09:15 +02:00
Eloy Lafuente (stronk7) a7d9b53e72 weekly release 4.0dev 2020-08-06 20:51:18 +02:00
sam marshall 679e8d8b66 MDL-68729 Search: Allow query on one server while indexing another
To support transitions from one search engine to a different one, or
to a different installation of the same kind, this feature allows for
queries to use a different search engine from indexing. So you can
reindex (and do all other search operation) on one server, while
user queries are unaffected on a different server.

This feature supports changing between search engine types, and also
between two Solr installations.
2020-08-06 12:12:01 +01:00
sam marshall b58009596f MDL-68729 Admin: Allow validation of admin_setting_configselect
The admin_setting_configselect admin setting did not support validation.
It was possible to validate only by using a subclass.

This change allows validation by a callback function. It also makes it
slightly easier to handle validation in a subclass if you want to do
that.

The main advantage is for cases where a setting is not generic but
is only ever going to be required in one place, and it creates
unnecessary clutter to make a new subclass.
2020-08-06 12:12:01 +01:00
Noel De Martin b421039a5c MDL-69421 behat: Revert app behat navigation to call session visit 2020-08-06 12:08:43 +02:00
sam marshall f87597aae3 MDL-68729 Admin: Allow lazy-load of admin_setting_configselect
The admin_setting_configselect admin setting already supported lazy
loading, but this was only available for subclasses. This change
means you can use it directly within the admin setting.

The main advantage is for cases where a setting is not generic but
is only ever going to be required in one place, and it creates
unnecessary clutter to make a new subclass.
2020-08-06 10:52:13 +01:00
Jun Pataleta 0a94e31cf9 Merge branch 'MDL-60501-h4_close_tag' of https://github.com/leonstr/moodle 2020-08-06 12:11:26 +08:00
Jun Pataleta 05cc2df693 Merge branch 'MDL-69111-master' of git://github.com/bmbrands/moodle 2020-08-06 11:37:12 +08:00
Adrian Greeve 61856e5ef5 Merge branch 'MDL-40227-master-1' of git://github.com/peterRd/moodle 2020-08-06 11:25:58 +08:00
Peter 407a666064 MDL-40227 mod_lesson: Use localised float formatting
* Leverage PARAM_LOCALISEDFLOAT
* Store all numbers with standard '.' dec formatting
* Show all numbers based on locale settings
* Behat test to cover different cases using numeric questions and modified locale setting
2020-08-06 10:44:08 +08:00
Adrian Greeve 8a5f125ad7 Merge branch 'MDL-69311' of https://github.com/paulholden/moodle 2020-08-06 09:47:48 +08:00
Jordan Tomkinson ef8dff0565 MDL-69207 core_h5p: Add muc cache support for h5p library files 2020-08-06 02:40:24 +01:00
Adrian Greeve e77dc824f5 Merge branch 'master-MDL-66626' of https://github.com/golenkovm/moodle 2020-08-06 09:05:57 +08:00
Eloy Lafuente (stronk7) d55f2b787c Merge branch 'MDL-67687-master-2' of git://github.com/andrewnicols/moodle into master 2020-08-06 00:59:15 +02:00
Eloy Lafuente (stronk7) 4500d4bb3c Merge branch 'MDL-66670-master' of git://github.com/bmbrands/moodle into master 2020-08-06 00:58:20 +02:00
Victor Deniz Falcon 509bb3f351 MDL-67708 theme_boost: Remove tether.js orphaned references
Since version 4.3.1 Bootstrap is not dependent on the Tether library
and is no longer included, but it was still listed as a third party
library.
2020-08-05 13:43:52 +01:00
Leon Stringer fb4c20ee2c MDL-60492 core_tag: Fix title attribute
Attribute 'title' was specified inside a condition but closing `"` was
outside condition possibly resulting in <a href="..." class="..." ">.
Also moved </a> outside of condition to match <a>.
2020-08-05 12:52:09 +01:00
Shamim Rezaie 1e21a0b3d5 MDL-68932 core: showhidesettings to work with multiple hideIf()s 2020-08-05 19:06:08 +10:00
Adrian Greeve 71d61a7c8c Merge branch 'MDL-68647-master-forumprivacysql' of git://github.com/mudrd8mz/moodle 2020-08-05 14:18:24 +08:00
Adrian Greeve 8fcba35fd8 Merge branch 'MDL-60932-master' of git://github.com/aanabit/moodle 2020-08-05 10:07:24 +08:00
Andrew Nicols 39a736ef9a MDL-67687 behat: Login page accessibility ensurance 2020-08-05 07:41:45 +08:00
Eloy Lafuente (stronk7) ff7ec42832 Merge branch 'MDL-67831-master' of git://github.com/bmbrands/moodle into master 2020-08-05 00:45:20 +02:00
Tim Hunt 5516275fda MDL-69253 mod_quiz: unit test for the last commit 2020-08-04 14:37:25 +01:00
Josh Ebarvia 380534b0a1 MDL-69253 mod_quiz: Fix timecreated is 0 when creating a quiz activity 2020-08-04 13:43:45 +01:00
Jun Pataleta acf199345a Merge branch 'MDL-60574_master' of https://github.com/t-schroeder/moodle 2020-08-04 19:51:50 +08:00
Andrew Nicols 41eaa09bbe MDL-67687 behat: Make axe tests optional 2020-08-04 18:56:57 +08:00
Andrew Nicols 9d47a69094 MDL-67687 behat: Add axe web accessibility tool integration 2020-08-04 18:56:06 +08:00
Andrew Nicols 06d486d9a3 MDL-67687 behat: Add axe-core 3.5.5 2020-08-04 18:48:11 +08:00
Andrew Nicols b0e096d870 MDL-67687 cli: Make boolean CLI args negatable 2020-08-04 18:48:11 +08:00
Eloy Lafuente (stronk7) 30a82af15e Merge branch 'MDL-55299-master' of git://github.com/ferranrecio/moodle into master 2020-08-04 12:33:51 +02:00
Jun Pataleta 98579dd7b3 Merge branch 'MDL-69336-master' of git://github.com/mickhawkins/moodle 2020-08-04 16:54:34 +08:00
Tim Schroeder 95fc9d9399 MDL-60574 atto_undo: fixed redo erasing content
When you'd hit ctrl-y with nothing on the redo stack the entire
content of Atto would get deleted with no way of getting it back.
2020-08-04 09:24:15 +02:00
Michael Hawkins bd40419f2f MDL-69336 lib: Correctly return promises when table show/hide columns
Previously showColumn and HideColumn were returning nothing, so
attempts to catch exceptions were themselves throwing errors in the
browser console.
2020-08-04 15:18:39 +08:00
Michael Hawkins c2f188311e MDL-69336 lib: Reinstating tablelib column show/hide functionality
Also added behat testing for hide/show columns in participants table.
2020-08-04 15:18:39 +08:00
Eloy Lafuente (stronk7) c39b0d178c Merge branch 'MDL-69367' of https://github.com/paulholden/moodle into master 2020-08-03 16:26:59 +02:00
Eloy Lafuente (stronk7) 390512db4f Merge branch 'MDL-62980' of https://github.com/paulholden/moodle into master 2020-08-03 12:37:46 +02:00
Marina Glancy 6bc7645868 MDL-69381 core_backup: make progressbar selector more specific 2020-07-31 13:28:24 +02:00
Amaia Anabitarte becb9e8579 MDL-60932 core_user: Fix docs link for participants page
Co-authored by: David Mudrák <david@moodle.com>
2020-07-31 10:29:56 +02:00
Neill Magill e7008d4686 MDL-69296 resource: Pressing cancel should always exit settings form
Before this change if a user used navigated to a resource activity
from another activity and then edited the settings it was likely
that using the cancel button would result in file downloading,
rather than being returned to their last page.

After this change the user will be back on the page they came from.
2020-07-31 07:56:54 +01:00
Paul Holden 42fcf7d5da MDL-67394 dml: improve thrown exception when Oracle can't parse query. 2020-07-30 16:21:01 +01:00
Victor Deniz Falcon 07238ca511 weekly release 4.0dev 2020-07-30 12:53:40 +01:00
Victor Deniz Falcon f9c0d58da6 Merge branch 'install_master' of https://git.in.moodle.com/amosbot/moodle-install 2020-07-30 12:53:34 +01:00
Jun Pataleta 4a4905356c Merge branch 'MDL-68390-master' of git://github.com/andrewnicols/moodle 2020-07-30 11:42:53 +08:00
Andrew Nicols 7c56d5589d MDL-68390 tool_usertours: Update to use aria-hidden module 2020-07-30 11:36:23 +08:00
Jun Pataleta adcd69e11f Merge branch 'MDL-65923-40-core_grades_add_gradeitem_deleted_event' of https://github.com/tomdickman/moodle 2020-07-30 09:57:57 +08:00
Eloy Lafuente (stronk7) c39e659a33 Merge branch 'MDL-37745-master' of git://github.com/lucaboesch/moodle into master 2020-07-30 01:01:47 +02:00
Eloy Lafuente (stronk7) 8d1785fec5 Merge branch 'MDL-63252-master' of git://github.com/lameze/moodle into master 2020-07-30 00:47:40 +02:00
Tom Dickman 68049ac848 MDL-65923 core grades: Add a new event for when a grade item is deleted 2020-07-30 08:18:59 +10:00
Victor Deniz Falcon f8c999616a Merge branch 'MDL-66707-master' of git://github.com/rezaies/moodle 2020-07-29 22:36:49 +01:00
Victor Deniz Falcon 0bafd769ec Merge branch 'MDL-68968-master' of git://github.com/lameze/moodle 2020-07-29 22:01:06 +01:00
Paul Holden 9dbb05ffe0 MDL-60260 course: validate external fields on create/update course.
Ensure course fullname/shortname fields are not empty.
2020-07-29 19:57:16 +01:00
Victor Deniz Falcon fdf7db9502 Merge branch 'MDL-68706' of https://github.com/paulholden/moodle 2020-07-29 19:03:10 +01:00
Eloy Lafuente (stronk7) f8666013b3 Merge branch 'MDL-68390-master' of git://github.com/andrewnicols/moodle into master 2020-07-29 19:34:45 +02:00
Ferran Recio 910755acf5 MDL-69143 contentbank: fix tests when extra plugins installed 2020-07-29 17:49:50 +02:00
Ferran Recio 3dfbd5a16f MDL-69143 contentbank: add import file method to content 2020-07-29 17:49:50 +02:00
Victor Deniz Falcon 4d0e43ffc5 Merge branch 'MDL-69199-master' of git://github.com/aanabit/moodle 2020-07-29 11:43:32 +01:00
Jun Pataleta 6d685cef62 Merge branch 'MDL-69238-master' of git://github.com/mihailges/moodle 2020-07-29 17:44:12 +08:00
Jonathon Fowler 1ce5dbad41 MDL-68731 forum: fix digests not correctly updating post read statuses 2020-07-29 15:41:42 +10:00
Jun Pataleta 954de4f651 Merge branch 'MDL-69252-close_tag' of https://github.com/leonstr/moodle 2020-07-29 11:17:47 +08:00
Eloy Lafuente (stronk7) 8ab154a5c1 Merge branch 'MDL-69319-master' of https://github.com/snake/moodle 2020-07-29 00:16:09 +02:00
Paul Holden 279d691f58 MDL-69367 quizaccess_seb: correct foreign key table reference. 2020-07-28 13:27:45 +01:00
Leon Stringer fe2e2feef4 MDL-60493 mod_assign: Unused JS variables
Removed unused JavaScript variables fixing CI warning "ESLint error
[no-unused-vars]".
2020-07-28 12:01:26 +01:00
Leon Stringer 5a0fd52e3f MDL-60493 mod_assign: Remove rogue </span>
In the grading interface (/mod/assign/view.php?id=2&action=grader)
there was a rogue </span> with no opening <span>.  Also changed
<span><form> to <div><form> in included template fixing CiBoT HTML
Validation error.
2020-07-28 11:59:55 +01:00
Eloy Lafuente (stronk7) 24ccd6e908 Merge branch 'MDL-68107-master' of git://github.com/bmbrands/moodle 2020-07-28 12:40:04 +02:00
Jun Pataleta fcc5307e64 Merge branch 'MDL-65453-master' of git://github.com/lameze/moodle 2020-07-28 11:42:47 +08:00
Simey Lameze d208ffb0e2 MDL-65453 core: fix behaviour of --skip-database option on install 2020-07-28 11:21:35 +08:00
Paul Holden 5c36644c05 MDL-69204 tool_dataprivacy: summary link only on current user profile. 2020-07-27 17:25:09 +01:00
Jun Pataleta c84b8976e3 Merge branch 'MDL-66755-master' of https://github.com/SergioComeron/moodle 2020-07-27 16:55:34 +08:00
Bas Brands 99ddf538ca MDL-68107 mod_label: make images dropped onto courses responsive 2020-07-27 09:55:43 +02:00
C4ne 4144e278a6 MDL-68107 editor_atto: responsive images for drag and drop 2020-07-27 09:55:33 +02:00
Jun Pataleta a1b2045364 Merge branch 'MDL-69260_master' of git://github.com/adpe/moodle 2020-07-27 10:53:23 +08:00
Mihail Geshoski c4296f77e0 MDL-69238 core: Remove coursecat_sortable_records class 2020-07-27 09:43:16 +08:00
Adrian Greeve 0f70cf0497 Merge branch 'MDL-69079-master-1' of git://github.com/mihailges/moodle 2020-07-27 08:48:58 +08:00
AMOS bot 7c30725f6b Automatically generated installer lang files 2020-07-27 00:07:24 +00:00
AMOS bot 6065090736 Automatically generated installer lang files 2020-07-27 00:07:24 +00:00
Mikhail Golenkov 42f75f5a52 MDL-66626 assignfeedback_editpdf: Check page count for attempt.
Co-Authored-By: John Yao <johnyao@catalyst-au.net>
2020-07-27 09:49:56 +10:00
Mikhail Golenkov 78572f186d MDL-66626 assignfeedback_editpdf: Count files outside of foreach loop.
Co-Authored-By: John Yao <johnyao@catalyst-au.net>
2020-07-27 09:49:56 +10:00
Luca Bösch 84197640eb MDL-37745 mod_choice: Show taken and limit. 2020-07-26 00:08:37 +02:00
AMOS bot fc49ce855a Automatically generated installer lang files 2020-07-25 00:07:48 +00:00
Paul Holden 486d2a35ba MDL-68706 customfield_textarea: allow field content to be cleared. 2020-07-24 13:44:41 +01:00
Paul Holden 15af3240b3 MDL-69353 admin: set page title when prompting for upgrade key. 2020-07-24 13:24:13 +01:00
Tim Hunt 45722f4188 MDL-67002 quiz reports: fix sorting on Oracle in the responses report 2020-07-24 11:42:50 +01:00
Sergio Comerón a1087ef609 MDL-66755 forum: Subscription cancel when edit a message 2020-07-24 09:05:17 +02:00
Mihail Geshoski d6ec2d3e44 MDL-69079 core: Restore and set missing guest user 2020-07-24 11:08:25 +08:00
Mihail Geshoski 7add3440c8 MDL-69079 course: Handle missing guest when fetching recommended modules 2020-07-24 10:33:50 +08:00
Mihail Geshoski 3295288d6e MDL-69079 course: Handle fetch module data failures in activity chooser 2020-07-24 10:33:50 +08:00
Sam Marshall 3d03d2a0d4 MDL-63252 tool_xmldb: convert default to float to avoid false positives 2020-07-24 07:53:19 +08:00
Simey Lameze e3c28dffa3 MDL-68968 core: fix wrong phpdoc on admin_externalpage 2020-07-24 07:42:45 +08:00
Amaia Anabitarte 2d710f35cd MDL-69199 mod_quiz: Show timefinish in user Complete report 2020-07-23 18:53:49 +02:00
Victor Deniz Falcon 94fdac9117 weekly release 4.0dev 2020-07-23 16:10:20 +01:00
Victor Deniz Falcon 1dd722145d Merge branch 'install_master' of https://git.in.moodle.com/amosbot/moodle-install 2020-07-23 16:10:16 +01:00
David Mudrák 9d171793d7 MDL-68558 admin: Allow to go back to plugins check page on failed deps
Once the admin reaches the Plugin dependencies check with a failed
plugin dependency, the "Continue" button should take him/her to the
previous page where the dependency can be sorted out, or the plugin
installation cancelled. Also the "Cancel this installation" should work
on this page, too.

None of this was happening correctly because the page with failed
dependencies is loaded with "confirmplugincheck" set to 1 as a result
of confirming the previous step. We must explicitly override it back to
0 to navigate the user back to the previous step.
2020-07-23 16:54:14 +02:00
Bas Brands 8e039a5662 MDL-67831 core_message: use space available for message index page
- the prevents the message reply box from being out of view when
a user has many conversations.
2020-07-23 11:34:19 +02:00
AMOS bot 990bd11773 Automatically generated installer lang files 2020-07-23 00:07:42 +00:00
Victor Deniz Falcon ddcde1994d Merge branch 'MDL-48391' of https://github.com/paulholden/moodle 2020-07-22 21:51:25 +01:00
Victor Deniz Falcon cf35d0b26e Merge branch 'MDL-65819' of https://github.com/paulholden/moodle 2020-07-22 18:58:23 +01:00
Paul Holden b9a09480b2 MDL-48391 tool_uploadcourse: access checks for configuring enrolments. 2020-07-22 17:52:24 +01:00
Ferran Recio 5025c1ad82 MDL-55299 mod_feedback: fix quoted values donwload 2020-07-22 18:47:37 +02:00
Jun Pataleta 0ea341f14b Merge branch 'MDL-68586-format_topics_code_prechecks' of https://gitlab.com/drlikm/moodle 2020-07-22 23:26:24 +08:00
Jun Pataleta a03e9e0d9d Merge branch 'MDL-68874-db-sql-instrumentation' of https://github.com/brendanheywood/moodle 2020-07-22 18:10:46 +08:00
Paul Holden c1c57e816c MDL-69311 dataformat: correct license docblock.
When this class was implemented in 8844cb82, it incorrectly set the
license to Moodle Workplace.
2020-07-22 10:44:35 +01:00
Andrew Nicols b284293402 MDL-69138 behat: Update session->visit() to use visit step 2020-07-22 16:43:08 +08:00
Andrew Nicols d61fa24239 MDL-69138 behat: Add "I visit :localurl" step 2020-07-22 16:43:08 +08:00
Jun Pataleta 11eb85e494 Merge branch 'MDL-52052-master' of git://github.com/mihailges/moodle 2020-07-22 13:47:14 +08:00
Jun Pataleta c765b1f7e2 Merge branch 'MDL-68178-master' of git://github.com/mihailges/moodle 2020-07-22 12:59:09 +08:00
Eloy Lafuente (stronk7) 8e44da5653 Merge branch 'MDL-69160-master' of git://github.com/andrewnicols/moodle 2020-07-21 23:29:29 +02:00
Bas Brands 0489e9ceee MDL-69111 mod_forum: forum grading on small viewports
- changes to make the forum grading UI accessible in small
viewports to meet criterion 1.4.10 Reflow.
2020-07-21 17:42:02 +02:00
Jun Pataleta e948a6354e Merge branch 'MDL-68737_master' of https://github.com/t-schroeder/moodle 2020-07-21 21:55:41 +08:00
David Mudrák 8a6b13b71e MDL-68647 forum: Add index over posts privatereplyto field
This is to further improve the performance of searching of posts related
to the given user. Once both userid and privatereplyto are indexed, the
query planner can use the merged index to search for posts records.
2020-07-21 11:55:25 +02:00
David Mudrák e2f1e10225 MDL-68647 forum: Improve the SQL performance in the privacy provider
The idea here is to replace the existing LEFT JOINs and
OR / IS NOT NULL conditions with INNER JOINs and ANDs. So we gather the
discussions data from all three areas in individual queries, make their
UNION. The GROUP BY was present before and maybe it is not even needed
any more (due to how UNION works) but it should not hurt to keep it.

This leads to significantly improved performance.
2020-07-21 11:53:08 +02:00
David Mudrák 474e768a26 MDL-68647 forum: Add missing advanced grading library inclusion
The method get_grading_manager() is called in the file so make sure the
library is loaded. Without it, the forum's privacy provider unit test
ended with error.

Not directly related to the issue, but noticed while working on it.
2020-07-21 11:53:08 +02:00
Adrian Greeve 17e99314a2 Merge branch 'MDL-67657-master' of git://github.com/andrewnicols/moodle 2020-07-21 14:47:14 +08:00
Adrian Greeve d817ccaca5 Merge branch 'MDL-67436-master' of https://github.com/jondo/moodle 2020-07-21 08:28:53 +08:00
Eloy Lafuente (stronk7) 0cb248077c Merge branch 'MDL-68726-master' of https://github.com/sammarshallou/moodle 2020-07-21 00:37:03 +02:00
Ferran Recio 1d8cbfb81b MDL-68423 message: avoid self-xss when send a message 2020-07-20 19:48:17 +02:00
Eloy Lafuente (stronk7) 6c579b60f2 Merge branch 'master_MDL-67440' of https://github.com/danmarsden/moodle 2020-07-20 17:08:12 +02:00
Leon Stringer 6b03aebf27 MDL-60501 themes: Fix closing <h4> in template
In site admin pages (/admin/search.php) <h4> elements were generated
with an incorrect second opening <h4> instead of a closing </h4>.
2020-07-20 15:51:14 +01:00
Bas Brands 8e929fa58a MDL-66670 theme_boost: list bullet styling
Ensure lists with bullets are not cut off
2020-07-20 14:47:45 +02:00
Jake Dallimore f956926db5 MDL-69319 mod_lti: style and docs changes in external tests 2020-07-20 13:01:21 +08:00
Jake Dallimore cea2645a81 MDL-69319 mod_lti: replace try/catch with expectException in ext tests 2020-07-20 13:00:47 +08:00
Jake Dallimore 5aff8a7852 MDL-69319 mod_lti: remove unused vars from externallib_test 2020-07-20 12:51:27 +08:00
Jake Dallimore 7c7c5286a4 MDL-69319 mod_lti: move test data generation out of common setup 2020-07-20 12:51:25 +08:00
Mihail Geshoski c39bc627a0 MDL-68178 auth: CSRF protection for the resend confirmation email form
Credit to Chandra Kishor.
2020-07-20 12:30:21 +08:00
Adrian Greeve 867509ac25 Merge branch 'MDL-69113' of https://github.com/jonof/moodle 2020-07-20 10:20:47 +08:00
Jake Dallimore 261400d4ea MDL-69319 mod_lti: call clean_returnvalue in external tests 2020-07-20 09:29:40 +08:00
Mihail Geshoski f9bcf22483 MDL-52052 gradeimport_csv: Do not skip rows with blank user fields 2020-07-20 08:54:11 +08:00
Eloy Lafuente (stronk7) a16ab5697d Merge branch 'MDL-69278-master' of git://github.com/andrewnicols/moodle 2020-07-18 11:55:48 +02:00
sam marshall 9b3646417e MDL-68726 Search: Stop Solr 'optimize' behaviour
The optimize feature in Solr is usually considered harmful, especially
prior to Solr 7.5.

This change simply removes the optimize implementation from the Solr
engine.
2020-07-17 17:11:57 +01:00
Sara Arjona 741d6dde19 weekly release 4.0dev 2020-07-16 21:28:16 +02:00
Sara Arjona 14b4ee0827 Merge branch 'install_master' of https://git.in.moodle.com/amosbot/moodle-install 2020-07-16 21:28:13 +02:00
Tim Schroeder 396a282a2d MDL-68737 other: add .vscode folder to .gitignore 2020-07-16 18:46:43 +02:00
Jake Dallimore af331f08d4 Merge branch 'MDL-45849-selfenrol' of https://github.com/Peterburnett/moodle 2020-07-16 16:27:01 +02:00
Jake Dallimore 988d0d4c50 Merge branch 'MDL-69215-master-2' of git://github.com/andrewnicols/moodle 2020-07-16 16:25:55 +02:00
Eloy Lafuente (stronk7) a86f428702 Merge branch 'MDL-69214' of https://github.com/paulholden/moodle 2020-07-16 16:21:27 +02:00
Eloy Lafuente (stronk7) 5a32562f82 Merge branch 'MDL-69165-master' of https://github.com/HuongNV13/moodle 2020-07-16 16:21:27 +02:00
Eloy Lafuente (stronk7) 9e28ba2b65 Merge branch 'MDL-69074-master' of https://github.com/mackensen/moodle 2020-07-16 16:21:27 +02:00
Sara Arjona 2eb31f8bb3 Merge branch 'MDL-68605_master' of https://github.com/t-schroeder/moodle 2020-07-16 16:21:27 +02:00
Sara Arjona d189edb843 Merge branch 'MDL-68210-master' of https://github.com/snake/moodle 2020-07-16 16:21:27 +02:00
Sara Arjona 57ad9e1566 Merge branch 'MDL-67671_master' of https://github.com/marxjohnson/moodle 2020-07-16 16:21:26 +02:00
Robert Pollak beca5a9300 MDL-67436 mod_assign: "Assignments per page": Sort "All" after "100" 2020-07-16 09:34:57 +02:00
Andrew Nicols 083604ea09 MDL-67657 behat: Open course with editing using URL
This is a huge performance improvement for behat.

The current set of steps loads the page
It then looks for the Classic/Clean version of the settings menu
If it fails to find it looks for the Boost Cog
Then it clicks the "Turn editing on" button

This can take a substantial period.

We do not actually need to run these steps as we are able to jump
straight to the URL. We already have access to the sesskey value
required to do this.

There is not loss in testing functionality because the actual testing of
the Turn editing functionality is tested in other places sufficiently.
2020-07-16 11:06:43 +08:00
Andrew Nicols cd6eadd407 MDL-67657 behat: Convert existing uses of executeScript 2020-07-16 11:06:31 +08:00
Andrew Nicols 6d5d1935ea MDL-67657 behat: Add wrapper for JS execution 2020-07-16 11:05:32 +08:00
Andrew Nicols 05f23d5a2b MDL-69278 behat: Correct variable name 2020-07-16 08:29:22 +08:00
Andrew Nicols 0d751c196b MDL-69278 behat: Mark tests as failed when unable to start Session 2020-07-16 08:29:22 +08:00
Andrew Nicols 6f5f08a846 MDL-69215 output: Correct use of icon_system::instance 2020-07-16 07:29:22 +08:00
Andrew Nicols 4a4a367251 MDL-69215 output: Correct font awesome for themes 2020-07-16 07:29:22 +08:00
Paul Holden 809be05428 MDL-65819 message: send contact requests using recipient language. 2020-07-15 20:24:44 +01:00
Shamim Rezaie 4bd0eaf732 MDL-66707 mod_forum: do not blindly mark discussion replies as read 2020-07-15 22:20:40 +10:00
Sara Arjona 23f33d12ca Merge branch 'MDL-57678-master-3' of git://github.com/junpataleta/moodle 2020-07-15 12:56:02 +02:00
Brendan Heywood ef4145dd1a MDL-68874 dml: Add SQL stacktrace debugging mode 2020-07-15 20:32:43 +10:00
Jun Pataleta 4c44813e9e MDL-57678 admin: Replace usage of make_categories_options()
Replace with core_course_category::make_categories_list() instead.
2020-07-15 18:26:03 +08:00
Jun Pataleta c5438f982c MDL-57678 enrol_ldap: Replace usage of make_categories_options()
Replace with core_course_category::make_categories_list() instead.
2020-07-15 18:26:03 +08:00
Jun Pataleta 2c45ad6f18 MDL-57678 core_course: Deprecate make_categories_options()
Padding nested course categories by space to make them render in a tree
structure does not really make a lot of sense as they are already being
rendered as full paths. It's simpler to show them without the
indentation.
Given this, there's not much point keeping make_categories_options().
So it's better to deprecate this function and call
core_course_category::make_categories_list() directly instead.
2020-07-15 18:25:57 +08:00
Sara Arjona 9f9682cfe2 Merge branch 'MDL-69068-master' of git://github.com/andrewnicols/moodle 2020-07-15 12:20:20 +02:00
Sara Arjona b8d16ecad1 Merge branch 'MDL-45002_master' of https://github.com/grillonbleu/moodle 2020-07-15 09:51:37 +02:00
Andrew Nicols 45871ec48e MDL-69068 behat: Allow singular, pivotted data generators 2020-07-15 15:27:31 +08:00
Andrew Nicols b49cb92e82 MDL-69068 behat: New step to support singular generators 2020-07-15 15:27:31 +08:00
Andrew Nicols eb06f92457 MDL-68390 core: Share focusable selector 2020-07-15 15:15:34 +08:00
Andrew Nicols 7cc18dc2ad MDL-68390 js: Update to use Aria mod 2020-07-15 14:40:49 +08:00
Andrew Nicols 4f1c8ce764 MDL-68390 aria: Add new core_aria module 2020-07-15 14:40:49 +08:00
Jake Dallimore 805214b38c Merge branch 'MDL-69206-master' of git://github.com/mihailges/moodle 2020-07-15 10:29:03 +08:00
Eloy Lafuente (stronk7) 9e65bc8fa6 Merge branch 'MDL-68690-master' of https://github.com/sammarshallou/moodle 2020-07-15 00:17:11 +02:00
François Moreau 760ed019ee MDL-45002 mod_quiz: completion option, at least N attempts completed 2020-07-14 15:32:06 -04:00
Sara Arjona 22f4eab309 Merge branch 'MDL-68715' of https://github.com/paulholden/moodle 2020-07-14 14:31:44 +02:00
Paul Holden 8acaa4e356 MDL-68715 completion: fix form default value for course prerequisites.
Adds filtering on the completion criteria form to ensure we are only
selecting actual course instances of this type. Prior to this change
we would also get NULL values from unrelated criteria types.
2020-07-14 12:46:02 +01:00
Sara Arjona ebd307b396 Merge branch 'MDL-69228-master' of git://github.com/andrewnicols/moodle 2020-07-14 12:41:05 +02:00
Mihail Geshoski 2b61f1eb27 MDL-69206 course: Tidy up behat test to avoid potential failures 2020-07-14 12:09:52 +08:00
Mihail Geshoski 586ae77bc2 MDL-69206 course: Tidy up unit test to avoid potential failures 2020-07-14 12:09:52 +08:00
Paul Holden 60c92dcb4b MDL-62980 tool_dataprivacy: show persistent errors inside form. 2020-07-14 00:22:48 +01:00
adpe d4dc94ec8d MDL-69260 admin_cli: show only contributed plugins in uninstall plugins 2020-07-13 20:19:35 +02:00
Sara Arjona 168348abeb Merge branch 'MDL-69115-master' of git://github.com/junpataleta/moodle 2020-07-13 14:24:00 +02:00
Andrew Nicols b0627a1a11 MDL-69160 workshop: Ensure steps are chained 2020-07-13 14:22:32 +08:00
Andrew Nicols 2c37677635 MDL-69160 behat: Add form field setter step 2020-07-13 14:22:31 +08:00
Leon Stringer 69f0ecf605 MDL-69252 templates: Invalid HTML
Invalid HTML generated when the page count exceeded the maximum number
of page links to display: <span>...</a>.  Also added example context.
2020-07-11 12:51:02 +01:00
AMOS bot 815f256bcd Automatically generated installer lang files 2020-07-10 19:52:39 +00:00
Eloy Lafuente (stronk7) ee23a8cf25 weekly release 4.0dev 2020-07-10 20:21:44 +02:00
Eloy Lafuente (stronk7) b89a37942e Merge branch 'install_master' of https://git.in.moodle.com/amosbot/moodle-install 2020-07-10 20:21:38 +02:00
sam marshall 0deb19468d MDL-68690 Search: Allow Solr to add documents in batches
Adding documents in batches instead of one at a time can make
indexing using Solr significantly faster.

This adds new API functions for search engines, including
add_document_batch() to add a batch of documents,
supports_add_document_batch(), get_batch_max_documents() and
get_batch_max_content().
2020-07-10 11:32:46 +01:00
Jake Dallimore 0ad85f4148 Merge branch 'MDL-69232-master' of git://github.com/andrewnicols/moodle 2020-07-10 15:12:44 +08:00
Peter Burnett 37c99bd07e MDL-45849 enrol_self: Added self enrol capability 2020-07-10 11:52:10 +10:00
Andrew Nicols 4df5ee039a MDL-69232 behat: Simplify hooks
The behat hooks were needlessly complicated which made them much harder
to read, and understand, leading to bugs during development.

These have been significantly simplified to favour clarity over
overloading.
2020-07-10 08:40:30 +08:00
Andrew Nicols 5306f2f2b9 MDL-69232 behat: Make selenium start more fault tolerant
The session was previously only started once, but has now been moved to
restart between each test. Because of this the `$session->start()` is
now called more frequently which exposes a pre-existing issue whereby
Selenium will periodically fail to start.

When the session was only started at the beginning of the test, and at
occasional other times, it made sense to always stop the test runner
because it signified an issue with obtaining the session at all.

Since the session is restarted more frequently, and now between every
test, it no longer makes sense to do this. The test should only be
_stopped_ if the first attempt to obtain the Session fails. Once a
Session has been retrieved at least once it no longer makes sense to
assume that the failure was a configuration failure, but a connection
failure. Therefore subsequent tests should be attempted.
2020-07-10 08:40:30 +08:00
Mark Johnson e37cdf881e MDL-67671 backup: Fix modname display on backup form 2020-07-09 10:11:17 +01:00
Jake Dallimore 336d0d2927 Merge branch 'MDL-69135-master' of git://github.com/andrewnicols/moodle 2020-07-09 10:35:33 +08:00
Michael Hawkins f1d86e0319 MDL-68426 theme: Set a limit on paths length in yui_combo
The maximum paths length is now consistent with the YUI loader.
This fix also removes any duplicate paths, so each file is only ever
fetched once.
2020-07-09 10:05:59 +08:00
Andrew Nicols 5e99058860 MDL-69232 behat: Add debugging information to Selenium fails 2020-07-09 09:30:15 +08:00
Andrew Nicols 41426e0aa4 MDL-69232 behat: Move suite tests to BeforeSuite hook 2020-07-09 09:27:11 +08:00
Jake Dallimore 389744710a Merge branch 'MDL-62982-master' of git://github.com/mihailges/moodle 2020-07-09 09:07:49 +08:00
Jake Dallimore 848f08e126 Merge branch 'MDL-67477-master' of git://github.com/mihailges/moodle 2020-07-09 08:38:18 +08:00
Eloy Lafuente (stronk7) cdbb433c32 Merge branch 'MDL-69134-master' of git://github.com/andrewnicols/moodle 2020-07-08 20:53:11 +02:00
Jake Dallimore 0524f3ae5b Merge branch 'MDL-69104-master' of https://github.com/HuongNV13/moodle 2020-07-08 13:06:45 +08:00
Andrew Nicols 1e37778fc1 Merge branch 'MDL-56041-master-fix' of https://github.com/snake/moodle 2020-07-08 12:39:17 +08:00
Andrew Nicols fc5e5d4999 Merge branch 'MDL-68784' of https://github.com/Peterburnett/moodle 2020-07-08 12:35:37 +08:00
Andrew Nicols 954e4d1132 Merge branch 'm40_MDL-66322_Travis_Run_Using_Docker_ExtTests' of https://github.com/scara/moodle 2020-07-08 12:20:08 +08:00
Jake Dallimore 8cb0b7262b MDL-56041 core: add missing cap string for site:senderrormessage 2020-07-08 12:09:02 +08:00
Huong Nguyen 579da44a70 MDL-69165 Questions: Incorrect id used in init_submit_button function 2020-07-08 10:54:24 +07:00
Peter Burnett 7482fef18b MDL-68784: Updated variable for graph report 2020-07-08 13:48:30 +10:00
Andrew Nicols 0bf024e48a MDL-69228 tool_mobile: Hide dependant settings 2020-07-08 11:44:02 +08:00
Andrew Nicols 7d4ee9c50b Merge branch 'MDL-69031-master' of git://github.com/jleyva/moodle 2020-07-08 09:38:46 +08:00
Jake Dallimore 7a40781aeb Merge branch 'MDL-56041-custom-error-pages' of https://github.com/brendanheywood/moodle 2020-07-08 09:33:46 +08:00
Andrew Nicols 0a5291c013 Merge branch 'MDL-60494-stray_img_end' of https://github.com/leonstr/moodle 2020-07-08 09:23:31 +08:00
Andrew Nicols 63a66eb2ce MDL-69134 competencies: Behat fails randomly opening dialogues 2020-07-08 09:21:44 +08:00
Jake Dallimore c032adf341 MDL-68210 mod_lesson: fix random failure in override behat test 2020-07-08 09:08:27 +08:00
Jake Dallimore c467de9ac6 MDL-68210 overrides: allow copy and delete of inactive overrides
This brings lesson and assign in line with the expected behaviour
already implemented in quiz. When an override is inactive, all controls
are shown.
2020-07-08 09:08:27 +08:00
Andrew Nicols 145604590f Merge branch 'MDL-69109-master-2' of git://github.com/marinaglancy/moodle 2020-07-08 08:39:32 +08:00
Brendan Heywood 43999a3f2b MDL-56041 error: Enable custom 404 and 500 error pages 2020-07-08 09:36:21 +10:00
Matt Clarkson 7f55289912 MDL-67440 analytics: optimse delete's in clean up task. 2020-07-08 11:16:36 +12:00
Eloy Lafuente (stronk7) 7a5f2d0b78 Merge branch 'MDL-69086-master' of git://github.com/andrewnicols/moodle 2020-07-07 19:15:13 +02:00
Eloy Lafuente (stronk7) 3303daf3bf Merge branch 'm40_MDL-68588_Hide_Backuptempdir_From_Message_And_Debuginfo' of https://github.com/scara/moodle 2020-07-07 19:09:59 +02:00
Eloy Lafuente (stronk7) e47c53ae4a Merge branch 'MDL-68784' of https://github.com/Peterburnett/moodle 2020-07-07 18:51:50 +02:00
Paul Holden ca02422d66 MDL-69214 user: correct participant table forced group SQL. 2020-07-07 14:31:31 +01:00
Tim Schroeder 3786de22f2 MDL-68605 mod_assign: return grp submissns from ws
Co-authored-by: Septatrix <24257556+Septatrix@users.noreply.github.com>
2020-07-07 12:55:04 +02:00
Víctor Déniz Falcón d07fb8b9e8 MDL-69093 enrol_manual: added check for allowed roles a user can assign 2020-07-07 08:32:39 +02:00
Andrew Nicols 877a3f70d0 Merge branch 'MDL-69106-master' of git.in.moodle.com:cameron/moodle 2020-07-07 14:13:22 +08:00
Jake Dallimore 3d7a8a09ba Merge branch 'MDL-63966' of https://github.com/Chocolate-lightning/moodle 2020-07-07 13:54:27 +08:00
Andrew Nicols 3bf4744303 Merge branch 'MDL-67594-master-2' of git://github.com/mihailges/moodle 2020-07-07 09:32:20 +08:00
Eloy Lafuente (stronk7) 70e973d092 Merge branch 'MDL-60827-master' of git://github.com/mihailges/moodle 2020-07-07 00:14:34 +02:00
Matteo Scaramuccia 3ce1eba180 MDL-66322 travis: Configure a local copy of 'exttests' 2020-07-06 23:02:56 +02:00
Martin Drlík ca864e09b1 MDL-68586 format_topics: code prechecks 2020-07-06 13:26:09 +02:00
Andrew Nicols a95f458cde MDL-69110 table: Remove commented code 2020-07-06 13:25:31 +08:00
Andrew Nicols 1ffdc39468 Merge branch 'MDL-69110-master' of git://github.com/junpataleta/moodle 2020-07-06 13:16:38 +08:00
Mihail Geshoski 83c18a2dec MDL-67594 core_lock: Modify postgres get_lock() to avoid recursion 2020-07-06 13:04:41 +08:00
Mihail Geshoski 566b73fbfc MDL-67594 core_lock: Deprecate extend() 2020-07-06 13:04:33 +08:00
Mihail Geshoski 80736a93aa MDL-67594 core_lock: Deprecate extend_lock() 2020-07-06 13:03:08 +08:00
Mihail Geshoski 41bc63dbf3 MDL-67594 core_lock: Remove supports_recursion() usages 2020-07-06 13:01:20 +08:00
Mihail Geshoski 4b71cdcd89 MDL-67594 core_lock: Deprecate supports_recursion() 2020-07-06 13:01:16 +08:00
Andrew Nicols e4faf5fede Merge branch 'MDL-68820-referrer-policy' of https://github.com/Peterburnett/moodle 2020-07-06 12:38:29 +08:00
Andrew Nicols 8a635e3e24 Merge branch 'MDL-69158-master' of git://github.com/lucaboesch/moodle 2020-07-06 12:11:10 +08:00
Jake Dallimore 71bfe91591 Merge branch 'MDL-55192-master' of git://github.com/peterRd/moodle 2020-07-06 12:10:02 +08:00
Peter Dias ceedbf1515 MDL-55192 log: Remove add_log from unit tests 2020-07-06 11:56:47 +08:00
Jake Dallimore 68e240284c Merge branch 'MDL-63004' of https://github.com/Chocolate-lightning/moodle 2020-07-06 11:55:12 +08:00
John Okely d464fb43d6 MDL-55192 log: Final deprecation of add_to_log 2020-07-06 11:54:10 +08:00
Mathew May b44495cecc MDL-63966 messaging: Make tests pass after deprecation 2020-07-06 11:44:04 +08:00
Mathew May d0ba284421 MDL-63966 core: Remove tests covering removed functions 2020-07-06 11:44:04 +08:00
Mathew May b27a27adcd MDL-63966 core: Final deprecations in deprecatedlib 2020-07-06 11:44:01 +08:00
Mathew May f87f23777f MDL-63004 behat: Final removal of i_navigate_to_node_in 2020-07-06 11:39:13 +08:00
Jake Dallimore 6ceba9e0e8 Merge branch 'MDL-69136-master' of git://github.com/andrewnicols/moodle 2020-07-06 10:44:10 +08:00
Mihail Geshoski ecf15a63b4 MDL-60827 oauth2: Consider requireconfirmation setting on login 2020-07-06 10:04:42 +08:00
Michael Hawkins c6ffe9588e MDL-69128 admin: Convert HTML entities when populating tasklogs filter 2020-07-06 10:04:03 +08:00
Mihail Geshoski 8cdb2fcc0e MDL-62982 core_form: Final deprecation of the htmleditor form element 2020-07-06 10:02:58 +08:00
Mihail Geshoski 8efa87ed6f MDL-67477 lib: Remove renamed classes 2020-07-06 10:00:22 +08:00
AMOS bot a5b23f1f4e Automatically generated installer lang files 2020-07-06 00:08:22 +00:00
Leon Stringer 9679c49c35 MDL-60494 mod_lti: Invalid </img>, example context
<img> was followed by an invalid </img>.  Also added example context for
template so it passes CI checks.
2020-07-05 15:56:04 +01:00
Matteo Scaramuccia 82850a0418 MDL-68588 Backup: Hide ->backuptempdir in exception info 2020-07-03 21:17:42 +02:00
Jun Pataleta b583c46297 MDL-69110 core: Unset the correct sort data element 2020-07-04 00:47:14 +08:00
Eloy Lafuente (stronk7) 49a9e8b07d weekly release 4.0dev 2020-07-03 18:41:01 +02:00
Eloy Lafuente (stronk7) 419709e9b2 Merge branch 'install_master' of https://git.in.moodle.com/amosbot/moodle-install 2020-07-03 18:40:55 +02:00
Jake Dallimore 5a3b9d64dd Merge branch 'MDL-68714-master' of https://github.com/andrewnicols/moodle 2020-07-03 11:58:17 +08:00
Andrew Nicols 9eaf7a4c3f MDL-68714 clilib: Check set_process_title exists
The web cron script at /admin/cron.php pretends to be a CLI script which
means that it is not possible to rely upon the CLI_SCRIPT constant.
2020-07-03 09:49:11 +08:00
Andrew Nicols 834aba2309 MDL-68714 cron: Check value of CLI_SCRIPT not existence 2020-07-03 09:04:05 +08:00
Jake Dallimore b5878eaec9 Merge branch 'MDL-63254' of https://github.com/Chocolate-lightning/moodle 2020-07-02 12:22:17 +08:00
Jake Dallimore ccae2f74f8 Merge branch 'MDL-69130-master-enfix' of git://github.com/mudrd8mz/moodle 2020-07-02 12:07:58 +08:00
Jake Dallimore 752a073885 Merge branch 'MDL-69149-master' of git://github.com/andrewnicols/moodle 2020-07-02 11:57:04 +08:00
Jake Dallimore e96987d89e Merge branch 'MDL-69122-master' of git://github.com/bmbrands/moodle 2020-07-02 11:49:02 +08:00
Andrew Nicols 710c3f0c36 Merge branch 'MDL-68714-task-top-process-name' of https://github.com/brendanheywood/moodle 2020-07-02 11:20:45 +08:00
Jake Dallimore c39dc16da4 Merge branch 'MDL-58926-ajax-timer' of https://github.com/rboyatt/moodle 2020-07-02 09:37:00 +08:00
AMOS bot b3e45d753a Automatically generated installer lang files 2020-07-02 00:08:01 +00:00
Eloy Lafuente (stronk7) 2cadeca3eb Merge branch 'MDL-69072-master' of git://github.com/andrewnicols/moodle 2020-07-01 23:20:34 +02:00
Eloy Lafuente (stronk7) 8fb519442a Merge branch 'MDL-58931-master' of https://github.com/mackensen/moodle 2020-07-01 22:56:30 +02:00
Charles Fulton 66ba391e82 MDL-58931 dml: add support for aurora mysql 2020-07-01 22:56:20 +02:00
Jake Dallimore 2cde5c5267 Merge branch 'MDL-63167-master' of git://github.com/peterRd/moodle 2020-07-01 17:06:01 +08:00
Jake Dallimore 2c41fe81e8 Merge branch 'MDL-68584-master' of git://github.com/lucaboesch/moodle 2020-07-01 16:42:19 +08:00
Brendan Heywood 0b996db6a3 MDL-68714 task: Expose current task in cli process name 2020-07-01 18:35:32 +10:00
Brendan Heywood 73a5ba92b7 MDL-68714 clilib: Allow cli processes to set a process title suffix 2020-07-01 18:35:32 +10:00
Jun Pataleta c3015dd0c8 MDL-69115 course: More course management accessibility fixes
* Added aria-label for category single select element when on Courses
view mode.
* Fix correct labelling of custom control checkboxes. Instead of adding
aria-label in the label element, add an sr-only span within the label.
* Remove inappropriate 'group' role for the list of courses.
The list of courses is not being rendered as a tree structure
so adding a 'group' role to the list of courses is not really
necessary.
* Add aria-label for the search courses field.
* Add legend for the search courses fieldset.
* Use the primary colour for the category selection highlight instead
of the info colour.
* Changed the labels for the up/down icons using moveup/movedown
lang strings.
2020-07-01 14:42:44 +08:00
Andrew Nicols 3585c252ce Merge branch 'MDL-60583' of https://github.com/NeillM/moodle 2020-07-01 09:16:21 +08:00
Andrew Nicols e6ff582e1a Merge branch 'MDL-69150' of https://github.com/paulholden/moodle 2020-07-01 08:34:30 +08:00
Andrew Nicols 53df9e34f9 Merge branch 'MDL-69151' of https://github.com/paulholden/moodle 2020-07-01 08:27:36 +08:00
Juan Leyva 1d6683bb0e MDL-69031 tool_mobile: Add missing features that can be disabled in 3.9 2020-06-30 13:02:59 +02:00
Marina Glancy 9c10de7f35 MDL-69109 theme: try to load icons from the current theme 2020-06-30 09:56:49 +02:00
Marina Glancy 17ab4fb266 MDL-69109 core: use different cache keys for FA icon maps 2020-06-30 09:38:33 +02:00
Huong Nguyen 5fa8f1c811 MDL-69104 Questions: Drag and drop question family don't work with iOS
- Drag and Drop marker question type
 - Drag and Drop onto image question type
 - Drag and Drop into text question type
2020-06-30 13:15:48 +07:00
Peter Burnett 91f26b5874 MDL-68784 scorm: Removed limit on allowed scorm users in report 2020-06-30 15:14:53 +10:00
Andrew Nicols 1b771b1947 Merge branch 'MDL-60621-master-1' of git://github.com/mihailges/moodle 2020-06-30 12:30:48 +08:00
Cameron Ball 548c44c89c MDL-69106 assignfeedback_editpdf: Keep files in conversion queue
In some circumstances, a submission waiting to be converted needs to persist
in the conversion queue so that it can be polled on subsequent cron runs.
2020-06-30 11:03:11 +08:00
Mihail Geshoski 8ee9fbca8d MDL-60621 core_course: Disable scrollable in the activity chooser modal 2020-06-30 10:18:19 +08:00
Mihail Geshoski e13cbf9e27 MDL-60621 js: Add ability to set a modal to be scrollable or not
With this change the modal can be configured to be scrollable or not.
If enabled to be 'scrollable', the modal's body will become scrollable
when the modal's height exceeds the browser's height. This is useful
in cases where the content in the modal is quite large and extends the
modal beyond the browser's height, which usually results in a bad UI.
If 'scrollable' is not explicitely configured, it will be set as 'true'
by default as in most cases it would be the expected behaviour.
2020-06-30 10:18:19 +08:00
Luca Bösch 14f047abdb MDL-69158 block_blog_menu: format search form. 2020-06-29 11:07:28 +02:00
Neill Magill b6c7a25d60 MDL-60583 webservice: Add index to improve token lookup performance
Without this index every webservice call will do a full table scan
when it tries to validate a token. On a busy site with many tokens
this adds unnecessary load to the database.
2020-06-29 07:33:12 +01:00
Andrew Nicols d128bf726e MDL-69136 behat: Improve reliability of navigation steps 2020-06-29 11:36:36 +08:00
Andrew Nicols 3450387277 MDL-69136 behat: Support find on a NodeElement 2020-06-29 11:36:30 +08:00
Andrew Nicols aacfff0bc8 MDL-69072 behat: Remove restart_browser_after feature
This is no longer required as the Mink session is restarted after every
test regardless.
2020-06-29 11:05:53 +08:00
Paul Holden 9071b2314f MDL-69151 message_airnotifier: start output before accesskey request.
This allows debugging generated by the request to be shown on the
page.
2020-06-26 17:34:02 +01:00
Paul Holden 54393e223a MDL-69150 message_airnotifier: correct apps portal link. 2020-06-26 17:13:56 +01:00
Andrew Nicols 868a1c377d MDL-69072 mod_scorm: Stop mink reset after tests
This is now done for all scenarios. It is no longer necessary to do so
specifically for mod_scorm.
2020-06-26 21:17:23 +08:00
Andrew Nicols 675e981004 MDL-69072 behat: Relaunch browser session between scenarios 2020-06-26 21:17:22 +08:00
Andrew Nicols eed4650028 MDL-69149 core_grade: Correct xpath attribute selector 2020-06-26 19:59:56 +08:00
Andrew Nicols 94711c151d MDL-69135 core_calendar: PendingJS for event filtering 2020-06-26 07:58:36 +08:00
Luca Bösch 8dfa3027a0 MDL-68584 core_question: flexbox compatible separator for question types
* the br tag does not work well in a flexbox context, a 100% with div
works in both classic and boost.
2020-06-25 22:01:15 +02:00
Helen Foster 38d5e3db1b MDL-69130 lang: Import fixed English strings (en_fix)
Significant string change:

- presentationoraltrequired,atto_image - wording changed to mention
  'decorative only' checkbox
2020-06-25 21:54:13 +02:00
Eloy Lafuente (stronk7) c11e2517a7 weekly release 4.0dev 2020-06-25 18:05:59 +02:00
Eloy Lafuente (stronk7) 5cc173a128 Merge branch 'install_master' of https://git.in.moodle.com/amosbot/moodle-install 2020-06-25 18:05:53 +02:00
Jonathon Fowler c31a32140b MDL-69113 assign: save grader app workflow/marker filters correctly 2020-06-25 14:39:08 +10:00
Bas Brands ee658223ff MDL-69122 report_competency: fix clearfix
- a misplaced clearfix caused part of the recontrols to be
inaccessible
2020-06-24 09:06:21 +02:00
Jake Dallimore 061347a93a Merge branch 'MDL-68992-master_france_digital_age' of https://github.com/martignoni/moodle 2020-06-24 10:11:08 +08:00
Jake Dallimore c7d5af7d6e Merge branch 'MDL-69065-master' of git://github.com/peterRd/moodle 2020-06-24 10:11:08 +08:00
Eloy Lafuente (stronk7) a68004a433 Merge branch 'MDL-66568-master-2' of git://github.com/andrewnicols/moodle 2020-06-23 17:57:17 +02:00
Peter Dias c8388ead0f MDL-69065 course: Provide the id for the sr param
* Pass the section return id to the activity chooser
* Additional behat test to cover the case
2020-06-23 13:19:07 +08:00
Jake Dallimore bd23521ca0 Merge branch 'MDL-69021-master' of git://github.com/bmbrands/moodle 2020-06-23 11:31:08 +08:00
Adrian Greeve c557df533a Merge branch 'MDL-68841-master' of https://github.com/DinhHien0307/moodle 2020-06-23 09:39:44 +08:00
David Mudrák cdcb53a114 MDL-69099 tasks: Do not mark the non-enabled plugin's task as disabled
The `core\plugininfo\base::is_enabled()` uses three-state logic for its
return value. It can return null as a valid value as per its
documentation. We need to test for the explicit false value in this
case.

To make the attached Behat test able to identify the table, the caption
is added. It seems to be helpful for all users so I leave it displayed
without using the accesshide mechanism.
2020-06-22 17:23:10 +01:00
Bas Brands 6346cc3593 MDL-69021 theme_boost: improve link styles in alerts
- provide default styles for links in alerts if the .alert-link
css class is omitted.
2020-06-22 16:15:41 +02:00
Jake Dallimore 680502e4da Merge branch 'MDL-69047-master' of git://github.com/aanabit/moodle 2020-06-22 12:41:06 +08:00
Adrian Greeve 3afe61d620 Merge branch 'MDL-69077' of https://github.com/timhunt/moodle 2020-06-22 10:32:44 +08:00
AMOS bot 9272cc8498 Automatically generated installer lang files 2020-06-21 00:07:21 +00:00
Nicolas Martignoni 57a005e7c6 MDL-68992 Privacy: Update default minimal digital age of consent
Updating default minimal digital age of consent according to current legislation,
that was updated for several countries since 2018.
2020-06-19 18:00:33 +02:00
Sara Arjona a6d724fe41 Merge branch 'MDL-69008-master' of git://github.com/junpataleta/moodle 2020-06-19 16:44:53 +02:00
Andrew Nicols 94376c6910 MDL-69086 theme_boost: Improve pendingJs checks for bootstrap
Where an element, like an `alert`, is closed it is removed from the DOM
before the event fires (this is a correct behaviour).

This means that the final event confirming that the action happened
(i.e. close => closed) fires, but does not bubble up the DOM to the
document.body.

This change moves the end event listener to only be added after a start
event has been fired, and to attach directly to the HTMLElement where it
will be fired. This means that the Event handler will still be called,
even though it has been removed from the DOM, because it does not need
to bubble up to the body.
2020-06-19 08:17:45 +08:00
Amaia Anabitarte 088786d284 MDL-69047 core_contentbank: Hard coding status messages 2020-06-18 18:06:30 +02:00
Sara Arjona 1ab9522055 weekly on-sync release 4.0dev 2020-06-18 14:14:26 +02:00
Sara Arjona c6c6770268 Merge branch 'install_master' of https://git.in.moodle.com/amosbot/moodle-install 2020-06-18 14:14:23 +02:00
Victor Deniz Falcon e055a45160 Merge branch 'MDL-66899-log-quiz-regrade' of https://github.com/rboyatt/moodle 2020-06-18 04:16:53 +01:00
Víctor Déniz Falcón a59f03d4de Merge branch 'MDL-69060-master' of git://github.com/lucaboesch/moodle 2020-06-17 23:38:15 +01:00
Tim Hunt 5fbb14524d MDL-69077 questions: question tag capabilties are relevant 2020-06-17 13:06:57 +01:00
Jun Pataleta dff53373de Merge branch 'MDL-68890-master' of https://github.com/DinhHien0307/moodle 2020-06-17 19:53:29 +08:00
Jun Pataleta 63f06e0d96 MDL-69008 core: Fix accessibility issues in paged content templates
* Added menuitem role for the "Show x per page" menu.
* Added appropriate aria-labels for the links in the paging bar.
2020-06-17 15:05:07 +08:00
Jake Dallimore 32e9128333 Merge branch 'MDL-68215-master' of git://github.com/lucaboesch/moodle 2020-06-17 14:57:42 +08:00
Peter Dias d49d4ee47b MDL-63167 grade: Test functions update 2020-06-17 14:12:26 +08:00
Peter Dias c771b25c0f MDL-63167 grade: Deprecated gradingform_provider 2020-06-17 14:12:21 +08:00
Jun Pataleta 753f2dcfba Merge branch 'MDL-68971' of https://github.com/timhunt/moodle 2020-06-17 11:36:12 +08:00
Jun Pataleta 26f3788857 Merge branch 'MDL-67294-master' of git://github.com/mihailges/moodle 2020-06-17 10:33:55 +08:00
Andrew Nicols c7fb9fe55a MDL-66568 behat: Reset theme CSS between scenarios 2020-06-17 07:46:23 +08:00
Andrew Nicols ab5a81321a MDL-66568 behat: Support building of themes for behat 2020-06-17 07:46:23 +08:00
Charles Fulton 2c93ca61d0 MDL-69074 admin: ensure consistent default for getremoteaddrconf 2020-06-16 16:34:21 -04:00
Víctor Déniz Falcón f82fad44d7 Merge branch 'MDL-69049-master' of git://github.com/junpataleta/moodle 2020-06-16 18:05:42 +01:00
Mihail Geshoski 2e5e143061 MDL-67294 assignsubmission_file: Make sure record exists before updating 2020-06-17 00:50:22 +08:00
Jun Pataleta 3a679810d5 Merge branch 'MDL-68436' of https://github.com/timhunt/moodle 2020-06-16 14:38:44 +08:00
Jun Pataleta 3484f3e4b5 MDL-69049 tool_dataprivacy: Add possibly missing comment format columns
The earlier CONTRIB plugin versions of the tool (<33.2.0, <34.2.0) were
missing the following columns in the data requests table:
* commentsformat
* dpocommentformat
And the upgrade scripts for the merged tool failed in
Moodle 3.3.8+/3.3.0+ failed to add these columns.
So a site which uses the CONTRIB plugin and eventually upgrading to 3.9
will encounter an error during upgrade because of the missing
dpocommentformat column.
2020-06-16 09:25:03 +08:00
Víctor Déniz Falcón a51797cc0e Merge branch 'MDL-69044' of https://github.com/stronk7/moodle 2020-06-15 17:21:49 +01:00
Víctor Déniz Falcón bc0b4ec7f4 Merge branch 'MDL-69043' of https://github.com/stronk7/moodle 2020-06-15 15:55:22 +01:00
Luca Bösch c09a294ff4 MDL-68215 block_activity_result: Format elements more nicely. 2020-06-15 15:24:46 +02:00
Luca Bösch 061893d89b MDL-69060 core_contentbank: fix contenbank typos. 2020-06-15 13:35:43 +02:00
Mathew May 1bedd8df20 MDL-63254 core_event: Remove deprecated message events 2020-06-15 11:59:34 +08:00
hiendinh de6b084925 MDL-68890 progressbar: prevent display exist file's progress bar 2020-06-15 10:55:06 +07:00
Andrew Nicols 868c7558f8 MDL-66568 core_output: Return built theme CSS 2020-06-15 10:34:40 +08:00
Eloy Lafuente (stronk7) b764343e5a MDL-69044 upgrade: add 3.9.0 separation line to all upgrade scripts 2020-06-14 13:08:09 +02:00
Eloy Lafuente (stronk7) dbe3e2dd13 MDL-69043 backup: Bump release to 4.0 2020-06-14 12:53:38 +02:00
AMOS bot edb1a9b4f3 Automatically generated installer lang files 2020-06-14 00:07:18 +00:00
Eloy Lafuente (stronk7) a2b286ce17 weekly back-to-dev release 4.0dev 2020-06-13 20:11:29 +02:00
Eloy Lafuente (stronk7) 7be8da04cd NOBUG: Change travis.yml back to master 2020-06-13 20:04:50 +02:00
Eloy Lafuente (stronk7) 500c131eb4 Moodle release 3.9 2020-06-13 20:04:49 +02:00
Eloy Lafuente (stronk7) ea24bef18a NOBUG: Change travis.yml to MOODLE_39_STABLE 2020-06-13 20:04:49 +02:00
Eloy Lafuente (stronk7) 698e225d61 Merge branch 'MDL-68632' of git://github.com/aolley/moodle 2020-06-12 19:59:55 +02:00
Victor Deniz Falcon 8dbc6ebbe3 Moodle release 3.9rc3 2020-06-12 12:32:06 +01:00
Jun Pataleta 2b263bf837 Merge branch 'MDL-69026-master' of git://github.com/andrewnicols/moodle 2020-06-12 11:58:59 +08:00
Adam Olley 9db6c361fd MDL-68632 quizaccess_seb: Limit privacy queriyes to the quiz module
Without this, joins are performed against the course_modules table purely on
the instance id - other modules can share this ID, resulting in incorrect
contexts being pulled in.
2020-06-12 12:31:01 +09:30
Andrew Nicols 8d5926bead MDL-69026 user: Correct statuses => status in test 2020-06-12 10:03:06 +08:00
Andrew Nicols 8bcf74e9bc MDL-69026 user: Wrap sub-query in brackets
It is perfectly valid to have a query like:

Match None of the following:
- Role is ANY of the following:
-- 'Teacher'
-- 'Editing teacher'
-- 'Manager'; AND
- Keyword is NONE of the following:
-- 'Kevin'

However, due to the way in which the query is constructed, this leads to
a query which includes

    WHERE NOT ef.id IS NOT NULL
    AND NOT
        u.id IN (SELECT userid FROM {role_assignments} WHERE roleid IN (...) AND contextid IN (...))
    AND NOT
        NOT (u.firstname || ' ' || u.lastname LIKE '%Kevin%')

The use of NOT NOT is valid in Postgres, MariaDB, MySQL, and MSSQL, but
not in Oracle.

To counter this when the outer jointype is of type NONE, we must wrap
each of the inner WHERE clauses in a set of brackets, which makes the
query:

    WHERE NOT ef.id IS NOT NULL
    AND NOT
        (u.id IN (SELECT userid FROM {role_assignments} WHERE roleid IN (...) AND contextid IN (...)))
    AND NOT
        (NOT (u.firstname || ' ' || u.lastname LIKE '%Kevin%'))

Whilst Oracle does not support the use of `AND NOT NOT ...`, it does support
`AND NOT (NOT ...)`
2020-06-12 10:03:06 +08:00
Sara Arjona aa6830ef99 Moodle release 3.9rc2 2020-06-11 18:05:14 +02:00
Sara Arjona 4234dc31cb Merge branch 'MDL-69022' of https://github.com/Chocolate-lightning/moodle 2020-06-11 12:50:49 +02:00
Mathew May ddb34e56d3 MDL-69022 tool_moodlenet: Disable integration by default 2020-06-11 17:25:54 +08:00
Jun Pataleta 02b7fac93d Merge branch 'MDL-69017-master' of git://github.com/andrewnicols/moodle 2020-06-11 16:59:04 +08:00
hiendinh 813c385320 MDL-68841 Modal dialogs: Wrong behavior of popup 2020-06-11 15:25:25 +07:00
Sara Arjona 057db49265 Merge branch 'MDL-69004-master' of git://github.com/rezaies/moodle 2020-06-11 10:22:38 +02:00
Jake Dallimore 28bcf61281 Merge branch 'MDL-69020-master' of git://github.com/mihailges/moodle 2020-06-11 16:18:08 +08:00
Mihail Geshoski cca4ba26c9 MDL-69020 tool_moodlenet: Modify defaultmoodlenet_desc string 2020-06-11 16:13:19 +08:00
Andrew Nicols d3bfae8fcc MDL-69017 user: Show all links should work for students 2020-06-11 15:51:41 +08:00
Jun Pataleta f2dc6313f0 Merge branch 'MDL-67070-master' of git://github.com/andrewnicols/moodle 2020-06-11 14:22:48 +08:00
Andrew Nicols 01f6be2cff Merge branch 'MDL-69006-master' of git://github.com/bmbrands/moodle 2020-06-11 12:59:26 +08:00
Jake Dallimore c53b9c9a6f Merge branch 'MDL-68991-master' of git://github.com/rezaies/moodle 2020-06-11 12:27:16 +08:00
Jake Dallimore 8aa901e7c3 Merge branch 'MDL-69010' of https://github.com/Chocolate-lightning/moodle 2020-06-11 12:01:22 +08:00
Jun Pataleta a04f9e8bf4 Merge branch 'MDL-69013-master' of git://github.com/andrewnicols/moodle 2020-06-11 11:28:31 +08:00
Andrew Nicols 4dae4b1429 Merge branch 'MDL-69002-master' of git://github.com/sarjona/moodle 2020-06-11 11:08:14 +08:00
Andrew Nicols fc99ffa1aa MDL-67070 tool_usertours: Fix assumption that tours exist 2020-06-11 11:05:27 +08:00
Jun Pataleta 49a34f1593 Merge branch 'MDL-68912' of https://github.com/rlorenzo/moodle 2020-06-11 11:01:05 +08:00
Adrian Greeve fcae8cd3cf MDL-66601 atto_image: Removing bad js build files. 2020-06-11 10:43:13 +08:00
Mathew May e5daf9c7fc MDL-69010 tool_moodlenet: Migrate default MoodleNet instance setting 2020-06-11 10:32:27 +08:00
Andrew Nicols 6414edf1f9 MDL-69013 core: Add quizaccess_safebrowser to deleted plugins 2020-06-11 09:43:38 +08:00
Adrian Greeve 0f4a9aa531 Merge branch 'MDL-66601-master' of git://github.com/mihailges/moodle 2020-06-11 09:43:07 +08:00
Andrew Nicols f938dfcae8 MDL-67070 tool_usertours: Remove old tour JSON files 2020-06-11 09:32:31 +08:00
Andrew Nicols b9310489ab MDL-67070 tool_usertours: Disable old tours 2020-06-11 09:32:31 +08:00
Shamim Rezaie 06bbbbff27 MDL-69004 core: Encourage admins to enable user feedback
As part of this commit, the default for the user feedback feature
has changed to disable.
2020-06-11 11:24:30 +10:00
Rex Lorenzo 330c871c3f MDL-68912 user: "Send a message" select all not working 2020-06-10 17:53:53 -07:00
Eloy Lafuente (stronk7) 39885e35f4 Merge branch 'MDL-68954-master' of git://github.com/mihailges/moodle 2020-06-10 23:53:35 +02:00
Eloy Lafuente (stronk7) 5364577065 Merge branch 'MDL-68994-master' of git://github.com/andrewnicols/moodle 2020-06-10 23:31:11 +02:00
Victor Deniz Falcon 034ba327d0 Merge branch 'MDL-68980-master' of git://github.com/andrewnicols/moodle 2020-06-10 21:41:56 +01:00
Jun Pataleta 15823a94c1 Merge branch 'MDL-68989-master' of git://github.com/mickhawkins/moodle 2020-06-11 00:03:54 +08:00
Sara Arjona 1826ac971a Merge branch 'MDL-68902-master' of git://github.com/ferranrecio/moodle 2020-06-10 17:57:40 +02:00
Eloy Lafuente (stronk7) 489b82b22a Merge branch 'MDL-69005' of https://github.com/paulholden/moodle 2020-06-10 17:52:53 +02:00
Ferran Recio 56d9b5f8d5 MDL-68902 mod_h5pactivity: fix result report output 2020-06-10 17:50:55 +02:00
Bas Brands b8ee31a0ce MDL-69006 repository_flickr: flickr authentication fails
- Flickr does not like useragents including the word "Bot"
2020-06-10 15:46:13 +02:00
Tim Hunt 157c85c20a MDL-68436 atto_recordrtc: only works once per page 2020-06-10 13:40:15 +01:00
Víctor Déniz Falcón 69184789b5 Merge branch 'MDL-68986-master' of git://github.com/merrill-oakland/moodle 2020-06-10 13:12:58 +01:00
Peter Dias 5c0d795bce MDL-69002 core_badges: performance update to set default sitebackpack 2020-06-10 13:02:44 +02:00
Sara Arjona 92219c8ffd MDL-69002 core_badges: move backpack validation to a separate page
Instead of running the site backpack validation every time badges/backpacks.php
page is loaded, an action button has been added to the backpacks with OB set
to 2.0 to let admins running manually this verification when needed.
2020-06-10 13:02:44 +02:00
Sara Arjona 3e567085a8 MDL-69002 core_badges: add methods to support backpack validation
A more generic method has been added to the API to validate the
backpack connection (for now, there was only one method for
validating current backpack).
Besides, a renderer has been added to display this information
depending on the backpackid.
2020-06-10 12:26:47 +02:00
Sara Arjona 15db4a762a MDL-69002 core_badges: remove site backpack verification from settings
This site backpack verification is not required so, instead of
running it always here, it will be moved to a separate page to let
admins decide when to check it.
2020-06-10 12:06:59 +02:00
Paul Holden 2d70187ade MDL-69005 cache: fix private $store access in loader. 2020-06-10 10:31:47 +01:00
Andrew Nicols 9a7bd66b4e MDL-68980 user: Add additional groupmode participants tests 2020-06-10 16:23:58 +08:00
Jake Dallimore 337e2e2b23 Merge branch 'MDL-68973' of https://github.com/stronk7/moodle 2020-06-10 16:13:57 +08:00
Jake Dallimore 2b983d29a0 Merge branch 'MDL-68977-master' of git://github.com/andrewnicols/moodle 2020-06-10 15:36:44 +08:00
Andrew Nicols eb45751b7b MDL-68994 user: Reset filterverb value when resetting filter 2020-06-10 14:19:02 +08:00
Marina Glancy 09fe2a0ce2 MDL-68980 user: Test for groupmode participants behaviour 2020-06-10 14:15:41 +08:00
Andrew Nicols 20531b30f6 MDL-68980 core_user: Show user participation group when groupmode set 2020-06-10 14:14:50 +08:00
Shamim Rezaie ce80716a8e MDL-68991 core: delete core_get_userfeedback_url webservice 2020-06-10 16:12:03 +10:00
Shamim Rezaie 292a67aede MDL-68991 core: Prevent popup blockers blocking feedback window
Some browsers like Firefox are very inflexible with window.open()
and block it if it is not instantly invoked after the user click.

Also according to https://stackoverflow.com/a/6807615 it is best
practice to replace self:: with static::
2020-06-10 16:10:53 +10:00
Shamim Rezaie 4cdcd23fb2 MDL-68931 core: No feedback link on footer if the feature is disabled 2020-06-10 16:10:53 +10:00
Sara Arjona e5a2b74d8b Merge branch 'MDL-68955' of https://github.com/Chocolate-lightning/moodle 2020-06-10 08:06:05 +02:00
Mihail Geshoski ae6712133d MDL-66601 atto_image: Set the max-height of the image selection dialogue 2020-06-10 12:13:55 +08:00
Jun Pataleta 2157207971 Merge branch 'MDL-68864-master' of git://github.com/junpataleta/moodle 2020-06-10 11:26:13 +08:00
Jun Pataleta 4baa3d1280 MDL-68864 qtype_multichoice: Rebuild clearchoice source map 2020-06-10 11:20:22 +08:00
Bas Brands 5d5153906c MDL-68864 qtype_multichoice: clearchoice button styles
- display the clearchoice link as a button to improve the way
it looks when using keyboard focus
2020-06-10 11:10:46 +08:00
Bas Brands 233eafd8eb MDL-68864 qtype_multichoice: shift focus to first option on keyboard tab
- This prevents losing focus when using keyboard navigation.
2020-06-10 11:10:46 +08:00
Bas Brands b59de78bd1 MDL-68864 qtype_multichoice: clearchoice
- Reverted changes from MDL-67901
2020-06-10 11:10:46 +08:00
Mathew May e0c41c0449 MDL-68955 mod_h5pactivity: Enable dndupload to H5P activity 2020-06-10 10:10:51 +08:00
Adrian Greeve fc9be99323 Merge branch 'MDL-68985-master' of git://github.com/sarjona/moodle 2020-06-10 09:39:45 +08:00
Jake Dallimore 233a526c95 Merge branch 'MDL-68972-master-enfix' of git://github.com/mudrd8mz/moodle 2020-06-10 09:14:46 +08:00
Jake Dallimore 3df783acf2 Merge branch 'MDL-68995' of https://github.com/paulholden/moodle 2020-06-10 08:53:21 +08:00
Jake Dallimore 11b76652a0 Merge branch 'MDL-68999-master-homemoodlenet' of git://github.com/mudrd8mz/moodle 2020-06-10 08:37:46 +08:00
Jake Dallimore be80ef1cd2 Merge branch 'MDL-68998-master' of git://github.com/marinaglancy/moodle 2020-06-10 08:33:38 +08:00
Andrew Nicols a9075379d8 MDL-68977 enrol_manual: Add pending promises to enrol modal 2020-06-10 08:16:03 +08:00
Andrew Nicols 7b3026fabe MDL-68977 core_user: Refresh table after removing all filters
Previously the update function was called for each row as it was
removed. This patch changes the behaviouro to only remove one row at at
ime.
2020-06-10 08:03:16 +08:00
David Mudrák 2223261586 MDL-68999 moodlenet: Make the default instance name translatable
Admins can change the value as they want / need. Still, it will be nice
if the default value (the name of the default MoodleNet instance) is
controlled by the language pack.

Beside that, it will allow us to more easily change the value should we
need it in the future (via the en_fix process).
2020-06-09 22:16:00 +02:00
Helen Foster 1ab405f4a2 MDL-68972 lang: Import fixed English strings (en_fix) 2020-06-09 20:56:34 +02:00
Eloy Lafuente (stronk7) e69ab798dd MDL-68973 versions: Fix other small details
Thanks to Luca Bösch and Matteo Scaramuccia that detected
these 2 minor, but ugly details in core version files:

1) Adding comments pointed to versions (3.x, 20190801...) is not
   recommended, they easily come outdated.
2) Using plugin->release in core is no sense. Core plugins belong
   to the core release.

This commit just gets rid of them. That's all.
2020-06-09 20:27:30 +02:00
Marina Glancy 8eaad10b5f MDL-68998 core_course: do not expect that assign is the first module 2020-06-09 18:59:34 +02:00
Ferran Recio 4b6e92b8e9 MDL-68902 core_h5p: add essay h5p package 2020-06-09 16:58:17 +02:00
Jun Pataleta 1495cf837e Merge branch 'MDL-68931-master' of git://github.com/rezaies/moodle 2020-06-09 22:53:04 +08:00
Eloy Lafuente (stronk7) 97800d7e70 MDL-68973 versions: main version bump 2020-06-09 16:24:58 +02:00
Eloy Lafuente (stronk7) 115cc0214f MDL-68973 versions: bump all versions and requires near release
version = 2020061500 release version
requires= 2020060900 current rc1 (week7roll1) version
2020-06-09 16:23:09 +02:00
Eric Merrill 178a914acd MDL-68986 quiz: Add back default/adv for questionsperpage setting 2020-06-09 09:24:19 -04:00
Víctor Déniz Falcón b28f530a84 Merge branch 'MDL-68984-master' of git://github.com/mickhawkins/moodle 2020-06-09 13:45:40 +01:00
Sara Arjona 982a9a5919 MDL-68985 core_h5p: fix issue with composed code languages
Composed code languages, such as 'Spanish, Mexican' are different
in H5P and Moodle:
- In H5P, they use '-' to separate the language from the country.
For instance: es-mx.
- However, in Moodle, they have '_' instead of '-'. For example: es_mx.
2020-06-09 14:38:27 +02:00
Víctor Déniz Falcón 6ea3c69c37 Merge branch 'MDL-68953-master' of git://github.com/lameze/moodle 2020-06-09 13:18:46 +01:00
Paul Holden 0759da9ecf MDL-68995 atto_image: remove initial dialogue image src attribute.
It caused a spurious request to be sent to the server on display.
2020-06-09 12:48:50 +01:00
Sara Arjona 71a34a039f Moodle release 3.9rc1 2020-06-09 12:42:39 +02:00
Tim Hunt 5f26bdc5e9 MDL-68971 webservice: errors should give enough info to find the problem 2020-06-09 11:09:09 +01:00
Shamim Rezaie e505618f08 MDL-68931 core: No feedback link on footer if the feature is disabled 2020-06-09 19:05:16 +10:00
Russell Boyatt 8a2d8ec472 MDL-66899 quiz: Adding test for regrading quiz event. 2020-06-09 09:50:34 +01:00
Michael Hawkins f2972e1dcb MDL-68989 user: Apply none filterset join correctly on keyword filter
Also improved behat coverage for filterset joins and keyword filtering.
2020-06-09 15:49:31 +08:00
Andrew Nicols cb2f672525 MDL-68977 user: Add pendingPromise to interactions 2020-06-09 14:36:08 +08:00
Andrew Nicols 8503e0ee53 MDL-68977 user: Do not refresh participants table on load 2020-06-09 14:35:39 +08:00
Andrew Nicols dd9dea6148 MDL-68977 user: Normalise participant table filterdata 2020-06-09 14:35:21 +08:00
Mihail Geshoski e8017491d1 MDL-68954 repository_flickr_public: Return only photo media 2020-06-09 12:36:59 +08:00
Michael Hawkins 8ddfc963b9 MDL-68984 user: Ensure first/last name filtering is always applied
This ensures the firstname and surname filtering is applied in addition
to any other filtering, rather than using the filterset join type.
2020-06-09 12:36:11 +08:00
Mihail Geshoski e58db3a8fd MDL-68954 repository_flickr_public: Handle when photo cannot be found 2020-06-09 12:34:25 +08:00
Andrew Nicols c8c1bccf08 Merge branch 'MDL-68946' of https://github.com/Chocolate-lightning/moodle 2020-06-09 11:48:00 +08:00
Jun Pataleta ea9a854bb6 Merge branch 'MDL-68962-master' of git://github.com/sarjona/moodle 2020-06-09 11:30:37 +08:00
Andrew Nicols efc3dfff47 MDL-68977 core_table: Do not update dynamic tables on nullop
When a setting is added/removed (i.e. an empty filter is removed) and
there is no change, then we should treat this is a null-op and not
refresh the table unnecessarily.
2020-06-09 11:21:04 +08:00
Andrew Nicols f2d6a96494 Merge branch 'MDL-68956' of https://github.com/Chocolate-lightning/moodle 2020-06-09 08:51:38 +08:00
Jake Dallimore b0ae939af9 Merge branch 'MDL-68919-master' of git://github.com/bmbrands/moodle 2020-06-09 08:36:06 +08:00
Víctor Déniz Falcón 19ec0b7bd4 Merge branch 'MDL-68963-master' of git://github.com/bmbrands/moodle 2020-06-08 22:03:39 +01:00
Russell Boyatt fad72d7177 MDL-66899 quiz: Log a regrading event when quiz attempt is regraded. 2020-06-08 20:44:23 +01:00
Sara Arjona 0e57729d5b Merge branch 'MDL-68936-master' of git://github.com/aanabit/moodle 2020-06-08 20:31:53 +02:00
Amaia Anabitarte 7be38070d4 MDL-68936 core_contentbank: Behat test for editing capabilities 2020-06-08 16:40:10 +02:00
Amaia Anabitarte 0633e60a91 MDL-68936 core_contentbank: Checking manage permissions to allow editing 2020-06-08 16:40:10 +02:00
Simey Lameze b294e0fe5c MDL-68953 core: remove close button from campaign block 2020-06-08 21:10:32 +08:00
Bas Brands 024a0cc7c2 MDL-68963 qtype_calculatedmulti: show question content inline
- Applies the CSS changes added in MDL-68761 for the multichoice qtype
so questions don't start on a new line
2020-06-08 15:03:37 +02:00
Bas Brands 1ce86e3ada MDL-68963 qtype_multichoice: better styles for safari
- Input type radio needs a width attribute when it is in a flexbox
container
2020-06-08 15:02:59 +02:00
Bas Brands 510ab5e32c MDL-68963 theme_boost: fix safari focus outline for radio and checkbox
- safari does not support the custom styles for radios and
checkboxes added in MDL-67874
2020-06-08 14:30:49 +02:00
Sara Arjona ffd6465029 MDL-68962 contentbank: get sortbyX strings from the correct place 2020-06-08 12:00:22 +02:00
Jun Pataleta 5a862ca1a2 Merge branch 'MDL-68951-master' of git://github.com/andrewnicols/moodle 2020-06-08 17:49:02 +08:00
Mathew May 329d3a8de5 MDL-68946 tool_task: Make clionly string handling more consistent 2020-06-08 17:11:57 +08:00
Bas Brands f9a99e0eaa MDL-68919 theme_boost: prevent nav-tabs collapsing on safari
- Flexbox seems to have an issue on safari which shows when using
the activity chooser on mobile. this might be Flexbug moodle#14 listed
on https://github.com/philipwalton/flexbugs
2020-06-08 10:14:01 +02:00
Jun Pataleta eee5661146 Merge branch 'MDL-68916-master' of git://github.com/mihailges/moodle 2020-06-08 14:25:54 +08:00
Mihail Geshoski 36c3eb0438 MDL-68916 mod_h5pactivity: Fix duplicated user error in attempts report 2020-06-08 14:17:10 +08:00
Jake Dallimore d7ffa840cc Merge branch 'MDL-68952-master' of git://github.com/mihailges/moodle 2020-06-08 14:09:14 +08:00
Mathew May 39bc6c4c2e MDL-68956 mod_h5pactivity: Move templates to L2 namespaces 2020-06-08 12:50:03 +08:00
Adrian Greeve 5244420b1b Merge branch 'MDL-68930-master' of git://github.com/cescobedo/moodle 2020-06-08 11:47:44 +08:00
Jake Dallimore 831e1d86c6 Merge branch 'MDL-68929-master' of git://github.com/mihailges/moodle 2020-06-08 11:11:16 +08:00
Andrew Nicols 99de0bb062 Merge branch 'MDL-68918-master' of git://github.com/ferranrecio/moodle 2020-06-08 10:47:24 +08:00
Ferran Recio 346c51690c MDL-68873 core_h5p: fix editor H5P file update 2020-06-08 10:44:23 +08:00
Andrew Nicols 2450035801 Merge branch 'MDL-68899-master' of git://github.com/mihailges/moodle 2020-06-08 10:29:02 +08:00
Jun Pataleta 1ac08a2de6 Merge branch 'MDL-68950' of https://github.com/paulholden/moodle 2020-06-08 10:24:05 +08:00
Adrian Greeve 8d20e3c688 Merge branch 'MDL-68922-master' of git://github.com/sarjona/moodle 2020-06-08 10:16:53 +08:00
Jake Dallimore 5c361ed9af Merge branch 'MDL-68917-master' of git://github.com/sarjona/moodle 2020-06-08 09:41:27 +08:00
Andrew Nicols efa490c61f MDL-68951 table: Page numbers are 1-indexed, not 0 2020-06-08 09:35:39 +08:00
Andrew Nicols eb087fc5de MDL-68951 user: Add appropriate exceptions for table/participants 2020-06-08 09:35:39 +08:00
Mihail Geshoski c2327a2679 MDL-68952 tool_moodlenet: Modify enablemoodlenet_desc string 2020-06-08 09:31:11 +08:00
Mihail Geshoski 159500d444 MDL-68899 theme_classic: Fix dashboard course cards rendering
Co-authored-by: Bas Brands <bas@moodle.com>
2020-06-08 09:14:21 +08:00
Paul Holden fb6b7e8a42 MDL-68950 core: add Moodlenet tool to standard plugin list. 2020-06-07 22:44:00 +01:00
Mihail Geshoski b7ecc104fe MDL-68929 core_filepicker: Fix radio button alignment 2020-06-07 12:13:37 +08:00
Russell Boyatt 747f5ba09b MDL-58926 quiz: Addition of AJAX based quiz timer. 2020-06-06 17:28:02 +01:00
Eloy Lafuente (stronk7) bbb7dfc62e Moodle release 3.9beta 2020-06-06 18:16:16 +02:00
Eloy Lafuente (stronk7) 113b27eda0 Merge branch 'install_master' of https://git.in.moodle.com/amosbot/moodle-install 2020-06-06 18:16:12 +02:00
AMOS bot a51705c8b1 Automatically generated installer lang files 2020-06-06 00:07:18 +00:00
Sara Arjona 4abb69f588 Merge branch 'MDL-68745-master-fix' of github.com:sarjona/moodle 2020-06-05 22:17:59 +02:00
Sara Arjona 515bc8f4e0 MDL-68745 user: remove empty line 2020-06-05 21:57:24 +02:00
Sara Arjona 6ddab9d6d3 Merge branch 'MDL-68745-master-2' of git://github.com/mickhawkins/moodle 2020-06-05 21:30:07 +02:00
Sara Arjona 5eb78045d4 MDL-68704 h5plib_v124: upgrade JQuery version to 1.12.4 2020-06-05 19:44:38 +01:00
Eloy Lafuente (stronk7) f6128f3919 Merge branch 'MDL-68888-master-enfix' of git://github.com/mudrd8mz/moodle 2020-06-05 19:21:43 +02:00
cescobedo 00ae91688d MDL-68930 mod_h5pactivity: Check submit cap when tracking is enabled 2020-06-05 17:08:47 +02:00
Ferran Recio 2bdd6b120c MDL-68918 mod_h5pactivity: add context to get_h5pactivities_by_courses 2020-06-05 14:27:38 +02:00
Sara Arjona 84e8bc4915 weekly release 3.9dev+ 2020-06-05 13:24:12 +02:00
Sara Arjona d85980fd85 NOBUG: Fixed SVG browser compatibility 2020-06-05 13:24:10 +02:00
Michael Hawkins e1e5766940 MDL-68745 lib: Improved docblock descriptions for alpha PARAM types 2020-06-05 17:50:54 +08:00
Sara Arjona c0ed1a250e Merge branch 'MDL-68933-master' of git://github.com/junpataleta/moodle 2020-06-05 11:35:42 +02:00
Jun Pataleta ee8a4fbb95 MDL-68933 core: Use get_config() to fetch theme version number
Fetching the theme version number via get_component_version() which
requires lib/adminlib.php unnecessarily increases memory consumption.
Using get_config() is more direct and simpler.
2020-06-05 16:19:02 +08:00
David Mudrák 6918ca6a4e MDL-68888 lang: Use the fixed spelling in the Behat tests, too 2020-06-05 09:33:29 +02:00
Adrian Greeve be812a064b Merge branch 'MDL-68826-master' of git://github.com/ferranrecio/moodle 2020-06-05 15:24:26 +08:00
Sara Arjona 4c2cdbe261 MDL-68922 core_h5p: upgrade content with newer libraries
The H5P editor always uses the latest libraries version.
Besides, H5P has a mechanism for upgrading content created
using older libraries. So, in order to be able to edit
existing content created with older libraries, we can assume
the library may change (for instance, from
"Course presentation 1.20" to "Course presentation 1.22")
because the $content->h5plibrary contains both (machinename and
major/minor version).
2020-06-05 09:17:06 +02:00
Helen Foster 98c882132d MDL-68888 lang: Import fixed English strings (en_fix)
Significant string changes: userdata, userdata_help, keptroles,
keptroles_help in core_backup - Clearer wording about how the settings
work.
2020-06-05 08:33:55 +02:00
Ferran Recio dd75c98889 MDL-68826 mod_h5pactivity: fix content bank link 2020-06-05 08:31:00 +02:00
Adrian Greeve ac69c0eb96 Merge branch 'MDL-68826-master' of git://github.com/ferranrecio/moodle 2020-06-05 13:35:03 +08:00
Jun Pataleta 618b13e1f5 Merge branch 'MDL-67883-squash' of https://github.com/Chocolate-lightning/moodle 2020-06-05 11:52:36 +08:00
Adrian Greeve d1b2d3f36f Merge branch 'MDL-67773-master' of https://github.com/radzisze/moodle 2020-06-05 11:47:42 +08:00
Jake Dallimore b1e6d8b86f MDL-67883 tool_moodlenet: Add MoodleNet to core 2020-06-05 11:47:42 +08:00
Mathew May 16d77f1884 MDL-67883 core: Make core ready for MoodleNet. 2020-06-05 11:47:42 +08:00
Jake Dallimore 4925924f0f Merge branch 'MDL-68761-master' of git://github.com/bmbrands/moodle 2020-06-05 10:23:13 +08:00
Víctor Déniz Falcón 88036713a5 MDL-68641 core_h5p: test dropped because the tested method was deleted 2020-06-04 19:27:59 +01:00
Anthony Radziszewski 34cd22860d MDL-67773 course: Make sure tags are enabled before logging the setting. 2020-06-04 11:41:28 -06:00
Ferran Recio 7f6026323d MDL-68826 mod_h5pactivity: content bank message in form 2020-06-04 18:41:05 +02:00
Víctor Déniz Falcón 069ae9134f Merge branch 'MDL-68905-master' of git://github.com/sarjona/moodle 2020-06-04 16:22:10 +01:00
Eloy Lafuente (stronk7) ce8201c876 Merge branch 'MDL-68076-master-4' of git://github.com/rezaies/moodle 2020-06-04 16:31:39 +02:00
Sara Arjona 9df9251c96 MDL-68917 core_h5p: use the correct libraryUrl
The libraryUrl was empty (because ->out was missing)
and pointing to the wrong URL (because 'core' is not required,
because it's added by the method).
2020-06-04 14:28:05 +02:00
Víctor Déniz Falcón 96a4d3f309 Merge branch 'MDL-68641-master' of git://github.com/aanabit/moodle 2020-06-04 12:46:11 +01:00
Amaia Anabitarte 747f6012e4 MDL-68641 contenttype_h5p: Libraries permissions tests 2020-06-04 13:44:23 +02:00
Amaia Anabitarte 2721dd3a63 MDL-68641 contenttype_h5p: Showing permission errors 2020-06-04 13:44:23 +02:00
Amaia Anabitarte 6157f5930f MDL-68641 core_h5p: Fixing capability checks in ajax.php 2020-06-04 13:44:23 +02:00
Shamim Rezaie 20146e3f39 MDL-68076 core: Fix the non cross DB query 2020-06-04 19:55:35 +10:00
Jake Dallimore aa40de942a Merge branch 'MDL-68800-lti-gbs-patch-fixes' of https://github.com/cengage/moodle 2020-06-04 14:55:58 +08:00
Michael Hawkins f32f25b89d MDL-68745 lib: Updated table filters to support non-English characters
Added support for non-English first/last name filtering.
2020-06-04 12:48:03 +08:00
Andrew Nicols 444ae8c8f0 MDL-68612 core_table: Pending checks for dyanmic updates 2020-06-04 10:47:27 +08:00
Andrew Nicols 2edcba39a2 Merge branch 'MDL-68076-master-4' of git://github.com/rezaies/moodle 2020-06-04 10:04:58 +08:00
Shamim Rezaie 363aaf6eaa MDL-68076 core: log user's click on feedback links 2020-06-04 11:57:26 +10:00
Shamim Rezaie a3a9539bd7 MDL-68076 core: display the feedback link on footer 2020-06-04 11:57:24 +10:00
Shamim Rezaie d74a826829 MDL-68076 core: display call to feedback on user dashboard 2020-06-04 11:38:49 +10:00
Shamim Rezaie 6872c96569 MDL-68076 core: webservice to get the feedback url 2020-06-04 11:38:46 +10:00
Adrian Greeve 089c9d925c Merge branch 'MDL-68894-master' of git://github.com/andrewnicols/moodle 2020-06-04 08:43:53 +08:00
Andrew Nicols 2eba6e42a5 Merge branch 'MDL-68825-master' of git://github.com/ferranrecio/moodle 2020-06-04 08:40:18 +08:00
Adrian Greeve 1d7663a341 Merge branch 'MDL-68203-decode-url-quiz-restore-master' of https://github.com/ilya-catalyst/moodle 2020-06-04 08:29:58 +08:00
Sara Arjona cbe0bb91fd MDL-68905 core_badges: remove issuer details from edit page
In MDL-68746 issuer details fields were removed from the badges
form, because they are filled from the site settings.
This is a regression because these fields should be removed also
from the edit page.
2020-06-03 19:38:09 +02:00
Sara Arjona 688ba22d6b Merge branch 'MDL-68871-master' of git://github.com/ferranrecio/moodle 2020-06-03 18:48:01 +02:00
Víctor Déniz Falcón 0e6d73245b Merge branch 'MDL-68904-master' of git://github.com/sarjona/moodle 2020-06-03 16:59:43 +01:00
Sara Arjona fa1a173302 Merge branch 'MDL-68833-master' of git://github.com/andrewnicols/moodle 2020-06-03 17:57:57 +02:00
Sara Arjona 4106d26354 Merge branch 'MDL-68796-master' of git://github.com/bmbrands/moodle 2020-06-03 14:26:53 +02:00
Sara Arjona 7e05ece1b3 Merge branch 'MDL-68772-master' of https://github.com/Clyxz/moodle 2020-06-03 13:17:32 +02:00
Sara Arjona 881dca064d MDL-68904 core_h5p: order libraries by title 2020-06-03 12:01:59 +02:00
Bas Brands 40d1487bf5 MDL-68761 question_multichoice: show question content inline 2020-06-03 11:02:59 +02:00
Andrew Nicols 84eb0a3e14 MDL-68894 user: Wrap bottom enrol buttons like top
The div wrapping the enrolment buttons has been updated in MDL-67743 to
use a flexbox grid. It was also updated to add a data- attribute
relating to the participants table id.

The bottom enrol button line should have been updated in the same way.
2020-06-03 16:53:00 +08:00
Andrew Nicols 0e606192ef MDL-68833 theme_boost: Add missing js tags 2020-06-03 16:33:43 +08:00
Shamim Rezaie 1a4c8e0275 MDL-68076 core: webservice to record feedback actions users take 2020-06-03 17:43:52 +10:00
Shamim Rezaie 3fecf7b547 MDL-68076 core: Introduced \core\notification::cta() 2020-06-03 17:43:52 +10:00
Shamim Rezaie d21ae8c297 MDL-68076 core: Added bullhorn icon to the core icon map 2020-06-03 17:43:52 +10:00
Shamim Rezaie 2cbe9eaf42 MDL-68076 core: new admin settings related to user feedback 2020-06-03 17:43:52 +10:00
Jun Pataleta 7fcdd9d983 Merge branch 'MDL-68612-master-integration' of git://github.com/mickhawkins/moodle 2020-06-03 15:39:36 +08:00
Sara Arjona ba2d0b679a Merge branch 'MDL-68320-master' of git://github.com/lameze/moodle 2020-06-03 09:29:00 +02:00
Simey Lameze ed7cd552f8 MDL-68320 core: add campaign content to notifications page 2020-06-03 14:49:01 +08:00
Andrew Nicols 084c955e49 MDL-68612 user: Set the initial filter on page load 2020-06-03 14:29:22 +08:00
Michael Hawkins 5187e7c515 MDL-68612 core: Behat tests updated to support new participants filter
Existing tests have been updated, rewritten and/or expanded to support
the new participants filter.
2020-06-03 14:29:22 +08:00
Michael Hawkins 67bf30a549 MDL-68612 user: Created behat step to set user course lastaccess data 2020-06-03 14:29:22 +08:00
Jun Pataleta 3a2363c063 Merge branch 'MDL-68840-master' of git://github.com/bmbrands/moodle 2020-06-03 14:09:03 +08:00
Peter Burnett b4623c8975 MDL-68820 web: Added referrer policy header setting 2020-06-03 15:18:19 +10:00
Jake Dallimore b556159541 Merge branch 'MDL-68875' of https://github.com/stronk7/moodle 2020-06-03 12:28:51 +08:00
Jake Dallimore e714288d90 Merge branch 'MDL-68898-master' of git://github.com/bmbrands/moodle 2020-06-03 12:10:38 +08:00
Jake Dallimore aa52fde8f5 Merge branch 'MDL-68163-master' of https://github.com/syxton/moodle 2020-06-03 12:06:06 +08:00
Bas Brands 355af8f84d MDL-68833 theme_boost: prevent having to call init on the loader
This was added in a previous master-only issue and breaks backwards compatability with child themes.

There is no need to have the init function here.
2020-06-03 09:21:48 +08:00
Andrew Nicols 23c60c18ef MDL-68833 theme_boost: Stop overriding popover triggers
The trigger specified in JS overrides any `data-trigger` in the DOM,
which changed the behaviour of Popovers.
2020-06-03 09:21:07 +08:00
Andrew Nicols 721c29ff2d MDL-68833 theme_boost: Add ./pending event checks back 2020-06-03 09:17:37 +08:00
Adrian Greeve 6a7a264e01 Merge branch 'MDL-68891-master' of git://github.com/mihailges/moodle 2020-06-03 09:10:32 +08:00
Adrian Greeve 311d28c71b Merge branch 'MDL-68883-master' of git://github.com/andrewnicols/moodle 2020-06-03 08:38:33 +08:00
Andrew Nicols 9777b0fa19 Merge branch 'MDL-68312-master-2' of git://github.com/rezaies/moodle 2020-06-03 08:00:57 +08:00
Victor Deniz Falcon 7e7b329afc Merge branch 'MDL-68578-master' of git://github.com/aanabit/moodle 2020-06-03 00:35:10 +01:00
Ferran Recio 3af22ad962 MDL-68871 mod_h5pactivity: fix webservice get_results return types 2020-06-02 17:23:56 +02:00
Martin Hanusch 398f0ae110 MDL-68772 mod_quiz: Navigation overlay fix 2020-06-02 16:50:02 +02:00
Bas Brands f31d33c2de MDL-68898 core_contentbank: add link attribute to contentbank items
- this will reveil the fullname of the item which is useful when
the name is truncated
2020-06-02 16:20:48 +02:00
Amaia Anabitarte 45bff7f9d6 MDL-68578 contenttype_h5p: Behat test for H5P editor changes 2020-06-02 16:17:22 +02:00
Amaia Anabitarte 6219740b8e MDL-68578 contenttype_h5p: Add name attribute to editor iframe
The switch_to_class_iframe step needs a name attribute for the iframe.
H5P third party library does not add that name attribute, so we add it.
2020-06-02 16:17:22 +02:00
Amaia Anabitarte 3149defec1 MDL-68578 contenttype_h5p: Save content title from uploaded H5P file 2020-06-02 16:17:22 +02:00
Eloy Lafuente (stronk7) de245163e3 MDL-68875 privacy: Keep moodle_content_writer->get_path() the same
In MDL-62853 a new clean_param(PARAM_PATH) was added to the
moodle_content_writer->get_path() method. And this caused some
Windows tests to start failing.

The problem is that clean_param(PARAM_PATH) does normalise directory
separators to be always forward backslashes and that's normally ok
but the get_path() method has some DIRECTORY_SEPARATOR dependent code
that stopped working under windows.

After analysing various solutions, and trying to keep the behavior
EXACTLY like it was before MDL-62853, but with the cleaning included
we have applied 2 changes:

b) Move the clean_param() to later within the array_map() function,
that way the code there, that uses DIRECTORY_SEPARATOR will continue
working the same.

b) As far as there are more DIRECTORY_SEPARATOR dependent code later
in the function, also perform a str_replace() to convert back to the
OS directory separator.

Those 2 points together (a and b) make the behavior to be 100% the
original one, with separators being kept and the paths being cleaned.

This solution corresponds 100% with the proposed fixes named 3) and
4) in the issue.

Final note... all that DIRECTORY_SEPARATOR maybe needs a review because
it really shouldn't be used unless strictly needed. But that falls out
from this issue which goal was to keep things safely working like they
were before the regression (but with the cleaning applied).
2020-06-02 15:53:40 +02:00
Matt Davidson 887679e510 MDL-68163 gradebook: add grade item duplication 2020-06-02 09:28:29 -04:00
Sara Arjona 111b293f61 weekly release 3.9dev+ 2020-06-02 13:03:08 +02:00
Sara Arjona a7f6a60ae4 Merge branch 'install_master' of https://git.in.moodle.com/amosbot/moodle-install 2020-06-02 13:03:05 +02:00
Ferran Recio 3db7a65e15 MDL-68825 theme_boost: fixing recently accessed items block icons 2020-06-02 12:22:15 +02:00
Ferran Recio 90d8fe1532 MDL-68825 mod_h5pactivity: fixing svg icon size 2020-06-02 12:22:15 +02:00
Bas Brands 94fd778dbf MDL-68840 mod_quiz: random question in question list css fix 2020-06-02 10:54:54 +02:00
Mihail Geshoski 5c9c1534a1 MDL-68891 theme_boost: Fix go to top link position on horizontal scroll 2020-06-02 16:45:46 +08:00
Andrew Nicols 2ba031f0d6 MDL-68793 core_table: Version bump for renamed WS 2020-06-02 11:57:40 +08:00
Andrew Nicols b2caa508b0 Merge branch 'MDL-68793-master' of git://github.com/lameze/moodle 2020-06-02 11:56:31 +08:00
Simey Lameze 1179f07d3c MDL-68793 core_table: fix WS name to comply with guidelines 2020-06-02 11:49:04 +08:00
Andrew Nicols cd61a8ad3b Merge branch 'MDL-68821' of https://github.com/Chocolate-lightning/moodle 2020-06-02 11:14:00 +08:00
Mathew May e74bcf19f3 MDL-68821 course: Add a attr check for the chooser 2020-06-02 11:11:15 +08:00
Adrian Greeve 823a01ad13 Merge branch 'MDL-68828-master' of git://github.com/bmbrands/moodle 2020-06-02 09:36:37 +08:00
Andrew Nicols 4d1ec7c2a7 Merge branch 'MDL-67518' of https://github.com/stronk7/moodle 2020-06-02 09:14:00 +08:00
Adrian Greeve ce67b300a4 Merge branch 'MDL-68723-master' of git://github.com/mihailges/moodle 2020-06-02 08:38:35 +08:00
Andrew Nicols b81bbc126a MDL-68883 filter_displayh5p: Ensure wwwroot is preg_quoted properly
The character used as a preg_* delimter is the tilde (~) char, but this
was not passed into the `preg_quote()` when taking the user input
($CFG->wwwroot).

As a result, any site which uses a userdir fails to parse the regexp.
2020-06-02 08:23:15 +08:00
Eloy Lafuente (stronk7) 054c76691b Merge branch 'MDL-63284-master' of https://github.com/Clyxz/moodle 2020-06-02 00:25:04 +02:00
Eloy Lafuente (stronk7) 703d8e2066 Merge branch 'MDL-68866-master' of https://github.com/mchurchward/moodle 2020-06-02 00:13:56 +02:00
Eloy Lafuente (stronk7) b2cc7d93f3 Merge branch 'MDL-68844-master' of https://github.com/roland04/moodle 2020-06-02 00:08:35 +02:00
Víctor Déniz Falcón 386a1c5595 Merge branch 'MDL-68353-master' of git://github.com/rezaies/moodle 2020-06-01 16:45:27 +01:00
Victor Deniz Falcon 877a925c6e Merge branch 'MDL-68861-master' of git://github.com/vmdef/moodle 2020-06-01 08:11:48 +01:00
cescobedo 7e5a395854 MDL-68861 core_contentbank: Fix translation in add button 2020-06-01 08:05:42 +01:00
Shamim Rezaie f806ee8e42 MDL-68353 theme_classic: Update filepicker xpath selector 2020-06-01 00:14:10 +10:00
AMOS bot b2489825a0 Automatically generated installer lang files 2020-05-30 00:07:14 +00:00
Claude Vervoort c93c711ab0 MDL-68800 mod_lti: create gbs only for restored activity 2020-05-29 17:46:07 -04:00
Martin Hanusch 08fe534986 MDL-63284 question: Moving questions with tags disabled bug fix 2020-05-29 16:42:04 +02:00
Sara Arjona 0641366181 Merge branch 'MDL-68858-master' of git://github.com/vmdef/moodle 2020-05-29 16:30:32 +02:00
Jun Pataleta 96dc92f099 Merge branch 'MDL-68353-master' of git://github.com/rezaies/moodle 2020-05-29 22:26:03 +08:00
Eloy Lafuente (stronk7) e4ca875954 MDL-67518 phpunit: avoid DB sorting randomness in test
While reading from mdl_config, sometimes this test was failing
because an order was being presumed. Now we convert the records
array to an associative one to perform tests against it.
2020-05-29 16:26:01 +02:00
Ferran Recio 709cab79ed MDL-68826 behat: new step I close all opened windows 2020-05-29 13:34:13 +02:00
Víctor Déniz Falcón f30d1fd6c6 MDL-68858 core_contentbank: added scrollable dropdown and missing icons 2020-05-29 11:57:01 +01:00
Sara Arjona 2e324c14bf weekly release 3.9dev+ 2020-05-29 12:52:25 +02:00
Sara Arjona 78cc20d266 Merge branch 'install_master' of https://git.in.moodle.com/amosbot/moodle-install 2020-05-29 12:52:22 +02:00
Shamim Rezaie dce43c7677 MDL-68353 test: Update existing tests to work with file elements 2020-05-29 14:50:35 +10:00
Shamim Rezaie 58994fe8bb MDL-68353 test: Update filemanager/filepicker xpath selector 2020-05-29 14:50:35 +10:00
Shamim Rezaie 9b6efe3aea MDL-68353 test: get_field_locator to support custom field labels 2020-05-29 14:50:35 +10:00
Shamim Rezaie 9c60fd18a7 MDL-68353 form: filepicker label fix 2020-05-29 14:50:32 +10:00
Shamim Rezaie 4ceff26fdf MDL-68353 admin: Not use label tag in admin setting elements when needed 2020-05-29 14:37:05 +10:00
Shamim Rezaie 65b73df1c9 MDL-68353 message: enclose privacy settings within a fieldset 2020-05-29 14:37:05 +10:00
Shamim Rezaie 08be893a36 MDL-68353 core: replace invalid labels with div 2020-05-29 14:37:05 +10:00
Shamim Rezaie f792b0ace4 MDL-68353 form: filemanager label fix 2020-05-29 14:37:01 +10:00
Michael Hawkins c36f37dfb4 MDL-68612 user: Fixed delete participants filter row execution order
This ensures that when deleting the penultimate filter, the filterset
join type is reset before the filters are re-applied.
2020-05-29 12:18:39 +08:00
Michael Hawkins 3d60881d5d MDL-68612 user: Participants filter row accessibility improvements
More clearly defining each filter row and its ability to remove
filter selections for screen readers.
2020-05-29 12:18:39 +08:00
Michael Hawkins 03cb6064ea MDL-68612 user: Unified filter deprecations - renderer and renderable 2020-05-29 12:18:39 +08:00
Michael Hawkins 2396e3156f MDL-68612 user: Unified filter deprecations - related library functions 2020-05-29 12:13:26 +08:00
Jun Pataleta 61dac48752 Merge branch 'MDL-64175-master' of git://github.com/sarjona/moodle 2020-05-29 12:01:50 +08:00
Jun Pataleta 323f5f46c7 Merge branch 'MDL-68855-master' of git://github.com/cescobedo/moodle 2020-05-29 11:48:46 +08:00
Shamim Rezaie 5dad4a95ac MDL-68353 form: Only include the size attribute if there is a size set 2020-05-29 13:17:08 +10:00
Shamim Rezaie c2e48a1d85 MDL-68353 form: Removed the size attribute
The size attribute does not work with the checkbox input type.
2020-05-29 13:17:08 +10:00
Shamim Rezaie e2aefa3ba8 MDL-68353 core: do not output empty labels 2020-05-29 13:17:08 +10:00
Shamim Rezaie 1b4acd4f3f MDL-68353 core: Set aria-label for close buttons on YUI dialogues 2020-05-29 13:17:08 +10:00
Jake Dallimore cfe32a7caf Merge branch 'MDL-68802-master' of https://github.com/HuongNV13/moodle 2020-05-29 10:53:57 +08:00
Michael Hawkins f626308193 MDL-68612 user: Unified filter deprecations - mustache template 2020-05-29 10:10:33 +08:00
Michael Hawkins 9e8aa94b88 MDL-68612 user: Unified filter deprecations - JavaScript 2020-05-29 10:10:33 +08:00
Michael Hawkins 624635fb02 MDL-68612 core: Unified filter deprecations - language string 2020-05-29 10:10:33 +08:00
Michael Hawkins 9e791ff7f5 MDL-68612 lib: Reverting filter/filterset default join types to match UI
These had temporarily been set to ALL for consistency while the unified
filter remained in use. Now that is being replaced with the new UI, it
can be returned to its intended default.
2020-05-29 10:10:33 +08:00
Michael Hawkins d85315ee8c MDL-68612 user: Update participants group filtering to enforce groups
This is required to ensure regardless of user applied filters, only
members of groups visible to the user are ever fetched. This also
includes a fix to remove the groups filter option where no groups
mode is applied.
2020-05-29 10:10:33 +08:00
Michael Hawkins d53dd31f05 MDL-68612 user: Remove unified filter from participants page 2020-05-29 10:10:33 +08:00
Mike Churchward 9e8e75a05a MDL-68866 accesslib: Fixing parameter documentation. 2020-05-28 22:01:22 -04:00
AMOS bot c5bffc445a Automatically generated installer lang files 2020-05-29 00:07:42 +00:00
Sara Arjona 936bc084fd Merge branch 'MDL-68854-master' of git://github.com/vmdef/moodle 2020-05-28 18:11:35 +02:00
Sara Arjona 471cc93a45 Merge branch 'MDL-68583-master-fix' of github.com:sarjona/moodle 2020-05-28 17:58:51 +02:00
Sara Arjona 582481c3e9 MDL-68583 core_course: add missing spaces 2020-05-28 17:57:26 +02:00
Sara Arjona f27e579cdd Merge branch 'MDL-68583-master' of https://github.com/kabalin/moodle 2020-05-28 17:42:52 +02:00
Víctor Déniz Falcón 37f2c91a8c Merge branch 'MDL-68209-master-2' of git://github.com/bmbrands/moodle 2020-05-28 16:37:21 +01:00
Sara Arjona 2b860436c9 MDL-64175 atto_media: update advanced settings
Some OS, such as Ubuntu, are slightly changing the audio attributes,
from <audio attribute1="true"> to <audio attribute1>.
This patch is for reviewing this piece of code and covering both cases.
2020-05-28 17:28:37 +02:00
cescobedo ec853bef8d MDL-68855 mod_h5pactivity: Add itemid to the package URL 2020-05-28 15:54:30 +02:00
Ruslan Kabalin 4993775900 MDL-68583 core_course: Fix category delete action menu.
Deletion form offers user a deletion with contents move option, it is
available when full deletion is not permitted. Action menu should take
this into account too and allow user to reach the form.
2020-05-28 14:30:04 +01:00
Víctor Déniz Falcón d4af0f4a74 MDL-68854 repository_contentbank: add size to content nodes 2020-05-28 13:30:38 +01:00
Víctor Déniz Falcón db1fb23ce2 Merge branch 'MDL-67813-master-1' of git://github.com/mihailges/moodle 2020-05-28 13:00:16 +01:00
Huong Nguyen 81d7fd7a80 MDL-68802 qtype_ddimageortext: issue related to keyboard navigation 2020-05-28 18:03:11 +07:00
Eloy Lafuente (stronk7) 6f56e743ed Merge branch 'MDL-68753-master-enfix' of git://github.com/mudrd8mz/moodle 2020-05-28 13:01:39 +02:00
Víctor Déniz Falcón a987c54539 Merge branch 'MDL-68746-master-fix' of git://github.com/sarjona/moodle 2020-05-28 11:46:39 +01:00
Sara Arjona 87fd36a696 Merge branch 'MDL-68244' of https://github.com/Chocolate-lightning/moodle 2020-05-28 12:42:39 +02:00
Sara Arjona e757f9c598 Merge branch 'MDL-68565' of https://github.com/paulholden/moodle 2020-05-28 12:00:21 +02:00
Paul Holden 3bd9e1e8d2 MDL-68565 tool_usertours: account for optional config in WS response. 2020-05-28 10:51:50 +01:00
Sara Arjona dcbc830cfa MDL-68746 core_badges: fix behat error with issuername 2020-05-28 11:20:46 +02:00
Shamim Rezaie 97cf42e0ef MDL-68312 grade: Fix empty links
If a link contains no text, the function or purpose of the link will not
be presented to the user. This can introduce confusion for keyboard and
screen reader users.
2020-05-28 19:18:38 +10:00
Shamim Rezaie 21d1a03b51 MDL-68312 output: Fix empty links
If a link contains no text, the function or purpose of the link will not
be presented to the user. This can introduce confusion for keyboard and
screen reader users.
2020-05-28 19:18:38 +10:00
Shamim Rezaie dfb326a8c6 MDL-68312 gradereport_grader: Remove adjacent links to the same URL 2020-05-28 19:18:38 +10:00
Shamim Rezaie cc0c1e2817 MDL-68312 gradereport_grader: replace invalid label by aria-describedby
The for attribute of the label element should not refer to a non-hidden
form control.
2020-05-28 19:18:38 +10:00
Shamim Rezaie 96896e0dd7 MDL-68312 gradereport_grader: Use caption instead of summary in table
The summary attribute on the table element is obsolete.
2020-05-28 19:18:38 +10:00
Eloy Lafuente (stronk7) f2e6b797b9 Merge branch 'MDL-68789-master' of git://github.com/crazyserver/moodle 2020-05-28 10:46:25 +02:00
Adrian Greeve 521b524368 Merge branch 'MDL-66911-master-fix' of git://github.com/junpataleta/moodle 2020-05-28 16:23:13 +08:00
Jun Pataleta a996318c9d MDL-66911 files: Update $CFG->licenses when adding/deleting licenses
* When creating custom licenses, the list of active licenses
  ($CFG->licenses) also needs to be updated. Same when a custom license
  is being deleted.
2020-05-28 16:15:15 +08:00
Jun Pataleta 1389465c29 MDL-66911 files: Use proper function for fetching enabled licenses 2020-05-28 15:23:38 +08:00
Jun Pataleta 4eaa7269a6 MDL-66911 files: Format full name of custom licenses 2020-05-28 15:20:14 +08:00
Pau Ferrer Ocaña aafe220a7b MDL-68789 behat: Rename the app from Moodle Mobile to Moodle app 2020-05-28 08:38:08 +02:00
Jake Dallimore 30604f81a8 Merge branch 'MDL-67903-master' of git://github.com/bmbrands/moodle 2020-05-28 13:58:50 +08:00
Jun Pataleta 0a1b55ce36 Merge branch 'MDL-67810-master' of git://github.com/vmdef/moodle 2020-05-28 12:19:25 +08:00
Mihail Geshoski 5cf21a3c27 MDL-67813 repository_contentbank: Add behat tests 2020-05-28 12:06:32 +08:00
Victor Deniz Falcon 7a82ee7ed6 MDL-67813 core: Add a manual 'enter' key press behat action step 2020-05-28 12:06:32 +08:00
Mihail Geshoski 8bb55dd5f9 MDL-67813 core: Add for attribute to search input label in filepicker
Adds the missing for attribute in the label that identifies the
search input in the filepicker. This is an accessibility improvement.
2020-05-28 12:06:32 +08:00
Mihail Geshoski f3fc0266ca MDL-67813 core_filepicker: Handle ElementNotFoundException in behat step
Catches and handles ElementNotFoundException if thrown in the
i_should_see_elements_in_filepicker_repository() behat step in order to
enable the assertion that no elements exist in the repository content
area
2020-05-28 12:06:31 +08:00
Mihail Geshoski 1bb6231b32 MDL-67813 core_contentbank: Add content name parameter in the generator 2020-05-28 12:06:31 +08:00
Mihail Geshoski 4f442eeaba MDL-67813 repository_contentbank: Add unit tests 2020-05-28 12:06:31 +08:00
Mihail Geshoski 966442c44e MDL-67813 repository_contentbank: Add search functionality 2020-05-28 12:05:39 +08:00
Jake Dallimore b08e4b5cd6 Merge branch 'MDL-68746-master' of git://github.com/sarjona/moodle 2020-05-28 11:56:23 +08:00
Adrian Greeve 9e1ace3fb5 Merge branch 'MDL-68822-master' of git://github.com/ferranrecio/moodle 2020-05-28 11:49:37 +08:00
deraadt 5143106813 MDL-68425 user: Add capability check for messaging 2020-05-28 11:23:42 +08:00
Bas Brands 457e61cd7b MDL-67874 core_filepicker: fix focus styles for filepicker folders 2020-05-28 10:34:02 +08:00
Adrian Greeve 4231b83668 Merge branch 'MDL-66911-38_core_file_add_license_help_to_fileselect' of https://github.com/tomdickman/moodle 2020-05-28 09:09:27 +08:00
Andrew Nicols 2ffc3bd5a2 Merge branch 'MDL-68846' of https://github.com/stronk7/moodle 2020-05-28 07:35:10 +08:00
Michael Hawkins a4bd55725b MDL-68829 user: Update participants SQL for Oracle/MSSQL compatibility
This refactors the SQL to join on a distinct list of users, removing
the need for GROUP BY statements, and fixing the related errors in
Oracle/MSSQL
2020-05-28 00:28:34 +02:00
Eloy Lafuente (stronk7) a0e38e4371 MDL-68846 behat: Avoid asserting AM/PM strings. They are not cross-os
The exists/contains steps of behat are case-sensitive, in the other
side, depending of the OS and locales, time functions are not 100%
consistent. See https://bugs.php.net/bug.php?id=76378 for example.

So only solutions are:

1) Create a specific new step performing the checks case insensitively.
2) Avoid making AM / PM part of the checks.

Here we have opted by the 2nd approach, it's not critical part to check.
2020-05-27 17:55:32 +02:00
Bas Brands c393d8185a MDL-68796 core_contentbank: Store view preferences
includes privacy export, privacy unit test
2020-05-27 17:27:23 +02:00
Bas Brands 5fe7bcdb30 MDL-68209 core_course: improve activity chooser styling 2020-05-27 16:49:23 +02:00
Thomas.Ludwig 9bdd83c9fd MDL-67903 core_grades: remove outdated CSS for grade import form 2020-05-27 15:58:53 +02:00
Sara Arjona 8e1b43f0d5 Merge branch 'MDL-68343-master' of git://github.com/rezaies/moodle 2020-05-27 15:09:39 +02:00
Mikel Martín 22a80863d5 MDL-68844 formslib: Fix inline layout for static elements 2020-05-27 13:18:35 +02:00
Sara Arjona 20bbb473cf Merge branch 'MDL-68667-master' of git://github.com/aanabit/moodle 2020-05-27 12:26:46 +02:00
Víctor Déniz Falcón c49d8663ad MDL-67810 core_contentbank: contenttype_h5p editor integrated 2020-05-27 10:27:55 +01:00
Victor Deniz Falcon 613281cd25 MDL-67810 core_contentbank: placed the edit action in the view page 2020-05-27 10:27:13 +01:00
Victor Deniz Falcon a99dab944f MDL-67810 core_contentbank: contentype_h5p modified to support add menu 2020-05-27 10:27:13 +01:00
Víctor Déniz Falcón 75f58cbfa2 MDL-67810 core_contentbank: added dropdown menu to create content 2020-05-27 10:27:13 +01:00
Jun Pataleta 7fb2f4d1a5 Merge branch 'MDL-67828-master' of git://github.com/rezaies/moodle 2020-05-27 16:48:03 +08:00
David Mudrák 2615e429f4 MDL-68753 lang: Remove a redundant okay string and use "OK" everywhere
The "Ok" (with lower-case "k") string was added in MDL-68409 to keep
backwards compatibility with YUI alerts that had it hard-coded. But we
should not need to explain to translators why we have two OK strings
like this and why they use different wording.

Additionally, there would be inconsistency in Behat tests and everywhere
depending on which "OK" or "Ok" string is used for buttons.

So instead, this patch changes the hard-coded 'Ok' string in the YUI and
we should stick to "OK" from now on everywhere.
2020-05-27 09:59:44 +02:00
David Mudrák c47b174d44 MDL-68753 lang: Use the updated strings in the tests 2020-05-27 09:59:35 +02:00
Sara Arjona 3d0541c03a Merge branch 'MDL-68758-master' of git://github.com/peterRd/moodle 2020-05-27 09:46:47 +02:00
Jun Pataleta d5eec2a2fd Merge branch 'MDL-67743-master-final' of git://github.com/andrewnicols/moodle 2020-05-27 14:51:25 +08:00
Jake Dallimore 5a0d8a7eaf Merge branch 'MDL-52138-master-take4' of git://github.com/lucaboesch/moodle 2020-05-27 14:24:51 +08:00
Peter Dias 31788c8cf2 MDL-68758 core_repository: Allow ability to download files on all views. 2020-05-27 14:20:15 +08:00
Jake Dallimore 0fbc2c11f5 Merge branch 'MDL-67874-master' of git://github.com/bmbrands/moodle 2020-05-27 13:54:51 +08:00
Andrew Nicols 04ce665a98 Merge branch 'MDL-68765-master' of https://github.com/ised-isde-canada/moodle 2020-05-27 12:49:39 +08:00
Andrew Nicols 28bff4cff4 Merge branch 'master_MDL-68054' of https://github.com/danmarsden/moodle 2020-05-27 12:12:27 +08:00
Andrew Nicols 6cb3444f22 MDL-67743 user: Remove incorrect ARIA role on autocomplete
The autocomplete is not a listbox so cannot be multiselectable.
2020-05-27 11:52:01 +08:00
Andrew Nicols c4bd1858db MDL-67743 table: Sort direction is an integer 2020-05-27 11:16:24 +08:00
Jun Pataleta 039fc86902 Merge branch 'MDL-68750-master' of git://github.com/andrewnicols/moodle 2020-05-27 11:03:54 +08:00
Adrian Greeve 6f17ec9181 Merge branch 'MDL-68788' of https://github.com/Chocolate-lightning/moodle 2020-05-27 10:55:20 +08:00
Michael Hawkins f637640f01 MDL-68678 user: Made filterset match text clearer
Part of MDL-67743
2020-05-27 10:49:44 +08:00
Bas Brands 6881ca38d7 MDL-68259 user: add styling to participant filters
Part of MDL-67743
2020-05-27 10:49:44 +08:00
Andrew Nicols 110f3ebf54 MDL-68169 user: Limit the number of filter conditions
Part of MDL-67743
2020-05-27 10:49:44 +08:00
Andrew Nicols 028ec17c94 MDL-68169 user: Add keyword filter
Part of MDL-67743
2020-05-27 10:49:44 +08:00
Andrew Nicols fbcc657713 MDL-68169 user: Add accesssince filter
Part of MDL-67743
2020-05-27 10:49:43 +08:00
Andrew Nicols fa3d57fe7e MDL-68169 user: Add enrolment instance filter
Part of MDL-67743
2020-05-27 10:49:43 +08:00
Andrew Nicols de83d4357f MDL-68169 user: Add groups filter
Part of MDL-67743
2020-05-27 10:49:43 +08:00
Andrew Nicols ffc933ad46 MDL-68169 user: Add roles filter
Part of MDL-67743
2020-05-27 10:49:43 +08:00
Andrew Nicols f14df62d1a MDL-67917 user: Use custom templates for participant value selection
Part of MDL-67743
2020-05-27 10:49:43 +08:00
Andrew Nicols 1be0f90c6f MDL-67917 core: Add custom template support to autocomplete
Part of MDL-67743
2020-05-27 10:49:43 +08:00
Andrew Nicols 77ba77f10a MDL-67917 user: Add skeleton for new participants filter
Part of MDL-67743

AMOS BEGIN
  CPY [select,core],[selectfiltertype,core_user]
AMOS END
2020-05-27 10:49:43 +08:00
Andrew Nicols f456195599 MDL-67917 core: Return newly added nodes from template helpers
Part of MDL-67743
2020-05-27 10:49:43 +08:00
Andrew Nicols ddf6e48156 MDL-68750 tool_dataprivacy: Correct behat test modal checks 2020-05-27 10:40:30 +08:00
Mihail Geshoski 5e62e4b25f MDL-68723 filepicker: Display parent content in filemanger tree view 2020-05-27 08:51:17 +08:00
Ilya Tregubov d83bf6e0ff MDL-68203 restore: Decode quiz links when restore into existing course
or duplicating.
2020-05-27 10:38:40 +10:00
Tom Dickman 2228ca31a2 MDL-66911 core files: Add license help to file selector
This improvement adds a help icon to the 'Choose license' option
providing links to further information on each license.
Utilise templates for license links to avoid code reuse.
2020-05-27 08:36:48 +10:00
Eloy Lafuente (stronk7) 08c6eca7e9 Merge branch 'MDL-68789-master' of git://github.com/crazyserver/moodle 2020-05-26 23:43:05 +02:00
Luca Bösch 543f36a5aa MDL-52138 core_grades: gradebook striped styling 2020-05-26 23:33:03 +02:00
Eloy Lafuente (stronk7) 68fd8d8bdf on-demand release 3.9dev+ 2020-05-26 22:52:49 +02:00
Claude Vervoort 4801550180 MDL-68800 mod_lti: fix domain matching launches for 1.3 2020-05-26 16:35:16 -04:00
Sara Arjona 54b97575d1 Merge branch 'MDL-68388' of https://github.com/stronk7/moodle 2020-05-26 20:03:22 +02:00
Helen Foster 026a12ec51 MDL-68753 lang: Import fixed English strings (en_fix) 2020-05-26 19:18:23 +02:00
Eloy Lafuente (stronk7) 60fe1f8c9d MDL-68388 core_grades: Tweak unit test assertion to make Oracle happy
Also modify some comments and get rid of some void return types.
2020-05-26 19:00:24 +02:00
Shamim Rezaie 3b3269ee1d MDL-67828 calendar: Fix the js error in IE11 2020-05-27 02:36:55 +10:00
Ferran Recio 5567c5e833 MDL-68822 mod_h5pactivity: add description to view.php 2020-05-26 17:29:40 +02:00
Claude Vervoort 6f85c23d7f MDL-68800 mod_lti: apply format fixes per guidelines 2020-05-26 10:49:50 -04:00
Sara Arjona 309b4d0111 Merge branch 'MDL-67386-master-hotfix' of github.com:bmbrands/moodle 2020-05-26 16:23:20 +02:00
Bas Brands 203eed43e2 MDL-67386 theme_classic: initialize the bootstrap loader. 2020-05-26 14:20:33 +02:00
Bas Brands f7a3f554b7 MDL-68828 theme_classic: fix for mobile
- setting a max width so the page does not overflow its container on
mobile
- fixing dashboard cards to be 100% wide on mobile
2020-05-26 14:08:05 +02:00
Bas Brands 91de0ed823 MDL-67874 theme_boost: make focus outline accessible 2020-05-26 09:54:12 +02:00
Andrew Nicols a2bc97a386 MDL-68750 analytics: Correct behat test modal checks 2020-05-26 12:55:29 +08:00
Andrew Nicols 89db84b5b1 MDL-68750 core_tag: Add missing confirmation dialogue title 2020-05-26 12:55:29 +08:00
Andrew Nicols 8985c478ce MDL-68750 behat: Correct dialogue selector 2020-05-26 12:55:29 +08:00
Jun Pataleta 8aa0f2c4d8 Merge branch 'MDL-45184-master' of git://github.com/junpataleta/moodle 2020-05-26 12:39:24 +08:00
Jun Pataleta 86c0f3cfd0 MDL-45184 tool_licensemanager: Behat fixes
* Fix license manager test
* Remove unnecessary @javascript tags
* Remove unnecessary "I log out" steps
* Fix structure so each scenario will have a single Given-When-Then
2020-05-26 12:29:09 +08:00
Jun Pataleta cd4ec9b33b MDL-45184 tool_licensemanager: Move $deletelicense for proper scope 2020-05-26 12:11:07 +08:00
Andrew Nicols fa197fbf09 Merge branch 'MDL-68099-master' of git://github.com/marinaglancy/moodle 2020-05-26 11:29:48 +08:00
Adrian Greeve b2978c1787 Merge branch 'MDL-68757' of https://github.com/timhunt/moodle 2020-05-26 10:33:03 +08:00
Andrew Nicols 17238ab079 MDL-68388 grade: Tidy comments and whitespace 2020-05-26 10:15:52 +08:00
Andrew Nicols a7aaf91855 Merge branch 'MDL-68388' of https://github.com/marcusboon/moodle 2020-05-26 10:11:08 +08:00
Tom Dickman 4399e4759a MDL-45184 tool_licenses: Add custom licenses
This feature adds an admin tool for creating custom licenses.
Now custom licenses can be added and amended in Moodle, and the site
default can be set to a custom license.

Core licenses remain hard-coded and are uneditable, so they will always
require update within Moodle core updates, and maintain their
internationalisation through core language strings.

This also includes fundamental changes to the license API including
the addition of license caching and deprecation of no longer required
admin settings for license management.
2020-05-26 12:08:05 +10:00
Andrew Nicols ecf526566a Merge branch 'MDL-64427' of https://github.com/NeillM/moodle 2020-05-26 10:04:51 +08:00
Andrew Nicols 7d02452504 Merge branch 'MDL-67547' of https://github.com/paulholden/moodle 2020-05-26 08:06:39 +08:00
Andrew Nicols 1a3a864a4a Merge branch 'MDL-68270-master' of git://github.com/bmbrands/moodle 2020-05-26 08:02:50 +08:00
Victor Deniz Falcon a735d4d1d4 Merge branch 'MDL-68252' of https://github.com/timhunt/moodle 2020-05-26 00:55:02 +01:00
Paul Holden f8f5a2f6da MDL-67547 mod_forum: convert pluginfile URLs prior to export. 2020-05-26 00:54:51 +01:00
Paul Holden 233a51ad21 MDL-67547 dataformat_pdf: method to convert images to supported format.
For Dataformats that support exporting HTML content, provide an API for
converting images within that content to something suitable for the format.

This fixes an issue with the PDF writer when it encountered a pluginfile.php
image, which it tried to request via HTTP without an active session. This
resulted in a 303 header returned by Moodle instead of the actual image,
causing an exception in the underlying TCPDF library.
2020-05-26 00:54:27 +01:00
Adrian Greeve ef17275726 Merge branch 'MDL-68348-master-6' of git://github.com/mickhawkins/moodle 2020-05-26 07:48:53 +08:00
Marcus Boon f1f5ba36ad MDL-68388 core_grades: Use MUC for grade letters
In the get_grade_letters there is a static variable that is used
to cache grade letters, we should use MUC for this so that it is
reset properly between unit tests.
2020-05-26 09:06:50 +10:00
Amaia Anabitarte f9c094e214 MDL-68667 repository_contentbank: Filename and content name use test 2020-05-25 18:44:53 +02:00
Amaia Anabitarte 67e3378c56 MDL-68667 filepicker: Use shortitle parameter 2020-05-25 18:44:53 +02:00
Amaia Anabitarte f9d2635f7f MDL-68667 core_contentbank: Fix content generator to use filename 2020-05-25 18:44:53 +02:00
Sara Arjona a706f7161f Merge branch 'MDL-67386-master-fix' of github.com:sarjona/moodle 2020-05-25 17:58:39 +02:00
Sara Arjona 36e2a9af84 MDL-67386 theme_boost: update latest CSS changes 2020-05-25 17:57:34 +02:00
Sara Arjona 028d43b37d Merge branch 'MDL-67386-master' of git://github.com/bmbrands/moodle 2020-05-25 17:46:41 +02:00
Sara Arjona 16b55f1cad Merge branch 'MDL-68177-master_course_renderer_split_methods' of https://github.com/roland04/moodle 2020-05-25 17:11:03 +02:00
Mikel Martín ebd08abce8 MDL-68177 course: split course_info_box into different methods 2020-05-25 16:14:37 +02:00
Bas Brands f0947b944c MDL-68270 core_output: prevent blurring of navbar logo 2020-05-25 15:48:52 +02:00
Bas Brands 6a4ce7b0a3 MDL-67386 theme_boost: upgrade bootstrap to version 4.5.0 2020-05-25 15:48:17 +02:00
Sara Arjona 1b88f7567a Merge branch 'MDL-68819-master' of git://github.com/lucaboesch/moodle 2020-05-25 15:47:44 +02:00
Pau Ferrer Ocaña a87aa36ad9 MDL-68789 behat: Change app page menu text selector 2020-05-25 14:53:18 +02:00
Andrew Nicols b5b9166831 Merge branch 'MDL-68103-master' of git://github.com/bmbrands/moodle 2020-05-25 19:55:11 +08:00
Bas Brands 9d2d2c2beb MDL-68103 theme_classic: show content full width when printing 2020-05-25 13:48:42 +02:00
Andrew Nicols 35f5bf4abc Merge branch 'MDL-68549' of https://github.com/HuongNV13/moodle 2020-05-25 19:10:21 +08:00
Michael Hawkins d26b3ad524 MDL-68348 user: Added filterset joins unit testing 2020-05-25 18:35:08 +08:00
Michael Hawkins 4fa636330f MDL-68348 user: Added other logical operators to filter unit tests 2020-05-25 18:35:08 +08:00
Michael Hawkins 6a54e58a8c MDL-68348 user: User filter match types support - enrol method & status
Completed support for all join types (any/all/none) for enrolment
method and status filtering. This includes handling forced status
filtering where a user does not have the capability to view suspended
users, as well as handling front page (whole site) participants page.
2020-05-25 18:35:08 +08:00
Michael Hawkins 03397c817b MDL-68348 lib: User filter match types support - groups
Updated groups_get_members_join to support different filter match types
2020-05-25 18:35:08 +08:00
Michael Hawkins 25d9dabdcf MDL-68348 user: User filter match types support - keywords/last access
The last access implementation also fixes an existing bug,
where it was assumed never accessed would be 0, when it also needed to
handle null to return correct results. Related userlib unit tests also
updated to reflect this, as well as some incorrect comment wording.
2020-05-25 18:35:08 +08:00
Michael Hawkins 4157e2d4f3 MDL-68348 lib: Added create_user_course_lastaccess generator
This creates a last access record for a user within a course.
It is requires for testing accesssince participants filtering.
2020-05-25 18:10:53 +08:00
Michael Hawkins 25d5be444f MDL-68348 user: User filter match types support - filterset and roles 2020-05-25 18:10:53 +08:00
Michael Hawkins 3f069a2c48 MDL-68348 lib: Default filters to match ALL for backwards compatibility
Temporarily defaulting filtersets and their filters to join type ALL
for backwards compatibility, so the existing participants unified
filter continues to function consistently. This will be reverted once
the new participants filter UI replaces the existing unified filter.
2020-05-25 18:10:53 +08:00
Sara Arjona 71dbe42c64 Merge branch 'MDL-68248-master' of https://github.com/DinhHien0307/moodle 2020-05-25 11:59:24 +02:00
Nick Phillips 7a2baafc96 MDL-68103 theme_classic: hidden-print => d-print-none for BS4. 2020-05-25 11:40:14 +02:00
Sara Arjona 9073ed9355 Merge branch 'MDL-68448-master-fix' of github.com:sarjona/moodle 2020-05-25 11:37:41 +02:00
Sara Arjona 0a7c9b9d63 MDL-68448 h5pactivity: remove illegal whitespaces 2020-05-25 11:35:15 +02:00
Sara Arjona 51b3feb2e9 Merge branch 'MDL-68448-master' of git://github.com/cescobedo/moodle 2020-05-25 10:56:18 +02:00
Mathew May a2fc851738 MDL-68244 auth_email: Update unit test, remove hard assertion 2020-05-25 16:37:49 +08:00
Adrian Greeve e1f4258906 Merge branch 'MDL-68629_master' of https://github.com/t-schroeder/moodle 2020-05-25 16:14:54 +08:00
Jake Dallimore 33294da864 Merge branch 'MDL-62853' of https://github.com/paulholden/moodle 2020-05-25 16:11:55 +08:00
Andrew Nicols d3503c76b4 Merge branch 'MDL-68658' of https://github.com/stronk7/moodle 2020-05-25 15:23:37 +08:00
cescobedo 9fa0e253ae MDL-68448 mod_h5pactivity: Add new ws get_h5pactivities_by_courses
This WS is required by the Moodle app in order to fetch
the activity information for displaying it to app users.
2020-05-25 09:12:20 +02:00
cescobedo 14b463c92a MDL-68448 core_h5p: Add get export information to helper
Create a new method in the helper to use in the player,
in the external WS and in the API. Also, add a
new method in API to help to get export information
by other WS.
2020-05-25 09:12:06 +02:00
Adrian Greeve d602189874 Merge branch 'MDL-63812' of https://github.com/timhunt/moodle 2020-05-25 14:40:14 +08:00
Jake Dallimore 4404ced7f7 Merge branch 'MDL-68567-master' of git://github.com/sarjona/moodle 2020-05-25 11:36:48 +08:00
Luca Bösch 937c7e5f0c MDL-68819 core_contentbank: "Upload" button is not localized. 2020-05-24 21:52:43 +02:00
Sara Arjona 968016a38d Merge branch 'MDL-68592-master' of https://github.com/kabalin/moodle 2020-05-22 17:55:23 +02:00
Sara Arjona 4955d9279f Merge branch 'MDL-68619-master' of git://github.com/ferranrecio/moodle 2020-05-22 17:49:32 +02:00
Eloy Lafuente (stronk7) 200570558d MDL-68658 phpunit: Ensure that the configured proxy is applied always
Previously, if the RSS feed (extests) was being served locally,
CFG->proxybypass was applied and causing the test to fail (proxy
ignored).

In that exact test we need the configured proxy to be applied
always, because the test is exaclty about detecting the problem
when a wrong proxy is used.
2020-05-22 17:07:05 +02:00
Pau Ferrer Ocaña 9afc6b78c3 MDL-68789 behat: Adapt login step to new app version 2020-05-22 16:17:29 +02:00
Victor Deniz Falcon 71965a8572 weekly release 3.9dev+ 2020-05-22 14:21:37 +01:00
Victor Deniz Falcon bbd1b742ef Merge branch 'install_master' of https://git.in.moodle.com/amosbot/moodle-install 2020-05-22 14:21:32 +01:00
Jake Dallimore 0facda5eaa Merge branch 'MDL-68367-master-fix' of git://github.com/junpataleta/moodle 2020-05-22 15:10:04 +08:00
Sara Arjona a80541ea90 MDL-68567 badges: add/remove site backpacks 2020-05-22 09:01:59 +02:00
Jun Pataleta 20a660f864 MDL-68367 qtype_multichoice: Decrease minimum expected export file size
* Exporting via Oracle trims trailing zeroes in floating numbers which
results to a smaller file size for the exported file. Better to reduce
the minimum expected export file size from 4000 bytes to 3900 bytes.
2020-05-22 14:45:05 +08:00
Andrew Nicols cc29e04f27 Merge branch '68137-master-prevent-removing-all-dots-in-filename' of https://github.com/DSI-Universite-Rennes2/moodle 2020-05-22 11:53:22 +08:00
Jake Dallimore 3f99406350 Merge branch 'MDL-68143-master' of https://github.com/HuongNV13/moodle 2020-05-22 11:52:31 +08:00
Jun Pataleta 87decf6e00 Merge branch 'MDL-65796' of https://github.com/paulholden/moodle 2020-05-22 11:50:53 +08:00
Andrew Nicols 4e9641c2d1 Merge branch 'MDL-57240' of https://github.com/timhunt/moodle 2020-05-22 11:37:38 +08:00
Andrew Nicols a15175eab4 Merge branch 'MDL-68446' of https://github.com/timhunt/moodle 2020-05-22 11:32:01 +08:00
Andrew Nicols 6c0ffdd7ff Merge branch 'MDL-68783-master' of git://github.com/junpataleta/moodle 2020-05-22 11:21:47 +08:00
Andrew Nicols e1657e3c07 Merge branch 'MDL-68661-rebase' of https://github.com/Chocolate-lightning/moodle 2020-05-22 11:12:46 +08:00
Jun Pataleta 929bb27c21 Merge branch 'MDL-68508-master' of git://github.com/andrewnicols/moodle 2020-05-22 11:06:16 +08:00
Andrew Nicols c225a42c19 Merge branch 'MDL-67700-master' of git://github.com/ferranrecio/moodle 2020-05-22 10:51:31 +08:00
Andrew Nicols a31a2b6d54 MDL-68508 core_table: Improve sorting to support sorting by multiple columns 2020-05-22 10:42:30 +08:00
Jake Dallimore 77dddebdb9 Merge branch 'MDL-58645-master' of https://github.com/HuongNV13/moodle 2020-05-22 10:35:27 +08:00
Mathew May 7f86455237 MDL-68661 core_lang: Roll back addresourceoractivity 2020-05-22 10:02:57 +08:00
Andrew Nicols cd08d856c6 MDL-68493 contentbank: Whitespace fixes 2020-05-22 09:21:21 +08:00
Andrew Nicols ae2e417a19 Merge branch 'MDL-68493-master' of git://github.com/bmbrands/moodle 2020-05-22 09:04:57 +08:00
Eloy Lafuente (stronk7) 7a92c63663 Merge branch 'MDL-65306-resourceid-onecommit' of https://github.com/cengage/moodle 2020-05-22 02:15:03 +02:00
Victor Deniz Falcon 57c40bd964 Merge branch 'MDL-39571-Master' of git://github.com/tuanngocnguyen/moodle 2020-05-21 22:28:32 +01:00
David Mudrák 59641dd5a6 MDL-68738 wiki: Prevent URLs inside links from turning into another link
There was a problem with wiki pages in the HTML markup syntax. If they
contain a link and the link text has a URL in it, that URL was converted
into another link. But it was not correctly nested and it caused
additional troubles with filters (particularly the multimedia filter if
the URL was a video such as on youtube).

The solution here is similar to what we do in filters. We protect the
whole explicit link so that its content is not further parsed. That
prevents the inner URL to be converted into another link and the
explicit link has the full control.
2020-05-21 21:12:02 +02:00
Sara Arjona e50e6d39ce Merge branch 'master_MDL-67497' of https://github.com/danmarsden/moodle 2020-05-21 19:00:26 +02:00
Ferran Recio f3ae94a41d MDL-68619 mod_h5pactivity: add results report webservice 2020-05-21 18:37:54 +02:00
Ferran Recio 42c48b6660 MDL-68619 mod_h5pactivity: add activity check to get_attempt method 2020-05-21 18:37:54 +02:00
Ferran Recio 778846987a MDL-67700 message: prevent async loading conversation message mix 2020-05-21 18:02:42 +02:00
Sara Arjona 48127bfec6 Merge branch 'MDL-66471' of https://github.com/paulholden/moodle 2020-05-21 17:33:12 +02:00
Andrew Nicols f2d33fcc11 Merge branch 'MDL-68439-master' of https://github.com/HuongNV13/moodle 2020-05-21 20:30:13 +08:00
Sara Arjona cca063e229 Merge branch 'MDL-67126_master' of https://github.com/ffhs/moodle 2020-05-21 13:34:59 +02:00
Ferran Recio 87eb65ab44 MDL-68619 mod_h5pactivity: correcting content generator 2020-05-21 12:49:30 +02:00
Huong Nguyen 51de017235 MDL-68439 qtype_ddwtos: UI issues
- Fixed cursor for dropped ddwtos
 - Fixed the animation of "flying back to the home position" starts off at the right end of the previous line"
2020-05-21 17:19:40 +07:00
Jun Pataleta 7750dd55e8 Merge branch 'MDL-68367' of https://github.com/mkassaei/moodle 2020-05-21 17:10:16 +08:00
Mahmoud Kassaei 00055ef6ab MDL-68367 Question: Multi-choice Option to hide systemtext 2020-05-21 09:47:15 +01:00
Mathew May eff7ef2cd2 MDL-68788 core_notification: Check if the user is logged in 2020-05-21 16:33:25 +08:00
Sara Arjona 5cc1d953bf Merge branch 'MDL-68451-master' of git://github.com/cescobedo/moodle 2020-05-21 08:30:31 +02:00
Jun Pataleta 7b66f81b90 Merge branch 'MDL-68568-master' of git://github.com/junpataleta/moodle 2020-05-21 14:26:54 +08:00
Sara Arjona e4426b3aff Merge branch 'MDL-68782-master' of git://github.com/aanabit/moodle 2020-05-21 08:23:46 +02:00
Adrian Greeve aa1dcabf4c Merge branch 'MDL-68733' of https://github.com/timhunt/moodle 2020-05-21 08:37:52 +08:00
AMOS bot 7984b52ae9 Automatically generated installer lang files 2020-05-21 00:07:15 +00:00
Eloy Lafuente (stronk7) a5a8ca5e62 Merge branch 'MDL-52578-master' of git://github.com/junpataleta/moodle 2020-05-21 00:51:10 +02:00
Eloy Lafuente (stronk7) 7ce7d21503 Merge branch 'MDL-66992-master' of https://github.com/tungthai/moodle 2020-05-21 00:48:30 +02:00
Amaia Anabitarte 8675e8ae6a MDL-68782 core_contentbank: Improving event unit tests 2020-05-20 22:37:30 +02:00
Michael Milette 17cc4735d7 MDL-68765 auth: Login form has DIV tag with 2 CLASS attributes. 2020-05-20 14:00:03 -04:00
cescobedo 887644a1d5 MDL-68451 mod_h5pactivity: Add info attempts in check_updates_since
Add updates information related to attempts in check_updates_since
because they may affect the user or the information displayed
in the app.
2020-05-20 18:50:21 +02:00
Jun Pataleta 01c8c667fc MDL-68568 editor_atto: Upgrade step for the new toolbar default layout
* emojipicker added to files
* indent moved to list
2020-05-21 00:39:00 +08:00
Mike Churchward b677d33d62 MDL-68568 editor-atto: Move 'indent' next to 'lists' by default. 2020-05-21 00:10:37 +08:00
Víctor Déniz Falcón 7380c31afe Merge branch 'MDL-67183' of git://github.com/timhunt/moodle 2020-05-20 15:54:14 +01:00
Sara Arjona 3cc0bab8ab Merge branch 'MDL-68617-master' of git://github.com/ferranrecio/moodle 2020-05-20 16:32:36 +02:00
Ferran Recio c09bc8d897 MDL-68617 mod_h5pactivity: add attempts report webservice 2020-05-20 16:28:45 +02:00
Bas Brands e695d9d0b6 MDL-68493 core_contentbank: implement list view 2020-05-20 16:27:58 +02:00
Sara Arjona 041afbeab5 Merge branch 'MDL-68780' of https://github.com/stronk7/moodle 2020-05-20 12:58:37 +02:00
Amaia Anabitarte 7a460fd5d5 MDL-68782 core_contentbank: Fixing undefined variable error 2020-05-20 12:42:44 +02:00
Ferran Recio 2f2cdd2a48 MDL-68617 mod_h5pactivity: add attempt info to generator 2020-05-20 12:09:28 +02:00
Sara Arjona 69d5a63b97 Merge branch 'MDL-68778-master' of git://github.com/andrewnicols/moodle 2020-05-20 11:47:27 +02:00
Jun Pataleta a7431ec3f1 Merge branch 'MDL-58866-master-2' of git://github.com/marinaglancy/moodle 2020-05-20 17:35:08 +08:00
Eloy Lafuente (stronk7) 5b188629c7 MDL-68780 unit tests: Add missing ->destroy() calls to controllers
Every backup and restore controller always need to call
to their ->destroy() method in charge of finalizing loggers,
closing file handlers and destroy some circular references.

This is specially important within unit tests, because
open resources cannot be reset between tests, causing problems,
specially within Windows that locks all those files.
2020-05-20 11:02:00 +02:00
Adrian Greeve 56287073d5 Merge branch 'MDL-68662' of https://github.com/Chocolate-lightning/moodle 2020-05-20 16:52:17 +08:00
Andrew Nicols a6adce6b9b Merge branch 'MDL-68577-redis-lock-tuning' of https://github.com/brendanheywood/moodle 2020-05-20 16:50:37 +08:00
Marina Glancy 185a00c874 MDL-58866 core_calendar: deprecation warning in upgrade.txt 2020-05-20 10:38:12 +02:00
Mathew May e146a2ca74 MDL-68662 core_course: Add new tabs to the chooser
We now have two more tabs in the chooser.
Activities & Resources aer now offered in different tabs.
2020-05-20 15:53:06 +08:00
Andrew Nicols fb4f19af80 MDL-68778 user: Add bulk action pendingjs checks 2020-05-20 15:45:24 +08:00
Neill Magill b26efcd861 MDL-64427 course: Mark activities during course contents deletion
When we want to delete all of the activities in a course we should
mark them as having a deletion in progress, as this makes them
unavailable to users immediately.

This should make it much less likely that a request to get a context
that does not exist should be made when a user accesses a page.
2020-05-20 08:27:53 +01:00
Neill Magill d92acd5dcc MDL-64427 course: Do not allow dirty cm_info during course delete
When deleting a course (especially one containing a large amount of
data) the course mod info cache could contain entries for deleted
activities for a signifcant amount of time making it possible that
users could see errors in Moodle.
2020-05-20 08:27:53 +01:00
Neill Magill 7289f5c0c1 MDL-64427 category: Stop error when another user deleting courses
If you try to visit a category where another user is deleting a
course the coursecat cache may not be fresh. This is because there
is a breif time where the course record will have been deleted,
while it is deleting other course information, before the event that
triggers the coursecat cache to be purged is fired.
2020-05-20 08:27:52 +01:00
Neill Magill 236a52c4de MDL-64427 category: Test getting category courses during deletion
Adding a unit test for the situation where a course is partially
deleted when a list of courses in a category is retrived.
2020-05-20 08:27:52 +01:00
Sara Arjona 630a19ebd5 MDL-68746 core_badges: remove Issuer details from badges form
When OBv2.0 support was added, the issuername and issuercontact
fields were changed to static.
In order to avoid confusion for the user, these fields shouldn't
be displayed for OBv2.0 or higher.
2020-05-20 08:51:52 +02:00
Brendan Heywood 8eab4f77cc MDL-68577 session: Fine tune the redis lock polling 2020-05-20 15:54:10 +10:00
Adrian Greeve 1c1fd15b18 Merge branch 'MDL-68333-master' of git://github.com/marinaglancy/moodle 2020-05-20 13:17:58 +08:00
Andrew Nicols db5be3a31c MDL-68778 user: Fetch select from selected option
It seems that the HTMLSelectElement behaves slightly different on Linux
vs MacOS.

On Linux with Firefox 47 when selecting an option the
HTMLOptionElement is returned, whereas on MavOS the HTMLSelectElement
that the Option belongs to is returned.

We need to normalise the value here before resetting the currently
selected item.
2020-05-20 13:17:50 +08:00
Jun Pataleta 0763480b33 MDL-68783 core_grades: Fix outcome page's add/remove button styles
* Applied proper styles of btn-secondary.
* Added some vertical spacing between the buttons by enclosing them in
divs with 'm-y-1' class instead of just a br tag.
2020-05-20 13:12:58 +08:00
Nathan Nguyen a9c139c8d4 MDL-39571 repository_recent: query improvement 2020-05-20 13:11:51 +10:00
Nathan Nguyen 1529fc7954 MDL-39571 repository_recent: add unit test 2020-05-20 12:48:17 +10:00
Jun Pataleta 3728866a5f MDL-52578 core_course: Peer review fixes
* Fetch parent category only when necessary.
* Fix outdated variable names in original patch.
* Fix variable scope for $outcomeexists.
2020-05-20 10:29:46 +08:00
Dan Marsden fe96a5528c MDL-68054 lib: viewhiddenactivities should be set as captype:read 2020-05-20 14:00:48 +12:00
Adrian Greeve 59d0090fda Merge branch 'MDL-67548-master' of https://github.com/kabalin/moodle 2020-05-20 08:35:18 +08:00
AMOS bot 1ec1cfff2d Automatically generated installer lang files 2020-05-20 00:07:22 +00:00
Andrew Nicols 6754ceae3a MDL-68464 user: Remove legacy selectall 2020-05-20 07:38:26 +08:00
Eloy Lafuente (stronk7) 31ffacb020 Merge branch 'MDL-68464-master-final' of git://github.com/andrewnicols/moodle 2020-05-20 00:17:53 +02:00
Tim Hunt 64207dab65 MDL-67183 questions: get_question & get_behaviour only init if required
This reviews all the code code, and sets $requirequestioninitialised
whenever possible in these calls, which should improve performance.
2020-05-19 20:52:07 +01:00
Tim Hunt 9cbbb779eb MDL-67183 question engine: allow lazy-init of question_attempts
That is, we don't call apply_attempt_state as soon as a
the data is loaded from the database. Instead, we wait
and only call it if really needed.

This should (especially after the next commit) be a performance win
during quizzes, particularly for people using advanced question
types liks STACK, or people making extensive use of the
'Try another question like this one' feature.
2020-05-19 20:49:33 +01:00
Víctor Déniz Falcón 676b8b8217 Merge branch 'MDL-68299-master' of git://github.com/bmbrands/moodle 2020-05-19 20:43:46 +01:00
Paul Holden be60a5d096 MDL-66471 user: fix user_selector debug about extra identity fields. 2020-05-19 19:12:35 +01:00
Steve Bader 604fb8c2a2 MDL-52578 core_course: Activity weight set to 0 on creation 2020-05-20 01:28:59 +08:00
Marina Glancy 5b529aca15 MDL-68333 testing: trigger user_created event in user generator 2020-05-19 19:11:54 +02:00
Marina Glancy d268c5bac3 MDL-58866 core_calendar: separate color for other events, icons 2020-05-19 19:04:15 +02:00
Marina Glancy 6f92c731e7 MDL-58866 block_timeline: do not display course if abscent 2020-05-19 19:04:15 +02:00
Marina Glancy 1a972b06f1 MDL-58866 core_calendar: allow component events 2020-05-19 19:04:13 +02:00
Sara Arjona 1afe68f382 weekly release 3.9dev+ 2020-05-19 17:54:25 +02:00
Sara Arjona a0caddb696 Merge branch 'install_master' of https://git.in.moodle.com/amosbot/moodle-install 2020-05-19 17:54:22 +02:00
Andrew Nicols 7f22867502 MDL-68463 core_user: Correct Show all link details 2020-05-19 14:16:25 +02:00
Juan Leyva 82d5547b8f MDL-68294 tool_mobile: Fix custom strings and limits calculation 2020-05-19 12:19:37 +02:00
Andrew Nicols fec9e9cce5 Merge branch 'srdjan-slave-conn' of https://github.com/srdjan-catalyst/moodle 2020-05-19 16:13:48 +08:00
Bas Brands 92bc86e429 MDL-68299 theme_boost: theme updates for accessible zoom
The Moodle UI should be functional in a viewport of 320px by 256px to
meet WCAG 1.4.10

this patch contains improvements to:
-prevent horizontal scrolling
-better wrapping of page header
-message drawer funtional on tiny screens
-remove indenting on courses
-prevent elements overlapping on quiz editing
-better navigation tabs
-fix colour picker
-quiz editing
2020-05-19 10:13:20 +02:00
Srdjan 317432cacc MDL-19711 dml: call mysqli::real_connect() with @ 2020-05-19 18:09:14 +10:00
Juan Leyva 509a4c5865 MDL-68294 tool_mobile: Fix key and default apps values 2020-05-19 09:24:26 +02:00
Srdjan 3612d0b8b9 MDL-19711 dml: Fix undefined $dberr
In mysqli_native_moodle_database::raw_connect()
2020-05-19 17:02:05 +10:00
Ferran Recio 99374e7e14 MDL-67700 message: correcting conversation timer reset 2020-05-19 08:38:26 +02:00
Andrew Nicols abc83c40b5 MDL-68464 enrol_manual: Comment out buggy behat line
This is commented out because auto-hidden toasts currently call `hide()`
and trigger the `bs.toast.hide` event immediately, and _then_ apply the
autohide delay.

Since we automatically add M.util.pending_js calls when we _start_ to
hide, and resolve them when the hide _finishes_, this means that we do:
- addToast called
- trigger `bs.toast.show` event
- add to pending_js
- [pending_js queue not empty - behat waits]
- message is shown in UI
- `hide()` called
- trigger `bs.toast.hide` event
- add to pending_js
- [pending_js queue not empty - behat waits]
- start autohide delay
- [pending_js queue not empty - behat waits]
- [pending_js queue not empty - behat waits]
- [pending_js queue not empty - behat waits]
- [pending_js queue not empty - behat waits]
- end autohide delay
- remove message (no longer present in DOM)
- trigger `bs.toast.hidden` event
- resolve pending_js
- [pending_js queue empty - behat stops waiting]
- Behat runs next step: And I should see "1 enrolled users"
-- Step fails beacuse the message has been shown, and has then been removed

The conversation should have been:
- addToast called
- trigger `bs.toast.show` event
- add to pending_js
- [pending_js queue not empty - behat waits]
- message is shown in UI
- start autohide delay
- trigger `bs.toast.shown` event
- resolve pending_js
- [pending_js queue empty - behat stops waiting]
- Behat runs next step: And I should see "1 enrolled users"
-- Step passes
- autohide delay ends and calls `hide()`
- trigger bs.toast.hide event
- add to pending_js
- [behat waits]
- end autohide delay
- remove message (no longer present in DOM)
- trigger `bs.toast.hidden` event
- resolve pending_js
- [pending_js queue empty - behat stops waiting]
- Behat run continues

See MDL-67386 for futher information.
2020-05-19 12:37:21 +08:00
Andrew Nicols e0e7b19f9c MDL-68464 enrol_manual: Reload participants table after enroling 2020-05-19 12:37:21 +08:00
Andrew Nicols c50f5af248 MDL-68464 enrol_manual: Rewrite quickenrolment to use ES6 2020-05-19 12:33:40 +08:00
Andrew Nicols ab6ca1d5c9 Merge branch 'srdjan-slave-conn' of https://github.com/srdjan-catalyst/moodle 2020-05-19 12:29:20 +08:00
Jun Pataleta f46b5f5f28 Merge branch 'MDL-68463-master-3' of git://github.com/andrewnicols/moodle 2020-05-19 12:24:14 +08:00
Andrew Nicols 50ba817fda MDL-68463 user: Show count link should always exist in DOM 2020-05-19 12:18:15 +08:00
Jun Pataleta b81c2a3475 Merge branch 'MDL-68528-master' of git://github.com/andrewnicols/moodle 2020-05-19 11:46:39 +08:00
Andrew Nicols bc9426c879 MDL-68528 js: Normalise core component for template strings 2020-05-19 11:40:44 +08:00
Andrew Nicols ed0328397a MDL-68528 js: Normalise empty component to "core" for string 2020-05-19 11:37:55 +08:00
Srdjan 46cfde3d95 MDL-19711 dml: Enable use of readonly slave database handles
Implemented with moodle_read_slave_trait

Functionality is triggered by supplying config dboption['readonly'].
See config-dist.php for more info on supported dboptions.

pgsql and mysqli drivers are using this feature. Also added support for
connection timeout for these two drivers.
2020-05-19 11:50:42 +10:00
AMOS bot df35cf110e Automatically generated installer lang files 2020-05-19 00:07:17 +00:00
Eloy Lafuente (stronk7) 4c6a9740f7 Merge branch 'MDL-68656-master' of https://github.com/catalyst/moodle 2020-05-19 01:13:22 +02:00
Tim Hunt 89c8a076b2 MDL-68733 quiz editing: behat test for altering random question tags 2020-05-18 23:20:10 +01:00
Bence Molnar 9024289626 MDL-68733 quiz editing: be more careful deleting random question tags 2020-05-18 22:56:33 +01:00
Tim Hunt c689726d3f MDL-68733 question behat: question tag generator and use in quiz test 2020-05-18 22:56:33 +01:00
Tim Hunt 4a45b7112c MDL-68757 questions: don't do output in low-level functions 2020-05-18 20:54:27 +01:00
Sara Arjona 2418c12c60 Merge branch 'MDL-68760' of https://github.com/timhunt/moodle 2020-05-18 20:33:05 +02:00
Sara Arjona 0a3efb5689 Merge branch 'MDL-68728-master-2' of git://github.com/andrewnicols/moodle 2020-05-18 20:24:17 +02:00
Tim Hunt c3dd5ccc40 MDL-68760 timezones: add string for new timezone America/Nuuk 2020-05-18 17:31:43 +01:00
Tim Hunt 8f406297e0 MDL-68760 string tests: make test_timezone_lang_strings message helpful 2020-05-18 16:51:17 +01:00
Eloy Lafuente (stronk7) 6462724e4f Merge branch 'MDL-68526-master' of git://github.com/aanabit/moodle 2020-05-18 17:14:12 +02:00
Víctor Déniz Falcón 8060ed34db Merge branch 'MDL-67812-master-latest-3' of git://github.com/mihailges/moodle 2020-05-18 16:04:58 +01:00
Sara Arjona 149b60f242 Merge branch 'MDL-68450-master' of git://github.com/cescobedo/moodle 2020-05-18 16:16:23 +02:00
Amaia Anabitarte 01003725f4 MDL-68526 core_contentbank: Tests for delete/move by context 2020-05-18 16:05:04 +02:00
Amaia Anabitarte f2a9bb6edb MDL-68526 core_contentbank: Delete content when a course is deleted
Or when a course category is moved/deleted
2020-05-18 16:05:04 +02:00
Marina Glancy ae0218624f MDL-68099 gradereport_grader: prevent exception without groups 2020-05-18 15:18:30 +02:00
Andrew Nicols 5fb2abb4eb Merge branch 'MDL-68497-master' of git://github.com/bmbrands/moodle 2020-05-18 20:53:20 +08:00
Sara Arjona 3f6d31f979 Merge branch 'MDL-68449-master' of git://github.com/cescobedo/moodle 2020-05-18 14:39:10 +02:00
Andrew Nicols 215393c86c Merge branch 'MDL-68503_master' of https://github.com/marxjohnson/moodle 2020-05-18 20:29:52 +08:00
cescobedo a9ed34a944 MDL-68450 mod_h5pactivity: Add WS view_h5pactivity
This is the external method for triggering the course module viewed event
and update the module completion status. Affects mobile app.
2020-05-18 14:17:46 +02:00
cescobedo feae09652e MDL-68449 mod_h5pactivity: Add a WS for get access information
This WS should return access information required by an external client to check if and how to display the activity module.
Require for Mobile App
2020-05-18 14:07:59 +02:00
Andrew Nicols 07c9106476 MDL-68463 user: Remove old selectall attribute 2020-05-18 20:03:38 +08:00
Andrew Nicols ed23725bc6 MDL-68463 user: Update select/show [count] links dynamically 2020-05-18 20:03:38 +08:00
Andrew Nicols 814da16778 MDL-68463 core: Add helper functions to toggle checkboxes 2020-05-18 20:03:38 +08:00
Andrew Nicols 0d01f2ae56 MDL-68463 report_participants: Use new shared participant actions module 2020-05-18 20:00:47 +08:00
Andrew Nicols bae72dd06d MDL-68463 user: Rewrite participant bulk actions in ES 2020-05-18 20:00:47 +08:00
Sara Arjona 20a1852593 Merge branch 'MDL-68253-master' of git://github.com/lucaboesch/moodle 2020-05-18 13:54:34 +02:00
Sara Arjona 84ab8a51e2 Merge branch 'MDL-68294-master' of git://github.com/jleyva/moodle 2020-05-18 12:49:32 +02:00
Adrian Perez c1bce8b4c7 MDL-67126 assign: set completion state for all group members 2020-05-18 12:29:01 +02:00
Sara Arjona da7feb3455 Merge branch 'read-only-session' of https://github.com/Agilicus/moodle 2020-05-18 12:09:00 +02:00
Andrew Nicols 88f1a81bd6 MDL-68728 calendar: Pending promises for event summary 2020-05-18 13:00:32 +08:00
Andrew Nicols 15d02a3045 MDL-68728 calendar: Remove calendar modal on close 2020-05-18 13:00:30 +08:00
Andrew Nicols 1feb2a5e2e Merge branch 'MDL-62487' of https://github.com/timhunt/moodle 2020-05-18 12:10:02 +08:00
Adrian Greeve 410cec0d40 Merge branch 'MDL-67791-master' of git://github.com/ferranrecio/moodle 2020-05-18 11:55:36 +08:00
Adrian Greeve a1bd5d556d Merge branch 'MDL-68563-master' of git://github.com/lameze/moodle 2020-05-18 11:34:38 +08:00
Mihail Geshoski 17050eea1c MDL-67812 repository_contentbank: Add behat tests 2020-05-18 11:10:07 +08:00
Mihail Geshoski a165085055 MDL-67812 core_filepicker: Add behat steps for filepicker 2020-05-18 11:10:07 +08:00
Mihail Geshoski 4f2a5f2074 MDL-67812 core_contentbank: Modify behat tests
Modify all behat tests that use the behat contentbank content generator
in order to use the updated generator structure
2020-05-18 11:10:07 +08:00
Adrian Greeve 5ec37d28a6 Merge branch 'master_MDL-64843_course_copy_ui' of https://github.com/catalyst/moodle 2020-05-18 10:35:44 +08:00
Mihail Geshoski 2e4e031e1c MDL-67812 core_contentbank: Modify behat contentbank content generator
Enables the behat contentbank content generator to create content in
multiple contexts and optionaly create files on the filesystem
2020-05-18 10:12:14 +08:00
Mihail Geshoski 7cec78f763 MDL-67812 core: Add content bank files repository in standard plugins 2020-05-18 09:34:51 +08:00
Mihail Geshoski 06764d288c MDL-67812 repository_contentbank: Add unit tests 2020-05-18 09:34:51 +08:00
Mihail Geshoski fa12d5dcc1 MDL-67812 repository_contentbank: Create content bank files repository 2020-05-18 09:34:51 +08:00
Adrian Greeve 6e8e079789 Merge branch 'MDL-68636-master' of git://github.com/aanabit/moodle 2020-05-18 08:21:53 +08:00
AMOS bot 1aca043bd0 Automatically generated installer lang files 2020-05-18 00:07:37 +00:00
Tung Thai 15a00bead1 MDL-66992 core_badges: Add support to Open Badges 2.1 2020-05-17 20:01:55 +07:00
AMOS bot ec8ac45fea Automatically generated installer lang files 2020-05-17 00:07:09 +00:00
Juan Leyva 8f2a40f2da MDL-68294 core_component: Fix test that depends on tool_mobile 2020-05-15 20:49:35 +02:00
Juan Leyva df2aa3480e MDL-68294 tool_mobile: WebService for validating subscription key 2020-05-15 20:49:34 +02:00
Juan Leyva 33dbc582e4 MDL-68294 tool_mobile: New subscription page 2020-05-15 20:49:34 +02:00
Don Bowman cf7b00b8cf MDL-68696 sessions: Fixed redis session handler for readonly
In 39770792ca read-only sessions were allowed.
In the redis case, as called from the mobile application,
this can lead to returning 'false' for session rather than ''.
2020-05-15 12:09:15 -04:00
Tim Hunt 89ee18c0e1 MDL-62487 quiz manual grading: implement suggestions from int review
Add privacy provider bits, and tidy code.
2020-05-15 13:48:21 +01:00
Tim Hunt b20541805f MDL-62487 quiz manual grading: store options as user preferences 2020-05-15 13:12:08 +01:00
Tim Hunt e37acc6773 MDL-62487 quiz manual grading: clean coding style and add PHPdocs 2020-05-15 13:12:08 +01:00
Ferran Recio fd7ef55acb MDL-67791 mod_h5pactivity: attempt report UI ajustments 2020-05-15 12:38:28 +02:00
Luca Bösch ee4abdc11d MDL-68253 mod_book: Remove prev arrow on the firstmost page. 2020-05-15 12:20:13 +02:00
Amaia Anabitarte a09129b09c MDL-68636 core_contentbank: Redirect to view page when uploading a file 2020-05-15 11:35:31 +02:00
Amaia Anabitarte 6fc3477cc5 MDL-68636 core_contentbank: Changing get_icon function 2020-05-15 11:35:31 +02:00
Amaia Anabitarte f9830e456a MDL-68636 core_contentbank: Changing parameter classes to be consistent 2020-05-15 11:35:31 +02:00
Víctor Déniz Falcón 296ae78885 MDL-68636 core_contentbank: added method to get H5P id from pathnamehash 2020-05-15 11:35:08 +02:00
Eloy Lafuente (stronk7) d85118369d on-demand release 3.9dev+ 2020-05-15 11:08:05 +02:00
Eloy Lafuente (stronk7) 6b44d48f00 NOBUG: Fixed SVG browser compatibility 2020-05-15 11:07:59 +02:00
Matt Porritt 01436f7539 MDL-64843 Backup: Course copy user interface
This patch adds better core support for copying courses.
There is now a simplified and dedicated UI for copying
courses. This can be accessed from the course context
menu or course management screens.

All backups are done asynchronously and there can be multiple
copies of a course in flight at once.
2020-05-15 06:02:02 +00:00
Jun Pataleta 8a34d36b56 Merge branch 'MDL-52846' of git://github.com/stronk7/moodle 2020-05-15 11:58:39 +08:00
Andrew Nicols bef1d08531 Merge branch 'MDL-66917' of https://github.com/paulholden/moodle 2020-05-15 10:54:15 +08:00
Andrew Nicols 60c3c08f6e MDL-67689 core: Whitespace fix 2020-05-15 10:36:55 +08:00
Andrew Nicols fdae08b8e9 Merge branch 'MDL-67689-master' of git://github.com/bmbrands/moodle 2020-05-15 10:36:54 +08:00
Andrew Nicols 4877ee9ca5 Merge branch 'MDL-68537-master' of git://github.com/jleyva/moodle 2020-05-15 10:36:54 +08:00
Andrew Nicols 362086b9b2 MDL-67990 antivirus_clamav: Typo fix 2020-05-15 10:36:01 +08:00
Andrew Nicols 0817d6ccf3 Merge branch 'MDL-67990' of https://github.com/OdyX/moodle 2020-05-15 08:56:10 +08:00
Eloy Lafuente (stronk7) 036b1beb49 Merge branch 'MDL-68677-master' of git://github.com/andrewnicols/moodle 2020-05-15 01:58:41 +02:00
Eloy Lafuente (stronk7) d2a0e106c6 Merge branch 'MDL-68084' of https://github.com/paulholden/moodle 2020-05-15 01:30:28 +02:00
Eloy Lafuente (stronk7) 9eb1b08f07 Merge branch 'MDL-68645-master-earlyoutputinit' of git://github.com/mudrd8mz/moodle 2020-05-14 16:35:35 +02:00
Ferran Recio 9a4307dd7a MDL-67791 mod_h5pactivity: adding attempts reports 2020-05-14 15:01:26 +02:00
Sara Arjona ccc7a30b3e Merge branch 'MDL-68200-master-take2' of git://github.com/rezaies/moodle 2020-05-14 13:10:01 +02:00
Sara Arjona 85e7049103 Merge branch 'MDL-68246-master-IR-squashed' of git://github.com/mickhawkins/moodle 2020-05-14 12:31:29 +02:00
Ferran Recio ebec56dac0 MDL-67791 mod_h5pactivity: adding review attempts capability 2020-05-14 11:54:33 +02:00
Sara Arjona 0fd6b977b6 Merge branch 'MDL-68241-master' of git://github.com/ferranrecio/moodle 2020-05-14 09:55:35 +02:00
Andrew Nicols d525ac4b8d MDL-68246 user: Add participants_search role & keyword unit tests
Created the participants_search unit testing file, including
tests for role, keywords, status and enroment method filtering.

Co-authored-by: Michael Hawkins <michaelh@moodle.com>
2020-05-14 15:47:34 +08:00
Michael Hawkins 86e71acc0c MDL-68246 user: Adding the participants_search class
This class introduces support for multiple values per filter to the
participants page.
2020-05-14 15:47:34 +08:00
Michael Hawkins 44e47eff9a MDL-68246 lib: Prepare for participants filter multiple groups support
These function updates are in preparation for the participants_search
class, which will be used to support multiple values per filter when
filtering the participants page.
2020-05-14 15:47:52 +08:00
Michael Hawkins 036b7cda10 MDL-68246 lib: Grouplib coding standards and consistency improvements 2020-05-14 15:47:34 +08:00
Ferran Recio 4d0241e488 MDL-68241 mod_h5pactivity: remove MOODLE_INTERNAL 2020-05-14 09:13:56 +02:00
Ferran Recio e28b40695d MDL-68241 mod_h5pactivity: add grading attempts options 2020-05-14 09:13:56 +02:00
Adrian Greeve b75a184312 Merge branch 'MDL-68498-master' of git://github.com/mihailges/moodle 2020-05-14 14:13:55 +08:00
Andrew Nicols 84d8b45fdf MDL-68677 core: Enable prefetching when cachejs is disabled
With the templaterev issue resolved we should enable the prefetch module
when cachejs is enabled to avoid a different experience when cachejs is
enabled vs. disabled.

Previously there was little point in doing this due to a range of other
bugs (string normalisation, and misuse of templaterev).

With these issues resolved we should enabel the caching.
2020-05-14 14:10:55 +08:00
Andrew Nicols b9dec51ab4 MDL-68677 core: Correct usage of templaterev for caching templates
The M.cfg.templaterev variable should only be used to present persistent
caching, not caching of content within the same page load.

Preventing caching of same-page content makes it difficult to develop
for real user experiences as content is slow to load and does not give a
realistic and consistent loading experience.

This change affects the loading of partials specifically which notably
includes the loading spinner. Without this patch the loading icon is
often not seen at all because it does not load in a timely fashion and
the content being loaded is loaded first.
2020-05-14 14:10:55 +08:00
David Mudrák 866ce1fbe9 MDL-68645 output: Make other generators fail if they init the output too
Identically to what we've added to the module generators, let's raise a
coding exception if generating a block or a repository triggers the
theme and output initialisation.
2020-05-14 07:55:19 +02:00
Jun Pataleta 2a202f3b97 Merge branch 'MDL-68529' of https://github.com/Chocolate-lightning/moodle 2020-05-14 12:51:35 +08:00
Dmitrii Metelkin 142a02308d MDL-68656 quizaccess_seb: refactor test to use helper trait 2020-05-14 13:11:07 +10:00
Dmitrii Metelkin 355cf68893 MDL-68656 quizaccess_seb: remove incorrect namespace 2020-05-14 11:53:30 +10:00
Dmitrii Metelkin 43302afc56 MDL-68656 quizaccess_seb: move test files 2020-05-14 11:32:43 +10:00
Víctor Déniz Falcón 6b37b6a1ba Merge branch 'MDL-68227-master' of git://github.com/sarjona/moodle 2020-05-13 17:13:11 +01:00
Víctor Déniz Falcón ca7127ed03 Merge branch 'MDL-68697-master' of git://github.com/andrewnicols/moodle 2020-05-13 16:53:16 +01:00
Paul Holden 9965b654f8 MDL-65796 message: improve content of contact request notifications. 2020-05-13 15:40:17 +01:00
Jun Pataleta 9c09ec41d6 Merge branch 'MDL-68483-master' of git://github.com/sarjona/moodle 2020-05-13 19:33:37 +08:00
Sara Arjona f3126f84b4 MDL-68483 contentbank: remove unneeded MOODLE_INTERNAL
These improvements were suggested by Eloy when MDL-67795 and other
content bank issues (such as MDL-67790) were integrated.
2020-05-13 13:31:30 +02:00
Sara Arjona 54ce66bd76 MDL-68483 contentbank: improve search API
These improvements were suggested by Eloy when MDL-67797 was integrated.
2020-05-13 13:31:30 +02:00
Sara Arjona 7616fbfd8e MDL-68483 contentbank: order contents by name 2020-05-13 13:31:29 +02:00
Sara Arjona f9b6849b85 MDL-68483 contentbank: filter contents by name
Credits to Bas and Rafa for helping us to improve the UX.
Also to Amaia with her help with Behat tests.
2020-05-13 13:31:29 +02:00
Eloy Lafuente (stronk7) 6a7146fc71 Merge branch 'MDL-68314-master' of git://github.com/aanabit/moodle 2020-05-13 13:15:17 +02:00
Ruslan Kabalin a38e1d4968 MDL-67548 core_course: Add unittests covering category deletion hooks. 2020-05-13 10:24:33 +01:00
Andrew Nicols 0e809762d4 MDL-68697 core_h5p: Store missing translations as null 2020-05-13 16:35:41 +08:00
David Mudrák 87f9e88ddd MDL-68563 filters: Fix unit test regressions
Also incrementing the plugin versions to make sure the unit test
environment is reinitialised and the tests are reliable.

Minor correction of phpdocs @package tags included.
2020-05-13 16:28:24 +08:00
Simey Lameze 4044914d17 MDL-68563 editor_atto: display emoji picker on atto toolbar
As per enabling of emoticon filters enabling emoji picker is now visible
by default on the Atto editor toolbar.
2020-05-13 16:27:05 +08:00
Simey Lameze 2a9e5ba70a MDL-68563 filter_urltolink: enable filter uppon install
Every major system that people use these days turns URLs into links automatically.

This filter was turned off by default a decade ago because of performance concerns
that do not apply any more, specially on fresh new installations.

In order to improve user experience on text editing features, the urltolink filter
will be now enabled by default in new installations.
2020-05-13 16:24:53 +08:00
Simey Lameze 5f95ea83fd MDL-68563 filter_emoticon: enable filter uppon install
Every major system that people use these days turns smiles into emoticons automatically.

This filter was turned off by default a decade ago because of performance concerns
that do not apply any more, specially on fresh new installations.

In order to improve users experience on text editing features the emoticon filter
will be now enabled by default in new installations.
2020-05-13 16:24:12 +08:00
David Mudrák 005b00dd9b MDL-68645 output: Do not apply filters when creating calendar events
Applying filters on an activity module description when using it as a
new calendar event's description is bad m'kay? We need to store the raw
text and apply the filters only when we actually display the text. That
way, filters (such as multi-language content) may actually fully work
and we do not initialise the theme and output machinery.

Additionally, we need to explicitly set the format of the description
text to HTML (because we have converted it to it already). Otherwise it
defaults to the current user's preferred editor format.

This is still a pragmatic hot-fix solution. The proper solution would be
to pass the raw text, format and embedded files.
2020-05-13 10:03:01 +02:00
Tim Hunt f883c681ff MDL-68645 output: Make module generators fail if they init the output
The coding exception hint should say it all. Creating an activity module
should not need any output function call. It turned out it can lead to
hard-to-debug bugs and unexpected behaviour. So better to explicitly
fail and let the developer fix the code.
2020-05-13 10:03:01 +02:00
Amaia Anabitarte 66489aea0f MDL-68314 core_contentbank: Backup and restore tests 2020-05-13 09:35:58 +02:00
Amaia Anabitarte 3449e22683 MDL-68314 core_contentbank: Course content bank backup and restore 2020-05-13 09:35:58 +02:00
Jun Pataleta 51939f6feb Merge branch 'MDL-68261-cli-config-log' of https://github.com/brendanheywood/moodle 2020-05-13 10:36:54 +08:00
Mihail Geshoski f915dcbe1a MDL-68498 core: Fix content bank links in the navigation drawer 2020-05-13 09:26:18 +08:00
Jake Dallimore 1516b80752 Merge branch 'MDL-68631' of https://github.com/jonof/moodle 2020-05-13 09:24:30 +08:00
Mihail Geshoski cd1a878774 MDL-68498 core: Display content bank icon in nav drawer in classic theme 2020-05-13 08:42:46 +08:00
Eloy Lafuente (stronk7) 47c5108234 Merge branch 'MDL-68614-master' of git://github.com/aanabit/moodle 2020-05-13 00:09:44 +02:00
Eloy Lafuente (stronk7) de185f1c2b Merge branch 'MDL-68417-master' of git://github.com/lameze/moodle 2020-05-12 23:20:21 +02:00
Paul Holden 56b431c2f6 MDL-68084 blocks: check capability before getting content.
Some blocks (e.g. Calendar) load additional JS modules when returning
content. We need to make sure they aren't asked to generate content
unless the user can actually view the block, or the expected content
required by the JS will not exist in the DOM and can cause exceptions.
2020-05-12 19:23:36 +01:00
Eloy Lafuente (stronk7) d2ecc75e2f MDL-52846 tasks: complete docs and move functions to deprecatedlib
- Add MDL codes to @deprecated.
- Add @todo tag for future 4.3 phase 2 deprecation.
- Deprecate global scope functions:
  - cron_execute_plugin_type().
  - cron_bc_hack_plugin_functions().
  (moving them to deprecatelib).
- Document it in main upgrade.txt
2020-05-12 17:41:13 +02:00
Ankit Agarwal 3bdb8f4584 MDL-52846 tasks: Display developer notice for legacy cron 2020-05-12 17:38:08 +02:00
Amaia Anabitarte ce1fe72dbd MDL-68483 contentbank: adapt to existing behat generator 2020-05-12 16:50:46 +02:00
Sara Arjona a42a9ad997 MDL-68227 core_h5p: localize H5P editor strings
H5P editor has a folder with all supported languages in JS files.
A mechanish has been added to let users to translate them using AMOS.
That's how the translations are managed (the order how they are processed):

- If there a JS file for a language, it's loaded.
- If a string has been translated in Moodle (they are placed in
h5plib_vXXX), it will override strings loaded from the JS file.
2020-05-12 16:39:42 +02:00
Simey Lameze d717918c87 MDL-68417 core_table: add some css styling to loading icon 2020-05-12 21:44:42 +08:00
Ruslan Kabalin 72316a9f4e MDL-67548 core_course: Add more category deletion hooks.
Introduce new hooks for plugin developers:

  - <component>_can_course_category_delete($category)
  - <component>_can_course_category_delete_move($category, $newcategory)
These hooks allow plugin developers greater control over category deletion. Plugin can return false in those
functions if category deletion or deletion with content move to the new parent category is not permitted.

  - <component>_pre_course_category_delete_move($category, $newcategory)
This hook is expanding functionality of existing <component>_pre_course_category_delete hook and allow plugin developers
to execute code prior to category deletion when its content is moved to another category.

 - <component>_get_course_category_contents($category)
This hook allow plugin developers to add information that is displayed on category deletion form. Function should
return string, which will be added to the list of category contents shown on the form.
2020-05-12 14:30:14 +01:00
Amaia Anabitarte 28ebd2719f MDL-68614 core_contentbank: Add svg and png contentbank icons 2020-05-12 14:43:35 +02:00
Sara Arjona 206e179df5 weekly release 3.9dev+ 2020-05-12 14:16:44 +02:00
Mathew May f2d033a2bb MDL-68529 course: Refactor chooser to include loading 2020-05-12 16:59:54 +08:00
Shamim Rezaie a30bb16ef2 MDL-68200 core: Fix phpdoc for the external return functions 2020-05-12 15:13:01 +10:00
Shamim Rezaie 1ba5f0f410 MDL-68200 core: Fix datetime format
date.toISOString() prints out the seconds as well.
Current code supports most valid values for the datetime attribute
2020-05-12 15:13:01 +10:00
Shamim Rezaie 31d401aaa0 MDL-68200 mod_forum: fix invalid format of the time tag on modern view 2020-05-12 15:13:01 +10:00
Shamim Rezaie b0326f0632 MDL-68200 mod_forum: Fix the invalid date format in the time tags 2020-05-12 15:13:01 +10:00
Jun Pataleta 6e95533c73 MDL-68200 mod_forum: Use core/time_element for the discussion list page 2020-05-12 10:59:02 +10:00
Jun Pataleta 26b2982ba0 MDL-68200 core: Add new time_element template 2020-05-12 10:59:02 +10:00
Jun Pataleta e21252b309 MDL-68200 core: Support fixday/hour for core/user_date's get() method 2020-05-12 10:59:02 +10:00
Jun Pataleta 558470e7c1 MDL-68200 core: Support fixday/hour for core_external::get_user_dates() 2020-05-12 10:59:02 +10:00
Shamim Rezaie 127f69d3fe MDL-68200 core: Add calendartype param to user_date.loadDatesFromServer 2020-05-12 10:59:02 +10:00
Shamim Rezaie 4f9bcde969 MDL-68200 core: Add type param to core_get_user_dates external function 2020-05-12 10:59:02 +10:00
Shamim Rezaie 79364d4cdc MDL-68200 mod_forum: remove address tags
Reasons:
- The element “h4” must not appear as a descendant of the “address” element
- This element should not contain more information than the contact
information, like a publication date (which belongs in a <time> element)
 element)
2020-05-12 10:56:29 +10:00
Shamim Rezaie 9f2a68feb4 MDL-68200 mod_forum: single discussion to follow nestet_v2 display rules 2020-05-12 10:56:29 +10:00
Shamim Rezaie fcd34f1876 MDL-68200 theme_boost: workaround for IE for flexbox not filling height
read more:
https://philipwalton.com/articles/normalizing-cross-browser-flexbox-bugs/
2020-05-12 10:56:29 +10:00
Simey Lameze eebe3ca611 MDL-68417 core_table: add spinner to dynamic table 2020-05-12 06:58:06 +08:00
Eloy Lafuente (stronk7) a417c31b2e Merge branch 'MDL-68579-master' of git://github.com/cescobedo/moodle 2020-05-11 23:13:45 +02:00
Eloy Lafuente (stronk7) 5879d1773d Merge branch 'MDL-68276-replace-logs' of https://github.com/brendanheywood/moodle 2020-05-11 23:10:49 +02:00
Ruslan Kabalin 27b29b2996 MDL-67548 core_course: Reflect content move category in deleted event. 2020-05-11 21:08:06 +01:00
Sara Arjona 1d2d4782da Merge branch 'MDL-68654-master' of https://github.com/catalyst/moodle 2020-05-11 19:16:14 +02:00
Jun Pataleta 6165110f0a Merge branch 'MDL-66109-master' of git://github.com/andrewnicols/moodle 2020-05-12 00:03:19 +08:00
Ruslan Kabalin 39e777e3f7 MDL-67548 core_course: Remove category deletion form artefact.
This is not usable for the reason that categorylabel element does not
exist.
2020-05-11 16:11:28 +01:00
Sara Arjona 36a3a259de Merge branch 'MDL-68571-master' of git://github.com/cescobedo/moodle 2020-05-11 16:52:48 +02:00
cescobedo 444b2282f1 MDL-68571 core_h5p: Return default handler if no it has been defined 2020-05-11 16:46:27 +02:00
Sara Arjona 80fd46edfd Merge branch 'MDL-68576-master' of git://github.com/mihailges/moodle 2020-05-11 16:36:59 +02:00
Jun Pataleta d1735204c0 Merge branch 'MDL-63580-master' of git://github.com/cescobedo/moodle 2020-05-11 22:32:34 +08:00
cescobedo db15746c2d MDL-63580 core_task: Deprecation cron_run_single_task and run_from_cli
Also we have move the functions in \tool_task\run_from_cli to \core\task\manager
and we have deprecated that class.
2020-05-11 10:53:23 +02:00
cescobedo 079736ccb3 MDL-63580 core_task: Deprecation CLI scripts from admin/tool/task/cli
Copy the CLI scripts from admin/tool/task/cli to admin/cli (schedule_task.php and adhoc_task.php)
and rename to scheduled_task.php and to improve in order to use cron_run_inner_scheduled_task.
2020-05-11 10:53:17 +02:00
Jun Pataleta c314ec6770 Merge branch 'MDL-68041-master-rev2' of https://github.com/nhoobin/moodle 2020-05-11 16:27:48 +08:00
cescobedo b19468ce8a MDL-68579 core_h5p: Add a check to avoid execute task using BEHAT 2020-05-11 10:13:08 +02:00
Nicholas Hoobin 119a83f148 MDL-68041 core_theme: New admin settings in secure page layout
This adds two new admin settings to the theme appearance options.

Shows the lang menu in secure layout, langmenuinsecurelayout.
Shows the user's name in secure layout, logininfoinsecurelayout.

When the page layout is set to secure, these options will be in effect.
2020-05-11 17:23:17 +10:00
Andrew Nicols 29c5fafff5 MDL-66109 js: Fix Shifter linting issues 2020-05-11 11:07:49 +08:00
Andrew Nicols 4ad0f38a82 MDL-66109 js: Upgrade to latest version of Shifter
This change bumps the version of Shifter that we use to the final
release - version 1.2.0.

I strongly doubt that there will be more releases, and this release was
over two years ago.

This version uses a newer version of Istanbul, and fixes to use that
specific version of Istanbul. As a result I have forked Shifter and
applied the Moodle Circular Dependency fixes there instead.

This version also inludes an upgrade to uglify from 1.3.x to 2.4.x. This
major upgrade includes a some changes to the built YUI module code.
2020-05-11 11:07:49 +08:00
Andrew Nicols bbb291ba2f MDL-66109 behat: Prevent the use of Examples in Scenarios
This change enables the Gherkin-lint rule to prevent the use of
"Examples" in a Scenario.

The Example tag is only allowed in a Scenario Outline at this time and
their use in a Scenario has no meaning.
2020-05-11 11:07:49 +08:00
Andrew Nicols 7afd16ad84 MDL-66109 behat: Require newline at EOF
This change enables the gherkinlint rule to require a new line at the
end of the file. This change is in keeping with existing Moodle coding
style guidelines.
2020-05-11 11:07:49 +08:00
Andrew Nicols 149d80e819 MDL-66109 behat: Fix Example usage in feature files
The gherkin-lint package now understands the use of "Examples" and
requries that their indentation be correct and consistent.

This change sets the indentatation for these to:

    "Examples": 4,
    "example": 6,

This is in-line with the examples given in the offical Cucumber/Gherkin
documentation at
https://cucumber.io/docs/gherkin/reference/#scenario-outline whereby the
Examples and individual rows of the Examples table are children of the
Scenario outline.

This is contrary to the default for Gherkin-lint which places them as
top-level nodes with an indentatio of 0, and 2 respectively.
2020-05-11 10:55:58 +08:00
Andrew Nicols bf6630a832 MDL-66109 css: Fix incorrect max-empty-lines in Boost scss
This was previously not picked up by stylelint for an unknown reason.
2020-05-11 10:55:57 +08:00
Andrew Nicols 1152df3ec4 MDL-66109 css: Drop use of filter:alpha(opacity)
This CSS statement was an MS-only rule which was never accepted, and
which was abonded some time before IE 10. It has no effect in supported
browsers and can be safely replace with `opacity: [0.0-1.0]`.
2020-05-11 10:55:57 +08:00
Andrew Nicols f879cc518e MDL-66109 js: Build changes for NodeJS upgrade
This change includes a build to fix all minified file changes in Moodle
as a result of upgrades to our build process.
2020-05-11 10:55:54 +08:00
Andrew Nicols 5b4debd2b0 MDL-66109 js: Upgrade Node dependencies
This change updates most libraries used in our Grunt build stack and
applies necessary changes to Grunt and Gherkin-lint configuration to
ensure that they continue to work.

The grunt-sass plugin has been updated to support alternative
'implementations' of sass compilers, and the chosen sass compiler must
now be specified in the grunt configuration. We continue to use the
`node-sass` package for this.

Our gherkin-lintrc included two rules which were renamed from
'no-unamed-*' to 'no-unnamed-*'. This change occurred in version 2.0.0
of Gherkin-lint and has no other effect.
2020-05-11 10:53:35 +08:00
Andrew Nicols 9b7e6e9c6c MDL-66109 js: Built file changes from new Node version 2020-05-11 10:53:35 +08:00
Andrew Nicols a508dfb43a MDL-66109 js: Fix circular dependency in Shifter dependency
Shifter is using an ancient and no-longer supported of Istanbul. That
version contains a circular dependency whereby it fetches the version
from the index that included the file in the first place.  This throws a
warning on newer versions of Node.

The fix here is simple and intended to be the bare minimum to remove
these warnings anad resolve the issue.

We have forked the istanbul project and created a v0.1.37_moodle branch
at the root version of the Istanbul version that Shifter uses (v0.1.37
tag). The circular dependency is then addressed and a new tag created.

I have then forked Shifter, pointing its package.json at the tar.gz
download of that new tag and pushed a new branch and tag for that fix.

Following this our own package.json is updated to point to the tar.gz
version of the new Shifter tag.
2020-05-11 10:53:35 +08:00
Andrew Nicols 1591dc5786 MDL-66109 js: Upgrade to latest stable version of NodeJS
Version 14.0.0 has just been released as stable, and will make its way
to an LTS release which will be supported until 30th April 2023.

At time of writing it is the "Current stable" release and will remain in
this phase until 20th October 2020, at whciih point it will transition
to LTS status.
2020-05-11 10:53:35 +08:00
Andrew Nicols 0d5b115b0e Merge branch 'MDL-68271-master' of git://github.com/sarjona/moodle 2020-05-11 09:10:40 +08:00
Dmitrii Metelkin 774bd482fd MDL-68654 quizaccess: destroy a restore controller in tests 2020-05-10 09:29:16 +10:00
Jun Pataleta 2f5e791395 Merge branch 'MDL-65547-master' of git://github.com/jleyva/moodle 2020-05-09 00:30:34 +08:00
Sara Arjona f635915137 MDL-68271 core_h5p: implement localization methods for editor
The following methods have been implemented for supporting
content-type translations:
- H5PEditorAjaxInterface.getTranslations. This method is used for
loading the "Text overrides and translations" section.
- H5peditorStorage.getLanguage. This method is used for displaying
the specific fields and messages for each content-type library.
- H5peditorStorage.getAvailableLanguages. This method is used to
get the language list displayed into the "Text overrides and
translations" section.
2020-05-08 18:18:24 +02:00
Juan Leyva af59fe585a MDL-65547 tool_mobile: Allow to generate site QR codes only 2020-05-08 16:51:36 +02:00
Huong Nguyen 1937957be3 MDL-68549 Drag-drop into text: minor glitches caused by MDL-68113 2020-05-08 19:37:50 +07:00
Eloy Lafuente (stronk7) 36e5a07a59 on-demand release 3.9dev+ 2020-05-08 13:32:22 +02:00
Eloy Lafuente (stronk7) 635ea71fb0 NOBUG: Fixed file access permissions 2020-05-08 13:32:22 +02:00
Eloy Lafuente (stronk7) c6b75af51b NOBUG: Fixed SVG browser compatibility 2020-05-08 13:32:20 +02:00
Eloy Lafuente (stronk7) ffa413895b Merge branch 'install_master' of https://git.in.moodle.com/amosbot/moodle-install 2020-05-08 13:32:18 +02:00
Mihail Geshoski 90feebe486 MDL-68576 filepicker: Cover in behat file edition in filemanager
The added behat tests would also confirm whether the behaviour of
a click action on a file using different views in the filemanager
is consistent.
2020-05-08 16:58:43 +08:00
Mihail Geshoski cba4a1d9b3 MDL-68576 filepicker: Cover in behat file selection from filepicker
The added behat tests would cover the issue in MDL-68576. They test
whether the behaviour of a click action on a file using different
views in the filepicker is consistent.
2020-05-08 16:33:57 +08:00
Juan Leyva 118852a710 MDL-65547 tool_mobile: New WS for generating tokens with qr login keys 2020-05-08 10:26:45 +02:00
Juan Leyva 9df5151013 MDL-65547 tool_mobile: Display QR in user profile 2020-05-08 10:26:45 +02:00
Juan Leyva f24b0795ef MDL-65547 qr: Wrapper for core_qrcode 2020-05-08 10:26:45 +02:00
Mihail Geshoski 1de1fc58f3 MDL-68576 filepicker: Fix inability to select files in table view 2020-05-08 14:40:36 +08:00
Jake Dallimore 812aaf73d7 Merge branch 'MDL-51694-m' of https://github.com/MartinGauk/moodle 2020-05-08 11:22:31 +08:00
Eloy Lafuente (stronk7) 9a4a8bd3cb Merge branch 'MDL-68443-xmldb-path-validation' of https://github.com/brendanheywood/moodle 2020-05-07 19:16:37 +02:00
Eloy Lafuente (stronk7) 7bf6fd4528 Merge branch 'MDL-67753-master' of git://github.com/jleyva/moodle 2020-05-07 18:44:45 +02:00
Eloy Lafuente (stronk7) 301cd3e9c0 Merge branch 'MDL-68415' of https://github.com/paulholden/moodle 2020-05-07 18:38:43 +02:00
Jake Dallimore 3450a08366 Merge branch 'MDL-68572-master' of https://github.com/catalyst/moodle 2020-05-07 18:30:47 +02:00
Jake Dallimore 37e9a8c2b3 Merge branch 'MDL-62403-master' of git://github.com/lameze/moodle 2020-05-07 18:30:47 +02:00
Tim Schroeder 5760d9a09f MDL-68629 mod_choice: multilang coursename support 2020-05-07 15:49:13 +02:00
Simey Lameze 907212695c MDL-62403 portfolio: add upgrade notes for google docs 2020-05-07 12:40:22 +08:00
Ryan Wyllie 5b4ae0038d MDL-62403 portfolio: create directories for google drive export
I've modified the Google Drive portfolio export so that it creates a
root directory in Drive for all of the files in the export. This allows
each export to be contained from each other to help with clashing file
names.

Additionally, the paths for the exported files will now be created in
Drive so that exported files are in the correct directory structure.
This is important for forum posts exports which assume a certain
directory structure in the export.
2020-05-07 12:40:22 +08:00
Jun Pataleta 08103b0a64 MDL-68355 gradingform_guide: Improve lang strings 2020-05-07 11:49:53 +08:00
Jonathon Fowler 4ac6c3d44e MDL-68631 cron: ensure the cron user is reset between scheduled tasks 2020-05-07 13:26:23 +10:00
Andrew Nicols ac53825ff2 Merge branch 'MDL-68556-master-pluginscheckcss' of git://github.com/mudrd8mz/moodle 2020-05-07 09:13:20 +08:00
Paul Holden 2cd534a7df MDL-68410 mod_scorm: safer status operator comparison. 2020-05-07 09:02:42 +08:00
Adrian Greeve 0e9fcef421 Merge branch 'MDL-67613-master' of git://github.com/ferranrecio/moodle 2020-05-07 08:40:41 +08:00
Paul Holden f4488eca79 MDL-68415 core: test attachments in email_to_user from allowed paths. 2020-05-06 23:23:17 +01:00
Juan Leyva 37bd67f54b MDL-67753 registration: Enable Push Notifications when site register
There are some changes to make this possible:
- Enable by default the Mobile notifications plugin
- Implement a new callback for core -> plugins communication
- Generate an Airnotifier access key in the callback when needed
2020-05-06 23:20:13 +02:00
Ferran Recio b745817203 MDL-68430 filter_mathjaxloader: update default CDN to 2.7.8 2020-05-06 21:14:41 +02:00
Víctor Déniz Falcón 50d3cc3268 Merge branch 'MDL-68235' of git://github.com/Chocolate-lightning/moodle 2020-05-06 20:05:32 +01:00
Sara Arjona 773e46c808 Merge branch 'MDL-68381-master' of git://github.com/ferranrecio/moodle 2020-05-06 17:43:53 +02:00
Ferran Recio 1db6424ceb MDL-67613 availability_completion: replacing old arrays 2020-05-06 11:27:34 +02:00
Jun Pataleta 2685accca8 Merge branch 'MDL-68402' of https://github.com/timhunt/moodle 2020-05-06 17:04:25 +08:00
Ferran Recio c54b183c8d MDL-67613 availability_completion: add previous activity condition 2020-05-06 10:56:47 +02:00
Tim Hunt 1ed243c2fe MDL-68402 accesslib: fix coding style of loops 2020-05-06 09:18:02 +01:00
Tim Hunt 1736c59925 MDL-68402 accesslib: Modernise coding style in the functions changed 2020-05-06 09:18:02 +01:00
Tim Hunt 0d3bdb94bc MDL-68402 accesslib: fix get_with_capability_join logic
In fact, rather than fix the old logic, I noticed that the correct
logic was already implemented in get_users_by_capability. So, I
refactored to extract the working version into a function, which it
turns out can have exactly the same API as get_with_capability_join,
which was convenient.
2020-05-06 09:18:02 +01:00
Mathew May edf52a0e65 MDL-68235 core_course: Sections work after drag and drop reordering 2020-05-06 16:14:48 +08:00
Mathew May 278d9d30f7 MDL-68235 core_course: Add section ID attribute to sections 2020-05-06 16:14:48 +08:00
Eloy Lafuente (stronk7) bb341e4b2f Merge branch 'MDL-68615' of https://github.com/timhunt/moodle 2020-05-06 10:07:28 +02:00
Dmitrii Metelkin 93532e7871 MDL-68572 quizaccess: use uploaded file as is for SEB settings 2020-05-06 17:13:53 +10:00
Tim Hunt bee903193b MDL-68615 questions: more increment idnumber cases found by our tester 2020-05-06 07:46:09 +01:00
Simey Lameze c0db61e45f MDL-68462 core_table: add missing global 2020-05-06 14:40:33 +08:00
Andrew Nicols 53e4ba3143 Merge branch 'MDL-68216-master' of git://github.com/lucaboesch/moodle 2020-05-06 14:20:09 +08:00
Brendan Heywood 529c509f62 MDL-68276 admin: Skip risky tables and columns in db_replace 2020-05-06 15:46:41 +10:00
Jake Dallimore 3e5c3cf8d9 Merge branch 'MDL-68293-master' of git://github.com/jleyva/moodle 2020-05-06 12:53:16 +08:00
Andrew Nicols 6507a3368f Merge branch 'MDL-68217-master' of git://github.com/lucaboesch/moodle 2020-05-06 12:50:15 +08:00
Jake Dallimore 279f6488ca Merge branch 'MDL-67800-master' of git://github.com/andrewnicols/moodle 2020-05-06 12:10:31 +08:00
Andrew Nicols db15dab80c MDL-67800 contentbank: Include missing event class 2020-05-06 12:06:59 +08:00
Andrew Nicols 7b0d235876 Merge branch 'MDL-67845-master-3' of git://github.com/mihailges/moodle 2020-05-06 11:22:26 +08:00
Jun Pataleta 2bacffba53 Merge branch 'MDL-68301-master' of git://github.com/bmbrands/moodle 2020-05-06 11:06:11 +08:00
Adrian Greeve 5178f0f43c Merge branch 'MDL-68462-master' of git://github.com/lameze/moodle 2020-05-06 11:06:11 +08:00
Andrew Nicols d86dfdd51e Merge branch 'MDL-67800-master-3' of git://github.com/aanabit/moodle 2020-05-06 11:06:11 +08:00
Andrew Nicols 1ad79ecb18 Merge branch 'MDL-67383-master-1' of git://github.com/mihailges/moodle 2020-05-06 11:06:10 +08:00
Mihail Geshoski 5aca440471 MDL-67383 media_videojs: Update VideoJS versions in Moodle related files 2020-05-06 11:06:08 +08:00
Mihail Geshoski 9632fde77f MDL-67383 media_videojs: Upgrade VideoJS and plugins to latest version
Upgrade VideoJS (7.7.6), Youtube Playback for VideoJS (2.6.1), Flash Tech for VideoJS (2.2.1), Flash Player for VideoJS (5.4.2)
2020-05-06 11:06:08 +08:00
Mihail Geshoski 9fa46e8a8c MDL-67845 enrol_database: Remove enrol_database_admin_setting_category
This class was only used by the database enrolment plugin settings and
was replaced by admin_settings_coursecat_select. Also, this class is in
a plugin which we do not expect to be extended and therefore it can be
simply removed without going through the deprecation process.
2020-05-06 10:50:05 +08:00
Mihail Geshoski b16f5398a5 MDL-67845 enrol_database: Use course category selection setting
We should use admin_settings_coursecat_select instead of
enrol_database_admin_setting_category as the second class is only
being used by the database enrolment plugin settings and can be
removed after this change.
2020-05-06 10:50:05 +08:00
Simey Lameze 937f21d3b8 MDL-68462 core_table: add @javascript to failing scenario 2020-05-06 09:44:44 +08:00
Simey Lameze 68c46a28d6 MDL-68462 core_table: add support for reset table preferences 2020-05-06 09:44:39 +08:00
Andrew Nicols ae346c8624 Merge branch 'MDL-68548' of https://github.com/Neosi/moodle 2020-05-06 08:55:51 +08:00
Andrew Nicols 9d67c34709 Merge branch 'MDL-63609' of https://github.com/paulholden/moodle 2020-05-06 08:50:00 +08:00
Jake Dallimore 1b4e6b3826 Merge branch 'MDL-68355-master' of git://github.com/junpataleta/moodle 2020-05-06 08:36:06 +08:00
AMOS bot ee37ed1a78 Automatically generated installer lang files 2020-05-06 00:13:03 +00:00
Eloy Lafuente (stronk7) dac1b3a4eb Merge branch 'MDL-68541-39' of https://github.com/PoetOS/moodle 2020-05-06 01:04:14 +02:00
Eloy Lafuente (stronk7) 95430af3f1 Merge branch 'MDL-68615' of https://github.com/timhunt/moodle 2020-05-06 00:58:26 +02:00
Victor Deniz Falcon 45067da068 Merge branch 'MDL-68338' of git://github.com/timhunt/moodle 2020-05-05 22:21:36 +01:00
Luca Bösch 690470974f MDL-68217 course: Style recent activity report. 2020-05-05 22:09:32 +02:00
Luca Bösch 439c8c5933 MDL-68216 block_recent_activity: Format elements more nicely. 2020-05-05 22:09:19 +02:00
Paul Holden 118a109499 MDL-67547 dataformat: allow plugins to declare support for HTML. 2020-05-05 19:23:32 +01:00
Eloy Lafuente (stronk7) a09eb2697f on-demand release 3.9dev+ 2020-05-05 19:06:06 +02:00
Eloy Lafuente (stronk7) a0ad55c599 Merge branch 'install_master' of https://git.in.moodle.com/amosbot/moodle-install 2020-05-05 19:06:03 +02:00
Tim Hunt 1d47cb2168 MDL-68615 questions: fix fiendish default idnumber edge case 2020-05-05 16:19:54 +01:00
Neosi 27e44c18fe MDL-68548 editor-atto: change <i> tags to <em> 2020-05-05 09:50:26 +01:00
Amaia Anabitarte f2e02ea9f0 MDL-67800 core_contentbank: Testing contentbank events 2020-05-05 10:20:20 +02:00
Amaia Anabitarte d90ff83962 MDL-67800 core_contentbank: Fixing search content provider 2020-05-05 10:20:20 +02:00
Amaia Anabitarte fb302d3848 MDL-67800 core_contentbank: Creating events for contentbank 2020-05-05 10:20:20 +02:00
Amaia Anabitarte b39a03d739 MDL-67800 contenttype_h5p: Fix the error when deleting a content with no file 2020-05-05 10:19:15 +02:00
Amaia Anabitarte 48bcb1f228 MDL-67800 core_contentbank: Moving uploading logic to contentbank class 2020-05-05 10:19:15 +02:00
Brendan Heywood 76de190c25 MDL-68261 report_configlog: Log changes from admin/cli/cfg.php 2020-05-05 17:52:27 +10:00
Didier 'OdyX' Raboud eebd02461b MDL-67990 antivirus_clamav: set chunksize to 32Mb 2020-05-05 09:33:26 +02:00
Didier 'OdyX' Raboud bf427afcf6 MDL-67990 antivirus_clamav: validate tcpsocket with unset default port 2020-05-05 09:33:25 +02:00
Jake Dallimore eec3a65e5d Merge branch 'MDL-47750' of https://github.com/timhunt/moodle 2020-05-05 11:55:15 +08:00
Andrew Nicols 0449045fa0 Merge branch 'MDL-68542-39' of https://github.com/JayChurchward/moodle 2020-05-05 11:50:04 +08:00
Andrew Nicols 561fc87034 Merge branch 'MDL-68551' of https://github.com/Neosi/moodle 2020-05-05 11:48:46 +08:00
Andrew Nicols 1174dcb184 Merge branch 'MDL-68465-master' of git://github.com/junpataleta/moodle 2020-05-05 11:29:10 +08:00
Andrew Nicols 7be118e265 Merge branch 'MDL-67881-master' of git://github.com/bmbrands/moodle 2020-05-05 11:17:33 +08:00
Jun Pataleta 6a71bccfea Merge branch 'MDL-68524-master' of git://github.com/andrewnicols/moodle 2020-05-05 10:50:09 +08:00
Andrew Nicols a427a48c10 MDL-68524 core: Prefetch modal registry templates 2020-05-05 10:16:10 +08:00
Andrew Nicols 983baf4e34 MDL-68524 js: Add prefetch module 2020-05-05 10:16:10 +08:00
Andrew Nicols 37f48d2547 Merge branch 'MDL-68500' of https://github.com/paulholden/moodle 2020-05-05 09:48:24 +08:00
AMOS bot 21b77db6eb Automatically generated installer lang files 2020-05-05 00:11:26 +00:00
Eloy Lafuente (stronk7) 87c0887564 Merge branch 'MDL-67790-master' of git://github.com/aanabit/moodle 2020-05-04 23:01:20 +02:00
Eloy Lafuente (stronk7) f6bfa49cc6 Merge branch 'MDL-52904-master' of git://github.com/junpataleta/moodle 2020-05-04 22:31:25 +02:00
Amaia Anabitarte 3a6ca392d8 MDL-67790 core_contentbank: Unit and behat tests for renaming content 2020-05-04 20:15:05 +02:00
Amaia Anabitarte cc58791b68 MDL-67790 core_contentbank: Behat contentbank content generator 2020-05-04 20:15:05 +02:00
Amaia Anabitarte 448012c6b6 MDL-67790 core_contentbank: Add Rename content option 2020-05-04 20:15:05 +02:00
Sara Arjona a58e8cb0a1 Merge branch 'MDL-68379-master' of git://github.com/ferranrecio/moodle 2020-05-04 20:02:06 +02:00
Sara Arjona da2f9f6510 Merge branch 'MDL-67713-master' of git://github.com/ferranrecio/moodle 2020-05-04 19:30:45 +02:00
Ferran Recio 9848594715 MDL-68381 mod_h5pactivity: add attempt duration, completion and success 2020-05-04 18:53:00 +02:00
Ferran Recio 72a2335151 MDL-68379 core_xapi: adding result, attachments and context to statement 2020-05-04 18:47:11 +02:00
Ferran Recio 75ba339cdb MDL-68379 mod_h5pactivity: adding item_result to xAPI handler 2020-05-04 18:47:11 +02:00
Ferran Recio 7f5b6adac1 MDL-67713 mod_h5pactivity: adding backup and restore 2020-05-04 18:42:48 +02:00
Paul Holden 8844cb8286 MDL-68500 dataformat: re-factor download/export methods into new class. 2020-05-04 16:01:12 +01:00
Martin Gauk 966556074c MDL-51694 core_grades: use transactions when deleting 2020-05-04 12:48:41 +00:00
fujiwara c4f51bfd31 MDL-68415 email: Fix attachment in email_to_user() 2020-05-04 21:43:57 +09:00
Tim Hunt 33d4f4b0b9 MDL-47750 Atto: allow pasting of images
Note: this works if you have image data on the clipboard (e.g. a
screen-grab). It does not work in most other cases, basically because
web browsers are completely unhelpful in the paste/drop events
they raise. See the detailed analysis of my testing in the tracker
issue. (Hopefully this will improve in future.)
2020-05-04 10:15:08 +01:00
Sara Arjona 271d08f37b Merge branch 'MDL-68315-master' of https://github.com/kabalin/moodle 2020-05-04 10:37:17 +02:00
Paul Holden 1de3b81983 MDL-68500 dataformat: allow instances to export to local file. 2020-05-04 09:32:44 +01:00
Andrew Nicols 3ba4248fe7 Merge branch 'MDL-68502-master' of git://github.com/ferranrecio/moodle 2020-05-04 15:59:04 +08:00
Andrew Nicols 34851c1171 Merge branch 'MDL-68266-master' of git://github.com/bmbrands/moodle 2020-05-04 15:33:14 +08:00
Ferran Recio b4f617a609 MDL-68502 mod_h5pactivity: fixing get_file_info error 2020-05-04 09:30:32 +02:00
Jun Pataleta 716ac2c902 Merge branch 'MDL-68409-master' of git://github.com/andrewnicols/moodle 2020-05-04 15:22:12 +08:00
Bas Brands a521226dd2 MDL-68266 core_course: accessibility improvements for course managent
colour contrast improvements
use custom checkboxes
use accessible colour for text-muted
2020-05-04 09:11:03 +02:00
Andrew Nicols 47d094817f MDL-68409 behat: Fix tests from modal rewrite 2020-05-04 15:08:11 +08:00
Andrew Nicols 67774a9567 MDL-68409 js: Convert cancel modals to ES6 2020-05-04 15:08:11 +08:00
Andrew Nicols 9050f3f17e MDL-68409 js: Convert alert and confirmation dialogues to use modal 2020-05-04 15:08:10 +08:00
Andrew Nicols e8df743b3b MDL-68409 js: Convert core/notification to ES6 2020-05-04 15:07:49 +08:00
Andrew Nicols b810c84f2b MDL-68409 js: Add Alert modal 2020-05-04 15:07:49 +08:00
Andrew Nicols fc3d7d693a MDL-68409 js: Fix eslint failure in modal 2020-05-04 15:07:48 +08:00
Andrew Nicols 92810f7af9 MDL-68409 js: Add setButtonText modal helper 2020-05-04 15:07:48 +08:00
Andrew Nicols fa6101ba27 MDL-68409 js: Add helper to register close event on save/cancel 2020-05-04 15:07:48 +08:00
Adrian Greeve 5d91ca0d7a Merge branch 'MDL-68454-master' of git://github.com/andrewnicols/moodle 2020-05-04 12:18:54 +08:00
Andrew Nicols 2cc28979f0 MDL-68454 mod_feedback: Update get_context to match parent 2020-05-04 11:52:20 +08:00
Andrew Nicols 685fe08003 MDL-68454 table: Improve documentation for dynamic table 2020-05-04 11:52:19 +08:00
Andrew Nicols 5615a772a6 MDL-68454 table: Move guessing of base URL to flexible 2020-05-04 11:52:19 +08:00
Andrew Nicols 56143dd622 MDL-68454 table: Move filterset functionality to flexible_table 2020-05-04 11:52:19 +08:00
Andrew Nicols c00552b3b0 MDL-68454 table: Move get_context from dynamic to flexible 2020-05-04 11:52:19 +08:00
Andrew Nicols ff475522fb MDL-68454 table: Drop get_unique_id_from_argument fn requirement
This was originally intended to be a way for the calling code to specify
data as part of the table construction which could then be used as
appropriate. When the filterset was created the requirement for this
function no longer existed.

Removing this to simplify the API.
2020-05-04 11:52:19 +08:00
Jake Dallimore cd98a57b9f Merge branch 'MDL-68382-master' of https://github.com/HuongNV13/moodle 2020-05-04 10:37:50 +08:00
David Saylor 525a9da269 MDL-52904 completion: reference context in cron query
Co-authored-by: Barbara Lawrence <blawrence@harlow-college.ac.uk>
2020-05-04 09:57:37 +08:00
Jun Pataleta 9d65860430 MDL-52904 completion: Unit tests for daily completion task 2020-05-04 09:57:30 +08:00
Adrian Greeve 4f7b9e3276 Merge branch 'MDL-68330-master-2' of git://github.com/mihailges/moodle 2020-05-04 07:15:03 +08:00
Ruslan Kabalin 50bf320f4d MDL-68592 formslib: Fix inline layout for nested groups 2020-05-03 21:02:30 +01:00
Andrew Nicols 2d1944fe60 Merge branch 'MDL-66263' of https://github.com/stronk7/moodle 2020-05-03 20:21:17 +08:00
Andrew Nicols e2ad2506df Merge branch 'MDL-68589' of https://github.com/stronk7/moodle 2020-05-03 20:13:54 +08:00
Andrew Nicols 53c06b63c5 Merge branch 'MDL-68473-master' of git://github.com/vmdef/moodle 2020-05-03 19:59:46 +08:00
Eloy Lafuente (stronk7) 2f24562d07 MDL-68589 plist: Add information about local changes 2020-05-03 01:28:41 +02:00
Eloy Lafuente (stronk7) bf527c8bf9 MDL-68589 plist: PHP 7.4 curly bracket fixes
Note this is, partially, https://github.com/TECLIB/CFPropertyList/pull/61

I only have applied the stricly required PHP 7.4 changes, keeping
apart the intval() ==> (int) change, because that's unrelated to
this fix.
2020-05-03 01:05:10 +02:00
Eloy Lafuente (stronk7) 31bb99549e MDL-66263 travis: Simple bump to php74
Also update a couple of places (mysql, node)
that were not runnig really on highest. Now they are.
2020-05-02 17:19:15 +02:00
Eloy Lafuente (stronk7) cd391f9922 on-demand release 3.9dev+ 2020-05-02 16:37:31 +02:00
Eloy Lafuente (stronk7) 89696acccf Merge branch 'install_master' of https://git.in.moodle.com/amosbot/moodle-install 2020-05-02 16:37:29 +02:00
Eloy Lafuente (stronk7) 1097530242 Merge branch 'MDL-68328-dlfix' of https://github.com/cengage/moodle 2020-05-01 23:33:08 +02:00
Claude Vervoort 779e753faf MDL-68328 mod_lti: resourcekey and pwd hidden not removed 2020-05-01 15:03:14 -04:00
Juan Leyva f724514e4f MDL-68537 tool_mobile: Add new features to disable
We need to allow admins to disable the new things coming in the app.
2020-05-01 17:55:38 +02:00
Eloy Lafuente (stronk7) 157f5c9e54 Merge branch 'MDL-66135' of https://github.com/paulholden/moodle 2020-05-01 16:07:56 +02:00
Víctor Déniz Falcón a8455b7240 MDL-68473 core_h5p: moved fixture to anonymous class 2020-05-01 14:25:11 +01:00
Victor Deniz Falcon e4127c9262 MDL-68473 core_h5p: fixed import of moodleform class 2020-05-01 13:59:16 +01:00
Paul Holden e1dfd4b83c MDL-66135 tool_uploadcourse: case-insensitive date string comparison.
Account for PM/pm differences in PHP on different OS.
2020-05-01 09:05:07 +01:00
Jun Pataleta c9a5ccccf0 Merge branch 'MDL-67798-master-fix' of git://github.com/andrewnicols/moodle 2020-05-01 15:44:26 +08:00
Andrew Nicols 9e0c40d1bd MDL-67798 contentbank: Sort data before comparison 2020-05-01 15:42:01 +08:00
Bas Brands 4a6215149e MDL-67689 theme_boost: improve theme designer mode performance 2020-05-01 08:26:50 +02:00
Andrew Nicols 3076dfe55d Merge branch 'MDL-68492-master' of https://github.com/sammarshallou/moodle 2020-05-01 12:07:00 +08:00
Andrew Nicols ce8cc79712 MDL-67798 contentbank: Whitespace fixes 2020-05-01 11:51:15 +08:00
Andrew Nicols 468817abcd Merge branch 'MDL-67798-master' of git://github.com/cescobedo/moodle 2020-05-01 11:43:20 +08:00
Andrew Nicols aa3813b72b Merge branch 'master_MDL-67540' of https://github.com/golenkovm/moodle 2020-05-01 11:20:55 +08:00
Jun Pataleta cfcbebaacb Merge branch 'MDL-68506-master' of git://github.com/andrewnicols/moodle 2020-05-01 11:20:21 +08:00
Andrew Nicols 8d186121ab Merge branch 'MDL-57680' of https://github.com/timhunt/moodle 2020-05-01 11:00:19 +08:00
Dmitrii Metelkin 327da79b27 MDL-67850 quizaccess: change SEB supported versions 2020-05-01 10:59:36 +08:00
Dmitrii Metelkin baed1968b5 MDL-67850 quizaccess: fix broken unit tests 2020-05-01 10:59:08 +08:00
Dmitrii Metelkin 4b6c4f6713 MDL-67850 quizaccess: remove invalid white spaces 2020-05-01 10:58:30 +08:00
Dmitrii Metelkin 4aaf342df7 MDL-67850 lib: remove trailing slash for plist 2020-05-01 10:58:18 +08:00
Andrew Nicols 5a477de341 Merge branch 'MDL-43156' of https://github.com/stronk7/moodle 2020-05-01 10:16:37 +08:00
Eloy Lafuente (stronk7) fcad901c73 Merge branch 'MDL-66135' of https://github.com/paulholden/moodle 2020-05-01 01:51:49 +02:00
Bas Brands 555ec89ad3 MDL-68329 cache: Improve cache performance footer info 2020-05-01 01:13:37 +02:00
Paul Holden d62fc08ed9 MDL-66135 tool_uploadcourse: support custom course fields. 2020-05-01 00:10:15 +01:00
Eloy Lafuente (stronk7) fd0344e388 Merge branch 'MDL-68328-dlfix' of https://github.com/cengage/moodle 2020-05-01 00:32:00 +02:00
Eloy Lafuente (stronk7) 9b0a1e2a98 Merge branch 'MDL-68427-master' of git://github.com/andrewnicols/moodle 2020-04-30 23:35:09 +02:00
Davo Smith 9da975fe21 MDL-43156 core_form: fix handling of fixture form
Also moving it from behat_forms to behat_navigation
2020-04-30 20:39:24 +02:00
Davo Smith 5079271b39 MDL-43156 formslib: newly-created repeat elements get the default values 2020-04-30 20:16:07 +02:00
JayChurchward 869f44063e MDL-68542 editor-atto: Change the bold tag to <strong>. 2020-04-30 11:29:22 -04:00
Mike Churchward 7e03b27dd9 MDL-68541 editor-atto: Limiting alt text length, changing ignore text. 2020-04-30 09:47:59 -04:00
Jun Pataleta 9be6c16a37 Merge branch 'MDL-66732' of https://github.com/paulholden/moodle 2020-04-30 17:16:16 +08:00
Andrew Nicols e217c0f326 Merge branch 'MDL-67075-redis-session-locks' of https://github.com/brendanheywood/moodle 2020-04-30 16:05:05 +08:00
Jun Pataleta 2a858c2d5e Merge branch 'MDL-68404-master' of git://github.com/lucaboesch/moodle 2020-04-30 13:33:45 +08:00
Brendan Heywood 7bc8ccdcf0 MDL-67075 session: Added extra debugging of blocking redis session locks 2020-04-30 13:06:07 +10:00
Jun Pataleta 728b03c049 Merge branch 'MDL-68309-master' of https://github.com/snake/moodle 2020-04-30 09:57:50 +08:00
Jake Dallimore 192a43f109 Merge branch 'MDL-67850-seb-integration-3' of https://github.com/catalyst/moodle 2020-04-30 09:13:14 +08:00
AMOS bot 573704d577 Automatically generated installer lang files 2020-04-30 00:11:50 +00:00
Huong Nguyen d0311165a7 MDL-68446 drag to image qtypes: remove hard-coded image size limits 2020-04-29 22:59:53 +01:00
Eloy Lafuente (stronk7) 9b2b1f3fa5 Merge branch 'MDL-68434-master-enfix' of git://github.com/mudrd8mz/moodle 2020-04-29 22:52:40 +02:00
Huong Nguyen a05ef1307e MDL-58645 Drag and drop onto image questions: responsive support 2020-04-30 00:43:45 +07:00
David Mudrák 8599eb5ebb MDL-68434 lang: Use the updated terminology in the tests 2020-04-29 17:40:58 +02:00
Neosi d772cce77a MDL-68551 editor-atto: change <strike> to <del> 2020-04-29 16:00:12 +01:00
David Mudrák 1338b9df8b MDL-68556 admin: Fix some minor styling issues on the plugins check page
The patch fixes missing space around elements and some other minor
visual issues detected. This was a good opportunity to get rid of custom
CSS rules and use the native bootstrap classes and utilities.
2020-04-29 14:40:45 +02:00
Adrian Greeve b8cf95bb48 Merge branch 'MDL-68442-master' of git://github.com/andrewnicols/moodle 2020-04-29 13:54:57 +08:00
Dmitrii Metelkin 78adf6f63a MDL-67850 quizaccess: remove the old quizaccess_safebrowser
Co-authored-by: Nicholas Hoobin <nicholashoobin@catalyst-au.net>
Co-authored-by: Andrew Madden <andrewmadden@catalyst-au.net>
2020-04-29 14:29:21 +10:00
Andrew Madden 79f621241c MDL-67850 quizaccess: add Safe Exam Browser access rule plugin
Co-authored-by: Nicholas Hoobin <nicholashoobin@catalyst-au.net>
Co-authored-by: Dmitrii Metelkin <dmitriim@catalyst-au.net>
2020-04-29 14:28:54 +10:00
Andrew Madden 3df8492132 MDL-67850 lib: add new plist library
Co-authored-by: Nicholas Hoobin <nicholashoobin@catalyst-au.net>
Co-authored-by: Dmitrii Metelkin <dmitriim@catalyst-au.net>
2020-04-29 14:10:22 +10:00
Andrew Nicols eb0ddccd49 Merge branch 'MDL-68433-adhoc-task-lookahead' of https://github.com/brendanheywood/moodle 2020-04-29 08:22:27 +08:00
Andrew Nicols cb8ad9c76e Merge branch 'MDL-68378-master' of git://github.com/rezaies/moodle 2020-04-29 08:19:09 +08:00
Eloy Lafuente (stronk7) 368dd60877 Merge branch 'MDL-64417' of https://github.com/paulholden/moodle 2020-04-28 23:55:22 +02:00
Eloy Lafuente (stronk7) e8ab043ec2 Merge branch 'MDL-68329-cache-info' of https://github.com/brendanheywood/moodle 2020-04-28 23:34:41 +02:00
Dan Marsden a542fe35b5 MDL-67497 lib: backuptargetimport should be set as captype:read 2020-04-29 08:11:17 +12:00
Jun Pataleta 0ec4dd8333 Merge branch 'MDL-67915-master' of git://github.com/lameze/moodle 2020-04-28 23:11:38 +08:00
Claude Vervoort f259405d02 MDL-68328 mod_lti: use hidden form when deeplink options disabled 2020-04-28 10:18:03 -04:00
Luca Bösch e944a8f86d MDL-68404 gradingform_rubric: Style "Add level" button. 2020-04-28 14:06:49 +02:00
Andrew Nicols b2404fa5e2 Merge branch 'MDL66035_master' of https://github.com/jwalits/moodle 2020-04-28 20:04:34 +08:00
Helen Foster 1fce3f52ac MDL-68434 lang: Import fixed English strings (en_fix)
Significant string changes:

* pluginnamesummary,qtype_ddimageortext and
  pluginnamesummary,qtype_ddmarker - Note about the question type not
  being accessible to visually impaired users

* addresourceoractivity,core - Removing 'resource' as the new activity
  chooser doesn't have resource types separated
2020-04-28 14:01:20 +02:00
Andrew Nicols 38a1ccf7d4 Merge branch 'MDL-68445' of https://github.com/stronk7/moodle 2020-04-28 18:29:20 +08:00
Julien Boulen 7d918bc693 MDL-68137 core_files: replace consecutive dots in filename by single dot 2020-04-28 11:29:35 +02:00
Eloy Lafuente (stronk7) f570a79071 on-demand release 3.9dev+ 2020-04-28 11:15:48 +02:00
Eloy Lafuente (stronk7) 724a1a1d1d NOBUG: Fixed SVG browser compatibility 2020-04-28 11:15:46 +02:00
Eloy Lafuente (stronk7) f5eccb7071 Merge branch 'install_master' of https://git.in.moodle.com/amosbot/moodle-install 2020-04-28 11:15:44 +02:00
Andrew Nicols e684b41b6e Merge branch 'MDL-68525-master' of git://github.com/andrewnicols/moodle 2020-04-28 10:19:56 +02:00
Andrew Nicols 605107b147 Merge branch 'MDL-66259' of https://github.com/stronk7/moodle 2020-04-28 10:19:53 +02:00
Andrew Nicols 594189eb70 Merge branch 'MDL-67316' of https://github.com/stronk7/moodle 2020-04-28 10:19:50 +02:00
Andrew Nicols 96c7c37bf3 Merge branch 'MDL-68047' of https://github.com/stronk7/moodle 2020-04-28 10:19:47 +02:00
Eloy Lafuente (stronk7) b03a63337d Merge branch 'MDL-68342-xsendfile-file' of https://github.com/brendanheywood/moodle 2020-04-28 10:19:44 +02:00
Huong Nguyen 8b52ca84ab MDL-68143 Workshop: should remember collapsed/expanded sections 2020-04-28 13:53:26 +07:00
Huong Nguyen d2fa9e7981 MDL-68382 Drag and drop marker questions: responsive support
These changes also make it possible to print these questions.
2020-04-28 13:52:14 +07:00
Eloy Lafuente (stronk7) c3e04b2c3c MDL-68525 behat: chrome/switches caps not allowed in Chrome > 81
Now we need to use extra_capabilities/chromeOptions/args instead

The former was deprecated long ago, it seems that Chrome 81 has
stopped accepting it. The later seems to be working at very least
since Chrome 76 (haven't gone further back).
2020-04-28 12:31:58 +08:00
Andrew Nicols 829f860321 MDL-68442 user: Add notifications on unenrol/update 2020-04-28 10:21:45 +08:00
Andrew Nicols 478039f99a MDL-68442 user: Rewrite participant status to work with dynamic tables 2020-04-28 10:21:45 +08:00
Andrew Nicols 143ebb9b20 MDL-68442 user: Rewrite enrolment actions as ES6 2020-04-28 10:21:28 +08:00
Brendan Heywood 9f4bb48e40 MDL-68329 cache: Improve cache performance footer info 2020-04-28 10:08:28 +10:00
Eloy Lafuente (stronk7) a8eba6e4f4 Merge branch 'MDL-68383-master' of git://github.com/bmbrands/moodle 2020-04-27 23:40:14 +02:00
Eloy Lafuente (stronk7) b1c4bd23d0 Merge branch 'MDL-68477-master' of git://github.com/lameze/moodle 2020-04-27 23:30:09 +02:00
Eloy Lafuente (stronk7) 20860a339e Merge branch 'master' of https://github.com/DrCuriosity/moodle 2020-04-27 23:08:26 +02:00
Eloy Lafuente (stronk7) 606011b065 Merge branch 'MDL-67797-master' of git://github.com/sarjona/moodle 2020-04-27 23:00:59 +02:00
Juan Leyva e624a2c8a1 MDL-68293 mobile: Update language strings to mention new app plans
We need to update different language strings to let our site admins know about the new app restrictions
(for both features and user devices able to receive notifications)
2020-04-27 18:26:30 +02:00
Eloy Lafuente (stronk7) ab09f4ee5f Merge branch 'MDL-68393-master-availableupdateui' of git://github.com/mudrd8mz/moodle 2020-04-27 17:39:39 +02:00
Eloy Lafuente (stronk7) 06248a23d4 Merge branch 'MDL-67701-master' of git://github.com/ferranrecio/moodle 2020-04-27 17:36:49 +02:00
Eloy Lafuente (stronk7) 65848c3ba4 Merge branch 'MDL-68515-master-report_status_standard' of git://github.com/mudrd8mz/moodle 2020-04-27 17:33:15 +02:00
Eloy Lafuente (stronk7) 5942d26e24 Merge branch 'MDL-65967-master' of https://github.com/danielneis/moodle 2020-04-27 17:31:20 +02:00
hiendinh ad2ef9dd44 MDL-68248 Blocks: My overview block: Add sort by short name 2020-04-27 17:37:45 +07:00
Brendan Heywood 5bf5a7aaeb MDL-68342 files: Add a faster xsendfile method to avoid db lookups 2020-04-27 16:11:34 +10:00
AMOS bot 01cc802d27 Automatically generated installer lang files 2020-04-27 00:11:23 +00:00
Jwalit Shah d743aaf262 MDL-66035 message: Restore missing message preferences files 2020-04-27 09:48:41 +10:00
Tim Hunt 848a29cf51 MDL-57680 form autocomplete: extend Behat tests 2020-04-26 15:11:25 +01:00
Tim Hunt be612e5f68 MDL-57680 form autocomplete: fix triggering change event 2020-04-26 13:23:42 +01:00
Tim Hunt 588b86fd49 MDL-57680 form autocomplete: let singleselects be cleared.
This was already working after ajax had refreshed the choices, it was just
broken on first page load.
2020-04-26 13:23:42 +01:00
Mikhail Golenkov 8c287a6696 MDL-67540 quiz: Start transaction before selecting existing slots.
Co-authored-by: Conn <conn@cmrwarwicker.com>
2020-04-26 10:54:14 +10:00
Thiagolivramento 934ad2c869 MDL-65967 tool_recyclebin: add recycle bin link to category edit menu 2020-04-24 17:07:38 -03:00
Claude Vervoort b33e8c8524 MDL-65306 mod_lti: preserve resourceid restoring older backups 2020-04-24 15:37:55 -04:00
Claude Vervoort cfbc361dd6 MDL-65306 mod_lti: remove direct coupling to subplugin 2020-04-24 15:30:27 -04:00
Claude Vervoort e5423ddb93 MDL-65306 mod_lti: fix deeplinking support for tag and resourceid 2020-04-24 15:30:26 -04:00
Eloy Lafuente (stronk7) 74ccea0127 Merge branch 'MDL-68514-master' of git://github.com/sarjona/moodle 2020-04-24 19:23:16 +02:00
David Mudrák 50396bbe4e MDL-68515 admin: Mark the system status report as a standard plugin 2020-04-24 17:16:46 +02:00
Sara Arjona 44642b0a83 MDL-68514 contentbank: fix behat issues with classic 2020-04-24 16:47:02 +02:00
cescobedo aeacd6c862 MDL-67798 core_contentbank: Add privacy provider 2020-04-24 16:39:41 +02:00
Eloy Lafuente (stronk7) 98cc4d0445 MDL-68445 behat: Bump to 3.6.x
composer.lock generated with PHP 7.2, following:

https://docs.moodle.org/dev/Composer#How_to_prepare_and_submit_composer_changes

Also, ensure Symfony/Process > 4.0 compatibility
(needed for parallel runs)
2020-04-24 15:57:09 +02:00
Eloy Lafuente (stronk7) 486bf50413 MDL-67316 ldap: Pass correct hex chars to hexdec()
Before php74 they were silently discarded, now they
show a deprecation message.
2020-04-24 15:56:38 +02:00
Eloy Lafuente (stronk7) 3b69ed2104 MDL-67316 typo3: Pass correct hex chars to hexdec()
Typo3 was relaying on the feature of base converter
functions silently removing invalid chars so, for example:

'U+00A0' => '00A0' => 160

Since php74, the existence of those invalid chars do produce
a deprecation warning, no matter the outcome continues being the same.

So, here, we are just converting that invalud 'U+' by '0x'
2020-04-24 15:56:38 +02:00
Tim Hunt a196cf5ac1 MDL-66259 qtypes: Add missing comment on get_random_guess_score
A bit off-topic for this issue number, but I noticed it while
working on this, and though it was not worth creating a
separate MDL for.
2020-04-24 15:56:23 +02:00
Tim Hunt 82df13aead MDL-66259 qtype_numerical: remove no-longer relevant todo I noticed 2020-04-24 15:56:23 +02:00
Eloy Lafuente (stronk7) bb930b7d5b MDL-66259 qtypes: get_question_options() always call parent::
To get the question->options initialised, children must
call parent::get_question_options() always. Also, it is
just general good practice. Subclasses are meant to be
adaptations of the base class, not something completely
different.

Note, there are some changes in the data structure
produced (see changes in the tests) but these changes
are not wrong.
2020-04-24 15:56:23 +02:00
Tim Hunt 5c3f700ac7 MDL-66259 quiz responses: fix unrealistic test setup 2020-04-24 15:56:23 +02:00
Eloy Lafuente (stronk7) 0447277904 MDL-66259 qtype: add tests to all remaining involved qtypes
That way we get the load_question_data() method covered
and all the main data, options, hints checked.
2020-04-24 15:56:23 +02:00
Tim Hunt 9874e7cdd0 MDL-66259 qtype_truefalse: unit test of loading questions from the DB
This is about to be changes, so we need a test first to catch regressions.
2020-04-24 15:56:23 +02:00
sam marshall 111cf93b71 MDL-68492 Behat: Use faster direct link steps in lib/tests/behat 2020-04-24 12:09:15 +01:00
sam marshall be32dc800d MDL-68492 Behat: Direct URL links for courses, activities 2020-04-24 12:09:14 +01:00
Tim Hunt fa7431ce50 MDL-68252 question tags: fix tag editing for missingtype questions 2020-04-24 11:26:12 +01:00
Simey Lameze e2f12c2220 MDL-67915 core_table: add support for hide and show of columns 2020-04-24 18:23:34 +08:00
Tim Hunt 89692520e8 MDL-68252 question bank: for 'missingtype' questions, hide actions 2020-04-24 09:58:35 +01:00
Paul Holden adca2ab629 MDL-66135 customfield: allow calling code to set form category headings. 2020-04-24 08:32:54 +01:00
Paul Holden 1084f8bf79 MDL-66135 customfield: method to allow fields to parse values.
This is useful when the value is coming from an external source (e.g. course upload tool).
2020-04-24 08:32:54 +01:00
Sara Arjona 1bb3663c19 MDL-67797 contentbank: review class_exists uses 2020-04-24 09:28:24 +02:00
Sara Arjona 1f8dfe79ce MDL-67797 contentbank: use the search_contents method 2020-04-24 09:28:24 +02:00
Sara Arjona fb445c76c8 MDL-67797 contentbank: add search_contents method 2020-04-24 09:28:24 +02:00
Jun Pataleta 3c28246234 MDL-68355 gradingform_guide: Fix accessibility issues
* Add sr-only label for criterion information.
* Add sr-only label for frequently used comments picker button.
* Removed unused string grade_help.
* Fixed tags for hidden help texts, changing them from <small> to <span>
* Added aria-label for the score and additional comments fields so that
  the user would know which criterion they are currently working on.
* Added score_help and remark_help lang strings for more description
  for the score and additional comments fields.
* Remove text-muted class for additional comments' field label to avoid
  colour contrast issues.
2020-04-24 15:05:09 +08:00
Mihail Geshoski 255a62ff88 MDL-68330 media_videojs: Fix videojs player rendering issue 2020-04-24 14:57:02 +08:00
Andrew Nicols ca69d3875e MDL-68506 core_table: Add a tableContentRefreshed event 2020-04-24 14:53:35 +08:00
Jun Pataleta f6f1014761 MDL-68465 message_email: Deprecate emaildigestsubject lang string 2020-04-24 11:42:40 +08:00
Jun Pataleta 1f7e9a698a MDL-68465 message_email: Add site name to digest email 2020-04-24 11:41:41 +08:00
Jun Pataleta 9df4a4de18 weekly release 3.9dev 2020-04-24 09:41:01 +08:00
Jun Pataleta 529b53030a Merge branch 'install_master' of https://git.in.moodle.com/amosbot/moodle-install 2020-04-24 09:41:00 +08:00
Mark Johnson f77212a051 MDL-68503 user profile: Make sortorders relative to existing records 2020-04-23 15:55:03 +01:00
Eloy Lafuente (stronk7) b88f74c9ee Merge branch 'MDL-67886' of https://github.com/stronk7/moodle 2020-04-23 16:06:06 +02:00
Tim Hunt 2bfb8d4a3d MDL-63812 qtype_gapselect: fix questions with non-consecutive gap nos 2020-04-23 14:39:52 +01:00
Tim Hunt fdbff6cecb MDL-63812 qtype_gapselect: test data generator to standard qtype pattern 2020-04-23 14:39:52 +01:00
Eloy Lafuente (stronk7) 543b7bcfd9 Merge branch 'MDL-67795-master' of git://github.com/sarjona/moodle 2020-04-23 13:18:43 +02:00
Sara Arjona de322e3de6 MDL-67795 contentbank: make consistent $record vs $content 2020-04-23 13:09:40 +02:00
Sara Arjona 45192e9a87 MDL-67795 contentbank: delete content UI 2020-04-23 13:09:40 +02:00
Sara Arjona 58f85a6c6e MDL-67795 contentbank: clean all the content when uninstalling plugin 2020-04-23 13:09:40 +02:00
Sara Arjona f627173ce3 MDL-67795 contentbank: new external for deleting content 2020-04-23 13:09:40 +02:00
Sara Arjona c0d615e8f9 MDL-67795 contentbank: delete content API 2020-04-23 13:09:40 +02:00
Sara Arjona 7fc73af69b MDL-67795 contentbank: add generator 2020-04-23 13:09:40 +02:00
Sara Arjona 153c45625d MDL-67795 h5p: move methods from player to helper 2020-04-23 13:09:40 +02:00
Eloy Lafuente (stronk7) d584d34967 MDL-67886 phpunit: Make tests cross-db
The suggested SQL in some of the assertions was not cross-db
but db-dependent. Now we just keep that part out from the
assertions, because it's not important to verify the
errors that are being asserted.
2020-04-23 13:03:03 +02:00
Bas Brands d6cd1d87cf MDL-68497 theme_boost: font smoothing for Firefox on Mac 2020-04-23 10:29:07 +02:00
Eloy Lafuente (stronk7) 172d3ee7ab Merge branch 'MDL-67886_master' of git://github.com/mdjnelson/moodle 2020-04-23 15:01:40 +08:00
Eloy Lafuente (stronk7) d56c7547d6 Merge branch 'MDL-58018_master-arraycomparison' of git://github.com/mdjnelson/moodle 2020-04-23 15:00:57 +08:00
Jun Pataleta 66ecaa0b0c Merge branch 'MDL-68392' of https://github.com/stronk7/moodle 2020-04-23 15:00:57 +08:00
Jun Pataleta 1dce78d8d2 Merge branch 'MDL-68341-master' of git://github.com/lameze/moodle 2020-04-23 15:00:56 +08:00
Jun Pataleta 31066f91bd Merge branch 'MDL-68356-master' of git://github.com/cescobedo/moodle 2020-04-23 15:00:56 +08:00
Jun Pataleta 53cecde5a8 Merge branch 'MDL-68339' of https://github.com/stronk7/moodle 2020-04-23 15:00:56 +08:00
Jun Pataleta 799572268b Merge branch 'MDL-67095-master' of git://github.com/cescobedo/moodle 2020-04-23 15:00:55 +08:00
Jun Pataleta 62b586e5a0 Merge branch 'MDL-68318-master' of git://github.com/andrewnicols/moodle 2020-04-23 15:00:55 +08:00
Simey Lameze 8bb8c2852d MDL-68477 libraries: add legend option examples to test page 2020-04-23 09:23:21 +08:00
David Thompson 5bc86614a2 MDL-68477 libraries: support for Chart.js legend options. 2020-04-23 09:23:21 +08:00
AMOS bot e859cf7146 Automatically generated installer lang files 2020-04-23 00:14:29 +00:00
Mark Nelson fad610045b MDL-67886 tool_xmldb: checks for extra indexes 2020-04-23 00:45:43 +02:00
Mark Nelson 47f3fa131a MDL-67886 core: check_database_schema() checks for extra indexes 2020-04-23 00:45:43 +02:00
Mark Nelson a8c38ce85b MDL-67886 core: check_database_schema() checks for missing indexes 2020-04-22 23:22:18 +02:00
Tim Hunt 07d90238c6 MDL-57240 quiz: don't show useless links on overdue attempt summary page 2020-04-22 21:38:19 +01:00
Bas Brands ac00aec239 MDL-68383 contentbank: improve css for content bank 2020-04-22 15:50:46 +02:00
Ferran Recio 05da45ccf2 MDL-67701 mod_h5pactivity: new activity icon 2020-04-22 11:31:13 +02:00
Shamim Rezaie 8a944856eb MDL-68343 gradereport_singleview: Remove adjacent links to the same URL 2020-04-22 04:30:53 +10:00
Shamim Rezaie 976dac3fd1 MDL-68343 gradereport_singleview: Use caption instead of summary
The summary attribute on the table element is obsolete.
2020-04-22 04:30:53 +10:00
Shamim Rezaie 4e9b0c4278 MDL-68343 gradereport_singleview: fix empty links 2020-04-22 04:30:53 +10:00
Shamim Rezaie 1031303a54 MDL-68343 gradereport_singleview: Only output label tag if label exists
This also fixes the issue of having multiple form labels for a single
element.
2020-04-22 04:30:53 +10:00
Shamim Rezaie d28b4ec326 MDL-68343 output: fix html table structure
A <th> that contains no text may result in cells with missing or
incorrect header information. WAVE advises that we should make a cell
a <td> rather than a <th> if the cell must remain empty (such as the
top-left cell in a data table).

Also note that the scope attribute is only valid for <th>
2020-04-22 04:30:53 +10:00
Shamim Rezaie 2a14ef789b MDL-68378 core: url_select listens to accessibleChange event 2020-04-22 04:16:44 +10:00
Shamim Rezaie a97c40cf83 MDL-68378 core: update single_select to listen to accessibleChange event 2020-04-22 04:16:44 +10:00
Shamim Rezaie df35a03367 MDL-68378 forumreport_summary: action menu listens to accessibleChange 2020-04-22 04:16:44 +10:00
Shamim Rezaie 2858814aaa MDL-68378 user: listen to the accessibleChange event instead of change 2020-04-22 04:16:44 +10:00
Shamim Rezaie 505cc918b7 MDL-68378 lib: Added accessibleChange custom event 2020-04-22 04:16:44 +10:00
Mark Nelson 39770792ca MDL-58018 core: add support to redis for read-only sessions 2020-04-21 19:29:12 +02:00
Mark Nelson 7daa126d1d MDL-58018 core: add support to database for read-only sessions 2020-04-21 19:29:12 +02:00
Mark Nelson 4400ed3e1c MDL-58018 core: finish dev to support open sessions without a lock 2020-04-21 19:29:12 +02:00
Paul Holden 54cb5666c1 MDL-64417 message_popup: remove old notifications during cleanup task.
Add upgrade step to remove existing orphaned records.
2020-04-21 14:48:22 +01:00
Paul Holden db8bda61a3 MDL-64417 message: allow processors to run their own cleanup tasks. 2020-04-21 14:48:22 +01:00
Paul Holden 956f636d83 MDL-63609 media_videojs: support Youtube URL start time. 2020-04-21 14:46:05 +01:00
Paul Holden d99e0ab7a2 MDL-62853 privacy: sanitize subcontext paths. 2020-04-21 14:38:22 +01:00
Paul Holden 59f941f6db MDL-66917 admin: validate uploaded plugin version.
Prevent overwriting current plugins with older versions of themselves.
2020-04-21 14:35:59 +01:00
Simey Lameze fb17c31c46 MDL-68341 core_table: fix wrong participanttablehtml variable name 2020-04-21 10:28:05 +08:00
Simey Lameze ad176d6f0a MDL-68341 core_table: improve fetch WS php unit coverage 2020-04-21 10:28:05 +08:00
Simey Lameze 4cf97b7f42 MDL-68341 core_table: add component parameter to fetch WS 2020-04-21 10:28:01 +08:00
cescobedo 3f5e386db7 MDL-68356 core_h5p: Fix h5p mimetype
Add a correct mime type for h5p files and update existing
mime type for stored h5p files.
2020-04-20 17:07:14 +02:00
Adam Eijdenberg 82da35fd51 MDL-58018 core: Enable read-only sessions for key pages
These pages are often loaded in parallel.
2020-04-20 14:13:35 +02:00
Adam Eijdenberg 1c3b89b170 MDL-58018 core: Add support to open sessions without a lock 2020-04-20 14:13:34 +02:00
Bas Brands 45decc81c4 MDL-67881 core_message: fix tab order for message drawer 2020-04-20 11:37:34 +02:00
Adrian Greeve 5d1ff2aa96 Merge branch 'MDL-66920' of https://github.com/Cvmcosta/moodle 2020-04-20 08:28:25 +08:00
Andrew Nicols 8080ea4e72 MDL-68318 core: Add GitHub Funding information
This links directly to our own pages relating to funding.
2020-04-20 07:57:05 +08:00
AMOS bot 971f958a7c Automatically generated installer lang files 2020-04-19 00:13:11 +00:00
Brendan Heywood c80bcd56fd MDL-68443 xmldb: Improve path validation on view_xml action 2020-04-18 20:50:03 +10:00
Andrew Nicols e74c253037 Merge branch 'MDL-67317' of https://github.com/stronk7/moodle 2020-04-17 18:35:10 +08:00
cescobedo e84ce938d9 MDL-67095 core_h5p: Prevent synchronous access to save the same h5p
When deploying a new H5P resource we need to ensure that
we don't start deploying the same H5P in another thread
(e.g. for another session/user).
2020-04-17 09:14:18 +02:00
David Thompson ab0d409991 MDL-68386 libraries: Enhancement for Area Charts support with chart.js. 2020-04-17 09:12:41 +12:00
Eloy Lafuente (stronk7) 5d0b046594 MDL-67317 behat: Bump to 3.39.2 moodle-behat-extension
It comes with behat/mink 1.8.x that provides php74 compatibility.

lock file generated with php72 (min version supported by the branch)
2020-04-16 20:28:49 +02:00
Eloy Lafuente (stronk7) 98f56e6f4b MDL-67317 behat: Ensure that on every scenario we have a session.
Before Mink 1.8.0, any call to getSession() used to auto-start
the session if it was not avaliable there. That always has been
an unsupported detail.

With https://github.com/minkphp/Mink/pull/705 new sessions aren't
auto-created anymore.

And we were relying on that.

So this is, simply about to explicitly create the new session
in our before_scenario stuff, to guarantee that it's always there.
2020-04-16 20:28:49 +02:00
Eloy Lafuente (stronk7) 3d88307f8f MDL-68339 message: move array_key_exists() to property_exists()
Towards PHP 7.4 compliance:

array_key_exists(): Using array_key_exists() on objects is
deprecated. Use isset() or property_exists() instead
2020-04-16 20:28:22 +02:00
Eloy Lafuente (stronk7) 788dfb9c7d weekly release 3.9dev 2020-04-16 19:33:49 +02:00
Eloy Lafuente (stronk7) 6f9a84348c NOBUG: Fixed SVG browser compatibility 2020-04-16 19:33:44 +02:00
Eloy Lafuente (stronk7) 877c5c7d9f Merge branch 'install_master' of https://git.in.moodle.com/amosbot/moodle-install 2020-04-16 19:33:42 +02:00
Sara Arjona 0a05ca3604 MDL-67788 h5p: fix issue for non logged-in users 2020-04-16 15:50:10 +02:00
Brendan Heywood 611d6c1e29 MDL-68433 tasks: Limit the adhoc task queue look ahead 2020-04-16 23:33:07 +10:00
carlos 32591786d9 MDL-66920 mod_lti: Allow usage of both JWKS URI and Public Key
- Changed mod_lti edit_form.php to add necessary fields.
- Added configuration field 'keytype' that can be RSA_KEY or JWK_KEYSET, defaulting to RSA_KEY if none is found.
- Changed mod_lti locallib.php to add the usage of jwk in the verifications of jwt's.
- Changed mod_lti token.php to call the verification function from locallib.php.
- Caches the keyset endpoint content of any given lti tool.
- Updated language files to accommodate new functionalities.
- Added test method for JWK functionalities.
- Added test_keyset file in the fixtures folder.
- Bumped the mod_lti version to 2020022200.
2020-04-16 08:53:53 -03:00
Sara Arjona 2ac1d9aedf MDL-67814 h5p: recover missed xAPI settings 2020-04-16 09:36:05 +01:00
Andrew Nicols 3e5a8acc85 MDL-68427 core: Correct previous/next page in paging bar 2020-04-16 14:40:01 +08:00
Adrian Greeve 1e33203b82 MDL-67814 core_h5p: Revert of eslintignore change
Also has update to fix js global properly.
2020-04-16 14:02:25 +08:00
Jun Pataleta 477ef861a0 Merge branch 'MDL-68113-master' of https://github.com/HuongNV13/moodle 2020-04-16 11:46:50 +08:00
Adrian Greeve 7b13120ad1 MDL-67814 core_h5p: Update to eslintignore to handle included file.
The H5PEditor is already loaded. This causes grunt to complain.
2020-04-16 11:42:53 +08:00
Víctor Déniz Falcón eeb90e7e70 MDL-67814 core_h5p: added renderer and editor classes 2020-04-16 11:29:35 +08:00
Víctor Déniz Falcón 8c325d3feb MDL-67814 core_h5p: modifications to interact with the Hub selector
The HUB selector allows you to install/update H5P content types from
the H5P editor. We have moved these features to the Content Bank, so we
will not show the HUB selector in the H5P editor.
2020-04-16 11:29:35 +08:00
Víctor Déniz Falcón a0ce8f87b3 MDL-67814 core_h5p: moved common methods from player to helper class 2020-04-16 11:29:35 +08:00
Víctor Déniz Falcón 6da050d72a MDL-67814 core_h5p: implemented H5P Core/Editor library interfaces 2020-04-16 11:29:35 +08:00
Víctor Déniz Falcón 8d702491bc MDL-67814 core_h5p: added H5P Editor PHP library
Added the third party libray "H5P Editor PHP to the v124 h5plib plugin.
2020-04-16 11:27:49 +08:00
Adrian Greeve 50dbf7e9c8 Merge branch 'MDL-68196-master' of git://github.com/rezaies/moodle 2020-04-16 10:55:11 +08:00
Shamim Rezaie 517e568e5a MDL-68196 core: not expand autocomplete elements too soon on IE 2020-04-16 12:25:37 +10:00
Eloy Lafuente (stronk7) d26a13b407 Merge branch 'MDL-66849-master' of https://github.com/ised-isde-canada/moodle 2020-04-16 01:01:32 +02:00
Eloy Lafuente (stronk7) 2347ab5a3b Merge branch 'MDL-68323-master' of git://github.com/marinaglancy/moodle 2020-04-16 00:47:20 +02:00
Eloy Lafuente (stronk7) 9c2e8e3bd3 Merge branch 'MDL-68279' of https://github.com/paulholden/moodle 2020-04-16 00:27:44 +02:00
Eloy Lafuente (stronk7) 41e7042781 Merge branch 'MDL-68189' of https://github.com/NeillM/moodle 2020-04-16 00:13:32 +02:00
Eloy Lafuente (stronk7) 58e73daa59 Merge branch 'MDL-68280' of https://github.com/paulholden/moodle 2020-04-16 00:10:35 +02:00
Eloy Lafuente (stronk7) 8467cbf226 Merge branch 'MDL-67786-master' of git://github.com/aanabit/moodle 2020-04-15 23:45:48 +02:00
Amaia Anabitarte bd4e0a7664 MDL-67786 core_contentbank: Unit and behat tests 2020-04-15 23:45:08 +02:00
Amaia Anabitarte 70819075c6 MDL-67786 core_contentbank: add testable_plugin
Co-authored by: Sara Arjona <sara@moodle.com>
2020-04-15 23:45:08 +02:00
Amaia Anabitarte 43c2d0fe47 MDL-67786 core_contentbank: Templates and theme CSS 2020-04-15 23:45:08 +02:00
Amaia Anabitarte 2867550e39 MDL-67786 contenttype_h5p: New H5P content type plugin for content bank 2020-04-15 23:45:08 +02:00
Amaia Anabitarte 33b8ca26f9 MDL-67786 core_contentbank: New content bank contenttype plugin type
Co-authored by: Ferran Recio <ferran@moodle.com>
2020-04-15 23:45:08 +02:00
Paul Holden 16f05b5c22 MDL-66732 core: config option to force whether site considered public. 2020-04-15 22:08:49 +01:00
Paul Holden ab106ad70f MDL-66732 core: improve detection of non-public sites. 2020-04-15 21:54:29 +01:00
Sara Arjona 106974b31a Merge branch 'MDL-67751' of https://github.com/paulholden/moodle 2020-04-15 17:57:05 +02:00
Jun Pataleta 6b4a66b0bc Merge branch 'MDL-68288-master' of git://github.com/lameze/moodle 2020-04-15 23:20:23 +08:00
Jun Pataleta 9b77dc8db2 Merge branch 'MDL-66200-master_gradebook_csv_import' of https://github.com/jwalits/moodle 2020-04-15 23:16:57 +08:00
Paul Holden 2c469d3843 MDL-67751 course: include inline folders in list of resources. 2020-04-15 13:59:50 +01:00
Eloy Lafuente (stronk7) d9776bc02a Merge branch 'MDL-67499' of git://github.com/paulholden/moodle 2020-04-15 12:49:14 +02:00
Sara Arjona 0720504587 Merge branch 'MDL-67788-master' of git://github.com/ferranrecio/moodle 2020-04-15 09:53:03 +02:00
Bas Brands 64de4deced MDL-68301 theme_boost: move course format css
this reduces duplication of css in format_topic
and format_weeks
2020-04-15 09:52:10 +02:00
Adrian Greeve 06b1f01216 Merge branch 'MDL-67663-master-3' of git://github.com/junpataleta/moodle 2020-04-15 13:19:18 +08:00
Michael Milette 8056397b7e MDL-66849 output: Remove custom menu title when not specified 2020-04-14 22:27:06 -04:00
Ferran Recio 6cdf1d76ff MDL-67788 mod_h5pactivity: update activity attempt privacy 2020-04-14 16:58:10 +02:00
Ferran Recio 0aeec79a2a MDL-67788 mod_h5pactivity: add xAPI attempts track to activity 2020-04-14 16:58:10 +02:00
Jun Pataleta e7845f9fa7 Merge branch 'MDL-68405-master' of git://github.com/andrewnicols/moodle 2020-04-14 16:09:42 +08:00
Andrew Nicols 986bf4e988 MDL-68405 behat: Fix gherkinlint failures 2020-04-14 15:09:13 +08:00
Andrew Nicols 57b1653a37 MDL-68405 js: Ensure correct exit code for gherkinlint 2020-04-14 15:09:13 +08:00
Ferran Recio ad9589f64c MDL-67788 core_h5p: add evaluable h5p to fixtures 2020-04-13 12:39:58 +02:00
Ferran Recio 8685c313e0 MDL-67788 core_h5p: add tracking to player 2020-04-13 12:39:58 +02:00
AMOS bot e46b5fa096 Automatically generated installer lang files 2020-04-11 00:11:47 +00:00
AMOS bot d83db4f583 Automatically generated installer lang files 2020-04-11 00:11:46 +00:00
Eloy Lafuente (stronk7) 594b4b98b7 Merge branch 'MDL-67587-master-1' of git://github.com/mihailges/moodle
Changed PARAM_TEXT to PARAM_NOTAGS to "search" param
because it's the same but WITHOUT lang support and we
don't need lang support there.

Of course, both require to verify that the output is always
escaped. In this case (mustache) it is. Or also p() or s().

Without that XSS on form values are relatively easy!
2020-04-10 17:04:13 +02:00
David Mudrák 3c94533810 MDL-68393 admin: Fix some minor styling issues on the notifications page
The patch makes the available update information elements more
distinguishable, the Download button more prominent, and the Check for
available update button better aligned. It reduces the space between
multiple available Moodle updates, too.
2020-04-10 14:41:42 +02:00
Sara Arjona 767fa3a64b Merge branch 'MDL-68112-master' of git://github.com/peterRd/moodle 2020-04-10 12:11:29 +02:00
Eloy Lafuente (stronk7) f167f93799 Merge branch 'MDL-67919-master' of git://github.com/sarjona/moodle 2020-04-10 11:54:17 +02:00
Eloy Lafuente (stronk7) 2bf69bbc9a Merge branch 'MDL-67910-master' of git://github.com/sarjona/moodle 2020-04-10 11:10:16 +02:00
Luca Bösch 9901ce5f68 MDL-68392 travis: Fix validation warnings and infos
Can verify that this file passes the validation @
https://config.travis-ci.com/explore
2020-04-10 00:12:16 +02:00
Mihail Geshoski b15b259696 MDL-68112 core_course: Override bootstrap classes
Override bootstrap classes to keep original design
2020-04-09 18:21:25 +08:00
Peter Dias 95dceedd2f MDL-68112 core_course: Use bootstrap input-group 2020-04-09 18:21:24 +08:00
Jun Pataleta bed9308ef5 MDL-67663 mod_forum: Show/hide elements from screen reader on search
* When the search input gets shown, users can still navigate on the
close button and the grading status container which can cause confusion
among users. So hide and show them accordingly as well.
* Hide/show user picker and body container when the search results
container is shown/hidden.
2020-04-09 17:50:09 +08:00
Jun Pataleta 9183c0c91a MDL-67663 core: Do not use aria-hidden="false" on drawer
From https://www.w3.org/TR/wai-aria-1.1/#aria-hidden:
* "aria-hidden="false" is known to work inconsistently in browsers"
2020-04-09 17:50:09 +08:00
Jun Pataleta 0d3a580e03 MDL-67663 mod_forum: Add missing lang strings 2020-04-09 17:50:09 +08:00
Jun Pataleta 5803df2344 MDL-67663 mod_forum: Designate forum grading landmark regions
Adding the following landmark regions for easier keyboard navigation:
* Forum grading navigation
* User's forum posts
* Forum grading panel
2020-04-09 17:50:09 +08:00
Jun Pataleta a37c40d31f MDL-67663 mod_forum: Use proper lang string for aria-label
Use a proper language string for the aria-label of the hide grader
panel button instead of a hard-coded one.
2020-04-09 17:50:09 +08:00
Jun Pataleta f63503a603 MDL-67663 mod_forum: Fix focus order of the grading form
* Focus should flow from the form header down to the forum posts, and
then to the grading panel itself.
2020-04-09 17:50:08 +08:00
Jun Pataleta d0f8a42e5f MDL-67663 mod_forum: Make user switching more accessible
* Add a more descriptive label for the next and previous buttons so that
the users would know that clicking on the next or previous buttons will
save the changes they made before proceeding to the next user.
* Add an sr-only div with aria-live to the user picker to let the grader
know the current user that is being graded.
* Hide the user picture from screen readers
2020-04-09 17:50:08 +08:00
Mihail Geshoski 0da3443539 MDL-67587 course: Add unit tests 2020-04-09 09:17:53 +08:00
Mihail Geshoski ccffe30d5b MDL-67587 course: Add behat tests 2020-04-09 09:17:53 +08:00
Mihail Geshoski d379dc9b0c MDL-67587 course: Add search in recommended activities admin page 2020-04-09 09:17:53 +08:00
Jwalit Shah c74ccbcbaa MDL-66200 gradebook: check selected feedback option when importing data 2020-04-09 11:01:15 +10:00
Simey Lameze bc6f5f23ea MDL-68341 core_user: move and rename participants_table class 2020-04-09 07:08:44 +08:00
Simey Lameze f7b84afe15 MDL-68288 core_table: support pagination bar for dynamic tables 2020-04-09 07:06:35 +08:00
carlos a2a13f2786 MDL-66920 lib/php-jwt: Update to version 5.2.0 to add JWK support
- Updated firebase/php-jwt library to version 5.2.0 that has JWK support.
- Changed thirdpartylibs.xml to reflect version change.
2020-04-08 13:12:23 -03:00
Sara Arjona df0e58adb1 weekly release 3.9dev 2020-04-08 16:24:37 +02:00
Sara Arjona 1bd3bdf029 Merge branch 'install_master' of https://git.in.moodle.com/amosbot/moodle-install 2020-04-08 16:24:34 +02:00
Andrew Nicols 9056efdb56 Merge branch 'MDL-68185-performance-checks-fixing2' of https://github.com/brendanheywood/moodle 2020-04-08 12:43:56 +08:00
Andrew Nicols aae4b15631 Merge branch 'MDL-47271-status-api-fixes' of https://github.com/brendanheywood/moodle 2020-04-08 12:37:52 +08:00
Brendan Heywood 79dbcce8b1 MDL-68185 report_performance: Refactored into Check API 2020-04-08 14:35:33 +10:00
Brendan Heywood 59a44a5bad MDL-47271 tool_task: Added Task API status checks 2020-04-08 14:35:33 +10:00
Brendan Heywood e8e2bd28ec MDL-47271 check: Refactor check table into a renderable 2020-04-08 14:35:33 +10:00
Brendan Heywood 20167daf89 MDL-47271 report_status: Added System status report 2020-04-08 14:35:31 +10:00
Andrew Nicols 7aa6398830 Merge branch 'MDL-68148-master' of git://github.com/rezaies/moodle 2020-04-08 11:20:39 +08:00
Shamim Rezaie 8aecd8579e MDL-68148 user: remove the noscript tag
The submit button remains deactive if js is disabled. So having a
noscript tag to output a submit button here does not make sense.
2020-04-08 11:35:58 +10:00
Shamim Rezaie cf48026307 MDL-68148 user: fixed stray end tag (input) 2020-04-08 11:24:51 +10:00
Shamim Rezaie 3dec4c6ce3 MDL-68148 core_user: avoid multiple enrol buttons with the same id 2020-04-08 11:22:34 +10:00
Shamim Rezaie 8a805e03a4 MDL-68148 core_user: set the fullname column as the header column
ref: https://www.w3.org/WAI/tutorials/tables/
2020-04-08 11:22:34 +10:00
Shamim Rezaie 1a94ddd31b MDL-68148 output: type attribute is unnecessary for javascript resources 2020-04-08 11:22:34 +10:00
Shamim Rezaie 0ad48a3e68 MDL-68148 core: remove cellspacing
The cellspacing attribute of <table> is not supported in HTML5.
So the removed line did not have any effect since ages ago.
2020-04-08 11:22:34 +10:00
Eloy Lafuente (stronk7) f1f1497f04 Merge branch 'MDL-66357-master' of git://github.com/sarjona/moodle 2020-04-08 02:52:15 +02:00
AMOS bot fd236c2062 Automatically generated installer lang files 2020-04-08 00:11:05 +00:00
AMOS bot 9b543efc05 Automatically generated installer lang files 2020-04-08 00:11:05 +00:00
Eloy Lafuente (stronk7) 2c50e08a3b Merge branch 'MDL-68286-master' of git://github.com/andrewnicols/moodle 2020-04-08 00:37:02 +02:00
Eloy Lafuente (stronk7) 2ede5371ed Merge branch 'MDL-67895' of https://github.com/timhunt/moodle 2020-04-08 00:01:33 +02:00
Tim Hunt 9205d263d6 MDL-68256 task admin UI: Grrrr! browsers 2020-04-07 19:04:53 +02:00
Sara Arjona b3f562176c Merge branch 'MDL-40081' of https://github.com/paulholden/moodle 2020-04-07 15:09:56 +02:00
Sara Arjona 3f79d5461d Merge branch 'master_MDL-68223' of https://github.com/golenkovm/moodle 2020-04-07 13:42:20 +02:00
Sara Arjona 55339ca9d0 Merge branch 'master_MDL-65700' of https://github.com/golenkovm/moodle 2020-04-07 13:34:01 +02:00
Mikhail Golenkov 3180869e19 MDL-65700 javascript: Add url-polyfill. 2020-04-07 20:54:46 +10:00
Andrew Nicols 4fc8c1e4f3 Merge branch 'MDL-68285-master' of git://github.com/cescobedo/moodle 2020-04-07 13:25:48 +08:00
Brendan Heywood c1f7368e57 MDL-47271 clilib: Add support for background colors 2020-04-07 12:30:27 +10:00
Andrew Nicols a87a3c12c9 Merge branch 'MDL-68051-master-2' of git://github.com/mihailges/moodle 2020-04-07 10:25:04 +08:00
Andrew Nicols c8eca1f642 Merge branch 'MDL-67818-check-api-fixes' of https://github.com/brendanheywood/moodle 2020-04-07 10:09:34 +08:00
Brendan Heywood a28277697d MDL-67818 check: Rename renderer to be less generic 2020-04-07 12:07:42 +10:00
Eloy Lafuente (stronk7) c3415804c1 Merge branch 'MDL-68147-master' of git://github.com/mihailges/moodle 2020-04-06 19:09:10 +02:00
Sara Arjona dad7f2ba1d Merge branch 'MDL-65539' of https://github.com/NeillM/moodle 2020-04-06 16:40:52 +02:00
Brendan Heywood d71752df93 MDL-67818 auth_none: Moved to improved Check API
AMOS BEGIN
 MOV [check_noauth_details,auth_none],[checknoauthdetails,auth_none]
 MOV [check_noauth_error,auth_none],[checknoautherror,auth_none]
 MOV [check_noauth_name,auth_none],[checknoauthname,auth_none]
 MOV [check_noauth_ok,auth_none],[checknoauthok,auth_none]
AMOS END
2020-04-06 22:08:33 +10:00
Brendan Heywood 26bb3c24d2 MDL-67818 check: Improved Check API to reduce boilerplate 2020-04-06 22:08:15 +10:00
Paul Holden abde761cb6 MDL-40081 completion: clean up criteria records for deleted courses. 2020-04-06 12:22:51 +01:00
Sara Arjona 71576a58e6 Merge branch 'MDL-68231-master' of https://github.com/snake/moodle 2020-04-06 13:22:18 +02:00
Paul Holden 0c68ae88eb MDL-67499 restore: account for deleted user truncated email/username. 2020-04-06 12:09:48 +01:00
Sara Arjona 43cda51ea1 Merge branch 'MDL-68233' of https://github.com/timhunt/moodle 2020-04-06 12:51:22 +02:00
Eloy Lafuente (stronk7) 68ba708334 MDL-67499 restore: add 100% cov. to restore_dbops::precheck_user()
Supports multiple mails to be tested.

So we can perform changes to it and also some related stuff,
like delete_user() with confidence.
2020-04-06 11:48:27 +01:00
Paul Holden 343380d9c8 MDL-67499 user: truncate long username/email during user deletion. 2020-04-06 11:48:27 +01:00
Paul Holden b6ea0ef7ee MDL-68280 user: fix PHP notice for unknown user invalid login token. 2020-04-06 11:46:06 +01:00
Paul Holden 96e7f4f4fd MDL-68279 admin: filter site fullname when sending test email. 2020-04-06 11:41:18 +01:00
Mihail Geshoski 9f1bfca2e8 MDL-68051 course: Fix accessibility issues in chooser tabs navigation 2020-04-06 17:31:23 +08:00
Sara Arjona 9ac9ff50de Merge branch 'MDL-68250-master' of git://github.com/bmbrands/moodle 2020-04-06 10:31:39 +02:00
Sara Arjona b0aaee0e69 Merge branch 'MDL-68239' of https://github.com/NinaHerrmann/moodle 2020-04-06 10:17:44 +02:00
Huong Nguyen f389e916f2 MDL-68113 Drag and drop into text questions: better responsive design
These changes also make it possible to print these questions.
2020-04-06 14:28:29 +07:00
Andrew Nicols c52f3a3efa Merge branch 'MDL-68256' of https://github.com/timhunt/moodle 2020-04-06 15:05:41 +08:00
Andrew Nicols 924d50a3b8 Merge branch 'MDL-67818-check-api' of https://github.com/brendanheywood/moodle 2020-04-06 11:23:39 +08:00
Brendan Heywood 00c2153be1 MDL-67818 check: Added Check API and refactored security checks
AMOS BEGIN
 MOV [check_noauth_details,report_security],[check_noauth_details,auth_none]
 MOV [check_noauth_error,report_security],[check_noauth_error,auth_none]
 MOV [check_noauth_name,report_security],[check_noauth_name,auth_none]
 MOV [check_noauth_ok,report_security],[check_noauth_ok,auth_none]
AMOS END
2020-04-06 12:28:37 +10:00
Andrew Nicols b02d376c9b Merge branch 'MDL-66301-master' of git://github.com/mickhawkins/moodle 2020-04-06 10:13:01 +08:00
Eloy Lafuente (stronk7) 631d2ad7e2 MDL-68047 tcpdf: Prevent images out from cache to be removed
This corresponds to https://github.com/tecnickcom/TCPDF/pull/174
(and was fixed bycommit 510070b) and was a regression causing
image files to be removed unconditionally. Only if the images
are from cache, they can be removed.

It's fixed upstream in version 6.3.4 and up.
2020-04-06 00:29:55 +02:00
Tim Hunt 3d96227305 MDL-68338 qformat_gift: support idnumbers and tags
Hopefully the new format is forwards and backwards compatible.
2020-04-05 17:49:41 +01:00
Ruslan Kabalin 52a268a09d MDL-68315 formslib: Fix completion attribute in course form element.
This fixes 'onlywithcompletion' attribute in course form element.
2020-04-03 20:33:38 +01:00
Sara Arjona 0f51963108 MDL-67919 dataprivacy: Fix behat error when contacting DPO 2020-04-03 19:37:39 +02:00
n_herr03 d097538b01 MDL-68239 mod_data: make required icon in multimenu visible 2020-04-03 12:15:54 +02:00
Andrew Nicols c540a575db MDL-68286 table: Support initials bar for dynamic tables 2020-04-03 16:54:13 +08:00
Neill Magill 28ee72fd68 MDL-65539 dragdrop: Ignore drag proxy in keyboard menu
Before this change the node that is displayed during a the last mouse
drag and drop would be listed in a keyboard drag and drop if it was
the container node of one of the types of node being moved in this action.

If a node is inside a node with the .yui3-dd-proxy class then it is
one of the proxy elements used to display the dragged content during
mouse drag and drop so we will start ignoring it.
2020-04-03 08:36:37 +01:00
Neill Magill b08323a789 MDL-65539 dragdrop: Allow sections and blocks to move to the top
Before this change sections and blocks could not be moved to be the
top item when using keyboard drag and drop.

They can now be moved to the top in one action.

The way they move using keyboard drag and drop has changed when they
are below the item they are dropped on, not instead of appearing
below it they will be placed above it.
2020-04-03 08:36:37 +01:00
Neill Magill 472c953093 MDL-65539 dragdrop: Allow direction detection when using keyboard
Before this change keyboard drag and drop could not detect the
direction of movement, this meant that an item would only be placed
below an item or at the top of a container item.

This change means that extending modules can declare
detectkeyboarddirection to true. This will mean that when an item is
moved it's position will be determined by the direction of travel as
it would be when dragging using the mouse.

If detectkeyboarddirection is true then:

* If you move an item upwards it will be placed before the item
  selected in the drop menu
* If you move a item downwards it will be placed after the item
  selected in the drop menu
* The item above the one being dragged will now be displayed on
  the drop menu

If detectkeyboarddirection is false there will be no change in
behaviour.
2020-04-03 08:36:37 +01:00
Neill Magill b5c9fb4a3d MDL-65539 course: Keyboad drag and drop should not break page
Before this change keyboard drag and drop of sections would alter
the structure of the page.

This occured because in this case the dragnode was the original node
2020-04-03 08:36:36 +01:00
Neill Magill dc489dffe6 MDL-65539 formats: Section labels not updated during move
Before this change when moving a section via drag and drop the
aria-label for the section was not being updated neither was the
title on the drag handle.

The result was the the drop menu on keyboard drag and drop displayed
the wrong information after a section was moved.
2020-04-03 08:36:36 +01:00
Neill Magill 2ad7a19565 MDL-68189 course: Section name change should display in DD menu
This patch removed the sectionname hidden element (that was not used
by the keyboard menu anyway)

Changed the aria-label of the section to aria-labelled by as this
means that the description will change as drag and drop updated
things without the need to add additional JavaScript.
2020-04-03 08:36:17 +01:00
Sara Arjona faf0029eed MDL-66357 core_badges: remove action=0 usage for issuer
In MDL-67971, issuer_json.php was created, to display issuer JSON content.
However, some files were still using action=0 to display this information.
It has been replaced by issuer_json.php.
The action=0 support won't be removed (at least for now), because several
public badges URLs are using it.
2020-04-03 08:09:55 +02:00
Sara Arjona 640628192a MDL-66357 core_badges: set OBv2 as default 2020-04-03 08:09:55 +02:00
Sara Arjona f958f5c19b MDL-66357 core_badges: remove mozilla backpack references
Mozilla backpack closed a few months ago. It was moved to Badgr.io
(as OBv1.0) but as we're also supporting Badgr.io OBv2.0, it
makes no sense to leave old references to Mozilla backpack there.
2020-04-03 08:09:55 +02:00
Andrew Nicols 1c112ac5fd MDL-68286 table: Empty tables need the dynamic table wrapper 2020-04-03 12:08:48 +08:00
Mihail Geshoski 98ec40a8f6 MDL-68147 course: Remove bold styling in recommended activity admin page 2020-04-03 10:29:50 +08:00
Sara Arjona 1d4fdb0d1c weekly release 3.9dev 2020-04-02 16:51:06 +02:00
Sara Arjona 7a3cf8b177 Merge branch 'install_master' of https://git.in.moodle.com/amosbot/moodle-install 2020-04-02 16:51:03 +02:00
Marina Glancy 749a38a7a9 MDL-68323 core: add --max-lint-warnings option to grunt 2020-04-02 13:42:28 +02:00
Eloy Lafuente (stronk7) d9bb17e696 Merge branch 'MDL-68300' of https://github.com/timhunt/moodle 2020-04-02 13:13:36 +02:00
Tim Hunt a0f8944305 MDL-68300 question bank: merge duplicate Duplicate Behat tests 2020-04-02 11:18:55 +01:00
Ferran Recio d8c9c99001 MDL-67734 core_xapi: Fix MSSQL PHPUnit failure with duplicated id 2020-04-02 10:37:41 +02:00
Michael Hawkins 99f928a893 MDL-66301 forumreport_summary: Minor code improvements 2020-04-02 15:17:57 +08:00
Michael Hawkins bff097f216 MDL-66301 forumreport_summary: Refactors and fixes to course report 2020-04-02 13:36:26 +08:00
Michael Hawkins d235f7a017 MDL-66301 forumreport_summary: Improved filter renderer variable names 2020-04-02 13:36:26 +08:00
Michael Hawkins 0e759f616b MDL-66301 forumreport_summary: Made nodetitle string more specific
This is needed now course-level forum summary reports are available,
otherwise places like breadcrumbs are not clear that it relates
to forum data.
2020-04-02 13:36:26 +08:00
Michael Hawkins 380ae3f126 MDL-66301 forumreport_summary: Added course report behat tests 2020-04-02 13:36:25 +08:00
Michael Hawkins 54a3b94452 MDL-66301 forumreport_summary: Add course level reporting
This adds the ability to report on all forums the user has
access to within a course.
2020-04-02 13:36:25 +08:00
Jake Dallimore d3eb1f2f6e MDL-68309 overrides: clarify inactive overrides help string 2020-04-02 09:57:01 +08:00
Andrew Nicols 17f429ed57 Merge branch 'MDL-67734-andrewapocalipse' of git://github.com/ferranrecio/moodle 2020-04-02 09:30:54 +08:00
Jake Dallimore 1bfd325307 Merge branch 'MDL-68165' of https://github.com/stronk7/moodle 2020-04-02 08:42:45 +08:00
Eloy Lafuente (stronk7) a0ea162f63 Merge branch 'MDL-67672-master' of git://github.com/lucaboesch/moodle 2020-04-02 00:16:51 +02:00
Luca Bösch 2ad02280a9 MDL-67672 user: Display name in user menu as elsewhere. 2020-04-02 00:04:38 +02:00
Eloy Lafuente (stronk7) 0ab2f5b506 Merge branch 'MDL-67914-master' of git://github.com/lameze/moodle 2020-04-01 23:41:38 +02:00
Eloy Lafuente (stronk7) 8ba6b97577 Merge branch 'MDL-68265-master' of git://github.com/andrewnicols/moodle 2020-04-01 23:29:13 +02:00
Eloy Lafuente (stronk7) 1172cd028d Merge branch 'MDL-68193_master' of git://github.com/mdjnelson/moodle 2020-04-01 23:22:25 +02:00
Mark Nelson 52f993651c MDL-68193 core: added new database_text_field_content_replaced event 2020-04-01 20:44:10 +02:00
Eloy Lafuente (stronk7) 1b7327c6d4 Merge branch 'MDL-68191' of git://github.com/timhunt/moodle 2020-04-01 20:18:25 +02:00
Eloy Lafuente (stronk7) 36c8bbc542 Merge branch 'MDL-67995-master' of git://github.com/cescobedo/moodle 2020-04-01 19:07:12 +02:00
Ferran Recio 1d4c6f5355 MDL-67734 core_xapi: add xAPI statement support webservice 2020-04-01 14:14:39 +02:00
Jake Dallimore f5609ea9d6 Merge branch 'MDL-67672-master' of git://github.com/lucaboesch/moodle 2020-04-01 16:43:03 +08:00
Sara Arjona 8afa7cca91 Merge branch 'MDL-68281' of https://github.com/stronk7/moodle 2020-04-01 09:25:04 +02:00
Sara Arjona 677f87e010 Merge branch 'MDL-68277' of https://github.com/timhunt/moodle 2020-04-01 09:14:36 +02:00
Simey Lameze a020b02078 MDL-67914 core_table: unit tests for table view fetch webservice 2020-04-01 15:13:35 +08:00
Simey Lameze 1592c3c498 MDL-67914 core_table: implement dynamic table sorting 2020-04-01 15:13:31 +08:00
Luca Bösch dfe22c29c2 MDL-67672 user: Display name in user menu as elsewhere. 2020-04-01 09:03:03 +02:00
Sara Arjona 4aa71debb5 Merge branch 'MDL-68263-master' of git://github.com/mihailges/moodle 2020-04-01 08:58:27 +02:00
Claude Vervoort c986e55773 MDL-67612 mod_lti: tcguid default to siteid 2020-04-01 00:48:15 +02:00
Sara Arjona afb0af9cf9 Merge branch 'MDL-45227-master' of git://github.com/rezaies/moodle 2020-03-31 19:23:01 +02:00
Sara Arjona b835386512 Merge branch 'MDL-58964-master' of git://github.com/abias/moodle 2020-03-31 19:13:15 +02:00
Eloy Lafuente (stronk7) 244f341129 Merge branch 'MDL-64494-master' of git://github.com/bmbrands/moodle 2020-03-31 18:59:09 +02:00
Bas Brands 1a17df089d MDL-64494 theme_boost: accessible theme colours 2020-03-31 18:51:38 +02:00
Eloy Lafuente (stronk7) a63a565a7c Merge branch 'MDL-68300' of https://github.com/timhunt/moodle 2020-03-31 18:16:53 +02:00
Sara Arjona c68080c4c2 Merge branch 'MDL-66245-master' of git://github.com/junpataleta/moodle 2020-03-31 15:09:06 +02:00
Tim Hunt 7459856d26 MDL-68300 questions: un-break duplicating questions without idnumbers
This was a regression caused by MDL-67934
2020-03-31 11:00:39 +01:00
Jake Dallimore d5a9c02947 Merge branch 'MDL-68225-master' of git://github.com/lameze/moodle 2020-03-31 15:16:37 +08:00
Simey Lameze 88659cd703 MDL-68225 core_user: add behat coverage for group modes 2020-03-31 15:09:40 +08:00
Sara Arjona e6ef9d3236 MDL-67910 behat: PendingJS improvements for deleteevent modal 2020-03-31 08:40:03 +02:00
Jake Dallimore 15b0f56ffa Merge branch 'MDL-68144-master' of git://github.com/lucaboesch/moodle 2020-03-31 13:59:27 +08:00
Eloy Lafuente (stronk7) 2bb4e2d868 Merge branch 'MDL-68269-master' of git://github.com/rezaies/moodle 2020-03-30 22:53:33 +02:00
Eloy Lafuente (stronk7) 83ae63e0fb Merge branch 'MDL-68049' of https://github.com/spvickers/moodle 2020-03-30 13:26:21 +02:00
cescobedo c667e6064a MDL-68285 core_h5p: Fix unused variables and undeclared globals 2020-03-30 09:55:32 +02:00
Shamim Rezaie 27d4e606de MDL-68269 form: fieldset in group elements should be full width 2020-03-30 18:29:23 +11:00
Andrew Nicols 6eb9705154 Merge branch 'MDL-52319-master-environmentxml' of git://github.com/mudrd8mz/moodle 2020-03-30 14:35:20 +08:00
cescobedo 3911e71435 MDL-67995 format_singleactivity: Fix dropwdown type of activity 2020-03-30 08:22:54 +02:00
Mihail Geshoski 9ba17166fe MDL-68263 course: Fix error when modules are not fully uninstalled 2020-03-30 14:15:00 +08:00
Mikhail Golenkov 46b81ed5ba MDL-68223 assign: Fix selection of comment text. 2020-03-30 14:43:19 +11:00
Andrew Nicols 9a0523c6b8 MDL-68265 core_question: Switch question import to request dir 2020-03-30 08:14:46 +08:00
Andrew Nicols a32a52b0a6 MDL-68265 mod_lesson: Switch question import to request dir 2020-03-30 08:14:46 +08:00
Tim Hunt 19f221961e MDL-68233 renderers/block: fix reported coding style issues 2020-03-29 15:35:04 +01:00
Tim Hunt 1dcd0d3499 MDL-68233 renderers/block: remove illegal uses of $PAGE and $OUTPUT 2020-03-29 15:34:26 +01:00
AMOS bot 766a4e43fc Automatically generated installer lang files 2020-03-29 00:11:39 +00:00
Tim Hunt 9bf4d19930 MDL-67895 task admin: show defaults when editing a task
Also show the task classname, and the component info above the form.

With some refactoring to eliminate duplicated logic.
2020-03-28 18:40:51 +00:00
Tim Hunt 6fdc0f8796 MDL-68256 task admin: usability improvements
In the table that lists the scheduled tasks:

1. There are badges to show which components are disabled.
2. The plugin name (e.g. auth_ldap) is shown as well as the
   human-readable name (e.g. LDAP server).
3. Where a time column has a non-default value, it is highlighted
   and the default is shown.
4. If the fail-delay is non-zero, the cell is highlighted.
4. If you just interacted with a task (looked at or edited the settings,
   did Run now, or cleared the fail delay) that row is highlighted,
   and scrolled into view when the page loads.

To support this, some of the methods for loading the default tasks
have been extended with an optional argument to leave 'R' as 'R'
rather than replacing with a random number.

Also, mixed into this commit are a bunch of coding style improvements.
Sorry I did not separate them out, but ultimately this makes the
Moodle code better.
2020-03-28 18:40:51 +00:00
Eloy Lafuente (stronk7) 1ee1ce36d6 MDL-68281 unit test: Include required class
Also, add missing line break, that I did not see 1 week ago.
2020-03-28 16:23:34 +01:00
AMOS bot 6c24071d54 Automatically generated installer lang files 2020-03-28 00:11:30 +00:00
Tim Hunt dbf72bb40f MDL-68277 qtype_essay: answer area in reviews should be right size
The answer box size is set by teachers and provides a useful
visual cue how long a response was expected. Therefore, it is
useful to keep the space at least that size in quiz reviews, etc.
2020-03-27 14:11:16 +00:00
Simey Lameze ef4109d265 MDL-68225 core_user: apply group filter to participants page 2020-03-27 21:48:20 +08:00
Eloy Lafuente (stronk7) 6335ed82c2 MDL-68165 install: update the list of stale files for 3.9 2020-03-27 12:57:22 +01:00
Ferran Recio 0a832fa1f0 MDL-67734 core_xapi: add xAPI testsuite 2020-03-27 12:08:45 +01:00
Shamim Rezaie 613c130665 MDL-45227 atto_align: Make IE follow css styling 2020-03-27 21:32:06 +11:00
Shamim Rezaie 31d62654a6 MDL-45227 atto_rtl: Automatically set alignment when direction changes 2020-03-27 21:25:41 +11:00
Shamim Rezaie 372616ace0 MDL-45227 editor_atto: PR changes and improved behat 2020-03-27 21:25:41 +11:00
Avi Levy dbae95c6da MDL-45227 editor_atto: add behat test for RTL and LTR direction 2020-03-27 21:25:41 +11:00
Nadav Kavalerchik b10155308f MDL-45227 editor_atto: Add direction to default ATTO generated markup 2020-03-27 21:25:41 +11:00
Luca Bösch ee7c297da4 MDL-68144 mod_folder: make top margins less dominant for folder content 2020-03-27 07:14:28 +01:00
Jake Dallimore d939d6e769 weekly release 3.9dev 2020-03-27 09:18:29 +08:00
Jake Dallimore 9ac4561b95 Merge branch 'install_master' of https://git.in.moodle.com/amosbot/moodle-install 2020-03-27 09:18:28 +08:00
Eloy Lafuente (stronk7) e0552f271b Merge branch 'MDL-64429' of https://github.com/paulholden/moodle 2020-03-26 18:49:36 +01:00
Paul Holden 091758d512 MDL-64429 tool_usertours: upgrade step to fix existing tours sortorder. 2020-03-26 16:48:59 +00:00
Jun Pataleta 9c7c2d845f Merge branch 'MDL-67072-oidc-additional-login-parameters' of https://github.com/cengage/moodle 2020-03-26 12:15:24 +08:00
Eloy Lafuente (stronk7) 70598a90ca Merge branch 'MDL-68183-master-mysqlpwdresetsql' of git://github.com/mudrd8mz/moodle 2020-03-26 01:08:04 +01:00
Eloy Lafuente (stronk7) 69c8f8ed30 Merge branch 'MDL-63865' of https://github.com/paulholden/moodle 2020-03-26 00:31:55 +01:00
Eloy Lafuente (stronk7) fee4dd7b20 Merge branch 'MDL-68116-master' of git://github.com/sarjona/moodle 2020-03-26 00:13:52 +01:00
Eloy Lafuente (stronk7) 2bcadacd09 Merge branch 'MDL-67442' of https://github.com/jonof/moodle 2020-03-26 00:04:05 +01:00
Jun Pataleta 67077ae5aa Merge branch 'MDL-68149' of https://github.com/timhunt/moodle 2020-03-26 00:10:01 +08:00
Bas Brands b35d4d8e8e MDL-68250 mod_book: make book navigation separation
Make the book navigation more distinguishable from activity navigation
2020-03-25 15:35:15 +01:00
Jun Pataleta 1cc247029e Merge branch 'MDL-68153' of https://github.com/timhunt/moodle 2020-03-25 22:34:36 +08:00
Jun Pataleta f6cf23f2fe Merge branch 'MDL-68111-master' of https://github.com/snake/moodle 2020-03-25 08:43:28 +08:00
Jun Pataleta e17046d2c6 Merge branch 'MDL-67024-master' of git://github.com/farhan6318/moodle 2020-03-25 08:34:41 +08:00
Jake Dallimore 9b8fc9be6d Merge branch 'MDL-67934' of https://github.com/timhunt/moodle 2020-03-25 08:28:27 +08:00
Jake Dallimore 4e9894cd8e Merge branch 'MDL-58413-master-take2' of git://github.com/lucaboesch/moodle 2020-03-25 08:04:47 +08:00
Eloy Lafuente (stronk7) c3b26f17b9 Merge branch 'MDL-67731' of https://github.com/paulholden/moodle 2020-03-24 23:59:26 +01:00
Eloy Lafuente (stronk7) 8cd39a1aa7 Merge branch 'MDL-67930' of https://github.com/paulholden/moodle 2020-03-24 22:48:05 +01:00
Eloy Lafuente (stronk7) 327e851c43 Merge branch 'MDL-68068-master' of git://github.com/cescobedo/moodle 2020-03-24 22:38:59 +01:00
Jake Dallimore b3f19d3547 MDL-68231 core_formats: conditionally swap controls on section drop
When using section drag and drop, the topics and weeks formats expected
the '.section_add_menus' element to be present so it could update it on
section drop. Due to MDL-68056, this control is only sometimes present.
This has been updated to conditionally swap to address this.
2020-03-24 16:43:51 +08:00
Jake Dallimore 82a1e8da34 Merge branch 'MDL-68135-master' of git://github.com/rezaies/moodle 2020-03-24 12:10:33 +08:00
AMOS bot 93d3e4ef13 Automatically generated installer lang files 2020-03-24 00:10:58 +00:00
Alexander Bias d4737c2147 MDL-58964 navigation: Reindex array when element is removed 2020-03-23 21:33:47 +01:00
David Mudrák 754f641f85 MDL-52319 upgrade: Better report the environment checks in CLI scripts
Before we did not display the source of the environment check failure
(whether it was a core check or a plugin) and there was a missing space
before the "Error" status.
2020-03-23 11:23:43 +01:00
Tim Hunt fb37a2d49d MDL-52319 install: Fix some coding style issues 2020-03-23 11:23:43 +01:00
Tim Hunt f3d77f0c9e MDL-52319 upgrade: Also run environment checks if plugins need upgrades
Also perform the environment checks if a plugin triggers the upgrade.
Core upgrade and CLI upgrade was doing this already.
2020-03-23 11:23:43 +01:00
Jake Dallimore 23ea244117 MDL-68111 core: add 'enablemoodlenet' setting to advanced features
This will control whether any MoodleNet features are presented to users
2020-03-23 08:49:12 +08:00
AMOS bot 23442febb3 Automatically generated installer lang files 2020-03-23 00:12:05 +00:00
Paul Holden 8dabade61f MDL-64429 tool_usertours: ensure tour sortorder can't move out of range. 2020-03-22 20:03:52 +00:00
Paul Holden a11e3d90f2 MDL-63865 tool_dataprivacy: unit test for plugin privacy provider. 2020-03-22 19:59:43 +00:00
Paul Holden 5526870052 MDL-67731 backup: fix async restores in progress table listing. 2020-03-22 19:57:34 +00:00
Paul Holden 3e1b05f001 MDL-67930 mod_forum: consistent default group image when hidden. 2020-03-22 19:54:53 +00:00
Adrian Hutchinson 9b0b472dd6 MDL-67072 mod_lti: OIDC additional login parameters 2020-03-20 10:10:02 -04:00
Luca Bösch 45f3858b5f MDL-58413 mod_url: support internationalized domain names.
Internationalized domain names (IDN) do work in the URL resource.
2020-03-20 10:24:53 +01:00
Sara Arjona fb56f5190c MDL-68116 atto_h5p: deprecate unused strings 2020-03-20 10:07:34 +01:00
Sara Arjona 186a0361a3 MDL-68116 atto_h5p: simplify fields to add H5P content
The embed section has been removed in order to simplify this screen.
It was added to make easier include content coming from h5p.org but,
as soon users won't be able to use it, it makes no sense.
Users will still be able to use the "HTML" button to paste the
embed code.
2020-03-20 10:07:34 +01:00
Sara Arjona 728f0fb587 MDL-68116 filter_h5p: remove h5p.org from allowed sources
h5p.org has to be removed as default value for the allowedsources in
the "Display H5P" filter because H5P is going to close it down completely
so that only the author can see the test content.
2020-03-20 10:07:34 +01:00
cescobedo 254add38f2 MDL-68068 core_h5p: Replace $_SESSION by $SESSION
The third-party library H5P has some references to  instead of Moodle's.
That implies that the information is not saved to backends and other issues,
so only the Moodle one should be used by core (core should be free from  and always use .).
2020-03-20 07:51:49 +01:00
Farhan Karmali caf5ebb582 MDL-67024 Lib: Check if user->mnethostid is set before using it 2020-03-20 11:59:04 +05:30
Adrian Greeve f2fc4a9fa1 weekly release 3.9dev 2020-03-20 13:35:42 +08:00
Alexander Bias 13b6b5dce8 MDL-58964 navigation: Add class attributes to Boost flat navigation 2020-03-19 20:34:24 +01:00
Peter Dias dacdc4a467 MDL-60817 file: Populate header only if exists 2020-03-19 15:29:36 +00:00
Stephen Vickers 5140a7bb11 MDL-68049 mod_lti: Fix link-level memberships service
Fix cause of 404 error
Ensure personal name and email fields are included
Add ext_user_username field when being passed in LTI messages
2020-03-19 11:18:39 +00:00
Adrian Greeve aab8d9a1c0 Merge branch 'MDL-68081-master' of https://github.com/kritisingh1/moodle 2020-03-19 11:26:25 +08:00
Adrian Greeve 8783d101df Merge branch 'MDL-68014-master' of git://github.com/peterRd/moodle 2020-03-19 11:03:07 +08:00
Adrian Greeve 9b57e08e8b Merge branch 'MDL-67924' of https://github.com/Chocolate-lightning/moodle 2020-03-19 09:41:30 +08:00
Jun Pataleta b703435b2e Merge branch 'MDL-68108-master' of git://github.com/crazyserver/moodle 2020-03-18 23:01:08 +08:00
Víctor Déniz Falcón fa3ee722b5 Merge branch 'MDL-60817-master-4' of git://github.com/mihailges/moodle 2020-03-18 14:26:30 +00:00
Pau Ferrer Ocaña e6faed9bf0 MDL-68108 formslib: Add element password inline template 2020-03-18 08:45:04 +01:00
Adrian Greeve 5d00c85412 Merge branch 'MDL-67901-master' of git://github.com/bmbrands/moodle 2020-03-18 09:57:41 +08:00
Tim Hunt 4b03530ca8 MDL-68191 CSS minification: apply upstream performance/accuracy fix
There was a bug with the code to strip comments.
https://github.com/matthiasmullie/minify/issues/317

Applying the fix as a Moodle-specific change for now, because the
effect is significant.
2020-03-17 23:26:14 +00:00
Jun Pataleta 3af57b7321 Merge branch 'MDL-68056-master' of https://github.com/snake/moodle 2020-03-18 07:21:22 +08:00
David Mudrák 2d60593892 MDL-68183 auth: Fix the performance of get_complete_user_data search
When searching for the user by a case-insensitive field (email address
is the only one supported now), the performance may be very poor as the
DB cannot use the index due to the LOWER() operation and the full
sequential scan of all the user records is performed. On some DBs such
as MySQL, this can be significantly improved by pre-filtering the users
with accent-insensitive search.

So we first perform accent-insensitive search for potential candidates
in a subselect, which can use the index. Only then we perform the
additional accent-sensitive search on this limited set or records.
2020-03-17 14:52:32 +01:00
David Mudrák 3621b497d2 MDL-68183 auth: Fix the performance of signup_validate_data search query
When searching for other users with the same email address, we perform
the case-insensitive and accent-sensitive search. That may be expensive
as some DBs such as MySQL cannot use the index in that case. Instead,
sequential scan of all the user records is performed and the comparison
uses the LOWER function to filter the matching records. This leads to
significant performance heavy queries which in turn represent a surface
for DoS attacks.

For that reason, we first perform accent-insensitive search for
potential candidates in a subselect, which can use the index. Only then
we perform the additional accent-sensitive search on this limited set or
records.
2020-03-17 14:52:32 +01:00
David Mudrák 77bc884473 MDL-68183 auth: Fix the performance of forgotten password user search
When searching for the user matching the given email address, we perform
the case-insensitive and accent-sensitive search. That may be expensive
as some DBs such as MySQL cannot use the index in that case. Instead,
sequential scan of all the user records is performed and the comparison
uses the LOWER function to filter the matching records. This leads to
significant performance heavy queries which in turn represent a surface
for DoS attacks.

For that reason, we first perform accent-insensitive search for
potential candidates, which can use the index. Only then we perform the
additional accent-sensitive search on this limited set or records.
2020-03-17 14:52:32 +01:00
Sara Arjona 9d95fdf23f Merge branch 'MDL-67707-master' of git://github.com/ferranrecio/moodle 2020-03-17 09:03:12 +01:00
Adrian Greeve 1f0639ed04 Merge branch 'MDL-67907-master' of git://github.com/dpalou/moodle 2020-03-17 16:01:26 +08:00
Adrian Greeve cc00258669 Merge branch 'MDL-67970-master' of git://github.com/rezaies/moodle 2020-03-17 15:23:49 +08:00
Shamim Rezaie f064e11579 MDL-67970 course: More informative aria-label for 'more help' 2020-03-17 18:19:20 +11:00
Shamim Rezaie 99cac46162 MDL-67970 output: use div for content wraping instead of span
span is not a valid content wrapper tag.
Moreover, according to W3C validation service report, it is not valid to
have div elements as children of a span element.
We can safely replace span with div here because the element's css class
is .action and display of .action is set to flex in both boost and
classic themes.
2020-03-17 18:16:25 +11:00
Shamim Rezaie 604df144d2 MDL-67970 output: use fieldset in core/chooser instead of label 2020-03-17 18:16:25 +11:00
Shamim Rezaie 0499a8c24f MDL-67970 core: remove unnecessary roles
- The navigation role is unnecessary for element nav
- The textbox role is unnecessary for element textarea
2020-03-17 18:16:25 +11:00
Shamim Rezaie 4d0e97c781 MDL-67970 output: replace new-sections attribute with data-new-sections
new-sections is not a valid attribute name for the a element.
Replaced that with data-new-sections
2020-03-17 18:16:25 +11:00
Shamim Rezaie b48b4d2244 MDL-67970 output: fixed duplicate id attribute
action_menu::export_for_template generates the id attributes and send it
to core/action_menu_trigger template as part of the attributes variable.
2020-03-17 18:16:25 +11:00
Shamim Rezaie 668df7663f MDL-67970 search: fixed stray end tag (input) 2020-03-17 18:16:25 +11:00
Adrian Greeve 082153573c Merge branch 'MDL-67981' of https://github.com/timhunt/moodle 2020-03-17 11:30:33 +08:00
Ferran Recio 252e112376 MDL-67707 mod_h5pactivity: add plugin to standard list 2020-03-16 17:52:08 +01:00
Ferran Recio b7a416817f MDL-67707 mod_h5pactivity: plugin skeleton
AMOS BEGIN
 CPY [h5poptions,atto_h5p],[h5pdisplay,mod_h5pactivity]
 CPY [downloadbutton,atto_h5p],[displayexport,mod_h5pactivity]
 CPY [embedbutton,atto_h5p],[displayembed,mod_h5pactivity]
 CPY [copyrightbutton,atto_h5p],[displaycopyright,mod_h5pactivity]
AMOS END
2020-03-16 17:52:08 +01:00
Ferran Recio 40cef8afe7 MDL-67707 core_h5p: move shared h5p files to core fixtures 2020-03-16 17:52:08 +01:00
Ferran Recio f3c7e00f13 MDL-67707 core_h5p: add public H5P player methods 2020-03-16 17:52:08 +01:00
Ferran Recio 1e7e255d72 MDL-67707 course: add support for PARAM_ALPHANUM module names 2020-03-16 17:52:08 +01:00
Sara Arjona 0059b1f19c Merge branch 'MDL-67913-master' of git://github.com/lameze/moodle 2020-03-16 09:12:18 +01:00
Simey Lameze 8146335ff4 MDL-67913 core_user: refactor participants page to use new filter API 2020-03-16 11:44:31 +08:00
Simey Lameze 88ba207d2e MDL-67913 core_table: introduce dynamic table interface 2020-03-16 11:44:31 +08:00
Andrew Nicols c43bdf5e13 MDL-67913 user: Add participants table filterset 2020-03-16 11:44:31 +08:00
Andrew Nicols 44effcb419 MDL-67913 core_table: Add filter classes 2020-03-16 11:44:31 +08:00
Andrew Nicols 1142e1bc83 MDL-67913 core: Add new core_table component path 2020-03-16 11:44:31 +08:00
Jake Dallimore af0d644bea MDL-68056 core_course: remove feature test for non-js activity creation
We rely on JS now, so we don't need to keep this feature.
2020-03-16 08:36:38 +08:00
Jake Dallimore aa4d7e1391 MDL-68056 core_course: improve render performance when editing
Only generate the non-ajax controls in cases where we know we need
them. Otherwise, only generate the new link style control. This patch
includes a behat check as many of our tests use the 'I add "Page" to
section "1"' syntax, which runs without JS.
2020-03-16 08:36:38 +08:00
Jonathon Fowler 2a0645b195 MDL-67442 assign: expand/contract text works in all browsers now 2020-03-16 08:55:55 +10:00
Mihail Geshoski 0525ee5825 MDL-60817 mod_workshop: Fix behat tests 2020-03-13 13:17:44 +08:00
Mihail Geshoski 17ddce9676 MDL-60817 core_repository: Show a warning if file extension is modified 2020-03-13 13:17:44 +08:00
Mathew May 6354ead666 MDL-67924 core: Changes to features for Goutte & editing button 2020-03-13 08:50:29 +08:00
Mathew May ddd387ef68 MDL-67924 core: Now show the editing button everywhere 2020-03-13 08:50:14 +08:00
Tim Hunt f2393804bf MDL-67934 questions: give a sensible default idnumber when duplicating 2020-03-12 18:07:11 +00:00
Victor Deniz Falcon 73f8c56dfc weekly release 3.9dev 2020-03-12 14:22:06 +00:00
Victor Deniz Falcon 97f4721885 Merge branch 'install_master' of https://git.in.moodle.com/amosbot/moodle-install 2020-03-12 14:22:00 +00:00
Eloy Lafuente (stronk7) d1feae1cb9 Merge branch 'MDL-66607-master' of git://github.com/andrewnicols/moodle 2020-03-12 10:08:22 +01:00
Andrew Nicols 8fd1dfc795 Merge branch 'MDL-68030-master' of https://github.com/Chocolate-lightning/moodle 2020-03-12 12:42:17 +08:00
Mathew May d2695ab2f3 MDL-68030 core_course: Relocate chooser templates 2020-03-12 12:05:20 +08:00
Mathew May c515848ce0 MDL-68030 core_course: Update behat 2020-03-12 11:51:45 +08:00
Mathew May 4883aabf0d MDL-68030 core_course: Tuncate long module names 2020-03-12 11:51:45 +08:00
Mathew May 486abbcb74 MDL-68030 core_course: Set focus onto the help area header 2020-03-12 11:51:45 +08:00
Mathew May c368657153 MDL-68030 core_course: Properly size elements in the chooser 2020-03-12 11:51:45 +08:00
Eloy Lafuente (stronk7) 41f191b341 Merge branch 'MDL-68125-regression' of https://github.com/brendanheywood/moodle 2020-03-12 01:19:23 +01:00
Eloy Lafuente (stronk7) 0b698cb00b Merge branch 'MDL-67752-master-userstats' of git://github.com/mudrd8mz/moodle 2020-03-12 00:23:30 +01:00
Eloy Lafuente (stronk7) a17bdbd5cf Merge branch 'MDL-68019-master' of git://github.com/peterRd/moodle 2020-03-11 23:47:43 +01:00
Brendan Heywood 17b04bdb25 MDL-68125 core: Fixed $CFG->reverseproxyignore install regression 2020-03-12 09:36:17 +11:00
Eloy Lafuente (stronk7) d950188c19 Merge branch 'MDL-68061-master' of git://github.com/mickhawkins/moodle 2020-03-11 22:56:13 +01:00
Tim Hunt 511801eaa9 MDL-68153 qbank: question of unknown type should not cause fatal error
Regression casued by MDL-67153
2020-03-11 20:40:51 +00:00
Eloy Lafuente (stronk7) 9d6e37b3ef Merge branch 'MDL-67063-master-fix' of github.com:sarjona/moodle 2020-03-11 19:40:14 +01:00
Sara Arjona 7ae4a58229 MDL-67063 core_h5p: return the correct default handler 2020-03-11 18:18:09 +01:00
Tim Hunt 9440b54f8a MDL-68149 qtype_match: correctly distinguish 0 and 0.0 answers
Also added a test for backup & restore (which was working).
2020-03-11 13:43:21 +00:00
Tim Hunt b060e7495c MDL-68149 qtype_match: Updatey tests to follow make_question() pattern 2020-03-11 13:41:13 +00:00
kritisingh1 02c350947f MDL-68081 Groups: Fixes string error in member removal function 2020-03-11 17:28:54 +05:30
Andrew Nicols 56bcfae31f MDL-66607 message: Add pendingJS checks 2020-03-11 16:23:16 +08:00
Andrew Nicols efeaa51edc MDL-66607 message: Resolve race conditions in message deletion process
This commit makes several changes:
1) Explicitly stop polling for messages when a conversation is deleted;
2) Check for deleted conversations when displaying new messages;
3) Do not add a new empty conversation; and
4) Introduce pendingJS checks to ensure that Behat waits for messags to finish rendering.
2020-03-11 16:23:16 +08:00
Andrew Nicols 63e821fb41 Merge branch 'MDL-67063-master' of git://github.com/sarjona/moodle 2020-03-11 16:06:00 +08:00
Sara Arjona 08fda3e0f8 MDL-67063 h5p: new h5plib plugintype for supporting multi coreAPI
A new plugintype has been created for having more than one installed
third-party H5P libraries. Existing libraries have been moved from
lib/h5p to the new h5plib_v124 plugin.
2020-03-11 08:46:16 +01:00
Andrew Nicols e55d14e8d2 Merge branch 'MDL-68146' of https://github.com/stronk7/moodle 2020-03-11 11:33:25 +08:00
Eloy Lafuente (stronk7) 8aee741e24 MDL-68146 forms: remove duped help and advanced icons in checkboxes
They are exceptionally shown later, after the checkbox text already.

This is a fix for the regression introduced by MDL-63424.
2020-03-10 22:59:36 +01:00
Eloy Lafuente (stronk7) 5900253c79 Merge branch 'MDL-65724-master-3' of git://github.com/peterRd/moodle 2020-03-10 13:44:03 +01:00
Eloy Lafuente (stronk7) c3afb828b3 Merge branch 'MDL-67337-master' of git://github.com/aanabit/moodle 2020-03-10 12:56:23 +01:00
Amaia Anabitarte 885d481749 MDL-67337 filter_displayh5p: Apply filter inside <a> tags 2020-03-10 12:10:35 +01:00
Eloy Lafuente (stronk7) c30cddf43b Merge branch 'MDL-67189-master' of git://github.com/dpalou/moodle 2020-03-10 11:28:44 +01:00
Dani Palou 096c46bb4e MDL-67189 external: Add test to catch PHP exceptions 2020-03-10 08:26:43 +01:00
Dani Palou 2603034e0a MDL-67189 external: Catch Throwable in call_external_function 2020-03-10 08:26:43 +01:00
Shamim Rezaie 32ec05466a MDL-68135 output: remove the presentation role from user pic
"presentation" is not a valid role for the img element.
Moreover, it doesn't make sense to have both role="presentation" and
aria-hidden="true" for an element at the same time.
For more info please see:
https://timwright.org/blog/2016/11/19/difference-rolepresentation-aria-hiddentrue/
2020-03-10 16:30:08 +11:00
Eloy Lafuente (stronk7) 9dc5d5ce0b Merge branch 'MDL-67827-master' of git://github.com/andrewnicols/moodle 2020-03-09 20:36:09 +01:00
Sara Arjona 6185f1ce24 Merge branch 'MDL-66671-master' of https://github.com/dthies/moodle 2020-03-09 18:49:02 +01:00
Sara Arjona cd717e8ba8 Merge branch 'MDL-67968-master' of git://github.com/rezaies/moodle 2020-03-09 18:16:56 +01:00
Sara Arjona 19766ef9ad Merge branch 'MDL-67902-master' of git://github.com/rezaies/moodle 2020-03-09 15:06:35 +01:00
AMOS bot 8608c4b0b3 Automatically generated installer lang files 2020-03-09 00:11:44 +00:00
Sara Arjona 32a05b5625 MDL-67063 core: fix error for supporting numbers in component
Component names should always support numbers (but the first character).
This patch will add PARAM_COMPONENT the expected regular expression
to validate the expected format.
2020-03-06 20:21:31 +01:00
Sara Arjona 06299fc604 MDL-67063 output: make public get_jsrev method 2020-03-06 20:21:31 +01:00
Tim Hunt 1b6b554118 MDL-67981 questions: avoid errors deleting contextless questions 2020-03-06 17:57:11 +00:00
Shamim Rezaie f63fd51189 MDL-67968 calendar: use aria-label instead of the abbr tag 2020-03-07 03:27:35 +11:00
Shamim Rezaie 863814c64a MDL-67968 calendar: explain weekday abbreviations 2020-03-06 19:58:25 +11:00
Shamim Rezaie acbbe930eb MDL-67968 form: not to put empty label when no label is available 2020-03-06 19:58:25 +11:00
Shamim Rezaie a728edcb0c MDL-67968 question: do not display sr-only legends
.accesshide was removed because:
 1. It was only kept in case it's still used somewhere, in a custom form
 field for instance.
 2. It was broken since 3.5 where we integrated
 https://github.com/bmbrands/moodle/compare/ab65b87f3d...MDL-62419-master
 So it's been ages that the reason mentioned on point 1 was not being
 satisfied
2020-03-06 19:58:25 +11:00
Shamim Rezaie 8fe311a3a5 MDL-67968 form: grouped element label fix 2020-03-06 19:58:25 +11:00
Peter 74d95c7bf9 MDL-65724 core: Force restore to use the settings from the plan
When importing use the import settings.
2020-03-06 13:43:39 +08:00
Andrew Nicols 604887ce8f MDL-67827 behat: Pending JS improvements for dialogues 2020-03-06 12:59:38 +08:00
Andrew Nicols ae8d60c4a1 MDL-67827 behat: Add missing exception use 2020-03-06 12:59:38 +08:00
AMOS bot 8219570973 Automatically generated installer lang files 2020-03-06 00:10:41 +00:00
Sara Arjona 9df2f66fb4 weekly release 3.9dev 2020-03-05 17:31:15 +01:00
Sara Arjona 2a17d4371d Merge branch 'install_master' of https://git.in.moodle.com/amosbot/moodle-install 2020-03-05 17:31:12 +01:00
Sara Arjona 546d9047b8 MDL-33671 behat: fix error with Select all/none checkbox 2020-03-05 15:58:56 +01:00
Dani Palou fbe3178a55 MDL-67907 airnotifier: Warn if some settings disabled after get key 2020-03-05 11:58:56 +01:00
Sara Arjona 1654b2fb46 Merge branch 'MDL-33671-master-fix' of git://github.com/andrewnicols/moodle 2020-03-05 09:05:52 +01:00
Michael Hawkins c02a85c786 MDL-67861 core: Fix getremoteaddr unit test to match new proxy setup 2020-03-05 14:39:24 +08:00
Andrew Nicols 0e09bc932d MDL-33671 behat: Check current fieldtype and parent 2020-03-05 14:16:18 +08:00
Peter Dias 006d348624 MDL-68014 lti: Remove alt text for image 2020-03-05 13:37:00 +08:00
Andrew Nicols ff1a10333d Merge branch 'MDL-67263-master' of git://github.com/mihailges/moodle 2020-03-05 13:22:40 +08:00
Mihail Geshoski ae0e9801bd MDL-67263 course: Add behat tests 2020-03-05 11:57:14 +08:00
Mihail Geshoski f152b71dd4 MDL-67263 course: Add search functionality in the activity chooser 2020-03-05 11:56:39 +08:00
Andrew Nicols 4deee83a98 Merge branch 'MDL-67504-Master' of https://github.com/tuanngocnguyen/moodle 2020-03-05 10:46:37 +08:00
Andrew Nicols ba3263332d Merge branch 'MDL-65298' of https://github.com/Chocolate-lightning/moodle 2020-03-05 10:39:25 +08:00
Mathew May f3c47c9ca8 MDL-65298 core_course: Remove unused function parameters 2020-03-05 10:36:41 +08:00
Andrew Nicols 85b9ecdbd9 Merge branch 'master_MDL-67872' of https://github.com/danmarsden/moodle 2020-03-05 09:45:37 +08:00
Brendan Heywood c2366b85b3 MDL-67861 core: Added $CFG->reverseproxyignore IP subnet list
If your server is behind multiple reverse proxies that append to the
X-Forwarded-For header then you will need to specify a comma separated
list of ip addresses or subnets of the reverse proxies to be ignored
in order to find the users correct IP address.
2020-03-05 01:28:05 +01:00
Brendan Heywood 516c8aa506 MDL-67861 libraries: Refactor is_ip_in_subnet_list in ip_utils 2020-03-05 01:28:04 +01:00
Brendan Heywood 1186275685 MDL-67861 admin: Default $CFG->getremoteaddrconf to only use REMOTE_ADDR 2020-03-05 01:28:04 +01:00
Brendan Heywood df0619c7b6 MDL-67861 core: Use last ip in X-Forwarded-For list 2020-03-05 01:28:04 +01:00
Andrew Nicols 534488abfe MDL-65106 theme_classic: Remove unused variable 2020-03-05 08:15:34 +08:00
Andrew Nicols 499f9002da Merge branch 'MDL-65106-master' of git://github.com/bmbrands/moodle 2020-03-05 08:12:56 +08:00
Andrew Nicols 4288e2ca14 MDL-33671 core_files: Correct behat grammar 2020-03-05 07:59:51 +08:00
Andrew Nicols b11c9c19a5 Merge branch 'MDL-33671-master-3' of git://github.com/peterRd/moodle 2020-03-05 07:57:05 +08:00
Eloy Lafuente (stronk7) f41bec72bf Merge branch 'MDL-62768' of https://github.com/paulholden/moodle 2020-03-04 18:33:00 +01:00
Sara Arjona 5cc0ef48c0 Merge branch 'MDL-67696-master' of https://github.com/JayChurchward/moodle 2020-03-04 17:55:27 +01:00
Sara Arjona 92499808cb Merge branch 'MDL-67767-master' of git://github.com/dpalou/moodle 2020-03-04 15:04:47 +01:00
Dani Palou 12da324fc0 MDL-67767 tool_mobile: Allow using more characters in forcedurlscheme 2020-03-04 14:22:22 +01:00
Sara Arjona 4767b7bff1 Merge branch 'MDL-67863-master' of git://github.com/bmbrands/moodle 2020-03-04 14:05:17 +01:00
Sara Arjona 03a4964277 Merge branch 'MDL-67969-master' of git://github.com/rezaies/moodle 2020-03-04 12:58:04 +01:00
Marina Glancy 99b3ce9669 MDL-56287 gradereport_history: Separate groups queries improved 2020-03-04 11:46:52 +01:00
Jun Pataleta 29ddc8ff32 MDL-56287 gradereport_history: Show users from groups that can be viewed 2020-03-04 11:46:52 +01:00
Eloy Lafuente (stronk7) e9e4f9c737 Merge branch 'MDL-67641-master' of git://github.com/dpalou/moodle 2020-03-04 10:47:45 +01:00
Sara Arjona e0a2f774df Merge branch 'MDL-68008-master' of git://github.com/ferranrecio/moodle 2020-03-04 08:40:43 +01:00
Sara Arjona b71604b058 Merge branch 'MDL-68055-master' of https://github.com/snake/moodle 2020-03-04 08:16:47 +01:00
Dani Palou 5a56d34063 MDL-67641 auth: Fix shortname type in get_signup_settings WS 2020-03-04 08:11:11 +01:00
Peter Dias 06dc3a6c27 MDL-33671 core: Remove custom behat selectors
Co-authored-by: Andrew Nicols <andrew@nicols.co.uk>
2020-03-04 13:38:49 +08:00
Jake Dallimore d86274c64b MDL-68055 core_course: export content item description as markdown 2020-03-04 11:44:26 +08:00
AMOS bot 7e62a19127 Automatically generated installer lang files 2020-03-04 00:11:05 +00:00
Eloy Lafuente (stronk7) a2d4ea5f12 Merge branch 'MDL-67728-master' of git://github.com/crazyserver/moodle 2020-03-03 19:50:08 +01:00
Eloy Lafuente (stronk7) 2ff7b7b0da Merge branch 'MDL-68038-master' of git://github.com/sarjona/moodle 2020-03-03 19:45:05 +01:00
Eloy Lafuente (stronk7) bc988c0600 Merge branch 'MDL-67971-master' of git://github.com/sarjona/moodle 2020-03-03 19:02:22 +01:00
Sara Arjona d0b087efa1 Merge branch 'MDL-67993-master' of git://github.com/lameze/moodle 2020-03-03 18:06:23 +01:00
Ferran Recio de5cc3662b MDL-68008 tool_capability: shows multiple contexts when overrides exists 2020-03-03 17:46:11 +01:00
Sara Arjona 07b6ae5f3a Merge branch 'MDL-68048-master-behatnotfound' of git://github.com/mudrd8mz/moodle 2020-03-03 17:01:33 +01:00
Sara Arjona 47f825b3d1 Merge branch 'MDL-68060-master-huburlcompare' of git://github.com/mudrd8mz/moodle 2020-03-03 13:10:00 +01:00
Sara Arjona ae2b9f4814 Merge branch 'MDL-67891' of https://github.com/paulholden/moodle 2020-03-03 12:48:03 +01:00
Sara Arjona bcfab3d736 Merge branch 'MDL-63316' of https://github.com/azito122/moodle 2020-03-03 11:10:36 +01:00
Sara Arjona bcea0d8340 Merge branch 'MDL-67945-master' of git://github.com/ferranrecio/moodle 2020-03-03 10:10:32 +01:00
Sara Arjona dc55029bca Merge branch 'MDL-67749-master' of git://github.com/dpalou/moodle 2020-03-03 09:29:18 +01:00
Peter 3d7d25afce MDL-68019 favourites: Unit test 2020-03-03 13:19:46 +08:00
Peter a216d86c6c MDL-33671 core: Add ability to download selected items
Utilise the new checkbox-toggleall functionality
2020-03-03 07:20:35 +08:00
Peter 5c567c1421 MDL-33671 core: Toggable checkboxes on filepickers 2020-03-03 07:20:35 +08:00
Peter 2f03923602 MDL-33671 core: Allow for bulk delete of files
* Enable bulk delete in a details view
* Behat tests for new functionality
* Unit test for new function
2020-03-03 07:20:35 +08:00
Sara Arjona 564f01694d Merge branch 'MDL-67988-jws-base64url' of https://github.com/cengage/moodle 2020-03-02 13:59:48 +01:00
Paul Holden 07d93d27a0 MDL-67891 tool_cohortroles: move upgrade step inside plugin.
The step added in MDL-67458 was added to core, which broke the upgrade
process if this plugin had been uninstalled prior.
2020-03-02 08:50:43 +00:00
Sara Arjona 2f45b6f7cf MDL-67971 core_badges: review issuer URL 2020-03-02 08:02:08 +01:00
Sara Arjona 3e3b656795 MDL-68038 core_h5p: rename can_update_library test 2020-03-02 08:00:42 +01:00
Nathan Nguyen 464bd7ecd5 MDL-67504 antivirus_clamav: Add scanning tries option 2020-03-02 08:54:02 +11:00
Andrew Zito 1e67849c1f MDL-63316 participants: lastname sort for participants table 2020-02-28 14:34:18 -05:00
Daniel Thies 158898254c MDL-66671 enrol_lti: Skip grade sync when cm deleted 2020-02-28 09:32:24 -06:00
Eloy Lafuente (stronk7) d7374522ed weekly release 3.9dev 2020-02-28 12:22:30 +01:00
Peter b3b2d72c1e MDL-68019 course: Performance improvement with component favourites
Add the ability to get all/select itemtypes within a component
2020-02-28 11:28:15 +08:00
Bas Brands 8ad4255fbe MDL-67863 theme_boost: change keyboard tab order
Move navdrawer up in the dom for a more logical tab order
Hide navdrawer links for tab / screenreader when navdrawer is closed
2020-02-27 17:11:03 +01:00
Eloy Lafuente (stronk7) 5767ceda85 Merge branch 'MDL-67062-master-fix-oracle' of https://github.com/sarjona/moodle 2020-02-27 13:18:58 +01:00
David Mudrák 4e907e7be4 MDL-67752 course: Provide the active user stats during the registration
These new stats provide better insight as they only consider recently
active users and active enrolments only.
2020-02-27 13:14:39 +01:00
David Mudrák c268c1bd3f MDL-67752 course: Improve the average_number_of_participants function
The patch adds two new optional parameters that control the function
behaviour. With default values, the function is backwards compatible and
it simply uses the number of enrolment records. The new parameters allow
to include only active enrolments and/or only recently active users.
2020-02-27 13:14:39 +01:00
Sara Arjona 770cfadd68 MDL-67062 core_h5p: fix oracle distinct error 2020-02-27 13:12:52 +01:00
Eloy Lafuente (stronk7) df6071af65 Merge branch 'MDL-67062-master-fix' of https://github.com/sarjona/moodle 2020-02-27 12:54:30 +01:00
Sara Arjona 91ae2593d6 MDL-67062 core_h5p: behat fix for delete library test 2020-02-27 12:32:21 +01:00
Bas Brands e06b302ed5 MDL-67901 type_multichoice: clear my choice accessibility
Improve the accessibility for the clear my choice option. The
extra radio input controlling the reset feature was removed and
resetting the choice is now controlled by JavaScript.
This fixes the missing label reported in Accessibility audit and W3C
validation of the reset link

By this change this issue also fixes MDL-67280
2020-02-27 10:24:12 +01:00
Michael Hawkins b34f2c75c9 MDL-68061 gradereport_history: Restrict per page config value to int 2020-02-27 13:38:37 +08:00
Jun Pataleta 9585a6fdf7 Merge branch 'MDL-67584-integration-2' of https://github.com/Chocolate-lightning/moodle 2020-02-27 12:36:33 +08:00
Mathew May 6e1a4477d8 MDL-67584 core_course: Activity chooser favouriting frontend 2020-02-27 12:13:35 +08:00
Eloy Lafuente (stronk7) 3bc090db2a Merge branch 'MDL-67865-master' of git://github.com/rezaies/moodle 2020-02-26 23:36:26 +01:00
Eloy Lafuente (stronk7) 6304e6a380 Merge branch 'MDL-64686-master' of git://github.com/lucaboesch/moodle 2020-02-26 23:25:23 +01:00
Eloy Lafuente (stronk7) 01689c8fe4 Merge branch 'MDL-67062-master' of git://github.com/sarjona/moodle 2020-02-26 22:44:47 +01:00
Sara Arjona 64a2bd19b0 MDL-67062 core_h5p: delete libraries
New feature to let admins to remove H5P libraries/content types.

Thanks Ferran Recio for your contribution with the renderer!

AMOS BEGIN
 CPY [actions,core],[actions,core_h5p]
AMOS END
2020-02-26 19:55:34 +01:00
Sara Arjona 2b8d97326d MDL-67062 core_h5p: delete cache assets when removing libraries
The cache assets linked to a library have to be removed also when a
library is deleted, in order to rebuild them again next time they are
required.
2020-02-26 19:55:34 +01:00
Eloy Lafuente (stronk7) 9e5331c331 Merge branch 'MDL-67758-master' of git://github.com/dpalou/moodle 2020-02-26 17:35:38 +01:00
Eloy Lafuente (stronk7) bc418341fe Merge branch 'MDL-67132-LTI-Adv-TriggerCalc' of https://github.com/cengage/moodle 2020-02-26 17:15:50 +01:00
Eloy Lafuente (stronk7) d2ac7726eb Merge branch 'MDL-67979-master-enfix' of git://github.com/mudrd8mz/moodle 2020-02-26 17:13:12 +01:00
Anthony Forth bcc3a463f6 MDL-67945 enrol: missing $DB in edit_instance_form 2020-02-26 16:22:36 +01:00
David Mudrák 2606485ab2 MDL-68060 registration: Improve the sites directory location check
This allows to define the custom HUB_MOODLEORGHUBURL with HTTP Basic
Auth credentials so that the registration features can be tested against
our staging site.
2020-02-26 10:59:15 +01:00
Jun Pataleta 47fd698541 Merge branch 'MDL-67921-master' of git://github.com/sarjona/moodle 2020-02-26 16:51:19 +08:00
Jun Pataleta 042753b27f Merge branch 'master_MDL-67980' of https://github.com/golenkovm/moodle 2020-02-26 14:30:49 +08:00
David Balch 50850003e5 MDL-67993 roles: Fix pix_icon() calls. 2020-02-26 12:01:45 +08:00
Claude Vervoort ae46b7442c MDL-67132 mod_lti: document new param 2020-02-25 21:22:45 -05:00
Eloy Lafuente (stronk7) 392e270c93 Merge branch 'MDL-67950-passwordpolicy-callback' of https://github.com/brendanheywood/moodle 2020-02-26 00:20:49 +01:00
Eloy Lafuente (stronk7) 8e933354a6 Merge branch 'MDL-67644-master' of git://github.com/dpalou/moodle 2020-02-25 23:59:41 +01:00
Eloy Lafuente (stronk7) d1658a47eb Merge branch 'MDL-67806-master' of git://github.com/dpalou/moodle 2020-02-25 23:57:15 +01:00
Eloy Lafuente (stronk7) a32e7f7933 Merge branch 'MDL-67237-master' of git://github.com/dpalou/moodle 2020-02-25 23:53:19 +01:00
Eloy Lafuente (stronk7) b5220abb0f Merge branch 'MDL-67920-master' of git://github.com/aanabit/moodle 2020-02-25 23:32:17 +01:00
Eloy Lafuente (stronk7) db7861cf7a Merge branch 'MDL-67131-master' of git://github.com/cescobedo/moodle 2020-02-25 23:30:41 +01:00
Paul Holden 95f2f7cc9f MDL-62768 tool_policy: add page title & breadcrumb navigation. 2020-02-25 22:03:09 +00:00
Paul Holden bff97f158e MDL-62768 tool_dataprivacy: add page breadcrumbs to navigation. 2020-02-25 21:36:37 +00:00
David Mudrák 930d9782e1 MDL-67979 lang: Reflect the new string wording in the Behat test
This effectively only adds the full stop and would not break the test
but still.
2020-02-25 12:21:09 +01:00
Helen Foster a753f4f9a1 MDL-67979 lang: Import fixed English strings (en_fix)
Significant string changes:

* configcustommenuitems,core_admin - corrected example
* custommenuitems_desc,tool_mobile - fallback behaviour of custom menu
  items in the app
2020-02-25 12:21:09 +01:00
Eloy Lafuente (stronk7) 5ea7d1b205 Merge branch 'MDL-67862-master' of git://github.com/junpataleta/moodle 2020-02-25 12:09:33 +01:00
Eloy Lafuente (stronk7) 8b64627235 Merge branch 'MDL-67364-master' of git://github.com/mickhawkins/moodle 2020-02-25 12:05:33 +01:00
David Mudrák e84ca4fb22 MDL-68048 behat: Fix the ElementNotFoundException message wording
The exception class itself adds the "not found" to the error message.
2020-02-25 11:33:57 +01:00
Jun Pataleta 88fb49b657 Merge branch 'MDL-67846-master' of git://github.com/lameze/moodle 2020-02-25 16:52:45 +08:00
Simey Lameze 041ff27245 MDL-67846 mod_forum: export user full name 2020-02-25 15:26:22 +08:00
Jun Pataleta 6b6705a8ad Merge branch 'MDL-67586-integration' of https://github.com/Chocolate-lightning/moodle 2020-02-25 14:25:16 +08:00
Mathew May e04b4be619 MDL-67586 core_course: Recommended modules frontend 2020-02-25 14:07:40 +08:00
Jun Pataleta b5b7e88caa Merge branch 'MDL-67262' of git://github.com/stronk7/moodle 2020-02-25 09:37:38 +08:00
Eloy Lafuente (stronk7) 30206d545e MDL-67262 core_course: fix behat looking for non-existing page 2020-02-24 23:15:28 +01:00
Shamim Rezaie 032b9d15cb MDL-67902 calendar: keyboard users should be able to toggle day popover 2020-02-25 03:38:35 +11:00
Shamim Rezaie ac0ae31953 MDL-67902 calendar: informative aria label for event days in mini cals 2020-02-25 03:38:35 +11:00
Shamim Rezaie 369fc01391 MDL-67902 calendar: informative aria label for event days in calendar 2020-02-25 03:38:30 +11:00
Shamim Rezaie d24f97c456 MDL-67902 calendar: Fix label of the course filter in calendar 2020-02-24 23:43:10 +11:00
Jun Pataleta c31085bb66 MDL-67262 core_course: Rebuild recommended activities JS module 2020-02-24 16:04:06 +08:00
Jun Pataleta 326527c25b Merge branch 'MDL-67262-master-2' of git://github.com/snake/moodle 2020-02-24 15:56:04 +08:00
Jake Dallimore b3fe33ac75 MDL-67262 core_course: integration review changes 2020-02-24 13:13:49 +08:00
Adrian Greeve ebdbe8736e MDL-67262 core_course: Unit and behat tests for recommendations. 2020-02-24 11:00:44 +08:00
Adrian Greeve cd09777dbd MDL-67262 core_course: Added the ability to recommend activities.
This allows an adminsitrator or a user with
'moodle/course:recommendactivity' to recommend activities in the
activity chooser.
2020-02-24 10:59:55 +08:00
Mikhail Golenkov e63040d02b MDL-67980 tasks: Sort ad-hoc tasks by nextruntime. 2020-02-24 09:30:09 +11:00
Adrian Hutchinson 9c66d72779 MDL-67988 mod_lti: remove padding from JWS base64url encoding 2020-02-21 08:42:41 -08:00
Pau Ferrer Ocaña c6d2e5c5ab MDL-67728 behat: Increase app start timeout 2020-02-21 12:45:05 +01:00
Pau Ferrer Ocaña ab892ccb7a MDL-67728 behat: Improve behat app selectors 2020-02-21 12:45:05 +01:00
cescobedo 5d81efd1f7 MDL-67131 core_h5p: Allow use webservice/pluginfile|tokenpluginfile url
With this fix the player accepts webservice/pluginfile.php, pluginfile.php
and tokenpluginfile.php URLs to find the h5p files.
Also, we allow to build fileurl with the proper endpoint if
the URL is webservice/pluginfile, tokenpluginfile.php or pluginfile.php
as Mobile App needs.
2020-02-21 09:46:23 +01:00
Sara Arjona 92ad6bd901 MDL-67921 core_h5p: re-implement framework->getOption
The implementation done for getOption was not correct because it
was only taking into account the displayoptions for download and
embed.
Besides, setOption implementation has been added.
2020-02-21 09:29:07 +01:00
Amaia Anabitarte f531a30252 MDL-67920 core_h5p: Move upload button into form and fix title
Minor bugs in Site administration > H5P > Manage H5P content types admin page'
2020-02-21 08:59:27 +01:00
Luca Bösch 8398273dfd MDL-64686 theme: align course search form for small screens sizes. 2020-02-21 06:38:08 +01:00
Jun Pataleta 37b2ee3f64 weekly release 3.9dev 2020-02-21 11:02:08 +08:00
Jun Pataleta dd8144ebff Merge branch 'install_master' of https://git.in.moodle.com/amosbot/moodle-install 2020-02-21 11:01:17 +08:00
Eloy Lafuente (stronk7) a1a5f87093 Merge branch 'MDL-67727-master' of git://github.com/crazyserver/moodle 2020-02-20 16:12:23 +01:00
Jun Pataleta 5a4c63aa4f Merge branch 'MDL-67585-master-4' of git://github.com/snake/moodle 2020-02-20 11:58:02 +08:00
Adrian Greeve a7b2378d72 MDL-67585 core_course: Added legacyitem to exporter.
Legacy items have no id and so can not be favourited nor
recommended. We needed a way to easily determine whether to show
these features in the templates.
2020-02-20 11:42:24 +08:00
Adrian Greeve 54561c885e MDL-67585 core_course: Removing functions introduced this release.
For the initial rewrite of the activity chooser we had some
temporary functions to make everything work. These have been replaced
with different functions and so these functions are now being removed.
2020-02-20 11:42:23 +08:00
Adrian Greeve 618d310663 MDL-67585 core_course: Update to provider to add favourites info.
This adds information to the privacy report about the user being
able to favourite activities in the activity chooser.
2020-02-20 11:42:23 +08:00
Adrian Greeve 5c78541f80 MDL-67585 core_course: Service factory for course content items. 2020-02-20 11:42:23 +08:00
Jake Dallimore 806e736a7c MDL-67585 core_course: use new content item service to load the chooser 2020-02-20 11:42:23 +08:00
Jake Dallimore 85b4eec5b7 MDL-67585 core_course: new web service to return course content items 2020-02-20 11:42:23 +08:00
Jake Dallimore a826857844 MDL-67585 core_course: added web services for content item favourites
Two new services:
add_content_item_to_user_favourites
remove_content_item_from_user_favourites
2020-02-20 11:42:23 +08:00
Jake Dallimore f09e9b887e MDL-67585 core_course: add favouriting to the content item service class 2020-02-20 11:42:22 +08:00
Jake Dallimore 57dfcf951d MDL-67585 core_course: add hook get_all_content_items
Returns all content items which are provided by the plugin, irrespective
of whether or not a user can see an item in a particular course. This is
used to generate a global list of content items, allowing for admin
level features to be added.
2020-02-20 11:42:22 +08:00
Jake Dallimore 520add19d6 MDL-67585 core_course: deprecate the callback get_shortcuts()
This involves a few changes:
- The callback is still called by the repository but only if the
replacement callback get_course_content_items is not implemented.
- Debugging is called when the get_shortcuts callback is called.
- We leave lti's implementation of get_shortcuts alone, in order to
maintain the output of get_module_metadata during its deprecation life
span.
2020-02-20 11:42:21 +08:00
Jake Dallimore 39b9e293e7 MDL-67585 core_course: only accept content items from mods and submods
This matches the prior behaviour in core.
2020-02-20 09:28:57 +08:00
Jake Dallimore 8fc7d83f38 MDL-67585 core_course: add get_course_content_items hook
Plugins use this to report which content items relate to a user in
a course.
2020-02-20 09:28:57 +08:00
Jake Dallimore 38a9d717a9 MDL-67585 format_singleactivity: fix hassubtype to use the service data
TODO: really need to properly work out subtypes lower down in the repo.
2020-02-20 09:28:57 +08:00
Jake Dallimore 12f73788b4 MDL-67585 core_course: deprecate get_module_metadata() from course/lib 2020-02-20 09:28:57 +08:00
Jake Dallimore 2f040002ee MDL-67585 core_course: Use the content_item_service to build the picker
Replace get_module_metadata calls with calls to the new
content_item_service class.
2020-02-20 09:28:57 +08:00
Jake Dallimore dd494a41a4 MDL-67585 core_course: add content_item_service class
The service object encapsulates access control logic and allows
consumers to query content items in different contexts/scopes.
2020-02-20 09:28:57 +08:00
Jake Dallimore 8210186372 MDL-67585 core_course: add user param to course_allowed_module
We want to be able to call this for a user, not rely on a global.
2020-02-20 09:28:57 +08:00
Jake Dallimore eec2d09f84 MDL-67585 core_course: add exporter for course content items
An exporter will allow let us add calculated fields like 'favourited'
to the data being transferred.
2020-02-20 09:28:57 +08:00
Jake Dallimore 7c7ae1bd6f MDL-67585 core_course: add caching_content_item_repository class
A repository object which caches results for a user and course. This
allows this repository to be called many time in a single request - a
pattern we expect when objects of this type replace the existing
get_module_metadata() method.
2020-02-20 09:28:57 +08:00
Jake Dallimore 92715acd0c MDL-67585 core: add course content item cache
To be indexed by userid_courseid.
2020-02-20 09:28:57 +08:00
Jake Dallimore e843336ee6 MDL-67585 core_course: add content_item_readonly_repository class
Add a read-only repository, which returns the list of content items
which can be added to a course. This class does not handle access
control nor user-related data pertaining to to core content_items.
This will be handled in a future commit in any calling code using
the repositories.
2020-02-20 09:28:57 +08:00
Jake Dallimore 94420851a5 MDL-67585 core_course: add support for custom titles to content_item
Plugins have always been able to return either a string or a lang string
when implementing the hook, 'get_shortcuts'. Since content_items will
be the replacement for that stdClass implementation, we need a way
for plugins to continue to have this flexibility. This just provides
a small contract and some classes that plugins can use in future.
2020-02-20 09:28:57 +08:00
Jake Dallimore dd8048e350 MDL-67585 core_course: add the content_item class
Objects of this class represent items able to be added to a course,
including modules and submodules.
2020-02-20 09:28:57 +08:00
Eloy Lafuente (stronk7) a21ba663fd Merge branch 'MDL-67899-master' of git://github.com/rezaies/moodle 2020-02-20 00:41:19 +01:00
Luke Tucker 785271c6d9 MDL-50455: tool_capability: Use static cache when loading context data 2020-02-20 00:27:33 +01:00
Eloy Lafuente (stronk7) 287c044f9c Merge branch 'MDL-67942-master' of https://github.com/HuongNV13/moodle 2020-02-19 19:17:09 +01:00
Eloy Lafuente (stronk7) 2b97ab8adb Merge branch 'MDL-67947' of https://github.com/timhunt/moodle 2020-02-19 17:48:14 +01:00
Tim Hunt 887daf932c MDL-67947 questions: questions_in_use should ask all components
Previously it was only checking mods.
2020-02-19 11:55:04 +00:00
Dani Palou 956232db1d MDL-67749 ws: Set private token when reset or manual create token 2020-02-19 12:03:48 +01:00
Shamim Rezaie 768c318ad6 MDL-67969 lib: Fix duplicate blockinstanceid for fake blocks 2020-02-19 21:20:01 +11:00
Huong Nguyen fbad7a5170 MDL-67942 Quiz: Quiz attempt report delete_selected_attempts issue 2020-02-19 15:34:34 +07:00
Jun Pataleta 56a73a3f1e Merge branch 'MDL-67321-latest' of https://github.com/Chocolate-lightning/moodle 2020-02-19 14:44:13 +08:00
Mathew May c58c23d6c6 MDL-67321 core_course: Add support for tabbing activities in the chooser 2020-02-19 13:28:54 +08:00
Eloy Lafuente (stronk7) 751189a83a Merge branch 'MDL-67471_master' of https://github.com/t-schroeder/moodle 2020-02-18 23:54:35 +01:00
Brendan Heywood 648e20ab6d MDL-67950 core: check_password_policy only fires when passwordpolicy = 1 2020-02-19 09:46:21 +11:00
Eloy Lafuente (stronk7) 39696f9e66 Merge branch 'MDL-61390-master' of git://github.com/junpataleta/moodle 2020-02-18 19:07:05 +01:00
Eloy Lafuente (stronk7) aced9967cc Merge branch 'MDL-67953-master' of git://github.com/andrewnicols/moodle 2020-02-18 17:09:17 +01:00
Eloy Lafuente (stronk7) 29e0c1c85f Merge branch 'MDL-67949-master' of git://github.com/andrewnicols/moodle 2020-02-18 10:20:07 +01:00
Shamim Rezaie c2fa370b0e MDL-67865 output: Fix id of the dropdown trigger 2020-02-18 16:14:45 +11:00
Andrew Nicols d1a7806094 MDL-67949 grunt: normalise component paths 2020-02-18 08:10:24 +08:00
Eloy Lafuente (stronk7) 03a897c038 Merge branch 'MDL-61389-master' of git://github.com/junpataleta/moodle 2020-02-17 23:29:28 +01:00
Eloy Lafuente (stronk7) 245ac91748 Merge branch 'MDL-67309' of https://github.com/Peterburnett/moodle 2020-02-17 22:40:45 +01:00
Eloy Lafuente (stronk7) 1a5a87c4f3 Merge branch 'MDL-67817-master' of https://github.com/dthies/moodle 2020-02-17 22:08:09 +01:00
Eloy Lafuente (stronk7) 82ca0e2afd Merge branch 'MDL-67712-master' of git://github.com/andrewnicols/moodle 2020-02-17 12:28:05 +01:00
Tim Schroeder be8cfe6bcc MDL-67471 message: fixed mark_notification_read with messaging disabled 2020-02-17 09:15:19 +01:00
Bas Brands 46ff4741a1 MDL-65106 theme_classic: set custom navigationitem icon 2020-02-17 09:01:11 +01:00
Jun Pataleta dff9f9564b MDL-61390 mod_forum: Create template for forum search results 2020-02-17 15:55:56 +08:00
Jun Pataleta 904bc48b16 MDL-61389 mod_forum: Descriptive aria-label for "Discuss this topic" 2020-02-17 15:51:23 +08:00
Peter Burnett 59298ccebc MDL-67309 login: Added check for password policy at login time. 2020-02-17 09:55:07 +10:00
Andrew Nicols 843cf97bf6 MDL-67949 grunt: Add debugging information 2020-02-16 11:31:12 +08:00
Andrew Nicols 91434142a4 MDL-67712 grunt: Ensure that more-specific matches are first 2020-02-16 11:03:51 +08:00
AMOS bot 5f581dc9bb Automatically generated installer lang files 2020-02-16 00:11:04 +00:00
Daniel Thies a632739617 MDL-67817 core_date: Add test for timezone localization strings 2020-02-14 11:48:38 -06:00
Daniel Thies bf270d13fa MDL-67817 core_lang: Update timezone strings deprecating old identifiers 2020-02-14 11:48:38 -06:00
Sara Arjona 2c0b08c5a7 weekly release 3.9dev 2020-02-14 12:12:02 +01:00
Sara Arjona 5b21f101ee NOBUG: Fixed SVG browser compatibility 2020-02-14 12:12:00 +01:00
Sara Arjona f8a3ba1c86 Merge branch 'install_master' of https://git.in.moodle.com/amosbot/moodle-install 2020-02-14 12:11:59 +01:00
Jun Pataleta ed683f5f24 Merge branch 'MDL-67965-master' of git://github.com/andrewnicols/moodle 2020-02-14 11:16:42 +01:00
Andrew Nicols cdf6bf03c6 Merge branch 'MDL-67878' of https://github.com/timhunt/moodle 2020-02-14 11:16:39 +01:00
Andrew Nicols 166a314a0c Merge branch 'MDL-67264-review-squashed' of https://github.com/Chocolate-lightning/moodle 2020-02-14 11:16:31 +01:00
Eloy Lafuente (stronk7) d4758fd646 Merge branch 'MDL-67876' of https://github.com/timhunt/moodle 2020-02-14 11:15:33 +01:00
Sara Arjona 4bbf8716fa Merge branch 'MDL-63032-master' of git://github.com/peterRd/moodle 2020-02-14 11:15:30 +01:00
Andrew Nicols c74532c8b3 Merge branch 'MDL-67857' of https://github.com/timhunt/moodle 2020-02-14 11:15:27 +01:00
Eloy Lafuente (stronk7) 49e895a587 Merge branch 'MDL-67532' of https://github.com/paulholden/moodle 2020-02-14 11:15:24 +01:00
Eloy Lafuente (stronk7) 7b98ff28c6 Merge branch 'MDL-67675-master' of git://github.com/rezaies/moodle 2020-02-14 11:15:21 +01:00
Eloy Lafuente (stronk7) f9d0d67d52 Merge branch 'MDL-67690-master' of git://github.com/merrill-oakland/moodle 2020-02-14 11:15:18 +01:00
Andrew Nicols afe13dfe9c MDL-67965 behat: Get theme-specific context classes correctly 2020-02-14 10:15:49 +08:00
Claude Vervoort 4da02a6824 MDL-67132 mod_lti: call grade api to trigger course total computation 2020-02-13 15:20:04 -05:00
Michael Hawkins 2c78a8f479 MDL-67364 output: Add unit testing for editor_scss_to_css 2020-02-13 17:20:32 +08:00
Michael Hawkins 1c10c542f3 MDL-67364 output: Allow child themes to use parent editor_scss config
This still allows child themes to override editor_scss, but will fall
back to what the parent is using if they do not specify it. This
negates the need for every child them to have the config duplicated
in order to utilise it.
2020-02-13 14:01:55 +08:00
Andrew Nicols 48b5817e88 MDL-67953 grunt: Work around spawn length limits 2020-02-13 13:29:28 +08:00
Mathew May e6a5298394 MDL-67264 lib modal: Add deffered promises to content promises 2020-02-13 09:15:41 +08:00
Peter 37cf89b34a MDL-67264 core_course: Activity chooser behat
Update the selectors to use a button
Add new tests to cover new functionality
Add new new step definitions to minimise usage of xpaths

Co-authored-by: Mathew May <mathewm@hotmail.co.nz>
Co-authored-by: Mihail Geshoski <mihail@moodle.com>
Co-authored-by: Peter <peterrolanddias@gmail.com>
2020-02-13 09:15:40 +08:00
Dan Marsden c61619fd1f MDL-67872 lib: fix code compliance with guidelines. 2020-02-13 12:15:02 +13:00
Dan Marsden de8d91ce38 MDL-67872 lib: correct plagiarism config frankenstyle naming. 2020-02-13 12:14:58 +13:00
Tim Hunt 35e1470e06 MDL-67878 grunt: make it works on Windows
To be honest, all the real skill here is Andrew Nicols, but I made the patch, so the credit is mine! All mine!
2020-02-12 15:03:25 +00:00
Dani Palou 29aeab4eee MDL-67644 tool_mobile: Add OAuth 2 providers in disabled features 2020-02-12 14:11:45 +01:00
Tim Hunt ae5d5f2085 MDL-67876 forms: not all field types need validation JS 2020-02-12 10:06:58 +00:00
Tim Hunt a5b56c4da5 MDL-67876 forms: scroll to any invalid element if form cannot submit 2020-02-12 09:32:21 +00:00
Mathew May 05b27f2118 MDL-67264 core_course: Activity chooser new feature
Roll in the base for the new activity chooser
It renders all modules into a modal
Gives the user to add from either the base or help screens
All checked by accessability tools with great coverage
Adds minimal overhead to the course edit setup time

Co-authored-by: Mathew May <mathewm@hotmail.co.nz>
Co-authored-by: Mihail Geshoski <mihail@moodle.com>
2020-02-12 12:35:03 +08:00
Shamim Rezaie cd4c44bea4 MDL-67899 message: Add aria-label to the emoji picker button 2020-02-12 01:01:22 +11:00
Sara Arjona 6b506621a6 Merge branch 'MDL-59303' of https://github.com/paulholden/moodle 2020-02-11 13:52:19 +01:00
Sara Arjona 799c3955e4 Merge branch 'MDL-67635-filesystem-cleanup' of https://github.com/brendanheywood/moodle 2020-02-11 13:22:54 +01:00
Sara Arjona c002fbf3db Merge branch 'MDL-66847-master' of git://github.com/lucaboesch/moodle 2020-02-11 12:28:24 +01:00
Luca Bösch c3fe18506b MDL-66847 webservice: Correct breadcrumb + title for ws documentation. 2020-02-11 12:17:39 +01:00
Sara Arjona a7cd3a17fc Merge branch 'MDL-66834-master' of https://github.com/kepeter/moodle 2020-02-11 11:54:12 +01:00
Sara Arjona 5963c3c8f0 Merge branch 'MDL-67060-master' of git://github.com/aanabit/moodle 2020-02-11 11:40:18 +01:00
Tim Hunt 007d13f147 MDL-67857 formchangechecker: support form submits that dont save 2020-02-11 10:25:45 +00:00
Amaia Anabitarte 78f0e17127 MDL-67060 core_h5p: Behats for H5P tools Overview 2020-02-11 10:26:57 +01:00
Amaia Anabitarte 4e7a035f68 MDL-67060 core_h5p: Improvements to Manage H5P setting page
Co-authored by: Adrian Greeve <adrian@moodle.com>

AMOS BEGIN
 CPY [description,moodle],[description,core_h5p]
 CPY [status,moodle],[status,core_h5p]
AMOS END
2020-02-11 10:26:57 +01:00
Amaia Anabitarte d3ee08dba3 MDL-67060 core_h5p: Improving H5P libraries list 2020-02-11 10:26:57 +01:00
Sara Arjona 855d4db87a Merge branch 'bugfix-MDL-67142' of https://github.com/AngadSethi/moodle 2020-02-11 10:18:49 +01:00
Sara Arjona 4b1d922967 Merge branch 'MDL-67894-master' of https://github.com/grabs/moodle 2020-02-11 08:20:29 +01:00
Peter Dias 1cb6c0bb31 MDL-63032 core: Update the timezone to the latest windows list 2020-02-11 07:17:23 +08:00
Sara Arjona 6ec4ed6f74 Merge branch 'MDL-67192-master' of git://github.com/vmdef/moodle 2020-02-10 17:59:22 +01:00
Dani Palou f95afbaf48 MDL-67758 airnotifier: Send wwwroot to airnotifier 2020-02-10 11:46:40 +01:00
Jun Pataleta 3a836cc110 MDL-66245 privacy: Encode each part of the data URL instead of the whole 2020-02-10 16:55:11 +08:00
Víctor Déniz Falcón fe9bb50cb5 MDL-67192 core_h5p: remove redundant assignment 2020-02-10 08:40:13 +00:00
Víctor Déniz Falcón a23969a5fa MDL-67192 core_h5p: get site UUID from H5P using the API 2020-02-10 08:40:12 +00:00
Jun Pataleta fb31e3da0b MDL-67862 message: Render dialogue header only when necessary 2020-02-10 13:08:31 +08:00
Mihail Geshoski cd2efd12ca MDL-67264 core_course: Begin set up for Activity chooser 2020-02-10 08:14:16 +08:00
Mathew May d6b95b8642 MDL-67264 core_templates: If classes exists render it out 2020-02-10 08:14:16 +08:00
Angad Sethi 86127e774f MDL-67142 quiz: fixed error when deleting saved questions long-name-quiz
An error was showing up while deleting questions
(in the question_save_from_deletion method) which had been saved
and which belonged to a quiz with a super long name, not exceeding 255
characters, as the 'name' field in 'question_categories' table had a
max size of 255 characters. The shorten_text function was used to
shorten the string to 255 characters and a unit test was added with
the name test_question_save_from_deletion_quiz_with_long_name to test
the patch.
2020-02-08 19:40:44 +05:30
AMOS bot b1d076192b Automatically generated installer lang files 2020-02-08 00:11:45 +00:00
Andreas Grabs 20fea5522c MDL-67894 mod_feedback: database error on show responses 2020-02-07 18:48:38 +01:00
Paul Holden 1e89b1d686 MDL-59303 auth_shibboleth: consistent readme URL. 2020-02-07 14:25:15 +00:00
Paul Holden 5253834d03 MDL-67532 badges: better default for new badge language. 2020-02-07 09:46:56 +00:00
Sara Arjona 4e90332195 weekly release 3.9dev 2020-02-07 09:44:47 +01:00
Sara Arjona dc557fa4fd Merge branch 'install_master' of https://git.in.moodle.com/amosbot/moodle-install 2020-02-07 09:44:44 +01:00
Brendan Heywood f070dd126f MDL-67726 tool_phpunit: Removed webrunner tool 2020-02-07 08:08:48 +08:00
Andrew Nicols af3de26941 Merge branch 'MDL-67175-master' of git://github.com/andrewnicols/moodle 2020-02-07 08:08:43 +08:00
Ferran Recio 312a9317fa MDL-67175 mod_scorm: fixing js eslint errors 2020-02-07 08:05:14 +08:00
Sam Hemelryk 841d855993 MDL-67175 mod_scorm: sync XHR requests use sendBeacon when available
Totara reference TL-22621 (original code by Sam Hemelryk)
https://github.com/moodle/moodle/commit/2add402f8183c50bc1238ef2da5ea9cd06cb1dd9
2020-02-07 08:05:14 +08:00
Brendan Cox 86b082cece MDL-67175 session: set SameSite=None for Chrome 78 and above
Totara reference TL-22311 (original code by Brendan Cox and Sam Hemelryk)
https://github.com/moodle/moodle/commit/a3f4de2b7efe66de6617a67ce7c87f2862e76ac6
2020-02-07 08:05:14 +08:00
Dani Palou 2ccdc21b36 MDL-67237 tool_mobile: Add H5P offline option in disabled features 2020-02-06 11:33:15 +01:00
Eloy Lafuente (stronk7) 986c5283cf Merge branch 'MDL-67832' of https://github.com/timhunt/moodle
(fixed a couple of typos in the merge commit)
2020-02-06 00:01:07 +01:00
Eloy Lafuente (stronk7) a411ab8825 Merge branch 'MDL-67387-master' of git://github.com/cescobedo/moodle 2020-02-05 19:18:11 +01:00
Eloy Lafuente (stronk7) 3c87f49f79 Merge branch 'MDL-67830' of https://github.com/timhunt/moodle 2020-02-05 19:07:55 +01:00
Sara Arjona 53be27e4fb Merge branch 'MDL-66463-master' of git://github.com/ferranrecio/moodle 2020-02-05 13:10:59 +01:00
Ferran Recio 303df89df6 MDL-66463 theme_boost: IE and Edge go to top link compatibility 2020-02-05 11:44:59 +01:00
Eloy Lafuente (stronk7) a8976119dc Merge branch 'MDL-46542' of https://github.com/timhunt/moodle 2020-02-05 09:32:32 +01:00
Andrew Nicols 097677f765 Merge branch 'MDL-49103-master' of git://github.com/sarjona/moodle 2020-02-05 13:48:29 +08:00
Andrew Nicols bc51efe54b Merge branch 'MDL-58584-master' of git://github.com/rezaies/moodle 2020-02-05 13:45:34 +08:00
Eloy Lafuente (stronk7) 4cbba6d108 Merge branch 'MDL-67842' of https://github.com/timhunt/moodle 2020-02-04 22:44:24 +01:00
Eloy Lafuente (stronk7) 3ed74c3f93 Merge branch 'MDL-63424-master' of git://github.com/lucaboesch/moodle 2020-02-04 19:28:36 +01:00
Eloy Lafuente (stronk7) ce7f5ac4b9 Merge branch 'MDL-66875-master' of git://github.com/lucaboesch/moodle 2020-02-04 19:02:26 +01:00
Sara Arjona f8d9b1eb8c MDL-49103 badges: bake badges with iTXt chunk instead of tEXt
The final OB 1.0 specification changed the baking badges method
from tEXt to iTXt. Besides, the iTXt chunk should be a signed
assertion or the raw JSON (instead of the assertion URL).
This has been changed in order to make Moodle OB compliant.

Yuliya Bozhko, thanks for the patch! :-)
2020-02-04 18:49:39 +01:00
Shamim Rezaie 94e25092b2 MDL-58584 core_ddl: delete te loft over table in the test 2020-02-04 23:15:32 +11:00
Sara Arjona ceaa04ffea Merge branch 'MDL-67681_master' of https://github.com/marxjohnson/moodle 2020-02-04 12:16:39 +01:00
Andrew Nicols 7be4a3fba1 Merge branch 'MDL-60126-master-3' of git://github.com/mihailges/moodle 2020-02-04 10:33:19 +08:00
Andrew Nicols 5f21e45f9f Merge branch 'MDL-58584-master' of git://github.com/rezaies/moodle 2020-02-04 10:30:32 +08:00
Peter 7d6f66b422 MDL-60126 competency: Unit tests 2020-02-04 08:36:21 +08:00
Simey Lameze 507c34820c MDL-60126 core: upgrade step to clean user comp 2020-02-04 08:36:21 +08:00
AMOS bot 4534c489a9 Automatically generated installer lang files 2020-02-04 00:11:08 +00:00
Simey Lameze 2595d450e0 MDL-60126 competency: delete content upon user delete 2020-02-04 08:00:19 +08:00
Eloy Lafuente (stronk7) fbde0a7798 Merge branch 'MDL-67052-mysql-locks' of https://github.com/brendanheywood/moodle 2020-02-03 19:32:58 +01:00
JayChurchward 72eaa3c916 MDL-67696 mod_forum: Changed invalid count() to loop counter. 2020-02-03 09:31:28 -05:00
Sara Arjona eac589d8ab Merge branch 'MDL-67721-master' of git://github.com/rezaies/moodle 2020-02-03 14:52:16 +01:00
Sara Arjona 473634a450 Merge branch 'MDL-67511-master' of git://github.com/andrewnicols/moodle 2020-02-03 14:10:15 +01:00
Peter Eliyahu Kornfeld 3ab494b154 MDL-66834 Questions: add transaction, move trigger 2020-02-03 12:29:43 +02:00
Shamim Rezaie 934c2ee1b6 MDL-58584 core_ddl: getDropTableSQL should not do more than what it says 2020-02-03 15:07:15 +11:00
Shamim Rezaie b4d062c6be MDL-58584 core: remove duplications from get_columns functions 2020-02-03 15:07:15 +11:00
Andrew Nicols 4d4409437a MDL-67511 core: Adjust spacing at top of toast-wrapper 2020-02-03 07:38:07 +08:00
Tim Hunt 1aacbb72d3 MDL-67832 quiz: fix lots of PHPdoc in attemptlib.php 2020-01-31 19:09:03 +00:00
Ferran Recio 1b5630a01f MDL-66463 theme_boost: go to top link 2020-01-31 12:37:10 +01:00
Tim Hunt 2569fb5d2c MDL-67842 questions: Cannot remove the idnumber from a question 2020-01-30 17:24:59 +00:00
Tim Hunt 87554981f0 MDL-46542 formslib: duration field option for which units to show
Based on the original work of Itamar Tzadok.
2020-01-30 17:08:29 +00:00
cescobedo 14324f84af MDL-67387 libraries: Upgrade PhpSpreadsheet to version 1.10.1 2020-01-30 17:25:47 +01:00
Eloy Lafuente (stronk7) cb38ab1e39 weekly release 3.9dev 2020-01-30 16:10:59 +01:00
Eloy Lafuente (stronk7) 4f4e408d99 Merge branch 'install_master' of https://git.in.moodle.com/amosbot/moodle-install 2020-01-30 16:10:56 +01:00
Mark Johnson d62ce1d419 MDL-67681 Cache: Store coursecattree array in a single key 2020-01-30 13:21:22 +00:00
Jun Pataleta 961833b477 Merge branch 'MDL-67353_reset' of https://github.com/stronk7/moodle 2020-01-30 12:35:56 +08:00
Adrian Greeve f494e9e6c0 Merge branch 'MDL-67351-master_required_setting' of https://github.com/catalyst/moodle 2020-01-30 08:11:33 +08:00
Andrew Madden 4a63a5b875 MDL-67351 quiz: Change advanced quiz settings types to use flags.
Change all 'with_advanced' setting types in quiz/settings to their
regular counterparts and apply the 'advanced' admin flag to them
instead. Settings that extend with_advanced setting types are
unchanged.
2020-01-30 10:50:59 +11:00
Andrew Madden b5d1151574 MDL-67351 quiz: Move quiz form defaults logic out of form.
By including the mod_form:apply_admin_defaults() method in the quiz
moodle_form, each element does not need to set default and advanced
states individually.
2020-01-30 10:50:01 +11:00
Andrew Madden 948a951a4e MDL-67351 admin: Create new 'required' admin flag setting.
Extend the admin flag options, that currently allow the 'advanced' and 'locked' states
of a form setting to be controlled by a plugins admin settings, to also include
the 'required' state. These options appear as a list of checkboxes next to the admin
setting.
2020-01-30 10:49:14 +11:00
Eloy Lafuente (stronk7) 4af44dbc8e MDL-67353 course: move form tearDown() to reset_all_data()
We are already cleaning all sort of caches, statics, singletons
there and it's better to ensure they are always reset to avoid
myterious failures @ distance.
2020-01-29 23:43:57 +01:00
Brendan Heywood 262061d661 MDL-67052 locks: Added a native MySQL / MariaDB lock implementation 2020-01-30 09:20:10 +11:00
Brendan Heywood 9e27807bed MDL-67052 locks: Fixed backwards unit tests for unstacked locks 2020-01-30 09:19:41 +11:00
Michelle Melton b5fc2892df MDL-64169 course: fix padding when display on one section per page
(amended to keep the $o.= consistent with surrounding code)
2020-01-29 22:34:35 +01:00
Tim Hunt a33e0b4d84 MDL-67830 quiz: notice in grade details redirect script 2020-01-29 18:34:39 +00:00
Eloy Lafuente (stronk7) fd27c57901 Merge branch 'wip-MDL-67545-master' of https://github.com/Beedell/moodle 2020-01-29 19:28:56 +01:00
Jun Pataleta 4ef4e10194 Merge branch 'MDL-67626_master' of git://github.com/adpe/moodle 2020-01-29 21:36:12 +08:00
Adrian Greeve aa78c654ba Merge branch 'MDL-67768-master-componentdirs' of git://github.com/mudrd8mz/moodle 2020-01-29 10:01:08 +08:00
Eloy Lafuente (stronk7) 492f3b71bb Merge branch 'MDL-67472-master' of git://github.com/bmbrands/moodle 2020-01-28 22:56:37 +01:00
Eloy Lafuente (stronk7) f5cb242afd Merge branch 'MDL-52189' of https://github.com/jonof/moodle 2020-01-28 22:43:22 +01:00
Eloy Lafuente (stronk7) db325421a3 Merge branch 'MDL-67447-master-autocomplete' of git://github.com/mudrd8mz/moodle 2020-01-28 22:23:43 +01:00
Eloy Lafuente (stronk7) 14de866897 Merge branch 'MDL-67722-master' of git://github.com/mickhawkins/moodle 2020-01-28 20:13:08 +01:00
Shamim Rezaie 2c4be2ebfd MDL-67675 atto_h5p: No need to manually clear the H5P placeholder 2020-01-28 22:28:57 +11:00
Eloy Lafuente (stronk7) dae0a8c405 Merge branch 'MDL-56389' of https://github.com/paulholden/moodle 2020-01-28 11:04:05 +01:00
Eloy Lafuente (stronk7) 2aa92150a6 Merge branch 'MDL-57755_master' of https://github.com/t-schroeder/moodle 2020-01-28 10:26:32 +01:00
David Mudrák 3f82b17927 MDL-67768 core: Add some common dirs to core_component::$ignoreddirs
The core_component::$ignoreddirs lists all directories that are reserved
and cannot be used as valid plugin names. This is particularly important
for some plugin types such as 'webservice' that share the same root
location as the core subsystem of the same name.
2020-01-28 10:18:25 +01:00
Adrian Greeve 3d1943b46d Merge branch 'MDL-67740-master-behatstepsfilter' of git://github.com/mudrd8mz/moodle 2020-01-28 15:05:45 +08:00
Adrian Greeve f9bc06ed16 Merge branch 'master_MDL-67746' of https://github.com/golenkovm/moodle 2020-01-28 13:11:41 +08:00
Adrian Greeve 2b45f8bbad Merge branch 'MDL-38511-bulk-actions' of https://github.com/brendanheywood/moodle 2020-01-28 11:10:17 +08:00
AMOS bot f487663f43 Automatically generated installer lang files 2020-01-28 00:11:35 +00:00
Adrian Greeve 067fbebf04 Merge branch 'MDL-67691' of https://github.com/stronk7/moodle 2020-01-28 07:52:21 +08:00
Shamim Rezaie 974db580df MDL-67721 mod_forum: See 'view grade' button on single discussion forums 2020-01-28 05:02:05 +11:00
Eloy Lafuente (stronk7) cefcb68f63 Merge branch 'MDL-64531-master-questiondeletejson' of git://github.com/mudrd8mz/moodle 2020-01-27 17:07:33 +01:00
Eloy Lafuente (stronk7) 58abdda2ea Merge branch 'MDL-67577-master' of git://github.com/bmbrands/moodle 2020-01-27 16:15:21 +01:00
Eloy Lafuente (stronk7) 8cc31f604d Merge branch 'MDL-67730-master' of git://github.com/rezaies/moodle 2020-01-27 12:21:21 +01:00
Eloy Lafuente (stronk7) 6e90244ac1 Merge branch 'm39_MDL-67414_Add_PostgreSQL_12x_Support_v2' of https://github.com/scara/moodle 2020-01-27 12:16:08 +01:00
Bas Brands 77e5b4462e MDL-67577 core_message: navbar_output order
* moved the logic from core_message_popup_render_navbar_output to
message_popup_render_navbar_output in message/output/popup/lib.php

* using float: left instead of float: right in theme
2020-01-27 12:14:16 +01:00
Matteo Scaramuccia a8a4eac163 MDL-67414 database: Fixed PostgreSQL 12.x support 2020-01-26 09:37:17 +01:00
David Mudrák 7630b42232 MDL-67447 form: Fix the duplicate autocomplete selection node
When the autocomplete selection is updated, the content of the selection
wrapper is replaced with the new list of selected items. We must replace
only the content of the selection wrapper and not to nest it into
itself.
2020-01-25 05:39:01 +01:00
AMOS bot 68a14fac34 Automatically generated installer lang files 2020-01-25 00:11:31 +00:00
Luca Bösch 7287834c11 MDL-66875 calendar: allow the use of day, mon and year again. 2020-01-25 00:56:39 +01:00
Luca Bösch ee2bcf3645 MDL-63424 form: allow checkboxes to have req icon. 2020-01-24 17:34:48 +01:00
Dani Palou 887f7a96a1 MDL-67806 tool_mobile: Add Dark mode option in disabled features
We must allow site admins to remotely disable that feature in the app
2020-01-24 15:53:21 +01:00
John Beedell 7aa3444d72 MDL-67545 Antivirus: new option for clam scan failure 2020-01-24 13:05:45 +00:00
Eloy Lafuente (stronk7) e46a9874a5 MDL-67353 filters: fix filterlib tests
- move resetAfterTest() to test units.
- remove setUp(), moving code to remove_all_filters_from_config().
- remove class properties, moving to return values of own setup_xxx() methods.
2020-01-24 11:26:56 +01:00
Eloy Lafuente (stronk7) 7899cd4f6c MDL-67353 favourites: Random DB id matching solved
Depending on the tests executed it was possible to arrive
to favourites tests with 2 "concepts" (say userid and contextid,
or userid and itemid) having the same ID.

Then, the array_diff() operations used by some mock stuff in the
tests wrongly was returning matches by value, ultimately causing
the test to fail.

Now, the matching is performed using array_diff_assoc() that takes
keys into considation when performing the match.
2020-01-24 11:26:56 +01:00
Andrew Nicols 6a0cdf26ee MDL-67353 course: Fix more broken unit tests 2020-01-24 11:26:56 +01:00
Andrew Nicols 1d44ac9ec6 MDL-67353 course: Fix broken unit test 2020-01-24 11:26:56 +01:00
David Mudrák 933db17d1e MDL-67740 behat: Show info as collapsed at the acceptance testing page
The static information with the links to Behat documentation is quite
long an irrelevant for experienced developers returning to this page. No
need to waste the prominent screen place with it - better to offer it
only when needed via collapsible form section.
2020-01-24 10:40:30 +01:00
David Mudrák 72c33dc8b1 MDL-67740 behat: Improve the layout of the acceptance testing page
- The CSS contains more specific selectors.
- Make use of the whole screen width for the list of found steps.
- Visually distinguish found steps from each other.
- Make it look less like a unicorn rainbow.
2020-01-24 10:40:30 +01:00
David Mudrák 8008cb3885 MDL-67740 behat: Fix the name of the class in the inline documentation
The said class is provided by the moodlehq/behat-extension composer
package and was renamed as a part of upgrade to Behat 3.0.x (MDL-46891).
2020-01-24 10:40:30 +01:00
David Mudrák 25d7262707 MDL-67740 behat: Allow multiple words filter at acceptance testing page
Because of the too strict input param type, the form did not allow to
search for Behat steps containing the given phrase. The patch sets the
param type to match the one in the form definition, and makes sure that
the submitted value can be safely used as a CLI script argument.
2020-01-24 10:40:29 +01:00
Tim Schroeder 1ccc7e6600 MDL-57755 message: fix notificaiton read status when messaging disabled 2020-01-24 08:59:12 +01:00
Mikhail Golenkov 8dff481193 MDL-67746 Tasks: Cleanup task logs in chunks. 2020-01-24 13:53:34 +11:00
Adrian Greeve 4e41ace0be weekly release 3.9dev 2020-01-24 10:16:48 +08:00
Adrian Greeve fd7764deb8 NOBUG: Fixed file access permissions 2020-01-24 10:16:48 +08:00
Adrian Greeve 7b55fab97a Merge branch 'install_master' of https://git.in.moodle.com/amosbot/moodle-install 2020-01-24 10:16:39 +08:00
Paul Holden b486073a9a MDL-56389 message_popup: less greedy marking of notifications as read.
Only mark those notifications that were returned in the last query as
read, based on the time they were requested.
2020-01-23 22:16:35 +00:00
Paul Holden df2544ee7b MDL-56389 message: allow marking notifications as read up to given time. 2020-01-23 22:16:30 +00:00
Eric Merrill 2d2189ae1f MDL-67690 block_myoverview: Update starred to favourites to fix prefs
Core libs use favourites, so need to use that consistently for user
preferences to be remembered properly.
2020-01-23 14:09:48 -05:00
Eloy Lafuente (stronk7) 84ba4b8feb Merge branch 'MDL-51225-master' of git://github.com/junpataleta/moodle 2020-01-23 11:13:33 +01:00
Jun Pataleta dfa6dcd80c MDL-51225 mod_forum: Revert @javascript tag removal
Put back the removed  @javascript tag to prevent random goutte
fails.
2020-01-23 15:26:56 +08:00
Jun Pataleta a762f048b8 Merge branch 'MDL-67118' of https://github.com/stronk7/moodle 2020-01-23 15:12:58 +08:00
Jun Pataleta 21b0f581e1 Merge branch 'MDL-67115' of https://github.com/stronk7/moodle 2020-01-23 15:12:56 +08:00
Adrian Greeve c3c0d06651 Merge branch 'MDL-67703-master' of git://github.com/lameze/moodle 2020-01-23 15:11:02 +08:00
Adrian Greeve e2c5315b5c Merge branch 'MDL-65775-master' of git://github.com/ferranrecio/moodle 2020-01-23 15:11:02 +08:00
Jun Pataleta 32113d7a9b Merge branch 'MDL-65952' of https://github.com/fabiendallet/moodle 2020-01-23 15:11:02 +08:00
Shamim Rezaie 206a3bfc9d MDL-67730 lib: Fix to make the library php74 compliant. 2020-01-23 15:04:11 +11:00
Eloy Lafuente (stronk7) cb701f77b4 Merge branch 'MDL-67296-master' of git://github.com/vmdef/moodle 2020-01-22 23:46:06 +01:00
Víctor Déniz Falcón e942844d76 MDL-67296 core_h5p: tests modified to use exttests 2020-01-22 20:40:12 +00:00
Jun Pataleta 1e38b94c8e Merge branch 'MDL-66897-master-1' of git://github.com/mihailges/moodle 2020-01-22 23:17:14 +08:00
Víctor Déniz Falcón d8fe1eddf9 MDL-67296 core_h5p: minor changes
core.php-Avoid to use the factory for each content type
h5p_get_content_types_task-new method to simplify test execution
framework.php-returns error if you get a 404 response after requesting a file
2020-01-22 14:48:16 +00:00
Brendan Heywood b2eec32733 MDL-38511 admin: Allow plugins to define custom bulk actions 2020-01-23 00:29:54 +11:00
Adrian Greeve dbeca9f5ca Merge branch 'MDL-67424-master' of git://github.com/rezaies/moodle 2020-01-22 13:56:33 +08:00
Mihail Geshoski 9f9a3ddebe MDL-66897 mod_assign: Properly display error messages in quick grading 2020-01-22 13:37:07 +08:00
Adrian Greeve f40115043c Merge branch 'MDL-67438' of https://github.com/stronk7/moodle 2020-01-22 13:29:01 +08:00
Adrian Greeve 595b52fda4 Merge branch 'MDL-67456' of https://github.com/stronk7/moodle 2020-01-22 13:12:27 +08:00
Adrian Greeve 66a8939518 Merge branch 'MDL-67653' of https://github.com/timhunt/moodle 2020-01-22 11:02:35 +08:00
Adrian Greeve e33b86507d Merge branch 'MDL-67660-master-v2' of https://github.com/TobiGa/moodle 2020-01-22 10:41:03 +08:00
Jun Pataleta 48298a9b3a Merge branch 'MDL-67684-master' of git://github.com/andrewnicols/moodle 2020-01-22 10:38:13 +08:00
Shamim Rezaie dba1d09e33 MDL-67730 lib: Upgrade ADODB to version 5.20.16 2020-01-22 13:34:20 +11:00
Adrian Greeve 67925e5b88 Merge branch 'MDL-67680-master' of git://github.com/marinaglancy/moodle 2020-01-22 10:28:23 +08:00
Colin Campbell eeca35e4ad MDL-52189 file: skip deleting temp files that appear during cleanup 2020-01-22 12:10:00 +10:00
Adrian Greeve 883687a9fd Merge branch 'MDL-67656-master' of git://github.com/andrewnicols/moodle 2020-01-22 09:44:17 +08:00
Eloy Lafuente (stronk7) 7d574d8af5 Merge branch 'MDL-66858' of https://github.com/stronk7/moodle 2020-01-22 01:57:18 +01:00
Michael Milette a75fe2f1b5 MDL-66858 master: Enable <header> tags in Atto editor.
(amended to add the src/editor/js/clean.js
file that was originally missing)
2020-01-22 00:04:23 +01:00
Eloy Lafuente (stronk7) 703f2b625b Merge branch 'MDL-51225-master' of git://github.com/junpataleta/moodle 2020-01-21 23:33:19 +01:00
Adrian Greeve 790735f3e4 Merge branch 'MDL-66237-master' of git://github.com/mickhawkins/moodle 2020-01-21 11:08:27 +08:00
Jun Pataleta 13c5806a2f Merge branch 'MDL-66108' of https://github.com/paulholden/moodle 2020-01-21 09:51:24 +08:00
Eloy Lafuente (stronk7) 1c610609cc Merge branch 'MDL-66024' of https://github.com/paulholden/moodle 2020-01-20 22:47:17 +01:00
Eloy Lafuente (stronk7) a445417935 Merge branch 'MDL-66220-master' of git://github.com/junpataleta/moodle 2020-01-20 22:33:45 +01:00
Eloy Lafuente (stronk7) a05b402c12 Merge branch 'MDL-66712-master-selfautounenrol' of git://github.com/mudrd8mz/moodle 2020-01-20 22:27:20 +01:00
Eloy Lafuente (stronk7) f81d6fa319 Merge branch 'MDL-65884' of https://github.com/paulholden/moodle 2020-01-20 20:13:29 +01:00
David Mudrák 8c1d645351 MDL-64531 course: Add Behat test for deleting a quiz with own questions
Teachers can delete Quiz activities that have a question in their own
context via AJAX request with the course recycle bin disabled. This used
to lead to "Unexpected token < in JSON" because of the extra HTML in the
output.
2020-01-20 18:20:57 +01:00
Tim Hunt 1d67458783 MDL-64531 course: course_delete_module shouldn't output during AJAX
Committer's note: This change was originally part of a bigger patchset
submitted by the author. This is a stripped-down version that does not
use phpunit tests for the new behaviour.
2020-01-20 17:15:55 +01:00
Eloy Lafuente (stronk7) 70bc6d5e0c Merge branch 'MDL-67724-master' of git://github.com/junpataleta/moodle 2020-01-20 10:53:18 +01:00
Jun Pataleta 34cdacbfff Merge branch 'MDL-66883-master' of git://github.com/bmbrands/moodle 2020-01-20 16:36:40 +08:00
Sara Arjona a8638365af Merge branch 'MDL-67245' of https://github.com/paulholden/moodle 2020-01-20 08:18:49 +01:00
Simey Lameze c7027c037b MDL-67312 core_user: clean subs events on user deletion 2020-01-20 08:09:16 +01:00
Simey Lameze f35e360a3b MDL-67312 calendar: upgrade step to delete orphaned events 2020-01-20 08:08:56 +01:00
Simey Lameze 3364e18b46 MDL-67312 core: change db upgrade step to use get_fieldset_sql 2020-01-20 08:07:27 +01:00
Adrian Greeve 5a775f5703 Merge branch 'MDL-66761-master' of git://github.com/mickhawkins/moodle 2020-01-20 14:40:19 +08:00
Adrian Greeve 5608de8bf2 Merge branch 'MDL-67583-master' of https://github.com/KietChan/moodle 2020-01-20 13:34:31 +08:00
Adrian Greeve c282319a35 Merge branch 'MDL-59594-SIGINT' of https://github.com/brendanheywood/moodle 2020-01-20 10:39:20 +08:00
Adrian Greeve d29c986d9d Merge branch 'MDL-62815_mod_lti' of git://github.com/davosmith/moodle 2020-01-20 09:53:27 +08:00
Simey Lameze 858f41a113 MDL-67703 calendar: change manage subscription form to hideIf 2020-01-20 07:48:05 +08:00
Eloy Lafuente (stronk7) 881545513e MDL-67691 behat: inform about the_following_exist() removal
behat_data_generators::the_following_exist() has been removed, please use
behat_data_generators::the_following_entities_exist() instead.

See MDL-67691 for more info.
2020-01-20 00:05:41 +01:00
Eloy Lafuente (stronk7) 87861d94e3 MDL-67115 google: php74 params order for implode()
Passing parameters to implode() in reverse order is deprecated, use
implode($glue, $parts) instead of implode($parts, $glue).

This commit corresponds to general search of wrong cases.
2020-01-19 18:47:28 +01:00
Eloy Lafuente (stronk7) 9cdbacf387 MDL-67115 htmlpurifier: php74 params order for implode()
Passing parameters to implode() in reverse order is deprecated, use
implode($glue, $parts) instead of implode($parts, $glue).

This commit corresponds to general search of wrong cases.
2020-01-19 18:47:28 +01:00
Eloy Lafuente (stronk7) 05f6cb9262 MDL-67115 minify: php74 params order for implode()/join()
Passing parameters to implode() in reverse order is deprecated, use
implode($glue, $parts) instead of implode($parts, $glue).

This commit corresponds to phpunit detections, minify library.
2020-01-19 18:47:20 +01:00
Eloy Lafuente (stronk7) ee439d017e MDL-67115 core: php74 params order for implode()/join()
Passing parameters to implode() in reverse order is deprecated, use
implode($glue, $parts) instead of implode($parts, $glue).

This commit corresponds to phpunit and manual detections, core files.
2020-01-19 18:47:07 +01:00
hanna 078705538c MDL-67456 admin: Update Maximum number of backups kept 2020-01-18 19:35:34 +01:00
Adrian Perez cec13638b6 MDL-67626 assign: fix view full/view summary control in IE 2020-01-18 14:15:24 +01:00
AMOS bot 74c6bc1a9b Automatically generated installer lang files 2020-01-18 00:10:41 +00:00
fdallet f6cd1cc153 MDL-65952 mod_scorm: Fix unwanted changes to require status 2020-01-17 17:19:55 +01:00
Paul Holden 47ff771e80 MDL-66108 course: fix false positives when bulk moving categories. 2020-01-17 16:19:07 +00:00
Pau Ferrer Ocaña d60b6af9b9 MDL-67727 behat: Reset ionic app properly 2020-01-17 15:30:23 +01:00
Paul Holden 7eeea538d2 MDL-67245 group: Behat updates to account for member identity fields. 2020-01-17 12:42:20 +00:00
Paul Holden 6e8ed1a8fb MDL-67245 group: observe viewfullnames capability. 2020-01-17 12:42:17 +00:00
Paul Holden 21253ed622 MDL-67245 group: display user identity fields for group members. 2020-01-17 12:41:10 +00:00
Eloy Lafuente (stronk7) a5e3c4e5f3 MDL-67438 wiki: Formating changes (file doc block + whitespace fixes)
Also:
- change 2 variable/property names, both internal.
- format empty function.

Towards getting it fully phpcs compliant. Note this does not
fix the missing (in all methods) phpdoc blocks.
2020-01-17 12:34:30 +01:00
Jun Pataleta 1ed7527b4c MDL-67724 mod_glossary: Improve Behat test
Improve the "Glossary entries are not always editable" scenario by:
* No need to use the @javascript tag
* The maxediting time can be set to a lower value to
reduce the overall wait time.
2020-01-17 17:49:58 +08:00
Tobias Garske 951b7d8fc5 MDL-67660 core_message: Messages search change input focus 2020-01-17 09:36:23 +01:00
Sara Arjona 43b995c490 Merge branch 'MDL-67372-master' of git://github.com/rezaies/moodle 2020-01-17 09:30:11 +01:00
Michael Hawkins 66fa0c91ff MDL-67722 mod_forum: Reduce wait time on time limit expires behat test 2020-01-17 15:44:15 +08:00
Jun Pataleta 7cce925f9b MDL-51225 mod_forum: Use can_view_post to determine whether to show post
Use \mod_forum\local\managers\capability::can_view_post() to
consistently determine whether a forum post will be rendered in the
recent activity block.
This helps the recent activity block to provide a more consistent
behaviour with the forum's discussion view itself.
2020-01-17 14:44:26 +08:00
Jun Pataleta e68e49da01 MDL-51225 mod_forum: Create behat tests for forum recent activity 2020-01-17 14:44:22 +08:00
Michael Hawkins 5588922265 MDL-66761 forumreport_summary: Added groups filter behat testing 2020-01-17 10:34:07 +08:00
Michael Hawkins a967e56d2e MDL-66761 mod_forum: Behat support group ID in bulk discussion adding 2020-01-17 10:34:06 +08:00
Jun Pataleta 61a90c4510 MDL-51225 mod_forum: New behat step for creating question discussion 2020-01-17 10:25:22 +08:00
AMOS bot 68526623c5 Automatically generated installer lang files 2020-01-17 00:12:11 +00:00
Eloy Lafuente (stronk7) 011d55dd62 MDL-67118 enrol_ldap: add pagesize/subcontexts provider
With that provider we'll be explicitly checking that any
pagesize and subcontexts search is returning results consistently
so the internal paging/servercontrols work as expected.
2020-01-16 19:16:14 +01:00
Eloy Lafuente (stronk7) ba62f54ef2 MDL-67118 enrol_ldap: paged results functions deprecated php74 and up
Starting with php74 the following functions are deprecated:
- ldap_control_paged_result()
- ldap_control_paged_result_response()

Starting with php73, ldap servercontrols were included. One of those
servercontrols, LDAP_CONTROL_PAGEDRESULTS, is the one in charge of
controlling paged results.

So, we are going to add some conditional code here:

1) if php < 7.3, use old paged result functions.
2) if php >= 7.3, switch to LDAP_CONTROL_PAGEDRESULTS servercontrol.

With a TODO about removing 1) in Moodle 4.1, once php73 becomes required.
2020-01-16 19:16:14 +01:00
Eloy Lafuente (stronk7) 49d1ce3ac2 MDL-67118 auth_ldap: add pagesize/subcontexts test provider
With that provider we'll be explicitly covering that any
pagesize and subcontexts search is returning results consistently
so the internal paging/servercontrols work as expected.
2020-01-16 19:16:14 +01:00
Eloy Lafuente (stronk7) 988f9bf5b5 MDL-67118 auth_ldap: paged results functions deprecated php74 and up
Starting with php74 the following functions are deprecated:
- ldap_control_paged_result()
- ldap_control_paged_result_response()

Starting with php73, ldap servercontrols were included. One of those
servercontrols, LDAP_CONTROL_PAGEDRESULTS, is the one in charge of
controlling paged results.

So, we are going to add some conditional code here:

1) if php < 7.3, use old paged result functions.
2) if php >= 7.3, switch to LDAP_CONTROL_PAGEDRESULTS servercontrol.

With a TODO about removing 1) in Moodle 4.1, once php73 becomes required.
2020-01-16 19:16:14 +01:00
Sara Arjona fd126006b0 weekly release 3.9dev 2020-01-16 17:19:10 +01:00
Sara Arjona 3a95e15de1 Merge branch 'install_master' of https://git.in.moodle.com/amosbot/moodle-install 2020-01-16 17:19:07 +01:00
David Mudrák 0845825659 MDL-66712 enrol: Fix the reported days of inactivity on unenrolment
There were two problems here. Firstly, the $days was not correctly
calculated due to missing parentheses. Secondly, the sentence had
grammar issues.
2020-01-16 13:35:01 +01:00
Jun Pataleta 3dfc8be974 MDL-66220 mod_forum: Prevent from replying to a post the user can't see 2020-01-16 14:32:20 +08:00
Jun Pataleta 49801df749 MDL-66220 mod_forum: Cache result of forum_user_can_see_post()
* Cache the result of this function to avoid doing multiple DB calls
for the same post when loading posts in a discussion.
2020-01-16 14:32:20 +08:00
Jun Pataleta bf7a6ff4d7 MDL-66220 mod_forum: Additional unit test for can_reply_to_post 2020-01-16 14:32:20 +08:00
Andrew Nicols 4aa4d44a41 Merge branch 'mdl-59562' of https://github.com/Peterburnett/moodle 2020-01-16 12:10:31 +08:00
Andrew Nicols 76810eb2c0 Merge branch 'wip-MDL-66918-master' of https://github.com/Beedell/moodle 2020-01-16 11:42:16 +08:00
Shamim Rezaie 28bc46092e MDL-67372 libraries: Upgrade HTML Purifier to version 4.12.0 2020-01-16 14:21:40 +11:00
Peter Burnett 72aac06304 MDL-59562 core: updated type hint of new function 2020-01-16 13:05:30 +10:00
Andrew Nicols 836060be8b Merge branch 'MDL-67384-master' of git://github.com/rezaies/moodle 2020-01-16 10:24:40 +08:00
Eloy Lafuente (stronk7) 1fe94722ae Merge branch 'MDL-67631' of git://github.com/timhunt/moodle 2020-01-16 00:29:09 +01:00
Eloy Lafuente (stronk7) caa722a04b Merge branch 'MDL-67625-master' of git://github.com/lucaboesch/moodle 2020-01-16 00:26:13 +01:00
Eloy Lafuente (stronk7) 2b12a3668f Merge branch 'MDL-67040_master' of git://github.com/dmonllao/moodle 2020-01-16 00:06:30 +01:00
Sara Arjona 6e2c4af47d Merge branch 'MDL-67379-master' of git://github.com/rezaies/moodle 2020-01-15 22:12:15 +01:00
Víctor Déniz Falcón 8f9bf12206 Merge branch 'MDL-67377-master' of git://github.com/ferranrecio/moodle 2020-01-15 20:51:41 +00:00
Eloy Lafuente (stronk7) 1586b3adf7 Merge branch 'MDL-67622_master' of git://github.com/dmonllao/moodle 2020-01-15 18:55:45 +01:00
Shamim Rezaie ff25eb0fb0 MDL-67424 mod_forum: error on complete report when no rating or grade 2020-01-16 03:16:58 +11:00
Shamim Rezaie 56d5a50483 MDL-67424 report_outline: behat user report with a no-grade forum 2020-01-16 03:15:42 +11:00
Shamim Rezaie af2c779418 MDL-67379 libraries: Upgrade scssphp to 1.0.6 2020-01-16 00:24:09 +11:00
Sara Arjona e278bd6f90 Merge branch 'MDL-67617-master' of git://github.com/lucaboesch/moodle 2020-01-15 12:43:00 +01:00
Sara Arjona daa7107bfb Merge branch 'MDL-67638_master' of https://github.com/nguyenphuctien/moodle 2020-01-15 12:19:34 +01:00
Andrew Nicols 2bdad64e48 Merge branch 'MDL-67486-swap-cron-lock' of https://github.com/brendanheywood/moodle 2020-01-15 13:53:22 +08:00
Andrew Nicols 30afac71d3 Merge branch 'mdl-59562' of https://github.com/Peterburnett/moodle 2020-01-15 13:51:04 +08:00
Peter Burnett 4fac690ace MDL-59562 core: changed branch behaviour during initial install. 2020-01-15 15:46:46 +10:00
Andrew Nicols 20a7746b1e Merge branch 'mdl-59562' of https://github.com/Peterburnett/moodle 2020-01-15 12:40:19 +08:00
[Peter Burnett] 147a895ad0 MDL-59562 upgrade: Plugins can declare supported moodle versions
* Plugins can now explicitly declare supported and incompatible Moodle
  versions in version.php
  - $plugin->supported[37,39];
    supported takes an array of ascending numbers, that correspond to a
    range of branch numbers of supported versions, inclusive. Moodle
    versions that are outside of this range will produce a message
    notifying at install time, but will allow for installation.

  - $plugin->incompatible = 36;
    incompatible takes a single int corresponding to the first incompatible
    branch. Any Moodle versions including and below this will be prevented
    from installing the plugin, and a message will be given when
    attempting installation.
2020-01-15 14:38:27 +10:00
Mark Johnson 96e440493b MDL-67674 Cache: Lock rebuilding of the course category tree cache 2020-01-15 00:00:54 +01:00
Rossco Hellmans 383b0f95ab MDL-64310 backup: allow session to be released during backup/restore
Amended to fix a wrong call to backup_controller() constructor,
originally not passing USER->id
2020-01-14 23:54:42 +01:00
Sara Arjona 8d529d0a2d Merge branch 'MDL-66213-master-fixcap' of github.com:sarjona/moodle 2020-01-14 19:50:58 +01:00
Eloy Lafuente (stronk7) 52d16feebe MDL-66253 update: bump version (missed that on the review) 2020-01-14 19:46:17 +01:00
Eloy Lafuente (stronk7) a756630e44 Merge branch 'MDL-66253' of https://github.com/NeillM/moodle 2020-01-14 19:44:27 +01:00
Sara Arjona 1962f743dc MDL-66213 roles: review new site:viewanonymousevents capability
Instead of PROHIBIT this capability for teachers, the
RISK_PERSONAL has been added.
2020-01-14 16:42:31 +01:00
Andrew Nicols 16d4515411 MDL-66213 report_loglive: Do not look up course 0 2020-01-14 13:20:02 +01:00
Sara Arjona f6fe70d075 Merge branch 'MDL-65573-master-2' of git://github.com/peterRd/moodle 2020-01-14 12:20:00 +01:00
Neill Magill 2fc2dfbb37 MDL-66253 calendar: New indexes to reduce full table scans
The eventtype index will stop full table scans when the Event API
retrieves events for a group or category and there are a large number
of groups or categories so it cannot use the groupid or categoryid
indexes efficiently.

The modulename-instance index will improve the performance of queries
used by activity backup, deletion and visibility changes where all
the events for an individual activity need to be found.
2020-01-14 08:47:32 +00:00
Andrew Nicols 6813b79f81 Merge branch 'MDL-64075' of https://github.com/OdyX/moodle 2020-01-14 14:15:46 +08:00
Andrew Nicols 47d18a7303 Merge branch 'MDL-66721-master' of git://github.com/bmbrands/moodle 2020-01-14 14:06:57 +08:00
Andrew Nicols 9c71a497c3 MDL-67684 core: Add missing li tag 2020-01-14 08:46:43 +08:00
Andrew Nicols ea990a38eb Merge branch 'MDL-35971-master' of git://github.com/junpataleta/moodle 2020-01-14 08:23:56 +08:00
AMOS bot 5a6dead4f9 Automatically generated installer lang files 2020-01-14 00:10:17 +00:00
Peter 18cd2efd44 MDL-65573 mod_forum: Set userid properly after split
* Set the discussion's userid properly when splitting a discussion.
* Update step to correct existing incorrect records.
2020-01-14 07:34:18 +08:00
Eloy Lafuente (stronk7) f2e7a54f2a Merge branch 'MDL-65649' of https://github.com/paulholden/moodle 2020-01-13 18:56:38 +01:00
Eloy Lafuente (stronk7) 41fed86e18 Merge branch 'MDL-65987-master' of git://github.com/andrewnicols/moodle 2020-01-13 18:28:35 +01:00
Eloy Lafuente (stronk7) c8ba91cb12 Merge branch 'MDL-66833-master' of git://github.com/andrewnicols/moodle 2020-01-13 18:18:56 +01:00
Eloy Lafuente (stronk7) da700974d8 Merge branch 'MDL-65812-editable-timeout' of https://github.com/brendanheywood/moodle 2020-01-13 17:09:14 +01:00
Marina Glancy a79da4f1bb MDL-67680 core: Catch PHP exceptions in the after_config callback 2020-01-13 16:43:59 +01:00
Sara Arjona b758ba96e5 Merge branch 'MDL-59817-master' of git://github.com/andrewnicols/moodle 2020-01-13 14:26:41 +01:00
Kiet.Chan ed561c801e MDL-67583 themes: Popover placement should react to scroll event 2020-01-13 17:30:43 +07:00
Sara Arjona e3f29b01c0 Merge branch 'patch_view_anon_event_MDL-66213' of git://github.com/Dave-B/moodle 2020-01-13 10:10:10 +01:00
Bas Brands e097ddcd4f MDL-67472 theme_boost: configurable sass variable for drawer bgcolour 2020-01-13 09:12:47 +01:00
Andrew Nicols 48dffcb9e1 Merge branch 'MDL-67382-master' of git://github.com/vmdef/moodle 2020-01-13 12:59:28 +08:00
Tien Nguyen Phuc bc6efcb437 MDL-67638 Course: update course timemodified on bulk category move 2020-01-13 10:38:12 +07:00
Andrew Nicols 628604e69a Merge branch 'MDL-67204-master' of https://github.com/mwehr/moodle 2020-01-13 08:37:26 +08:00
Brendan Heywood b15c53f4fa MDL-59594 cron: Allow graceful exit of cron and adhoc task cli's 2020-01-12 01:24:03 +11:00
Brendan Heywood 176b5202e0 MDL-59594 cli: Introduce cli helpers for graceful exits
\core\local\cli\shutdown::script_supports_graceful_exit();

    Sets up interception of exit signals and keep the script running.

    \core\local\cli\shutdown::should_gracefully_exit();

    Use this to check whether you should exit, often inside a long running loop.
2020-01-12 01:20:04 +11:00
Brendan Heywood 29e3a223f5 MDL-59594 core: Allow custom signal handlers 2020-01-12 01:20:04 +11:00
Brendan Heywood b0544ce211 MDL-67486 cron: Improve throughput by holding cron lock for less time 2020-01-12 01:02:57 +11:00
Brendan Heywood 859ed92f9d MDL-65812 session: Increase default timeout and allow larger periods 2020-01-11 23:17:35 +11:00
Tim Hunt 76a49e4a1e MDL-67653 questions: prevent the flag flickering as the page loads 2020-01-10 14:27:42 +00:00
David Balch 9cce07111e MDL-66213 report_loglive: Show anonymous events when capability allows. 2020-01-10 13:48:59 +00:00
David Balch 51c4efa29f MDL-66213 report_log: Show anonymous events when capability allows. 2020-01-10 13:48:59 +00:00
David Balch 50cc80fd3b MDL-66213 roles: Add capability for viewing anonymous events. 2020-01-10 13:48:51 +00:00
Neill Magill 28c30ffece MDL-66253 calendar: Allow event retrival queries to use indexes
Before this change in most cases the queries generated by the API
would not be able to use an index as the subquery would use
conditions that coulde not be satisfied by a signle index.

By changing it to use UNIONs the database will be able to use an
appropriate index for each query in most cases.
2020-01-10 08:27:10 +00:00
Andrew Nicols 43aa3cbe44 MDL-59817 atto_accessibilitychecker: Handle transparency properly
Some browsers, notably Firefox, do not return the computed style for
background colour in a computed RGB format. Instead they return the RGBA
where the alpha channel is set to fully transparent.

To solve this we need to work up the hierarchy and compute the
background colour for each parent node until we reach full alpha (1).

We can use a standard calculation to approximate the value for the
resultant element background by multiplying the alpha of the current
transparent (or semi-transparent) node with the R, G, or B channel in
question, and that of the parent node's background colour.

There are cases where this will not be 100% accurate - notably where
there is some additional content in addition to the parent background,
but this gives us a reasoable approximation for the majority of cases.
Additionally the code has never considered the full set of node content
when calculating this information.
2020-01-10 15:26:51 +08:00
Andrew Nicols 9b1e5805d9 MDL-67656 behat: Removed nested spin 2020-01-10 13:34:17 +08:00
Andrew Nicols c7807a10b4 MDL-67656 behat: Fix usleep call in spin 2020-01-10 13:34:12 +08:00
AMOS bot a4da8ad02a Automatically generated installer lang files 2020-01-10 00:12:04 +00:00
Ferran Recio 18f3df06dc MDL-67377 lib: Moodle changes to mustache upgrade 2020-01-09 17:32:56 +01:00
Ferran Recio d009801075 MDL-67377 lib: Update mustache to 2.13.0 2020-01-09 17:32:56 +01:00
Luca Bösch d4bca909c2 MDL-67625 quiz: only section titles should be large when editing. 2020-01-09 17:23:20 +01:00
Mario Wehr a3a1b61b03 MDL-67204 assign task: Use lastruntime from task_scheduled 2020-01-09 17:09:22 +01:00
John Beedell 2bb9afeaf7 MDL-66918 behat: Behat app step failing 2020-01-09 15:54:16 +00:00
Luca Bösch 8f2a32ed95 MDL-67617 gradereport_singleview: Style the form element with bs classes 2020-01-09 16:51:18 +01:00
Sara Arjona 77d1c41502 weekly release 3.9dev 2020-01-09 15:42:44 +01:00
Jun Pataleta 16f2eaec8a Merge branch 'MDL-67544-master' of git://github.com/andrewnicols/moodle 2020-01-09 15:22:27 +08:00
Andrew Nicols 3b1c8dfd67 MDL-67544f= mod_forum: Correct "for" attribute on private checkbox 2020-01-09 14:55:52 +08:00
Andrew Nicols 350edf7567 MDL-67544 mod_forum: Ensure post actions menu id is unique 2020-01-09 14:08:12 +08:00
Andrew Nicols 217a9b1ca0 Merge branch 'master_MDL-67485' of https://github.com/golenkovm/moodle 2020-01-09 12:39:28 +08:00
Mikhail Golenkov 6b2e15f6c5 MDL-67485 task: Release the task runner lock before throwing exception. 2020-01-09 14:29:58 +11:00
Andrew Nicols 452f568dca Merge branch 'MDL-67596-cron-ramp-up' of https://github.com/brendanheywood/moodle 2020-01-09 08:11:10 +08:00
Eloy Lafuente (stronk7) fd25850a8d Merge branch 'MDL-67544-master' of git://github.com/andrewnicols/moodle 2020-01-08 16:35:39 +01:00
Eloy Lafuente (stronk7) 1b987615d9 Merge branch 'MDL-67533-master' of git://github.com/junpataleta/moodle 2020-01-08 16:31:25 +01:00
Sara Arjona da5f054d6e Merge branch 'MDL-66752-master-2' of git://github.com/junpataleta/moodle 2020-01-08 14:40:01 +01:00
Jake Dallimore 4e80934653 MDL-67637 core_message: only preview lastmessage text if safe to do so
If any html/script tags are found in the text() value, don't display it.
2020-01-08 12:31:09 +01:00
Davo Smith b791ed15e2 MDL-62815 mod_lti: fix error when clicking 'Select content' option 2020-01-08 09:46:41 +00:00
Davo Smith dcb0f01f58 MDL-62815 mod_lti: fix javascript error + bump version number 2020-01-08 09:46:38 +00:00
Davo Smith 3a69044fb3 MDL-62815 mod_lti: fix logic around content button and launch container 2020-01-08 09:45:06 +00:00
Jun Pataleta b93c99aa54 MDL-62815 mod_lti: Conditionally execute JS related to tool type 2020-01-08 09:45:05 +00:00
Davo Smith 477e87170b MDL-62815 mod_lti: adjust new capabilities
MDL-62815 mod_lti: improve lang strings + use clonepermissionsfrom

MDL-62815 mod_lti: prevent changing from manual instance without cap
2020-01-08 09:45:05 +00:00
yair.spielmann e3b82acdc1 MDL-62815 mod_lti: Capabilities for adding default and preconfigured 2020-01-08 09:45:05 +00:00
Jun Pataleta 85770120f6 MDL-67533 mod_forum: Remove duplicate Re in experimental view subject 2020-01-08 16:29:20 +08:00
Jun Pataleta 010a253a23 MDL-35971 mod_forum: Add proper discussion list table description 2020-01-08 15:37:42 +08:00
Sara Arjona f914f99a76 Merge branch 'MDL-67417-master' of https://github.com/KietChan/moodle 2020-01-08 08:26:37 +01:00
Andrew Nicols d0c026b563 MDL-67544 mod_forum: Ensure that private reply checkbox has unique id 2020-01-08 15:26:03 +08:00
Sara Arjona 9fea68644e Merge branch 'MDL-67510-master' of git://github.com/junpataleta/moodle 2020-01-08 08:10:52 +01:00
Brendan Heywood 286cc88c8c MDL-67596 cron: Allow runners to ramp up instantly 2020-01-08 15:03:56 +11:00
Andrew Nicols 1bb7d46966 Merge branch 'MDL-67378-master' of git://github.com/rezaies/moodle 2020-01-08 11:11:45 +08:00
Brendan Heywood 2d98ebb9de MDL-67635 file_storage: Speedup file storage cleanup cron 2020-01-08 14:00:48 +11:00
Andrew Nicols bc47535677 Merge branch 'MDL-67376-master' of git://github.com/rezaies/moodle 2020-01-08 10:40:25 +08:00
Andrew Nicols 379e26bfba Merge branch 'MDL-63734-master_hidepassword' of https://github.com/ledship/moodle 2020-01-08 09:39:06 +08:00
Andrew Nicols 5e34719d7e Merge branch 'MDL-65948-master' of git://github.com/junpataleta/moodle 2020-01-08 08:50:03 +08:00
Andrew Nicols 52aa532e64 Merge branch 'MDL-64764' of git://github.com/paulholden/moodle 2020-01-08 08:30:02 +08:00
Eloy Lafuente (stronk7) f28fab4e59 Merge branch 'MDL-67449-master' of git://github.com/andrewnicols/moodle 2020-01-07 23:43:43 +01:00
Eloy Lafuente (stronk7) 2aad3ce228 Merge branch 'MDL-67469-master' of git://github.com/junpataleta/moodle 2020-01-07 22:59:17 +01:00
Tim Hunt 74f3415483 MDL-67631 quiz editing: add random dialogue should offer all numbers 2020-01-07 13:59:39 +00:00
Marina Glancy 95dfd8e0de MDL-64764 core_admin: allow to submit empty list of allowed roles.
Co-authored-by: Paul Holden <paulh@moodle.com>
2020-01-07 10:01:23 +00:00
Didier 'OdyX' Raboud fba44e2fed MDL-64075 antivirus_clamav: refactor scan_file for tcpsocket
- Deprecate \antivirus_clamav\scanner::scan_file_execute_unixsocket()
2020-01-07 08:41:37 +01:00
Didier 'OdyX' Raboud 90c6f0cfea MDL-64075 antivirus_clamav: refactor scan_data for tcpsocket
- Fix whitespace accross scanner_test for codechecker
- Deprecate \antivirus_clamav\scanner::scan_data_execute_unixsocket()
2020-01-07 08:41:37 +01:00
Didier 'OdyX' Raboud 22b617569c MDL-64075 antivirus_clamav: separate socket destination in function 2020-01-07 08:41:36 +01:00
Didier 'OdyX' Raboud a0d871f3f3 MDL-64075 antivirus_clamav: Add TCP socket admin settings 2020-01-07 08:41:35 +01:00
Didier 'OdyX' Raboud 0acf1bae8b MDL-64075 antivirus_clamav: fix array_search usage
If 'unix' is the first element of the stream_get_transports() result
array, array_search() will return `0` as index result which, when
negated, will result as true.
2020-01-07 08:41:34 +01:00
Andrew Nicols 7bb70ad19b Merge branch 'MDL-65849-master' of git://github.com/rezaies/moodle 2020-01-07 13:17:08 +08:00
Andrew Nicols 032fbdc746 Merge branch 'MDL-66938-master' of https://github.com/grabs/moodle 2020-01-07 12:40:52 +08:00
Andrew Nicols 9d0192e9ce Merge branch 'MDL-58281-file-missing-500' of https://github.com/brendanheywood/moodle 2020-01-07 11:30:30 +08:00
Paul Holden 8725ac5f42 MDL-66237 message_popup: Get redirecturl from notification contexturl 2020-01-07 11:16:13 +08:00
Andrew Nicols e3bc4eb7a9 MDL-67114 mod_wiki: Whitespace fix 2020-01-07 11:04:41 +08:00
Andrew Nicols 1429ca06a4 Merge branch 'MDL-67114' of https://github.com/stronk7/moodle 2020-01-07 09:37:05 +08:00
Andrew Nicols 58618290fe Merge branch 'MDL-66871-master-v2' of git://github.com/lameze/moodle 2020-01-07 08:00:01 +08:00
Bas Brands a3f7695f07 MDL-66721 core_chooser: height correction for chooser modal 2020-01-06 10:07:16 +01:00
Andrew Nicols f04c327222 MDL-67544 form: Ensure that form errors have a unique id 2020-01-06 15:01:08 +08:00
Andrew Nicols 8092e7cfa2 MDL-67544 mod_forum: Add missing label for discussion move 2020-01-06 15:01:08 +08:00
Andrew Nicols 3cefa1b733 MDL-67544 mod_forum: Add missing menuitem roles 2020-01-06 15:01:08 +08:00
Andrew Nicols 10999d33e5 MDL-67544 mod_forum: Correct aria-labelledby node 2020-01-06 15:01:07 +08:00
Andrew Nicols 17133749ab MDL-67544 mod_forum: Correct aria-controls to point to valid node 2020-01-06 15:01:07 +08:00
Andrew Nicols 72622f240e MDL-67544 mod_forum: Add missing aria label for grade search 2020-01-06 15:01:07 +08:00
Andrew Nicols 87eba94faf MDL-67544 core: Ensure unique IDs for YUI dialogues 2020-01-06 15:01:07 +08:00
Andrew Nicols 37856e466e MDL-67544 theme: Ensure that search box is in valid li 2020-01-06 15:01:07 +08:00
Andrew Nicols 0726d7ea1e MDL-67544 mod_forum: Add default role for favourite toggle 2020-01-06 15:01:07 +08:00
Andrew Nicols 92c23c26b2 MDL-67544 mod_forum: Add missing aria label for discussion actions 2020-01-06 15:01:07 +08:00
Andrew Nicols 07662b4f4e MDL-67544 mod_forum: Correct aria-role => aria-live 2020-01-06 15:01:06 +08:00
Andrew Nicols 20d4ec87dd MDL-67544 mod_forum: Correct aria-role => role 2020-01-06 15:01:06 +08:00
David Monllaó 6429236fcf MDL-67040 mlbackend_python: Adapt python ML to small datasets 2020-01-06 13:41:17 +08:00
Andrew Nicols fca2851fce Merge branch 'MDL-67138-customlang-failures' of https://github.com/brendanheywood/moodle 2020-01-06 12:57:02 +08:00
David Monllaó e45b42cb3f MDL-67622 mlbackend_python: Fix f1score calculation 2020-01-06 12:54:43 +08:00
Jun Pataleta 12c1e8b2ff MDL-66752 tool_dataprivacy: Add automatic data request approval feature 2020-01-06 11:40:31 +08:00
Jun Pataleta a6b236326b MDL-67510 tool_dataprivacy: Fix the reply-to name of the privacy officer 2020-01-06 11:36:09 +08:00
Jake Dallimore dc3b14399b Merge branch 'master_MDL-64610' of https://github.com/golenkovm/moodle 2020-01-06 10:50:36 +08:00
Simey Lameze 26b683e798 MDL-66871 calendar: fix deprecated parameter in the phpDoc 2020-01-06 10:36:42 +08:00
Simey Lameze eaf623c5bf MDL-66871 calendar: add unit test coverage for ics importing 2020-01-06 10:36:35 +08:00
Simey Lameze 5b3b975e3f MDL-66871 calendar: fix ics importing logic 2020-01-06 09:49:59 +08:00
Luca Bösch 4870144cb2 MDL-65987 mod_forum: Add string 'Advanced' for the advanced editor.
AMOS BEGIN
    CPY [advanced,moodle],[showadvancededitor,moodle]
   AMOS END
2020-01-06 09:42:12 +08:00
Jake Dallimore d3383e635b Merge branch 'MDL-67336-master' of https://github.com/roland04/moodle 2020-01-06 09:36:36 +08:00
Andrew Nicols d7678ab3ce MDL-67449 grunt: Build ignorefiles from component list 2020-01-06 09:29:11 +08:00
Andrew Nicols 093be5c6e2 MDL-67449 grunt: Refactor CSS generation 2020-01-06 09:29:11 +08:00
Andrew Nicols ba8a53d030 MDL-67449 grunt: Refactor gherkinlint 2020-01-06 09:29:11 +08:00
Andrew Nicols b86930457f MDL-67449 grunt: Refactor YUI commands 2020-01-06 09:29:11 +08:00
Andrew Nicols a84d52363b MDL-67449 grunt: Refactor watch to use component list 2020-01-06 09:29:11 +08:00
Andrew Nicols a8109e759d MDL-67449 grunt: Refactor path calculation for AMD 2020-01-06 09:29:11 +08:00
Andreas Grabs 5385f5a8af MDL-66938 mod_feedback: Export includes unwanted html in field names 2020-01-05 19:33:35 +01:00
Eloy Lafuente (stronk7) 4621917c62 MDL-67114 core: php74 fix. Fix use of scalar as array in core
There are various places where it's not guaranteed that the
variable being used is array, and instead, can be null, bool, int...

We need to check that because php74 warns about it.

Where possible we have used the coalesce operator as
replacement for isset() ternary operations.
2020-01-03 11:33:15 +01:00
Eloy Lafuente (stronk7) a6e544e825 MDL-67114 scssphp: php74 compatibility local fixes
Note they are already available upstream, versions 1.0.4 and up so,
in next upgrade they will be fixed.
2020-01-03 11:33:15 +01:00
Eloy Lafuente (stronk7) 309912cfca MDL-67114 mustache: php74 fix. Fix use of scalar as array
Trying to use values of type null, bool, int, float or resource as an
array (such as $null["key"]) will now generate a notice. This does not
affect array accesses performed by list().

RFC: https://wiki.php.net/rfc/notice-for-non-valid-array-container
2020-01-03 11:33:15 +01:00
Jake Dallimore c55402486b weekly release 3.9dev 2020-01-03 11:24:56 +08:00
Jake Dallimore 931fa40a66 NOBUG: Fixed file access permissions 2020-01-03 11:24:56 +08:00
Jake Dallimore e5876cc1f4 Merge branch 'install_master' of https://git.in.moodle.com/amosbot/moodle-install 2020-01-03 11:24:53 +08:00
Andrew Nicols 27b26d7035 MDL-66833 core: Make print_object play nice with WS 2020-01-03 08:23:12 +08:00
AMOS bot 9a918f64ae Automatically generated installer lang files 2020-01-03 00:12:04 +00:00
Adrian Greeve 741a3431c1 Merge branch 'MDL-67599-master' of https://github.com/snake/moodle 2020-01-02 15:15:00 +08:00
Jake Dallimore 00444b07c7 MDL-67599 behat: fix behat tests assuming Jan 2020 is a future date 2020-01-02 13:46:47 +08:00
Mikhail Golenkov 1d0b74b2a3 MDL-64610 task: Add support for per-task concurrency limits. 2020-01-02 16:05:47 +11:00
Jun Pataleta 88fbee25d9 Merge branch 'MDL-65835-master' of git://github.com/abgreeve/moodle 2020-01-02 11:52:10 +08:00
Adrian Greeve d0d65b498c MDL-65835 plagiarism: Initial deprecation of old functions.
This is the initial deprecation of:
* plagiarism_save_form_elements
* plagiarism_get_form_elements_module
* plagiarism_plugin::get_form_elements_module
* plagiarism_plugin::save_form_elements
2020-01-02 11:38:49 +08:00
Jake Dallimore bc1a06618c Merge branch 'MDL-67598' of https://github.com/stronk7/moodle 2020-01-02 10:19:07 +08:00
Brendan Heywood a8dd576608 MDL-67138 tool_customlang: Expose errors writing lang files 2020-01-02 12:17:09 +11:00
AMOS bot 5884dff4f9 Automatically generated installer lang files 2020-01-02 00:10:15 +00:00
Eloy Lafuente (stronk7) 5afac432f5 MDL-67598 unit tests: Pass day of month without leading zero
Note this fixes the unit tests. Still the calendar API itself
should be able to manage this cases, both casting (int) or
being stricter about what's allowed there (param hinting).

But that falls out from this issue and the code that introduced
the failures, so the pure unit-test fix has been applied.
2020-01-02 00:06:40 +01:00
Eloy Lafuente (stronk7) f1d12af73a Merge branch 'MDL-67403-x-redirect-by' of https://github.com/brendanheywood/moodle 2019-12-31 12:46:20 +01:00
Eloy Lafuente (stronk7) b3ee90ab4b Merge branch 'MDL-67385-master' of git://github.com/rezaies/moodle 2019-12-31 12:44:58 +01:00
Eloy Lafuente (stronk7) cba5cccebd Merge branch 'MDL-67593-master' of https://github.com/snake/moodle 2019-12-31 10:45:11 +01:00
Jake Dallimore dbf29da73f MDL-67593 core_iplookup: update lang string describing download process
Let users know they need to register on maxmind before granted download
access.
2019-12-31 15:34:06 +08:00
Jun Pataleta 53384db822 Merge branch 'MDL-63996-master' of git://github.com/andrewnicols/moodle 2019-12-31 15:19:24 +08:00
Jake Dallimore b145fe216c MDL-67593 core_iplookup: use MaxMind test database in unit tests
Instead of downloading a live database (now not available publicly)
use a local test database.
2019-12-31 15:01:51 +08:00
Jun Pataleta 629f6d7e70 Merge branch 'MDL-67487-master' of git://github.com/lucaboesch/moodle 2019-12-31 11:56:07 +08:00
Jun Pataleta a8ef370daf Merge branch 'MDL-67470-master' of git://github.com/junpataleta/moodle 2019-12-31 11:29:58 +08:00
Bas Brands 6dadb71bba MDL-67470 theme_boost: settings_menu_proxy correct background
the .region_main_settings_proxy was introduced in MDL-56582 using the
wrong bootstrap variable for the background color
2019-12-31 09:55:50 +08:00
Brendan Heywood 1fef1de592 MDL-58281 files: Correctly handle missing files in readfile_accel 2019-12-30 17:18:49 +11:00
Jun Pataleta e4e9e56882 MDL-65948 core_grade: Use category names as master checkbox labels
Use the name of the grade categories as label to distinguish master
checkboxes from regular ones.
2019-12-30 14:13:35 +08:00
Jun Pataleta 2f848616c7 MDL-65948 core_grade: Use new core/checkbox-toggleall 2019-12-30 14:13:35 +08:00
Adrian Greeve a67ca1e0de Merge branch 'MDL-67233-master' of git://github.com/peterRd/moodle 2019-12-30 12:50:52 +08:00
Jun Pataleta 33a9d82e81 Merge branch 'MDL-67491-master' of git://github.com/junpataleta/moodle 2019-12-30 12:41:49 +08:00
Adrian Greeve 02b0844de9 Merge branch 'MDL-67416' of https://github.com/stronk7/moodle 2019-12-30 10:48:35 +08:00
Jake Dallimore 92b9f472bc Merge branch 'MDL-67380-master' of git://github.com/aanabit/moodle 2019-12-30 10:40:28 +08:00
Jun Pataleta bb54bd1896 Merge branch 'MDL-63650-master' of git://github.com/aanabit/moodle 2019-12-30 10:39:05 +08:00
Jake Dallimore 857fabb618 Merge branch 'master-MDL-67467' of https://github.com/yao9394/moodle 2019-12-30 09:59:20 +08:00
Eloy Lafuente (stronk7) c5fb4dc40f Merge branch 'MDL-67523-master' of git://github.com/marinaglancy/moodle 2019-12-29 23:31:59 +01:00
Eloy Lafuente (stronk7) a0ba8feef6 Merge branch 'MDL-67527-master-enfix' of git://github.com/mudrd8mz/moodle 2019-12-29 23:26:52 +01:00
Adrian Greeve b970666610 Merge branch 'MDL-63107-master' of git://github.com/bmbrands/moodle 2019-12-27 16:32:59 +08:00
Adrian Greeve ae22b2a268 Merge branch 'MDL-65809-master-travisphpbump' of https://github.com/snake/moodle 2019-12-27 15:43:03 +08:00
Jake Dallimore c9c1654166 MDL-65809 core: travis min php version set to 7.2 to match requirements 2019-12-27 15:21:09 +08:00
Adrian Greeve 42d7f7f9e4 Merge branch 'MDL-65809-master' of git://github.com/sarjona/moodle 2019-12-24 14:53:03 +08:00
Jake Dallimore c39da484f2 Merge branch 'MDL-60985-master' of git://github.com/lucaboesch/moodle 2019-12-24 14:44:04 +08:00
Adrian Greeve f00542c485 Merge branch 'MDL-66999-master' of git://github.com/bmbrands/moodle 2019-12-23 14:26:39 +08:00
John Yao 9514c1ac35 MDL-67467 Reports: sortable date format in pregress csv report
date format in csv report should be sortable by date.
2019-12-23 15:39:41 +11:00
Adrian Greeve bd287fa694 Merge branch 'master-MDL-67524' of https://github.com/yao9394/moodle 2019-12-23 10:28:50 +08:00
Jake Dallimore 69eb5980b1 Merge branch 'MDL-67374-master' of git://github.com/rezaies/moodle 2019-12-23 10:12:01 +08:00
Alexander 6ed86eca7a MDL-63734 adminlib: Hide password when defined in config.php
This will hide the password on admin_setting_configpasswordunmask fields when it is already defined in config.php
2019-12-23 14:42:53 +13:00
Adrian Greeve 0c75251509 Merge branch 'MDL-59487' of https://github.com/brendanheywood/moodle 2019-12-23 09:41:04 +08:00
John Yao 978570637d MDL-67524 book: fixing view hidden chapter issue
* Users who has permission should be able to view after turning editing off
2019-12-23 09:49:51 +11:00
AMOS bot 6d6dea612f Automatically generated installer lang files 2019-12-21 00:10:48 +00:00
Eloy Lafuente (stronk7) 78999d9c41 MDL-67416 composer: bump to moodle-behat-extension 3.39.1
that version already requires php72. The lock file has been
created using that php72 version.
2019-12-20 17:18:51 +01:00
Didier 'OdyX' Raboud b7d80e9450 MDL-67491 core_message: Primary'fy the contact request counts 2019-12-20 15:16:24 +01:00
Luca Bösch 3bd2e330ab MDL-60985 tool_usertours: Hide next on last, prev on first and primary. 2019-12-20 13:53:18 +01:00
Luca Bösch 4631f8b000 MDL-67487 forms: align "Custom" checkbox for course section name. 2019-12-20 13:50:32 +01:00
Sara Arjona a26cfe71d3 MDL-65809 upgrade: clean < 3.5.0 upgrade steps
This just deletes all the upgrade steps previous to 3.5.0. Some
small adjustments, like tweaking globals can also be applied
when needed.

Also includes an upgrade step to prevent upgrading from any
version < 2018051700 (v3.5.0) as anti-cheating measure.

Previous commits have removed/deprecated all the upgradelib functions
not used anymore in codebase. Deletion has been documented in corresponding
upgrade.txt files:

- upgrade_fix_block_instance_configuration()
- upgrade_theme_is_from_family(), upgrade_find_theme_location()
and linkcoursesectionsupgradescriptwasrun setting
- upgrade_block_positions
- upgrade_fix_config_auth_plugin_names()
 and upgrade_fix_config_auth_plugin_defaults()
- format_xxx_upgrade_remove_numsections(), format_xxx_upgrade_hide_extra_sections()
and format_xxx_upgrade_add_empty_sections()
- filter_mathjaxloader_upgrade_cdn_cloudflare()
and filter_mathjaxloader_upgrade_mathjaxconfig_equal()
- get_assignments_with_rescaled_null_grades()

These have been kept because continue being used by restore:

- \core\task\refresh_mod_calendar_events_task
2019-12-20 12:20:43 +01:00
Sara Arjona d2b7f6f556 MDL-65809 upgrade: remove get_assignments_with_rescaled_null_grades
This function was used only by deleted upgrade steps
so it's safe to proceed with straight deletion, considering
it internal. Deletion has been documented in corresponding
upgrade.txt files.
2019-12-20 12:20:43 +01:00
Sara Arjona 08bc1f11db MDL-65809 upgrade: remove filter_mathjaxloader_upgrade_xxx
These functions were used only by deleted upgrade steps
so it's safe to proceed with straight deletion, considering
them internal. Deletion has been documented in corresponding
upgrade.txt files:

    - filter_mathjaxloader_upgrade_cdn_cloudflare()
    - filter_mathjaxloader_upgrade_mathjaxconfig_equal()
2019-12-20 12:20:43 +01:00
Sara Arjona 3f224a1a41 MDL-65809 upgrade: remove format_xxx_upgrade_remove_numsections
These functions were used only by deleted upgrade steps
so it's safe to proceed with straight deletion, considering
them internal. Deletion has been documented in corresponding
upgrade.txt files:

    - format_topics_upgrade_remove_numsections()
    - format_topics_upgrade_hide_extra_sections()
    - format_topics_upgrade_add_empty_sections()
    - format_weeks_upgrade_remove_numsections()
    - format_weeks_upgrade_hide_extra_sections()
    - format_weeks_upgrade_add_empty_sections()
2019-12-20 12:20:43 +01:00
Sara Arjona 089e918033 MDL-65809 upgrade: remove upgrade_fix_config_auth_plugin_names
These functions were used only by deleted upgrade steps
so it's safe to proceed with straight deletion, considering
them internal. Deletion has been documented in corresponding
upgrade.txt files:

- upgrade_fix_config_auth_plugin_names()
- upgrade_fix_config_auth_plugin_defaults()
2019-12-20 12:20:43 +01:00
Sara Arjona 6f46aa2040 MDL-65809 upgrade: remove upgrade_block_positions
This function was used only by deleted upgrade steps
so it's safe to proceed with straight deletion, considering
it internal. Deletion has been documented in corresponding
upgrade.txt files.
2019-12-20 12:20:43 +01:00
Sara Arjona f0d3d50273 MDL-65809 upgrade: remove upgrade_theme_is_from_family
These functions and setting were used only by deleted upgrade steps
so it's safe to proceed with straight deletion, considering
them internal. Deletion has been documented in corresponding
upgrade.txt files:

- upgrade_theme_is_from_family()
- upgrade_find_theme_location()
- linkcoursesectionsupgradescriptwasrun setting
2019-12-20 12:20:43 +01:00
Sara Arjona c230306957 MDL-65809 upgrade: remove upgrade_fix_block_instance_configuration
The upgrade_fix_block_instance_configuration() function was used
only by deleted upgrade steps so it's safe to proceed with straight
deletion, considering it internal. Deletion has been documented in
corresponding upgrade.txt files.
2019-12-20 12:19:03 +01:00
Sara Arjona ad7fcff3b7 MDL-65809 environment: mbstring extension required 2019-12-20 12:19:02 +01:00
Sara Arjona 64f2200a7d MDL-65809 environment: PHP 7.2 required 2019-12-20 12:19:02 +01:00
Sara Arjona 2e151145e8 MDL-65809 environment: postgres requirement up to 9.5 2019-12-20 12:19:02 +01:00
Sara Arjona d83a2d7f55 MDL-65809 environment: mariadb requirement up to 10.2 2019-12-20 12:19:02 +01:00
Sara Arjona 70f279bec9 MDL-65809 environment: 3.5 (LTS) required 2019-12-20 12:19:02 +01:00
Sara Arjona 14557b5a84 MDL-65809 environment: 3.9 base information
This is a direct copy of the 3.8 branch to have changes
under control easier in next commits.
2019-12-20 12:19:02 +01:00
Amaia Anabitarte 23033ff48b MDL-63650 core_message: Final deprecation of mark_all_read_for_user 2019-12-20 11:52:45 +01:00
Amaia Anabitarte 650f0f0829 MDL-67380 lib: Upgrade GeoIP2 lib to 2.10.0 2019-12-20 11:42:00 +01:00
Amaia Anabitarte 04485c2404 MDL-67380 lib: Upgrade MixMind DB reader lib to 1.5.1 2019-12-20 11:42:00 +01:00
Amaia Anabitarte e0c03d919a MDL-67380 lib: Update GeoIP2 and MaxMind DB reader versions in Moodle 2019-12-20 11:42:00 +01:00
Eloy Lafuente (stronk7) 7850f76a93 weekly release 3.9dev 2019-12-20 11:01:55 +01:00
Eloy Lafuente (stronk7) 5c6813f151 NOBUG: Fixed SVG browser compatibility 2019-12-20 11:01:54 +01:00
Eloy Lafuente (stronk7) 25fbd365d7 Merge branch 'install_master' of https://git.in.moodle.com/amosbot/moodle-install 2019-12-20 11:01:52 +01:00
Eloy Lafuente (stronk7) c59f22da37 Merge branch 'MDL-67151-master' of git://github.com/rezaies/moodle 2019-12-19 23:01:10 +01:00
Shamim Rezaie 6d1eb00445 MDL-67151 qtype_numerical: convert the tolerance to string before saving
Fix the sqlserver issue when saving a number into a text field
2019-12-20 01:11:59 +11:00
Bas Brands becd940c6c MDL-66883 theme_boost: behat enable custom switches 2019-12-19 13:03:32 +01:00
Bas Brands dc38af73e6 MDL-66883 theme_boost: use bootstrap native switches 2019-12-19 13:03:24 +01:00
Marina Glancy 4e4e6311a5 MDL-67523 core_admin: do not require admin to view category
Revert changes from MDL-58439 (in this file only)
2019-12-19 10:13:38 +01:00
Jun Pataleta b369b9dae9 Merge branch 'master_MDL-63795_core_setting_defaults' of https://github.com/mattporritt/moodle 2019-12-19 11:17:47 +08:00
Jake Dallimore 24c2106293 Merge branch 'MDL-67483-qos-perf' of https://github.com/brendanheywood/moodle 2019-12-19 09:31:28 +08:00
Matt Porritt 4be93382eb MDL-63795 Administration: CLI upgrade apply all settings
This patch fixes a regression caused by MDL-62777.  MDL-62777 added output to inform
administrators of new default settings.  However, the recursion in the code did not
handle new settings made available as the result of the defaults of other settings
being set.
This patch fixes the issue, now all defaults are correctly set, even those exposed
after other defaults are set.
2019-12-19 12:17:11 +11:00
Brendan Heywood c7ce7601a3 MDL-67483 tasks: Improvements to adhoc task queue at very high scale 2019-12-19 10:49:16 +10:00
Eloy Lafuente (stronk7) b4b4c895b2 Merge branch 'MDL-67151-master' of git://github.com/rezaies/moodle 2019-12-18 23:04:40 +01:00
Eloy Lafuente (stronk7) 8fa4764935 Merge branch 'MDL-54554-master' of git://github.com/abgreeve/moodle 2019-12-18 22:44:35 +01:00
Eloy Lafuente (stronk7) 8eb5cee15f Merge branch 'MDL-67244-master' of git://github.com/ferranrecio/moodle 2019-12-18 22:30:28 +01:00
David Mudrák 6aff025cad MDL-67527 lang: Propagate the string fixes to Behat and other places 2019-12-18 21:23:46 +01:00
Helen Foster 824c87f370 MDL-67527 lang: Import fixed English strings (en_fix) 2019-12-18 21:23:46 +01:00
Eloy Lafuente (stronk7) cc8e0d5074 Merge branch 'MDL-64695' of https://github.com/paulholden/moodle 2019-12-18 19:55:52 +01:00
Eloy Lafuente (stronk7) a9e4fa8e95 Merge branch 'master_MDL-66972_Streaming_file_types' of https://github.com/mattporritt/moodle 2019-12-18 19:39:18 +01:00
Eloy Lafuente (stronk7) b2e4577c61 Merge branch 'MDL-67388-master-2' of git://github.com/rezaies/moodle 2019-12-18 18:59:38 +01:00
Shamim Rezaie 11a799bbdf MDL-67388 lib: Upgrade babel polyfill to version 7.7.0 2019-12-19 04:12:07 +11:00
Eloy Lafuente (stronk7) 153fd2688c Merge branch 'MDL-66332-master' of git://github.com/ferranrecio/moodle 2019-12-18 17:53:00 +01:00
Eloy Lafuente (stronk7) 92302a6faa Merge branch 'master_MDL-67433' of https://github.com/golenkovm/moodle 2019-12-18 16:23:43 +01:00
Eloy Lafuente (stronk7) 077fa38a32 Merge branch 'MDL-67381-master' of git://github.com/rezaies/moodle 2019-12-18 16:19:57 +01:00
ferran.recio 178be88e97 MDL-66332 tool_capability: adding acceptance tests 2019-12-18 14:24:38 +01:00
ferran.recio e96bbb53af MDL-66332 too_capability: add show differences option 2019-12-18 14:23:41 +01:00
Brendan Heywood b07fdd1d6c MDL-67403 weblib: Add support for X-Redirect-By header 2019-12-18 15:02:32 +10:00
Andrew Nicols 0bc0fa8795 MDL-63996 core/tags: Pending JS for all tag code 2019-12-18 12:02:40 +08:00
Mikhail Golenkov 4234159ecd MDL-67433 tool_task: Add limits to adhoc CLI runner. 2019-12-18 11:58:43 +11:00
Eloy Lafuente (stronk7) 105de97f35 Merge branch 'MDL-60854-master' of git://github.com/aanabit/moodle 2019-12-18 00:29:02 +01:00
Eloy Lafuente (stronk7) 08f3363bd0 Merge branch 'MDL-60855-master' of git://github.com/aanabit/moodle
Amended a couple of "depecated" typos
2019-12-18 00:25:11 +01:00
Eloy Lafuente (stronk7) a12befdcf7 Merge branch 'MDL-67464-master' of git://github.com/sarjona/moodle 2019-12-17 19:34:39 +01:00
Ferran Recio 69d8c40c5b MDL-65775 atto_html: upgrade codemirror to 5.49.2 2019-12-17 16:24:11 +01:00
Mikel Martín e9049ac8e3 MDL-67336 mod_forum: Fixing forum inline reply filtering before saving 2019-12-17 13:20:14 +01:00
Eloy Lafuente (stronk7) acfba73137 Merge branch 'MDL-65722-no-lock-db' of https://github.com/brendanheywood/moodle 2019-12-17 10:10:15 +01:00
Jake Dallimore d170ca5f8b Merge branch 'MDL-67304_master' of git://github.com/dmonllao/moodle 2019-12-17 13:46:27 +08:00
Jake Dallimore 27ead4552f Merge branch 'master_MDL-67502' of https://github.com/golenkovm/moodle 2019-12-17 13:36:44 +08:00
Jake Dallimore ca78ab6a35 Merge branch 'MDL-65735' of https://github.com/paulholden/moodle 2019-12-17 13:25:02 +08:00
Jake Dallimore 79bd1e7fad Merge branch 'MDL-67165' of git://github.com/Chocolate-lightning/moodle_forum-project 2019-12-17 11:08:56 +08:00
Mathew May 97ba6091ab MDL-67165 core_grade: Add the grader name to webservices 2019-12-17 10:46:02 +08:00
Eloy Lafuente (stronk7) d4a13bb4b2 Merge branch 'MDL-67522-master' of git://github.com/marinaglancy/moodle 2019-12-17 00:22:01 +01:00
Eloy Lafuente (stronk7) 2beb0ddc7e Merge branch 'MDL-67410-master' of https://github.com/felicemcc/moodle 2019-12-16 19:18:03 +01:00
Bas Brands 5d80184dfd MDL-63107 mod_book: rewrite styles for book chapter block
* using flexbox to position titles
* fix for title overlap on edit mode
* show correct bullets, number or indent
2019-12-16 13:26:53 +01:00
Shamim Rezaie c1c74c7562 MDL-67378 libraries: Add Moodle modifications for Mustache 2019-12-16 18:54:06 +11:00
Shamim Rezaie ce05b89997 MDL-67378 libraries: Upgrade mustache.js to 3.1.0 2019-12-16 18:52:14 +11:00
Jake Dallimore 70a19cc9dd Merge branch 'MDL-58827' of https://github.com/paulholden/moodle 2019-12-16 15:32:31 +08:00
Jake Dallimore a7710625c1 Merge branch 'MDL-67327-master' of git://github.com/andrewnicols/moodle 2019-12-16 15:11:23 +08:00
Shamim Rezaie 02c64a4c1b MDL-67385 libraries: Upgrde mongodb to version 1.5.1 2019-12-16 17:42:08 +11:00
Shamim Rezaie 5a28e4ec05 MDL-67385 libraries: Move readme_moodle.txt out of the library directory 2019-12-16 16:58:51 +11:00
Andrew Nicols 9b3343adc2 MDL-63996 behat: Fix multi-tag autocomplete usage 2019-12-16 13:57:00 +08:00
Shamim Rezaie 0a534718df MDL-67374 libraries: Update the upgrade instructions 2019-12-16 16:27:07 +11:00
Shamim Rezaie 0df71b23a2 MDL-67374 libraries: Upgrade SimplePie to version 1.5.3 2019-12-16 16:27:07 +11:00
Jake Dallimore a20b64aaef Merge branch 'MDL-63048-master' of git://github.com/abgreeve/moodle 2019-12-16 10:02:47 +08:00
Zig Tan 1395442474 MDL-54554 files: Improve unoconv error logging & sanity checks 2019-12-16 09:52:51 +08:00
Jake Dallimore 71e5dc3274 Merge branch 'MDL-66503-master' of git://github.com/abgreeve/moodle 2019-12-16 09:11:18 +08:00
AMOS bot 919de0d539 Automatically generated installer lang files 2019-12-14 00:10:46 +00:00
Marina Glancy 092acd53f2 MDL-67522 core_lock: fix mistype in config-dist 2019-12-13 19:34:44 +01:00
Víctor Déniz Falcón 1cfbaab373 MDL-67382 auth_cas: update phpCAS to 1.3.8 2019-12-13 12:34:06 +00:00
Jun Pataleta 41e7fe1d49 MDL-67469 tool_dataprivacy: Put back missing test code
This patch simply brings back the missing test code for
\tool_dataprivacy_api_testcase::test_approve_data_request_non_dpo_user()
2019-12-13 10:04:29 +08:00
AMOS bot a84fbcf103 Automatically generated installer lang files 2019-12-13 00:11:00 +00:00
Mikhail Golenkov 97324e082a MDL-67502 backup: Fix moodle_exception path. 2019-12-13 09:40:38 +11:00
Felice Candilio 4a4a73467c MDL-67410 Enrolments: Casting the perpage parameter to INT
On the course's Participants page, when manually enrolling users
the AJAX call might get excesively slow, due to the treatment
of the perpage parameter as a string, which gets concatenated with the
number 1 (perpage: parseInt(perpage) + 1) instead of performing a
numerical addition.

If there are for example 1500+ users on the site, the method
core_enrol_get_potential_users will be executed with a value of 15001
for the perpage parameter, rendering painfully slow.
2019-12-12 22:21:58 +01:00
Paul Holden d05078d023 MDL-65735 report_progress: reset URL start parameter in initials bars. 2019-12-12 18:23:56 +00:00
Paul Holden d7367ecafa MDL-64695 tool_dataprivacy: filter site fullname in outgoing messages. 2019-12-12 18:20:13 +00:00
Paul Holden 07dc0cad34 MDL-64695 privacy: filter site fullname in data export. 2019-12-12 18:20:13 +00:00
Amaia Anabitarte e9ec67dcad MDL-60854 general: Remove strings deprecated in 3.5 2019-12-12 18:13:36 +01:00
Amaia Anabitarte 2ead888f45 MDL-60855 general: Phase 2 in lib/deprecatedlib.php for 3.5 deprecations 2019-12-12 17:46:36 +01:00
Sara Arjona d273944857 MDL-67464 core_h5p: use h5p.com URLs in behat tests
The H5P content used in behat for validating external URLs
behaviour shouldn't point h5p.org because it may stop working
(it's not for real content). These content have been moved to
moodle.h5p.com (payment account).
Besides, the scenarios loading content from external URLs
have been labelel with @external.
2019-12-12 16:03:52 +01:00
Eloy Lafuente (stronk7) 6aacd8d6d1 weekly release 3.9dev 2019-12-12 13:26:15 +01:00
Eloy Lafuente (stronk7) c6fc8e441b NOBUG: Fixed SVG browser compatibility 2019-12-12 13:26:12 +01:00
Eloy Lafuente (stronk7) 01b183a7b9 Merge branch 'install_master' of https://git.in.moodle.com/amosbot/moodle-install 2019-12-12 13:26:11 +01:00
Bas Brands 072fcde3ee MDL-66999 theme_boost: @extend phpunit fixes 2019-12-12 11:27:59 +01:00
Bas Brands 2b34870dbb MDL-66999 theme_boost: @extend extends from bs2compat 2019-12-12 11:27:59 +01:00
Bas Brands 55193f70d8 MDL-66999 theme_boost: @extend remove extends for users 2019-12-12 11:27:59 +01:00
Bas Brands aa100b767f MDL-66999 theme_boost: @extend remove extends for questions 2019-12-12 11:27:58 +01:00
Bas Brands cacf692578 MDL-66999 theme_boost: @extend remove extends for grades 2019-12-12 11:27:58 +01:00
Bas Brands 40ea67534c MDL-66999 theme_boost: @extend remove extends for tables 2019-12-12 11:27:56 +01:00
Andrew Nicols 5fc84028e9 MDL-67327 js: Make requirejs.php more fault tolerant 2019-12-12 15:58:19 +08:00
Ferran Recio f222c62d09 MDL-67154 theme_classic: fixing firefox printing 2019-12-12 09:04:10 +08:00
AMOS bot 69c3feb751 Automatically generated installer lang files 2019-12-11 13:49:59 +00:00
Shamim Rezaie 4bee39d31c MDL-67376 libraries: Upgrade loglevel.js to version 1.6.6 2019-12-11 21:28:52 +11:00
Kiet.Chan aa8a719049 MDL-67417 theme_boost: Tooltip icon stop working after closing using ESC 2019-12-11 15:01:35 +07:00
Andrew Nicols f316987483 Merge branch 'MDL-67458-master' of https://github.com/snake/moodle 2019-12-11 10:05:40 +08:00
Brendan Heywood cdf3fe7b7e MDL-65722 core_lock: Avoid DB calls in postgres lock by using a hash 2019-12-11 12:49:03 +11:00
Jake Dallimore ae0263de2b MDL-67458 core: removing stale cohortroles and role assignments 2019-12-11 09:34:29 +08:00
Jake Dallimore 94eabe36df MDL-67458 tool_cohortroles: remove role mapping for deleted roles
Before syncing anything, clean up records pointing to deleted roles.
2019-12-11 09:33:10 +08:00
Adrian Greeve 4d1d3eeade MDL-66503 themes: Set the embed page to display block. 2019-12-11 09:26:07 +08:00
Eloy Lafuente (stronk7) c865cceb6b Merge branch 'MDL-67371-master' of git://github.com/rezaies/moodle 2019-12-10 12:49:36 +01:00
Andrew Nicols d10d00a161 Merge branch 'MDL-67434-master' of git://github.com/junpataleta/moodle 2019-12-10 17:28:49 +08:00
Shamim Rezaie d2dcb0d082 MDL-67384 tool_policy: Upgrade jQuery EU Cookie Law popups to 1.1.3 2019-12-10 18:38:08 +11:00
Jake Dallimore 37588be383 Merge branch 'MDL-66936-master' of git://github.com/marinaglancy/moodle 2019-12-10 15:26:41 +08:00
Jake Dallimore 16beda9e63 Merge branch 'MDL-67179' of git://github.com/Chocolate-lightning/moodle 2019-12-10 15:01:40 +08:00
Andrew Nicols 9c18bff160 Merge branch 'MDL-67277-master-strongtopics' of git://github.com/mudrd8mz/moodle 2019-12-10 12:48:54 +08:00
Jake Dallimore 88c7484310 Merge branch 'MDL-67154-master' of git://github.com/ferranrecio/moodle 2019-12-10 11:53:29 +08:00
Jake Dallimore 25137ded9e Merge branch 'MDL-67362-antivirus-config-log' of https://github.com/brendanheywood/moodle 2019-12-10 11:21:49 +08:00
Jake Dallimore b42481597e Merge branch 'MDL-67451-master' of git://github.com/sarjona/moodle 2019-12-10 10:36:54 +08:00
Jake Dallimore 80c13fed94 Merge branch 'MDL-67432-master_quizaccess_settings' of https://github.com/catalyst/moodle 2019-12-10 09:30:36 +08:00
Jake Dallimore bf747f86c2 Merge branch 'MDL-66708-KeyGenCache' of https://github.com/Cengage/moodle 2019-12-10 09:11:56 +08:00
Andrew Nicols 56cabb839c Merge branch 'MDL-67373-master' of git://github.com/rezaies/moodle 2019-12-10 08:39:28 +08:00
Andrew Nicols fd58e6dc62 MDL-67152 calendar: Documentation fix 2019-12-10 08:19:12 +08:00
Andrew Nicols 349141c85b Merge branch 'MDL-67152-master' of git://github.com/rezaies/moodle 2019-12-10 08:12:31 +08:00
Paul Holden a679ae31a5 MDL-65649 backup: ensure valid course URL for async mode. 2019-12-09 23:34:18 +00:00
Andrew Madden e2c5d41a6b MDL-67432 quiz: Load all quiz subplugin settings from quiz settings.
Quiz quizaccess and report subplugins should have greater control over their own settings.
Remove the condition that they are only included when in the full admin tree which doesn't
include admin search page. The $ADMIN->fulltree condition should be handled by subplugin
settings.
2019-12-10 09:17:44 +11:00
Shamim Rezaie 0ab57f8128 MDL-67152 calendar: Rewrite core_calendar/view_manager using ES6 syntax 2019-12-10 06:46:38 +11:00
Shamim Rezaie eaa0439eca MDL-67152 calendar: Rewrite core_calendar/repository using ES6 syntax 2019-12-09 23:24:57 +11:00
Shamim Rezaie f046b70355 MDL-67152 calendar: The day view should start from the current day 2019-12-09 22:37:21 +11:00
Bas Brands 80465b8785 MDL-66999 theme_boost: @extend replace extends in forms
The css for .form-buttons, .path-admin... has been removed completely
The extend was used to add a grey container which is no longer works
2019-12-09 10:49:39 +01:00
Bas Brands 828a659728 MDL-66999 theme_boost: @extend use custom styles for filepicker buttons
The extended button classes can be replaced with custom styles
2019-12-09 10:49:39 +01:00
Bas Brands 6c4dbbf061 MDL-66999 theme_boost: @extend use .table classes in badges renderer
The table.collection class is not needed if the bootstrap classes
for tables are used in the badges renderer
2019-12-09 10:49:39 +01:00
Bas Brands 807e52442c MDL-66999 theme_boost: @extend remove .modal- styles for YUI modals
Use custom styles which will also fix the close button design in
MDL-67295
2019-12-09 10:49:39 +01:00
Bas Brands 5cb07eed0f MDL-66999 theme_boost: @extend remove page-enrol-users styles
The styles and the included @extend rules are no longer needed
The enrol users page was removed in MDL-59370
2019-12-09 10:49:39 +01:00
Bas Brands 4381739778 MDL-66999 theme_boost: @extend get colours from map 2019-12-09 10:49:39 +01:00
Bas Brands 4f77082d29 MDL-66999 theme_boost: @extend replace chat .p0 with css 2019-12-09 10:49:39 +01:00
Bas Brands 30b71a91fa MDL-66999 theme_boost: @extend remove .h2 from calendar
The calendar monthname is already in a <h2>, no additional .h2
styles are needed
2019-12-09 10:49:39 +01:00
Bas Brands 1714b6e7f0 MDL-66999 theme_boost: @extend remove .btn-block and .btn-link
Replace the extended .btn classes with custom css
Remove unused arrow_button styles
2019-12-09 10:49:39 +01:00
Bas Brands 9396731e94 MDL-66999 theme_boost: @extend replace .col-xs-*
Remove legacy col-xs-* classes. They are changed in upstream
Bootstrap 4 stable with just col-*.
2019-12-09 10:49:39 +01:00
Bas Brands 6ac38de8d0 MDL-66999 theme_boost: @extend .table-warning
Use .table-warning classes directly instead of using custom styles
2019-12-09 10:49:39 +01:00
Bas Brands 579ca95f1d MDL-66999 theme_boost: @extend replace .alert
use bs4 .alert .alert-type classes instead of extending .alert
2019-12-09 10:49:39 +01:00
Bas Brands 37949c189b MDL-66999 theme_boost: @extend remove .form-control-*
In MDL-56597 the .error and .warning classes were replaced with
.alert-error and alert-warning.
2019-12-09 10:49:39 +01:00
Bas Brands 098687e55d MDL-66999 theme_boost: @extend remove .small
Remove specific CSS and use bs4 classes in mustache instead
2019-12-09 10:49:39 +01:00
Bas Brands 6239d80855 MDL-66999 theme_boost: @extend text-muted
replace all instances of @extend .text-muted with
color: $text-muted
2019-12-09 10:49:39 +01:00
Bas Brands 2af7619b86 MDL-66999 theme_boost: @extend remove unused admin css 2019-12-09 10:49:38 +01:00
Bas Brands 275f690f11 MDL-66999 theme_boost: @extend for admin warnings 2019-12-09 10:49:38 +01:00
Shamim Rezaie 07cc70073b MDL-67381 atto_recordrtc: Fix the preview issue after recording 2019-12-09 20:28:32 +11:00
Shamim Rezaie 4fa17ba99b MDL-67381 lib: Upgrade to 7.3.0 2019-12-09 20:28:25 +11:00
Jake Dallimore d8b0718dc5 Merge branch 'MDL-67392-master' of git://github.com/rezaies/moodle 2019-12-09 14:46:35 +08:00
Adrian Greeve 1be93dffe1 MDL-63048 lib: Remove renamed classes. 2019-12-09 13:52:36 +08:00
Andrew Nicols 9423348ed4 Merge branch 'MDL-60975-master' of https://github.com/Kathrin84/moodle 2019-12-09 12:16:35 +08:00
Shamim Rezaie 5bd8f1dc4a MDL-67371 lib: Upgrade ADODB to version 5.20.15 2019-12-09 14:47:39 +11:00
Frédéric Massart ef1a9a2135 MDL-67434 javascript: Use static get_string after recycling promise 2019-12-09 10:04:18 +08:00
Matt Porritt bdf62bba35 MDL-66972 Files API: Add Streaming file mime type support
Adds file type support for the streaming .fmp4, .ts, .m3u8, and .mpd media formats,
so that correct mime type is stored in the database and sent in
headers when files are served. Also update existing mime types for
stored files.
2019-12-08 06:10:01 +11:00
David Monllaó b1a6b2def2 MDL-67304 analytics: Add missing png svg incorrect icon
Credit to jaked for the icons and the testing instructions
2019-12-06 10:19:08 +08:00
AMOS bot ecfa900fa8 Automatically generated installer lang files 2019-12-06 00:09:41 +00:00
Eloy Lafuente (stronk7) 8cf4c97217 weekly release 3.9dev 2019-12-05 13:24:04 +01:00
Eloy Lafuente (stronk7) 3978b8a1d4 NOBUG: Fixed SVG browser compatibility 2019-12-05 13:24:03 +01:00
Kathrin Osswald 4805a5b96f MDL-60975 behat tests: Added search for admin setting filepickers 2019-12-05 11:12:00 +01:00
Paul Holden 714343c06a MDL-66024 tool_uploadcourse: validate shortname/fullname field length. 2019-12-05 07:47:07 +00:00
Adrian Greeve 75890f29ed Merge branch 'MDL-65620-master' of git://github.com/aanabit/moodle 2019-12-05 09:25:16 +08:00
Eloy Lafuente (stronk7) 97d5eeda32 Merge branch 'MDL-41958-master' of git://github.com/lucaboesch/moodle 2019-12-04 23:24:46 +01:00
Sara Arjona d03d11095f MDL-67451 badges: use the site OB version as default 2019-12-04 21:01:09 +01:00
Eloy Lafuente (stronk7) baa833c667 Merge branch 'MDL-62757-master' of git://github.com/bmbrands/moodle 2019-12-04 20:25:59 +01:00
Bas Brands 8040fafaa8 MDL-62757 themes: validate theme preset files
Preset files need to be validated to ensure compiling SCSS does not
break.
2019-12-04 19:12:44 +01:00
Sara Arjona 04b52780eb Merge branch 'MDL-29693' of https://github.com/paulholden/moodle 2019-12-04 11:40:22 +01:00
Sara Arjona 8a685a3a3f Merge branch 'MDL-67404' of https://github.com/stronk7/moodle 2019-12-04 11:24:46 +01:00
Paul Holden fdd3ccaf07 MDL-29693 report_configlog: implement report search filtering. 2019-12-04 10:19:22 +00:00
Paul Holden a00801c071 MDL-29693 report_configlog: re-factor output to use renderers.
AMOS BEGIN
 MOV [value,report_configlog],[valuenew,report_configlog]
 MOV [oldvalue,report_configlog],[valueold,report_configlog]
AMOS END
2019-12-04 10:17:41 +00:00
Sara Arjona 03299347e7 Merge branch 'MDL-57635-38_tool_usertours_filter_shown' of https://github.com/tomdickman/moodle 2019-12-04 10:48:11 +01:00
Amaia Anabitarte 82ed7b3867 MDL-65620 core_message: Notification preferences behat tests 2019-12-04 10:30:36 +01:00
Amaia Anabitarte ebe53aca51 MDL-65620 core_message: User preference generator 2019-12-04 09:49:21 +01:00
Amaia Anabitarte f7af919bdf MDL-65620 core_message: Default notification preferences 2019-12-04 09:49:21 +01:00
Adrian Greeve 528b979a60 Merge branch 'master-MDL-65729' of https://github.com/yao9394/moodle 2019-12-04 14:11:51 +08:00
John Yao d0734df404 MDL-65729 Backup: Split individual backups into ad-hoc tasks
* refactor run automated backup
* new backup status of Queued
* adhoc task for backing up a course
* course locking for course backup adhoc task
* use Moodle locking instead of custom locking for run automated backup task
* add unit tests to extracted methods
2019-12-04 15:10:23 +11:00
Adrian Greeve 2311ae10a6 Merge branch 'MDL-40360-master' of git://github.com/lucaboesch/moodle 2019-12-04 11:49:11 +08:00
Andrew Nicols 96302b7aec Merge branch 'MDL-67359' of git://github.com/Chocolate-lightning/moodle_forum-project 2019-12-04 10:32:03 +08:00
Eloy Lafuente (stronk7) 26aff51b7a Merge branch 'MDL-46123' of https://github.com/stronk7/moodle 2019-12-03 23:15:28 +01:00
Tim Hunt 45c4d4aa8c MDL-46123 accesslib: improve get_component_string 2019-12-03 23:11:11 +01:00
David Mudrák 9446b17d88 MDL-67277 forum: Replace the HTML comments with Mustache comments
It does not seem necessary to have the actual HTML sent to browsers full
of these developer-focused comments.
2019-12-03 20:36:05 +01:00
David Mudrák 3eb2ff093c MDL-67277 forum: Remove the pinned class from the first cell
There should be no need to have it, and the name is confusing here.
2019-12-03 20:36:05 +01:00
David Mudrák 33eadfeccb MDL-67277 forum: Do not display discussion topics in bold
The topics are now inside a table header cell, which shows them in bold
by default.
2019-12-03 20:36:05 +01:00
David Mudrák 91a28c219a MDL-67277 forum: Apply CSS class describing the discussion status
This is to allow the themes to style pinned, favourited, subscribed and
discussions with unread replies.
2019-12-03 20:36:05 +01:00
Ferran Recio e06f9a8385 MDL-67154 theme_boost: fixing firefox printing 2019-12-03 16:44:23 +01:00
Sara Arjona 7ad7505e2f Merge branch 'MDL-66925-adhoc-keep-alive' of https://github.com/brendanheywood/moodle 2019-12-03 14:29:19 +01:00
Marina Glancy 3b0168ce7f MDL-66936 mod_url: revert MDL-65024 adding fullurl to modinfo
This reverts commit cc56e409c3, reversing
changes made to 01cdf16c0e.
2019-12-03 12:24:25 +01:00
Jonathon Fowler ec0d17b543 MDL-66936 url: fix error when modinfo cache is rebuilt non-interactively 2019-12-03 12:23:47 +01:00
Sara Arjona d3b25ffaa0 Merge branch 'MDL-67363-adhoc-qos' of https://github.com/brendanheywood/moodle 2019-12-03 12:08:29 +01:00
Shamim Rezaie 83a7336f57 MDL-67373 lib: Upgrade PHPmailer to 6.1.3 2019-12-03 21:11:40 +11:00
Andrew Nicols 28ce554e10 Merge branch 'MDL-65229-stop-cron' of https://github.com/brendanheywood/moodle 2019-12-03 14:59:30 +08:00
Brendan Heywood 0bcc273f63 MDL-65229 cron: Add cli option --stop to notify all cron to stop 2019-12-03 17:51:56 +11:00
Andrew Nicols 45dfcd1755 Merge branch 'MDL-66087-master' of git://github.com/bmbrands/moodle 2019-12-03 14:35:39 +08:00
Shamim Rezaie 9173b83e58 MDL-67151 qtype_calculatedsimple: Support for the scientific format 2019-12-03 16:52:22 +11:00
Shamim Rezaie a1f10c5ec5 MDL-67151 qtype_calculated: Support for the scientific format 2019-12-03 16:52:22 +11:00
Shamim Rezaie bb8d19b885 MDL-67151 qtype_numerical: Support for the scientific format 2019-12-03 16:52:22 +11:00
Shamim Rezaie 35ca1475b5 MDL-67151 core_question: Support scientific format at question preview 2019-12-03 16:52:22 +11:00
Shamim Rezaie 2bfc16ad2a MDL-67151 forms: Support for the scientific format in the float element 2019-12-03 16:52:22 +11:00
Shamim Rezaie ac384d1d88 MDL-67151 core: format_float can auto detect number of decimal points 2019-12-03 16:52:17 +11:00
Andrew Nicols 47bede0d5d Merge branch 'MDL-67155' of https://github.com/timhunt/moodle 2019-12-03 12:12:28 +08:00
Jake Dallimore cdf835e9b5 Merge branch 'MDL-65693-http-head' of https://github.com/brendanheywood/moodle 2019-12-03 11:22:47 +08:00
Mathew May c7a7f88a0f MDL-67179 core: Add missing grading pix 2019-12-03 10:40:43 +08:00
Mathew May 6b55b28e38 MDL-67359 mod_forum: Relocate notification templates to reallign it 2019-12-03 10:35:33 +08:00
Adrian Greeve e6d8792369 Merge branch 'MDL-54799-master' of git://github.com/crazyserver/moodle 2019-12-03 09:35:53 +08:00
Brendan Heywood 4971da0bfa MDL-67363 task: Add adhoc task quality of service balancing 2019-12-03 12:21:10 +11:00
Sara Arjona 3cbede6e40 Merge branch 'wip-MDL-67339-master' of https://github.com/Beedell/moodle 2019-12-02 18:06:15 +01:00
John Beedell 82ee6f0d3c MDL-67339 behat: Enhance Behat exception message 2019-12-02 09:46:08 +00:00
Shamim Rezaie c15cd04c48 MDL-67392 mod_forum: Fix unescaped quotes issue in template 2019-12-02 20:44:44 +11:00
Jake Dallimore 842e0a027e Merge branch 'MDL-66581-master' of git://github.com/junpataleta/moodle 2019-12-02 16:12:00 +08:00
Jun Pataleta 658676adc0 MDL-66581 auth: Properly assign the link attribute 2019-12-02 15:28:23 +08:00
Iñigo Zendegi befbe2838f MDL-66581 auth: Do string concatenation for the password change URL
This reverts the change introduced by MDL-59298 where the password
change URL data is being assigned with a moodle_url object instead
of concatenating it.
2019-12-02 15:20:44 +08:00
Jake Dallimore 398bda4f12 Merge branch 'MDL-67160' of git://github.com/Chocolate-lightning/moodle_forum-project 2019-12-02 11:25:08 +08:00
Jake Dallimore 9d06a24393 Merge branch 'MDL-66877-master' of git://github.com/jleyva/moodle 2019-12-02 10:01:53 +08:00
Luca Bösch 292b987c5c MDL-41958 import: Constistently showing progress steps. 2019-11-30 10:07:56 +01:00
Luca Bösch b7e3c2495f MDL-40360 gradingform_rubric: remove unused class 'label' for a label. 2019-11-30 09:42:44 +01:00
Brendan Heywood d46dba32d4 MDL-65693 files: Honor http HEAD requests for files 2019-11-30 16:02:23 +11:00
Brendan Heywood ad17190dc7 MDL-66925 cron: Add cli option to keep adhoc task runner alive 2019-11-30 16:01:01 +11:00
Shamim Rezaie 53b5c4f581 MDL-65849 mod_forum: Add course param to the author's profile url 2019-11-29 20:50:16 +11:00
Eloy Lafuente (stronk7) 784977de20 MDL-67404 composer: update to newer versions
(using php71 for this branch)

Without changing any requirement, just an update
to get latest versions onboard, some fixing known
php 7.4 issues.
2019-11-29 10:02:11 +01:00
Pau Ferrer Ocaña 4ed6010a61 MDL-54799 webservice: Handle exception in WS format ASAP 2019-11-29 09:44:09 +01:00
Eloy Lafuente (stronk7) 800563e415 weekly release 3.9dev 2019-11-29 00:45:41 +01:00
Juan Leyva f02178c481 MDL-66877 mod: Fix unfiltered activity names in page headings 2019-11-28 17:18:29 +01:00
Juan Leyva 62ff1b954f MDL-66877 mod: Fix WebServices returning unfiltered activity names 2019-11-28 17:18:29 +01:00
Bas Brands 9a6ff378d1 MDL-66087 themes: use variable color for dashboard background 2019-11-27 15:35:08 +01:00
Adrian Greeve f88437b468 Merge branch 'MDL-67348-master' of git://github.com/andrewnicols/moodle 2019-11-27 10:35:30 +08:00
Eloy Lafuente (stronk7) 21418c9942 Merge branch 'MDL-67300-master' of https://github.com/sammarshallou/moodle
(fix trailing whitespace case)
2019-11-26 22:30:05 +01:00
Jun Pataleta 9a37e86c6b Merge branch 'master_MDL-56886' of https://github.com/golenkovm/moodle 2019-11-26 22:32:48 +08:00
Sara Arjona ae2746b6b2 Merge branch 'MDL-67210-master' of git://github.com/lucaboesch/moodle 2019-11-26 08:29:45 +01:00
Jake Dallimore d0a4c05dda Merge branch 'MDL-67307' of https://github.com/stronk7/moodle 2019-11-26 14:14:50 +08:00
Jake Dallimore afc430c90b Merge branch 'MDL-67042-master' of git://github.com/sarjona/moodle 2019-11-26 11:59:08 +08:00
Jun Pataleta 7d9c97ae80 Merge branch 'MDL-66966' of https://github.com/stronk7/moodle 2019-11-26 11:42:25 +08:00
Brendan Heywood 10a1c1b577 MDL-67362 antivirus: Add enabling and order changes to config_log 2019-11-26 14:35:00 +11:00
Peter 4a27182b5c MDL-67233 mod_timeline: Allow events with only open dates in the future 2019-11-26 11:25:15 +08:00
Jake Dallimore 5906251ed2 Merge branch 'MDL-67222-master' of git://github.com/bmbrands/moodle 2019-11-26 10:12:29 +08:00
Mikhail Golenkov ac8e6f8e19 MDL-56886 navigation: Allow local plugins to modify navigation via AJAX. 2019-11-26 12:11:00 +11:00
Andrew Nicols d950843a6e MDL-67348 theme: Return CSS from localcache if available 2019-11-26 07:24:45 +08:00
Claude Vervoort 2a6ea30ef4 MDL-66708 lti adv: fix check for key in config 2019-11-25 14:14:33 -05:00
Sara Arjona f871370c55 Merge branch 'MDL-67342-master' of git://github.com/marinaglancy/moodle 2019-11-25 15:58:54 +01:00
Sara Arjona ad0a95cc47 Merge branch 'MDL-66627-master' of git://github.com/mickhawkins/moodle 2019-11-25 15:41:47 +01:00
Bas Brands cb4542b868 MDL-67222 tool_lp: update css classes for Bootstrap 4.3 2019-11-25 13:33:21 +01:00
Jun Pataleta 1eac44f128 Merge branch 'MDL-67217_master' of git://github.com/dmonllao/moodle 2019-11-25 16:13:01 +08:00
Sara Arjona c1bd4a6760 Merge branch 'MDL-67168-master' of git://github.com/andrewnicols/moodle 2019-11-25 08:54:51 +01:00
Jun Pataleta f05914739d Merge branch 'MDL-65956-master-1' of git://github.com/mihailges/moodle 2019-11-25 14:23:18 +08:00
Mihail Geshoski 68bd26ef2a MDL-65956 mod_assign: Add behat tests 2019-11-25 10:49:36 +08:00
Mihail Geshoski 8dc45b37b7 MDL-65956 mod_assign: Add proper capability checks and error handling 2019-11-25 10:49:21 +08:00
Adrian Greeve cab756604b Merge branch 'MDL-67285-master' of git://github.com/andrewnicols/moodle 2019-11-25 10:28:56 +08:00
Jake Dallimore d35fd6ee1b Merge branch 'MDL-67049' of https://github.com/stronk7/moodle 2019-11-25 09:33:42 +08:00
Luca Bösch 2e7f4fcefd MDL-67210 tool_uploadcourse: Allow only 0 and 1 for visible value. 2019-11-24 18:29:47 +01:00
Marina Glancy 4d2b8ece29 MDL-67342 theme_boost: Do not hardcode tooltip container 2019-11-24 13:42:48 +01:00
Syed Nayab Bukhari 55d0cd969c MDL-59487 task: Add run again button.
Co-authored-by: Brendan Heywood <brendan@catalyst-au.net>
2019-11-24 16:58:30 +11:00
Sara Arjona e49543e8e9 MDL-67042 customfield: Add behat tests to check hidden fields
Fields with the visibility different to Everyone should
be never displayed in the available filters custom field.
2019-11-22 09:57:10 +01:00
Sara Arjona 5a119f31f4 MDL-67042 customfield: Display only fields visible to everybody
When defining the available filters for the Dashboard, only the
fields visible to everyone should be displayed in the Custom field
filter.
2019-11-22 09:10:52 +01:00
Eloy Lafuente (stronk7) 88d88bd92e MDL-67307 core: Fix onject creation from empty value cases
The "creating default object from empty value" warning is now consistently
thrown if a falsy value is promoted into an stdClass object. Previously some
cases like `$null->prop[0] = $val` missed this warning.
2019-11-22 01:40:42 +01:00
Eloy Lafuente (stronk7) 8e98f82f12 MDL-67049 grading: options are array, ensure json_decode() knows it
By default json_decode() returns object for associative arrays. That
was not a problem till now becuause array_key_exists() worked with
objects too. But in php74 that emits a warning.

So we need to ensure that the information arriving to it is
an array, allowing everything to continue working ok.
2019-11-22 01:40:18 +01:00
Eloy Lafuente (stronk7) 544924eb90 MDL-66966 tcpdf: Update readme to point to manual commits to review
Apart from the main import of the library, there are a couple of
commits (with corresponding PRs upstream) that have been added to
provide php74 compatibility.

This commit addes them to the instructions, to ensure that they
will be reviewed on next import.
2019-11-22 01:40:09 +01:00
Eloy Lafuente (stronk7) 59a97b235f MDL-66966 tcpdf: Silence non-existing K_PATH_CACHE
I was fixing this adding a extra dir_exists() check that
is better than the silence operator but that was that already
there was a PR using @. So went to it.

This is https://git.io/JeKft
2019-11-22 01:40:09 +01:00
Eloy Lafuente (stronk7) 034988a10c MDL-66966 tcpdf: Some more curly braces to fix
This is https://git.io/JeKfT
2019-11-22 01:40:09 +01:00
Eloy Lafuente (stronk7) 3dc2e85e7f MDL-66966 tcpdf: PHP 7.4 - cannot use array offset on integers
This is https://git.io/JeKfU
2019-11-22 01:40:09 +01:00
Eloy Lafuente (stronk7) fe503a3cfb MDL-66966 tcpdf: Bump to tcpdf 6.3.2
Bug fixes and php74 support.
2019-11-22 01:40:09 +01:00
David Monllaó e477e1350a MDL-67217 unittest: usleep and windows don't get along well 2019-11-22 07:41:07 +08:00
Eloy Lafuente (stronk7) a5f618d6a9 weekly on-sync release 3.9dev 2019-11-22 00:17:41 +01:00
sam marshall 584500d5ba MDL-67300 Calendar: Inconsistent behaviour of managegroupentries
When calling the calendar_get_allowed_event_types function with
no course id, it is supposed to return true if you have the
relevant permissions in any course.

For users who have the managegroupentries permission, this was not
the case - even though it works correctly if you call the function
with a supplied course id.

This change makes behaviour with and without a supplied course id
consistent.
2019-11-21 10:51:35 +00:00
Andrew Nicols 916d611684 MDL-67168 forum: Correct behaviour of viewfullnames 2019-11-21 15:42:42 +08:00
Jake Dallimore e9b0505720 Merge branch 'MDL-67035' of https://github.com/stronk7/moodle 2019-11-21 11:55:07 +08:00
Jun Pataleta d7fc8bda21 Merge branch 'MDL-66964' of https://github.com/stronk7/moodle 2019-11-21 11:36:33 +08:00
Tim Hunt 285c703685 MDL-48024 behat: allow plugins to have data generators
This extends the step
Given the following "users" exist:
to also support things like
Given the following "mod_quiz > user overrides" exist:

Instructions are on the behat_data_generators and
behat_generator_base classes.
2019-11-21 09:18:35 +08:00
Jake Dallimore 6f407fba72 Merge branch 'MDL-67030' of https://github.com/stronk7/moodle 2019-11-21 08:18:46 +08:00
Eloy Lafuente (stronk7) c22af12f03 MDL-66964 markdown: add details to readme
The commit to apply, from upstream repo, is:

https://github.com/michelf/php-markdown/commit/a35858f0409e5f01474f5cd562d17289fe8e5435

But it doesn't apply clean to our current 1.8.0 version.

So we have ended a slightly different version in core reproducing the same changes.
2019-11-20 10:57:51 +01:00
Jake Dallimore 88b2d7b1a1 Merge branch 'MDL-67031' of https://github.com/stronk7/moodle 2019-11-20 16:21:47 +08:00
Jun Pataleta 6e35779a63 Merge branch 'MDL-67077' of https://github.com/stronk7/moodle 2019-11-20 16:08:30 +08:00
Michael Hawkins cb532f5c7e MDL-66627 forumreport_summary: Added content access behat tests 2019-11-20 14:53:49 +08:00
Jake Dallimore bfd43d4351 Merge branch 'MDL-67034' of https://github.com/stronk7/moodle 2019-11-20 13:16:28 +08:00
Jake Dallimore 364d927bc4 Merge branch 'MDL-67029' of https://github.com/stronk7/moodle 2019-11-20 11:45:10 +08:00
Adrian Greeve 230ed37d49 Merge branch 'MDL-67017' of https://github.com/stronk7/moodle 2019-11-20 09:57:50 +08:00
Eloy Lafuente (stronk7) 20d4ecc409 MDL-67034 lti_provider: php74 fix (curly braces) for LTI Provider lib 2019-11-19 10:03:12 +01:00
Jake Dallimore 48bec7814c Merge branch 'MDL-67274-master' of https://github.com/sammarshallou/moodle 2019-11-19 10:51:05 +08:00
Andrew Nicols 04e67878f9 MDL-67285 core: YUI dialogues must use focuslock
YUI Dialogues were using an older method for locking focus to modals,
but this way conflicts with the way in which we lock focus for AMD
modules.

As a result, when an AMD dialogue launches a YUI dialogue the focus is
not correctly locked and it is not possible to focus on anything in the
YUI dialogue.

This includes a minor changes to the focuslock AMD module to ensure that
it is possible to loop the focus in both directions. Many of our older
YUI dialogues are themselves focusable. As a result we need to include
the lock region in the calculation when calculating the possible
descendants.
If we do not do so then the reverse looping does not work.
2019-11-19 07:40:36 +08:00
Mathew May 6ebf994c23 MDL-67160 mod_forum: Show the users grading status in the grader 2019-11-19 10:17:00 +13:00
Eloy Lafuente (stronk7) 7cccf31ce8 Merge branch 'MDL-67148-master' of git://github.com/junpataleta/moodle 2019-11-18 18:42:37 +01:00
sam marshall b4e2b99c85 MDL-67274 Tasks: Log display fails with memory errors 2019-11-18 13:46:32 +00:00
Jun Pataleta 3299602276 Merge branch 'MDL-67073-master' of git://github.com/marinaglancy/moodle 2019-11-18 16:02:05 +08:00
Jake Dallimore 36ad925edc Merge branch 'MDL-67284' of https://github.com/stronk7/moodle 2019-11-18 11:27:00 +08:00
Jake Dallimore d84bf35fd1 Merge branch 'MDL-67283' of https://github.com/stronk7/moodle 2019-11-18 11:20:28 +08:00
Eloy Lafuente (stronk7) 59540b861e MDL-67284 mod_feedback: Add missing file phpdoc block 2019-11-17 12:46:31 +01:00
Eloy Lafuente (stronk7) 953a5844ef MDL-67283 backup: Bump release to 3.9 2019-11-17 11:41:30 +01:00
Eloy Lafuente (stronk7) 492d047d11 MDL-67284 upgrade: add 3.8.0 separation line to all upgrade scripts 2019-11-17 11:40:19 +01:00
Eloy Lafuente (stronk7) 712a321db2 MDL-67077 h5p: php74 fix (curly braces) for the H5P lib
This has been sent also upstream @ https://github.com/h5p/h5p-php-library/pull/69
2019-11-16 20:04:04 +01:00
Eloy Lafuente (stronk7) 6783adc239 MDL-67035 tags: fix nested ternary operators to be php74 compliant
Nesting ternary operators without explicit parentheses is deprecated:

    // Code like
    $a ? $b : $c ? $d : $e
    // should be replaced by (current interpretation)
    ($a ? $b : $c) ? $d : $e
    // or (likely intended interpretation)
    $a ? $b : ($c ? $d : $e)
2019-11-16 20:03:47 +01:00
Eloy Lafuente (stronk7) b69028e626 MDL-67034 google: php74 fix (curly braces) for the Google-Client lib 2019-11-16 20:03:37 +01:00
Eloy Lafuente (stronk7) 15c8da60d4 MDL-67034 adodb: php74 fix (curly braces) for the AdoDB lib 2019-11-16 20:03:37 +01:00
Eloy Lafuente (stronk7) 6b83451251 MDL-67034 horde: php74 fix (curly braces) for the Horde lib 2019-11-16 20:03:37 +01:00
Eloy Lafuente (stronk7) 9e458d8fe8 MDL-67031 s3: php74 fixup for class S3 v0.5.1 2019-11-16 20:03:27 +01:00
Eloy Lafuente (stronk7) 30e5aca81d MDL-67030 htmlpurifier: add details to readme 2019-11-16 20:03:18 +01:00
Eloy Lafuente (stronk7) 9fbe33a6a2 MDL-67030 htmlpurifier: php74 fixup for htmlpurifier v4.10.0
This simply applies this pull request:

https://github.com/ezyang/htmlpurifier/pull/224

straight to our library. Once there is some new htmlpurifier
release available (>v4.11.0) we'll be back upstream because
the fix will be included.
2019-11-16 20:03:18 +01:00
Eloy Lafuente (stronk7) f94b2e7ade MDL-67029 bennu: add details to readme 2019-11-16 20:03:08 +01:00
Eloy Lafuente (stronk7) ce17207715 MDL-67029 bennu: php74 fixup for bennu lib 0.1-custom 2019-11-16 20:03:08 +01:00
Eloy Lafuente (stronk7) ba5aa5fe19 MDL-67017 typo3: add details to readme 2019-11-16 20:02:59 +01:00
Eloy Lafuente (stronk7) 052a282ec4 MDL-67017 typo3: php74 fixup for typo3 lib 4.7.19
We are using a really outdated Typo3 library (2014) already patched
for php73 support. Plus, probably, we'll be soon removing it from core.

So we have decided to, instead of upgrade, apply the needed php74 fixes.
2019-11-16 20:02:59 +01:00
Eloy Lafuente (stronk7) c3d8c419e5 MDL-66964 markdown: php74 fixup for markdown lib 1.8.0
Note this is different from the upstream commit:

https://github.com/michelf/php-markdown/commit/a35858f0409e5f01474f5cd562d17289fe8e5435

because it was conflicting so only the cases corresponding
to our current 1.8.0 version have been modified.

This commit is trivial, just a pure curly to square replacement.
2019-11-16 20:02:42 +01:00
Eloy Lafuente (stronk7) d547735f2f weekly back-to-dev release 3.9dev 2019-11-16 18:03:02 +01:00
Eloy Lafuente (stronk7) bc4c075960 NOBUG: Change travis.yml back to master 2019-11-16 17:54:08 +01:00
Ferran Recio 8a664a65fa MDL-67244 filter_mediaplugin: fix html5 player width for lowres videos 2019-11-13 15:02:41 +01:00
Tim Hunt 550599e001 MDL-67155 quiz: first attempt_step should record the student's userid 2019-11-07 00:08:49 +00:00
Jun Pataleta aaadb53649 MDL-67148 tool_mobile: Set auth_cas|auth_name config value in unit test
Thanks to Renaat Debleu for the fix suggestion!
2019-11-07 00:01:20 +08:00
Tom Dickman 9d9e3a3da2 MDL-57635 tool_usertours: Restrict tours by user account details
This feature adds a filter for determining if a tour can be shown to a user based on when their account
was created, when they first accessed Moodle, when they last logged in to Moodle, or when the tour was
last updated.
This will allow the prevention of tour display to experienced Moodle users, allowing a tour to be
targetted at those who have been using Moodle for a shortened period and presumably require tour
information more.
2019-11-06 08:32:56 +11:00
Paul Holden 8d09b8cab6 MDL-58827 user: add institution & department filters. 2019-11-05 00:16:13 +00:00
Marina Glancy 943e3f04d5 MDL-67073 core_course: fix capability context 2019-10-30 18:36:03 +01:00
Paul Holden 60c55093ad MDL-65884 filters: update exclusive separator characters for tags.
The previous characters mangled the output of filtered text, exhibited
in the activity names filter for activities named '-' (single hyphen).
2019-06-12 16:13:29 +01:00
10806 changed files with 675406 additions and 334730 deletions
-90
View File
@@ -1,90 +0,0 @@
# Generated by "grunt ignorefiles"
*/**/yui/src/*/meta/
*/**/build/
node_modules/
vendor/
admin/tool/policy/amd/src/jquery-eu-cookie-law-popup.js
auth/cas/CAS/
cache/stores/mongodb/MongoDB/
enrol/lti/ims-blti/
filter/algebra/AlgParser.pm
filter/tex/mimetex.*
lib/editor/atto/plugins/html/yui/src/codemirror/
lib/editor/atto/plugins/html/yui/src/beautify/
lib/editor/atto/yui/src/rangy/js/*.*
lib/editor/tinymce/plugins/pdw/tinymce/
lib/editor/tinymce/plugins/spellchecker/rpc.php
lib/editor/tinymce/tiny_mce/
lib/mlbackend/php/phpml/
lib/adodb/
lib/bennu/
lib/evalmath/
lib/phpspreadsheet/
lib/google/
lib/htmlpurifier/
lib/jabber/
lib/minify/matthiasmullie-minify/
lib/minify/matthiasmullie-pathconverter/
lib/pear/HTML/Common.php
lib/pear/HTML/QuickForm.php
lib/pear/HTML/QuickForm/
lib/pear/PEAR.php
lib/phpmailer/
lib/simplepie/
lib/tcpdf/
lib/typo3/
lib/yuilib/
lib/yuilib/gallery/
lib/jquery/
lib/html2text/
lib/markdown/
lib/xhprof/
lib/horde/
lib/requirejs/
lib/amd/src/loglevel.js
lib/mustache/
lib/amd/src/mustache.js
lib/graphlib.php
lib/php-css-parser/
lib/rtlcss/
lib/scssphp/
lib/spout/
lib/amd/src/chartjs-lazy.js
lib/maxmind/GeoIp2/
lib/maxmind/MaxMind/
lib/ltiprovider/
lib/amd/src/truncate.js
lib/fonts/
lib/amd/src/adapter.js
lib/validateurlsyntax.php
lib/amd/src/popper.js
lib/geopattern-php/
lib/php-jwt/
lib/babel-polyfill/
lib/mdn-polyfills/
lib/emoji-data/
lib/h5p/
media/player/videojs/amd/src/video-lazy.js
media/player/videojs/amd/src/Youtube-lazy.js
media/player/videojs/videojs/
media/player/videojs/amd/src/videojs-flash-lazy.js
media/player/videojs/videojs/video-js.swf
mod/assign/feedback/editpdf/fpdi/
repository/s3/S3.php
theme/boost/scss/bootstrap/
theme/boost/amd/src/alert.js
theme/boost/amd/src/button.js
theme/boost/amd/src/carousel.js
theme/boost/amd/src/collapse.js
theme/boost/amd/src/dropdown.js
theme/boost/amd/src/index.js
theme/boost/amd/src/modal.js
theme/boost/amd/src/popover.js
theme/boost/amd/src/sanitizer.js
theme/boost/amd/src/scrollspy.js
theme/boost/amd/src/tab.js
theme/boost/amd/src/toast.js
theme/boost/amd/src/tooltip.js
theme/boost/amd/src/util.js
theme/boost/amd/src/tether.js
theme/boost/scss/fontawesome/
+65 -6
View File
@@ -2,6 +2,7 @@
'plugins': [
'babel',
'promise',
'jsdoc',
],
'env': {
'browser': true,
@@ -191,7 +192,6 @@
'property': 'str',
'message': 'Use AMD module "core/str" or M.util.get_string()'
}],
},
overrides: [
{
@@ -200,18 +200,34 @@
rules: {
'no-undef': 'off',
'no-unused-vars': 'off',
'no-unused-expressions': 'off'
'no-unused-expressions': 'off',
// === JSDocs ===
"jsdoc/check-access": 'off',
"jsdoc/check-alignment": 'off',
"jsdoc/check-param-names": 'off',
"jsdoc/check-property-names": 'off',
"jsdoc/empty-tags": 'off',
"jsdoc/implements-on-classes": 'off',
"jsdoc/multiline-blocks": 'off',
"jsdoc/require-jsdoc": 'off',
"jsdoc/require-param": 'off',
"jsdoc/require-param-name": 'off',
"jsdoc/require-param-type": 'off',
"jsdoc/require-property": 'off',
"jsdoc/require-property-name": 'off',
"jsdoc/require-property-type": 'off',
}
},
{
files: ["**/amd/src/*.js", "**/amd/src/**/*.js", "Gruntfile*.js", "babel-plugin-add-module-to-define.js"],
files: ["**/amd/src/*.js", "**/amd/src/**/*.js", "Gruntfile.js", ".grunt/*.js", ".grunt/tasks/*.js", "jsdoc.conf.js"],
// We support es6 now. Woot!
env: {
es6: true
},
// We're using babel transpiling so use their parser
// for linting.
parser: 'babel-eslint',
parser: '@babel/eslint-parser',
// Check AMD with some slightly stricter rules.
rules: {
'no-unused-vars': 'error',
@@ -238,11 +254,54 @@
// === Promises ===
// We have Promise now that we're using ES6.
'promise/no-native': 'off',
'promise/avoid-new': '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',
],
},
parserOptions: {
'ecmaVersion': 9,
'sourceType': 'module'
'sourceType': 'module',
'requireConfigFile': false,
}
}
]
+7 -3
View File
@@ -3,6 +3,8 @@
"Feature": 0,
"Background": 2,
"Scenario": 2,
"Examples": 4,
"example": 6,
"Step": 4,
"given": 4,
"and": 4
@@ -14,7 +16,9 @@
"no-multiple-empty-lines": "on",
"no-partially-commented-tag-lines": "on",
"no-trailing-spaces": "on",
"no-unamed-features": "on",
"no-unamed-scenarios": "on",
"no-scenario-outlines-without-examples": "on"
"no-unnamed-features": "on",
"no-unnamed-scenarios": "on",
"no-scenario-outlines-without-examples": "on",
"no-examples-in-scenarios": "on",
"new-line-at-eof": ["on", "yes"]
}
+2
View File
@@ -0,0 +1,2 @@
# Primary donations pages.
custom: ["https://moodle.com/donations/", moodle.org]
+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/>.
/**
* Template configuraton file for github actions CI/CD.
*
* @package core
* @copyright 2020 onwards Eloy Lafuente (stronk7) {@link https://stronk7.com}
* @license https://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
*/
// This cannot be used out from a github actions workflow, so just exit.
getenv('GITHUB_WORKFLOW') || die; // phpcs:ignore moodle.Files.MoodleInternal.MoodleInternalGlobalState
unset($CFG);
global $CFG;
$CFG = new stdClass();
$CFG->dbtype = getenv('dbtype');
$CFG->dblibrary = 'native';
$CFG->dbhost = '127.0.0.1';
$CFG->dbname = 'test';
$CFG->dbuser = 'test';
$CFG->dbpass = 'test';
$CFG->prefix = 'm_';
$CFG->dboptions = ['dbcollation' => 'utf8mb4_bin'];
$host = 'localhost';
$CFG->wwwroot = "http://{$host}";
$CFG->dataroot = realpath(dirname(__DIR__)) . '/moodledata';
$CFG->admin = 'admin';
$CFG->directorypermissions = 0777;
// Debug options - possible to be controlled by flag in future.
$CFG->debug = (E_ALL | E_STRICT); // DEBUG_DEVELOPER.
$CFG->debugdisplay = 1;
$CFG->debugstringids = 1; // Add strings=1 to url to get string ids.
$CFG->perfdebug = 15;
$CFG->debugpageinfo = 1;
$CFG->allowthemechangeonurl = 1;
$CFG->passwordpolicy = 0;
$CFG->cronclionly = 0;
$CFG->pathtophp = getenv('pathtophp');
$CFG->phpunit_dataroot = realpath(dirname(__DIR__)) . '/phpunitdata';
$CFG->phpunit_prefix = 't_';
define('TEST_EXTERNAL_FILES_HTTP_URL', 'http://localhost:8080');
define('TEST_EXTERNAL_FILES_HTTPS_URL', 'http://localhost:8080');
define('TEST_SESSION_REDIS_HOST', 'localhost');
define('TEST_CACHESTORE_REDIS_TESTSERVERS', 'localhost');
// TODO: add others (solr, mongodb, memcached, ldap...).
// Too much for now: define('PHPUNIT_LONGTEST', true); // Only leaves a few tests out and they are run later by CI.
require_once(__DIR__ . '/lib/setup.php');
+117
View File
@@ -0,0 +1,117 @@
name: Core
on:
push:
branches-ignore:
- master
- MOODLE_[0-9]+_STABLE
tags-ignore:
- v[0-9]+.[0-9]+.[0-9]+*
env:
php: 8.0
jobs:
Grunt:
runs-on: ubuntu-22.04
steps:
- name: Checking out code
uses: actions/checkout@v3
- name: Configuring node & npm
uses: actions/setup-node@v3
with:
node-version-file: '.nvmrc'
- name: Installing node stuff
run: npm install
- 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 }}
services:
exttests:
image: moodlehq/moodle-exttests
ports:
- 8080:80
redis:
image: redis
ports:
- 6379:6379
strategy:
fail-fast: false
matrix:
include:
- os: ubuntu-22.04
php: 7.3
extensions:
db: mysqli
- os: ubuntu-22.04
php: 8.0
db: pgsql
extensions: xmlrpc-beta
steps:
- name: Setting up DB mysql
if: ${{ matrix.db == 'mysqli' }}
uses: moodlehq/mysql-action@v1
with:
collation server: utf8mb4_bin
mysql version: 5.7
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: 9.6
postgresql db: test
postgresql user: test
postgresql password: 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: Checking out code from ${{ env.GITHUB_REF_SLUG }}
uses: actions/checkout@v3
- name: Setting up PHPUnit
env:
dbtype: ${{ matrix.db }}
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
sudo locale-gen en_AU.UTF-8
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
+9
View File
@@ -26,6 +26,7 @@
/cscope.*
/.patches/
/.idea/
.phpstorm.*
/nbproject/
CVS
.DS_Store
@@ -33,6 +34,7 @@ CVS
/.project
/.buildpath
/.cache
.phpunit.result.cache
phpunit.xml
# Composer support. Do not ignore composer.json, or composer.lock. These should be shipped by us.
composer.phar
@@ -44,3 +46,10 @@ composer.phar
/lib/yuilib/*/*/*-coverage.js
atlassian-ide-plugin.xml
/node_modules/
/.vscode/
moodle-plugin-ci.phar
.eslintignore
.stylelintignore
/jsdoc
phpcs.xml
jsconfig.json
+169
View File
@@ -0,0 +1,169 @@
// 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 is a babel plugin to add the Moodle module names to the AMD modules
* as part of the transpiling process.
*
* In addition it will also add a return statement for the default export if the
* module is using default exports. This is a highly specific Moodle thing because
* we're transpiling to AMD and none of the existing Babel 7 plugins work correctly.
*
* This will fix the issue where an ES6 module using "export default Foo" will be
* transpiled into an AMD module that returns {default: Foo}; Instead it will now
* just simply return Foo.
*
* Note: This means all other named exports in that module are ignored and won't be
* exported.
*
* @copyright 2018 Ryan Wyllie <ryan@moodle.com>
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
*/
"use strict";
/* eslint-env node */
module.exports = ({template, types}) => {
const fs = require('fs');
const path = require('path');
const cwd = process.cwd();
const ComponentList = require(path.join(process.cwd(), '.grunt', 'components.js'));
/**
* Search the list of components that match the given file name
* and return the Moodle component for that file, if found.
*
* Throw an exception if no matching component is found.
*
* @throws {Error}
* @param {string} searchFileName The file name to look for.
* @return {string} Moodle component
*/
function getModuleNameFromFileName(searchFileName) {
searchFileName = fs.realpathSync(searchFileName);
const relativeFileName = searchFileName.replace(`${cwd}${path.sep}`, '').replace(/\\/g, '/');
const [componentPath, file] = relativeFileName.split('/amd/src/');
const fileName = file.replace('.js', '');
// Check subsystems first which require an exact match.
const componentName = ComponentList.getComponentFromPath(componentPath);
if (componentName) {
return `${componentName}/${fileName}`;
}
// This matches the previous PHP behaviour that would throw an exception
// if it couldn't parse an AMD file.
throw new Error(`Unable to find module name for ${searchFileName} (${componentPath}::${file}}`);
}
/**
* This is heavily inspired by the babel-plugin-add-module-exports plugin.
* See: https://github.com/59naga/babel-plugin-add-module-exports
*
* This is used when we detect a module using "export default Foo;" to make
* sure the transpiled code just returns Foo directly rather than an object
* with the default property (i.e. {default: Foo}).
*
* Note: This means that we can't support modules that combine named exports
* with a default export.
*
* @param {String} path
* @param {String} exportObjectName
*/
function addModuleExportsDefaults(path, exportObjectName) {
const rootPath = path.findParent(path => {
return path.key === 'body' || !path.parentPath;
});
// HACK: `path.node.body.push` instead of path.pushContainer(due doesn't work in Plugin.post).
// This is hardcoded to work specifically with AMD.
rootPath.node.body.push(template(`return ${exportObjectName}.default`)());
}
return {
pre() {
this.seenDefine = false;
this.addedReturnForDefaultExport = false;
},
visitor: {
// Plugin ordering is only respected if we visit the "Program" node.
// See: https://babeljs.io/docs/en/plugins.html#plugin-preset-ordering
//
// We require this to run after the other AMD module transformation so
// let's visit the "Program" node.
Program: {
exit(path) {
path.traverse({
CallExpression(path) {
// If we find a "define" function call.
if (!this.seenDefine && path.get('callee').isIdentifier({name: 'define'})) {
// We only want to modify the first instance of define that we find.
this.seenDefine = true;
// Get the Moodle component for the file being processed.
var moduleName = getModuleNameFromFileName(this.file.opts.filename);
// The function signature of `define()` is:
// define = function (name, deps, callback) {...}
// Ensure that if the moduel supplied its own name that it is replaced.
if (path.node.arguments.length > 0) {
// Ensure that there is only one name.
if (path.node.arguments[0].type === 'StringLiteral') {
// eslint-disable-next-line
console.log(`Replacing module name '${path.node.arguments[0].extra.rawValue}' with ${moduleName}`);
path.node.arguments.shift();
}
}
// Add the module name as the first argument to the define function.
path.node.arguments.unshift(types.stringLiteral(moduleName));
// Add a space after the define function in the built file so that previous versions
// of Moodle will not try to add the module name to the file when it's being served
// by PHP. This forces the regex in PHP to not match for this file.
path.node.callee.name = 'define ';
}
// Check for any Object.defineProperty('exports', 'default') calls.
if (!this.addedReturnForDefaultExport && path.get('callee').matchesPattern('Object.defineProperty')) {
const [identifier, prop] = path.get('arguments');
const objectName = identifier.get('name').node;
const propertyName = prop.get('value').node;
if ((objectName === 'exports' || objectName === '_exports') && propertyName === 'default') {
addModuleExportsDefaults(path, objectName);
this.addedReturnForDefaultExport = true;
}
}
},
AssignmentExpression(path) {
// Check for an exports.default assignments.
if (
!this.addedReturnForDefaultExport &&
(
path.get('left').matchesPattern('exports.default') ||
path.get('left').matchesPattern('_exports.default')
)
) {
const objectName = path.get('left.object.name').node;
addModuleExportsDefaults(path, objectName);
this.addedReturnForDefaultExport = true;
}
}
}, this);
}
}
}
};
};
+244
View File
@@ -0,0 +1,244 @@
// 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 functions for working with Moodle component names, directories, and sources.
*
* @copyright 2019 Andrew Nicols <andrew@nicols.co.uk>
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
*/
"use strict";
/* eslint-env node */
/** @var {Object} A list of subsystems in Moodle */
const componentData = {};
/**
* Load details of all moodle modules.
*
* @returns {object}
*/
const fetchComponentData = () => {
const fs = require('fs');
const path = require('path');
const glob = require('glob');
const gruntFilePath = process.cwd();
if (!Object.entries(componentData).length) {
componentData.subsystems = {};
componentData.pathList = [];
// Fetch the component definiitions from the distributed JSON file.
const components = JSON.parse(fs.readFileSync(`${gruntFilePath}/lib/components.json`));
// Build the list of moodle subsystems.
componentData.subsystems.lib = 'core';
componentData.pathList.push(process.cwd() + path.sep + 'lib');
for (const [component, thisPath] of Object.entries(components.subsystems)) {
if (thisPath) {
// Prefix "core_" to the front of the subsystems.
componentData.subsystems[thisPath] = `core_${component}`;
componentData.pathList.push(process.cwd() + path.sep + thisPath);
}
}
// The list of components incldues the list of subsystems.
componentData.components = componentData.subsystems;
// Go through each of the plugintypes.
Object.entries(components.plugintypes).forEach(([pluginType, pluginTypePath]) => {
// We don't allow any code in this place..?
glob.sync(`${pluginTypePath}/*/version.php`).forEach(versionPath => {
const componentPath = fs.realpathSync(path.dirname(versionPath));
const componentName = path.basename(componentPath);
const frankenstyleName = `${pluginType}_${componentName}`;
componentData.components[`${pluginTypePath}/${componentName}`] = frankenstyleName;
componentData.pathList.push(componentPath);
// Look for any subplugins.
const subPluginConfigurationFile = `${componentPath}/db/subplugins.json`;
if (fs.existsSync(subPluginConfigurationFile)) {
const subpluginList = JSON.parse(fs.readFileSync(fs.realpathSync(subPluginConfigurationFile)));
Object.entries(subpluginList.plugintypes).forEach(([subpluginType, subpluginTypePath]) => {
glob.sync(`${subpluginTypePath}/*/version.php`).forEach(versionPath => {
const componentPath = fs.realpathSync(path.dirname(versionPath));
const componentName = path.basename(componentPath);
const frankenstyleName = `${subpluginType}_${componentName}`;
componentData.components[`${subpluginTypePath}/${componentName}`] = frankenstyleName;
componentData.pathList.push(componentPath);
});
});
}
});
});
}
return componentData;
};
/**
* Get the list of component paths.
*
* @param {string} relativeTo
* @returns {array}
*/
const getComponentPaths = (relativeTo = '') => fetchComponentData().pathList.map(componentPath => {
return componentPath.replace(relativeTo, '');
});
/**
* Get the list of paths to build AMD sources.
*
* @returns {Array}
*/
const getAmdSrcGlobList = () => {
const globList = [];
fetchComponentData().pathList.forEach(componentPath => {
globList.push(`${componentPath}/amd/src/*.js`);
globList.push(`${componentPath}/amd/src/**/*.js`);
});
return globList;
};
/**
* Get the list of paths to build YUI sources.
*
* @param {String} relativeTo
* @returns {Array}
*/
const getYuiSrcGlobList = relativeTo => {
const globList = [];
fetchComponentData().pathList.forEach(componentPath => {
const relativeComponentPath = componentPath.replace(relativeTo, '');
globList.push(`${relativeComponentPath}/yui/src/**/*.js`);
});
return globList;
};
/**
* Get the list of paths to thirdpartylibs.xml.
*
* @param {String} relativeTo
* @returns {Array}
*/
const getThirdPartyLibsList = relativeTo => {
const fs = require('fs');
const path = require('path');
return fetchComponentData().pathList
.map(componentPath => path.relative(relativeTo, componentPath) + '/thirdpartylibs.xml')
.map(componentPath => componentPath.replace(/\\/g, '/'))
.filter(path => fs.existsSync(path))
.sort();
};
/**
* Get the list of thirdparty library paths.
*
* @returns {array}
*/
const getThirdPartyPaths = () => {
const DOMParser = require('@xmldom/xmldom').DOMParser;
const fs = require('fs');
const path = require('path');
const xpath = require('xpath');
const thirdpartyfiles = getThirdPartyLibsList(fs.realpathSync('./'));
const libs = ['node_modules/', 'vendor/'];
const addLibToList = lib => {
if (!lib.match('\\*') && fs.statSync(lib).isDirectory()) {
// Ensure trailing slash on dirs.
lib = lib.replace(/\/?$/, '/');
}
// Look for duplicate paths before adding to array.
if (libs.indexOf(lib) === -1) {
libs.push(lib);
}
};
thirdpartyfiles.forEach(function(file) {
const dirname = path.dirname(file);
const xmlContent = fs.readFileSync(file, 'utf8');
const doc = new DOMParser().parseFromString(xmlContent);
const nodes = xpath.select("/libraries/library/location/text()", doc);
nodes.forEach(function(node) {
let lib = path.posix.join(dirname, node.toString());
addLibToList(lib);
});
});
return libs;
};
/**
* Find the name of the component matching the specified path.
*
* @param {String} path
* @returns {String|null} Name of matching component.
*/
const getComponentFromPath = path => {
const componentList = fetchComponentData().components;
if (componentList.hasOwnProperty(path)) {
return componentList[path];
}
return null;
};
/**
* Check whether the supplied path, relative to the Gruntfile.js, is in a known component.
*
* @param {String} checkPath The path to check. This can be with either Windows, or Linux directory separators.
* @returns {String|null}
*/
const getOwningComponentDirectory = checkPath => {
const path = require('path');
// Fetch all components into a reverse sorted array.
// This ensures that components which are within the directory of another component match first.
const pathList = Object.keys(fetchComponentData().components).sort().reverse();
for (const componentPath of pathList) {
// If the componentPath is the directory being checked, it will be empty.
// If the componentPath is a parent of the directory being checked, the relative directory will not start with ..
if (!path.relative(componentPath, checkPath).startsWith('..')) {
return componentPath;
}
}
return null;
};
module.exports = {
fetchComponentData,
getAmdSrcGlobList,
getComponentFromPath,
getComponentPaths,
getOwningComponentDirectory,
getYuiSrcGlobList,
getThirdPartyLibsList,
getThirdPartyPaths,
};
+19
View File
@@ -0,0 +1,19 @@
# Moodle JavaScript Documentation
```
.-..-.
_____ | || |
/____/-.---_ .---. .---. .-.| || | .---.
| | _ _ |/ _ \/ _ \/ _ || |/ __ \
* | | | | | || |_| || |_| || |_| || || |___/
|_| |_| |_|\_____/\_____/\_____||_|\_____)
Moodle - the world's open source learning platform
```
## About
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.
+131
View File
@@ -0,0 +1,131 @@
// 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 functions for working with Moodle component names, directories, and sources.
*
* @copyright 2019 Andrew Nicols <andrew@nicols.co.uk>
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
*/
"use strict";
/* eslint-env node */
// Do not include any plugins as stanard.
const plugins = [];
plugins.push('plugins/markdown');
/**
* Get the source configuration.
*
* @return {Object}
*/
const getSource = () => {
const glob = require('glob');
const path = require('path');
const ComponentList = require(path.resolve('.grunt/components.js'));
const thirdPartyPaths = ComponentList.getThirdPartyPaths();
const source = {
include: [],
includePattern: ".+\\.js$",
};
let includeList = [];
ComponentList.getAmdSrcGlobList().forEach(async pattern => {
includeList.push(...glob.sync(pattern));
});
const cwdLength = process.cwd().length + 1;
includeList.forEach(path => {
if (source.include.indexOf(path) !== -1) {
// Ensure no duplicates.
return;
}
const relPath = path.substring(cwdLength);
if (thirdPartyPaths.indexOf(relPath) !== -1) {
return;
}
source.include.push(path);
});
source.include.push('.grunt/jsdoc/README.md');
return source;
};
const tags = {
// Allow the use of unknown tags.
// We have a lot of legacy uses of these.
allowUnknownTags: true,
// We make use of jsdoc and closure dictionaries as standard.
dictionaries: [
'jsdoc',
'closure',
],
};
// Template configuraiton.
const templates = {
cleverLinks: false,
monospaceLinks: false,
};
module.exports = {
opts: {
destination: "./jsdoc/",
template: "node_modules/docdash",
},
plugins,
recurseDepth: 10,
source: getSource(),
sourceType: 'module',
tags,
templates,
docdash: {
collapse: true,
search: true,
sort: true,
sectionOrder: [
"Namespaces",
"Modules",
"Events",
"Classes",
"Externals",
"Mixins",
"Tutorials",
"Interfaces"
],
"menu": {
"Developer Docs": {
href: "https://docs.moodle.org/dev",
target: "_blank",
"class": "menu-item",
id: "devdocs"
},
"MDN Docs": {
href: "https://developer.mozilla.org/en-US/docs/Web/JavaScript",
target: "_blank",
"class": "menu-item",
id: "mdndocs",
},
},
typedefs: true,
},
};
+64
View File
@@ -0,0 +1,64 @@
// 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 2021 Andrew Nicols
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
*/
module.exports = grunt => {
const files = grunt.moodleEnv.files;
// Project configuration.
grunt.config.merge({
eslint: {
// Even though warnings dont stop the build we don't display warnings by default because
// at this moment we've got too many core warnings.
// To display warnings call: grunt eslint --show-lint-warnings
// To fail on warnings call: grunt eslint --max-lint-warnings=0
// Also --max-lint-warnings=-1 can be used to display warnings but not fail.
options: {
quiet: (!grunt.option('show-lint-warnings')) && (typeof grunt.option('max-lint-warnings') === 'undefined'),
maxWarnings: ((typeof grunt.option('max-lint-warnings') !== 'undefined') ? grunt.option('max-lint-warnings') : -1)
},
// Check AMD src files.
amd: {src: files ? files : grunt.moodleEnv.amdSrc},
// Check YUI module source files.
yui: {src: files ? files : grunt.moodleEnv.yuiSrc},
},
});
grunt.loadNpmTasks('grunt-eslint');
// On watch, we dynamically modify config to build only affected files. This
// method is slightly complicated to deal with multiple changed files at once (copied
// from the grunt-contrib-watch readme).
let changedFiles = Object.create(null);
const onChange = grunt.util._.debounce(function() {
const files = Object.keys(changedFiles);
grunt.config('eslint.amd.src', files);
grunt.config('eslint.yui.src', files);
changedFiles = Object.create(null);
}, 200);
grunt.event.on('watch', (action, filepath) => {
changedFiles[filepath] = action;
onChange();
});
};
+89
View File
@@ -0,0 +1,89 @@
// 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 2021 Andrew Nicols
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
*/
module.exports = grunt => {
/**
* Get the list of feature files to pass to the gherkin linter.
*
* @returns {Array}
*/
const getGherkinLintTargets = () => {
if (grunt.moodleEnv.files) {
// Specific files were requested. Only check these.
return grunt.moodleEnv.files;
}
if (grunt.moodleEnv.inComponent) {
return [`${grunt.moodleEnv.runDir}/tests/behat/*.feature`];
}
return ['**/tests/behat/*.feature'];
};
const handler = function() {
const done = this.async();
const options = grunt.config('gherkinlint.options');
// Grab the gherkin-lint linter and required scaffolding.
const linter = require('gherkin-lint/dist/linter.js');
const featureFinder = require('gherkin-lint/dist/feature-finder.js');
const configParser = require('gherkin-lint/dist/config-parser.js');
const formatter = require('gherkin-lint/dist/formatters/stylish.js');
// Run the linter.
return linter.lint(
featureFinder.getFeatureFiles(grunt.file.expand(options.files)),
configParser.getConfiguration(configParser.defaultConfigFileName)
)
.then(results => {
// Print the results out uncondtionally.
formatter.printResults(results);
return results;
})
.then(results => {
// Report on the results.
// The done function takes a bool whereby a falsey statement causes the task to fail.
return results.every(result => result.errors.length === 0);
})
.then(done); // eslint-disable-line promise/no-callback-in-promise
};
grunt.registerTask('gherkinlint', 'Run gherkinlint against the current directory', handler);
grunt.config.set('gherkinlint', {
options: {
files: getGherkinLintTargets(),
}
});
grunt.config.merge({
watch: {
gherkinlint: {
files: [grunt.moodleEnv.inComponent ? 'tests/behat/*.feature' : '**/tests/behat/*.feature'],
tasks: ['gherkinlint'],
},
},
});
return handler;
};
+99
View File
@@ -0,0 +1,99 @@
// 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 2021 Andrew Nicols
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
*/
module.exports = grunt => {
/**
* Generate the PHPCS configuration.
*
* @param {Object} thirdPartyPaths
*/
const phpcsIgnore = (thirdPartyPaths) => {
const {toXML} = require('jstoxml');
const config = {
_name: 'ruleset',
_attrs: {
name: "MoodleCore",
},
_content: [
{
rule: {
_attrs: {
ref: './phpcs.xml.dist',
},
},
},
],
};
thirdPartyPaths.forEach(library => {
config._content.push({
'exclude-pattern': library,
});
});
grunt.file.write('phpcs.xml', toXML(config, {
header: true,
indent: ' ',
}) + "\n");
};
/**
* Generate ignore files (utilising thirdpartylibs.xml data)
*/
const handler = function() {
const path = require('path');
const ComponentList = require(path.join(process.cwd(), '.grunt', 'components.js'));
// An array of paths to third party directories.
const thirdPartyPaths = ComponentList.getThirdPartyPaths();
// Generate .eslintignore.
const eslintIgnores = [
'# Generated by "grunt ignorefiles"',
// Do not ignore the .grunt directory.
'!/.grunt',
// Ignore all yui/src meta directories and build directories.
'*/**/yui/src/*/meta/',
'*/**/build/',
].concat(thirdPartyPaths);
grunt.file.write('.eslintignore', eslintIgnores.join('\n') + '\n');
// Generate .stylelintignore.
const stylelintIgnores = [
'# Generated by "grunt ignorefiles"',
'**/yui/build/*',
'theme/boost/style/moodle.css',
'theme/classic/style/moodle.css',
'jsdoc/styles/*.css',
].concat(thirdPartyPaths);
grunt.file.write('.stylelintignore', stylelintIgnores.join('\n') + '\n');
phpcsIgnore(thirdPartyPaths);
};
grunt.registerTask('ignorefiles', 'Generate ignore files for linters', handler);
return handler;
};
+224
View File
@@ -0,0 +1,224 @@
// 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 2021 Andrew Nicols
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
*/
/**
* Function to generate the destination for the uglify 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
*
* @param {String} destPath the current destination
* @param {String} srcPath the matched src path
* @return {String} The rewritten destination path.
*/
const babelRename = function(destPath, srcPath) {
destPath = srcPath.replace(`amd/src`, `amd/build`);
destPath = destPath.replace(/\.js$/, '.min.js');
return destPath;
};
module.exports = grunt => {
// Load the Ignorefiles tasks.
require('./ignorefiles')(grunt);
// Load the Shifter tasks.
require('./shifter')(grunt);
// Load ESLint.
require('./eslint')(grunt);
// Load jsconfig.
require('./jsconfig')(grunt);
// Load JSDoc.
require('./jsdoc')(grunt);
const path = require('path');
// Register JS tasks.
grunt.registerTask('yui', ['eslint:yui', 'shifter']);
grunt.registerTask('amd', ['ignorefiles', 'eslint:amd', 'rollup']);
grunt.registerTask('js', ['amd', 'yui']);
// Register NPM tasks.
grunt.loadNpmTasks('grunt-contrib-uglify');
grunt.loadNpmTasks('grunt-contrib-watch');
grunt.loadNpmTasks('grunt-rollup');
const babelTransform = require('@babel/core').transform;
const babel = (options = {}) => {
return {
name: 'babel',
transform: (code, id) => {
grunt.log.debug(`Transforming ${id}`);
options.filename = id;
const transformed = babelTransform(code, options);
return {
code: transformed.code,
map: transformed.map
};
}
};
};
// Note: We have to use a rate limit plugin here because rollup runs all tasks asynchronously and in parallel.
// When we kick off a full run, if we kick off a rollup of every file this will fork-bomb the machine.
// To work around this we use a concurrent Promise queue based on the number of available processors.
const rateLimit = () => {
const queue = [];
let queueRunner;
const startQueue = () => {
if (queueRunner) {
return;
}
queueRunner = setTimeout(() => {
const limit = Math.max(1, require('os').cpus().length / 2);
grunt.log.debug(`Starting rollup with queue size of ${limit}`);
runQueue(limit);
}, 100);
};
// The queue runner will run the next `size` items in the queue.
const runQueue = (size = 1) => {
queue.splice(0, size).forEach(resolve => {
resolve();
});
};
return {
name: 'ratelimit',
// The options hook is run in parallel.
// We can return an unresolved Promise which is queued for later resolution.
options: async() => {
return new Promise(resolve => {
queue.push(resolve);
startQueue();
});
},
// When an item in the queue completes, start the next item in the queue.
buildEnd: () => {
runQueue();
},
};
};
const terser = require('rollup-plugin-terser').terser;
grunt.config.merge({
rollup: {
options: {
format: 'esm',
dir: 'output',
sourcemap: true,
treeshake: false,
context: 'window',
plugins: [
rateLimit(),
babel({
sourceMaps: true,
comments: false,
compact: false,
plugins: [
'transform-es2015-modules-amd-lazy',
'system-import-transformer',
// This plugin modifies the Babel transpiling for "export default"
// so that if it's used then only the exported value is returned
// by the generated AMD module.
//
// 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'
],
presets: [
['@babel/preset-env', {
targets: {
browsers: [
">0.25%",
"last 2 versions",
"not ie <= 10",
"not op_mini all",
"not Opera > 0",
"not dead"
]
},
modules: false,
useBuiltIns: false
}]
]
}),
terser({
// Do not mangle variables.
// Makes debugging easier.
mangle: false,
}),
],
},
dist: {
files: [{
expand: true,
src: grunt.moodleEnv.files ? grunt.moodleEnv.files : grunt.moodleEnv.amdSrc,
rename: babelRename
}],
},
},
});
grunt.config.merge({
watch: {
amd: {
files: grunt.moodleEnv.inComponent
? ['amd/src/*.js', 'amd/src/**/*.js']
: ['**/amd/src/**/*.js'],
tasks: ['amd']
},
},
});
// On watch, we dynamically modify config to build only affected files. This
// method is slightly complicated to deal with multiple changed files at once (copied
// from the grunt-contrib-watch readme).
let changedFiles = Object.create(null);
const onChange = grunt.util._.debounce(function() {
const files = Object.keys(changedFiles);
grunt.config('rollup.dist.files', [{expand: true, src: files, rename: babelRename}]);
changedFiles = Object.create(null);
}, 200);
grunt.event.on('watch', function(action, filepath) {
changedFiles[filepath] = action;
onChange();
});
return {
babelRename,
};
};
+53
View File
@@ -0,0 +1,53 @@
// 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 2022 Andrew Lyons <andrew@nicols.co.uk>
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
*/
const configuration = {
compilerOptions: {
baseUrl: ".",
paths: {
},
target: "es2015",
allowSyntheticDefaultImports: false,
},
exclude: [
"node_modules",
],
include: [],
};
module.exports = (grunt) => {
const handler = () => {
const jsconfigData = Object.assign({}, configuration);
const path = require('path');
const {fetchComponentData} = require(path.join(process.cwd(), '.grunt', 'components.js'));
const componentData = fetchComponentData().components;
for (const [thisPath, component] of Object.entries(componentData)) {
jsconfigData.compilerOptions.paths[`${component}/*`] = [`${thisPath}/amd/src/*`];
jsconfigData.include.push(`${thisPath}/amd/src/**/*`);
}
grunt.file.write('jsconfig.json', JSON.stringify(jsconfigData, null, " ") + "\n");
};
grunt.registerTask('jsconfig', 'Generate a jsconfig configuration compatible with the LSP', handler);
};
+36
View File
@@ -0,0 +1,36 @@
// 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 2021 Andrew Nicols
* @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",
},
},
},
});
grunt.loadNpmTasks('grunt-jsdoc');
};
+40
View File
@@ -0,0 +1,40 @@
// 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 2021 Andrew Nicols
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
*/
module.exports = grunt => {
grunt.loadNpmTasks('grunt-sass');
grunt.config.merge({
sass: {
dist: {
files: {
"theme/boost/style/moodle.css": "theme/boost/scss/preset/default.scss",
"theme/classic/style/moodle.css": "theme/classic/scss/classicgrunt.scss"
}
},
options: {
implementation: require('node-sass'),
includePaths: ["theme/boost/scss/", "theme/classic/scss/"]
}
},
});
};
+155
View File
@@ -0,0 +1,155 @@
// 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 2021 Andrew Nicols
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
*/
/* eslint-env node */
module.exports = grunt => {
/**
* Shifter task. Is configured with a path to a specific file or a directory,
* in the case of a specific file it will work out the right module to be built.
*
* Note that this task runs the invidiaul shifter jobs async (becase it spawns
* so be careful to to call done().
*/
const handler = function() {
const done = this.async();
const options = grunt.config('shifter.options');
const async = require('async');
const path = require('path');
// Run the shifter processes one at a time to avoid confusing output.
async.eachSeries(options.paths, function(src, filedone) {
var args = [];
args.push(path.normalize(process.cwd() + '/node_modules/shifter/bin/shifter'));
// Always ignore the node_modules directory.
args.push('--excludes', 'node_modules');
// Determine the most appropriate options to run with based upon the current location.
if (grunt.file.isMatch('**/yui/**/*.js', src)) {
// When passed a JS file, build our containing module (this happen with
// watch).
grunt.log.debug('Shifter passed a specific JS file');
src = path.dirname(path.dirname(src));
options.recursive = false;
} else if (grunt.file.isMatch('**/yui/src', src)) {
// When in a src directory --walk all modules.
grunt.log.debug('In a src directory');
args.push('--walk');
options.recursive = false;
} else if (grunt.file.isMatch('**/yui/src/*', src)) {
// When in module, only build our module.
grunt.log.debug('In a module directory');
options.recursive = false;
} else if (grunt.file.isMatch('**/yui/src/*/js', src)) {
// When in module src, only build our module.
grunt.log.debug('In a source directory');
src = path.dirname(src);
options.recursive = false;
}
if (grunt.option('watch')) {
grunt.fail.fatal('The --watch option has been removed, please use `grunt watch` instead');
}
// Add the stderr option if appropriate
if (grunt.option('verbose')) {
args.push('--lint-stderr');
}
if (grunt.option('no-color')) {
args.push('--color=false');
}
var execShifter = function() {
grunt.log.ok("Running shifter on " + src);
grunt.util.spawn({
cmd: "node",
args: args,
opts: {cwd: src, stdio: 'inherit', env: process.env}
}, function(error, result, code) {
if (code) {
grunt.fail.fatal('Shifter failed with code: ' + code);
} else {
grunt.log.ok('Shifter build complete.');
filedone();
}
});
};
// Actually run shifter.
if (!options.recursive) {
execShifter();
} else {
// Check that there are yui modules otherwise shifter ends with exit code 1.
if (grunt.file.expand({cwd: src}, '**/yui/src/**/*.js').length > 0) {
args.push('--recursive');
execShifter();
} else {
grunt.log.ok('No YUI modules to build.');
filedone();
}
}
}, done);
};
// Register the shifter task.
grunt.registerTask('shifter', 'Run Shifter against the current directory', handler);
// Configure it.
grunt.config.set('shifter', {
options: {
recursive: true,
// Shifter takes a relative path.
paths: grunt.moodleEnv.files ? grunt.moodleEnv.files : [grunt.moodleEnv.runDir]
}
});
grunt.config.merge({
watch: {
yui: {
files: grunt.moodleEnv.inComponent
? ['yui/src/*.json', 'yui/src/**/*.js']
: ['**/yui/src/**/*.js'],
tasks: ['yui']
},
},
});
// On watch, we dynamically modify config to build only affected files. This
// method is slightly complicated to deal with multiple changed files at once (copied
// from the grunt-contrib-watch readme).
let changedFiles = Object.create(null);
const onChange = grunt.util._.debounce(function() {
const files = Object.keys(changedFiles);
grunt.config('shifter.options.paths', files);
changedFiles = Object.create(null);
}, 200);
grunt.event.on('watch', (action, filepath) => {
changedFiles[filepath] = action;
onChange();
});
return handler;
};
+48
View File
@@ -0,0 +1,48 @@
// 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 2021 Andrew Nicols
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
*/
module.exports = grunt => {
/**
* Generate ignore files (utilising thirdpartylibs.xml data)
*/
const handler = function() {
const path = require('path');
// Are we in a YUI directory?
if (path.basename(path.resolve(grunt.moodleEnv.cwd, '../../')) == 'yui') {
grunt.task.run('yui');
// Are we in an AMD directory?
} else if (grunt.moodleEnv.inAMD) {
grunt.task.run('amd');
} else {
// Run them all!.
grunt.task.run('css');
grunt.task.run('js');
grunt.task.run('gherkinlint');
}
};
// Register the startup task.
grunt.registerTask('startup', 'Run the correct tasks for the current directory', handler);
return handler;
};
+32
View File
@@ -0,0 +1,32 @@
// 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 2021 Andrew Nicols
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
*/
module.exports = grunt => {
// Load the ignorefiles tasks.
require('./ignorefiles')(grunt);
// Load the Style Lint tasks.
require('./stylelint')(grunt);
// Load the SASS tasks.
require('./sass')(grunt);
};
+183
View File
@@ -0,0 +1,183 @@
// 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 2021 Andrew Nicols
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
*/
module.exports = grunt => {
const getCssConfigForFiles = files => {
return {
stylelint: {
css: {
// Use a fully-qualified path.
src: files,
options: {
configOverrides: {
rules: {
// These rules have to be disabled in .stylelintrc for scss compat.
"at-rule-no-unknown": true,
}
}
}
},
},
};
};
const getScssConfigForFiles = files => {
return {
stylelint: {
scss: {
options: {syntax: 'scss'},
src: files,
},
},
};
};
/**
* Register any stylelint tasks.
*
* @param {Object} grunt
* @param {Array} files
* @param {String} fullRunDir
*/
const registerStyleLintTasks = () => {
const glob = require('glob');
// The stylelinters do not handle the case where a configuration was provided but no files were included.
// Keep track of whether any files were found.
let hasCss = false;
let hasScss = false;
// The stylelint processors do not take a path argument. They always check all provided values.
// As a result we must check through each glob and determine if any files match the current directory.
const scssFiles = [];
const cssFiles = [];
const requestedFiles = grunt.moodleEnv.files;
if (requestedFiles) {
// Grunt was called with a files argument.
// Check whether each of the requested files matches either the CSS or SCSS source file list.
requestedFiles.forEach(changedFilePath => {
let matchesGlob;
// Check whether this watched path matches any watched SCSS file.
matchesGlob = grunt.moodleEnv.scssSrc.some(watchedPathGlob => {
return glob.sync(watchedPathGlob).indexOf(changedFilePath) !== -1;
});
if (matchesGlob) {
scssFiles.push(changedFilePath);
hasScss = true;
}
// Check whether this watched path matches any watched CSS file.
matchesGlob = grunt.moodleEnv.cssSrc.some(watchedPathGlob => {
return glob.sync(watchedPathGlob).indexOf(changedFilePath) !== -1;
});
if (matchesGlob) {
cssFiles.push(changedFilePath);
hasCss = true;
}
});
} else {
// Grunt was called without a list of files.
// The start directory (runDir) may be a child dir of the project.
// Check each scssSrc file to see if it's in the start directory.
// This means that we can lint just mod/*/styles.css if started in the mod directory.
grunt.moodleEnv.scssSrc.forEach(path => {
if (path.startsWith(grunt.moodleEnv.runDir)) {
scssFiles.push(path);
hasScss = true;
}
});
grunt.moodleEnv.cssSrc.forEach(path => {
if (path.startsWith(grunt.moodleEnv.runDir)) {
cssFiles.push(path);
hasCss = true;
}
});
}
// Register the tasks.
const scssTasks = ['sass'];
if (hasScss) {
grunt.config.merge(getScssConfigForFiles(scssFiles));
scssTasks.unshift('stylelint:scss');
}
scssTasks.unshift('ignorefiles');
const cssTasks = ['ignorefiles'];
if (hasCss) {
grunt.config.merge(getCssConfigForFiles(cssFiles));
cssTasks.push('stylelint:css');
}
// The tasks must be registered, even if empty to ensure a consistent command list.
// They jsut won't run anything.
grunt.registerTask('scss', scssTasks);
grunt.registerTask('rawcss', cssTasks);
};
// Register CSS tasks.
grunt.loadNpmTasks('grunt-stylelint');
// Register the style lint tasks.
registerStyleLintTasks();
grunt.registerTask('css', ['scss', 'rawcss']);
const getCoreThemeMatches = () => {
const scssMatch = 'scss/**/*.scss';
if (grunt.moodleEnv.inTheme) {
return [scssMatch];
}
if (grunt.moodleEnv.runDir.startsWith('theme')) {
return [`*/${scssMatch}`];
}
return [`theme/*/${scssMatch}`];
};
// Add the watch configuration for rawcss, and scss.
grunt.config.merge({
watch: {
rawcss: {
files: [
'**/*.css',
],
excludes: [
'**/moodle.css',
'**/editor.css',
'jsdoc/styles/*.css',
],
tasks: ['rawcss']
},
scss: {
files: getCoreThemeMatches(),
tasks: ['scss']
},
},
});
};
+272
View File
@@ -0,0 +1,272 @@
/**
* This is a wrapper task to handle the grunt watch command. It attempts to use
* Watchman to monitor for file changes, if it's installed, because it's much faster.
*
* If Watchman isn't installed then it falls back to the grunt-contrib-watch file
* watcher for backwards compatibility.
*/
/* eslint-env node */
module.exports = grunt => {
/**
* This is a wrapper task to handle the grunt watch command. It attempts to use
* Watchman to monitor for file changes, if it's installed, because it's much faster.
*
* If Watchman isn't installed then it falls back to the grunt-contrib-watch file
* watcher for backwards compatibility.
*/
const watchHandler = function() {
const async = require('async');
const watchTaskDone = this.async();
let watchInitialised = false;
let watchTaskQueue = {};
let processingQueue = false;
const watchman = require('fb-watchman');
const watchmanClient = new watchman.Client();
// Grab the tasks and files that have been queued up and execute them.
var processWatchTaskQueue = function() {
if (!Object.keys(watchTaskQueue).length || processingQueue) {
// If there is nothing in the queue or we're already processing then wait.
return;
}
processingQueue = true;
// Grab all tasks currently in the queue.
var queueToProcess = watchTaskQueue;
// Reset the queue.
watchTaskQueue = {};
async.forEachSeries(
Object.keys(queueToProcess),
function(task, next) {
var files = queueToProcess[task];
var filesOption = '--files=' + files.join(',');
grunt.log.ok('Running task ' + task + ' for files ' + filesOption);
// Spawn the task in a child process so that it doesn't kill this one
// if it failed.
grunt.util.spawn(
{
// Spawn with the grunt bin.
grunt: true,
// Run from current working dir and inherit stdio from process.
opts: {
cwd: grunt.moodleEnv.fullRunDir,
stdio: 'inherit'
},
args: [task, filesOption]
},
function(err, res, code) {
if (code !== 0) {
// The grunt task failed.
grunt.log.error(err);
}
// Move on to the next task.
next();
}
);
},
function() {
// No longer processing.
processingQueue = false;
// Once all of the tasks are done then recurse just in case more tasks
// were queued while we were processing.
processWatchTaskQueue();
}
);
};
const originalWatchConfig = grunt.config.get(['watch']);
const watchConfig = Object.keys(originalWatchConfig).reduce(function(carry, key) {
if (key == 'options') {
return carry;
}
const value = originalWatchConfig[key];
const taskNames = value.tasks;
const files = value.files;
let excludes = [];
if (value.excludes) {
excludes = value.excludes;
}
taskNames.forEach(function(taskName) {
carry[taskName] = {
files,
excludes,
};
});
return carry;
}, {});
watchmanClient.on('error', function(error) {
// We have to add an error handler here and parse the error string because the
// example way from the docs to check if Watchman is installed doesn't actually work!!
// See: https://github.com/facebook/watchman/issues/509
if (error.message.match('Watchman was not found')) {
// If watchman isn't installed then we should fallback to the other watch task.
grunt.log.ok('It is recommended that you install Watchman for better performance using the "watch" command.');
// Fallback to the old grunt-contrib-watch task.
grunt.renameTask('watch-grunt', 'watch');
grunt.task.run(['watch']);
// This task is finished.
watchTaskDone(0);
} else {
grunt.log.error(error);
// Fatal error.
watchTaskDone(1);
}
});
watchmanClient.on('subscription', function(resp) {
if (resp.subscription !== 'grunt-watch') {
return;
}
resp.files.forEach(function(file) {
grunt.log.ok('File changed: ' + file.name);
var fullPath = grunt.moodleEnv.fullRunDir + '/' + file.name;
Object.keys(watchConfig).forEach(function(task) {
const fileGlobs = watchConfig[task].files;
var match = fileGlobs.some(function(fileGlob) {
return grunt.file.isMatch(`**/${fileGlob}`, fullPath);
});
if (match) {
// If we are watching a subdirectory then the file.name will be relative
// to that directory. However the grunt tasks expect the file paths to be
// relative to the Gruntfile.js location so let's normalise them before
// adding them to the queue.
var relativePath = fullPath.replace(grunt.moodleEnv.gruntFilePath + '/', '');
if (task in watchTaskQueue) {
if (!watchTaskQueue[task].includes(relativePath)) {
watchTaskQueue[task] = watchTaskQueue[task].concat(relativePath);
}
} else {
watchTaskQueue[task] = [relativePath];
}
}
});
});
processWatchTaskQueue();
});
process.on('SIGINT', function() {
// Let the user know that they may need to manually stop the Watchman daemon if they
// no longer want it running.
if (watchInitialised) {
grunt.log.ok('The Watchman daemon may still be running and may need to be stopped manually.');
}
process.exit();
});
// Initiate the watch on the current directory.
watchmanClient.command(['watch-project', grunt.moodleEnv.fullRunDir], function(watchError, watchResponse) {
if (watchError) {
grunt.log.error('Error initiating watch:', watchError);
watchTaskDone(1);
return;
}
if ('warning' in watchResponse) {
grunt.log.error('warning: ', watchResponse.warning);
}
var watch = watchResponse.watch;
var relativePath = watchResponse.relative_path;
watchInitialised = true;
watchmanClient.command(['clock', watch], function(clockError, clockResponse) {
if (clockError) {
grunt.log.error('Failed to query clock:', clockError);
watchTaskDone(1);
return;
}
// Generate the expression query used by watchman.
// Documentation is limited, but see https://facebook.github.io/watchman/docs/expr/allof.html for examples.
// We generate an expression to match any value in the files list of all of our tasks, but excluding
// all value in the excludes list of that task.
//
// [anyof, [
// [allof, [
// [anyof, [
// ['match', validPath, 'wholename'],
// ['match', validPath, 'wholename'],
// ],
// [not,
// [anyof, [
// ['match', invalidPath, 'wholename'],
// ['match', invalidPath, 'wholename'],
// ],
// ],
// ],
var matchWholeName = fileGlob => ['match', fileGlob, 'wholename'];
var matches = Object.keys(watchConfig).map(function(task) {
const matchAll = [];
matchAll.push(['anyof'].concat(watchConfig[task].files.map(matchWholeName)));
if (watchConfig[task].excludes.length) {
matchAll.push(['not', ['anyof'].concat(watchConfig[task].excludes.map(matchWholeName))]);
}
return ['allof'].concat(matchAll);
});
matches = ['anyof'].concat(matches);
var sub = {
expression: matches,
// Which fields we're interested in.
fields: ["name", "size", "type"],
// Add our time constraint.
since: clockResponse.clock
};
if (relativePath) {
/* eslint-disable camelcase */
sub.relative_root = relativePath;
}
watchmanClient.command(['subscribe', watch, 'grunt-watch', sub], function(subscribeError) {
if (subscribeError) {
// Probably an error in the subscription criteria.
grunt.log.error('failed to subscribe: ', subscribeError);
watchTaskDone(1);
return;
}
grunt.log.ok('Listening for changes to files in ' + grunt.moodleEnv.fullRunDir);
});
});
});
};
// Rename the grunt-contrib-watch "watch" task because we're going to wrap it.
grunt.renameTask('watch', 'watch-grunt');
// Register the new watch handler.
grunt.registerTask('watch', 'Run tasks on file changes', watchHandler);
grunt.config.merge({
watch: {
options: {
nospawn: true // We need not to spawn so config can be changed dynamically.
},
},
});
return watchHandler;
};
+1 -1
View File
@@ -1 +1 @@
v8.16.1
lts/gallium
-91
View File
@@ -1,91 +0,0 @@
# Generated by "grunt ignorefiles"
**/yui/build/*
theme/boost/style/moodle.css
theme/classic/style/moodle.css
node_modules/
vendor/
admin/tool/policy/amd/src/jquery-eu-cookie-law-popup.js
auth/cas/CAS/
cache/stores/mongodb/MongoDB/
enrol/lti/ims-blti/
filter/algebra/AlgParser.pm
filter/tex/mimetex.*
lib/editor/atto/plugins/html/yui/src/codemirror/
lib/editor/atto/plugins/html/yui/src/beautify/
lib/editor/atto/yui/src/rangy/js/*.*
lib/editor/tinymce/plugins/pdw/tinymce/
lib/editor/tinymce/plugins/spellchecker/rpc.php
lib/editor/tinymce/tiny_mce/
lib/mlbackend/php/phpml/
lib/adodb/
lib/bennu/
lib/evalmath/
lib/phpspreadsheet/
lib/google/
lib/htmlpurifier/
lib/jabber/
lib/minify/matthiasmullie-minify/
lib/minify/matthiasmullie-pathconverter/
lib/pear/HTML/Common.php
lib/pear/HTML/QuickForm.php
lib/pear/HTML/QuickForm/
lib/pear/PEAR.php
lib/phpmailer/
lib/simplepie/
lib/tcpdf/
lib/typo3/
lib/yuilib/
lib/yuilib/gallery/
lib/jquery/
lib/html2text/
lib/markdown/
lib/xhprof/
lib/horde/
lib/requirejs/
lib/amd/src/loglevel.js
lib/mustache/
lib/amd/src/mustache.js
lib/graphlib.php
lib/php-css-parser/
lib/rtlcss/
lib/scssphp/
lib/spout/
lib/amd/src/chartjs-lazy.js
lib/maxmind/GeoIp2/
lib/maxmind/MaxMind/
lib/ltiprovider/
lib/amd/src/truncate.js
lib/fonts/
lib/amd/src/adapter.js
lib/validateurlsyntax.php
lib/amd/src/popper.js
lib/geopattern-php/
lib/php-jwt/
lib/babel-polyfill/
lib/mdn-polyfills/
lib/emoji-data/
lib/h5p/
media/player/videojs/amd/src/video-lazy.js
media/player/videojs/amd/src/Youtube-lazy.js
media/player/videojs/videojs/
media/player/videojs/amd/src/videojs-flash-lazy.js
media/player/videojs/videojs/video-js.swf
mod/assign/feedback/editpdf/fpdi/
repository/s3/S3.php
theme/boost/scss/bootstrap/
theme/boost/amd/src/alert.js
theme/boost/amd/src/button.js
theme/boost/amd/src/carousel.js
theme/boost/amd/src/collapse.js
theme/boost/amd/src/dropdown.js
theme/boost/amd/src/index.js
theme/boost/amd/src/modal.js
theme/boost/amd/src/popover.js
theme/boost/amd/src/sanitizer.js
theme/boost/amd/src/scrollspy.js
theme/boost/amd/src/tab.js
theme/boost/amd/src/toast.js
theme/boost/amd/src/tooltip.js
theme/boost/amd/src/util.js
theme/boost/amd/src/tether.js
theme/boost/scss/fontawesome/
+60 -78
View File
@@ -2,58 +2,65 @@
# process (which uses our internal CI system) this file is here for the benefit
# of community developers git clones - see MDL-51458.
sudo: required
# We currently disable Travis notifications entirely until https://github.com/travis-ci/travis-ci/issues/4976
# is fixed.
notifications:
email: false
email:
if: env(MOODLE_EMAIL) != no
language: php
dist: xenial
os: linux
dist: bionic
services:
- mysql
php:
# We only run the highest and lowest supported versions to reduce the load on travis-ci.org.
- 7.3
- 7.1.30 # Make this sticky because current default version (7.1.11) has a bug with redis-extension output (MDL-66062)
- docker
addons:
postgresql: "9.6"
env:
# Although we want to run these jobs and see failures as quickly as possible, we also want to get the slowest job to
# start first so that the total run time is not too high.
#
# We only run MySQL on PHP 7.2, so run that first.
# CI Tests should be second-highest in priority as these only take <= 60 seconds to run under normal circumstances.
# Postgres is significantly is pretty reasonable in its run-time.
branches:
except:
- master
- /MOODLE_[0-9]+_STABLE/
- /^v[0-9]+\.[0-9]+\.[0-9]+.*/
# Run CI Tests without running PHPUnit.
- DB=none TASK=CITEST
# Run unit tests on Postgres
- DB=pgsql TASK=PHPUNIT
# Perform an upgrade test too.
- DB=pgsql TASK=UPGRADE
matrix:
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:
# Run mysql only on 7.3 - it's just too slow
# First all the lowest php ones (7.3)
- php: 7.3
env: DB=none TASK=CITEST
- php: 7.3
env: DB=none TASK=GRUNT NVM_VERSION='lts/gallium'
- if: env(MOODLE_DATABASE) = "pgsql" OR env(MOODLE_DATABASE) = "all" OR env(MOODLE_DATABASE) IS NOT present
php: 7.3
env: DB=pgsql TASK=PHPUNIT
- if: env(MOODLE_DATABASE) = "mysqli" OR env(MOODLE_DATABASE) = "all"
php: 7.3
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 NVM_VERSION='lts/gallium'
- 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
# Run grunt/npm install on highest version ('node' is an alias for the latest node.js version.)
- php: 7.2
env: DB=none TASK=GRUNT NVM_VERSION='lts/carbon'
cache:
directories:
@@ -61,8 +68,9 @@ 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
- sudo service redis-server start --bind 127.0.0.1
install:
- >
@@ -73,7 +81,8 @@ install:
sudo service mysql stop
sudo mv /var/lib/mysql /mnt/ramdisk
sudo ln -s /mnt/ramdisk/mysql /var/lib/mysql
sudo service mysql restart
echo -e "[mysqld]\nskip-log-bin" | sudo tee -a /etc/mysql/my.cnf
sudo service mysql start
fi
- >
if [ "$DB" = 'pgsql' ];
@@ -84,6 +93,7 @@ install:
sudo mv /var/lib/postgresql /mnt/ramdisk
sudo ln -s /mnt/ramdisk/postgresql /var/lib/postgresql
sudo service postgresql start 9.6
sh -c 'until pg_isready -p 5432; do echo "Waiting for the DB to be up..."; sleep 2; done'
fi
- >
if [ "$TASK" = 'PHPUNIT' ];
@@ -110,9 +120,11 @@ install:
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' -o "$TASK" = 'UPGRADE' ];
if [ "$TASK" = 'PHPUNIT' ];
then
# Copy generic configuration in place.
cp config-dist.php config.php ;
@@ -169,14 +181,19 @@ before_script:
-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, but not for PHP 7.2 and up. See MDL-60978 for more info.
redissession="define('TEST_SESSION_REDIS_HOST', '127.0.0.1');"
# Redis session tests
sed -i \
-e "/require_once/i \\${redissession}" \
-e "/require_once/i \\define('TEST_SESSION_REDIS_HOST', '127.0.0.1');" \
config.php ;
# Initialise PHPUnit for Moodle.
@@ -206,7 +223,7 @@ before_script:
# We need the official upstream for comparison
git remote add upstream https://github.com/moodle/moodle.git;
git fetch upstream MOODLE_38_STABLE;
git fetch upstream MOODLE_311_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`
@@ -217,32 +234,6 @@ before_script:
export phpcmd=`which php`;
fi
########################################################################
# Upgrade test
########################################################################
- >
if [ "$TASK" = 'UPGRADE' ];
then
# We need the official upstream.
git remote add upstream https://github.com/moodle/moodle.git;
# Checkout 30 STABLE branch (the first version compatible with PHP 7.x)
git fetch upstream MOODLE_30_STABLE;
git checkout MOODLE_30_STABLE;
# Perform the upgrade
php admin/cli/install_database.php --agree-license --adminpass=Password --adminemail=admin@example.com --fullname="Upgrade test" --shortname=Upgrade;
# Return to the previous commit
git checkout -;
# Perform the upgrade
php admin/cli/upgrade.php --non-interactive --allow-unstable ;
# The local_ci repository can be used to check upgrade savepoints.
git clone https://github.com/moodlehq/moodle-local_ci.git local/ci ;
fi
script:
- >
if [ "$TASK" = 'PHPUNIT' ];
@@ -268,19 +259,10 @@ script:
git diff --cached --exit-code ;
fi
########################################################################
# Upgrade test
########################################################################
after_script:
- >
if [ "$TASK" = 'UPGRADE' ];
if [ "$TASK" = 'PHPUNIT' ];
then
cp local/ci/check_upgrade_savepoints/check_upgrade_savepoints.php ./check_upgrade_savepoints.php
result=`php check_upgrade_savepoints.php`;
# Check if there are problems
count=`echo "$result" | grep -P "ERROR|WARN" | wc -l` ;
if (($count > 0));
then
echo "$result"
exit 1 ;
fi
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
+215 -600
View File
@@ -16,26 +16,200 @@
/* eslint-env node */
/**
* Grunt configuration for Moodle.
*
* @copyright 2014 Andrew Nicols
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
*/
/**
* Grunt configuration
* Setup the Grunt Moodle environment.
*
* @param {Grunt} grunt
* @returns {Object}
*/
const setupMoodleEnvironment = grunt => {
const fs = require('fs');
const path = require('path');
const ComponentList = require(path.join(process.cwd(), '.grunt', 'components.js'));
/* eslint-env node */
module.exports = function(grunt) {
var path = require('path'),
tasks = {},
cwd = process.env.PWD || process.cwd(),
async = require('async'),
DOMParser = require('xmldom').DOMParser,
xpath = require('xpath'),
semver = require('semver'),
watchman = require('fb-watchman'),
watchmanClient = new watchman.Client(),
gruntFilePath = process.cwd();
const getAmdConfiguration = () => {
// If the cwd is the amd directory in the current component then it will be empty.
// If the cwd is a child of the component's AMD directory, the relative directory will not start with ..
let inAMD = !path.relative(`${componentDirectory}/amd`, cwd).startsWith('..');
// Globbing pattern for matching all AMD JS source files.
let amdSrc = [];
if (inComponent) {
amdSrc.push(
componentDirectory + "/amd/src/*.js",
componentDirectory + "/amd/src/**/*.js"
);
} else {
amdSrc = ComponentList.getAmdSrcGlobList();
}
return {
inAMD,
amdSrc,
};
};
const getYuiConfiguration = () => {
let yuiSrc = [];
if (inComponent) {
yuiSrc.push(componentDirectory + "/yui/src/**/*.js");
} else {
yuiSrc = ComponentList.getYuiSrcGlobList(gruntFilePath + '/');
}
return {
yuiSrc,
};
};
const getStyleConfiguration = () => {
const ComponentList = require(path.join(process.cwd(), '.grunt', 'components.js'));
// Build the cssSrc and scssSrc.
// Valid paths are:
// [component]/styles.css; and either
// [theme/[themename]]/scss/**/*.scss; or
// [theme/[themename]]/style/*.css.
//
// If a theme has scss, then it is assumed that the style directory contains generated content.
let cssSrc = [];
let scssSrc = [];
const checkComponentDirectory = componentDirectory => {
const isTheme = componentDirectory.startsWith('theme/');
if (isTheme) {
const scssDirectory = `${componentDirectory}/scss`;
if (fs.existsSync(scssDirectory)) {
// This theme has an SCSS directory.
// Include all scss files within it recursively, but do not check for css files.
scssSrc.push(`${scssDirectory}/*.scss`);
scssSrc.push(`${scssDirectory}/**/*.scss`);
} else {
// This theme has no SCSS directory.
// Only hte CSS files in the top-level directory are checked.
cssSrc.push(`${componentDirectory}/style/*.css`);
}
} else {
// This is not a theme.
// All other plugin types are restricted to a single styles.css in their top level.
cssSrc.push(`${componentDirectory}/styles.css`);
}
};
if (inComponent) {
checkComponentDirectory(componentDirectory);
} else {
ComponentList.getComponentPaths(`${gruntFilePath}/`).forEach(componentPath => {
checkComponentDirectory(componentPath);
});
}
return {
cssSrc,
scssSrc,
};
};
/**
* Calculate the cwd, taking into consideration the `root` option (for Windows).
*
* @param {Object} grunt
* @returns {String} The current directory as best we can determine
*/
const getCwd = grunt => {
let cwd = fs.realpathSync(process.env.PWD || process.cwd());
// Windows users can't run grunt in a subdirectory, so allow them to set
// the root by passing --root=path/to/dir.
if (grunt.option('root')) {
const root = grunt.option('root');
if (grunt.file.exists(__dirname, root)) {
cwd = fs.realpathSync(path.join(__dirname, root));
grunt.log.ok('Setting root to ' + cwd);
} else {
grunt.fail.fatal('Setting root to ' + root + ' failed - path does not exist');
}
}
return cwd;
};
// Detect directories:
// * gruntFilePath The real path on disk to this Gruntfile.js
// * cwd The current working directory, which can be overridden by the `root` option
// * relativeCwd The cwd, relative to the Gruntfile.js
// * componentDirectory The root directory of the component if the cwd is in a valid component
// * inComponent Whether the cwd is in a valid component
// * runDir The componentDirectory or cwd if not in a component, relative to Gruntfile.js
// * fullRunDir The full path to the runDir
const gruntFilePath = fs.realpathSync(process.cwd());
const cwd = getCwd(grunt);
const relativeCwd = path.relative(gruntFilePath, cwd);
const componentDirectory = ComponentList.getOwningComponentDirectory(relativeCwd);
const inComponent = !!componentDirectory;
const inTheme = !!componentDirectory && componentDirectory.startsWith('theme/');
const runDir = inComponent ? componentDirectory : relativeCwd;
const fullRunDir = fs.realpathSync(gruntFilePath + path.sep + runDir);
const {inAMD, amdSrc} = getAmdConfiguration();
const {yuiSrc} = getYuiConfiguration();
const {cssSrc, scssSrc} = getStyleConfiguration();
let files = null;
if (grunt.option('files')) {
// Accept a comma separated list of files to process.
files = grunt.option('files').split(',');
}
grunt.log.debug('============================================================================');
grunt.log.debug(`= Node version: ${process.versions.node}`);
grunt.log.debug(`= grunt version: ${grunt.package.version}`);
grunt.log.debug(`= process.cwd: '` + process.cwd() + `'`);
grunt.log.debug(`= process.env.PWD: '${process.env.PWD}'`);
grunt.log.debug(`= path.sep '${path.sep}'`);
grunt.log.debug('============================================================================');
grunt.log.debug(`= gruntFilePath: '${gruntFilePath}'`);
grunt.log.debug(`= relativeCwd: '${relativeCwd}'`);
grunt.log.debug(`= componentDirectory: '${componentDirectory}'`);
grunt.log.debug(`= inComponent: '${inComponent}'`);
grunt.log.debug(`= runDir: '${runDir}'`);
grunt.log.debug(`= fullRunDir: '${fullRunDir}'`);
grunt.log.debug('============================================================================');
if (inComponent) {
grunt.log.ok(`Running tasks for component directory ${componentDirectory}`);
}
return {
amdSrc,
componentDirectory,
cwd,
cssSrc,
files,
fullRunDir,
gruntFilePath,
inAMD,
inComponent,
inTheme,
relativeCwd,
runDir,
scssSrc,
yuiSrc,
};
};
/**
* Verify tha tthe current NodeJS version matches the required version in package.json.
*
* @param {Grunt} grunt
*/
const verifyNodeVersion = grunt => {
const semver = require('semver');
// Verify the node version is new enough.
var expected = semver.validRange(grunt.file.readJSON('package.json').engines.node);
@@ -43,604 +217,45 @@ module.exports = function(grunt) {
if (!semver.satisfies(actual, expected)) {
grunt.fail.fatal('Node version not satisfied. Require ' + expected + ', version installed: ' + actual);
}
};
// Windows users can't run grunt in a subdirectory, so allow them to set
// the root by passing --root=path/to/dir.
if (grunt.option('root')) {
var root = grunt.option('root');
if (grunt.file.exists(__dirname, root)) {
cwd = path.join(__dirname, root);
grunt.log.ok('Setting root to ' + cwd);
} else {
grunt.fail.fatal('Setting root to ' + root + ' failed - path does not exist');
}
}
/**
* Grunt configuration.
*
* @param {Grunt} grunt
*/
module.exports = function(grunt) {
// Verify that the Node version meets our requirements.
verifyNodeVersion(grunt);
var files = null;
if (grunt.option('files')) {
// Accept a comma separated list of files to process.
files = grunt.option('files').split(',');
}
var inAMD = path.basename(cwd) == 'amd';
// Globbing pattern for matching all AMD JS source files.
var amdSrc = [];
if (inAMD) {
amdSrc.push(cwd + "/src/*.js");
amdSrc.push(cwd + "/src/**/*.js");
} else {
amdSrc.push("**/amd/src/*.js");
amdSrc.push("**/amd/src/**/*.js");
}
// Setup the Moodle environemnt within the Grunt object.
grunt.moodleEnv = setupMoodleEnvironment(grunt);
/**
* Function to generate the destination for the uglify 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
* Add the named task.
*
* @param {String} destPath the current destination
* @param {String} srcPath the matched src path
* @return {String} The rewritten destination path.
* @param {string} name
* @param {Grunt} grunt
*/
var babelRename = function(destPath, srcPath) {
destPath = srcPath.replace('src', 'build');
destPath = destPath.replace('.js', '.min.js');
return destPath;
const addTask = (name, grunt) => {
const path = require('path');
const taskPath = path.resolve(`./.grunt/tasks/${name}.js`);
grunt.log.debug(`Including tasks for ${name} from ${taskPath}`);
require(path.resolve(`./.grunt/tasks/${name}.js`))(grunt);
};
/**
* Find thirdpartylibs.xml and generate an array of paths contained within
* them (used to generate ignore files and so on).
*
* @return {array} The list of thirdparty paths.
*/
var getThirdPartyPathsFromXML = function() {
var thirdpartyfiles = grunt.file.expand('*/**/thirdpartylibs.xml');
var libs = ['node_modules/', 'vendor/'];
thirdpartyfiles.forEach(function(file) {
var dirname = path.dirname(file);
// Add Moodle task configuration.
addTask('gherkinlint', grunt);
addTask('ignorefiles', grunt);
var doc = new DOMParser().parseFromString(grunt.file.read(file));
var nodes = xpath.select("/libraries/library/location/text()", doc);
addTask('javascript', grunt);
addTask('style', grunt);
nodes.forEach(function(node) {
var lib = path.join(dirname, node.toString());
if (grunt.file.isDir(lib)) {
// Ensure trailing slash on dirs.
lib = lib.replace(/\/?$/, '/');
}
// Look for duplicate paths before adding to array.
if (libs.indexOf(lib) === -1) {
libs.push(lib);
}
});
});
return libs;
};
// Project configuration.
grunt.initConfig({
eslint: {
// Even though warnings dont stop the build we don't display warnings by default because
// at this moment we've got too many core warnings.
options: {quiet: !grunt.option('show-lint-warnings')},
amd: {src: files ? files : amdSrc},
// Check YUI module source files.
yui: {src: files ? files : ['**/yui/src/**/*.js', '!*/**/yui/src/*/meta/*.js']}
},
babel: {
options: {
sourceMaps: true,
comments: false,
plugins: [
'transform-es2015-modules-amd-lazy',
'system-import-transformer',
// This plugin modifies the Babel transpiling for "export default"
// so that if it's used then only the exported value is returned
// by the generated AMD module.
//
// 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('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'
],
presets: [
['minify', {
// This minification plugin needs to be disabled because it breaks the
// source map generation and causes invalid source maps to be output.
simplify: false,
builtIns: false
}],
['@babel/preset-env', {
targets: {
browsers: [
">0.25%",
"last 2 versions",
"not ie <= 10",
"not op_mini all",
"not Opera > 0",
"not dead"
]
},
modules: false,
useBuiltIns: false
}]
]
},
dist: {
files: [{
expand: true,
src: files ? files : amdSrc,
rename: babelRename
}]
}
},
sass: {
dist: {
files: {
"theme/boost/style/moodle.css": "theme/boost/scss/preset/default.scss",
"theme/classic/style/moodle.css": "theme/classic/scss/classicgrunt.scss"
}
},
options: {
includePaths: ["theme/boost/scss/", "theme/classic/scss/"]
}
},
watch: {
options: {
nospawn: true // We need not to spawn so config can be changed dynamically.
},
amd: {
files: ['**/amd/src/**/*.js'],
tasks: ['amd']
},
boost: {
files: ['**/theme/boost/scss/**/*.scss'],
tasks: ['scss']
},
rawcss: {
files: ['**/*.css', '**/theme/**/!(moodle.css|editor.css)'],
tasks: ['rawcss']
},
yui: {
files: ['**/yui/src/**/*.js'],
tasks: ['yui']
},
gherkinlint: {
files: ['**/tests/behat/*.feature'],
tasks: ['gherkinlint']
}
},
shifter: {
options: {
recursive: true,
paths: files ? files : [cwd]
}
},
gherkinlint: {
options: {
files: files ? files : ['**/tests/behat/*.feature'],
}
},
stylelint: {
scss: {
options: {syntax: 'scss'},
src: files ? files : ['*/**/*.scss']
},
css: {
src: files ? files : ['*/**/*.css'],
options: {
configOverrides: {
rules: {
// These rules have to be disabled in .stylelintrc for scss compat.
"at-rule-no-unknown": true,
}
}
}
}
}
});
/**
* Generate ignore files (utilising thirdpartylibs.xml data)
*/
tasks.ignorefiles = function() {
// An array of paths to third party directories.
var thirdPartyPaths = getThirdPartyPathsFromXML();
// Generate .eslintignore.
var eslintIgnores = ['# Generated by "grunt ignorefiles"', '*/**/yui/src/*/meta/', '*/**/build/'].concat(thirdPartyPaths);
grunt.file.write('.eslintignore', eslintIgnores.join('\n'));
// Generate .stylelintignore.
var stylelintIgnores = [
'# Generated by "grunt ignorefiles"',
'**/yui/build/*',
'theme/boost/style/moodle.css',
'theme/classic/style/moodle.css',
].concat(thirdPartyPaths);
grunt.file.write('.stylelintignore', stylelintIgnores.join('\n'));
};
/**
* Shifter task. Is configured with a path to a specific file or a directory,
* in the case of a specific file it will work out the right module to be built.
*
* Note that this task runs the invidiaul shifter jobs async (becase it spawns
* so be careful to to call done().
*/
tasks.shifter = function() {
var done = this.async(),
options = grunt.config('shifter.options');
// Run the shifter processes one at a time to avoid confusing output.
async.eachSeries(options.paths, function(src, filedone) {
var args = [];
args.push(path.normalize(__dirname + '/node_modules/shifter/bin/shifter'));
// Always ignore the node_modules directory.
args.push('--excludes', 'node_modules');
// Determine the most appropriate options to run with based upon the current location.
if (grunt.file.isMatch('**/yui/**/*.js', src)) {
// When passed a JS file, build our containing module (this happen with
// watch).
grunt.log.debug('Shifter passed a specific JS file');
src = path.dirname(path.dirname(src));
options.recursive = false;
} else if (grunt.file.isMatch('**/yui/src', src)) {
// When in a src directory --walk all modules.
grunt.log.debug('In a src directory');
args.push('--walk');
options.recursive = false;
} else if (grunt.file.isMatch('**/yui/src/*', src)) {
// When in module, only build our module.
grunt.log.debug('In a module directory');
options.recursive = false;
} else if (grunt.file.isMatch('**/yui/src/*/js', src)) {
// When in module src, only build our module.
grunt.log.debug('In a source directory');
src = path.dirname(src);
options.recursive = false;
}
if (grunt.option('watch')) {
grunt.fail.fatal('The --watch option has been removed, please use `grunt watch` instead');
}
// Add the stderr option if appropriate
if (grunt.option('verbose')) {
args.push('--lint-stderr');
}
if (grunt.option('no-color')) {
args.push('--color=false');
}
var execShifter = function() {
grunt.log.ok("Running shifter on " + src);
grunt.util.spawn({
cmd: "node",
args: args,
opts: {cwd: src, stdio: 'inherit', env: process.env}
}, function(error, result, code) {
if (code) {
grunt.fail.fatal('Shifter failed with code: ' + code);
} else {
grunt.log.ok('Shifter build complete.');
filedone();
}
});
};
// Actually run shifter.
if (!options.recursive) {
execShifter();
} else {
// Check that there are yui modules otherwise shifter ends with exit code 1.
if (grunt.file.expand({cwd: src}, '**/yui/src/**/*.js').length > 0) {
args.push('--recursive');
execShifter();
} else {
grunt.log.ok('No YUI modules to build.');
filedone();
}
}
}, done);
};
tasks.gherkinlint = function() {
var done = this.async(),
options = grunt.config('gherkinlint.options');
var args = grunt.file.expand(options.files);
args.unshift(path.normalize(__dirname + '/node_modules/.bin/gherkin-lint'));
grunt.util.spawn({
cmd: 'node',
args: args,
opts: {stdio: 'inherit', env: process.env}
}, function(error, result, code) {
// Propagate the exit code.
done(code === 0);
});
};
tasks.startup = function() {
// Are we in a YUI directory?
if (path.basename(path.resolve(cwd, '../../')) == 'yui') {
grunt.task.run('yui');
// Are we in an AMD directory?
} else if (inAMD) {
grunt.task.run('amd');
} else {
// Run them all!.
grunt.task.run('css');
grunt.task.run('js');
grunt.task.run('gherkinlint');
}
};
/**
* This is a wrapper task to handle the grunt watch command. It attempts to use
* Watchman to monitor for file changes, if it's installed, because it's much faster.
*
* If Watchman isn't installed then it falls back to the grunt-contrib-watch file
* watcher for backwards compatibility.
*/
tasks.watch = function() {
var watchTaskDone = this.async();
var watchInitialised = false;
var watchTaskQueue = {};
var processingQueue = false;
// Grab the tasks and files that have been queued up and execute them.
var processWatchTaskQueue = function() {
if (!Object.keys(watchTaskQueue).length || processingQueue) {
// If there is nothing in the queue or we're already processing then wait.
return;
}
processingQueue = true;
// Grab all tasks currently in the queue.
var queueToProcess = watchTaskQueue;
// Reset the queue.
watchTaskQueue = {};
async.forEachSeries(
Object.keys(queueToProcess),
function(task, next) {
var files = queueToProcess[task];
var filesOption = '--files=' + files.join(',');
grunt.log.ok('Running task ' + task + ' for files ' + filesOption);
// Spawn the task in a child process so that it doesn't kill this one
// if it failed.
grunt.util.spawn(
{
// Spawn with the grunt bin.
grunt: true,
// Run from current working dir and inherit stdio from process.
opts: {
cwd: cwd,
stdio: 'inherit'
},
args: [task, filesOption]
},
function(err, res, code) {
if (code !== 0) {
// The grunt task failed.
grunt.log.error(err);
}
// Move on to the next task.
next();
}
);
},
function() {
// No longer processing.
processingQueue = false;
// Once all of the tasks are done then recurse just in case more tasks
// were queued while we were processing.
processWatchTaskQueue();
}
);
};
var watchConfig = grunt.config.get(['watch']);
watchConfig = Object.keys(watchConfig).reduce(function(carry, key) {
if (key == 'options') {
return carry;
}
var value = watchConfig[key];
var fileGlobs = value.files;
var taskNames = value.tasks;
taskNames.forEach(function(taskName) {
carry[taskName] = fileGlobs;
});
return carry;
}, {});
watchmanClient.on('error', function(error) {
// We have to add an error handler here and parse the error string because the
// example way from the docs to check if Watchman is installed doesn't actually work!!
// See: https://github.com/facebook/watchman/issues/509
if (error.message.match('Watchman was not found')) {
// If watchman isn't installed then we should fallback to the other watch task.
grunt.log.ok('It is recommended that you install Watchman for better performance using the "watch" command.');
// Fallback to the old grunt-contrib-watch task.
grunt.renameTask('watch-grunt', 'watch');
grunt.task.run(['watch']);
// This task is finished.
watchTaskDone(0);
} else {
grunt.log.error(error);
// Fatal error.
watchTaskDone(1);
}
});
watchmanClient.on('subscription', function(resp) {
if (resp.subscription !== 'grunt-watch') {
return;
}
resp.files.forEach(function(file) {
grunt.log.ok('File changed: ' + file.name);
var fullPath = cwd + '/' + file.name;
Object.keys(watchConfig).forEach(function(task) {
var fileGlobs = watchConfig[task];
var match = fileGlobs.every(function(fileGlob) {
return grunt.file.isMatch(fileGlob, fullPath);
});
if (match) {
// If we are watching a subdirectory then the file.name will be relative
// to that directory. However the grunt tasks expect the file paths to be
// relative to the Gruntfile.js location so let's normalise them before
// adding them to the queue.
var relativePath = fullPath.replace(gruntFilePath + '/', '');
if (task in watchTaskQueue) {
if (!watchTaskQueue[task].includes(relativePath)) {
watchTaskQueue[task] = watchTaskQueue[task].concat(relativePath);
}
} else {
watchTaskQueue[task] = [relativePath];
}
}
});
});
processWatchTaskQueue();
});
process.on('SIGINT', function() {
// Let the user know that they may need to manually stop the Watchman daemon if they
// no longer want it running.
if (watchInitialised) {
grunt.log.ok('The Watchman daemon may still be running and may need to be stopped manually.');
}
process.exit();
});
// Initiate the watch on the current directory.
watchmanClient.command(['watch-project', cwd], function(watchError, watchResponse) {
if (watchError) {
grunt.log.error('Error initiating watch:', watchError);
watchTaskDone(1);
return;
}
if ('warning' in watchResponse) {
grunt.log.error('warning: ', watchResponse.warning);
}
var watch = watchResponse.watch;
var relativePath = watchResponse.relative_path;
watchInitialised = true;
watchmanClient.command(['clock', watch], function(clockError, clockResponse) {
if (clockError) {
grunt.log.error('Failed to query clock:', clockError);
watchTaskDone(1);
return;
}
// Use the matching patterns specified in the watch config.
var matches = Object.keys(watchConfig).map(function(task) {
var fileGlobs = watchConfig[task];
var fileGlobMatches = fileGlobs.map(function(fileGlob) {
return ['match', fileGlob, 'wholename'];
});
return ['allof'].concat(fileGlobMatches);
});
var sub = {
expression: ["anyof"].concat(matches),
// Which fields we're interested in.
fields: ["name", "size", "type"],
// Add our time constraint.
since: clockResponse.clock
};
if (relativePath) {
/* eslint-disable camelcase */
sub.relative_root = relativePath;
}
watchmanClient.command(['subscribe', watch, 'grunt-watch', sub], function(subscribeError) {
if (subscribeError) {
// Probably an error in the subscription criteria.
grunt.log.error('failed to subscribe: ', subscribeError);
watchTaskDone(1);
return;
}
grunt.log.ok('Listening for changes to files in ' + cwd);
});
});
});
};
// On watch, we dynamically modify config to build only affected files. This
// method is slightly complicated to deal with multiple changed files at once (copied
// from the grunt-contrib-watch readme).
var changedFiles = Object.create(null);
var onChange = grunt.util._.debounce(function() {
var files = Object.keys(changedFiles);
grunt.config('eslint.amd.src', files);
grunt.config('eslint.yui.src', files);
grunt.config('shifter.options.paths', files);
grunt.config('gherkinlint.options.files', files);
grunt.config('babel.dist.files', [{expand: true, src: files, rename: babelRename}]);
changedFiles = Object.create(null);
}, 200);
grunt.event.on('watch', function(action, filepath) {
changedFiles[filepath] = action;
onChange();
});
// Register NPM tasks.
grunt.loadNpmTasks('grunt-contrib-uglify');
grunt.loadNpmTasks('grunt-contrib-watch');
grunt.loadNpmTasks('grunt-sass');
grunt.loadNpmTasks('grunt-eslint');
grunt.loadNpmTasks('grunt-stylelint');
grunt.loadNpmTasks('grunt-babel');
// Rename the grunt-contrib-watch "watch" task because we're going to wrap it.
grunt.renameTask('watch', 'watch-grunt');
// Register JS tasks.
grunt.registerTask('shifter', 'Run Shifter against the current directory', tasks.shifter);
grunt.registerTask('gherkinlint', 'Run gherkinlint against the current directory', tasks.gherkinlint);
grunt.registerTask('ignorefiles', 'Generate ignore files for linters', tasks.ignorefiles);
grunt.registerTask('watch', 'Run tasks on file changes', tasks.watch);
grunt.registerTask('yui', ['eslint:yui', 'shifter']);
grunt.registerTask('amd', ['eslint:amd', 'babel']);
grunt.registerTask('js', ['amd', 'yui']);
// Register CSS taks.
grunt.registerTask('css', ['stylelint:scss', 'sass', 'stylelint:css']);
grunt.registerTask('scss', ['stylelint:scss', 'sass']);
grunt.registerTask('rawcss', ['stylelint:css']);
// Register the startup task.
grunt.registerTask('startup', 'Run the correct tasks for the current directory', tasks.startup);
addTask('watch', grunt);
addTask('startup', grunt);
// Register the default task.
grunt.registerTask('default', ['startup']);
+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 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.
-48
View File
@@ -1,48 +0,0 @@
<?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/>.
/**
* Admin settings search form
*
* @package admin
* @copyright 2016 Damyon Wiese
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
*/
defined('MOODLE_INTERNAL') || die();
require_once $CFG->libdir.'/formslib.php';
/**
* Admin settings search form
*
* @package admin
* @copyright 2016 Damyon Wiese
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
*/
class admin_settings_search_form extends moodleform {
function definition () {
$mform = $this->_form;
//$mform->addElement('header', 'settingsheader', get_string('search', 'admin'));
$elements = [];
$elements[] = $mform->createElement('text', 'query', get_string('query', 'admin'));
$elements[] = $mform->createElement('submit', 'search', get_string('search'));
$mform->addGroup($elements);
$mform->setType('query', PARAM_RAW);
$mform->setDefault('query', optional_param('query', '', PARAM_RAW));
}
}
+4 -2
View File
@@ -98,8 +98,10 @@ switch ($action) {
default:
break;
}
$new = implode(',', $activeantiviruses);
add_to_config_log('antiviruses', $CFG->antiviruses, $new, 'core');
set_config('antiviruses', $new);
set_config('antiviruses', implode(',', $activeantiviruses));
core_plugin_manager::reset_caches();
redirect ($returnurl);
redirect ($returnurl);
+13 -4
View File
@@ -44,7 +44,9 @@ switch ($action) {
$key = array_search($auth, $authsenabled);
if ($key !== false) {
unset($authsenabled[$key]);
set_config('auth', implode(',', $authsenabled));
$value = implode(',', $authsenabled);
add_to_config_log('auth', $CFG->auth, $value, 'core');
set_config('auth', $value);
}
if ($auth == $CFG->registerauth) {
@@ -59,8 +61,11 @@ switch ($action) {
if (!in_array($auth, $authsenabled)) {
$authsenabled[] = $auth;
$authsenabled = array_unique($authsenabled);
set_config('auth', implode(',', $authsenabled));
$value = implode(',', $authsenabled);
add_to_config_log('auth', $CFG->auth, $value, 'core');
set_config('auth', $value);
}
\core\session\manager::gc(); // Remove stale sessions.
core_plugin_manager::reset_caches();
break;
@@ -76,7 +81,9 @@ switch ($action) {
$fsave = $authsenabled[$key];
$authsenabled[$key] = $authsenabled[$key + 1];
$authsenabled[$key + 1] = $fsave;
set_config('auth', implode(',', $authsenabled));
$value = implode(',', $authsenabled);
add_to_config_log('auth', $CFG->auth, $value, 'core');
set_config('auth', $value);
}
break;
@@ -91,7 +98,9 @@ switch ($action) {
$fsave = $authsenabled[$key];
$authsenabled[$key] = $authsenabled[$key - 1];
$authsenabled[$key - 1] = $fsave;
set_config('auth', implode(',', $authsenabled));
$value = implode(',', $authsenabled);
add_to_config_log('auth', $CFG->auth, $value, 'core');
set_config('auth', $value);
}
break;
-2
View File
@@ -171,8 +171,6 @@ function print_auth_lock_options($auth, $user_fields, $helptext, $retrieveopts,
// limit for the setting name is 100.
continue;
}
} elseif ($fieldname == 'url') {
$fieldname = get_string('webpage');
} else {
$fieldname = get_string($fieldname);
}
+6 -1
View File
@@ -30,7 +30,7 @@ $category = required_param('category', PARAM_SAFEDIR);
$return = optional_param('return','', PARAM_ALPHA);
$adminediting = optional_param('adminedit', -1, PARAM_BOOL);
require_admin();
require_login(0, false);
$PAGE->set_context(context_system::instance());
$PAGE->set_url('/admin/category.php', array('category' => $category));
$PAGE->set_pagetype('admin-setting-' . $category);
@@ -158,4 +158,9 @@ echo $outputhtml;
echo html_writer::end_tag('fieldset');
echo html_writer::end_tag('form');
$PAGE->requires->yui_module('moodle-core-formchangechecker', 'M.core_formchangechecker.init', [[
'formid' => 'adminsettings'
]]);
$PAGE->requires->string_for_js('changesmadereallygoaway', 'moodle');
echo $OUTPUT->footer();
@@ -43,7 +43,7 @@ class testoutgoingmailconf_form extends \moodleform {
$mform = $this->_form;
// Recipient.
$options = ['maxlength' => '100', 'size' => '25'];
$options = ['maxlength' => '100', 'size' => '25', 'autocomplete' => 'email'];
$mform->addElement('text', 'recipient', get_string('testoutgoingmailconf_toemail', 'admin'), $options);
$mform->setType('recipient', PARAM_EMAIL);
$mform->addRule('recipient', get_string('required'), 'required');
@@ -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/>.
/**
* External admin page class that allows a callback to be provided to determine whether page can be accessed
*
* @package core_admin
* @copyright 2019 Marina Glancy
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
*/
namespace core_admin\local\externalpage;
use admin_externalpage;
defined('MOODLE_INTERNAL') || die();
require_once("{$CFG->libdir}/adminlib.php");
/**
* Admin externalpage class
*
* @package core_admin
* @copyright 2019 Marina Glancy
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
*/
class accesscallback extends admin_externalpage {
/** @var callable $accesscheckcallback */
protected $accesscheckcallback;
/**
* Class constructor
*
* @param string $name
* @param string $visiblename
* @param string $url
* @param callable $accesscheckcallback The callback method that will be executed to check whether user has access to
* this page. The setting instance ($this) is passed as an argument to the callback. Should return boolean value
* @param bool $hidden
*/
public function __construct(string $name, string $visiblename, string $url, callable $accesscheckcallback,
bool $hidden = false) {
$this->accesscheckcallback = $accesscheckcallback;
parent::__construct($name, $visiblename, $url, [], $hidden);
}
/**
* Determines if the current user has access to this external page based on access callback
*
* @return bool
*/
public function check_access() {
return ($this->accesscheckcallback)($this);
}
}
@@ -0,0 +1,206 @@
<?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/>.
/**
* Auto complete admin setting.
*
* @package core_admin
* @copyright 2020 The Open University
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
*/
namespace core_admin\local\settings;
defined('MOODLE_INTERNAL') || die();
require_once($CFG->libdir . '/adminlib.php');
/**
* Auto complete setting class.
*
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
* @copyright 2020 The Open University
*/
class autocomplete extends \admin_setting_configmultiselect {
/** @var boolean Should we allow typing new entries to the field? */
protected $tags = false;
/** @var string Name of an AMD module to send/process ajax requests. */
protected $ajax = '';
/** @var string Placeholder text for an empty list. */
protected $placeholder = '';
/** @var bool Whether the search has to be case-sensitive. */
protected $casesensitive = false;
/** @var bool Show suggestions by default - but this can be turned off. */
protected $showsuggestions = true;
/** @var string String that is shown when there are no selections. */
protected $noselectionstring = '';
/** @var string Delimiter to store values in database. */
protected $delimiter = ',';
/** @var string Should be multiple choices? */
protected $multiple = true;
/** @var string The link to manage choices. */
protected $manageurl = true;
/** @var string The text to display in manage link. */
protected $managetext = true;
/**
* Constructor
*
* @param string $name unique ascii name, either 'mysetting' for settings that in config, or 'myplugin/mysetting'
* for ones in config_plugins.
* @param string $visiblename localised
* @param string $description long localised info
* @param array $defaultsetting array of selected items
* @param array $choices options for autocomplete field
* @param array $attributes settings for autocomplete field
*/
public function __construct($name, $visiblename, $description, $defaultsetting, $choices, $attributes = null) {
if ($attributes === null) {
$attributes = [];
}
$this->placeholder = get_string('search');
$this->noselectionstring = get_string('noselection', 'form');
$defaultattributes = [
'tags',
'showsuggestions',
'placeholder',
'noselectionstring',
'ajax',
'casesensitive',
'delimiter',
'multiple',
'manageurl',
'managetext'
];
foreach ($defaultattributes as $attributename) {
if (isset($attributes[$attributename])) {
$this->$attributename = $attributes[$attributename];
}
}
parent::__construct($name, $visiblename, $description, $defaultsetting, $choices);
}
/**
* Returns the select setting(s)
*
* @return mixed null or array. Null if no settings else array of setting(s)
*/
public function get_setting() {
$result = $this->config_read($this->name);
if (is_null($result)) {
return null;
}
if ($result === '') {
return [];
}
return explode($this->delimiter, $result);
}
/**
* Saves setting(s) provided through $data
*
* @param array $data
*/
public function write_setting($data) {
if (!is_array($data)) {
return ''; // Ignore it.
}
if (!$this->load_choices() || empty($this->choices)) {
return '';
}
unset($data['xxxxx']);
$save = [];
foreach ($data as $value) {
if (!array_key_exists($value, $this->choices)) {
continue; // Ignore it.
}
$save[] = $value;
}
return ($this->config_write($this->name, implode($this->delimiter, $save)) ? '' : get_string('errorsetting', 'admin'));
}
/**
* Returns XHTML autocomplete field
*
* @param array $data Array of values to select by default
* @param string $query
* @return string XHTML autocomplete field
*/
public function output_html($data, $query = '') {
global $OUTPUT;
if (!$this->load_choices() or empty($this->choices)) {
return '';
}
$default = $this->get_defaultsetting();
if (empty($default)) {
$default = [];
}
if (is_null($data)) {
$data = [];
}
$context = [
'id' => $this->get_id(),
'name' => $this->get_full_name()
];
$defaults = [];
$options = [];
$template = 'core_admin/local/settings/autocomplete';
foreach ($this->choices as $value => $name) {
if (in_array($value, $default)) {
$defaults[] = $name;
}
$options[] = [
'value' => $value,
'text' => $name,
'selected' => in_array($value, $data),
'disabled' => false
];
}
$context['options'] = $options;
$context['tags'] = $this->tags;
$context['placeholder'] = $this->placeholder;
$context['casesensitive'] = $this->casesensitive;
$context['multiple'] = $this->multiple;
$context['showsuggestions'] = $this->showsuggestions;
$context['manageurl'] = $this->manageurl;
$context['managetext'] = $this->managetext;
if (is_null($default)) {
$defaultinfo = null;
} if (!empty($defaults)) {
$defaultinfo = implode(', ', $defaults);
} else {
$defaultinfo = get_string('none');
}
$element = $OUTPUT->render_from_template($template, $context);
return format_admin_setting($this, $this->visiblename, $element, $this->description, true, '', $defaultinfo, $query);
}
}
+4 -1
View File
@@ -126,6 +126,7 @@ class filesize extends \admin_setting {
if (is_null($bytes)) {
return null;
}
$bytes = intval($bytes);
return self::parse_bytes($bytes);
}
@@ -145,9 +146,10 @@ class filesize extends \admin_setting {
return get_string('errorsetting', 'admin');
}
// Calculate size in bytes, ensuring we don't overflow PHP_INT_MAX.
$bytes = $data['v'] * $data['u'];
$result = (is_int($bytes) && $this->config_write($this->name, $bytes));
$result = $this->config_write($this->name, $bytes);
return ($result ? '' : get_string('errorsetting', 'admin'));
}
@@ -178,6 +180,7 @@ class filesize extends \admin_setting {
'id' => $this->get_id(),
'name' => $this->get_full_name(),
'value' => $data['v'],
'readonly' => $this->is_readonly(),
'options' => array_map(function($unit, $title) use ($data, $defaultunit) {
return [
'value' => $unit,
@@ -0,0 +1,74 @@
<?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/>.
/**
* Payment gateway admin setting.
*
* @package core_admin
* @copyright 2020 Shamim Rezaie <shamim@moodle.com>
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
*/
namespace core_admin\local\settings;
/**
* Generic class for managing plugins in a table that allows re-ordering and enable/disable of each plugin.
*/
class manage_payment_gateway_plugins extends \admin_setting_manage_plugins {
/**
* Get the admin settings section title (use get_string).
*
* @return string
*/
public function get_section_title() {
return get_string('type_paygw_plural', 'plugin');
}
/**
* Get the type of plugin to manage.
*
* @return string
*/
public function get_plugin_type() {
return 'paygw';
}
/**
* Get the name of the second column.
*
* @return string
*/
public function get_info_column_name() {
return get_string('supportedcurrencies', 'core_payment');
}
/**
* Get the type of plugin to manage.
*
* @param plugininfo The plugin info class.
* @return string
*/
public function get_info_column($plugininfo) {
$codes = $plugininfo->get_supported_currencies();
$currencies = [];
foreach ($codes as $c) {
$currencies[$c] = new \lang_string($c, 'core_currencies');
}
return implode(get_string('listsep', 'langconfig') . ' ', $currencies);
}
}
+8 -3
View File
@@ -57,6 +57,8 @@ class task_log_table extends \table_sql {
'userid' => get_string('user', 'admin'),
'timestart' => get_string('task_starttime', 'admin'),
'duration' => get_string('task_duration', 'admin'),
'hostname' => get_string('hostname', 'tool_task'),
'pid' => get_string('pid', 'tool_task'),
'db' => get_string('task_dbstats', 'admin'),
'result' => get_string('task_result', 'admin'),
'actions' => '',
@@ -122,8 +124,9 @@ class task_log_table extends \table_sql {
$sort = "ORDER BY $sort";
}
$extrafields = get_extra_user_fields(\context_system::instance());
$userfields = \user_picture::fields('u', $extrafields, 'userid2', 'user');
// TODO Does not support custom user profile fields (MDL-70456).
$userfieldsapi = \core_user\fields::for_identity(\context_system::instance(), false)->with_userpic();
$userfields = $userfieldsapi->get_sql('u', false, 'user', 'userid2', false)->selects;
$where = '';
if (!empty($this->sql->where)) {
@@ -131,7 +134,9 @@ class task_log_table extends \table_sql {
}
$sql = "SELECT
tl.*,
tl.id, tl.type, tl.component, tl.classname, tl.userid, tl.timestart, tl.timeend,
tl.hostname, tl.pid,
tl.dbreads, tl.dbwrites, tl.result,
tl.dbreads + tl.dbwrites AS db,
tl.timeend - tl.timestart AS duration,
{$userfields}
+131
View File
@@ -0,0 +1,131 @@
<?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/>.
/**
* Task executor for adhoc tasks.
*
* @package core
* @subpackage cli
* @copyright 2018 Andrew Nicols <andrew@nicols.co.uk>
* @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");
require_once("{$CFG->libdir}/cronlib.php");
list($options, $unrecognized) = cli_get_params(
[
'execute' => false,
'help' => false,
'keep-alive' => 0,
'showsql' => false,
'showdebugging' => false,
'ignorelimits' => false,
'force' => false,
], [
'h' => 'help',
'e' => 'execute',
'k' => 'keep-alive',
'i' => 'ignorelimits',
'f' => 'force',
]
);
if ($unrecognized) {
$unrecognized = implode("\n ", $unrecognized);
cli_error(get_string('cliunknowoption', 'admin', $unrecognized));
}
if ($options['help'] or empty($options['execute'])) {
$help = <<<EOT
Ad hoc cron tasks.
Options:
-h, --help Print out this help
--showsql Show sql queries before they are executed
--showdebugging Show developer level debugging information
-e, --execute Run all queued adhoc tasks
-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
Example:
\$sudo -u www-data /usr/bin/php admin/cli/adhoc_task.php --execute
EOT;
echo $help;
die;
}
if ($options['showdebugging']) {
set_debugging(DEBUG_DEVELOPER, true);
}
if ($options['showsql']) {
$DB->set_debug(true);
}
if (CLI_MAINTENANCE) {
echo "CLI maintenance mode active, cron execution suspended.\n";
exit(1);
}
if (moodle_needs_upgrading()) {
echo "Moodle upgrade pending, cron execution suspended.\n";
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;
}
if (!empty($CFG->showcronsql)) {
$DB->set_debug(true);
}
if (!empty($CFG->showcrondebugging)) {
set_debugging(DEBUG_DEVELOPER, true);
}
$checklimits = empty($options['ignorelimits']);
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\local\cli\shutdown::script_supports_graceful_exit();
mtrace("Server Time: {$humantimenow}\n");
cron_run_adhoc_tasks(time(), $keepalive, $checklimits);
+14 -2
View File
@@ -120,11 +120,23 @@ if ($options['unset'] || $options['set'] !== null) {
}
// Check that the variable is not hard-set in the main config.php already.
if (array_key_exists($options['name'], $CFG->config_php_settings)) {
$component = $options['component'];
if (!empty($component)) {
$componentsettings = $CFG->forced_plugin_settings[$component] ?? [];
$settinginconfig = array_key_exists($options['name'], $componentsettings);
} else {
$settinginconfig = array_key_exists($options['name'], $CFG->config_php_settings);
}
if ($settinginconfig) {
cli_error('The configuration variable is hard-set in the config.php, unable to change.', 4);
}
set_config($options['name'], $options['set'], $options['component']);
$new = $options['set'];
$old = get_config($options['component'], $options['name']);
if ($new !== $old) {
set_config($options['name'], $options['set'], $options['component']);
add_to_config_log($options['name'], $old, $new, $options['component']);
}
exit(0);
}
+171
View File
@@ -0,0 +1,171 @@
<?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/>.
/**
* CLI tool for system checks
*
* @package core
* @category check
* @copyright 2020 Brendan Heywood (brendan@catalyst-au.net)
* @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');
use core\check\result;
list($options, $unrecognized) = cli_get_params([
'help' => false,
'filter' => '',
'type' => 'status',
'verbose' => false,
], [
'h' => 'help',
'f' => 'filter',
'v' => 'verbose',
't' => 'type',
]);
if ($unrecognized) {
$unrecognized = implode("\n ", $unrecognized);
cli_error(get_string('cliunknowoption', 'admin', $unrecognized));
}
$checks = \core\check\manager::get_checks($options['type']);
$types = join(', ', \core\check\manager::TYPES);
$help = "Run Moodle system checks
Options:
-h, --help Print out this help
-f, --filter Filter to a subset of checks
-t, --type Which set of checks? Defaults to 'status'
One of $types
-v, --verbose Show details of all checks, not just failed checks
Example:
sudo -u www-data php admin/cli/checks.php
sudo -u www-data php admin/cli/checks.php -v
sudo -u www-data php admin/cli/checks.php -v --filter=environment
";
if ($options['help']) {
echo $help;
die();
}
$filter = $options['filter'];
if ($filter) {
$checks = array_filter($checks, function($check, $key) use ($filter) {
$ref = $check->get_ref();
return (strpos($ref, $filter) !== false);
}, 1);
}
// These shell exit codes and labels align with the NRPE standard.
$exitcodes = [
result::NA => 0,
result::OK => 0,
result::INFO => 0,
result::UNKNOWN => 3,
result::WARNING => 1,
result::ERROR => 2,
result::CRITICAL => 2,
];
$exitlabel = [
result::NA => 'OK',
result::OK => 'OK',
result::INFO => 'OK',
result::UNKNOWN => 'UNKNOWN',
result::WARNING => 'WARNING',
result::ERROR => 'CRITICAL',
result::CRITICAL => 'CRITICAL',
];
$format = "% 10s| % -60s\n";
$spacer = "----------+--------------------------------------------------------------------\n";
$prefix = ' |';
$output = '';
$header = $exitlabel[result::OK] . ': ' . get_string('checksok', '', $options['type']) . "\n";
$exitcode = $exitcodes[result::OK];
foreach ($checks as $check) {
$ref = $check->get_ref();
$result = $check->get_result();
$status = $result->get_status();
$checkexitcode = $exitcodes[$status];
// Summary is treated as html.
$summary = $result->get_summary();
$summary = html_to_text($summary, 60, false);
if ($checkexitcode > $exitcode) {
$exitcode = $checkexitcode;
$header = $exitlabel[$status] . ': ' . $check->get_name() . " (" . $check->get_ref() . ")\n";
}
if (empty($messages[$status])) {
$messages[$status] = $result;
}
$len = strlen(get_string('status' . $status));
if ($options['verbose'] ||
$status == result::WARNING ||
$status == result::CRITICAL ||
$status == result::ERROR) {
$output .= sprintf(
$format,
$OUTPUT->check_result($result),
sprintf('%s (%s)', $check->get_name(), $ref)
);
$summary = str_replace("\n", "\n" . $prefix . ' ', $summary);
$output .= sprintf( $format, '', ' ' . $summary);
if ($options['verbose']) {
$actionlink = $check->get_action_link();
if ($actionlink) {
$output .= sprintf( $format, '', ' ' . $actionlink->url);
}
$output .= sprintf( $format, '', '');
}
}
}
// Print NRPE header.
print $header;
// Only show the table header if there is anything to show.
if ($output) {
print sprintf($format,
get_string('status'). ' ',
get_string('check')
) . $spacer;
print $output;
}
// NRPE shell exit code.
exit($exitcode);
+120 -3
View File
@@ -35,8 +35,25 @@ 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),
array('h'=>'help'));
list($options, $unrecognized) = cli_get_params(
[
'help' => false,
'stop' => false,
'list' => false,
'force' => false,
'enable' => false,
'disable' => false,
'disable-wait' => false,
], [
'h' => 'help',
's' => 'stop',
'l' => 'list',
'f' => 'force',
'e' => 'enable',
'd' => 'disable',
'w' => 'disable-wait',
]
);
if ($unrecognized) {
$unrecognized = implode("\n ", $unrecognized);
@@ -48,7 +65,13 @@ if ($options['help']) {
"Execute periodic cron actions.
Options:
-h, --help Print out this help
-h, --help Print out this help
-s, --stop Notify all other running cron processes to stop after the current task
-l, --list Show the list of currently running tasks and how long they have been running
-f, --force Execute task even if cron is disabled
-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)
Example:
\$sudo -u www-data /usr/bin/php admin/cli/cron.php
@@ -58,4 +81,98 @@ Example:
die;
}
if ($options['stop']) {
// By clearing the caches this signals to other running processes
// to exit after finishing the current task.
\core\task\manager::clear_static_caches();
die;
}
if ($options['enable']) {
set_config('cron_enabled', 1);
mtrace('Cron has been enabled for the site.');
exit(0);
}
if ($options['disable']) {
set_config('cron_enabled', 0);
\core\task\manager::clear_static_caches();
mtrace('Cron has been disabled for the site.');
exit(0);
}
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,
'PID',
'HOST',
'TYPE',
'TIME',
'CLASSNAME'
);
foreach ($tasks as $task) {
printf ($format,
$task->pid,
substr($task->hostname, 0, 12),
$task->type,
format_time(time() - $task->timestarted),
substr($task->classname, 0, 52)
);
}
exit(0);
}
if ($wait = $options['disable-wait']) {
$started = time();
if (true === $wait) {
// Default waiting time.
$waitsec = 600;
} else {
$waitsec = $wait;
$wait = true;
}
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.');
$lastcount = 0;
while ($wait) {
$tasks = \core\task\manager::get_running_tasks();
if (count($tasks) == 0) {
mtrace('');
mtrace('All scheduled and adhoc tasks finished.');
exit(0);
}
if (time() - $started >= $waitsec) {
mtrace('');
mtrace('Wait time ('. format_time($waitsec) . ') elapsed, but ' . count($tasks) . ' task(s) still running.');
mtrace('Exiting with code 1.');
exit(1);
}
if (count($tasks) !== $lastcount) {
mtrace('');
mtrace(count($tasks) . " tasks currently running.", '');
$lastcount = count($tasks);
} else {
mtrace('.', '');
}
sleep(1);
}
}
if (!get_config('core', 'cron_enabled') && !$options['force']) {
mtrace('Cron is disabled. Use --force to override.');
exit(1);
}
\core\local\cli\shutdown::script_supports_graceful_exit();
cron_run();
+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/>.
/**
* CLI script to reset dashboards.
*
* @package core
* @subpackage cli
* @copyright 2021 Brendan Heywood (brendan@catalyst-au.net)
* @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');
require_once($CFG->dirroot.'/my/lib.php');
list($options, $unrecognized) = cli_get_params([
'help' => false,
'execute' => false,
], [
'h' => 'help',
'e' => 'execute',
]);
if ($unrecognized) {
$unrecognized = implode("\n ", $unrecognized);
cli_error(get_string('cliunknowoption', 'admin', $unrecognized), 2);
}
if (!$options['execute']) {
$help = <<<EOF
Resets Moodle dashboards for all users
Options:
-h, --help Print out this help
-e, --execute Actually run the reset
Example:
\$ sudo -u www-data /usr/bin/php admin/cli/dashboard_reset.php -e
EOF;
echo $help;
exit(0);
}
$progressbar = new progress_bar();
$progressbar->create();
my_reset_page_for_all_users(MY_PAGE_PRIVATE, 'my-index', $progressbar);
+138
View File
@@ -0,0 +1,138 @@
<?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/>.
/**
* Fix orphaned calendar events that were broken by MDL-67494.
*
* This script will look for all the calendar events which userids
* where broken by a wrong upgrade step, affecting to Moodle 3.9.5
* and up.
*
* It performs checks to both:
* a) Detect if the site was affected (ran the wrong upgrade step).
* b) Look for orphaned calendar events, categorising them as:
* - standard: site / category / course / group / user events
* - subscription: events created via subscriptions.
* - action: normal action events, created to show common important dates.
* - override: user and group override events, particular, that some activities support.
* - custom: other events, not being any of the above, common or particular.
* By specifying it (--fix) try to recover as many broken events (missing userid) as
* possible. Standard, subscription, action, override events in core are fully supported but
* override or custom events should be fixed by each plugin as far as there isn't any standard
* API (plugin-wise) to launch a rebuild of the calendar events.
*
* @package core
* @copyright 2021 onwards Simey Lameze <simey@moodle.com>
* @license https://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
*/
define('CLI_SCRIPT', true);
require_once(__DIR__ . '/../../config.php');
require_once($CFG->libdir . "/clilib.php");
require_once($CFG->libdir . '/db/upgradelib.php');
// Supported options.
$long = ['fix' => false, 'help' => false];
$short = ['f' => 'fix', 'h' => 'help'];
// CLI options.
[$options, $unrecognized] = cli_get_params($long, $short);
if ($unrecognized) {
$unrecognized = implode("\n ", $unrecognized);
cli_error(get_string('cliunknowoption', 'admin', $unrecognized));
}
if ($options['help']) {
$help = <<<EOT
Fix orphaned calendar events.
This script detects calendar events that have had their
userid lost. By default it will perform various checks
and report them, showing the site status in an easy way.
Also, optionally (--fix), it wil try to recover as many
lost userids as possible from different sources. Note that
this script aims to process well-know events in core,
leaving custom events in 3rd part plugins mostly unmodified
because there isn't any consistent way to regenerate them.
For more details: https://tracker.moodle.org/browse/MDL-71156
Options:
-h, --help Print out this help.
-f, --fix Fix the orphaned calendar events in the DB.
If not specified only check and report problems to STDERR.
Usage:
- Only report: \$ sudo -u www-data /usr/bin/php admin/cli/fix_orphaned_calendar_events.php
- Report and fix: \$ sudo -u www-data /usr/bin/php admin/cli/fix_orphaned_calendar_events.php -f
EOT;
cli_writeln($help);
die;
}
// Check various usual pre-requisites.
if (empty($CFG->version)) {
cli_error('Database is not yet installed.');
}
$admin = get_admin();
if (!$admin) {
cli_error('Error: No admin account was found.');
}
if (moodle_needs_upgrading()) {
cli_error('Moodle upgrade pending, script execution suspended.');
}
// Do everything as admin by default.
\core\session\manager::set_user($admin);
// Report current site status.
cli_heading('Checking the site status');
$needsfix = upgrade_calendar_site_status();
// Report current calendar events status.
cli_heading('Checking the calendar events status');
$info = upgrade_calendar_events_status();
$hasbadevents = $info['total']->bad > 0 || $info['total']->bad != $info['other']->bad;
$needsfix = $needsfix || $hasbadevents;
// If, selected, fix as many calendar events as possible.
if ($options['fix']) {
// If the report has told us that the fix was not needed... ask for confirmation!
if (!$needsfix) {
cli_writeln("This site DOES NOT NEED to run the calendar events fix.");
$input = cli_input('Are you completely sure that you want to run the fix? (y/N)', 'N', ['y', 'Y', 'n', 'N']);
if (strtolower($input) != 'y') {
exit(0);
}
cli_writeln("");
}
cli_heading('Fixing as many as possible calendar events');
upgrade_calendar_events_fix_remaining($info);
// Report current (after fix) calendar events status.
cli_heading('Checking the calendar events status (after fix)');
upgrade_calendar_events_status();
} else if ($needsfix) {
// Fix option was not provided but problem events have been found. Notify the user and provide info how to fix these events.
cli_writeln("This site NEEDS to run the calendar events fix!");
cli_writeln("To fix the calendar events, re-run this script with the --fix option.");
}
+79
View File
@@ -0,0 +1,79 @@
<?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/>.
/**
* Generates a secure key for the current server (presuming it does not already exist).
*
* @package core_admin
* @copyright 2020 The Open University
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
*/
use \core\encryption;
define('CLI_SCRIPT', true);
require(__DIR__ . '/../../config.php');
require_once($CFG->libdir . '/clilib.php');
// Get cli options.
[$options, $unrecognized] = cli_get_params(
['help' => false, 'method' => null],
['h' => 'help']);
if ($unrecognized) {
$unrecognized = implode("\n ", $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
This script manually creates a secure key within the secret data root folder (configured in
config.php as \$CFG->secretdataroot). You must run it using an account with access to write
to that folder.
In normal use Moodle automatically creates the key; this script is intended when setting up
a new Moodle system, for cases where the secure folder is not on shared storage and the key
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
Example:
php admin/cli/generate_key.php
";
exit;
}
$method = $options['method'];
if (encryption::key_exists($method)) {
echo 'Key already exists: ' . encryption::get_key_file($method) . "\n";
exit;
}
// Creates key with default permissions (no chmod).
echo "Generating key...\n";
encryption::create_key($method, false);
echo "\nKey created: " . encryption::get_key_file($method) . "\n\n";
echo "If the key folder is not shared storage, then key files should be copied to all servers.\n";
+100 -90
View File
@@ -215,6 +215,7 @@ define('SITEID', 1);
//Database types
$databases = array('mysqli' => moodle_database::get_driver_instance('mysqli', 'native'),
'auroramysql' => moodle_database::get_driver_instance('auroramysql', 'native'),
'mariadb'=> moodle_database::get_driver_instance('mariadb', 'native'),
'pgsql' => moodle_database::get_driver_instance('pgsql', 'native'),
'oci' => moodle_database::get_driver_instance('oci', 'native'),
@@ -266,6 +267,7 @@ list($options, $unrecognized) = cli_get_params(
);
$interactive = empty($options['non-interactive']);
$skipdatabase = $options['skip-database'];
// set up language
$lang = clean_param($options['lang'], PARAM_SAFEDIR);
@@ -637,96 +639,100 @@ do {
}
} while ($hintdatabase !== '');
// ask for fullname
if ($interactive) {
cli_separator();
cli_heading(get_string('fullsitename', 'moodle'));
// If --skip-database option is provided, we do not need to ask for site fullname, shortname, adminuser, adminpass, adminemail.
// These fields will be requested during the database install part.
if (!$skipdatabase) {
// Ask for fullname.
if ($interactive) {
cli_separator();
cli_heading(get_string('fullsitename', 'moodle'));
if ($options['fullname'] !== '') {
$prompt = get_string('clitypevaluedefault', 'admin', $options['fullname']);
if ($options['fullname'] !== '') {
$prompt = get_string('clitypevaluedefault', 'admin', $options['fullname']);
} else {
$prompt = get_string('clitypevalue', 'admin');
}
do {
$options['fullname'] = cli_input($prompt, $options['fullname']);
} while (empty($options['fullname']));
} else {
$prompt = get_string('clitypevalue', 'admin');
if (empty($options['fullname'])) {
$a = (object)['option' => 'fullname', 'value' => $options['fullname']];
cli_error(get_string('cliincorrectvalueerror', 'admin', $a));
}
}
do {
$options['fullname'] = cli_input($prompt, $options['fullname']);
} while (empty($options['fullname']));
} else {
if (empty($options['fullname'])) {
$a = (object)array('option'=>'fullname', 'value'=>$options['fullname']);
cli_error(get_string('cliincorrectvalueerror', 'admin', $a));
}
}
// Ask for shortname.
if ($interactive) {
cli_separator();
cli_heading(get_string('shortsitename', 'moodle'));
// ask for shortname
if ($interactive) {
cli_separator();
cli_heading(get_string('shortsitename', 'moodle'));
if ($options['shortname'] !== '') {
$prompt = get_string('clitypevaluedefault', 'admin', $options['shortname']);
} else {
$prompt = get_string('clitypevalue', 'admin');
}
if ($options['shortname'] !== '') {
$prompt = get_string('clitypevaluedefault', 'admin', $options['shortname']);
do {
$options['shortname'] = cli_input($prompt, $options['shortname']);
} while (empty($options['shortname']));
} else {
$prompt = get_string('clitypevalue', 'admin');
if (empty($options['shortname'])) {
$a = (object)['option' => 'shortname', 'value' => $options['shortname']];
cli_error(get_string('cliincorrectvalueerror', 'admin', $a));
}
}
do {
$options['shortname'] = cli_input($prompt, $options['shortname']);
} while (empty($options['shortname']));
} else {
if (empty($options['shortname'])) {
$a = (object)array('option'=>'shortname', 'value'=>$options['shortname']);
cli_error(get_string('cliincorrectvalueerror', 'admin', $a));
}
}
// ask for admin user name
if ($interactive) {
cli_separator();
cli_heading(get_string('cliadminusername', 'install'));
if (!empty($options['adminuser'])) {
$prompt = get_string('clitypevaluedefault', 'admin', $options['adminuser']);
// Ask for admin user name.
if ($interactive) {
cli_separator();
cli_heading(get_string('cliadminusername', 'install'));
if (!empty($options['adminuser'])) {
$prompt = get_string('clitypevaluedefault', 'admin', $options['adminuser']);
} else {
$prompt = get_string('clitypevalue', 'admin');
}
do {
$options['adminuser'] = cli_input($prompt, $options['adminuser']);
} while (empty($options['adminuser']) or $options['adminuser'] === 'guest');
} else {
if ((empty($options['adminuser']) || $options['adminuser'] === 'guest')) {
$a = (object)['option' => 'adminuser', 'value' => $options['adminuser']];
cli_error(get_string('cliincorrectvalueerror', 'admin', $a));
}
}
// Ask for admin user password.
if ($interactive) {
cli_separator();
cli_heading(get_string('cliadminpassword', 'install'));
$prompt = get_string('clitypevalue', 'admin');
do {
$options['adminpass'] = cli_input($prompt);
} while (empty($options['adminpass']) or $options['adminpass'] === 'admin');
} else {
if ((empty($options['adminpass']) or $options['adminpass'] === 'admin')) {
$a = (object)['option' => 'adminpass', 'value' => $options['adminpass']];
cli_error(get_string('cliincorrectvalueerror', 'admin', $a));
}
}
do {
$options['adminuser'] = cli_input($prompt, $options['adminuser']);
} while (empty($options['adminuser']) or $options['adminuser'] === 'guest');
} else {
if (empty($options['adminuser']) or $options['adminuser'] === 'guest') {
$a = (object)array('option'=>'adminuser', 'value'=>$options['adminuser']);
// Ask for the admin email address.
if ($interactive) {
cli_separator();
cli_heading(get_string('cliadminemail', 'install'));
$prompt = get_string('clitypevaluedefault', 'admin', $options['adminemail']);
$options['adminemail'] = cli_input($prompt, $options['adminemail']);
}
// Validate that the address provided was an e-mail address.
if (!empty($options['adminemail']) && !validate_email($options['adminemail'])) {
$a = (object)['option' => 'adminemail', 'value' => $options['adminemail']];
cli_error(get_string('cliincorrectvalueerror', 'admin', $a));
}
}
// ask for admin user password
if ($interactive) {
cli_separator();
cli_heading(get_string('cliadminpassword', 'install'));
$prompt = get_string('clitypevalue', 'admin');
do {
$options['adminpass'] = cli_input($prompt);
} while (empty($options['adminpass']) or $options['adminpass'] === 'admin');
} else {
if (empty($options['adminpass']) or $options['adminpass'] === 'admin') {
$a = (object)array('option'=>'adminpass', 'value'=>$options['adminpass']);
cli_error(get_string('cliincorrectvalueerror', 'admin', $a));
}
}
// Ask for the admin email address.
if ($interactive) {
cli_separator();
cli_heading(get_string('cliadminemail', 'install'));
$prompt = get_string('clitypevaluedefault', 'admin', $options['adminemail']);
$options['adminemail'] = cli_input($prompt, $options['adminemail']);
}
// Validate that the address provided was an e-mail address.
if (!empty($options['adminemail']) && !validate_email($options['adminemail'])) {
$a = (object) array('option' => 'adminemail', 'value' => $options['adminemail']);
cli_error(get_string('cliincorrectvalueerror', 'admin', $a));
}
// Ask for the upgrade key.
if ($interactive) {
cli_separator();
@@ -745,22 +751,26 @@ if ($options['upgradekey'] !== '') {
$CFG->upgradekey = $options['upgradekey'];
}
if ($interactive) {
if (!$options['agree-license']) {
cli_separator();
cli_heading(get_string('copyrightnotice'));
echo "Moodle - Modular Object-Oriented Dynamic Learning Environment\n";
echo get_string('gpl3')."\n\n";
echo get_string('doyouagree')."\n";
$prompt = get_string('cliyesnoprompt', 'admin');
$input = cli_input($prompt, '', array(get_string('clianswerno', 'admin'), get_string('cliansweryes', 'admin')));
if ($input == get_string('clianswerno', 'admin')) {
exit(1);
// The user does not also need to pass agree-license when --skip-database is provided as the user will need to accept
// the license again in the database install part.
if (!$skipdatabase) {
if ($interactive) {
if (!$options['agree-license']) {
cli_separator();
cli_heading(get_string('copyrightnotice'));
echo "Moodle - Modular Object-Oriented Dynamic Learning Environment\n";
echo get_string('gpl3')."\n\n";
echo get_string('doyouagree')."\n";
$prompt = get_string('cliyesnoprompt', 'admin');
$input = cli_input($prompt, '', array(get_string('clianswerno', 'admin'), get_string('cliansweryes', 'admin')));
if ($input == get_string('clianswerno', 'admin')) {
exit(1);
}
}
} else {
if (!$options['agree-license'] && !$skipdatabase) {
cli_error(get_string('climustagreelicense', 'install'));
}
}
} else {
if (!$options['agree-license']) {
cli_error(get_string('climustagreelicense', 'install'));
}
}
@@ -809,7 +819,7 @@ if (!core_plugin_manager::instance()->all_plugins_ok($version, $failed)) {
cli_error(get_string('pluginschecktodo', 'admin'));
}
if (!$options['skip-database']) {
if (!$skipdatabase) {
install_cli_database($options, $interactive);
// This needs to happen at the end to ensure it occurs after all caches
// have been purged for the last time.
+7
View File
@@ -56,6 +56,7 @@ Options:
--agree-license Indicates agreement with software license.
--fullname=STRING Name of the site
--shortname=STRING Name of the site
--summary=STRING The summary to be displayed on the front page
-h, --help Print out this help
Example:
@@ -96,6 +97,7 @@ list($options, $unrecognized) = cli_get_params(
'adminemail' => '',
'fullname' => '',
'shortname' => '',
'summary' => '',
'agree-license' => false,
'help' => false
),
@@ -104,6 +106,11 @@ list($options, $unrecognized) = cli_get_params(
)
);
if ($unrecognized) {
$unrecognized = implode("\n ", $unrecognized);
cli_error(get_string('cliunknowoption', 'admin', $unrecognized));
}
// We show help text even if tables are installed.
if ($options['help']) {
echo $help;
+8 -8
View File
@@ -119,7 +119,7 @@ if (!empty($options['collation'])) {
if ($dbcollation->value !== $collation || $dbcharset->value !== $charset) {
// Try to convert the DB.
echo "Converting database to '$collation' for $CFG->wwwroot:\n";
$sql = "ALTER DATABASE $CFG->dbname DEFAULT CHARACTER SET $charset DEFAULT COLLATE = $collation";
$sql = "ALTER DATABASE `$CFG->dbname` DEFAULT CHARACTER SET $charset DEFAULT COLLATE = $collation";
try {
$DB->change_database_structure($sql);
} catch (exception $e) {
@@ -146,7 +146,7 @@ if (!empty($options['collation'])) {
} else {
try {
$DB->change_database_structure("ALTER TABLE $table->name CONVERT TO CHARACTER SET $charset COLLATE $collation");
$DB->change_database_structure("ALTER TABLE `$table->name` CONVERT TO CHARACTER SET $charset COLLATE $collation");
echo "CONVERTED\n";
$converted++;
} catch (ddl_exception $e) {
@@ -163,7 +163,7 @@ if (!empty($options['collation'])) {
}
}
$sql = "SHOW FULL COLUMNS FROM $table->name WHERE collation IS NOT NULL";
$sql = "SHOW FULL COLUMNS FROM `$table->name` WHERE collation IS NOT NULL";
$rs2 = $DB->get_recordset_sql($sql);
foreach ($rs2 as $column) {
$column = (object)array_change_key_case((array)$column, CASE_LOWER);
@@ -181,7 +181,7 @@ if (!empty($options['collation'])) {
$notnull = ($column->null === 'NO') ? 'NOT NULL' : 'NULL';
$default = (!is_null($column->default) and $column->default !== '') ? "DEFAULT '$column->default'" : '';
// primary, unique and inc are not supported for texts
$sql = "ALTER TABLE $table->name
$sql = "ALTER TABLE `$table->name`
MODIFY COLUMN $column->field $column->type
CHARACTER SET $charset
COLLATE $collation $notnull $default";
@@ -192,11 +192,11 @@ if (!empty($options['collation'])) {
$default = !is_null($column->default) ? "DEFAULT '$column->default'" : '';
if ($rowformat != '') {
$sql = "ALTER TABLE $table->name $rowformat";
$sql = "ALTER TABLE `$table->name` $rowformat";
$DB->change_database_structure($sql);
}
$sql = "ALTER TABLE $table->name
$sql = "ALTER TABLE `$table->name`
MODIFY COLUMN $column->field $column->type
CHARACTER SET $charset
COLLATE $collation $notnull $default";
@@ -315,8 +315,8 @@ function mysql_set_row_format($tablename, $charset, $collation, $engine) {
if ($rs->row_format == 'Compact' || $rs->row_format == 'Redundant') {
$rowformat = $DB->get_row_format_sql($engine, $collation);
// Try to convert to compressed format and then try updating the collation again.
$DB->change_database_structure("ALTER TABLE $tablename $rowformat");
$DB->change_database_structure("ALTER TABLE $tablename CONVERT TO CHARACTER SET $charset COLLATE $collation");
$DB->change_database_structure("ALTER TABLE `$tablename` $rowformat");
$DB->change_database_structure("ALTER TABLE `$tablename` CONVERT TO CHARACTER SET $charset COLLATE $collation");
} else {
// Row format may not be the problem. Can not diagnose problem. Send fail reply.
return false;
+2 -2
View File
@@ -158,7 +158,7 @@ if (!empty($options['info'])) {
}
foreach ($fixtables as $table) {
$DB->change_database_structure("ALTER TABLE {$prefix}$table ROW_FORMAT=Compressed");
$DB->change_database_structure("ALTER TABLE `{$prefix}$table` ROW_FORMAT=Compressed");
echo str_pad($prefix . $table, 32, ' ', STR_PAD_RIGHT) . " ... Compressed\n";
}
@@ -189,7 +189,7 @@ if (!empty($options['info'])) {
echo "SET GLOBAL innodb_file_per_table=1;\n";
echo "SET GLOBAL innodb_file_format=Barracuda;\n";
foreach ($fixtables as $table) {
echo "ALTER TABLE {$prefix}$table ROW_FORMAT=Compressed;\n";
echo "ALTER TABLE `{$prefix}$table` ROW_FORMAT=Compressed;\n";
}
echo "\n";
exit(0);
+109
View File
@@ -0,0 +1,109 @@
<?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 restore a course from CLI.
*
* @package core
* @subpackage cli
* @copyright 2020 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/restore_includes.php");
list($options, $unrecognized) = cli_get_params([
'file' => '',
'categoryid' => '',
'showdebugging' => false,
'help' => false,
], [
'f' => 'file',
'c' => 'categoryid',
's' => 'showdebugging',
'h' => 'help',
]);
if ($unrecognized) {
$unrecognized = implode("\n ", $unrecognized);
cli_error(get_string('cliunknowoption', 'admin', $unrecognized));
}
if ($options['help'] || !($options['file']) || !($options['categoryid'])) {
$help = <<<EOL
Restore backup into provided category.
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.
Example:
\$sudo -u www-data /usr/bin/php admin/cli/restore_backup.php --file=/path/to/backup/file.mbz --categoryid=1\n
EOL;
echo $help;
exit(0);
}
if ($options['showdebugging']) {
set_debugging(DEBUG_DEVELOPER, true);
}
if (!$admin = get_admin()) {
print_error('noadmins');
}
if (!file_exists($options['file'])) {
print_error('filenotfound');
}
if (!$category = $DB->get_record('course_categories', ['id' => $options['categoryid']], 'id')) {
print_error('invalidcategoryid');
}
$backupdir = "restore_" . uniqid();
$path = $CFG->tempdir . DIRECTORY_SEPARATOR . "backup" . DIRECTORY_SEPARATOR . $backupdir;
cli_heading(get_string('extractingbackupfileto', 'backup', $path));
$fp = get_file_packer('application/vnd.moodle.backup');
$fp->extract_to_pathname($options['file'], $path);
cli_heading(get_string('preprocessingbackupfile'));
try {
list($fullname, $shortname) = restore_dbops::calculate_course_names(0, get_string('restoringcourse', 'backup'),
get_string('restoringcourseshortname', 'backup'));
$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();
} catch (Exception $e) {
cli_heading(get_string('cleaningtempdata'));
fulldelete($path);
print_error('generalexceptionmessage', 'error', '', $e->getMessage());
}
cli_heading(get_string('restoredcourseid', 'backup', $courseid));
exit(0);
+168
View File
@@ -0,0 +1,168 @@
<?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/>.
/**
* CLI task execution.
*
* @package core
* @subpackage cli
* @copyright 2014 Petr Skoda
* @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");
require_once("$CFG->libdir/cronlib.php");
list($options, $unrecognized) = cli_get_params(
[
'help' => false,
'list' => false,
'execute' => false,
'showsql' => false,
'showdebugging' => false,
'force' => false,
], [
'h' => 'help',
'f' => 'force',
]
);
if ($unrecognized) {
$unrecognized = implode("\n ", $unrecognized);
cli_error(get_string('cliunknowoption', 'admin', $unrecognized));
}
if ($options['help'] or (!$options['list'] and !$options['execute'])) {
$help =
"Scheduled cron tasks.
Options:
--execute=\\some\\task Execute scheduled task manually
--list List all scheduled tasks
--showsql Show sql queries before they are executed
--showdebugging Show developer level debugging information
-h, --help Print out this help
-f, --force Execute task even if cron is disabled
Example:
\$sudo -u www-data /usr/bin/php admin/cli/scheduled_task.php --execute=\\core\\task\\session_cleanup_task
";
echo $help;
die;
}
if ($options['showdebugging'] || !empty($CFG->showcrondebugging)) {
set_debugging(DEBUG_DEVELOPER, true);
}
if ($options['showsql'] || !empty($CFG->showcronsql)) {
$DB->set_debug(true);
}
if ($options['list']) {
cli_heading("List of scheduled tasks ($CFG->wwwroot)");
$shorttime = get_string('strftimedatetimeshort');
$tasks = \core\task\manager::get_all_scheduled_tasks();
echo str_pad(get_string('scheduledtasks', 'tool_task'), 50, ' ') . ' ' . str_pad(get_string('runpattern', 'tool_task'), 17, ' ')
. ' ' . str_pad(get_string('lastruntime', 'tool_task'), 40, ' ') . get_string('nextruntime', 'tool_task') . "\n";
foreach ($tasks as $task) {
$class = '\\' . get_class($task);
$schedule = $task->get_minute() . ' '
. $task->get_hour() . ' '
. $task->get_day() . ' '
. $task->get_day_of_week() . ' '
. $task->get_month() . ' '
. $task->get_day_of_week();
$nextrun = $task->get_next_run_time();
$lastrun = $task->get_last_run_time();
$plugininfo = core_plugin_manager::instance()->get_plugin_info($task->get_component());
$plugindisabled = $plugininfo && $plugininfo->is_enabled() === false && !$task->get_run_if_component_disabled();
if ($plugindisabled) {
$nextrun = get_string('plugindisabled', 'tool_task');
} else if ($task->get_disabled()) {
$nextrun = get_string('taskdisabled', 'tool_task');
} else if ($nextrun > time()) {
$nextrun = userdate($nextrun);
} else {
$nextrun = get_string('asap', 'tool_task');
}
if ($lastrun) {
$lastrun = userdate($lastrun);
} else {
$lastrun = get_string('never');
}
echo str_pad($class, 50, ' ') . ' ' . str_pad($schedule, 17, ' ') .
' ' . str_pad($lastrun, 40, ' ') . ' ' . $nextrun . "\n";
}
exit(0);
}
if ($execute = $options['execute']) {
if (!$task = \core\task\manager::get_scheduled_task($execute)) {
mtrace("Task '$execute' not found");
exit(1);
}
if (moodle_needs_upgrading()) {
mtrace("Moodle upgrade pending, cannot execute tasks.");
exit(1);
}
if (!get_config('core', 'cron_enabled') && !$options['force']) {
mtrace('Cron is disabled. Use --force to override.');
exit(1);
}
\core\task\manager::scheduled_task_starting($task);
// Increase memory limit.
raise_memory_limit(MEMORY_EXTRA);
// Emulate normal session - we use admin account by default.
cron_setup_user();
// Execute the task.
\core\local\cli\shutdown::script_supports_graceful_exit();
$cronlockfactory = \core\lock\lock_config::get_lock_factory('cron');
if (!$cronlock = $cronlockfactory->get_lock('core_cron', 10)) {
mtrace('Cannot obtain cron lock');
exit(129);
}
if (!$lock = $cronlockfactory->get_lock('\\' . get_class($task), 10)) {
$cronlock->release();
mtrace('Cannot obtain task lock');
exit(130);
}
$task->set_lock($lock);
if (!$task->is_blocking()) {
$cronlock->release();
} else {
$task->set_cron_lock($cronlock);
}
cron_run_inner_scheduled_task($task);
}
+7 -7
View File
@@ -38,17 +38,17 @@ if ($unrecognized) {
}
// If necessary add files that should be ignored - such as in 3rd party plugins.
$blacklist = array();
$ignorelist = array();
$path = $options['path'];
if (!file_exists($path)) {
cli_error("Invalid path $path");
}
if ($options['ie9fix']) {
core_admin_recurse_svgs($path, '', 'core_admin_svgtool_ie9fix', $blacklist);
core_admin_recurse_svgs($path, '', 'core_admin_svgtool_ie9fix', $ignorelist);
} else if ($options['noaspectratio']) {
core_admin_recurse_svgs($path, '', 'core_admin_svgtool_noaspectratio', $blacklist);
core_admin_recurse_svgs($path, '', 'core_admin_svgtool_noaspectratio', $ignorelist);
} else {
$help =
@@ -153,9 +153,9 @@ function core_admin_svgtool_noaspectratio($file) {
* @param string $base
* @param string $sub
* @param string $filecallback
* @param array $blacklist
* @param array $ignorelist List of files to be ignored and skipped.
*/
function core_admin_recurse_svgs($base, $sub, $filecallback, $blacklist) {
function core_admin_recurse_svgs($base, $sub, $filecallback, $ignorelist) {
if (is_dir("$base/$sub")) {
$items = new DirectoryIterator("$base/$sub");
foreach ($items as $item) {
@@ -163,7 +163,7 @@ function core_admin_recurse_svgs($base, $sub, $filecallback, $blacklist) {
continue;
}
$file = $item->getFilename();
core_admin_recurse_svgs("$base/$sub", $file, $filecallback, $blacklist);
core_admin_recurse_svgs("$base/$sub", $file, $filecallback, $ignorelist);
}
unset($item);
unset($items);
@@ -174,7 +174,7 @@ function core_admin_recurse_svgs($base, $sub, $filecallback, $blacklist) {
return;
}
$file = realpath("$base/$sub");
if (in_array($file, $blacklist)) {
if (in_array($file, $ignorelist)) {
return;
}
$filecallback($file);
+22 -2
View File
@@ -34,16 +34,22 @@ $help = "Command line tool to uninstall plugins.
Options:
-h --help Print this help.
--show-all Displays a list of all installed plugins.
--show-contrib Displays a list of all third-party installed plugins.
--show-missing Displays a list of plugins missing from disk.
--purge-missing Uninstall all missing from disk plugins.
--plugins=<plugin name> A comma separated list of plugins to be uninstalled. E.g. mod_assign,mod_forum
--run Execute uninstall. If this option is not set, then the script will be run in a dry mode.
--showsql Show sql queries before they are executed.
--showdebugging Show developer level debugging information.
Examples:
# php uninstall_plugins.php --show-all
Prints tab-separated list of all installed plugins.
# php uninstall_plugins.php --show-contrib
Prints tab-separated list of all third-party installed plugins.
# php uninstall_plugins.php --show-missing
Prints tab-separated list of all missing from disk plugins.
@@ -63,10 +69,13 @@ Examples:
list($options, $unrecognised) = cli_get_params([
'help' => false,
'show-all' => false,
'show-contrib' => false,
'show-missing' => false,
'purge-missing' => false,
'plugins' => false,
'run' => false,
'showsql' => false,
'showdebugging' => false,
], [
'h' => 'help'
]);
@@ -81,15 +90,26 @@ if ($options['help']) {
exit(0);
}
if ($options['showdebugging']) {
set_debugging(DEBUG_DEVELOPER, true);
}
if ($options['showsql']) {
$DB->set_debug(true);
}
$pluginman = core_plugin_manager::instance();
$plugininfo = $pluginman->get_plugins();
if ($options['show-all'] || $options['show-missing']) {
if ($options['show-all'] || $options['show-missing'] || $options['show-contrib']) {
foreach ($plugininfo as $type => $plugins) {
foreach ($plugins as $name => $plugin) {
if ($options['show-contrib'] && $plugin->is_standard()) {
continue;
}
$pluginstring = $plugin->component . "\t" . $plugin->displayname;
if ($options['show-all']) {
if ($options['show-all'] || $options['show-contrib']) {
cli_writeln($pluginstring);
} else {
if ($plugin->get_status() === core_plugin_manager::PLUGIN_STATUS_MISSING) {
+10 -1
View File
@@ -135,9 +135,18 @@ if (!$envstatus) {
exit(1);
}
// Make sure there are no files left over from previous versions.
if (upgrade_stale_php_files_present()) {
cli_problem(get_string('upgradestalefiles', 'admin'));
// Stale file info contains HTML elements which aren't suitable for CLI.
$upgradestalefilesinfo = get_string('upgradestalefilesinfo', 'admin', get_docs_url('Upgrading'));
cli_error(strip_tags($upgradestalefilesinfo));
}
// Test plugin dependencies.
$failed = array();
if (!core_plugin_manager::instance()->all_plugins_ok($version, $failed)) {
if (!core_plugin_manager::instance()->all_plugins_ok($version, $failed, $CFG->branch)) {
cli_problem(get_string('pluginscheckfailed', 'admin', array('pluginslist' => implode(', ', array_unique($failed)))));
cli_error(get_string('pluginschecktodo', 'admin'));
}
+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/>.
/**
* Content bank and its plugins settings.
*
* @package core
* @subpackage contentbank
* @copyright 2020 Amaia Anabitarte <amaia@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);
$name = required_param('name', PARAM_PLUGIN);
$syscontext = context_system::instance();
$PAGE->set_url('/admin/contentbank.php');
$PAGE->set_context($syscontext);
require_admin();
require_sesskey();
$return = new moodle_url('/admin/settings.php', array('section' => 'managecontentbanktypes'));
$plugins = core_plugin_manager::instance()->get_plugins_of_type('contenttype');
$sortorder = array_flip(array_keys($plugins));
if (!isset($plugins[$name])) {
print_error('contenttypenotfound', 'error', $return, $name);
}
switch ($action) {
case 'disable':
if ($plugins[$name]->is_enabled()) {
set_config('disabled', 1, 'contentbank_'. $name);
}
break;
case 'enable':
if (!$plugins[$name]->is_enabled()) {
unset_config('disabled', 'contentbank_'. $name);
}
break;
case 'up':
if ($sortorder[$name]) {
$currentindex = $sortorder[$name];
$seq = array_keys($plugins);
$seq[$currentindex] = $seq[$currentindex - 1];
$seq[$currentindex - 1] = $name;
set_config('contentbank_plugins_sortorder', implode(',', $seq));
}
break;
case 'down':
if ($sortorder[$name] < count($sortorder) - 1) {
$currentindex = $sortorder[$name];
$seq = array_keys($plugins);
$seq[$currentindex] = $seq[$currentindex + 1];
$seq[$currentindex + 1] = $name;
set_config('contentbank_plugins_sortorder', implode(',', $seq));
}
break;
}
core_plugin_manager::reset_caches();
$cache = cache::make('core', 'contentbank_enabled_extensions');
$cache->purge();
$cache = cache::make('core', 'contentbank_context_extensions');
$cache->purge();
redirect($return);
File diff suppressed because it is too large Load Diff
+43 -16
View File
@@ -226,7 +226,7 @@ if (!core_tables_exist()) {
}
if (empty($confirmrelease)) {
require_once($CFG->libdir.'/environmentlib.php');
list($envstatus, $environment_results) = check_moodle_environment(normalize_version($release), ENV_SELECT_RELEASE);
list($envstatus, $environmentresults) = check_moodle_environment(normalize_version($release), ENV_SELECT_RELEASE);
$strcurrentrelease = get_string('currentrelease');
$PAGE->navbar->add($strcurrentrelease);
@@ -235,13 +235,13 @@ if (!core_tables_exist()) {
$PAGE->set_cacheable(false);
$output = $PAGE->get_renderer('core', 'admin');
echo $output->install_environment_page($maturity, $envstatus, $environment_results, $release);
echo $output->install_environment_page($maturity, $envstatus, $environmentresults, $release);
die();
}
// check plugin dependencies
$failed = array();
if (!core_plugin_manager::instance()->all_plugins_ok($version, $failed)) {
if (!core_plugin_manager::instance()->all_plugins_ok($version, $failed, $CFG->branch)) {
$PAGE->navbar->add(get_string('pluginscheck', 'admin'));
$PAGE->set_title($strinstallation);
$PAGE->set_heading($strinstallation . ' - Moodle ' . $CFG->target_release);
@@ -358,9 +358,9 @@ if (!$cache and $version > $CFG->version) { // upgrade
echo $output->upgrade_confirm_page($a->newversion, $maturity, $testsite);
die();
} else if (empty($confirmrelease)){
} else if (empty($confirmrelease)) {
require_once($CFG->libdir.'/environmentlib.php');
list($envstatus, $environment_results) = check_moodle_environment($release, ENV_SELECT_RELEASE);
list($envstatus, $environmentresults) = check_moodle_environment($release, ENV_SELECT_RELEASE);
$strcurrentrelease = get_string('currentrelease');
$PAGE->navbar->add($strcurrentrelease);
@@ -368,7 +368,7 @@ if (!$cache and $version > $CFG->version) { // upgrade
$PAGE->set_heading($strcurrentrelease);
$PAGE->set_cacheable(false);
echo $output->upgrade_environment_page($release, $envstatus, $environment_results);
echo $output->upgrade_environment_page($release, $envstatus, $environmentresults);
die();
} else if (empty($confirmplugins)) {
@@ -508,8 +508,9 @@ if (!$cache and $version > $CFG->version) { // upgrade
} else {
// Always verify plugin dependencies!
$failed = array();
if (!core_plugin_manager::instance()->all_plugins_ok($version, $failed)) {
echo $output->unsatisfied_dependencies_page($version, $failed, $PAGE->url);
if (!core_plugin_manager::instance()->all_plugins_ok($version, $failed, $CFG->branch)) {
echo $output->unsatisfied_dependencies_page($version, $failed, new moodle_url($PAGE->url,
array('confirmplugincheck' => 0)));
die();
}
unset($failed);
@@ -533,7 +534,10 @@ if (!$cache and $branch <> $CFG->branch) { // Update the branch
if (!$cache and moodle_needs_upgrading()) {
$PAGE->set_url(new moodle_url($PAGE->url, array('confirmplugincheck' => $confirmplugins)));
$PAGE->set_url(new moodle_url($PAGE->url, array(
'confirmrelease' => $confirmrelease,
'confirmplugincheck' => $confirmplugins,
)));
check_upgrade_key($upgradekeyhash);
@@ -543,7 +547,21 @@ if (!$cache and moodle_needs_upgrading()) {
$pluginman = core_plugin_manager::instance();
$output = $PAGE->get_renderer('core', 'admin');
if (!$confirmplugins) {
if (empty($confirmrelease)) {
require_once($CFG->libdir . '/environmentlib.php');
list($envstatus, $environmentresults) = check_moodle_environment($release, ENV_SELECT_RELEASE);
$strcurrentrelease = get_string('currentrelease');
$PAGE->navbar->add($strcurrentrelease);
$PAGE->set_title($strcurrentrelease);
$PAGE->set_heading($strcurrentrelease);
$PAGE->set_cacheable(false);
echo $output->upgrade_environment_page($release, $envstatus, $environmentresults);
die();
} else if (!$confirmplugins) {
$strplugincheck = get_string('plugincheck');
$PAGE->navbar->add($strplugincheck);
@@ -682,9 +700,10 @@ if (!$cache and moodle_needs_upgrading()) {
// Make sure plugin dependencies are always checked.
$failed = array();
if (!$pluginman->all_plugins_ok($version, $failed)) {
if (!$pluginman->all_plugins_ok($version, $failed, $CFG->branch)) {
$output = $PAGE->get_renderer('core', 'admin');
echo $output->unsatisfied_dependencies_page($version, $failed, $PAGE->url);
echo $output->unsatisfied_dependencies_page($version, $failed, new moodle_url($PAGE->url,
array('confirmplugincheck' => 0)));
die();
}
unset($failed);
@@ -802,7 +821,7 @@ $SESSION->admin_critical_warning = ($insecuredataroot==INSECURE_DATAROOT_ERROR);
$adminroot = admin_get_root();
// Check if there are any new admin settings which have still yet to be set
if (any_new_admin_settings($adminroot)){
if (any_new_admin_settings($adminroot)) {
redirect('upgradesettings.php');
}
@@ -826,8 +845,9 @@ $errorsdisplayed = defined('WARN_DISPLAY_ERRORS_ENABLED');
$lastcron = get_config('tool_task', 'lastcronstart');
$cronoverdue = ($lastcron < time() - 3600 * 24);
$lastcroninterval = get_config('tool_task', 'lastcroninterval');
$expectedfrequency = $CFG->expectedcronfrequency ?? 200;
$croninfrequent = !$cronoverdue && ($lastcroninterval > $expectedfrequency || $lastcron < time() - $expectedfrequency);
$expectedfrequency = $CFG->expectedcronfrequency ?? MINSECS;
$croninfrequent = !$cronoverdue && ($lastcroninterval > ($expectedfrequency + MINSECS) || $lastcron < time() - $expectedfrequency);
$dbproblems = $DB->diagnose();
$maintenancemode = !empty($CFG->maintenance_enabled);
@@ -881,6 +901,12 @@ if (empty($CFG->disabledevlibdirscheck) && (is_dir($CFG->dirroot.'/vendor') || i
// Check if the site is being foced onto ssl.
$overridetossl = !empty($CFG->overridetossl);
// Check if moodle campaign content setting is enabled or not.
$showcampaigncontent = !isset($CFG->showcampaigncontent) || $CFG->showcampaigncontent;
// Encourage admins to enable the user feedback feature if it is not enabled already.
$showfeedbackencouragement = empty($CFG->enableuserfeedback);
admin_externalpage_setup('adminnotifications');
$output = $PAGE->get_renderer('core', 'admin');
@@ -888,4 +914,5 @@ $output = $PAGE->get_renderer('core', 'admin');
echo $output->admin_notifications_page($maturity, $insecuredataroot, $errorsdisplayed, $cronoverdue, $dbproblems,
$maintenancemode, $availableupdates, $availableupdatesfetch, $buggyiconvnomb,
$registered, $cachewarnings, $eventshandlers, $themedesignermode, $devlibdir,
$mobileconfigured, $overridetossl, $invalidforgottenpasswordurl, $croninfrequent);
$mobileconfigured, $overridetossl, $invalidforgottenpasswordurl, $croninfrequent,
$showcampaigncontent, $showfeedbackencouragement);
-56
View File
@@ -1,56 +0,0 @@
<?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 admin to configure licenses.
*/
require_once('../config.php');
require_once($CFG->libdir.'/adminlib.php');
require_once($CFG->libdir.'/licenselib.php');
require_admin();
$returnurl = "$CFG->wwwroot/$CFG->admin/settings.php?section=managelicenses";
$action = optional_param('action', '', PARAM_ALPHANUMEXT);
$license = optional_param('license', '', PARAM_SAFEDIR);
////////////////////////////////////////////////////////////////////////////////
// process actions
if (!confirm_sesskey()) {
redirect($returnurl);
}
$return = true;
switch ($action) {
case 'disable':
license_manager::disable($license);
break;
case 'enable':
license_manager::enable($license);
break;
default:
break;
}
if ($return) {
redirect ($returnurl);
}
+40 -11
View File
@@ -33,13 +33,17 @@ $allprocessors = get_message_processors();
$processors = array_filter($allprocessors, function($processor) {
return $processor->enabled;
});
$disabledprocessors = array_filter($allprocessors, function($processor) {
return !$processor->enabled;
});
// Fetch message providers.
$providers = get_message_providers();
// Fetch the manage message outputs interface.
$preferences = get_message_output_default_preferences();
if (($form = data_submitted()) && confirm_sesskey()) {
$preferences = array();
$newpreferences = array();
// Prepare default message outputs settings.
foreach ($providers as $provider) {
$componentproviderbase = $provider->component.'_'.$provider->name;
@@ -47,9 +51,9 @@ if (($form = data_submitted()) && confirm_sesskey()) {
$providerdisabled = false;
if (!isset($form->$disableprovidersetting)) {
$providerdisabled = true;
$preferences[$disableprovidersetting] = 1;
$newpreferences[$disableprovidersetting] = 1;
} else {
$preferences[$disableprovidersetting] = 0;
$newpreferences[$disableprovidersetting] = 0;
}
foreach (array('permitted', 'loggedin', 'loggedoff') as $setting) {
@@ -75,20 +79,36 @@ if (($form = data_submitted()) && confirm_sesskey()) {
$form->{$componentproviderbase.'_loggedoff'}[$processor->name] = 1;
}
// Record the site preference.
$preferences[$processor->name.'_provider_'.$componentprovidersetting] = $value;
$newpreferences[$processor->name.'_provider_'.$componentprovidersetting] = $value;
}
} else if (property_exists($form, $componentprovidersetting)) {
// We must be processing loggedin or loggedoff checkboxes. Store
// defained comma-separated processors as setting value.
// Using array_filter eliminates elements set to 0 above.
$value = join(',', array_keys(array_filter($form->{$componentprovidersetting})));
} else {
$newsettings = array();
if (property_exists($form, $componentprovidersetting)) {
// We must be processing loggedin or loggedoff checkboxes.
// Store defained comma-separated processors as setting value.
// Using array_filter eliminates elements set to 0 above.
$newsettings = array_keys(array_filter($form->{$componentprovidersetting}));
}
// Let's join existing setting values for disabled processors.
$property = 'message_provider_'.$componentprovidersetting;
if (property_exists($preferences, $property)) {
$existingsetting = $preferences->$property;
foreach ($disabledprocessors as $disable) {
if (strpos($existingsetting, $disable->name) > -1) {
$newsettings[] = $disable->name;
}
}
}
$value = join(',', $newsettings);
if (empty($value)) {
$value = null;
}
}
if ($setting != 'permitted') {
// We have already recoded site preferences for 'permitted' type.
$preferences['message_provider_'.$componentprovidersetting] = $value;
$newpreferences['message_provider_'.$componentprovidersetting] = $value;
}
}
}
@@ -99,10 +119,19 @@ if (($form = data_submitted()) && confirm_sesskey()) {
// Save processors enabled/disabled status.
foreach ($allprocessors as $processor) {
$enabled = isset($form->{$processor->name});
if ($enabled != $processor->enabled) {
add_to_config_log($processor->name, $processor->enabled, $enabled, 'core');
}
\core_message\api::update_processor_status($processor, $enabled);
}
foreach ($preferences as $name => $value) {
foreach ($newpreferences as $name => $value) {
$old = isset($preferences->$name) ? $preferences->$name : '';
if ($old != $value) {
add_to_config_log($name, $old, $value, 'core');
}
set_config($name, $value, 'message');
}
$transaction->allow_commit();
+10 -2
View File
@@ -6,7 +6,7 @@ require_once(__DIR__ . '/../../config.php');
require_once($CFG->libdir.'/adminlib.php');
include_once($CFG->dirroot.'/mnet/lib.php');
$sort = optional_param('sort', 'username', PARAM_ALPHA);
$sort = optional_param('sort', 'username', PARAM_ALPHAEXT);
$dir = optional_param('dir', 'ASC', PARAM_ALPHA);
$page = optional_param('page', 0, PARAM_INT);
$perpage = optional_param('perpage', 30, PARAM_INT);
@@ -153,7 +153,15 @@ foreach ($columns as $column) {
$headings[$column] = "<a href=\"?sort=$column&amp;dir=$columndir&amp;\">".$string[$column]."</a>$columnicon";
}
$headings['delete'] = '';
$acl = $DB->get_records('mnet_sso_access_control', null, "$sort $dir", '*'); //, $page * $perpage, $perpage);
$sortorder = get_safe_orderby([
'username' => 'username',
'mnet_host_id' => 'mnet_host_id',
'access' => 'accessctrl',
'default' => 'username',
], $sort, $dir, false);
$acl = $DB->get_records('mnet_sso_access_control', null, $sortorder);
$aclcount = $DB->count_records('mnet_sso_access_control');
if (!$acl) {
+3 -4
View File
@@ -59,9 +59,8 @@ class mnet_simple_host_form extends moodleform {
$wwwroot = 'http://'.$wwwroot;
}
if ($host = $DB->get_record('mnet_host', array('wwwroot' => $wwwroot))) {
global $CFG;
return array('wwwroot' => get_string('hostexists', 'mnet',
new moodle_url('/admin/mnet/peers.php', array('hostid' => $host->id))));
$str = get_string('hostexists', 'mnet', (new moodle_url('/admin/mnet/peers.php', ['hostid' => $host->id]))->out());
return array('wwwroot' => $str);
}
return array();
}
@@ -156,7 +155,7 @@ class mnet_review_host_form extends moodleform {
if ($mnet_peer && !empty($mnet_peer->deleted)) {
$radioarray = array();
$radioarray[] = $mform->createElement('static', 'deletedinfo', '',
$OUTPUT->container(get_string('deletedhostinfo', 'mnet'), 'deletedhostinfo'));
$OUTPUT->container(get_string('deletedhostinfo', 'mnet'), 'alert alert-warning'));
$radioarray[] = $mform->createElement('radio', 'deleted', '', get_string('yes'), 1);
$radioarray[] = $mform->createElement('radio', 'deleted', '', get_string('no'), 0);
$mform->addGroup($radioarray, 'radioar', get_string('deleted'), array(' ', ' '), false);
+4 -2
View File
@@ -49,6 +49,7 @@
array($module->id));
core_plugin_manager::reset_caches();
admin_get_root(true, false); // settings not required - only pages
redirect(new moodle_url('/admin/modules.php'));
}
if (!empty($show) and confirm_sesskey()) {
@@ -66,6 +67,7 @@
array($module->id));
core_plugin_manager::reset_caches();
admin_get_root(true, false); // settings not required - only pages
redirect(new moodle_url('/admin/modules.php'));
}
echo $OUTPUT->header();
@@ -121,8 +123,8 @@
$count = -1;
}
if ($count>0) {
$countlink = "<a href=\"{$CFG->wwwroot}/course/search.php?modulelist=$module->name" .
"&amp;sesskey=".sesskey()."\" title=\"$strshowmodulecourse\">$count</a>";
$countlink = $OUTPUT->action_link(new moodle_url('/course/search.php', ['modulelist' => $module->name]),
$count, null, ['title' => $strshowmodulecourse]);
} else if ($count < 0) {
$countlink = get_string('error');
} else {
+6 -4
View File
@@ -34,11 +34,12 @@ $error = optional_param('error', '', PARAM_RAW);
if ($error) {
$message = optional_param('error_description', '', PARAM_RAW);
if ($message) {
print_error($message);
$SESSION->loginerrormsg = $message;
redirect(new moodle_url(get_login_url()));
} else {
print_error($error);
$SESSION->loginerrormsg = $error;
redirect(new moodle_url(get_login_url()));
}
die();
}
// The authorization code generated by the authorization server.
@@ -53,5 +54,6 @@ if (isset($params['sesskey']) and confirm_sesskey($params['sesskey'])) {
$redirecturl->param('oauth2code', $code);
redirect($redirecturl);
} else {
print_error('invalidsesskey');
$SESSION->loginerrormsg = get_string('invalidsesskey', 'error');
redirect(new moodle_url(get_login_url()));
}
+1 -1
View File
@@ -53,7 +53,6 @@ $pageurl = new moodle_url('/admin/plugins.php', $pageparams);
$pluginman = core_plugin_manager::instance();
if ($uninstall) {
require_sesskey();
if (!$confirmed) {
admin_externalpage_setup('pluginsoverview', '', $pageparams);
@@ -92,6 +91,7 @@ if ($uninstall) {
exit();
} else {
require_sesskey();
$SESSION->pluginuninstallreturn = $pluginfo->get_return_url_after_uninstall($return);
$progress = new progress_trace_buffer(new text_progress_trace(), false);
$pluginman->uninstall_plugin($pluginfo->component, $progress);
+9 -4
View File
@@ -38,12 +38,11 @@ $form = new core_admin\form\purge_caches(null, ['returnurl' => $returnurl]);
if ($data = $form->get_data()) {
// Valid request. Purge, and redirect the user back to where they came from.
$selected = $data->purgeselectedoptions;
purge_caches($selected);
if (isset($data->all)) {
purge_caches();
$message = get_string('purgecachesfinished', 'admin');
} else {
purge_caches($data->purgeselectedoptions);
$message = get_string('purgeselectedcachesfinished', 'admin');
}
@@ -52,8 +51,14 @@ if ($data = $form->get_data()) {
$message = get_string('purgecachesfinished', 'admin');
}
// Redirect and/or show notification message confirming cache(s) were purged.
if (isset($message)) {
redirect($returnurl, $message);
if (!$PAGE->url->compare($returnurl, URL_MATCH_BASE)) {
redirect($returnurl, $message);
}
// We are already on the purge caches page, add the notification.
\core\notification::add($message, \core\output\notification::NOTIFY_INFO);
}
// Otherwise, show a form to actually purge the caches.
+1 -1
View File
@@ -170,7 +170,7 @@ foreach ($sortedbehaviours as $behaviour => $behaviourname) {
if ($version) {
$row[] = $version;
} else {
$row[] = html_writer::tag('span', get_string('nodatabase', 'admin'), array('class' => 'disabled'));
$row[] = html_writer::tag('span', get_string('nodatabase', 'admin'), array('class' => 'text-muted'));
}
// Other question types required by this one.
+1 -1
View File
@@ -172,7 +172,7 @@ foreach ($sortedqtypes as $qtypename => $localname) {
if ($version) {
$row[] = $version;
} else {
$row[] = html_writer::tag('span', get_string('nodatabase', 'admin'), array('class' => 'disabled'));
$row[] = html_writer::tag('span', get_string('nodatabase', 'admin'), array('class' => 'text-muted'));
}
// Other question types required by this one.
+48
View File
@@ -0,0 +1,48 @@
<?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/>.
/**
* Endpoint to get the Moodle version
*
* Moodle linkchecker will check this endpoint when it cannot get the Moodle version otherwise.
*
* @package core
* @copyright 2022 Victor Deniz <victor@moodle.com>
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
*/
require_once(__DIR__ . '/../../config.php');
require_once($CFG->libdir . '/filelib.php');
// Get public key.
$key = download_file_content(HUB_STATSPUBLICKEY);
// Check $key is a valid public key.
$publickey = openssl_pkey_get_public($key);
if ($publickey !== false) {
$publickeystr = openssl_pkey_get_details($publickey)['key'];
} else {
die('Error getting a valid public key');
}
// Encrypt data.
$message = $CFG->release;
$success = openssl_public_encrypt(utf8_encode($message), $encrypteddata, $publickeystr);
if ($success) {
echo base64_encode($encrypteddata);
} else {
die ('Error encrypting the data');
}
+1 -1
View File
@@ -45,7 +45,7 @@ $error = optional_param('error', '', PARAM_ALPHANUM);
admin_externalpage_setup('registrationmoodleorg');
if ($url !== HUB_MOODLEORGHUBURL) {
if (parse_url($url, PHP_URL_HOST) !== parse_url(HUB_MOODLEORGHUBURL, PHP_URL_HOST)) {
// Allow other plugins to confirm registration on custom hubs. Plugins implementing this
// callback need to redirect or exit. See https://docs.moodle.org/en/Hub_registration .
$callbacks = get_plugins_with_function('hub_registration');
+1 -1
View File
@@ -39,7 +39,7 @@ $token = optional_param('token', '', PARAM_TEXT);
admin_externalpage_setup('registrationmoodleorg');
if ($url !== HUB_MOODLEORGHUBURL) {
if (parse_url($url, PHP_URL_HOST) !== parse_url(HUB_MOODLEORGHUBURL, PHP_URL_HOST)) {
// Allow other plugins to renew registration on custom hubs. Plugins implementing this
// callback need to redirect or exit. See https://docs.moodle.org/en/Hub_registration .
$callbacks = get_plugins_with_function('hub_registration');
+168 -95
View File
@@ -220,7 +220,7 @@ class core_admin_renderer extends plugin_renderer_base {
$output .= $this->container_end();
}
$button = new single_button($continueurl, get_string('upgradestart', 'admin'), 'get');
$button = new single_button($continueurl, get_string('upgradestart', 'admin'), 'get', true);
$button->class = 'continuebutton';
$output .= $this->render($button);
$output .= $this->footer();
@@ -253,7 +253,7 @@ class core_admin_renderer extends plugin_renderer_base {
$out .= $this->output->container(get_string('cancelinstallinfodir', 'core_plugin', $pluginfo->rootdir));
if ($repotype = $pluginman->plugin_external_source($pluginfo->component)) {
$out .= $this->output->container(get_string('uninstalldeleteconfirmexternal', 'core_plugin', $repotype),
'uninstalldeleteconfirmexternal');
'alert alert-warning mt-2');
}
}
@@ -282,6 +282,8 @@ class core_admin_renderer extends plugin_renderer_base {
* @param bool $overridetossl Whether or not ssl is being forced.
* @param bool $invalidforgottenpasswordurl Whether the forgotten password URL does not link to a valid URL.
* @param bool $croninfrequent If true, warn that cron hasn't run in the past few minutes
* @param bool $showcampaigncontent Whether the campaign content should be visible or not.
* @param bool $showfeedbackencouragement Whether the feedback encouragement content should be displayed or not.
*
* @return string HTML to output.
*/
@@ -289,7 +291,9 @@ class core_admin_renderer extends plugin_renderer_base {
$cronoverdue, $dbproblems, $maintenancemode, $availableupdates, $availableupdatesfetch,
$buggyiconvnomb, $registered, array $cachewarnings = array(), $eventshandlers = 0,
$themedesignermode = false, $devlibdir = false, $mobileconfigured = false,
$overridetossl = false, $invalidforgottenpasswordurl = false, $croninfrequent = false) {
$overridetossl = false, $invalidforgottenpasswordurl = false, $croninfrequent = false,
$showcampaigncontent = false, bool $showfeedbackencouragement = false) {
global $CFG;
$output = '';
@@ -312,6 +316,8 @@ class core_admin_renderer extends plugin_renderer_base {
$output .= $this->registration_warning($registered);
$output .= $this->mobile_configuration_warning($mobileconfigured);
$output .= $this->forgotten_password_url_warning($invalidforgottenpasswordurl);
$output .= $this->userfeedback_encouragement($showfeedbackencouragement);
$output .= $this->campaign_content($showcampaigncontent);
//////////////////////////////////////////////////////////////////////////////////////////////////
//// IT IS ILLEGAL AND A VIOLATION OF THE GPL TO HIDE, REMOVE OR MODIFY THIS COPYRIGHT NOTICE ///
@@ -361,14 +367,15 @@ class core_admin_renderer extends plugin_renderer_base {
$output = '';
if ($checker->enabled()) {
$output .= $this->container_start('checkforupdates');
$output .= $this->container_start('checkforupdates mb-4');
$output .= $this->single_button(
new moodle_url($reloadurl, array('fetchupdates' => 1)),
get_string('checkforupdates', 'core_plugin')
);
if ($timefetched = $checker->get_last_timefetched()) {
$timefetched = userdate($timefetched, get_string('strftimedatetime', 'core_langconfig'));
$output .= $this->container(get_string('checkforupdateslast', 'core_plugin', $timefetched), 'lasttimefetched');
$output .= $this->container(get_string('checkforupdateslast', 'core_plugin', $timefetched),
'lasttimefetched small text-muted mt-1');
}
$output .= $this->container_end();
}
@@ -432,7 +439,7 @@ class core_admin_renderer extends plugin_renderer_base {
if ($repotype = $pluginman->plugin_external_source($pluginfo->component)) {
$confirm .= $this->output->container(get_string('uninstalldeleteconfirmexternal', 'core_plugin', $repotype),
'uninstalldeleteconfirmexternal');
'alert alert-warning mt-2');
}
// After any uninstall we must execute full upgrade to finish the cleanup!
@@ -511,7 +518,7 @@ class core_admin_renderer extends plugin_renderer_base {
* @return string HTML to output.
*/
protected function warning($message, $type = 'warning') {
return $this->box($message, 'generalbox admin' . $type);
return $this->box($message, 'generalbox alert alert-' . $type);
}
/**
@@ -526,7 +533,7 @@ class core_admin_renderer extends plugin_renderer_base {
return $this->warning(get_string('datarootsecuritywarning', 'admin', $CFG->dataroot));
} else if ($insecuredataroot == INSECURE_DATAROOT_ERROR) {
return $this->warning(get_string('datarootsecurityerror', 'admin', $CFG->dataroot), 'error');
return $this->warning(get_string('datarootsecurityerror', 'admin', $CFG->dataroot), 'danger');
} else {
return '';
@@ -544,7 +551,7 @@ class core_admin_renderer extends plugin_renderer_base {
if ($devlibdir) {
$moreinfo = new moodle_url('/report/security/index.php');
$warning = get_string('devlibdirpresent', 'core_admin', ['moreinfourl' => $moreinfo->out()]);
return $this->warning($warning, 'error');
return $this->warning($warning, 'danger');
} else {
return '';
@@ -601,19 +608,9 @@ class core_admin_renderer extends plugin_renderer_base {
return '';
}
if (empty($CFG->cronclionly)) {
$url = new moodle_url('/admin/cron.php');
if (!empty($CFG->cronremotepassword)) {
$url = new moodle_url('/admin/cron.php', array('password' => $CFG->cronremotepassword));
}
return $this->warning(get_string('cronwarning', 'admin', $url->out()) . '&nbsp;' .
$this->help_icon('cron', 'admin'));
}
// $CFG->cronclionly is not empty: cron can run only from CLI.
return $this->warning(get_string('cronwarningcli', 'admin') . '&nbsp;' .
$this->help_icon('cron', 'admin'));
$check = new \tool_task\check\cronrunning();
$result = $check->get_result();
return $this->warning($result->get_summary() . '&nbsp;' . $this->help_icon('cron', 'admin'));
}
/**
@@ -629,9 +626,9 @@ class core_admin_renderer extends plugin_renderer_base {
return '';
}
$expectedfrequency = $CFG->expectedcronfrequency ?? 200;
return $this->warning(get_string('croninfrequent', 'admin', $expectedfrequency) . '&nbsp;' .
$this->help_icon('cron', 'admin'));
$check = new \tool_task\check\cronrunning();
$result = $check->get_result();
return $this->warning($result->get_summary() . '&nbsp;' . $this->help_icon('cron', 'admin'));
}
/**
@@ -721,7 +718,7 @@ class core_admin_renderer extends plugin_renderer_base {
return $this->warning(
$this->container(get_string('maturitycorewarning', 'admin', $maturitylevel)) .
$this->container($this->doc_link('admin/versions', get_string('morehelp'))),
'error');
'danger');
}
/*
@@ -737,7 +734,7 @@ class core_admin_renderer extends plugin_renderer_base {
}
$warning = (get_string('testsiteupgradewarning', 'admin', $testsite));
return $this->warning($warning, 'error');
return $this->warning($warning, 'danger');
}
/**
@@ -772,7 +769,7 @@ class core_admin_renderer extends plugin_renderer_base {
$level = 'warning';
if ($maturity == MATURITY_ALPHA) {
$level = 'error';
$level = 'danger';
}
$maturitylevel = get_string('maturity' . $maturity, 'admin');
@@ -823,7 +820,7 @@ class core_admin_renderer extends plugin_renderer_base {
}
}
$updateinfo .= $this->container_start('checkforupdates');
$updateinfo .= $this->container_start('checkforupdates mt-1');
$fetchurl = new moodle_url('/admin/index.php', array('fetchupdates' => 1, 'sesskey' => sesskey(), 'cache' => 0));
$updateinfo .= $this->single_button($fetchurl, get_string('checkforupdates', 'core_plugin'));
if ($fetch) {
@@ -887,6 +884,20 @@ class core_admin_renderer extends plugin_renderer_base {
return $output;
}
/**
* Display campaign content.
*
* @param bool $showcampaigncontent Whether the campaign content should be visible or not.
* @return string the campaign content raw html.
*/
protected function campaign_content(bool $showcampaigncontent): string {
if (!$showcampaigncontent) {
return '';
}
return $this->render_from_template('core/campaign_content', ['lang' => current_language()]);
}
/**
* Display a warning about the forgotten password URL not linking to a valid URL.
*
@@ -912,7 +923,7 @@ class core_admin_renderer extends plugin_renderer_base {
*/
protected function moodle_available_update_info(\core\update\info $updateinfo) {
$boxclasses = 'moodleupdateinfo';
$boxclasses = 'moodleupdateinfo mb-2';
$info = array();
if (isset($updateinfo->release)) {
@@ -932,7 +943,8 @@ class core_admin_renderer extends plugin_renderer_base {
}
if (isset($updateinfo->download)) {
$info[] = html_writer::link($updateinfo->download, get_string('download'), array('class' => 'info download'));
$info[] = html_writer::link($updateinfo->download, get_string('download'),
array('class' => 'info download btn btn-secondary'));
}
if (isset($updateinfo->url)) {
@@ -940,9 +952,9 @@ class core_admin_renderer extends plugin_renderer_base {
array('class' => 'info more'));
}
$box = $this->output->box_start($boxclasses);
$box .= $this->output->box(implode(html_writer::tag('span', ' ', array('class' => 'separator')), $info), '');
$box .= $this->output->box_end();
$box = $this->output->container_start($boxclasses);
$box .= $this->output->container(implode(html_writer::tag('span', ' | ', array('class' => 'separator')), $info), '');
$box .= $this->output->container_end();
return $box;
}
@@ -954,7 +966,7 @@ class core_admin_renderer extends plugin_renderer_base {
protected function release_notes_link() {
$releasenoteslink = get_string('releasenoteslink', 'admin', 'http://docs.moodle.org/dev/Releases');
$releasenoteslink = str_replace('target="_blank"', 'onclick="this.target=\'_blank\'"', $releasenoteslink); // extremely ugly validation hack
return $this->box($releasenoteslink, 'generalbox releasenoteslink');
return $this->box($releasenoteslink, 'generalbox alert alert-info');
}
/**
@@ -983,7 +995,7 @@ class core_admin_renderer extends plugin_renderer_base {
* @return string HTML code
*/
public function plugins_check_table(core_plugin_manager $pluginman, $version, array $options = array()) {
global $CFG;
$plugininfo = $pluginman->get_plugins();
if (empty($plugininfo)) {
@@ -1054,7 +1066,7 @@ class core_admin_renderer extends plugin_renderer_base {
$displayname = new html_table_cell(
$icon.
html_writer::span($plugin->displayname, 'pluginname').
html_writer::div($plugin->get_dir(), 'plugindir')
html_writer::div($plugin->get_dir(), 'plugindir text-muted small')
);
$versiondb = new html_table_cell($plugin->versiondb);
@@ -1069,8 +1081,10 @@ class core_admin_renderer extends plugin_renderer_base {
}
$coredependency = $plugin->is_core_dependency_satisfied($version);
$incompatibledependency = $plugin->is_core_compatible_satisfied($CFG->branch);
$otherpluginsdependencies = $pluginman->are_dependencies_satisfied($plugin->get_other_required_plugins());
$dependenciesok = $coredependency && $otherpluginsdependencies;
$dependenciesok = $coredependency && $otherpluginsdependencies && $incompatibledependency;
$statuscode = $plugin->get_status();
$row->attributes['class'] .= ' status-' . $statuscode;
@@ -1089,17 +1103,17 @@ class core_admin_renderer extends plugin_renderer_base {
break;
case core_plugin_manager::PLUGIN_STATUS_NODB:
case core_plugin_manager::PLUGIN_STATUS_UPTODATE:
$statusclass .= $dependenciesok ? '' : 'badge-warning';
$statusclass .= $dependenciesok ? 'badge-light' : 'badge-warning';
break;
}
$status = html_writer::span(get_string('status_' . $statuscode, 'core_plugin'), $statusclass);
if (!empty($installabortable[$plugin->component])) {
$status .= $this->output->single_button(
new moodle_url($this->page->url, array('abortinstall' => $plugin->component)),
new moodle_url($this->page->url, array('abortinstall' => $plugin->component, 'confirmplugincheck' => 0)),
get_string('cancelinstallone', 'core_plugin'),
'post',
array('class' => 'actionbutton cancelinstallone')
array('class' => 'actionbutton cancelinstallone d-block mt-1')
);
}
@@ -1108,7 +1122,7 @@ class core_admin_renderer extends plugin_renderer_base {
new moodle_url($this->page->url, array('abortupgrade' => $plugin->component)),
get_string('cancelupgradeone', 'core_plugin'),
'post',
array('class' => 'actionbutton cancelupgradeone')
array('class' => 'actionbutton cancelupgradeone d-block mt-1')
);
}
@@ -1120,8 +1134,11 @@ class core_admin_renderer extends plugin_renderer_base {
}
$status = new html_table_cell($sourcelabel.' '.$status);
$requires = new html_table_cell($this->required_column($plugin, $pluginman, $version));
if ($plugin->pluginsupported != null) {
$requires = new html_table_cell($this->required_column($plugin, $pluginman, $version, $CFG->branch));
} else {
$requires = new html_table_cell($this->required_column($plugin, $pluginman, $version));
}
$statusisboring = in_array($statuscode, array(
core_plugin_manager::PLUGIN_STATUS_NODB, core_plugin_manager::PLUGIN_STATUS_UPTODATE));
@@ -1178,7 +1195,7 @@ class core_admin_renderer extends plugin_renderer_base {
}
}
$out .= $this->output->container_start('actions');
$out .= $this->output->container_start('actions mb-2');
$installableupdates = $pluginman->filter_installable($pluginman->available_updates());
if ($installableupdates) {
@@ -1186,16 +1203,16 @@ class core_admin_renderer extends plugin_renderer_base {
new moodle_url($this->page->url, array('installupdatex' => 1)),
get_string('updateavailableinstallall', 'core_admin', count($installableupdates)),
'post',
array('class' => 'singlebutton updateavailableinstallall')
array('class' => 'singlebutton updateavailableinstallall mr-1')
);
}
if ($installabortable) {
$out .= $this->output->single_button(
new moodle_url($this->page->url, array('abortinstallx' => 1)),
new moodle_url($this->page->url, array('abortinstallx' => 1, 'confirmplugincheck' => 0)),
get_string('cancelinstallall', 'core_plugin', count($installabortable)),
'post',
array('class' => 'singlebutton cancelinstallall')
array('class' => 'singlebutton cancelinstallall mr-1')
);
}
@@ -1204,15 +1221,17 @@ class core_admin_renderer extends plugin_renderer_base {
new moodle_url($this->page->url, array('abortupgradex' => 1)),
get_string('cancelupgradeall', 'core_plugin', count($upgradeabortable)),
'post',
array('class' => 'singlebutton cancelupgradeall')
array('class' => 'singlebutton cancelupgradeall mr-1')
);
}
$out .= html_writer::div(html_writer::link(new moodle_url($this->page->url, array('showallplugins' => 0)),
get_string('plugincheckattention', 'core_plugin')).' '.html_writer::span($sumattention, 'badge'));
get_string('plugincheckattention', 'core_plugin')).' '.html_writer::span($sumattention, 'badge badge-light'),
'btn btn-link mr-1');
$out .= html_writer::div(html_writer::link(new moodle_url($this->page->url, array('showallplugins' => 1)),
get_string('plugincheckall', 'core_plugin')).' '.html_writer::span($sumtotal, 'badge'));
get_string('plugincheckall', 'core_plugin')).' '.html_writer::span($sumtotal, 'badge badge-light'),
'btn btn-link mr-1');
$out .= $this->output->container_end(); // End of .actions container.
$out .= $this->output->container_end(); // End of #plugins-check-info container.
@@ -1280,12 +1299,13 @@ class core_admin_renderer extends plugin_renderer_base {
}
}
$out = $this->output->container_start('plugins-check-dependencies');
$out = $this->output->container_start('plugins-check-dependencies mb-4');
if ($unavailable or $unknown) {
$out .= $this->output->heading(get_string('misdepsunavail', 'core_plugin'));
if ($unknown) {
$out .= $this->output->notification(get_string('misdepsunknownlist', 'core_plugin', implode($unknown, ', ')));
$out .= $this->output->render((new \core\output\notification(get_string('misdepsunknownlist', 'core_plugin',
implode(', ', $unknown))))->set_show_closebutton(false));
}
if ($unavailable) {
$unavailablelist = array();
@@ -1299,18 +1319,18 @@ class core_admin_renderer extends plugin_renderer_base {
}
$unavailablelist[] = $unavailablelistitem;
}
$out .= $this->output->notification(get_string('misdepsunavaillist', 'core_plugin',
implode($unavailablelist, ', ')));
$out .= $this->output->render((new \core\output\notification(get_string('misdepsunavaillist', 'core_plugin',
implode(', ', $unavailablelist))))->set_show_closebutton(false));
}
$out .= $this->output->container_start('plugins-check-dependencies-actions');
$out .= $this->output->container_start('plugins-check-dependencies-actions mb-4');
$out .= ' '.html_writer::link(new moodle_url('/admin/tool/installaddon/'),
get_string('dependencyuploadmissing', 'core_plugin'));
get_string('dependencyuploadmissing', 'core_plugin'), array('class' => 'btn btn-secondary'));
$out .= $this->output->container_end(); // End of .plugins-check-dependencies-actions container.
}
if ($available) {
$out .= $this->output->heading(get_string('misdepsavail', 'core_plugin'));
$out .= $this->output->container_start('plugins-check-dependencies-actions');
$out .= $this->output->container_start('plugins-check-dependencies-actions mb-2');
$installable = $pluginman->filter_installable($available);
if ($installable) {
@@ -1318,12 +1338,13 @@ class core_admin_renderer extends plugin_renderer_base {
new moodle_url($this->page->url, array('installdepx' => 1)),
get_string('dependencyinstallmissing', 'core_plugin', count($installable)),
'post',
array('class' => 'singlebutton dependencyinstallmissing')
array('class' => 'singlebutton dependencyinstallmissing d-inline-block mr-1')
);
}
$out .= html_writer::div(html_writer::link(new moodle_url('/admin/tool/installaddon/'),
get_string('dependencyuploadmissing', 'core_plugin')), 'dependencyuploadmissing');
get_string('dependencyuploadmissing', 'core_plugin'), array('class' => 'btn btn-link')),
'dependencyuploadmissing d-inline-block mr-1');
$out .= $this->output->container_end(); // End of .plugins-check-dependencies-actions container.
@@ -1364,7 +1385,7 @@ class core_admin_renderer extends plugin_renderer_base {
if ($CFG->branch == str_replace('.', '', $moodle->release)) {
$supportedmoodles[] = html_writer::span($moodle->release, 'badge badge-success');
} else {
$supportedmoodles[] = html_writer::span($moodle->release, 'label');
$supportedmoodles[] = html_writer::span($moodle->release, 'badge badge-light');
}
}
@@ -1378,7 +1399,7 @@ class core_admin_renderer extends plugin_renderer_base {
}
$info = html_writer::div(
get_string('requiredby', 'core_plugin', implode(', ', $requriedby)),
'requiredby'
'requiredby mb-1'
);
} else {
$info = '';
@@ -1389,38 +1410,39 @@ class core_admin_renderer extends plugin_renderer_base {
$info .= html_writer::div(
html_writer::link('https://moodle.org/plugins/view.php?plugin='.$plugin->component,
get_string('misdepinfoplugin', 'core_plugin')),
'misdepinfoplugin'
'misdepinfoplugin d-inline-block mr-3 mb-1'
);
$info .= html_writer::div(
html_writer::link('https://moodle.org/plugins/pluginversion.php?id='.$plugin->version->id,
get_string('misdepinfoversion', 'core_plugin')),
'misdepinfoversion'
'misdepinfoversion d-inline-block mr-3 mb-1'
);
$info .= html_writer::div(html_writer::link($plugin->version->downloadurl, get_string('download')), 'misdepdownload');
$info .= html_writer::div(html_writer::link($plugin->version->downloadurl, get_string('download')),
'misdepdownload d-inline-block mr-3 mb-1');
if ($pluginman->is_remote_plugin_installable($plugin->component, $plugin->version->version, $reason)) {
$info .= $this->output->single_button(
new moodle_url($this->page->url, array('installdep' => $plugin->component)),
get_string('dependencyinstall', 'core_plugin'),
'post',
array('class' => 'singlebutton dependencyinstall')
array('class' => 'singlebutton dependencyinstall mr-3 mb-1')
);
} else {
$reasonhelp = $this->info_remote_plugin_not_installable($reason);
if ($reasonhelp) {
$info .= html_writer::div($reasonhelp, 'reasonhelp dependencyinstall');
$info .= html_writer::div($reasonhelp, 'reasonhelp dependencyinstall d-inline-block mr-3 mb-1');
}
}
$info .= $this->output->container_end(); // End of .actions container.
$table->data[] = array(
html_writer::div($plugin->name, 'name').' '.html_writer::div($plugin->component, 'component'),
html_writer::div($plugin->name, 'name').' '.html_writer::div($plugin->component, 'component text-muted small'),
$plugin->version->release,
$plugin->version->version,
implode($supportedmoodles, ' '),
implode(' ', $supportedmoodles),
$info
);
}
@@ -1452,24 +1474,38 @@ class core_admin_renderer extends plugin_renderer_base {
* @param \core\plugininfo\base $plugin the plugin we are rendering the row for.
* @param core_plugin_manager $pluginman provides data on all the plugins.
* @param string $version
* @param int $branch the current Moodle branch
* @return string HTML code
*/
protected function required_column(\core\plugininfo\base $plugin, core_plugin_manager $pluginman, $version) {
protected function required_column(\core\plugininfo\base $plugin, core_plugin_manager $pluginman, $version, $branch = null) {
$requires = array();
$displayuploadlink = false;
$displayupdateslink = false;
foreach ($pluginman->resolve_requirements($plugin, $version) as $reqname => $reqinfo) {
$requirements = $pluginman->resolve_requirements($plugin, $version, $branch);
foreach ($requirements as $reqname => $reqinfo) {
if ($reqname === 'core') {
if ($reqinfo->status == $pluginman::REQUIREMENT_STATUS_OK) {
$class = 'requires-ok';
$class = 'requires-ok text-muted';
$label = '';
} else {
$class = 'requires-failed';
$label = html_writer::span(get_string('dependencyfails', 'core_plugin'), 'badge badge-danger');
}
if ($reqinfo->reqver != ANY_VERSION) {
if ($branch != null && !$plugin->is_core_compatible_satisfied($branch)) {
$requires[] = html_writer::tag('li',
html_writer::span(get_string('incompatibleversion', 'core_plugin', $branch), 'dep dep-core').
' '.$label, array('class' => $class));
} else if ($branch != null && $plugin->pluginsupported != null) {
$requires[] = html_writer::tag('li',
html_writer::span(get_string('moodlebranch', 'core_plugin',
array('min' => $plugin->pluginsupported[0], 'max' => $plugin->pluginsupported[1])), 'dep dep-core').
' '.$label, array('class' => $class));
} else if ($reqinfo->reqver != ANY_VERSION) {
$requires[] = html_writer::tag('li',
html_writer::span(get_string('moodleversion', 'core_plugin', $plugin->versionrequires), 'dep dep-core').
' '.$label, array('class' => $class));
@@ -1480,7 +1516,7 @@ class core_admin_renderer extends plugin_renderer_base {
if ($reqinfo->status == $pluginman::REQUIREMENT_STATUS_OK) {
$label = '';
$class = 'requires-ok';
$class = 'requires-ok text-muted';
} else if ($reqinfo->status == $pluginman::REQUIREMENT_STATUS_MISSING) {
if ($reqinfo->availability == $pluginman::REQUIREMENT_AVAILABLE) {
@@ -1534,13 +1570,14 @@ class core_admin_renderer extends plugin_renderer_base {
return '';
}
$out = html_writer::tag('ul', implode("\n", $requires));
$out = html_writer::tag('ul', implode("\n", $requires), array('class' => 'm-0'));
if ($displayuploadlink) {
$out .= html_writer::div(
html_writer::link(
new moodle_url('/admin/tool/installaddon/'),
get_string('dependencyuploadmissing', 'core_plugin')
get_string('dependencyuploadmissing', 'core_plugin'),
array('class' => 'btn btn-secondary btn-sm m-1')
),
'dependencyuploadmissing'
);
@@ -1550,12 +1587,20 @@ class core_admin_renderer extends plugin_renderer_base {
$out .= html_writer::div(
html_writer::link(
new moodle_url($this->page->url, array('sesskey' => sesskey(), 'fetchupdates' => 1)),
get_string('checkforupdates', 'core_plugin')
get_string('checkforupdates', 'core_plugin'),
array('class' => 'btn btn-secondary btn-sm m-1')
),
'checkforupdates'
);
}
// Check if supports is present, and $branch is not in, only if $incompatible check was ok.
if ($plugin->pluginsupported != null && $class == 'requires-ok' && $branch != null) {
if ($pluginman->check_explicitly_supported($plugin, $branch) == $pluginman::VERSION_NOT_SUPPORTED) {
$out .= html_writer::div(get_string('notsupported', 'core_plugin', $branch));
}
}
return $out;
}
@@ -1571,12 +1616,18 @@ class core_admin_renderer extends plugin_renderer_base {
$plugininfo = $pluginman->get_plugins();
$numtotal = $numextension = $numupdatable = 0;
$numtotal = $numextension = $numupdatable = $numinstallable = 0;
foreach ($plugininfo as $type => $plugins) {
foreach ($plugins as $name => $plugin) {
if ($plugin->available_updates()) {
if ($res = $plugin->available_updates()) {
$numupdatable++;
foreach ($res as $updateinfo) {
if ($pluginman->is_remote_plugin_installable($updateinfo->component, $updateinfo->version, $reason, false)) {
$numinstallable++;
break;
}
}
}
if ($plugin->get_status() === core_plugin_manager::PLUGIN_STATUS_MISSING) {
continue;
@@ -1619,16 +1670,13 @@ class core_admin_renderer extends plugin_renderer_base {
$out .= $this->output->heading(get_string('overviewext', 'core_plugin'), 3);
}
if ($numupdatable) {
$installableupdates = $pluginman->filter_installable($pluginman->available_updates());
if ($installableupdates) {
$out .= $this->output->single_button(
new moodle_url($this->page->url, array('installupdatex' => 1)),
get_string('updateavailableinstallall', 'core_admin', count($installableupdates)),
'post',
array('class' => 'singlebutton updateavailableinstallall')
);
}
if ($numinstallable) {
$out .= $this->output->single_button(
new moodle_url($this->page->url, array('installupdatex' => 1)),
get_string('updateavailableinstallall', 'core_admin', $numinstallable),
'post',
array('class' => 'singlebutton updateavailableinstallall')
);
}
$out .= html_writer::div($infoall, 'info info-all').
@@ -1862,7 +1910,7 @@ class core_admin_renderer extends plugin_renderer_base {
'infos'
);
if ($pluginman->is_remote_plugin_installable($updateinfo->component, $updateinfo->version, $reason)) {
if ($pluginman->is_remote_plugin_installable($updateinfo->component, $updateinfo->version, $reason, false)) {
$box .= $this->output->single_button(
new moodle_url($this->page->url, array('installupdate' => $updateinfo->component,
'installupdateversion' => $updateinfo->version)),
@@ -1902,7 +1950,7 @@ class core_admin_renderer extends plugin_renderer_base {
get_string('status'),
);
$servertable->colclasses = array('centeralign name', 'centeralign info', 'leftalign report', 'leftalign plugin', 'centeralign status');
$servertable->attributes['class'] = 'admintable environmenttable generaltable';
$servertable->attributes['class'] = 'admintable environmenttable generaltable table-sm';
$servertable->id = 'serverstatus';
$serverdata = array('ok'=>array(), 'warn'=>array(), 'error'=>array());
@@ -1915,7 +1963,7 @@ class core_admin_renderer extends plugin_renderer_base {
get_string('status'),
);
$othertable->colclasses = array('aligncenter info', 'alignleft report', 'alignleft plugin', 'aligncenter status');
$othertable->attributes['class'] = 'admintable environmenttable generaltable';
$othertable->attributes['class'] = 'admintable environmenttable generaltable table-sm';
$othertable->id = 'otherserverstatus';
$otherdata = array('ok'=>array(), 'warn'=>array(), 'error'=>array());
@@ -2011,7 +2059,7 @@ class core_admin_renderer extends plugin_renderer_base {
if (empty($CFG->docroot) or $environment_result->plugin) {
$report = get_string($stringtouse, 'admin', $rec);
} else {
$report = $this->doc_link(join($linkparts, '/'), get_string($stringtouse, 'admin', $rec), true);
$report = $this->doc_link(join('/', $linkparts), get_string($stringtouse, 'admin', $rec), true);
}
// Enclose report text in div so feedback text will be displayed underneath it.
$report = html_writer::div($report);
@@ -2082,8 +2130,16 @@ class core_admin_renderer extends plugin_renderer_base {
$output .= $this->container_start('upgradekeyreq');
$output .= $this->heading(get_string('upgradekeyreq', 'core_admin'));
$output .= html_writer::start_tag('form', array('method' => 'POST', 'action' => $url));
$output .= html_writer::empty_tag('input', array('name' => 'upgradekey', 'type' => 'password'));
$output .= html_writer::empty_tag('input', array('value' => get_string('submit'), 'type' => 'submit'));
$output .= html_writer::empty_tag('input', [
'name' => 'upgradekey',
'type' => 'password',
'class' => 'form-control w-auto',
]);
$output .= html_writer::empty_tag('input', [
'type' => 'submit',
'value' => get_string('submit'),
'class' => 'btn btn-primary mt-3',
]);
$output .= html_writer::end_tag('form');
$output .= $this->container_end();
$output .= $this->footer();
@@ -2135,4 +2191,21 @@ class core_admin_renderer extends plugin_renderer_base {
return $this->output->box($out);
}
/**
* Display message about benefits of enabling the user feedback feature.
*
* @param bool $showfeedbackencouragement Whether the encouragement content should be displayed or not
* @return string
*/
protected function userfeedback_encouragement(bool $showfeedbackencouragement): string {
$output = '';
if ($showfeedbackencouragement) {
$settingslink = new moodle_url('/admin/settings.php', ['section' => 'userfeedback']);
$output .= $this->warning(get_string('userfeedbackencouragement', 'admin', $settingslink->out()), 'info');
}
return $output;
}
}
+2 -1
View File
@@ -271,7 +271,8 @@ if ($roleid) {
foreach ($assignableroles as $roleid => $notused) {
$roleusers = '';
if (0 < $assigncounts[$roleid] && $assigncounts[$roleid] <= MAX_USERS_TO_LIST_PER_ROLE) {
$userfields = 'u.id, u.username, ' . get_all_user_name_fields(true, 'u');
$userfieldsapi = \core_user\fields::for_name();
$userfields = 'u.id, u.username' . $userfieldsapi->get_sql('u')->selects;
$roleusers = get_role_users($roleid, $context, false, $userfields);
if (!empty($roleusers)) {
$strroleusers = array();
@@ -43,7 +43,7 @@ abstract class core_role_capability_table_base {
protected $id;
/** Added to the class="" attribute on output. */
protected $classes = array('rolecap');
protected $classes = array('rolecap table-hover');
/** Default number of capabilities in the table for the search UI to be shown. */
const NUM_CAPS_FOR_SEARCH = 12;
@@ -50,6 +50,7 @@ class core_role_check_capability_table extends core_role_capability_table_base {
$this->contextname = $contextname;
$this->stryes = get_string('yes');
$this->strno = get_string('no');
$this->add_classes(['table-striped']);
}
protected function add_header_cells() {
@@ -55,6 +55,7 @@ class core_role_define_role_table_advanced extends core_role_capability_table_wi
foreach ($levels as $level => $classname) {
$this->allcontextlevels[$level] = context_helper::get_level_name($level);
}
$this->add_classes(['table-striped']);
}
protected function load_current_permissions() {
@@ -157,19 +158,19 @@ class core_role_define_role_table_advanced extends core_role_capability_table_wi
// Allowed roles.
$allow = optional_param_array('allowassign', null, PARAM_INT);
if (!is_null($allow)) {
$this->allowassign = $allow;
$this->allowassign = array_filter($allow);
}
$allow = optional_param_array('allowoverride', null, PARAM_INT);
if (!is_null($allow)) {
$this->allowoverride = $allow;
$this->allowoverride = array_filter($allow);
}
$allow = optional_param_array('allowswitch', null, PARAM_INT);
if (!is_null($allow)) {
$this->allowswitch = $allow;
$this->allowswitch = array_filter($allow);
}
$allow = optional_param_array('allowview', null, PARAM_INT);
if (!is_null($allow)) {
$this->allowview = $allow;
$this->allowview = array_filter($allow);
}
// Now read the permissions for each capability.
@@ -618,7 +619,9 @@ class core_role_define_role_table_advanced extends core_role_capability_table_wi
if ($this->roleid == 0) {
$options[-1] = get_string('thisnewrole', 'core_role');
}
return html_writer::select($options, 'allow'.$type.'[]', $selected, false, array('multiple' => 'multiple',
return
html_writer::empty_tag('input', array('type' => 'hidden', 'name' => 'allow'.$type.'[]', 'value' => "")) .
html_writer::select($options, 'allow'.$type.'[]', $selected, false, array('multiple' => 'multiple',
'size' => 10, 'class' => 'form-control'));
}
@@ -66,9 +66,9 @@ class core_role_override_permissions_table_advanced extends core_role_capability
$rowattributes = parent::get_row_attributes($capability);
if ($this->permissions[$capability->name] !== 0) {
if (empty($rowattributes['class'])) {
$rowattributes['class'] = "overriddenpermission";
$rowattributes['class'] = "overriddenpermission table-warning";
} else {
$rowattributes['class'] .= " overriddenpermission";
$rowattributes['class'] .= " overriddenpermission table-warning";
}
}
return $rowattributes;
+2 -1
View File
@@ -163,7 +163,8 @@ if (!empty($capabilities)) {
echo html_writer::start_tag('div', array('class'=>'submit_buttons'));
$attrs = array('type'=>'submit', 'name'=>'savechanges', 'value'=>get_string('savechanges'), 'class'=>'btn btn-primary');
echo html_writer::empty_tag('input', $attrs);
$attrs = array('type'=>'submit', 'name'=>'cancel', 'value'=>get_string('cancel'), 'class' => 'btn btn-secondary');
$attrs = array('type' => 'submit', 'name' => 'cancel', 'value' => get_string('cancel'),
'class' => 'btn btn-secondary ml-1');
echo html_writer::empty_tag('input', $attrs);
echo html_writer::end_tag('div');
echo html_writer::end_tag('div');
+7 -7
View File
@@ -14,19 +14,19 @@
// 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_role;
use core_role_preset;
/**
* Role XML presets test case.
*
* @package core_role
* @category phpunit
* @category test
* @copyright 2013 Petr Skoda {@link http://skodak.org}
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
*/
defined('MOODLE_INTERNAL') || die();
class core_role_preset_testcase extends advanced_testcase {
class preset_test extends \advanced_testcase {
public function test_xml() {
global $DB;
@@ -61,7 +61,7 @@ class core_role_preset_testcase extends advanced_testcase {
FROM {role_capabilities}
WHERE contextid = :syscontext AND roleid = :roleid
ORDER BY capability ASC",
array('syscontext'=>context_system::instance()->id, 'roleid'=>$role->id));
array('syscontext' => \context_system::instance()->id, 'roleid' => $role->id));
foreach ($capabilities as $cap) {
$this->assertEquals($cap->permission, $info['permissions'][$cap->capability]);
+748
View File
@@ -0,0 +1,748 @@
<?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/>.
/**
* Privacy test for core_role
*
* @package core_role
* @category test
* @copyright 2018 Carlos Escobedo <carlos@moodle.com>
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
*/
namespace core_role\privacy;
defined('MOODLE_INTERNAL') || die();
use core_role\privacy\provider;
use core_privacy\local\request\approved_contextlist;
use core_privacy\local\request\writer;
use core_privacy\tests\provider_testcase;
use core_privacy\local\request\transform;
use tool_cohortroles\api;
use core_privacy\local\request\approved_userlist;
/**
* Privacy test for core_role
*
* @copyright 2018 Carlos Escobedo <carlos@moodle.com>
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
*/
class provider_test extends provider_testcase {
/**
* Test to check export_user_preferences.
* returns user preferences data.
*/
public function test_export_user_preferences() {
$this->resetAfterTest();
$this->setAdminUser();
$user = $this->getDataGenerator()->create_user();
$this->setUser($user);
$showadvanced = 1;
set_user_preference('definerole_showadvanced', $showadvanced);
provider::export_user_preferences($user->id);
$writer = writer::with_context(\context_system::instance());
$prefs = $writer->get_user_preferences('core_role');
$this->assertEquals(transform::yesno($showadvanced), transform::yesno($prefs->definerole_showadvanced->value));
$this->assertEquals(get_string('privacy:metadata:preference:showadvanced', 'core_role'),
$prefs->definerole_showadvanced->description);
}
/**
* Check all contexts are returned if there is any user data for this user.
*/
public function test_get_contexts_for_userid() {
global $DB;
$this->resetAfterTest();
$this->setAdminUser();
$user = $this->getDataGenerator()->create_user();
$this->assertEmpty(provider::get_contexts_for_userid($user->id));
$user2 = $this->getDataGenerator()->create_user();
$usercontext2 = \context_user::instance($user2->id);
$course = $this->getDataGenerator()->create_course();
$course2 = $this->getDataGenerator()->create_course();
$coursecat = $this->getDataGenerator()->create_category();
$cm = $this->getDataGenerator()->create_module('chat', ['course' => $course->id]);
$cmcontext = \context_module::instance($cm->cmid);
$page = $this->getDataGenerator()->create_module('page', array('course' => $course->id));
$cmcontext2 = \context_module::instance($page->cmid);
$coursecontext = \context_course::instance($course->id);
$coursecontext2 = \context_course::instance($course2->id);
$coursecatcontext = \context_coursecat::instance($coursecat->id);
$systemcontext = \context_system::instance();
$block = $this->getDataGenerator()->create_block('online_users');
$blockcontext = \context_block::instance($block->id);
$student = $DB->get_record('role', array('shortname' => 'student'), '*', MUST_EXIST);
$manager = $DB->get_record('role', array('shortname' => 'manager'), '*', MUST_EXIST);
// Role assignments, where the user is assigned.
role_assign($student->id, $user->id, $cmcontext2->id);
role_assign($student->id, $user->id, $coursecontext2->id);
role_assign($student->id, $user->id, $blockcontext->id);
role_assign($manager->id, $user->id, $usercontext2->id);
// Role assignments, where the user makes assignments.
$this->setUser($user);
role_assign($student->id, $user2->id, $coursecontext->id);
role_assign($manager->id, $user2->id, $coursecatcontext->id);
role_assign($manager->id, $user2->id, $systemcontext->id);
// Role capabilities.
$this->setUser($user);
$result = assign_capability('moodle/backup:backupcourse', CAP_ALLOW, $student->id, $cmcontext->id);
$contextlist = provider::get_contexts_for_userid($user->id)->get_contextids();
$this->assertCount(8, $contextlist);
$this->assertTrue(in_array($cmcontext->id, $contextlist));
}
/**
* Test that user data is exported correctly.
*/
public function test_export_user_data() {
global $DB;
$this->resetAfterTest();
$this->setAdminUser();
$user = $this->getDataGenerator()->create_user();
$user2 = $this->getDataGenerator()->create_user();
$usercontext2 = \context_user::instance($user2->id);
$course = $this->getDataGenerator()->create_course();
$course2 = $this->getDataGenerator()->create_course();
$coursecat = $this->getDataGenerator()->create_category();
$cm = $this->getDataGenerator()->create_module('chat', ['course' => $course->id]);
$cmcontext = \context_module::instance($cm->cmid);
$page = $this->getDataGenerator()->create_module('page', array('course' => $course->id));
$cmcontext2 = \context_module::instance($page->cmid);
$coursecontext = \context_course::instance($course->id);
$coursecontext2 = \context_course::instance($course2->id);
$coursecatcontext = \context_coursecat::instance($coursecat->id);
$systemcontext = \context_system::instance();
$block = $this->getDataGenerator()->create_block('online_users');
$blockcontext = \context_block::instance($block->id);
$student = $DB->get_record('role', array('shortname' => 'student'), '*', MUST_EXIST);
$manager = $DB->get_record('role', array('shortname' => 'manager'), '*', MUST_EXIST);
$rolesnames = self::get_roles_name();
$subcontextstudent = [
get_string('privacy:metadata:role_assignments', 'core_role'),
$rolesnames[$student->id]
];
$subcontextmanager = [
get_string('privacy:metadata:role_assignments', 'core_role'),
$rolesnames[$manager->id]
];
$subcontextrc = [
get_string('privacy:metadata:role_capabilities', 'core_role'),
$rolesnames[$student->id]
];
// Test over role assignments.
// Where the user is assigned.
role_assign($student->id, $user->id, $cmcontext2->id);
role_assign($student->id, $user->id, $coursecontext2->id);
role_assign($student->id, $user->id, $blockcontext->id);
role_assign($manager->id, $user->id, $usercontext2->id);
// Where the user makes assignments.
$this->setUser($user);
role_assign($manager->id, $user2->id, $coursecatcontext->id);
role_assign($manager->id, $user2->id, $systemcontext->id);
// Test overridable roles in module, course, category, user, system and block.
assign_capability('moodle/backup:backupactivity', CAP_ALLOW, $student->id, $cmcontext->id, true);
assign_capability('moodle/backup:backupcourse', CAP_ALLOW, $student->id, $coursecontext->id, true);
assign_capability('moodle/category:manage', CAP_ALLOW, $student->id, $coursecatcontext->id, true);
assign_capability('moodle/backup:backupcourse', CAP_ALLOW, $student->id, $systemcontext->id, true);
assign_capability('moodle/block:edit', CAP_ALLOW, $student->id, $blockcontext->id, true);
assign_capability('moodle/competency:evidencedelete', CAP_ALLOW, $student->id, $usercontext2->id, true);
// Retrieve the user's context ids.
$contextlist = provider::get_contexts_for_userid($user->id);
$approvedcontextlist = new approved_contextlist($user, 'core_role', $contextlist->get_contextids());
$strpermissions = array(
CAP_INHERIT => get_string('inherit', 'role'),
CAP_ALLOW => get_string('allow', 'role'),
CAP_PREVENT => get_string('prevent', 'role'),
CAP_PROHIBIT => get_string('prohibit', 'role')
);
// Retrieve role capabilities and role assignments.
provider::export_user_data($approvedcontextlist);
foreach ($contextlist as $context) {
$writer = writer::with_context($context);
$this->assertTrue($writer->has_any_data());
if ($context->contextlevel == CONTEXT_MODULE) {
if ($data = $writer->get_data($subcontextstudent)) {
$this->assertEquals($user->id, reset($data)->userid);
}
if ($data = $writer->get_data($subcontextrc)) {
$this->assertEquals('moodle/backup:backupactivity', reset($data)->capability);
$this->assertEquals($strpermissions[CAP_ALLOW], reset($data)->permission);
}
}
if ($context->contextlevel == CONTEXT_COURSE) {
if ($data = $writer->get_data($subcontextstudent)) {
$this->assertEquals($user->id, reset($data)->userid);
}
if ($data = $writer->get_data($subcontextrc)) {
$this->assertEquals('moodle/backup:backupcourse', reset($data)->capability);
}
}
if ($context->contextlevel == CONTEXT_COURSECAT) {
if ($data = $writer->get_data($subcontextmanager)) {
$this->assertEquals($user->id, reset($data)->modifierid);
}
if ($data = $writer->get_data($subcontextrc)) {
$this->assertEquals('moodle/category:manage', reset($data)->capability);
}
}
if ($context->contextlevel == CONTEXT_SYSTEM) {
if ($data = $writer->get_data($subcontextmanager)) {
$this->assertEquals($user->id, reset($data)->modifierid);
}
if ($data = $writer->get_data($subcontextrc)) {
$this->assertEquals('moodle/backup:backupcourse', reset($data)->capability);
}
}
if ($context->contextlevel == CONTEXT_BLOCK) {
if ($data = $writer->get_data($subcontextstudent)) {
$this->assertEquals($user->id, reset($data)->userid);
}
if ($data = $writer->get_data($subcontextrc)) {
$this->assertEquals('moodle/block:edit', reset($data)->capability);
}
}
if ($context->contextlevel == CONTEXT_USER) {
if ($data = $writer->get_data($subcontextmanager)) {
$this->assertEquals($user->id, reset($data)->userid);
}
if ($data = $writer->get_data($subcontextrc)) {
$this->assertEquals('moodle/competency:evidencedelete', reset($data)->capability);
}
}
}
}
/**
* Test for provider::delete_data_for_all_users_in_context().
*/
public function test_delete_data_for_all_users_in_context() {
global $DB;
$this->resetAfterTest();
$this->setAdminUser();
$user = $this->getDataGenerator()->create_user();
$user2 = $this->getDataGenerator()->create_user();
$usercontext2 = \context_user::instance($user2->id);
$user3 = $this->getDataGenerator()->create_user();
$course = $this->getDataGenerator()->create_course();
$coursecontext = \context_course::instance($course->id);
$coursecat = $this->getDataGenerator()->create_category();
$coursecatcontext = \context_coursecat::instance($coursecat->id);
$systemcontext = \context_system::instance();
$cm = $this->getDataGenerator()->create_module('chat', ['course' => $course->id]);
$cmcontext = \context_module::instance($cm->cmid);
$student = $DB->get_record('role', array('shortname' => 'student'), '*', MUST_EXIST);
$manager = $DB->get_record('role', array('shortname' => 'manager'), '*', MUST_EXIST);
$block = $this->getDataGenerator()->create_block('online_users');
$blockcontext = \context_block::instance($block->id);
// Role assignments CONTEXT_COURSE.
role_assign($student->id, $user->id, $coursecontext->id);
role_assign($student->id, $user2->id, $coursecontext->id);
role_assign($student->id, $user3->id, $coursecontext->id);
$count = $DB->count_records('role_assignments', ['contextid' => $coursecontext->id]);
$this->assertEquals(3, $count);
// Role assignments CONTEXT_COURSECAT.
role_assign($student->id, $user2->id, $coursecatcontext->id);
role_assign($student->id, $user3->id, $coursecatcontext->id);
$count = $DB->count_records('role_assignments', ['contextid' => $coursecatcontext->id]);
$this->assertEquals(2, $count);
// Role assignments CONTEXT_SYSTEM.
role_assign($student->id, $user->id, $systemcontext->id);
$count = $DB->count_records('role_assignments', ['contextid' => $systemcontext->id]);
$this->assertEquals(1, $count);
// Role assignments CONTEXT_MODULE.
role_assign($student->id, $user->id, $cmcontext->id);
$count = $DB->count_records('role_assignments', ['contextid' => $cmcontext->id]);
$this->assertEquals(1, $count);
// Role assigments CONTEXT_BLOCK.
role_assign($student->id, $user->id, $blockcontext->id);
$count = $DB->count_records('role_assignments', ['contextid' => $blockcontext->id]);
$this->assertEquals(1, $count);
// Role assigments CONTEXT_USER.
role_assign($manager->id, $user->id, $usercontext2->id);
$count = $DB->count_records('role_assignments', ['contextid' => $usercontext2->id]);
$this->assertEquals(1, $count);
// Delete data based on CONTEXT_COURSE context.
provider::delete_data_for_all_users_in_context($coursecontext);
// After deletion, the role_assignments entries for this context should have been deleted.
$count = $DB->count_records('role_assignments', ['contextid' => $coursecontext->id]);
$this->assertEquals(0, $count);
// Check it is not removing data on other contexts.
$count = $DB->count_records('role_assignments', ['contextid' => $coursecatcontext->id]);
$this->assertEquals(2, $count);
$count = $DB->count_records('role_assignments', ['contextid' => $systemcontext->id]);
$this->assertEquals(1, $count);
$count = $DB->count_records('role_assignments', ['contextid' => $cmcontext->id]);
$this->assertEquals(1, $count);
// Delete data based on CONTEXT_COURSECAT context.
provider::delete_data_for_all_users_in_context($coursecatcontext);
// After deletion, the role_assignments entries for this context should have been deleted.
$count = $DB->count_records('role_assignments', ['contextid' => $coursecatcontext->id]);
$this->assertEquals(0, $count);
// Delete data based on CONTEXT_SYSTEM context.
provider::delete_data_for_all_users_in_context($systemcontext);
// After deletion, the role_assignments entries for this context should have been deleted.
$count = $DB->count_records('role_assignments', ['contextid' => $systemcontext->id]);
$this->assertEquals(0, $count);
// Delete data based on CONTEXT_MODULE context.
provider::delete_data_for_all_users_in_context($cmcontext);
// After deletion, the role_assignments entries for this context should have been deleted.
$count = $DB->count_records('role_assignments', ['contextid' => $cmcontext->id]);
$this->assertEquals(0, $count);
// Delete data based on CONTEXT_BLOCK context.
provider::delete_data_for_all_users_in_context($usercontext2);
// After deletion, the role_assignments entries for this context should have been deleted.
$count = $DB->count_records('role_assignments', ['contextid' => $usercontext2->id]);
$this->assertEquals(0, $count);
}
/**
* Test for provider::delete_data_for_user().
*/
public function test_delete_data_for_user() {
global $DB;
$this->resetAfterTest();
$this->setAdminUser();
$user = $this->getDataGenerator()->create_user();
$user2 = $this->getDataGenerator()->create_user();
$usercontext2 = \context_user::instance($user2->id);
$user3 = $this->getDataGenerator()->create_user();
$usercontext3 = \context_user::instance($user3->id);
$course = $this->getDataGenerator()->create_course();
$course2 = $this->getDataGenerator()->create_course();
$course3 = $this->getDataGenerator()->create_course();
$coursecontext = \context_course::instance($course->id);
$coursecontext2 = \context_course::instance($course2->id);
$coursecontext3 = \context_course::instance($course3->id);
$coursecat = $this->getDataGenerator()->create_category();
$coursecatcontext = \context_coursecat::instance($coursecat->id);
$systemcontext = \context_system::instance();
$cm = $this->getDataGenerator()->create_module('chat', ['course' => $course->id]);
$cmcontext = \context_module::instance($cm->cmid);
$student = $DB->get_record('role', array('shortname' => 'student'), '*', MUST_EXIST);
$manager = $DB->get_record('role', array('shortname' => 'manager'), '*', MUST_EXIST);
$block = $this->getDataGenerator()->create_block('online_users');
$blockcontext = \context_block::instance($block->id);
// Role assignments, Where the user is assigned.
role_assign($student->id, $user->id, $coursecontext->id);
role_assign($student->id, $user->id, $coursecontext2->id);
role_assign($student->id, $user->id, $coursecatcontext->id);
role_assign($student->id, $user->id, $cmcontext->id);
role_assign($student->id, $user->id, $systemcontext->id);
role_assign($student->id, $user->id, $blockcontext->id);
role_assign($manager->id, $user->id, $usercontext2->id);
role_assign($manager->id, $user->id, $usercontext3->id);
$count = $DB->count_records('role_assignments', ['userid' => $user->id]);
$this->assertEquals(8, $count);
// Role assignments, where the user makes assignments.
$this->setUser($user);
role_assign($student->id, $user2->id, $coursecontext3->id);
role_assign($student->id, $user3->id, $coursecontext3->id);
$count = $DB->count_records('role_assignments', ['modifierid' => $user->id]);
$this->assertEquals(2, $count);
$contextlist = provider::get_contexts_for_userid($user->id);
$approvedcontextlist = new approved_contextlist($user, 'core_role', $contextlist->get_contextids());
provider::delete_data_for_user($approvedcontextlist);
// After deletion, the role_assignments assigned to the user should have been deleted.
$count = $DB->count_records('role_assignments', ['userid' => $user->id]);
$this->assertEquals(0, $count);
// After deletion, the role_assignments assigned by the user should not have been deleted.
$count = $DB->count_records('role_assignments', ['modifierid' => $user->id]);
$this->assertEquals(2, $count);
}
/**
* Export for a user with a key against a script where no instance is specified.
*/
public function test_export_user_role_to_cohort() {
global $DB;
$this->resetAfterTest();
$this->setAdminUser();
// Assign user roles to cohort.
$user = $this->getDataGenerator()->create_user();
$contextuser = \context_user::instance($user->id);
$teacher = $DB->get_record('role', array('shortname' => 'teacher'), '*', MUST_EXIST);
$cohort = $this->getDataGenerator()->create_cohort();
$userassignover = $this->getDataGenerator()->create_user();
$contextuserassignover = \context_user::instance($userassignover->id);
cohort_add_member($cohort->id, $userassignover->id);
$this->setAdminUser();
$params = (object) array(
'userid' => $user->id,
'roleid' => $teacher->id,
'cohortid' => $cohort->id
);
api::create_cohort_role_assignment($params);
api::sync_all_cohort_roles();
$rolesnames = self::get_roles_name();
$subcontextteacher = [
get_string('privacy:metadata:role_cohortroles', 'core_role'),
$rolesnames[$teacher->id]
];
// Test User is assigned role teacher to cohort.
provider::export_user_role_to_cohort($user->id);
$writer = writer::with_context($contextuserassignover);
$this->assertTrue($writer->has_any_data());
$exported = $writer->get_related_data($subcontextteacher, 'cohortroles');
$this->assertEquals($user->id, reset($exported)->userid);
// Test User is member of a cohort which User2 is assigned to role to this cohort.
$user2 = $this->getDataGenerator()->create_user();
$cohort2 = $this->getDataGenerator()->create_cohort();
cohort_add_member($cohort2->id, $user->id);
$params = (object) array(
'userid' => $user2->id,
'roleid' => $teacher->id,
'cohortid' => $cohort2->id
);
api::create_cohort_role_assignment($params);
api::sync_all_cohort_roles();
provider::export_user_role_to_cohort($user->id);
$writer = writer::with_context($contextuser);
$this->assertTrue($writer->has_any_data());
$exported = $writer->get_related_data($subcontextteacher, 'cohortroles');
$this->assertEquals($user2->id, reset($exported)->userid);
}
/**
* Test for provider::delete_user_role_to_cohort().
*/
public function test_delete_user_role_to_cohort() {
global $DB;
$this->resetAfterTest();
$this->setAdminUser();
// Assign user roles to cohort.
$user = $this->getDataGenerator()->create_user();
$user2 = $this->getDataGenerator()->create_user();
$user3 = $this->getDataGenerator()->create_user();
$user4 = $this->getDataGenerator()->create_user();
$teacher = $DB->get_record('role', array('shortname' => 'teacher'), '*', MUST_EXIST);
$cohort = $this->getDataGenerator()->create_cohort();
cohort_add_member($cohort->id, $user2->id);
cohort_add_member($cohort->id, $user3->id);
cohort_add_member($cohort->id, $user4->id);
$this->setAdminUser();
$params = (object) array(
'userid' => $user->id,
'roleid' => $teacher->id,
'cohortid' => $cohort->id
);
api::create_cohort_role_assignment($params);
api::sync_all_cohort_roles();
$count = $DB->count_records('role_assignments', ['userid' => $user->id, 'component' => 'tool_cohortroles']);
$this->assertEquals(3, $count);
provider::delete_user_role_to_cohort($user->id);
$count = $DB->count_records('role_assignments', ['userid' => $user->id, 'component' => 'tool_cohortroles']);
$this->assertEquals(0, $count);
}
/**
* Test that only users within a course context are fetched.
*/
public function test_get_users_in_context() {
global $DB;
$this->resetAfterTest();
$component = 'core_role';
$this->setAdminUser();
$admin = \core_user::get_user_by_username('admin');
// Create user1.
$user1 = $this->getDataGenerator()->create_user();
$usercontext1 = \context_user::instance($user1->id);
// Create user2.
$user2 = $this->getDataGenerator()->create_user();
$usercontext2 = \context_user::instance($user2->id);
// Create course1.
$course1 = $this->getDataGenerator()->create_course();
$coursecontext1 = \context_course::instance($course1->id);
// Create course category.
$coursecat = $this->getDataGenerator()->create_category();
$coursecatcontext = \context_coursecat::instance($coursecat->id);
// Create chat module.
$cm = $this->getDataGenerator()->create_module('chat', ['course' => $course1->id]);
$cmcontext = \context_module::instance($cm->cmid);
$systemcontext = \context_system::instance();
// Create a block.
$block = $this->getDataGenerator()->create_block('online_users');
$blockcontext = \context_block::instance($block->id);
$studentrole = $DB->get_record('role', array('shortname' => 'student'), '*', MUST_EXIST);
$managerrole = $DB->get_record('role', array('shortname' => 'manager'), '*', MUST_EXIST);
// Role assignments CONTEXT_COURSE.
role_assign($studentrole->id, $user1->id, $coursecontext1->id);
role_assign($studentrole->id, $user2->id, $coursecontext1->id);
// Role assignments CONTEXT_COURSECAT.
role_assign($studentrole->id, $user2->id, $coursecatcontext->id);
// Role assignments CONTEXT_SYSTEM.
role_assign($studentrole->id, $user1->id, $systemcontext->id);
// Role assignments CONTEXT_MODULE.
role_assign($studentrole->id, $user2->id, $cmcontext->id);
// Role assigments CONTEXT_BLOCK.
role_assign($studentrole->id, $user1->id, $blockcontext->id);
// Role assigments CONTEXT_USER.
role_assign($managerrole->id, $user1->id, $usercontext2->id);
// Role capabilities.
$this->setUser($user1);
assign_capability('moodle/backup:backupcourse', CAP_ALLOW, $studentrole->id, $cmcontext->id);
// The user list for usercontext1 should not return any users.
$userlist1 = new \core_privacy\local\request\userlist($usercontext1, $component);
provider::get_users_in_context($userlist1);
$this->assertCount(0, $userlist1);
// The user list for usercontext2 should user1 and admin (role creator).
$userlist2 = new \core_privacy\local\request\userlist($usercontext2, $component);
provider::get_users_in_context($userlist2);
$this->assertCount(2, $userlist2);
$expected = [
$user1->id,
$admin->id
];
$this->assertEqualsCanonicalizing($expected, $userlist2->get_userids());
// The user list for coursecontext1 should user1, user2 and admin (role creator).
$userlist3 = new \core_privacy\local\request\userlist($coursecontext1, $component);
provider::get_users_in_context($userlist3);
$this->assertCount(3, $userlist3);
$expected = [
$user1->id,
$user2->id,
$admin->id
];
$this->assertEqualsCanonicalizing($expected, $userlist3->get_userids());
// The user list for coursecatcontext should user2 and admin (role creator).
$userlist4 = new \core_privacy\local\request\userlist($coursecatcontext, $component);
provider::get_users_in_context($userlist4);
$this->assertCount(2, $userlist4);
$expected = [
$user2->id,
$admin->id
];
$this->assertEqualsCanonicalizing($expected, $userlist4->get_userids());
// The user list for systemcontext should user1 and admin (role creator).
$userlist6 = new \core_privacy\local\request\userlist($systemcontext, $component);
provider::get_users_in_context($userlist6);
$this->assertCount(2, $userlist6);
$expected = [
$user1->id,
$admin->id
];
$this->assertEqualsCanonicalizing($expected, $userlist6->get_userids());
// The user list for cmcontext should user1, user2 and admin (role creator).
$userlist7 = new \core_privacy\local\request\userlist($cmcontext, $component);
provider::get_users_in_context($userlist7);
$this->assertCount(3, $userlist7);
$expected = [
$user1->id,
$user2->id,
$admin->id
];
$this->assertEqualsCanonicalizing($expected, $userlist7->get_userids());
// The user list for blockcontext should user1 and admin (role creator).
$userlist8 = new \core_privacy\local\request\userlist($blockcontext, $component);
provider::get_users_in_context($userlist8);
$this->assertCount(2, $userlist8);
$expected = [
$user1->id,
$admin->id
];
$this->assertEqualsCanonicalizing($expected, $userlist8->get_userids());
}
/**
* Test that data for users in approved userlist is deleted.
*/
public function test_delete_data_for_users() {
global $DB;
$this->resetAfterTest();
$component = 'core_role';
$this->setAdminUser();
$admin = \core_user::get_user_by_username('admin');
// Create user1.
$user1 = $this->getDataGenerator()->create_user();
// Create user2.
$user2 = $this->getDataGenerator()->create_user();
$usercontext2 = \context_user::instance($user2->id);
// Create course1.
$course1 = $this->getDataGenerator()->create_course();
$coursecontext1 = \context_course::instance($course1->id);
// Create course category.
$coursecat = $this->getDataGenerator()->create_category();
$coursecatcontext = \context_coursecat::instance($coursecat->id);
// Create chat module.
$cm = $this->getDataGenerator()->create_module('chat', ['course' => $course1->id]);
$cmcontext = \context_module::instance($cm->cmid);
$systemcontext = \context_system::instance();
// Create a block.
$block = $this->getDataGenerator()->create_block('online_users');
$blockcontext = \context_block::instance($block->id);
$studentrole = $DB->get_record('role', array('shortname' => 'student'), '*', MUST_EXIST);
$managerrole = $DB->get_record('role', array('shortname' => 'manager'), '*', MUST_EXIST);
// Role assignments CONTEXT_COURSE.
role_assign($studentrole->id, $user1->id, $coursecontext1->id);
role_assign($studentrole->id, $user2->id, $coursecontext1->id);
// Role assignments CONTEXT_COURSECAT.
role_assign($studentrole->id, $user2->id, $coursecatcontext->id);
// Role assignments CONTEXT_SYSTEM.
role_assign($studentrole->id, $user1->id, $systemcontext->id);
// Role assignments CONTEXT_MODULE.
role_assign($studentrole->id, $user2->id, $cmcontext->id);
// Role assigments CONTEXT_BLOCK.
role_assign($studentrole->id, $user1->id, $blockcontext->id);
// Role assigments CONTEXT_USER.
role_assign($managerrole->id, $user1->id, $usercontext2->id);
// Role capabilities.
$this->setUser($user1);
assign_capability('moodle/backup:backupcourse', CAP_ALLOW, $studentrole->id, $cmcontext->id);
// The user list for usercontext2 should user1 and admin (role creator).
$userlist1 = new \core_privacy\local\request\userlist($usercontext2, $component);
provider::get_users_in_context($userlist1);
$this->assertCount(2, $userlist1);
// The user list for coursecontext1 should user1, user2 and admin (role creator).
$userlist2 = new \core_privacy\local\request\userlist($coursecontext1, $component);
provider::get_users_in_context($userlist2);
$this->assertCount(3, $userlist2);
// The user list for coursecatcontext should user2 and admin (role creator).
$userlist3 = new \core_privacy\local\request\userlist($coursecatcontext, $component);
provider::get_users_in_context($userlist3);
$this->assertCount(2, $userlist3);
// The user list for systemcontext should user1 and admin (role creator).
$userlist4 = new \core_privacy\local\request\userlist($systemcontext, $component);
provider::get_users_in_context($userlist4);
$this->assertCount(2, $userlist4);
// The user list for cmcontext should user1, user2 and admin (role creator).
$userlist5 = new \core_privacy\local\request\userlist($cmcontext, $component);
provider::get_users_in_context($userlist5);
$this->assertCount(3, $userlist5);
// The user list for blockcontext should user1 and admin (role creator).
$userlist6 = new \core_privacy\local\request\userlist($blockcontext, $component);
provider::get_users_in_context($userlist6);
$this->assertCount(2, $userlist6);
// Convert $userlist1 into an approved_contextlist.
$approvedlist1 = new approved_userlist($usercontext2, $component, $userlist1->get_userids());
// Delete using delete_data_for_user.
provider::delete_data_for_users($approvedlist1);
// Re-fetch users in usercontext2.
$userlist1 = new \core_privacy\local\request\userlist($usercontext2, $component);
provider::get_users_in_context($userlist1);
$this->assertCount(0, $userlist1);
// Convert $userlist2 into an approved_contextlist.
$approvedlist2 = new approved_userlist($coursecontext1, $component, $userlist2->get_userids());
// Delete using delete_data_for_user.
provider::delete_data_for_users($approvedlist2);
// Re-fetch users in coursecontext1.
$userlist2 = new \core_privacy\local\request\userlist($coursecontext1, $component);
provider::get_users_in_context($userlist2);
$this->assertCount(0, $userlist2);
// Convert $userlist3 into an approved_contextlist.
$approvedlist3 = new approved_userlist($coursecatcontext, $component, $userlist3->get_userids());
// Delete using delete_data_for_user.
provider::delete_data_for_users($approvedlist3);
// Re-fetch users in coursecatcontext.
$userlist3 = new \core_privacy\local\request\userlist($coursecatcontext, $component);
provider::get_users_in_context($userlist3);
$this->assertCount(0, $userlist3);
// Convert $userlist4 into an approved_contextlist.
$approvedlist4 = new approved_userlist($systemcontext, $component, $userlist4->get_userids());
// Delete using delete_data_for_user.
provider::delete_data_for_users($approvedlist4);
// Re-fetch users in systemcontext.
$userlist4 = new \core_privacy\local\request\userlist($systemcontext, $component);
provider::get_users_in_context($userlist4);
// The data from role_capabilities should still be present. The user list should return the admin user.
$this->assertCount(1, $userlist4);
$expected = [$admin->id];
$this->assertEquals($expected, $userlist4->get_userids());
// Convert $userlist5 into an approved_contextlist.
$approvedlist5 = new approved_userlist($cmcontext, $component, $userlist5->get_userids());
// Delete using delete_data_for_user.
provider::delete_data_for_users($approvedlist5);
// Re-fetch users in cmcontext.
$userlist5 = new \core_privacy\local\request\userlist($cmcontext, $component);
provider::get_users_in_context($userlist5);
// The data from role_capabilities should still be present. The user list should return user1.
$this->assertCount(1, $userlist5);
$expected = [$user1->id];
$this->assertEquals($expected, $userlist5->get_userids());
// Convert $userlist6 into an approved_contextlist.
$approvedlist6 = new approved_userlist($blockcontext, $component, $userlist6->get_userids());
// Delete using delete_data_for_user.
provider::delete_data_for_users($approvedlist6);
// Re-fetch users in blockcontext.
$userlist6 = new \core_privacy\local\request\userlist($blockcontext, $component);
provider::get_users_in_context($userlist6);
$this->assertCount(0, $userlist6);
}
/**
* Supoort function to get all the localised roles name
* in a simple array for testing.
*
* @return array Array of name of the roles by roleid.
*/
protected static function get_roles_name() {
$roles = role_fix_names(get_all_roles(), \context_system::instance(), ROLENAME_ORIGINAL);
$rolesnames = array();
foreach ($roles as $role) {
$rolesnames[$role->id] = $role->localname;
}
return $rolesnames;
}
}
-747
View File
@@ -1,747 +0,0 @@
<?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/>.
/**
* Privacy test for core_role
*
* @package core_role
* @category test
* @copyright 2018 Carlos Escobedo <carlos@moodle.com>
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
*/
defined('MOODLE_INTERNAL') || die();
use \core_role\privacy\provider;
use \core_privacy\local\request\approved_contextlist;
use \core_privacy\local\request\writer;
use \core_privacy\tests\provider_testcase;
use \core_privacy\local\request\transform;
use \tool_cohortroles\api;
use \core_privacy\local\request\approved_userlist;
/**
* Privacy test for core_role
*
* @copyright 2018 Carlos Escobedo <carlos@moodle.com>
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
*/
class core_role_privacy_testcase extends provider_testcase {
/**
* Test to check export_user_preferences.
* returns user preferences data.
*/
public function test_export_user_preferences() {
$this->resetAfterTest();
$this->setAdminUser();
$user = $this->getDataGenerator()->create_user();
$this->setUser($user);
$showadvanced = 1;
set_user_preference('definerole_showadvanced', $showadvanced);
provider::export_user_preferences($user->id);
$writer = writer::with_context(\context_system::instance());
$prefs = $writer->get_user_preferences('core_role');
$this->assertEquals(transform::yesno($showadvanced), transform::yesno($prefs->definerole_showadvanced->value));
$this->assertEquals(get_string('privacy:metadata:preference:showadvanced', 'core_role'),
$prefs->definerole_showadvanced->description);
}
/**
* Check all contexts are returned if there is any user data for this user.
*/
public function test_get_contexts_for_userid() {
global $DB;
$this->resetAfterTest();
$this->setAdminUser();
$user = $this->getDataGenerator()->create_user();
$this->assertEmpty(provider::get_contexts_for_userid($user->id));
$user2 = $this->getDataGenerator()->create_user();
$usercontext2 = \context_user::instance($user2->id);
$course = $this->getDataGenerator()->create_course();
$course2 = $this->getDataGenerator()->create_course();
$coursecat = $this->getDataGenerator()->create_category();
$cm = $this->getDataGenerator()->create_module('chat', ['course' => $course->id]);
$cmcontext = \context_module::instance($cm->cmid);
$page = $this->getDataGenerator()->create_module('page', array('course' => $course->id));
$cmcontext2 = \context_module::instance($page->cmid);
$coursecontext = \context_course::instance($course->id);
$coursecontext2 = \context_course::instance($course2->id);
$coursecatcontext = \context_coursecat::instance($coursecat->id);
$systemcontext = \context_system::instance();
$block = $this->getDataGenerator()->create_block('online_users');
$blockcontext = \context_block::instance($block->id);
$student = $DB->get_record('role', array('shortname' => 'student'), '*', MUST_EXIST);
$manager = $DB->get_record('role', array('shortname' => 'manager'), '*', MUST_EXIST);
// Role assignments, where the user is assigned.
role_assign($student->id, $user->id, $cmcontext2->id);
role_assign($student->id, $user->id, $coursecontext2->id);
role_assign($student->id, $user->id, $blockcontext->id);
role_assign($manager->id, $user->id, $usercontext2->id);
// Role assignments, where the user makes assignments.
$this->setUser($user);
role_assign($student->id, $user2->id, $coursecontext->id);
role_assign($manager->id, $user2->id, $coursecatcontext->id);
role_assign($manager->id, $user2->id, $systemcontext->id);
// Role capabilities.
$this->setUser($user);
$result = assign_capability('moodle/backup:backupcourse', CAP_ALLOW, $student->id, $cmcontext->id);
$contextlist = provider::get_contexts_for_userid($user->id)->get_contextids();
$this->assertCount(8, $contextlist);
$this->assertTrue(in_array($cmcontext->id, $contextlist));
}
/**
* Test that user data is exported correctly.
*/
public function test_export_user_data() {
global $DB;
$this->resetAfterTest();
$this->setAdminUser();
$user = $this->getDataGenerator()->create_user();
$user2 = $this->getDataGenerator()->create_user();
$usercontext2 = \context_user::instance($user2->id);
$course = $this->getDataGenerator()->create_course();
$course2 = $this->getDataGenerator()->create_course();
$coursecat = $this->getDataGenerator()->create_category();
$cm = $this->getDataGenerator()->create_module('chat', ['course' => $course->id]);
$cmcontext = \context_module::instance($cm->cmid);
$page = $this->getDataGenerator()->create_module('page', array('course' => $course->id));
$cmcontext2 = \context_module::instance($page->cmid);
$coursecontext = \context_course::instance($course->id);
$coursecontext2 = \context_course::instance($course2->id);
$coursecatcontext = \context_coursecat::instance($coursecat->id);
$systemcontext = \context_system::instance();
$block = $this->getDataGenerator()->create_block('online_users');
$blockcontext = \context_block::instance($block->id);
$student = $DB->get_record('role', array('shortname' => 'student'), '*', MUST_EXIST);
$manager = $DB->get_record('role', array('shortname' => 'manager'), '*', MUST_EXIST);
$rolesnames = self::get_roles_name();
$subcontextstudent = [
get_string('privacy:metadata:role_assignments', 'core_role'),
$rolesnames[$student->id]
];
$subcontextmanager = [
get_string('privacy:metadata:role_assignments', 'core_role'),
$rolesnames[$manager->id]
];
$subcontextrc = [
get_string('privacy:metadata:role_capabilities', 'core_role'),
$rolesnames[$student->id]
];
// Test over role assignments.
// Where the user is assigned.
role_assign($student->id, $user->id, $cmcontext2->id);
role_assign($student->id, $user->id, $coursecontext2->id);
role_assign($student->id, $user->id, $blockcontext->id);
role_assign($manager->id, $user->id, $usercontext2->id);
// Where the user makes assignments.
$this->setUser($user);
role_assign($manager->id, $user2->id, $coursecatcontext->id);
role_assign($manager->id, $user2->id, $systemcontext->id);
// Test overridable roles in module, course, category, user, system and block.
assign_capability('moodle/backup:backupactivity', CAP_ALLOW, $student->id, $cmcontext->id, true);
assign_capability('moodle/backup:backupcourse', CAP_ALLOW, $student->id, $coursecontext->id, true);
assign_capability('moodle/category:manage', CAP_ALLOW, $student->id, $coursecatcontext->id, true);
assign_capability('moodle/backup:backupcourse', CAP_ALLOW, $student->id, $systemcontext->id, true);
assign_capability('moodle/block:edit', CAP_ALLOW, $student->id, $blockcontext->id, true);
assign_capability('moodle/competency:evidencedelete', CAP_ALLOW, $student->id, $usercontext2->id, true);
// Retrieve the user's context ids.
$contextlist = provider::get_contexts_for_userid($user->id);
$approvedcontextlist = new approved_contextlist($user, 'core_role', $contextlist->get_contextids());
$strpermissions = array(
CAP_INHERIT => get_string('inherit', 'role'),
CAP_ALLOW => get_string('allow', 'role'),
CAP_PREVENT => get_string('prevent', 'role'),
CAP_PROHIBIT => get_string('prohibit', 'role')
);
// Retrieve role capabilities and role assignments.
provider::export_user_data($approvedcontextlist);
foreach ($contextlist as $context) {
$writer = writer::with_context($context);
$this->assertTrue($writer->has_any_data());
if ($context->contextlevel == CONTEXT_MODULE) {
if ($data = $writer->get_data($subcontextstudent)) {
$this->assertEquals($user->id, reset($data)->userid);
}
if ($data = $writer->get_data($subcontextrc)) {
$this->assertEquals('moodle/backup:backupactivity', reset($data)->capability);
$this->assertEquals($strpermissions[CAP_ALLOW], reset($data)->permission);
}
}
if ($context->contextlevel == CONTEXT_COURSE) {
if ($data = $writer->get_data($subcontextstudent)) {
$this->assertEquals($user->id, reset($data)->userid);
}
if ($data = $writer->get_data($subcontextrc)) {
$this->assertEquals('moodle/backup:backupcourse', reset($data)->capability);
}
}
if ($context->contextlevel == CONTEXT_COURSECAT) {
if ($data = $writer->get_data($subcontextmanager)) {
$this->assertEquals($user->id, reset($data)->modifierid);
}
if ($data = $writer->get_data($subcontextrc)) {
$this->assertEquals('moodle/category:manage', reset($data)->capability);
}
}
if ($context->contextlevel == CONTEXT_SYSTEM) {
if ($data = $writer->get_data($subcontextmanager)) {
$this->assertEquals($user->id, reset($data)->modifierid);
}
if ($data = $writer->get_data($subcontextrc)) {
$this->assertEquals('moodle/backup:backupcourse', reset($data)->capability);
}
}
if ($context->contextlevel == CONTEXT_BLOCK) {
if ($data = $writer->get_data($subcontextstudent)) {
$this->assertEquals($user->id, reset($data)->userid);
}
if ($data = $writer->get_data($subcontextrc)) {
$this->assertEquals('moodle/block:edit', reset($data)->capability);
}
}
if ($context->contextlevel == CONTEXT_USER) {
if ($data = $writer->get_data($subcontextmanager)) {
$this->assertEquals($user->id, reset($data)->userid);
}
if ($data = $writer->get_data($subcontextrc)) {
$this->assertEquals('moodle/competency:evidencedelete', reset($data)->capability);
}
}
}
}
/**
* Test for provider::delete_data_for_all_users_in_context().
*/
public function test_delete_data_for_all_users_in_context() {
global $DB;
$this->resetAfterTest();
$this->setAdminUser();
$user = $this->getDataGenerator()->create_user();
$user2 = $this->getDataGenerator()->create_user();
$usercontext2 = \context_user::instance($user2->id);
$user3 = $this->getDataGenerator()->create_user();
$course = $this->getDataGenerator()->create_course();
$coursecontext = \context_course::instance($course->id);
$coursecat = $this->getDataGenerator()->create_category();
$coursecatcontext = \context_coursecat::instance($coursecat->id);
$systemcontext = \context_system::instance();
$cm = $this->getDataGenerator()->create_module('chat', ['course' => $course->id]);
$cmcontext = \context_module::instance($cm->cmid);
$student = $DB->get_record('role', array('shortname' => 'student'), '*', MUST_EXIST);
$manager = $DB->get_record('role', array('shortname' => 'manager'), '*', MUST_EXIST);
$block = $this->getDataGenerator()->create_block('online_users');
$blockcontext = \context_block::instance($block->id);
// Role assignments CONTEXT_COURSE.
role_assign($student->id, $user->id, $coursecontext->id);
role_assign($student->id, $user2->id, $coursecontext->id);
role_assign($student->id, $user3->id, $coursecontext->id);
$count = $DB->count_records('role_assignments', ['contextid' => $coursecontext->id]);
$this->assertEquals(3, $count);
// Role assignments CONTEXT_COURSECAT.
role_assign($student->id, $user2->id, $coursecatcontext->id);
role_assign($student->id, $user3->id, $coursecatcontext->id);
$count = $DB->count_records('role_assignments', ['contextid' => $coursecatcontext->id]);
$this->assertEquals(2, $count);
// Role assignments CONTEXT_SYSTEM.
role_assign($student->id, $user->id, $systemcontext->id);
$count = $DB->count_records('role_assignments', ['contextid' => $systemcontext->id]);
$this->assertEquals(1, $count);
// Role assignments CONTEXT_MODULE.
role_assign($student->id, $user->id, $cmcontext->id);
$count = $DB->count_records('role_assignments', ['contextid' => $cmcontext->id]);
$this->assertEquals(1, $count);
// Role assigments CONTEXT_BLOCK.
role_assign($student->id, $user->id, $blockcontext->id);
$count = $DB->count_records('role_assignments', ['contextid' => $blockcontext->id]);
$this->assertEquals(1, $count);
// Role assigments CONTEXT_USER.
role_assign($manager->id, $user->id, $usercontext2->id);
$count = $DB->count_records('role_assignments', ['contextid' => $usercontext2->id]);
$this->assertEquals(1, $count);
// Delete data based on CONTEXT_COURSE context.
provider::delete_data_for_all_users_in_context($coursecontext);
// After deletion, the role_assignments entries for this context should have been deleted.
$count = $DB->count_records('role_assignments', ['contextid' => $coursecontext->id]);
$this->assertEquals(0, $count);
// Check it is not removing data on other contexts.
$count = $DB->count_records('role_assignments', ['contextid' => $coursecatcontext->id]);
$this->assertEquals(2, $count);
$count = $DB->count_records('role_assignments', ['contextid' => $systemcontext->id]);
$this->assertEquals(1, $count);
$count = $DB->count_records('role_assignments', ['contextid' => $cmcontext->id]);
$this->assertEquals(1, $count);
// Delete data based on CONTEXT_COURSECAT context.
provider::delete_data_for_all_users_in_context($coursecatcontext);
// After deletion, the role_assignments entries for this context should have been deleted.
$count = $DB->count_records('role_assignments', ['contextid' => $coursecatcontext->id]);
$this->assertEquals(0, $count);
// Delete data based on CONTEXT_SYSTEM context.
provider::delete_data_for_all_users_in_context($systemcontext);
// After deletion, the role_assignments entries for this context should have been deleted.
$count = $DB->count_records('role_assignments', ['contextid' => $systemcontext->id]);
$this->assertEquals(0, $count);
// Delete data based on CONTEXT_MODULE context.
provider::delete_data_for_all_users_in_context($cmcontext);
// After deletion, the role_assignments entries for this context should have been deleted.
$count = $DB->count_records('role_assignments', ['contextid' => $cmcontext->id]);
$this->assertEquals(0, $count);
// Delete data based on CONTEXT_BLOCK context.
provider::delete_data_for_all_users_in_context($usercontext2);
// After deletion, the role_assignments entries for this context should have been deleted.
$count = $DB->count_records('role_assignments', ['contextid' => $usercontext2->id]);
$this->assertEquals(0, $count);
}
/**
* Test for provider::delete_data_for_user().
*/
public function test_delete_data_for_user() {
global $DB;
$this->resetAfterTest();
$this->setAdminUser();
$user = $this->getDataGenerator()->create_user();
$user2 = $this->getDataGenerator()->create_user();
$usercontext2 = \context_user::instance($user2->id);
$user3 = $this->getDataGenerator()->create_user();
$usercontext3 = \context_user::instance($user3->id);
$course = $this->getDataGenerator()->create_course();
$course2 = $this->getDataGenerator()->create_course();
$course3 = $this->getDataGenerator()->create_course();
$coursecontext = \context_course::instance($course->id);
$coursecontext2 = \context_course::instance($course2->id);
$coursecontext3 = \context_course::instance($course3->id);
$coursecat = $this->getDataGenerator()->create_category();
$coursecatcontext = \context_coursecat::instance($coursecat->id);
$systemcontext = \context_system::instance();
$cm = $this->getDataGenerator()->create_module('chat', ['course' => $course->id]);
$cmcontext = \context_module::instance($cm->cmid);
$student = $DB->get_record('role', array('shortname' => 'student'), '*', MUST_EXIST);
$manager = $DB->get_record('role', array('shortname' => 'manager'), '*', MUST_EXIST);
$block = $this->getDataGenerator()->create_block('online_users');
$blockcontext = \context_block::instance($block->id);
// Role assignments, Where the user is assigned.
role_assign($student->id, $user->id, $coursecontext->id);
role_assign($student->id, $user->id, $coursecontext2->id);
role_assign($student->id, $user->id, $coursecatcontext->id);
role_assign($student->id, $user->id, $cmcontext->id);
role_assign($student->id, $user->id, $systemcontext->id);
role_assign($student->id, $user->id, $blockcontext->id);
role_assign($manager->id, $user->id, $usercontext2->id);
role_assign($manager->id, $user->id, $usercontext3->id);
$count = $DB->count_records('role_assignments', ['userid' => $user->id]);
$this->assertEquals(8, $count);
// Role assignments, where the user makes assignments.
$this->setUser($user);
role_assign($student->id, $user2->id, $coursecontext3->id);
role_assign($student->id, $user3->id, $coursecontext3->id);
$count = $DB->count_records('role_assignments', ['modifierid' => $user->id]);
$this->assertEquals(2, $count);
$contextlist = provider::get_contexts_for_userid($user->id);
$approvedcontextlist = new approved_contextlist($user, 'core_role', $contextlist->get_contextids());
provider::delete_data_for_user($approvedcontextlist);
// After deletion, the role_assignments assigned to the user should have been deleted.
$count = $DB->count_records('role_assignments', ['userid' => $user->id]);
$this->assertEquals(0, $count);
// After deletion, the role_assignments assigned by the user should not have been deleted.
$count = $DB->count_records('role_assignments', ['modifierid' => $user->id]);
$this->assertEquals(2, $count);
}
/**
* Export for a user with a key against a script where no instance is specified.
*/
public function test_export_user_role_to_cohort() {
global $DB;
$this->resetAfterTest();
$this->setAdminUser();
// Assign user roles to cohort.
$user = $this->getDataGenerator()->create_user();
$contextuser = \context_user::instance($user->id);
$teacher = $DB->get_record('role', array('shortname' => 'teacher'), '*', MUST_EXIST);
$cohort = $this->getDataGenerator()->create_cohort();
$userassignover = $this->getDataGenerator()->create_user();
$contextuserassignover = \context_user::instance($userassignover->id);
cohort_add_member($cohort->id, $userassignover->id);
$this->setAdminUser();
$params = (object) array(
'userid' => $user->id,
'roleid' => $teacher->id,
'cohortid' => $cohort->id
);
api::create_cohort_role_assignment($params);
api::sync_all_cohort_roles();
$rolesnames = self::get_roles_name();
$subcontextteacher = [
get_string('privacy:metadata:role_cohortroles', 'core_role'),
$rolesnames[$teacher->id]
];
// Test User is assigned role teacher to cohort.
provider::export_user_role_to_cohort($user->id);
$writer = writer::with_context($contextuserassignover);
$this->assertTrue($writer->has_any_data());
$exported = $writer->get_related_data($subcontextteacher, 'cohortroles');
$this->assertEquals($user->id, reset($exported)->userid);
// Test User is member of a cohort which User2 is assigned to role to this cohort.
$user2 = $this->getDataGenerator()->create_user();
$cohort2 = $this->getDataGenerator()->create_cohort();
cohort_add_member($cohort2->id, $user->id);
$params = (object) array(
'userid' => $user2->id,
'roleid' => $teacher->id,
'cohortid' => $cohort2->id
);
api::create_cohort_role_assignment($params);
api::sync_all_cohort_roles();
provider::export_user_role_to_cohort($user->id);
$writer = writer::with_context($contextuser);
$this->assertTrue($writer->has_any_data());
$exported = $writer->get_related_data($subcontextteacher, 'cohortroles');
$this->assertEquals($user2->id, reset($exported)->userid);
}
/**
* Test for provider::delete_user_role_to_cohort().
*/
public function test_delete_user_role_to_cohort() {
global $DB;
$this->resetAfterTest();
$this->setAdminUser();
// Assign user roles to cohort.
$user = $this->getDataGenerator()->create_user();
$user2 = $this->getDataGenerator()->create_user();
$user3 = $this->getDataGenerator()->create_user();
$user4 = $this->getDataGenerator()->create_user();
$teacher = $DB->get_record('role', array('shortname' => 'teacher'), '*', MUST_EXIST);
$cohort = $this->getDataGenerator()->create_cohort();
cohort_add_member($cohort->id, $user2->id);
cohort_add_member($cohort->id, $user3->id);
cohort_add_member($cohort->id, $user4->id);
$this->setAdminUser();
$params = (object) array(
'userid' => $user->id,
'roleid' => $teacher->id,
'cohortid' => $cohort->id
);
api::create_cohort_role_assignment($params);
api::sync_all_cohort_roles();
$count = $DB->count_records('role_assignments', ['userid' => $user->id, 'component' => 'tool_cohortroles']);
$this->assertEquals(3, $count);
provider::delete_user_role_to_cohort($user->id);
$count = $DB->count_records('role_assignments', ['userid' => $user->id, 'component' => 'tool_cohortroles']);
$this->assertEquals(0, $count);
}
/**
* Test that only users within a course context are fetched.
*/
public function test_get_users_in_context() {
global $DB;
$this->resetAfterTest();
$component = 'core_role';
$this->setAdminUser();
$admin = \core_user::get_user_by_username('admin');
// Create user1.
$user1 = $this->getDataGenerator()->create_user();
$usercontext1 = \context_user::instance($user1->id);
// Create user2.
$user2 = $this->getDataGenerator()->create_user();
$usercontext2 = \context_user::instance($user2->id);
// Create course1.
$course1 = $this->getDataGenerator()->create_course();
$coursecontext1 = \context_course::instance($course1->id);
// Create course category.
$coursecat = $this->getDataGenerator()->create_category();
$coursecatcontext = \context_coursecat::instance($coursecat->id);
// Create chat module.
$cm = $this->getDataGenerator()->create_module('chat', ['course' => $course1->id]);
$cmcontext = \context_module::instance($cm->cmid);
$systemcontext = \context_system::instance();
// Create a block.
$block = $this->getDataGenerator()->create_block('online_users');
$blockcontext = \context_block::instance($block->id);
$studentrole = $DB->get_record('role', array('shortname' => 'student'), '*', MUST_EXIST);
$managerrole = $DB->get_record('role', array('shortname' => 'manager'), '*', MUST_EXIST);
// Role assignments CONTEXT_COURSE.
role_assign($studentrole->id, $user1->id, $coursecontext1->id);
role_assign($studentrole->id, $user2->id, $coursecontext1->id);
// Role assignments CONTEXT_COURSECAT.
role_assign($studentrole->id, $user2->id, $coursecatcontext->id);
// Role assignments CONTEXT_SYSTEM.
role_assign($studentrole->id, $user1->id, $systemcontext->id);
// Role assignments CONTEXT_MODULE.
role_assign($studentrole->id, $user2->id, $cmcontext->id);
// Role assigments CONTEXT_BLOCK.
role_assign($studentrole->id, $user1->id, $blockcontext->id);
// Role assigments CONTEXT_USER.
role_assign($managerrole->id, $user1->id, $usercontext2->id);
// Role capabilities.
$this->setUser($user1);
assign_capability('moodle/backup:backupcourse', CAP_ALLOW, $studentrole->id, $cmcontext->id);
// The user list for usercontext1 should not return any users.
$userlist1 = new \core_privacy\local\request\userlist($usercontext1, $component);
provider::get_users_in_context($userlist1);
$this->assertCount(0, $userlist1);
// The user list for usercontext2 should user1 and admin (role creator).
$userlist2 = new \core_privacy\local\request\userlist($usercontext2, $component);
provider::get_users_in_context($userlist2);
$this->assertCount(2, $userlist2);
$expected = [
$user1->id,
$admin->id
];
$this->assertEquals($expected, $userlist2->get_userids(), '', 0.0, 10, true);
// The user list for coursecontext1 should user1, user2 and admin (role creator).
$userlist3 = new \core_privacy\local\request\userlist($coursecontext1, $component);
provider::get_users_in_context($userlist3);
$this->assertCount(3, $userlist3);
$expected = [
$user1->id,
$user2->id,
$admin->id
];
$this->assertEquals($expected, $userlist3->get_userids(), '', 0.0, 10, true);
// The user list for coursecatcontext should user2 and admin (role creator).
$userlist4 = new \core_privacy\local\request\userlist($coursecatcontext, $component);
provider::get_users_in_context($userlist4);
$this->assertCount(2, $userlist4);
$expected = [
$user2->id,
$admin->id
];
$this->assertEquals($expected, $userlist4->get_userids(), '', 0.0, 10, true);
// The user list for systemcontext should user1 and admin (role creator).
$userlist6 = new \core_privacy\local\request\userlist($systemcontext, $component);
provider::get_users_in_context($userlist6);
$this->assertCount(2, $userlist6);
$expected = [
$user1->id,
$admin->id
];
$this->assertEquals($expected, $userlist6->get_userids(), '', 0.0, 10, true);
// The user list for cmcontext should user1, user2 and admin (role creator).
$userlist7 = new \core_privacy\local\request\userlist($cmcontext, $component);
provider::get_users_in_context($userlist7);
$this->assertCount(3, $userlist7);
$expected = [
$user1->id,
$user2->id,
$admin->id
];
$this->assertEquals($expected, $userlist7->get_userids(), '', 0.0, 10, true);
// The user list for blockcontext should user1 and admin (role creator).
$userlist8 = new \core_privacy\local\request\userlist($blockcontext, $component);
provider::get_users_in_context($userlist8);
$this->assertCount(2, $userlist8);
$expected = [
$user1->id,
$admin->id
];
$this->assertEquals($expected, $userlist8->get_userids(), '', 0.0, 10, true);
}
/**
* Test that data for users in approved userlist is deleted.
*/
public function test_delete_data_for_users() {
global $DB;
$this->resetAfterTest();
$component = 'core_role';
$this->setAdminUser();
$admin = \core_user::get_user_by_username('admin');
// Create user1.
$user1 = $this->getDataGenerator()->create_user();
// Create user2.
$user2 = $this->getDataGenerator()->create_user();
$usercontext2 = \context_user::instance($user2->id);
// Create course1.
$course1 = $this->getDataGenerator()->create_course();
$coursecontext1 = \context_course::instance($course1->id);
// Create course category.
$coursecat = $this->getDataGenerator()->create_category();
$coursecatcontext = \context_coursecat::instance($coursecat->id);
// Create chat module.
$cm = $this->getDataGenerator()->create_module('chat', ['course' => $course1->id]);
$cmcontext = \context_module::instance($cm->cmid);
$systemcontext = \context_system::instance();
// Create a block.
$block = $this->getDataGenerator()->create_block('online_users');
$blockcontext = \context_block::instance($block->id);
$studentrole = $DB->get_record('role', array('shortname' => 'student'), '*', MUST_EXIST);
$managerrole = $DB->get_record('role', array('shortname' => 'manager'), '*', MUST_EXIST);
// Role assignments CONTEXT_COURSE.
role_assign($studentrole->id, $user1->id, $coursecontext1->id);
role_assign($studentrole->id, $user2->id, $coursecontext1->id);
// Role assignments CONTEXT_COURSECAT.
role_assign($studentrole->id, $user2->id, $coursecatcontext->id);
// Role assignments CONTEXT_SYSTEM.
role_assign($studentrole->id, $user1->id, $systemcontext->id);
// Role assignments CONTEXT_MODULE.
role_assign($studentrole->id, $user2->id, $cmcontext->id);
// Role assigments CONTEXT_BLOCK.
role_assign($studentrole->id, $user1->id, $blockcontext->id);
// Role assigments CONTEXT_USER.
role_assign($managerrole->id, $user1->id, $usercontext2->id);
// Role capabilities.
$this->setUser($user1);
assign_capability('moodle/backup:backupcourse', CAP_ALLOW, $studentrole->id, $cmcontext->id);
// The user list for usercontext2 should user1 and admin (role creator).
$userlist1 = new \core_privacy\local\request\userlist($usercontext2, $component);
provider::get_users_in_context($userlist1);
$this->assertCount(2, $userlist1);
// The user list for coursecontext1 should user1, user2 and admin (role creator).
$userlist2 = new \core_privacy\local\request\userlist($coursecontext1, $component);
provider::get_users_in_context($userlist2);
$this->assertCount(3, $userlist2);
// The user list for coursecatcontext should user2 and admin (role creator).
$userlist3 = new \core_privacy\local\request\userlist($coursecatcontext, $component);
provider::get_users_in_context($userlist3);
$this->assertCount(2, $userlist3);
// The user list for systemcontext should user1 and admin (role creator).
$userlist4 = new \core_privacy\local\request\userlist($systemcontext, $component);
provider::get_users_in_context($userlist4);
$this->assertCount(2, $userlist4);
// The user list for cmcontext should user1, user2 and admin (role creator).
$userlist5 = new \core_privacy\local\request\userlist($cmcontext, $component);
provider::get_users_in_context($userlist5);
$this->assertCount(3, $userlist5);
// The user list for blockcontext should user1 and admin (role creator).
$userlist6 = new \core_privacy\local\request\userlist($blockcontext, $component);
provider::get_users_in_context($userlist6);
$this->assertCount(2, $userlist6);
// Convert $userlist1 into an approved_contextlist.
$approvedlist1 = new approved_userlist($usercontext2, $component, $userlist1->get_userids());
// Delete using delete_data_for_user.
provider::delete_data_for_users($approvedlist1);
// Re-fetch users in usercontext2.
$userlist1 = new \core_privacy\local\request\userlist($usercontext2, $component);
provider::get_users_in_context($userlist1);
$this->assertCount(0, $userlist1);
// Convert $userlist2 into an approved_contextlist.
$approvedlist2 = new approved_userlist($coursecontext1, $component, $userlist2->get_userids());
// Delete using delete_data_for_user.
provider::delete_data_for_users($approvedlist2);
// Re-fetch users in coursecontext1.
$userlist2 = new \core_privacy\local\request\userlist($coursecontext1, $component);
provider::get_users_in_context($userlist2);
$this->assertCount(0, $userlist2);
// Convert $userlist3 into an approved_contextlist.
$approvedlist3 = new approved_userlist($coursecatcontext, $component, $userlist3->get_userids());
// Delete using delete_data_for_user.
provider::delete_data_for_users($approvedlist3);
// Re-fetch users in coursecatcontext.
$userlist3 = new \core_privacy\local\request\userlist($coursecatcontext, $component);
provider::get_users_in_context($userlist3);
$this->assertCount(0, $userlist3);
// Convert $userlist4 into an approved_contextlist.
$approvedlist4 = new approved_userlist($systemcontext, $component, $userlist4->get_userids());
// Delete using delete_data_for_user.
provider::delete_data_for_users($approvedlist4);
// Re-fetch users in systemcontext.
$userlist4 = new \core_privacy\local\request\userlist($systemcontext, $component);
provider::get_users_in_context($userlist4);
// The data from role_capabilities should still be present. The user list should return the admin user.
$this->assertCount(1, $userlist4);
$expected = [$admin->id];
$this->assertEquals($expected, $userlist4->get_userids());
// Convert $userlist5 into an approved_contextlist.
$approvedlist5 = new approved_userlist($cmcontext, $component, $userlist5->get_userids());
// Delete using delete_data_for_user.
provider::delete_data_for_users($approvedlist5);
// Re-fetch users in cmcontext.
$userlist5 = new \core_privacy\local\request\userlist($cmcontext, $component);
provider::get_users_in_context($userlist5);
// The data from role_capabilities should still be present. The user list should return user1.
$this->assertCount(1, $userlist5);
$expected = [$user1->id];
$this->assertEquals($expected, $userlist5->get_userids());
// Convert $userlist6 into an approved_contextlist.
$approvedlist6 = new approved_userlist($blockcontext, $component, $userlist6->get_userids());
// Delete using delete_data_for_user.
provider::delete_data_for_users($approvedlist6);
// Re-fetch users in blockcontext.
$userlist6 = new \core_privacy\local\request\userlist($blockcontext, $component);
provider::get_users_in_context($userlist6);
$this->assertCount(0, $userlist6);
}
/**
* Supoort function to get all the localised roles name
* in a simple array for testing.
*
* @return array Array of name of the roles by roleid.
*/
protected static function get_roles_name() {
$roles = role_fix_names(get_all_roles(), \context_system::instance(), ROLENAME_ORIGINAL);
$rolesnames = array();
foreach ($roles as $role) {
$rolesnames[$role->id] = $role->localname;
}
return $rolesnames;
}
}
+10 -3
View File
@@ -68,9 +68,16 @@ if ($errormsg !== '') {
$showsettingslinks = true;
if ($hassiteconfig) {
require_once("admin_settings_search_form.php");
$form = new admin_settings_search_form();
$form->display();
$data = [
'action' => new moodle_url('/admin/search.php'),
'btnclass' => 'btn-primary',
'inputname' => 'query',
'searchstring' => get_string('search'),
'query' => $query,
'extraclasses' => 'd-flex justify-content-center'
];
echo $OUTPUT->render_from_template('core/search_input', $data);
echo '<hr>';
if ($query) {
echo admin_search_settings_html($query);
+1 -1
View File
@@ -26,7 +26,7 @@ require_once($CFG->libdir . '/adminlib.php');
admin_externalpage_setup('searchareas');
$areaid = optional_param('areaid', null, PARAM_ALPHAEXT);
$areaid = optional_param('areaid', null, PARAM_ALPHANUMEXT);
$action = optional_param('action', null, PARAM_ALPHA);
$indexingenabled = \core_search\manager::is_indexing_enabled(); // This restricts many of the actions on this page.
+18 -8
View File
@@ -131,15 +131,10 @@ if ($hassiteconfig && \core_analytics\manager::is_analytics_enabled()) {
$timesplittingdefaults, $timesplittingoptions)
);
// Predictions processor output dir.
$defaultmodeloutputdir = rtrim($CFG->dataroot, '/') . DIRECTORY_SEPARATOR . 'models';
if (empty(get_config('analytics', 'modeloutputdir')) && !file_exists($defaultmodeloutputdir) &&
is_writable($defaultmodeloutputdir)) {
// Automatically create the dir for them so users don't see the invalid value red cross.
mkdir($defaultmodeloutputdir, $CFG->directorypermissions, true);
}
// Predictions processor output dir - specify default in setting description (used if left blank).
$defaultmodeloutputdir = \core_analytics\model::default_output_dir();
$settings->add(new admin_setting_configdirectory('analytics/modeloutputdir', new lang_string('modeloutputdir', 'analytics'),
new lang_string('modeloutputdirinfo', 'analytics'), $defaultmodeloutputdir));
new lang_string('modeloutputdirwithdefaultinfo', 'analytics', $defaultmodeloutputdir), ''));
// Disable web interface evaluation and get predictions.
$settings->add(new admin_setting_configcheckbox('analytics/onlycli', new lang_string('onlycli', 'analytics'),
@@ -149,5 +144,20 @@ if ($hassiteconfig && \core_analytics\manager::is_analytics_enabled()) {
$settings->add(new admin_setting_configduration('analytics/modeltimelimit', new lang_string('modeltimelimit', 'analytics'),
new lang_string('modeltimelimitinfo', 'analytics'), 20 * MINSECS));
$options = array(
0 => new lang_string('neverdelete', 'analytics'),
1000 => new lang_string('numdays', '', 1000),
365 => new lang_string('numdays', '', 365),
180 => new lang_string('numdays', '', 180),
150 => new lang_string('numdays', '', 150),
120 => new lang_string('numdays', '', 120),
90 => new lang_string('numdays', '', 90),
60 => new lang_string('numdays', '', 60),
35 => new lang_string('numdays', '', 35));
$settings->add(new admin_setting_configselect('analytics/calclifetime',
new lang_string('calclifetime', 'analytics'),
new lang_string('configlcalclifetime', 'analytics'), 35, $options));
}
}
+6 -1
View File
@@ -25,6 +25,12 @@ if ($hassiteconfig or has_any_capability($capabilities, $systemcontext)) { // sp
$temp->add(new admin_setting_configcheckbox('allowcohortthemes', new lang_string('allowcohortthemes', 'admin'), new lang_string('configallowcohortthemes', 'admin'), 0));
$temp->add(new admin_setting_configcheckbox('allowthemechangeonurl', new lang_string('allowthemechangeonurl', 'admin'), new lang_string('configallowthemechangeonurl', 'admin'), 0));
$temp->add(new admin_setting_configcheckbox('allowuserblockhiding', new lang_string('allowuserblockhiding', 'admin'), new lang_string('configallowuserblockhiding', 'admin'), 1));
$temp->add(new admin_setting_configcheckbox('langmenuinsecurelayout',
new lang_string('langmenuinsecurelayout', 'admin'),
new lang_string('langmenuinsecurelayout_desc', 'admin'), 0));
$temp->add(new admin_setting_configcheckbox('logininfoinsecurelayout',
new lang_string('logininfoinsecurelayout', 'admin'),
new lang_string('logininfoinsecurelayout_desc', 'admin'), 0));
$temp->add(new admin_setting_configtextarea('custommenuitems', new lang_string('custommenuitems', 'admin'),
new lang_string('configcustommenuitems', 'admin'), '', PARAM_RAW, '50', '10'));
$temp->add(new admin_setting_configtextarea(
@@ -263,7 +269,6 @@ preferences,moodle|/user/preferences.php|t/preferences',
$setting = new admin_setting_configcheckbox('cachejs', new lang_string('cachejs', 'admin'), new lang_string('cachejs_help', 'admin'), 1);
$setting->set_updatedcallback('js_reset_all_caches');
$temp->add($setting);
$temp->add(new admin_setting_configcheckbox('modchooserdefault', new lang_string('modchooserdefault', 'admin'), new lang_string('configmodchooserdefault', 'admin'), 1));
$ADMIN->add('appearance', $temp);
// Link to tag management interface.
+4 -26
View File
@@ -57,16 +57,14 @@ if (($hassiteconfig || has_any_capability(array(
new lang_string('badgesalt_desc', 'badges'),
'badges' . $SITE->timecreated, PARAM_ALPHANUM));
$backpacks = badges_get_site_backpacks();
$choices = array();
foreach ($backpacks as $backpack) {
$choices[$backpack->id] = $backpack->backpackweburl;
}
$globalsettings->add(new admin_setting_configcheckbox('badges_allowcoursebadges',
new lang_string('allowcoursebadges', 'badges'),
new lang_string('allowcoursebadges_desc', 'badges'), 1));
$globalsettings->add(new admin_setting_configcheckbox('badges_allowexternalbackpack',
new lang_string('allowexternalbackpack', 'badges'),
new lang_string('allowexternalbackpack_desc', 'badges'), 1));
$ADMIN->add('badges', $globalsettings);
$ADMIN->add('badges',
@@ -93,26 +91,6 @@ if (($hassiteconfig || has_any_capability(array(
array('moodle/badges:createbadge'), empty($CFG->enablebadges)
)
);
$backpacksettings = new admin_settingpage('backpacksettings', new lang_string('backpacksettings', 'badges'),
array('moodle/badges:manageglobalsettings'), empty($CFG->enablebadges));
$backpacksettings->add(new admin_setting_configcheckbox('badges_allowexternalbackpack',
new lang_string('allowexternalbackpack', 'badges'),
new lang_string('allowexternalbackpack_desc', 'badges'), 1));
$backpacksettings->add(new admin_setting_configselect('badges_site_backpack',
new lang_string('sitebackpack', 'badges'),
new lang_string('sitebackpack_help', 'badges'),
1, $choices));
$warning = badges_verify_site_backpack();
if (!empty($warning)) {
$backpacksettings->add(new admin_setting_description('badges_site_backpack_verify',
new lang_string('sitebackpackverify', 'badges'),
$warning));
}
$ADMIN->add('badges', $backpacksettings);
$ADMIN->add('badges',
new admin_externalpage('managebackpacks',
+137
View File
@@ -22,6 +22,8 @@
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
*/
use core_admin\local\settings\filesize;
$capabilities = array(
'moodle/backup:backupcourse',
'moodle/category:manage',
@@ -75,6 +77,17 @@ if ($hassiteconfig or has_any_capability($capabilities, $systemcontext)) {
$temp->add(new admin_setting_configselect('moodlecourse/visible', new lang_string('visible'), new lang_string('visible_help'),
1, $choices));
// Enable/disable download course content.
$choices = [
DOWNLOAD_COURSE_CONTENT_DISABLED => new lang_string('no'),
DOWNLOAD_COURSE_CONTENT_ENABLED => new lang_string('yes'),
];
$downloadcontentsitedefault = new admin_setting_configselect('moodlecourse/downloadcontentsitedefault',
new lang_string('enabledownloadcoursecontent', 'course'),
new lang_string('downloadcoursecontent_help', 'course'), 0, $choices);
$downloadcontentsitedefault->add_dependent_on('downloadcoursecontentallowed');
$temp->add($downloadcontentsitedefault);
// Course format.
$temp->add(new admin_setting_heading('courseformathdr', new lang_string('type_format', 'plugin'), ''));
@@ -126,6 +139,13 @@ if ($hassiteconfig or has_any_capability($capabilities, $systemcontext)) {
new lang_string('coursehelpshowgrades'), 1, array(0 => new lang_string('no'), 1 => new lang_string('yes'))));
$temp->add(new admin_setting_configselect('moodlecourse/showreports', new lang_string('showreports'), '', 0,
array(0 => new lang_string('no'), 1 => new lang_string('yes'))));
$temp->add(new admin_setting_configselect('moodlecourse/showactivitydates',
new lang_string('showactivitydates'),
new lang_string('showactivitydates_help'), 1, [
0 => new lang_string('no'),
1 => new lang_string('yes')
]
));
// Files and uploads.
$temp->add(new admin_setting_heading('filesanduploadshdr', new lang_string('filesanduploads'), ''));
@@ -150,6 +170,15 @@ if ($hassiteconfig or has_any_capability($capabilities, $systemcontext)) {
$temp->add(new admin_setting_configselect('moodlecourse/enablecompletion', new lang_string('completion', 'completion'),
new lang_string('enablecompletion_help', 'completion'), 1, array(0 => new lang_string('no'), 1 => new lang_string('yes'))));
// Display completion conditions.
$temp->add(new admin_setting_configselect('moodlecourse/showcompletionconditions',
new lang_string('showcompletionconditions', 'completion'),
new lang_string('showcompletionconditions_help', 'completion'), 1, [
0 => new lang_string('no'),
1 => new lang_string('yes')
]
));
// Groups.
$temp->add(new admin_setting_heading('groups', new lang_string('groups', 'group'), ''));
$choices = array();
@@ -161,6 +190,21 @@ if ($hassiteconfig or has_any_capability($capabilities, $systemcontext)) {
$ADMIN->add('courses', $temp);
// Download course content.
$downloadcoursedefaulturl = new moodle_url('/admin/settings.php', ['section' => 'coursesettings']);
$temp = new admin_settingpage('downloadcoursecontent', new lang_string('downloadcoursecontent', 'course'));
$temp->add(new admin_setting_configcheckbox('downloadcoursecontentallowed',
new lang_string('downloadcoursecontentallowed', 'admin'),
new lang_string('downloadcoursecontentallowed_desc', 'admin', $downloadcoursedefaulturl->out()), 0));
// 50MB default maximum size per file when downloading course content.
$defaultmaxdownloadsize = 50 * filesize::UNIT_MB;
$temp->add(new filesize('maxsizeperdownloadcoursefile', new lang_string('maxsizeperdownloadcoursefile', 'admin'),
new lang_string('maxsizeperdownloadcoursefile_desc', 'admin'), $defaultmaxdownloadsize, filesize::UNIT_MB));
$temp->hide_if('maxsizeperdownloadcoursefile', 'downloadcoursecontentallowed');
$ADMIN->add('courses', $temp);
// "courserequests" settingpage.
$temp = new admin_settingpage('courserequest', new lang_string('courserequest'));
$temp->add(new admin_setting_configcheckbox('enablecourserequests',
@@ -181,6 +225,56 @@ if ($hassiteconfig or has_any_capability($capabilities, $systemcontext)) {
$CFG->wwwroot . '/course/pending.php', array('moodle/site:approvecourse')));
}
// Add a category for the Activity Chooser.
$ADMIN->add('courses', new admin_category('activitychooser', new lang_string('activitychoosercategory', 'course')));
$temp = new admin_settingpage('activitychoosersettings', new lang_string('activitychoosersettings', 'course'));
// Tab mode for the activity chooser.
$temp->add(
new admin_setting_configselect(
'activitychoosertabmode',
new lang_string('activitychoosertabmode', 'course'),
new lang_string('activitychoosertabmode_desc', 'course'),
0,
[
0 => new lang_string('activitychoosertabmodeone', 'course'),
1 => new lang_string('activitychoosertabmodetwo', 'course'),
2 => new lang_string('activitychoosertabmodethree', 'course'),
]
)
);
// Build a list of plugins that use the footer callback.
$pluginswithfunction = get_plugins_with_function('custom_chooser_footer', 'lib.php');
$pluginsoptions = [];
$pluginsoptions[COURSE_CHOOSER_FOOTER_NONE] = get_string('activitychooserhidefooter', 'course');
if ($pluginswithfunction) {
foreach ($pluginswithfunction as $plugintype => $plugins) {
foreach ($plugins as $pluginname => $pluginfunction) {
$plugin = $plugintype.'_'.$pluginname;
$pluginsoptions[$plugin] = get_string('pluginname', $plugin);
}
}
}
// Select what plugin to show in the footer.
$temp->add(
new admin_setting_configselect(
'activitychooseractivefooter',
new lang_string('activitychooseractivefooter', 'course'),
new lang_string('activitychooseractivefooter_desc', 'course'),
COURSE_CHOOSER_FOOTER_NONE,
$pluginsoptions
)
);
$ADMIN->add('activitychooser', $temp);
$ADMIN->add('activitychooser',
new admin_externalpage('activitychooserrecommended', new lang_string('activitychooserrecommendations', 'course'),
new moodle_url('/course/recommendations.php'),
array('moodle/course:recommendactivity')
)
);
// Add a category for backups.
$ADMIN->add('courses', new admin_category('backups', new lang_string('backups','admin')));
@@ -229,7 +323,15 @@ if ($hassiteconfig or has_any_capability($capabilities, $systemcontext)) {
new lang_string('generalgroups', 'backup'), new lang_string('configgeneralgroups', 'backup'),
array('value' => 1, 'locked' => 0)));
$temp->add(new admin_setting_configcheckbox_with_lock('backup/backup_general_competencies', new lang_string('generalcompetencies','backup'), new lang_string('configgeneralcompetencies','backup'), array('value'=>1, 'locked'=>0)));
$temp->add(new admin_setting_configcheckbox_with_lock('backup/backup_general_contentbankcontent',
new lang_string('generalcontentbankcontent', 'backup'),
new lang_string('configgeneralcontentbankcontent', 'backup'),
['value' => 1, 'locked' => 0])
);
$temp->add(new admin_setting_configcheckbox_with_lock('backup/backup_general_legacyfiles',
new lang_string('generallegacyfiles', 'backup'),
new lang_string('configlegacyfiles', 'backup'), array('value' => 1, 'locked' => 0)));
$ADMIN->add('backups', $temp);
// Create a page for general import configuration and defaults.
@@ -241,6 +343,11 @@ if ($hassiteconfig or has_any_capability($capabilities, $systemcontext)) {
// Import defaults section.
$temp->add(new admin_setting_heading('importsettings', new lang_string('importsettings', 'backup'), ''));
$temp->add(new admin_setting_configcheckbox_with_lock(
'backup/backup_import_permissions',
new lang_string('generalpermissions', 'backup'),
new lang_string('configgeneralpermissions', 'backup'),
array('value' => 0, 'locked' => 0)));
$temp->add(new admin_setting_configcheckbox_with_lock('backup/backup_import_activities', new lang_string('generalactivities','backup'), new lang_string('configgeneralactivities','backup'), array('value'=>1, 'locked'=>0)));
$temp->add(new admin_setting_configcheckbox_with_lock('backup/backup_import_blocks', new lang_string('generalblocks','backup'), new lang_string('configgeneralblocks','backup'), array('value'=>1, 'locked'=>0)));
$temp->add(new admin_setting_configcheckbox_with_lock('backup/backup_import_filters', new lang_string('generalfilters','backup'), new lang_string('configgeneralfilters','backup'), array('value'=>1, 'locked'=>0)));
@@ -250,6 +357,15 @@ if ($hassiteconfig or has_any_capability($capabilities, $systemcontext)) {
new lang_string('generalgroups', 'backup'), new lang_string('configgeneralgroups', 'backup'),
array('value' => 1, 'locked' => 0)));
$temp->add(new admin_setting_configcheckbox_with_lock('backup/backup_import_competencies', new lang_string('generalcompetencies','backup'), new lang_string('configgeneralcompetencies','backup'), array('value'=>1, 'locked'=>0)));
$temp->add(new admin_setting_configcheckbox_with_lock(
'backup/backup_import_contentbankcontent',
new lang_string('generalcontentbankcontent', 'backup'),
new lang_string('configgeneralcontentbankcontent', 'backup'),
['value' => 1, 'locked' => 0])
);
$temp->add(new admin_setting_configcheckbox_with_lock('backup/backup_import_legacyfiles',
new lang_string('generallegacyfiles', 'backup'),
new lang_string('configlegacyfiles', 'backup'), array('value' => 1, 'locked' => 0)));
$ADMIN->add('backups', $temp);
@@ -276,6 +392,8 @@ if ($hassiteconfig or has_any_capability($capabilities, $systemcontext)) {
$maxkeptoptions = array(
0 => new lang_string('all'), 1 => '1',
2 => '2',
3 => '3',
4 => '4',
5 => '5',
10 => '10',
20 => '20',
@@ -367,6 +485,16 @@ if ($hassiteconfig or has_any_capability($capabilities, $systemcontext)) {
$temp->add(new admin_setting_configcheckbox('backup/backup_auto_groups', new lang_string('generalgroups', 'backup'),
new lang_string('configgeneralgroups', 'backup'), 1));
$temp->add(new admin_setting_configcheckbox('backup/backup_auto_competencies', new lang_string('generalcompetencies','backup'), new lang_string('configgeneralcompetencies','backup'), 1));
$temp->add(new admin_setting_configcheckbox(
'backup/backup_auto_contentbankcontent',
new lang_string('generalcontentbankcontent', 'backup'),
new lang_string('configgeneralcontentbankcontent', 'backup'),
1)
);
$temp->add(new admin_setting_configcheckbox('backup/backup_auto_legacyfiles',
new lang_string('generallegacyfiles', 'backup'),
new lang_string('configlegacyfiles', 'backup'), 1));
//$temp->add(new admin_setting_configcheckbox('backup/backup_auto_messages', new lang_string('messages', 'message'), new lang_string('backupmessageshelp','message'), 0));
//$temp->add(new admin_setting_configcheckbox('backup/backup_auto_blogs', new lang_string('blogs', 'blog'), new lang_string('backupblogshelp','blog'), 0));
@@ -394,6 +522,9 @@ if ($hassiteconfig or has_any_capability($capabilities, $systemcontext)) {
$temp->add(new admin_setting_configcheckbox_with_lock('restore/restore_general_role_assignments',
new lang_string('generalroleassignments', 'backup'),
new lang_string('configrestoreroleassignments', 'backup'), array('value' => 1, 'locked' => 0)));
$temp->add(new admin_setting_configcheckbox_with_lock('restore/restore_general_permissions',
new lang_string('generalpermissions', 'backup'),
new lang_string('configrestorepermissions', 'backup'), array('value' => 1, 'locked' => 0)));
$temp->add(new admin_setting_configcheckbox_with_lock('restore/restore_general_activities',
new lang_string('generalactivities', 'backup'),
new lang_string('configrestoreactivities', 'backup'), array('value' => 1, 'locked' => 0)));
@@ -427,6 +558,12 @@ if ($hassiteconfig or has_any_capability($capabilities, $systemcontext)) {
$temp->add(new admin_setting_configcheckbox_with_lock('restore/restore_general_competencies',
new lang_string('generalcompetencies', 'backup'),
new lang_string('configrestorecompetencies', 'backup'), array('value' => 1, 'locked' => 0)));
$temp->add(new admin_setting_configcheckbox_with_lock('restore/restore_general_contentbankcontent',
new lang_string('generalcontentbankcontent', 'backup'),
new lang_string('configrestorecontentbankcontent', 'backup'), array('value' => 1, 'locked' => 0)));
$temp->add(new admin_setting_configcheckbox_with_lock('restore/restore_general_legacyfiles',
new lang_string('generallegacyfiles', 'backup'),
new lang_string('configlegacyfiles', 'backup'), array('value' => 1, 'locked' => 0)));
// Restore defaults when merging into another course.
$temp->add(new admin_setting_heading('mergerestoredefaults', new lang_string('mergerestoredefaults', 'backup'), ''));
+9 -2
View File
@@ -10,7 +10,6 @@ if ($hassiteconfig) { // speedup for non-admins, add all caps used on this page
$temp = new admin_settingpage('experimentalsettings', new lang_string('experimentalsettings', 'admin'));
//TODO: Re-enable cc-import once re-implemented in 2.0.x
//$temp->add(new admin_setting_configcheckbox('enableimsccimport', new lang_string('enable_cc_import', 'imscc'), new lang_string('enable_cc_import_description', 'imscc'), 0));
$temp->add(new admin_setting_configcheckbox('enablesafebrowserintegration', new lang_string('enablesafebrowserintegration', 'admin'), new lang_string('configenablesafebrowserintegration', 'admin'), 0));
$temp->add(new admin_setting_configcheckbox('dndallowtextandlinks', new lang_string('dndallowtextandlinks', 'admin'), new lang_string('configdndallowtextandlinks', 'admin'), 0));
@@ -39,9 +38,17 @@ if ($hassiteconfig) { // speedup for non-admins, add all caps used on this page
// "debugging" settingpage
$temp = new admin_settingpage('debugging', new lang_string('debugging', 'admin'));
$temp->add(new admin_setting_special_debug());
$temp->add(new admin_setting_configcheckbox('debugdisplay', new lang_string('debugdisplay', 'admin'), new lang_string('configdebugdisplay', 'admin'), ini_get_bool('display_errors')));
$temp->add(new admin_setting_configcheckbox('debugdisplay', new lang_string('debugdisplay', 'admin'),
new lang_string('configdebugdisplay', 'admin'), 0));
$temp->add(new admin_setting_configcheckbox('perfdebug', new lang_string('perfdebug', 'admin'), new lang_string('configperfdebug', 'admin'), '7', '15', '7'));
$temp->add(new admin_setting_configcheckbox('debugstringids', new lang_string('debugstringids', 'admin'), new lang_string('debugstringids_desc', 'admin'), 0));
$temp->add(new admin_setting_configselect('debugsqltrace',
new lang_string('debugsqltrace', 'admin'),
new lang_string('debugsqltrace_desc', 'admin'), 0, array(
0 => new lang_string('disabled', 'admin'),
1 => new lang_string('debugsqltrace1', 'admin'),
2 => new lang_string('debugsqltrace2', 'admin'),
100 => new lang_string('debugsqltrace100', 'admin'))));
$temp->add(new admin_setting_configcheckbox('debugvalidators', new lang_string('debugvalidators', 'admin'), new lang_string('configdebugvalidators', 'admin'), 0));
$temp->add(new admin_setting_configcheckbox('debugpageinfo', new lang_string('debugpageinfo', 'admin'), new lang_string('configdebugpageinfo', 'admin'), 0));
$ADMIN->add('development', $temp);
+17 -2
View File
@@ -24,6 +24,21 @@
defined('MOODLE_INTERNAL') || die();
// Settings page.
$ADMIN->add('h5p', new admin_externalpage('h5psettings', get_string('h5pmanage', 'core_h5p'),
// H5P overview.
$ADMIN->add('h5p', new admin_externalpage('h5poverview', get_string('h5poverview', 'core_h5p'),
new moodle_url('/h5p/overview.php'), ['moodle/site:config']));
// Manage H5P libraries page.
$ADMIN->add('h5p', new admin_externalpage('h5pmanagelibraries', get_string('h5pmanage', 'core_h5p'),
new moodle_url('/h5p/libraries.php'), ['moodle/site:config', 'moodle/h5p:updatelibraries']));
// H5P settings.
$defaulth5plib = \core_h5p\local\library\autoloader::get_default_handler_library();
if (!empty($defaulth5plib)) {
// As for now this page only has this setting, it will be hidden if there isn't any H5P libraries handler defined.
$settings = new admin_settingpage('h5psettings', new lang_string('h5psettings', 'core_h5p'));
$ADMIN->add('h5p', $settings);
$settings->add(new admin_settings_h5plib_handler_select('h5plibraryhandler', new lang_string('h5plibraryhandler', 'core_h5p'),
new lang_string('h5plibraryhandler_help', 'core_h5p'), $defaulth5plib));
}
+2
View File
@@ -8,6 +8,8 @@ if ($hassiteconfig) {
$temp = new admin_settingpage('langsettings', new lang_string('languagesettings', 'admin'));
$temp->add(new admin_setting_configcheckbox('autolang', new lang_string('autolang', 'admin'), new lang_string('configautolang', 'admin'), 1));
$temp->add(new admin_setting_configselect('lang', new lang_string('lang', 'admin'), new lang_string('configlang', 'admin'), current_language(), get_string_manager()->get_list_of_translations())); // $CFG->lang might be set in installer already, default en is in setup.php
$temp->add(new admin_setting_configcheckbox('autolangusercreation', new lang_string('autolangusercreation', 'admin'),
new lang_string('configautolangusercreation', 'admin'), 1));
$temp->add(new admin_setting_configcheckbox('langmenu', new lang_string('langmenu', 'admin'), new lang_string('configlangmenu', 'admin'), 1));
$temp->add(new admin_setting_langlist());
$temp->add(new admin_setting_configcheckbox('langcache', new lang_string('langcache', 'admin'), new lang_string('langcache_desc', 'admin'), 1));
+45
View File
@@ -0,0 +1,45 @@
<?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 file defines the settings pages for licenses.
*
* @package core
* @copyright 2020 Tom Dickman <tomdickman@catalyst-au.net>
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
*/
defined('MOODLE_INTERNAL') || die();
require_once($CFG->libdir . '/licenselib.php');
if ($hassiteconfig) {
$temp = new admin_settingpage('licensesettings', new lang_string('licensesettings', 'admin'));
$licenses = license_manager::get_active_licenses_as_array();
$temp->add(new admin_setting_configselect('sitedefaultlicense',
new lang_string('configsitedefaultlicense', 'admin'),
new lang_string('configsitedefaultlicensehelp', 'admin'),
'unknown',
$licenses));
$temp->add(new admin_setting_configcheckbox('rememberuserlicensepref',
new lang_string('rememberuserlicensepref', 'admin'),
new lang_string('rememberuserlicensepref_help', 'admin'),
1));
$ADMIN->add('license', $temp);
}
+50 -14
View File
@@ -1,21 +1,57 @@
<?php
// This file is part of Moodle - https://moodle.org/
//
// Moodle is free software: you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
// the Free Software Foundation, either version 3 of the License, or
// (at your option) any later version.
//
// Moodle is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License for more details.
//
// You should have received a copy of the GNU General Public License
// along with Moodle. If not, see <http://www.gnu.org/licenses/>.
if ($hassiteconfig) { // speedup for non-admins, add all caps used on this page
/**
* Define administration settings on the Location settings page.
*
* @package core
* @category admin
* @copyright 2006 Martin Dougiamas <martin@moodle.com>
* @license https://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
*/
// "locations" settingpage
$temp = new admin_settingpage('locationsettings', new lang_string('locationsettings', 'admin'));
$temp->add(new admin_setting_servertimezone());
$temp->add(new admin_setting_forcetimezone());
$temp->add(new admin_settings_country_select('country', new lang_string('country', 'admin'), new lang_string('configcountry', 'admin'), 0));
$temp->add(new admin_setting_configtext('defaultcity', new lang_string('defaultcity', 'admin'), new lang_string('defaultcity_help', 'admin'), ''));
defined('MOODLE_INTERNAL') || die();
$temp->add(new admin_setting_heading('iplookup', new lang_string('iplookup', 'admin'), new lang_string('iplookupinfo', 'admin')));
$temp->add(new admin_setting_configfile('geoip2file', new lang_string('geoipfile', 'admin'),
new lang_string('configgeoipfile', 'admin', $CFG->dataroot.'/geoip/'), $CFG->dataroot.'/geoip/GeoLite2-City.mmdb'));
$temp->add(new admin_setting_configtext('googlemapkey3', new lang_string('googlemapkey3', 'admin'), new lang_string('googlemapkey3_help', 'admin'), '', PARAM_RAW, 60));
if ($hassiteconfig) {
$temp = new admin_settingpage('locationsettings', new lang_string('locationsettings', 'core_admin'));
$temp->add(new admin_setting_configtext('allcountrycodes', new lang_string('allcountrycodes', 'admin'), new lang_string('configallcountrycodes', 'admin'), '', '/^(?:\w+(?:,\w+)*)?$/'));
if ($ADMIN->fulltree) {
$temp->add(new admin_setting_servertimezone());
$temp->add(new admin_setting_forcetimezone());
$temp->add(new admin_settings_country_select('country', new lang_string('country', 'core_admin'),
new lang_string('configcountry', 'core_admin'), 0));
$temp->add(new admin_setting_configtext('defaultcity', new lang_string('defaultcity', 'core_admin'),
new lang_string('defaultcity_help', 'core_admin'), ''));
$temp->add(new admin_setting_heading('iplookup', new lang_string('iplookup', 'core_admin'),
new lang_string('iplookupinfo', 'core_admin')));
$temp->add(new admin_setting_configfile('geoip2file', new lang_string('geoipfile', 'core_admin'),
new lang_string('configgeoipfile', 'core_admin', $CFG->dataroot . '/geoip/'),
$CFG->dataroot . '/geoip/GeoLite2-City.mmdb'));
$temp->add(new admin_setting_configtext('googlemapkey3', new lang_string('googlemapkey3', 'core_admin'),
new lang_string('googlemapkey3_help', 'core_admin'), '', PARAM_RAW, 60));
$temp->add(new admin_setting_countrycodes('allcountrycodes', new lang_string('allcountrycodes', 'core_admin'),
new lang_string('configallcountrycodes', 'core_admin')));
}
$ADMIN->add('location', $temp);
} // end of speedup
}
+29
View File
@@ -0,0 +1,29 @@
<?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/>.
/**
* Adds payments links to the admin tree
*
* @package core
* @copyright 2020 Marina Glancy
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
*/
$ADMIN->add('payment', new admin_externalpage(
'paymentaccounts',
new lang_string('paymentaccounts', 'payment'),
new moodle_url("/payment/accounts.php"),
['moodle/payment:manageaccounts', 'moodle/payment:viewpayments']));
+132 -66
View File
@@ -167,6 +167,42 @@ if ($hassiteconfig) {
$ADMIN->add('modules', new admin_category('antivirussettings', new lang_string('antiviruses', 'antivirus')));
$temp = new admin_settingpage('manageantiviruses', new lang_string('antivirussettings', 'antivirus'));
$temp->add(new admin_setting_manageantiviruses());
// Common settings.
$temp->add(new admin_setting_heading('antiviruscommonsettings', new lang_string('antiviruscommonsettings', 'antivirus'), ''));
// Alert email.
$temp->add(
new admin_setting_configtext(
'antivirus/notifyemail',
new lang_string('notifyemail', 'antivirus'),
new lang_string('notifyemail_help', 'antivirus'),
'',
PARAM_EMAIL
)
);
// Enable quarantine.
$temp->add(
new admin_setting_configcheckbox(
'antivirus/enablequarantine',
new lang_string('enablequarantine', 'antivirus'),
new lang_string('enablequarantine_help', 'antivirus',
\core\antivirus\quarantine::DEFAULT_QUARANTINE_FOLDER),
0
)
);
// Quarantine time.
$temp->add(
new admin_setting_configduration(
'antivirus/quarantinetime',
new lang_string('quarantinetime', 'antivirus'),
new lang_string('quarantinetime_desc', 'antivirus'),
\core\antivirus\quarantine::DEFAULT_QUARANTINE_TIME
)
);
$ADMIN->add('antivirussettings', $temp);
$plugins = core_plugin_manager::instance()->get_plugins_of_type('antivirus');
core_collator::asort_objects_by_property($plugins, 'displayname');
@@ -182,20 +218,6 @@ if ($hassiteconfig) {
$plugin->load_settings($ADMIN, 'mlbackendsettings', $hassiteconfig);
}
/// License types
$ADMIN->add('modules', new admin_category('licensesettings', new lang_string('licenses')));
$temp = new admin_settingpage('managelicenses', new lang_string('managelicenses', 'admin'));
require_once($CFG->libdir . '/licenselib.php');
$licenses = array();
$array = explode(',', $CFG->licenses);
foreach ($array as $value) {
$licenses[$value] = new lang_string($value, 'license');
}
$temp->add(new admin_setting_configselect('sitedefaultlicense', new lang_string('configsitedefaultlicense','admin'), new lang_string('configsitedefaultlicensehelp','admin'), 'allrightsreserved', $licenses));
$temp->add(new admin_setting_managelicenses());
$ADMIN->add('licensesettings', $temp);
/// Filter plugins
$ADMIN->add('modules', new admin_category('filtersettings', new lang_string('managefilters')));
@@ -209,6 +231,9 @@ if ($hassiteconfig) {
array('0' => new lang_string('none'), '1' => new lang_string('allfiles'), '2' => new lang_string('htmlfilesonly')));
$items[] = new admin_setting_configcheckbox('filtermatchoneperpage', new lang_string('filtermatchoneperpage', 'admin'), new lang_string('configfiltermatchoneperpage', 'admin'), 0);
$items[] = new admin_setting_configcheckbox('filtermatchonepertext', new lang_string('filtermatchonepertext', 'admin'), new lang_string('configfiltermatchonepertext', 'admin'), 0);
$items[] = new admin_setting_configcheckbox('filternavigationwithsystemcontext',
new lang_string('filternavigationwithsystemcontext', 'admin'),
new lang_string('configfilternavigationwithsystemcontext', 'admin'), 0);
foreach ($items as $item) {
$item->set_updatedcallback('reset_text_filters_cache');
$temp->add($item);
@@ -258,12 +283,38 @@ if ($hassiteconfig) {
$plugin->load_settings($ADMIN, 'mediaplayers', $hassiteconfig);
}
// Payment gateway plugins.
$ADMIN->add('modules', new admin_category('paymentgateways', new lang_string('type_paygw_plural', 'plugin')));
$temp = new admin_settingpage('managepaymentgateways', new lang_string('type_paygwmanage', 'plugin'));
$temp->add(new \core_admin\local\settings\manage_payment_gateway_plugins());
$temp->add(new admin_setting_description(
'managepaymentgatewayspostfix',
'',
new lang_string('gotopaymentaccounts', 'payment',
html_writer::link(new moodle_url('/payment/accounts.php'), get_string('paymentaccounts', 'payment')))
));
$ADMIN->add('paymentgateways', $temp);
$plugins = core_plugin_manager::instance()->get_plugins_of_type('paygw');
core_collator::asort_objects_by_property($plugins, 'displayname');
foreach ($plugins as $plugin) {
/** @var \core\plugininfo\paygw $plugin */
$plugin->load_settings($ADMIN, 'paymentgateways', $hassiteconfig);
}
// Data format settings.
$ADMIN->add('modules', new admin_category('dataformatsettings', new lang_string('dataformats')));
$temp = new admin_settingpage('managedataformats', new lang_string('managedataformats'));
$temp->add(new admin_setting_managedataformats());
$ADMIN->add('dataformatsettings', $temp);
$plugins = core_plugin_manager::instance()->get_plugins_of_type('dataformat');
core_collator::asort_objects_by_property($plugins, 'displayname');
foreach ($plugins as $plugin) {
/** @var \core\plugininfo\dataformat $plugin */
$plugin->load_settings($ADMIN, 'dataformatsettings', $hassiteconfig);
}
//== Portfolio settings ==
require_once($CFG->libdir. '/portfoliolib.php');
$catname = new lang_string('portfolios', 'portfolio');
@@ -360,55 +411,6 @@ if ($hassiteconfig) {
/** @var \core\plugininfo\repository $plugin */
$plugin->load_settings($ADMIN, 'repositorysettings', $hassiteconfig);
}
/// Web services
$ADMIN->add('modules', new admin_category('webservicesettings', new lang_string('webservices', 'webservice')));
/// overview page
$temp = new admin_settingpage('webservicesoverview', new lang_string('webservicesoverview', 'webservice'));
$temp->add(new admin_setting_webservicesoverview());
$ADMIN->add('webservicesettings', $temp);
//API documentation
$ADMIN->add('webservicesettings', new admin_externalpage('webservicedocumentation', new lang_string('wsdocapi', 'webservice'), "$CFG->wwwroot/$CFG->admin/webservice/documentation.php", 'moodle/site:config', false));
/// manage service
$temp = new admin_settingpage('externalservices', new lang_string('externalservices', 'webservice'));
$temp->add(new admin_setting_heading('manageserviceshelpexplaination', new lang_string('information', 'webservice'), new lang_string('servicehelpexplanation', 'webservice')));
$temp->add(new admin_setting_manageexternalservices());
$ADMIN->add('webservicesettings', $temp);
$ADMIN->add('webservicesettings', new admin_externalpage('externalservice', new lang_string('editaservice', 'webservice'), "$CFG->wwwroot/$CFG->admin/webservice/service.php", 'moodle/site:config', true));
$ADMIN->add('webservicesettings', new admin_externalpage('externalservicefunctions', new lang_string('externalservicefunctions', 'webservice'), "$CFG->wwwroot/$CFG->admin/webservice/service_functions.php", 'moodle/site:config', true));
$ADMIN->add('webservicesettings', new admin_externalpage('externalserviceusers', new lang_string('externalserviceusers', 'webservice'), "$CFG->wwwroot/$CFG->admin/webservice/service_users.php", 'moodle/site:config', true));
$ADMIN->add('webservicesettings', new admin_externalpage('externalserviceusersettings', new lang_string('serviceusersettings', 'webservice'), "$CFG->wwwroot/$CFG->admin/webservice/service_user_settings.php", 'moodle/site:config', true));
/// manage protocol page link
$temp = new admin_settingpage('webserviceprotocols', new lang_string('manageprotocols', 'webservice'));
$temp->add(new admin_setting_managewebserviceprotocols());
if (empty($CFG->enablewebservices)) {
$temp->add(new admin_setting_heading('webservicesaredisabled', '', new lang_string('disabledwarning', 'webservice')));
}
// We cannot use $OUTPUT this early, doing so means that we lose the ability
// to set the page layout on all admin pages.
// $wsdoclink = $OUTPUT->doc_link('How_to_get_a_security_key');
$url = new moodle_url(get_docs_url('How_to_get_a_security_key'));
$wsdoclink = html_writer::tag('a', new lang_string('supplyinfo', 'webservice'), array('href'=>$url));
$temp->add(new admin_setting_configcheckbox('enablewsdocumentation', new lang_string('enablewsdocumentation',
'admin'), new lang_string('configenablewsdocumentation', 'admin', $wsdoclink), false));
$ADMIN->add('webservicesettings', $temp);
/// links to protocol pages
$plugins = core_plugin_manager::instance()->get_plugins_of_type('webservice');
core_collator::asort_objects_by_property($plugins, 'displayname');
foreach ($plugins as $plugin) {
/** @var \core\plugininfo\webservice $plugin */
$plugin->load_settings($ADMIN, 'webservicesettings', $hassiteconfig);
}
/// manage token page link
$ADMIN->add('webservicesettings', new admin_externalpage('addwebservicetoken', new lang_string('managetokens', 'webservice'), "$CFG->wwwroot/$CFG->admin/webservice/tokens.php", 'moodle/site:config', true));
$temp = new admin_settingpage('webservicetokens', new lang_string('managetokens', 'webservice'));
$temp->add(new admin_setting_managewebservicetokens());
if (empty($CFG->enablewebservices)) {
$temp->add(new admin_setting_heading('webservicesaredisabled', '', new lang_string('disabledwarning', 'webservice')));
}
$ADMIN->add('webservicesettings', $temp);
}
// Question type settings
@@ -490,7 +492,10 @@ if ($hassiteconfig && !empty($CFG->enableplagiarism)) {
$plugin->load_settings($ADMIN, 'plagiarism', $hassiteconfig);
}
}
$ADMIN->add('reports', new admin_externalpage('comments', new lang_string('comments'), $CFG->wwwroot.'/comment/', 'moodle/site:viewreports'));
// Comments report, note this page is really just a means to delete comments so check that.
$ADMIN->add('reports', new admin_externalpage('comments', new lang_string('comments'), $CFG->wwwroot . '/comment/index.php',
'moodle/comment:delete'));
// Course reports settings
if ($hassiteconfig) {
@@ -563,8 +568,19 @@ if ($hassiteconfig) {
// Search engine selection.
$temp->add(new admin_setting_heading('searchengineheading', new lang_string('searchengine', 'admin'), ''));
$temp->add(new admin_setting_configselect('searchengine',
new lang_string('selectsearchengine', 'admin'), '', 'simpledb', $engines));
$searchengineselect = new admin_setting_configselect('searchengine',
new lang_string('selectsearchengine', 'admin'), '', 'simpledb', $engines);
$searchengineselect->set_validate_function(function(string $value): string {
global $CFG;
// Check nobody's setting the indexing and query-only server to the same one.
if (isset($CFG->searchenginequeryonly) && $CFG->searchenginequeryonly === $value) {
return get_string('searchenginequeryonlysame', 'admin');
} else {
return '';
}
});
$temp->add($searchengineselect);
$temp->add(new admin_setting_heading('searchoptionsheading', new lang_string('searchoptions', 'admin'), ''));
$temp->add(new admin_setting_configcheckbox('searchindexwhendisabled',
new lang_string('searchindexwhendisabled', 'admin'), new lang_string('searchindexwhendisabled_desc', 'admin'),
@@ -604,6 +620,43 @@ if ($hassiteconfig) {
new lang_string('searchhideallcategory_desc', 'admin'),
0));
$temp->add(new admin_setting_heading('searchmanagement', new lang_string('searchmanagement', 'admin'),
new lang_string('searchmanagement_desc', 'admin')));
// Get list of search engines including those with alternate settings.
$searchenginequeryonlyselect = new admin_setting_configselect('searchenginequeryonly',
new lang_string('searchenginequeryonly', 'admin'),
new lang_string('searchenginequeryonly_desc', 'admin'), '', function() use($engines) {
$options = ['' => new lang_string('searchenginequeryonly_none', 'admin')];
foreach ($engines as $name => $display) {
$options[$name] = $display;
$classname = '\search_' . $name . '\engine';
$engine = new $classname;
if ($engine->has_alternate_configuration()) {
$options[$name . '-alternate'] =
new lang_string('searchenginealternatesettings', 'admin', $display);
}
}
return $options;
});
$searchenginequeryonlyselect->set_validate_function(function(string $value): string {
global $CFG;
// Check nobody's setting the indexing and query-only server to the same one.
if (isset($CFG->searchengine) && $CFG->searchengine === $value) {
return get_string('searchenginequeryonlysame', 'admin');
} else {
return '';
}
});
$temp->add($searchenginequeryonlyselect);
$temp->add(new admin_setting_configcheckbox('searchbannerenable',
new lang_string('searchbannerenable', 'admin'), new lang_string('searchbannerenable_desc', 'admin'),
0));
$temp->add(new admin_setting_confightmleditor('searchbanner',
new lang_string('searchbanner', 'admin'), '', ''));
$ADMIN->add('searchplugins', $temp);
$ADMIN->add('searchplugins', new admin_externalpage('searchareas', new lang_string('searchareas', 'admin'),
new moodle_url('/admin/searchareas.php')));
@@ -657,6 +710,19 @@ if ($hassiteconfig) {
}
}
// Content bank content types.
if ($hassiteconfig) {
$ADMIN->add('modules', new admin_category('contentbanksettings', new lang_string('contentbank')));
$temp = new admin_settingpage('managecontentbanktypes', new lang_string('managecontentbanktypes'));
$temp->add(new admin_setting_managecontentbankcontenttypes());
$ADMIN->add('contentbanksettings', $temp);
$plugins = core_plugin_manager::instance()->get_plugins_of_type('contenttype');
foreach ($plugins as $plugin) {
/** @var \core\plugininfo\contentbank $plugin */
$plugin->load_settings($ADMIN, 'contentbanksettings', $hassiteconfig);
}
}
/// Add all local plugins - must be always last!
if ($hassiteconfig) {
$ADMIN->add('modules', new admin_category('localplugins', new lang_string('localplugins')));
+20
View File
@@ -100,6 +100,9 @@ if ($hassiteconfig) { // speedup for non-admins, add all caps used on this page
$temp->add(new admin_setting_configtext('minpasswordupper', new lang_string('minpasswordupper', 'admin'), new lang_string('configminpasswordupper', 'admin'), 1, PARAM_INT));
$temp->add(new admin_setting_configtext('minpasswordnonalphanum', new lang_string('minpasswordnonalphanum', 'admin'), new lang_string('configminpasswordnonalphanum', 'admin'), 1, PARAM_INT));
$temp->add(new admin_setting_configtext('maxconsecutiveidentchars', new lang_string('maxconsecutiveidentchars', 'admin'), new lang_string('configmaxconsecutiveidentchars', 'admin'), 0, PARAM_INT));
$temp->add(new admin_setting_configcheckbox('passwordpolicycheckonlogin',
new lang_string('passwordpolicycheckonlogin', 'admin'),
new lang_string('configpasswordpolicycheckonlogin', 'admin'), 0));
$temp->add(new admin_setting_configtext('passwordreuselimit',
new lang_string('passwordreuselimit', 'admin'),
@@ -157,6 +160,23 @@ if ($hassiteconfig) { // speedup for non-admins, add all caps used on this page
$temp->add(new admin_setting_configportlist('curlsecurityallowedport',
new lang_string('curlsecurityallowedport', 'admin'),
new lang_string('curlsecurityallowedportsyntax', 'admin'), ""));
// HTTP Header referrer policy settings.
$referreroptions = [
'default' => get_string('referrernone', 'admin'),
'no-referrer' => 'no-referrer',
'no-referrer-when-downgrade' => 'no-referrer-when-downgrade',
'origin' => 'origin',
'origin-when-cross-origin' => 'origin-when-cross-origin',
'same-origin' => 'same-origin',
'strict-origin' => 'strict-origin',
'strict-origin-when-cross-origin' => 'strict-origin-when-cross-origin',
'unsafe-url' => 'unsafe-url',
];
$temp->add(new admin_setting_configselect('referrerpolicy',
new lang_string('referrerpolicy', 'admin'),
new lang_string('referrerpolicydesc', 'admin'), 'default', $referreroptions));
$ADMIN->add('security', $temp);
// "notifications" settingpage
+538 -317
View File
@@ -1,164 +1,243 @@
<?php
// This file is part of Moodle - https://moodle.org/
//
// Moodle is free software: you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
// the Free Software Foundation, either version 3 of the License, or
// (at your option) any later version.
//
// Moodle is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License for more details.
//
// You should have received a copy of the GNU General Public License
// along with Moodle. If not, see <http://www.gnu.org/licenses/>.
// This file defines settingpages and externalpages under the "server" category
/**
* Defines settingpages and externalpages under the "server" category.
*
* @package core
* @category admin
* @copyright 2006 Martin Dougiamas
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
*/
if ($hassiteconfig) { // speedup for non-admins, add all caps used on this page
defined('MOODLE_INTERNAL') || die();
// "systempaths" settingpage
$temp = new admin_settingpage('systempaths', new lang_string('systempaths','admin'));
$temp->add(new admin_setting_configexecutable('pathtophp', new lang_string('pathtophp', 'admin'),
new lang_string('configpathtophp', 'admin'), ''));
$temp->add(new admin_setting_configexecutable('pathtodu', new lang_string('pathtodu', 'admin'), new lang_string('configpathtodu', 'admin'), ''));
$temp->add(new admin_setting_configexecutable('aspellpath', new lang_string('aspellpath', 'admin'), new lang_string('edhelpaspellpath'), ''));
$temp->add(new admin_setting_configexecutable('pathtodot', new lang_string('pathtodot', 'admin'), new lang_string('pathtodot_help', 'admin'), ''));
$temp->add(new admin_setting_configexecutable('pathtogs', new lang_string('pathtogs', 'admin'), new lang_string('pathtogs_help', 'admin'), '/usr/bin/gs'));
$temp->add(new admin_setting_configexecutable('pathtopython', new lang_string('pathtopython', 'admin'),
new lang_string('pathtopythondesc', 'admin'), ''));
$ADMIN->add('server', $temp);
if ($hassiteconfig) {
// System paths.
$temp = new admin_settingpage('systempaths', new lang_string('systempaths', 'admin'));
$temp->add(new admin_setting_configexecutable('pathtophp', new lang_string('pathtophp', 'admin'),
new lang_string('configpathtophp', 'admin'), ''));
$temp->add(new admin_setting_configexecutable('pathtodu', new lang_string('pathtodu', 'admin'),
new lang_string('configpathtodu', 'admin'), ''));
$temp->add(new admin_setting_configexecutable('aspellpath', new lang_string('aspellpath', 'admin'),
new lang_string('edhelpaspellpath'), ''));
$temp->add(new admin_setting_configexecutable('pathtodot', new lang_string('pathtodot', 'admin'),
new lang_string('pathtodot_help', 'admin'), ''));
$temp->add(new admin_setting_configexecutable('pathtogs', new lang_string('pathtogs', 'admin'),
new lang_string('pathtogs_help', 'admin'), '/usr/bin/gs'));
$temp->add(new admin_setting_configexecutable('pathtopdftoppm', new lang_string('pathtopdftoppm', 'admin'),
new lang_string('pathtopdftoppm_help', 'admin'), ''));
$temp->add(new admin_setting_configexecutable('pathtopython', new lang_string('pathtopython', 'admin'),
new lang_string('pathtopythondesc', 'admin'), ''));
$ADMIN->add('server', $temp);
// Support contact.
$temp = new admin_settingpage('supportcontact', new lang_string('supportcontact', 'admin'));
$primaryadmin = get_admin();
if ($primaryadmin) {
$primaryadminemail = $primaryadmin->email;
$primaryadminname = fullname($primaryadmin, true);
} else {
// No defaults during installation - admin user must be created first.
$primaryadminemail = null;
$primaryadminname = null;
}
$temp->add(new admin_setting_configtext('supportname', new lang_string('supportname', 'admin'),
new lang_string('configsupportname', 'admin'), $primaryadminname, PARAM_NOTAGS));
$setting = new admin_setting_configtext('supportemail', new lang_string('supportemail', 'admin'),
new lang_string('configsupportemail', 'admin'), $primaryadminemail, PARAM_EMAIL);
$setting->set_force_ltr(true);
$temp->add($setting);
$temp->add(new admin_setting_configtext('supportpage', new lang_string('supportpage', 'admin'),
new lang_string('configsupportpage', 'admin'), '', PARAM_URL));
$ADMIN->add('server', $temp);
// Session handling.
$temp = new admin_settingpage('sessionhandling', new lang_string('sessionhandling', 'admin'));
if (empty($CFG->session_handler_class) and $DB->session_lock_supported()) {
$temp->add(new admin_setting_configcheckbox('dbsessions', new lang_string('dbsessions', 'admin'),
new lang_string('configdbsessions', 'admin'), 0));
}
// "supportcontact" settingpage
$temp = new admin_settingpage('supportcontact', new lang_string('supportcontact','admin'));
$primaryadmin = get_admin();
if ($primaryadmin) {
$primaryadminemail = $primaryadmin->email;
$primaryadminname = fullname($primaryadmin, true);
} else {
// no defaults during installation - admin user must be created first
$primaryadminemail = NULL;
$primaryadminname = NULL;
}
$temp->add(new admin_setting_configtext('supportname', new lang_string('supportname', 'admin'),
new lang_string('configsupportname', 'admin'), $primaryadminname, PARAM_NOTAGS));
$setting = new admin_setting_configtext('supportemail', new lang_string('supportemail', 'admin'),
new lang_string('configsupportemail', 'admin'), $primaryadminemail, PARAM_EMAIL);
$setting->set_force_ltr(true);
$temp->add($setting);
$temp->add(new admin_setting_configtext('supportpage', new lang_string('supportpage', 'admin'), new lang_string('configsupportpage', 'admin'), '', PARAM_URL));
$ADMIN->add('server', $temp);
$temp->add(new admin_setting_configduration('sessiontimeout', new lang_string('sessiontimeout', 'admin'),
new lang_string('configsessiontimeout', 'admin'), 8 * 60 * 60));
$sessiontimeoutwarning = new admin_setting_configduration('sessiontimeoutwarning',
new lang_string('sessiontimeoutwarning', 'admin'),
new lang_string('configsessiontimeoutwarning', 'admin'), 20 * 60);
// "sessionhandling" settingpage
$temp = new admin_settingpage('sessionhandling', new lang_string('sessionhandling', 'admin'));
if (empty($CFG->session_handler_class) and $DB->session_lock_supported()) {
$temp->add(new admin_setting_configcheckbox('dbsessions', new lang_string('dbsessions', 'admin'), new lang_string('configdbsessions', 'admin'), 0));
}
$temp->add(new admin_setting_configselect('sessiontimeout', new lang_string('sessiontimeout', 'admin'), new lang_string('configsessiontimeout', 'admin'), 7200, array(14400 => new lang_string('numhours', '', 4),
10800 => new lang_string('numhours', '', 3),
7200 => new lang_string('numhours', '', 2),
5400 => new lang_string('numhours', '', '1.5'),
3600 => new lang_string('numminutes', '', 60),
2700 => new lang_string('numminutes', '', 45),
1800 => new lang_string('numminutes', '', 30),
900 => new lang_string('numminutes', '', 15),
300 => new lang_string('numminutes', '', 5))));
$temp->add(new admin_setting_configtext('sessioncookie', new lang_string('sessioncookie', 'admin'), new lang_string('configsessioncookie', 'admin'), '', PARAM_ALPHANUM));
$temp->add(new admin_setting_configtext('sessioncookiepath', new lang_string('sessioncookiepath', 'admin'), new lang_string('configsessioncookiepath', 'admin'), '', PARAM_RAW));
$temp->add(new admin_setting_configtext('sessioncookiedomain', new lang_string('sessioncookiedomain', 'admin'), new lang_string('configsessioncookiedomain', 'admin'), '', PARAM_RAW, 50));
$ADMIN->add('server', $temp);
$sessiontimeoutwarning->set_validate_function(function(int $value): string {
global $CFG;
// Check sessiontimeoutwarning is less than sessiontimeout.
if ($CFG->sessiontimeout <= $value) {
return get_string('configsessiontimeoutwarningcheck', 'admin');
} else {
return '';
}
});
$temp->add($sessiontimeoutwarning);
// "stats" settingpage
$temp = new admin_settingpage('stats', new lang_string('stats'), 'moodle/site:config', empty($CFG->enablestats));
$temp->add(new admin_setting_configselect('statsfirstrun', new lang_string('statsfirstrun', 'admin'), new lang_string('configstatsfirstrun', 'admin'), 'none', array('none' => new lang_string('none'),
60*60*24*7 => new lang_string('numweeks','moodle',1),
60*60*24*14 => new lang_string('numweeks','moodle',2),
60*60*24*21 => new lang_string('numweeks','moodle',3),
60*60*24*28 => new lang_string('nummonths','moodle',1),
60*60*24*56 => new lang_string('nummonths','moodle',2),
60*60*24*84 => new lang_string('nummonths','moodle',3),
60*60*24*112 => new lang_string('nummonths','moodle',4),
60*60*24*140 => new lang_string('nummonths','moodle',5),
60*60*24*168 => new lang_string('nummonths','moodle',6),
'all' => new lang_string('all') )));
$temp->add(new admin_setting_configselect('statsmaxruntime', new lang_string('statsmaxruntime', 'admin'), new lang_string('configstatsmaxruntime3', 'admin'), 0, array(0 => new lang_string('untilcomplete'),
60*30 => '10 '.new lang_string('minutes'),
60*30 => '30 '.new lang_string('minutes'),
60*60 => '1 '.new lang_string('hour'),
60*60*2 => '2 '.new lang_string('hours'),
60*60*3 => '3 '.new lang_string('hours'),
60*60*4 => '4 '.new lang_string('hours'),
60*60*5 => '5 '.new lang_string('hours'),
60*60*6 => '6 '.new lang_string('hours'),
60*60*7 => '7 '.new lang_string('hours'),
60*60*8 => '8 '.new lang_string('hours') )));
$temp->add(new admin_setting_configtext('statsruntimedays', new lang_string('statsruntimedays', 'admin'), new lang_string('configstatsruntimedays', 'admin'), 31, PARAM_INT));
$temp->add(new admin_setting_configtext('statsuserthreshold', new lang_string('statsuserthreshold', 'admin'), new lang_string('configstatsuserthreshold', 'admin'), 0, PARAM_INT));
$ADMIN->add('server', $temp);
$temp->add(new admin_setting_configtext('sessioncookie', new lang_string('sessioncookie', 'admin'),
new lang_string('configsessioncookie', 'admin'), '', PARAM_ALPHANUM));
$temp->add(new admin_setting_configtext('sessioncookiepath', new lang_string('sessioncookiepath', 'admin'),
new lang_string('configsessioncookiepath', 'admin'), '', PARAM_RAW));
$temp->add(new admin_setting_configtext('sessioncookiedomain', new lang_string('sessioncookiedomain', 'admin'),
new lang_string('configsessioncookiedomain', 'admin'), '', PARAM_RAW, 50));
$ADMIN->add('server', $temp);
// Statistics.
$temp = new admin_settingpage('stats', new lang_string('stats'), 'moodle/site:config', empty($CFG->enablestats));
$temp->add(new admin_setting_configselect('statsfirstrun', new lang_string('statsfirstrun', 'admin'),
new lang_string('configstatsfirstrun', 'admin'), 'none',
[
'none' => new lang_string('none'),
60 * 60 * 24 * 7 => new lang_string('numweeks', 'moodle', 1),
60 * 60 * 24 * 14 => new lang_string('numweeks', 'moodle', 2),
60 * 60 * 24 * 21 => new lang_string('numweeks', 'moodle', 3),
60 * 60 * 24 * 28 => new lang_string('nummonths', 'moodle', 1),
60 * 60 * 24 * 56 => new lang_string('nummonths', 'moodle', 2),
60 * 60 * 24 * 84 => new lang_string('nummonths', 'moodle', 3),
60 * 60 * 24 * 112 => new lang_string('nummonths', 'moodle', 4),
60 * 60 * 24 * 140 => new lang_string('nummonths', 'moodle', 5),
60 * 60 * 24 * 168 => new lang_string('nummonths', 'moodle', 6),
'all' => new lang_string('all')
]
));
$temp->add(new admin_setting_configselect('statsmaxruntime', new lang_string('statsmaxruntime', 'admin'),
new lang_string('configstatsmaxruntime3', 'admin'), 0,
[
0 => new lang_string('untilcomplete'),
60 * 30 => '10 ' . new lang_string('minutes'),
60 * 30 => '30 ' . new lang_string('minutes'),
60 * 60 => '1 ' . new lang_string('hour'),
60 * 60 * 2 => '2 ' . new lang_string('hours'),
60 * 60 * 3 => '3 ' . new lang_string('hours'),
60 * 60 * 4 => '4 ' . new lang_string('hours'),
60 * 60 * 5 => '5 ' . new lang_string('hours'),
60 * 60 * 6 => '6 ' . new lang_string('hours'),
60 * 60 * 7 => '7 ' . new lang_string('hours'),
60 * 60 * 8 => '8 ' . new lang_string('hours'),
]
));
$temp->add(new admin_setting_configtext('statsruntimedays', new lang_string('statsruntimedays', 'admin'),
new lang_string('configstatsruntimedays', 'admin'), 31, PARAM_INT));
$temp->add(new admin_setting_configtext('statsuserthreshold', new lang_string('statsuserthreshold', 'admin'),
new lang_string('configstatsuserthreshold', 'admin'), 0, PARAM_INT));
$ADMIN->add('server', $temp);
// "http" settingpage
$temp = new admin_settingpage('http', new lang_string('http', 'admin'));
$temp->add(new admin_setting_configcheckbox('slasharguments', new lang_string('slasharguments', 'admin'), new lang_string('configslasharguments', 'admin'), 1));
$temp->add(new admin_setting_heading('reverseproxy', new lang_string('reverseproxy', 'admin'), '', ''));
$options = array(
0 => 'HTTP_CLIENT_IP, HTTP_X_FORWARDED_FOR, REMOTE_ADDR',
GETREMOTEADDR_SKIP_HTTP_CLIENT_IP => 'HTTP_X_FORWARDED_FOR, REMOTE_ADDR',
GETREMOTEADDR_SKIP_HTTP_X_FORWARDED_FOR => 'HTTP_CLIENT, REMOTE_ADDR',
GETREMOTEADDR_SKIP_HTTP_X_FORWARDED_FOR|GETREMOTEADDR_SKIP_HTTP_CLIENT_IP => 'REMOTE_ADDR');
$temp->add(new admin_setting_configselect('getremoteaddrconf', new lang_string('getremoteaddrconf', 'admin'), new lang_string('configgetremoteaddrconf', 'admin'), 0, $options));
// HTTP.
$temp = new admin_settingpage('http', new lang_string('http', 'admin'));
$temp->add(new admin_setting_configcheckbox('slasharguments', new lang_string('slasharguments', 'admin'),
new lang_string('configslasharguments', 'admin'), 1));
$temp->add(new admin_setting_heading('reverseproxy', new lang_string('reverseproxy', 'admin'), '', ''));
$options = [
0 => 'HTTP_CLIENT_IP, HTTP_X_FORWARDED_FOR, REMOTE_ADDR',
GETREMOTEADDR_SKIP_HTTP_CLIENT_IP => 'HTTP_X_FORWARDED_FOR, REMOTE_ADDR',
GETREMOTEADDR_SKIP_HTTP_X_FORWARDED_FOR => 'HTTP_CLIENT, REMOTE_ADDR',
GETREMOTEADDR_SKIP_HTTP_X_FORWARDED_FOR | GETREMOTEADDR_SKIP_HTTP_CLIENT_IP => 'REMOTE_ADDR'
];
$temp->add(new admin_setting_configselect('getremoteaddrconf', new lang_string('getremoteaddrconf', 'admin'),
new lang_string('configgetremoteaddrconf', 'admin'),
GETREMOTEADDR_SKIP_HTTP_X_FORWARDED_FOR | GETREMOTEADDR_SKIP_HTTP_CLIENT_IP, $options));
$temp->add(new admin_setting_configtext('reverseproxyignore', new lang_string('reverseproxyignore', 'admin'),
new lang_string('configreverseproxyignore', 'admin'), ''));
$temp->add(new admin_setting_heading('webproxy', new lang_string('webproxy', 'admin'), new lang_string('webproxyinfo', 'admin')));
$temp->add(new admin_setting_configtext('proxyhost', new lang_string('proxyhost', 'admin'), new lang_string('configproxyhost', 'admin'), '', PARAM_HOST));
$temp->add(new admin_setting_configtext('proxyport', new lang_string('proxyport', 'admin'), new lang_string('configproxyport', 'admin'), 0, PARAM_INT));
$options = array('HTTP'=>'HTTP');
if (defined('CURLPROXY_SOCKS5')) {
$options['SOCKS5'] = 'SOCKS5';
}
$temp->add(new admin_setting_configselect('proxytype', new lang_string('proxytype', 'admin'), new lang_string('configproxytype','admin'), 'HTTP', $options));
$temp->add(new admin_setting_configtext('proxyuser', new lang_string('proxyuser', 'admin'), new lang_string('configproxyuser', 'admin'), ''));
$temp->add(new admin_setting_configpasswordunmask('proxypassword', new lang_string('proxypassword', 'admin'), new lang_string('configproxypassword', 'admin'), ''));
$temp->add(new admin_setting_configtext('proxybypass', new lang_string('proxybypass', 'admin'), new lang_string('configproxybypass', 'admin'), 'localhost, 127.0.0.1'));
$ADMIN->add('server', $temp);
$temp->add(new admin_setting_heading('webproxy', new lang_string('webproxy', 'admin'),
new lang_string('webproxyinfo', 'admin')));
$temp->add(new admin_setting_configtext('proxyhost', new lang_string('proxyhost', 'admin'),
new lang_string('configproxyhost', 'admin'), '', PARAM_HOST));
$temp->add(new admin_setting_configtext('proxyport', new lang_string('proxyport', 'admin'),
new lang_string('configproxyport', 'admin'), 0, PARAM_INT));
$options = ['HTTP' => 'HTTP'];
if (defined('CURLPROXY_SOCKS5')) {
$options['SOCKS5'] = 'SOCKS5';
}
$temp->add(new admin_setting_configselect('proxytype', new lang_string('proxytype', 'admin'),
new lang_string('configproxytype', 'admin'), 'HTTP', $options));
$temp->add(new admin_setting_configtext('proxyuser', new lang_string('proxyuser', 'admin'),
new lang_string('configproxyuser', 'admin'), ''));
$temp->add(new admin_setting_configpasswordunmask('proxypassword', new lang_string('proxypassword', 'admin'),
new lang_string('configproxypassword', 'admin'), ''));
$temp->add(new admin_setting_configtext('proxybypass', new lang_string('proxybypass', 'admin'),
new lang_string('configproxybypass', 'admin'), 'localhost, 127.0.0.1'));
$ADMIN->add('server', $temp);
$temp = new admin_settingpage('maintenancemode', new lang_string('sitemaintenancemode', 'admin'));
$options = array(0=>new lang_string('disable'), 1=>new lang_string('enable'));
$temp->add(new admin_setting_configselect('maintenance_enabled', new lang_string('sitemaintenancemode', 'admin'),
new lang_string('helpsitemaintenance', 'admin'), 0, $options));
$temp->add(new admin_setting_confightmleditor('maintenance_message', new lang_string('optionalmaintenancemessage', 'admin'),
'', ''));
$ADMIN->add('server', $temp);
$temp = new admin_settingpage('maintenancemode', new lang_string('sitemaintenancemode', 'admin'));
$options = [0 => new lang_string('disable'), 1 => new lang_string('enable')];
$temp->add(new admin_setting_configselect('maintenance_enabled', new lang_string('sitemaintenancemode', 'admin'),
new lang_string('helpsitemaintenance', 'admin'), 0, $options));
$temp->add(new admin_setting_confightmleditor('maintenance_message', new lang_string('optionalmaintenancemessage', 'admin'),
'', ''));
$ADMIN->add('server', $temp);
$temp = new admin_settingpage('cleanup', new lang_string('cleanup', 'admin'));
$temp->add(new admin_setting_configselect('deleteunconfirmed', new lang_string('deleteunconfirmed', 'admin'), new lang_string('configdeleteunconfirmed', 'admin'), 168, array(0 => new lang_string('never'),
168 => new lang_string('numdays', '', 7),
144 => new lang_string('numdays', '', 6),
120 => new lang_string('numdays', '', 5),
96 => new lang_string('numdays', '', 4),
72 => new lang_string('numdays', '', 3),
48 => new lang_string('numdays', '', 2),
24 => new lang_string('numdays', '', 1),
12 => new lang_string('numhours', '', 12),
6 => new lang_string('numhours', '', 6),
1 => new lang_string('numhours', '', 1))));
// Cleanup.
$temp = new admin_settingpage('cleanup', new lang_string('cleanup', 'admin'));
$temp->add(new admin_setting_configselect('deleteunconfirmed', new lang_string('deleteunconfirmed', 'admin'),
new lang_string('configdeleteunconfirmed', 'admin'), 168,
[
0 => new lang_string('never'),
168 => new lang_string('numdays', '', 7),
144 => new lang_string('numdays', '', 6),
120 => new lang_string('numdays', '', 5),
96 => new lang_string('numdays', '', 4),
72 => new lang_string('numdays', '', 3),
48 => new lang_string('numdays', '', 2),
24 => new lang_string('numdays', '', 1),
12 => new lang_string('numhours', '', 12),
6 => new lang_string('numhours', '', 6),
1 => new lang_string('numhours', '', 1),
]
));
$temp->add(new admin_setting_configselect('deleteincompleteusers', new lang_string('deleteincompleteusers', 'admin'), new lang_string('configdeleteincompleteusers', 'admin'), 0, array(0 => new lang_string('never'),
168 => new lang_string('numdays', '', 7),
144 => new lang_string('numdays', '', 6),
120 => new lang_string('numdays', '', 5),
96 => new lang_string('numdays', '', 4),
72 => new lang_string('numdays', '', 3),
48 => new lang_string('numdays', '', 2),
24 => new lang_string('numdays', '', 1))));
$temp->add(new admin_setting_configselect('deleteincompleteusers', new lang_string('deleteincompleteusers', 'admin'),
new lang_string('configdeleteincompleteusers', 'admin'), 0,
[
0 => new lang_string('never'),
168 => new lang_string('numdays', '', 7),
144 => new lang_string('numdays', '', 6),
120 => new lang_string('numdays', '', 5),
96 => new lang_string('numdays', '', 4),
72 => new lang_string('numdays', '', 3),
48 => new lang_string('numdays', '', 2),
24 => new lang_string('numdays', '', 1),
]
));
$temp->add(new admin_setting_configcheckbox('disablegradehistory', new lang_string('disablegradehistory', 'grades'),
new lang_string('disablegradehistory_help', 'grades'), 0));
$temp->add(new admin_setting_configcheckbox('disablegradehistory', new lang_string('disablegradehistory', 'grades'),
new lang_string('disablegradehistory_help', 'grades'), 0));
$temp->add(new admin_setting_configselect('gradehistorylifetime', new lang_string('gradehistorylifetime', 'grades'),
new lang_string('gradehistorylifetime_help', 'grades'), 0,
[
0 => new lang_string('neverdeletehistory', 'grades'),
1000 => new lang_string('numdays', '', 1000),
365 => new lang_string('numdays', '', 365),
180 => new lang_string('numdays', '', 180),
150 => new lang_string('numdays', '', 150),
120 => new lang_string('numdays', '', 120),
90 => new lang_string('numdays', '', 90),
60 => new lang_string('numdays', '', 60),
30 => new lang_string('numdays', '', 30),
]
));
$temp->add(new admin_setting_configselect('gradehistorylifetime', new lang_string('gradehistorylifetime', 'grades'),
new lang_string('gradehistorylifetime_help', 'grades'), 0, array(0 => new lang_string('neverdeletehistory', 'grades'),
1000 => new lang_string('numdays', '', 1000),
365 => new lang_string('numdays', '', 365),
180 => new lang_string('numdays', '', 180),
150 => new lang_string('numdays', '', 150),
120 => new lang_string('numdays', '', 120),
90 => new lang_string('numdays', '', 90),
60 => new lang_string('numdays', '', 60),
30 => new lang_string('numdays', '', 30))));
$temp->add(new admin_setting_configselect('tempdatafoldercleanup', new lang_string('tempdatafoldercleanup', 'admin'),
new lang_string('configtempdatafoldercleanup', 'admin'), 168, array(
$temp->add(new admin_setting_configselect('tempdatafoldercleanup', new lang_string('tempdatafoldercleanup', 'admin'),
new lang_string('configtempdatafoldercleanup', 'admin'), 168,
[
1 => new lang_string('numhours', '', 1),
3 => new lang_string('numhours', '', 3),
6 => new lang_string('numhours', '', 6),
@@ -168,224 +247,366 @@ $temp->add(new admin_setting_configselect('tempdatafoldercleanup', new lang_stri
24 => new lang_string('numhours', '', 24),
48 => new lang_string('numdays', '', 2),
168 => new lang_string('numdays', '', 7),
)));
]
));
$ADMIN->add('server', $temp);
$ADMIN->add('server', $temp);
$temp->add(new admin_setting_configduration('filescleanupperiod',
new lang_string('filescleanupperiod', 'admin'),
new lang_string('filescleanupperiod_help', 'admin'),
86400));
$ADMIN->add('server', new admin_externalpage('environment', new lang_string('environment','admin'), "$CFG->wwwroot/$CFG->admin/environment.php"));
$ADMIN->add('server', new admin_externalpage('phpinfo', new lang_string('phpinfo'), "$CFG->wwwroot/$CFG->admin/phpinfo.php"));
$ADMIN->add('server', new admin_externalpage('testoutgoingmailconf', new lang_string('testoutgoingmailconf', 'admin'),
new moodle_url("$CFG->wwwroot/$CFG->admin/testoutgoingmailconf.php"), 'moodle/site:config', true));
// Environment.
$ADMIN->add('server', new admin_externalpage('environment', new lang_string('environment', 'admin'),
"{$CFG->wwwroot}/{$CFG->admin}/environment.php"));
// PHP info.
$ADMIN->add('server', new admin_externalpage('phpinfo', new lang_string('phpinfo'),
"{$CFG->wwwroot}/{$CFG->admin}/phpinfo.php"));
// "performance" settingpage
$temp = new admin_settingpage('performance', new lang_string('performance', 'admin'));
// Test outgoing mail configuration (hidden, accessed via direct link from the settings page).
$ADMIN->add('server', new admin_externalpage('testoutgoingmailconf', new lang_string('testoutgoingmailconf', 'admin'),
new moodle_url('/admin/testoutgoingmailconf.php'), 'moodle/site:config', true));
// Memory limit options for large administration tasks.
$memoryoptions = array(
'64M' => '64M',
'128M' => '128M',
'256M' => '256M',
'512M' => '512M',
'1024M' => '1024M',
'2048M' => '2048M');
// Performance.
$temp = new admin_settingpage('performance', new lang_string('performance', 'admin'));
// Allow larger memory usage for 64-bit sites only.
if (PHP_INT_SIZE === 8) {
$memoryoptions['3072M'] = '3072M';
$memoryoptions['4096M'] = '4096M';
}
// Memory limit options for large administration tasks.
$memoryoptions = [
'64M' => '64M',
'128M' => '128M',
'256M' => '256M',
'512M' => '512M',
'1024M' => '1024M',
'2048M' => '2048M',
];
$temp->add(new admin_setting_configselect('extramemorylimit', new lang_string('extramemorylimit', 'admin'),
new lang_string('configextramemorylimit', 'admin'), '512M',
$memoryoptions));
$temp->add(new admin_setting_configtext('maxtimelimit', new lang_string('maxtimelimit', 'admin'),
// Allow larger memory usage for 64-bit sites only.
if (PHP_INT_SIZE === 8) {
$memoryoptions['3072M'] = '3072M';
$memoryoptions['4096M'] = '4096M';
}
$temp->add(new admin_setting_configselect('extramemorylimit', new lang_string('extramemorylimit', 'admin'),
new lang_string('configextramemorylimit', 'admin'), '512M', $memoryoptions));
$temp->add(new admin_setting_configtext('maxtimelimit', new lang_string('maxtimelimit', 'admin'),
new lang_string('maxtimelimit_desc', 'admin'), 0, PARAM_INT));
$temp->add(new admin_setting_configtext('curlcache', new lang_string('curlcache', 'admin'),
new lang_string('configcurlcache', 'admin'), 120, PARAM_INT));
$temp->add(new admin_setting_configtext('curlcache', new lang_string('curlcache', 'admin'),
new lang_string('configcurlcache', 'admin'), 120, PARAM_INT));
$temp->add(new admin_setting_configtext('curltimeoutkbitrate', new lang_string('curltimeoutkbitrate', 'admin'),
new lang_string('curltimeoutkbitrate_help', 'admin'), 56, PARAM_INT));
$temp->add(new admin_setting_configtext('curltimeoutkbitrate', new lang_string('curltimeoutkbitrate', 'admin'),
new lang_string('curltimeoutkbitrate_help', 'admin'), 56, PARAM_INT));
$ADMIN->add('server', $temp);
$ADMIN->add('server', $temp);
// Tasks.
$ADMIN->add('server', new admin_category('taskconfig', new lang_string('taskadmintitle', 'admin')));
$ADMIN->add('server', new admin_category('taskconfig', new lang_string('taskadmintitle', 'admin')));
$temp = new admin_settingpage('taskprocessing', new lang_string('taskprocessing','admin'));
$temp->add(
new admin_setting_configtext(
'task_scheduled_concurrency_limit',
new lang_string('task_scheduled_concurrency_limit', 'admin'),
new lang_string('task_scheduled_concurrency_limit_desc', 'admin'),
3,
PARAM_INT
)
);
// Task processing.
$temp = new admin_settingpage('taskprocessing', new lang_string('taskprocessing', 'admin'));
$temp->add(
new admin_setting_configduration(
'task_scheduled_max_runtime',
new lang_string('task_scheduled_max_runtime', 'admin'),
new lang_string('task_scheduled_max_runtime_desc', 'admin'),
30 * MINSECS
)
);
$temp->add(
new admin_setting_configtext(
'task_adhoc_concurrency_limit',
new lang_string('task_adhoc_concurrency_limit', 'admin'),
new lang_string('task_adhoc_concurrency_limit_desc', 'admin'),
3,
PARAM_INT
)
);
$temp->add(
new admin_setting_configduration(
'task_adhoc_max_runtime',
new lang_string('task_adhoc_max_runtime', 'admin'),
new lang_string('task_adhoc_max_runtime_desc', 'admin'),
30 * MINSECS
)
);
$ADMIN->add('taskconfig', $temp);
$temp = new admin_settingpage('tasklogging', new lang_string('tasklogging','admin'));
$temp->add(
new admin_setting_configselect(
'task_logmode',
new lang_string('task_logmode', 'admin'),
new lang_string('task_logmode_desc', 'admin'),
\core\task\logmanager::MODE_ALL,
[
\core\task\logmanager::MODE_ALL => new lang_string('task_logmode_all', 'admin'),
\core\task\logmanager::MODE_FAILONLY => new lang_string('task_logmode_failonly', 'admin'),
\core\task\logmanager::MODE_NONE => new lang_string('task_logmode_none', 'admin'),
]
)
);
$temp->add(
new admin_setting_configcheckbox(
'task_logtostdout',
new lang_string('task_logtostdout', 'admin'),
new lang_string('task_logtostdout_desc', 'admin'),
$setting = new admin_setting_configcheckbox(
'cron_enabled',
new lang_string('cron_enabled', 'admin'),
new lang_string('cron_enabled_desc', 'admin'),
1
)
);
);
$setting->set_updatedcallback('theme_reset_static_caches');
$temp->add($setting);
$temp->add(
new admin_setting_configtext(
'task_scheduled_concurrency_limit',
new lang_string('task_scheduled_concurrency_limit', 'admin'),
new lang_string('task_scheduled_concurrency_limit_desc', 'admin'),
3,
PARAM_INT
)
);
if (\core\task\logmanager::uses_standard_settings()) {
$temp->add(
new admin_setting_configduration(
'task_logretention',
new \lang_string('task_logretention', 'admin'),
new \lang_string('task_logretention_desc', 'admin'),
28 * DAYSECS
'task_scheduled_max_runtime',
new lang_string('task_scheduled_max_runtime', 'admin'),
new lang_string('task_scheduled_max_runtime_desc', 'admin'),
30 * MINSECS
)
);
$temp->add(
new admin_setting_configtext(
'task_logretainruns',
new \lang_string('task_logretainruns', 'admin'),
new \lang_string('task_logretainruns_desc', 'admin'),
20,
'task_adhoc_concurrency_limit',
new lang_string('task_adhoc_concurrency_limit', 'admin'),
new lang_string('task_adhoc_concurrency_limit_desc', 'admin'),
3,
PARAM_INT
)
);
}
$ADMIN->add('taskconfig', $temp);
if (\core\task\logmanager::uses_standard_settings()) {
$ADMIN->add('taskconfig', new admin_externalpage(
'tasklogs',
new lang_string('tasklogs','admin'),
"{$CFG->wwwroot}/{$CFG->admin}/tasklogs.php"
));
}
$temp->add(
new admin_setting_configduration(
'task_adhoc_max_runtime',
new lang_string('task_adhoc_max_runtime', 'admin'),
new lang_string('task_adhoc_max_runtime_desc', 'admin'),
30 * MINSECS
)
);
$ADMIN->add('taskconfig', $temp);
// E-mail settings.
$ADMIN->add('server', new admin_category('email', new lang_string('categoryemail', 'admin')));
// Task log configuration.
$temp = new admin_settingpage('tasklogging', new lang_string('tasklogging', 'admin'));
$temp->add(
new admin_setting_configselect(
'task_logmode',
new lang_string('task_logmode', 'admin'),
new lang_string('task_logmode_desc', 'admin'),
\core\task\logmanager::MODE_ALL,
[
\core\task\logmanager::MODE_ALL => new lang_string('task_logmode_all', 'admin'),
\core\task\logmanager::MODE_FAILONLY => new lang_string('task_logmode_failonly', 'admin'),
\core\task\logmanager::MODE_NONE => new lang_string('task_logmode_none', 'admin'),
]
)
);
$temp->add(
new admin_setting_configcheckbox(
'task_logtostdout',
new lang_string('task_logtostdout', 'admin'),
new lang_string('task_logtostdout_desc', 'admin'),
1
)
);
$temp = new admin_settingpage('outgoingmailconfig', new lang_string('outgoingmailconfig', 'admin'));
if (\core\task\logmanager::uses_standard_settings()) {
$temp->add(
new admin_setting_configduration(
'task_logretention',
new \lang_string('task_logretention', 'admin'),
new \lang_string('task_logretention_desc', 'admin'),
28 * DAYSECS
)
);
$temp->add(new admin_setting_heading('smtpheading', new lang_string('smtp', 'admin'),
new lang_string('smtpdetail', 'admin')));
$temp->add(new admin_setting_configtext('smtphosts', new lang_string('smtphosts', 'admin'),
new lang_string('configsmtphosts', 'admin'), '', PARAM_RAW));
$options = array('' => new lang_string('none', 'admin'), 'ssl' => 'SSL', 'tls' => 'TLS');
$temp->add(new admin_setting_configselect('smtpsecure', new lang_string('smtpsecure', 'admin'),
new lang_string('configsmtpsecure', 'admin'), '', $options));
$authtypeoptions = array('LOGIN' => 'LOGIN', 'PLAIN' => 'PLAIN', 'NTLM' => 'NTLM', 'CRAM-MD5' => 'CRAM-MD5');
$temp->add(new admin_setting_configselect('smtpauthtype', new lang_string('smtpauthtype', 'admin'),
new lang_string('configsmtpauthtype', 'admin'), 'LOGIN', $authtypeoptions));
$temp->add(new admin_setting_configtext('smtpuser', new lang_string('smtpuser', 'admin'),
new lang_string('configsmtpuser', 'admin'), '', PARAM_NOTAGS));
$temp->add(new admin_setting_configpasswordunmask('smtppass', new lang_string('smtppass', 'admin'),
new lang_string('configsmtpuser', 'admin'), ''));
$temp->add(new admin_setting_configtext('smtpmaxbulk', new lang_string('smtpmaxbulk', 'admin'),
new lang_string('configsmtpmaxbulk', 'admin'), 1, PARAM_INT));
$temp->add(new admin_setting_heading('noreplydomainheading', new lang_string('noreplydomain', 'admin'),
$temp->add(
new admin_setting_configtext(
'task_logretainruns',
new \lang_string('task_logretainruns', 'admin'),
new \lang_string('task_logretainruns_desc', 'admin'),
20,
PARAM_INT
)
);
}
$ADMIN->add('taskconfig', $temp);
// Task logs.
if (\core\task\logmanager::uses_standard_settings()) {
$ADMIN->add('taskconfig', new admin_externalpage(
'tasklogs',
new lang_string('tasklogs', 'admin'),
"{$CFG->wwwroot}/{$CFG->admin}/tasklogs.php"
));
}
// Email.
$ADMIN->add('server', new admin_category('email', new lang_string('categoryemail', 'admin')));
// Outgoing mail configuration.
$temp = new admin_settingpage('outgoingmailconfig', new lang_string('outgoingmailconfig', 'admin'));
$temp->add(new admin_setting_heading('smtpheading', new lang_string('smtp', 'admin'),
new lang_string('smtpdetail', 'admin')));
$temp->add(new admin_setting_configtext('smtphosts', new lang_string('smtphosts', 'admin'),
new lang_string('configsmtphosts', 'admin'), '', PARAM_RAW));
$options = [
'' => new lang_string('none', 'admin'),
'ssl' => 'SSL',
'tls' => 'TLS',
];
$temp->add(new admin_setting_configselect('smtpsecure', new lang_string('smtpsecure', 'admin'),
new lang_string('configsmtpsecure', 'admin'), '', $options));
$authtypeoptions = [
'LOGIN' => 'LOGIN',
'PLAIN' => 'PLAIN',
'NTLM' => 'NTLM',
'CRAM-MD5' => 'CRAM-MD5',
];
$temp->add(new admin_setting_configselect('smtpauthtype', new lang_string('smtpauthtype', 'admin'),
new lang_string('configsmtpauthtype', 'admin'), 'LOGIN', $authtypeoptions));
$temp->add(new admin_setting_configtext('smtpuser', new lang_string('smtpuser', 'admin'),
new lang_string('configsmtpuser', 'admin'), '', PARAM_NOTAGS));
$temp->add(new admin_setting_configpasswordunmask('smtppass', new lang_string('smtppass', 'admin'),
new lang_string('configsmtpuser', 'admin'), ''));
$temp->add(new admin_setting_configtext('smtpmaxbulk', new lang_string('smtpmaxbulk', 'admin'),
new lang_string('configsmtpmaxbulk', 'admin'), 1, PARAM_INT));
$temp->add(new admin_setting_heading('noreplydomainheading', new lang_string('noreplydomain', 'admin'),
new lang_string('noreplydomaindetail', 'admin')));
$temp->add(new admin_setting_configtext('noreplyaddress', new lang_string('noreplyaddress', 'admin'),
new lang_string('confignoreplyaddress', 'admin'), 'noreply@' . get_host_from_url($CFG->wwwroot), PARAM_EMAIL));
$temp->add(new admin_setting_configtextarea('allowedemaildomains',
$temp->add(new admin_setting_configtext('noreplyaddress', new lang_string('noreplyaddress', 'admin'),
new lang_string('confignoreplyaddress', 'admin'), 'noreply@' . get_host_from_url($CFG->wwwroot), PARAM_EMAIL));
$temp->add(new admin_setting_configtextarea('allowedemaildomains',
new lang_string('allowedemaildomains', 'admin'),
new lang_string('configallowedemaildomains', 'admin'),
''));
$url = new moodle_url('/admin/testoutgoingmailconf.php');
$link = html_writer::link($url, get_string('testoutgoingmailconf', 'admin'));
$temp->add(new admin_setting_heading('testoutgoinmailc', new lang_string('testoutgoingmailconf', 'admin'),
new lang_string('testoutgoingmaildetail', 'admin', $link)));
$temp->add(new admin_setting_heading('emaildoesnotfit', new lang_string('doesnotfit', 'admin'),
new lang_string('doesnotfitdetail', 'admin')));
$charsets = get_list_of_charsets();
unset($charsets['UTF-8']); // Not needed here.
$options = array();
$options['0'] = 'UTF-8';
$options = array_merge($options, $charsets);
$temp->add(new admin_setting_configselect('sitemailcharset', new lang_string('sitemailcharset', 'admin'),
new lang_string('configsitemailcharset','admin'), '0', $options));
$temp->add(new admin_setting_configcheckbox('allowusermailcharset', new lang_string('allowusermailcharset', 'admin'),
new lang_string('configallowusermailcharset', 'admin'), 0));
$temp->add(new admin_setting_configcheckbox('allowattachments', new lang_string('allowattachments', 'admin'),
new lang_string('configallowattachments', 'admin'), 1));
$options = array('LF' => 'LF', 'CRLF' => 'CRLF');
$temp->add(new admin_setting_configselect('mailnewline', new lang_string('mailnewline', 'admin'),
new lang_string('configmailnewline', 'admin'), 'LF', $options));
$choices = array(new lang_string('never', 'admin'),
new lang_string('always', 'admin'),
new lang_string('onlynoreply', 'admin'));
$temp->add(new admin_setting_configselect('emailfromvia', new lang_string('emailfromvia', 'admin'),
new lang_string('configemailfromvia', 'admin'), 1, $choices));
$temp->add(new admin_setting_heading('divertallemailsheading', new lang_string('divertallemails', 'admin'),
new lang_string('divertallemailsdetail', 'admin')));
$temp->add(new admin_setting_configtext('divertallemailsto',
new lang_string('divertallemailsto', 'admin'),
new lang_string('divertallemailsto_desc', 'admin'),
''));
$temp->add(new admin_setting_configtextarea('divertallemailsexcept',
new lang_string('divertallemailsexcept', 'admin'),
new lang_string('divertallemailsexcept_desc', 'admin'),
'', PARAM_RAW, '50', '4'));
$noreplyaddress = isset($CFG->noreplyaddress) ? $CFG->noreplyaddress : 'noreply@example.com';
$dkimdomain = substr(strrchr($noreplyaddress, "@"), 1);
$dkimselector = empty($CFG->emaildkimselector) ? '[selector]' : $CFG->emaildkimselector;
$pempath = "\$CFG->dataroot/dkim/{$dkimdomain}/{$dkimselector}.private";
$temp->add(new admin_setting_heading('emaildkim', new lang_string('emaildkim', 'admin'),
new lang_string('emaildkiminfo', 'admin', ['path' => $pempath, 'docs' => \get_docs_url('Mail_configuration#DKIM')])));
$temp->add(new admin_setting_configtext('emaildkimselector', new lang_string('emaildkimselector', 'admin'),
new lang_string('configemaildkimselector', 'admin'), '', PARAM_FILE));
$url = new moodle_url('/admin/testoutgoingmailconf.php');
$link = html_writer::link($url, get_string('testoutgoingmailconf', 'admin'));
$temp->add(new admin_setting_heading('testoutgoinmailc', new lang_string('testoutgoingmailconf', 'admin'),
new lang_string('testoutgoingmaildetail', 'admin', $link)));
$temp->add(new admin_setting_heading('emaildoesnotfit', new lang_string('doesnotfit', 'admin'),
new lang_string('doesnotfitdetail', 'admin')));
$charsets = get_list_of_charsets();
unset($charsets['UTF-8']);
$options = [
'0' => 'UTF-8',
];
$options = array_merge($options, $charsets);
$temp->add(new admin_setting_configselect('sitemailcharset', new lang_string('sitemailcharset', 'admin'),
new lang_string('configsitemailcharset', 'admin'), '0', $options));
$temp->add(new admin_setting_configcheckbox('allowusermailcharset', new lang_string('allowusermailcharset', 'admin'),
new lang_string('configallowusermailcharset', 'admin'), 0));
$temp->add(new admin_setting_configcheckbox('allowattachments', new lang_string('allowattachments', 'admin'),
new lang_string('configallowattachments', 'admin'), 1));
$options = [
'LF' => 'LF',
'CRLF' => 'CRLF',
];
$temp->add(new admin_setting_configselect('mailnewline', new lang_string('mailnewline', 'admin'),
new lang_string('configmailnewline', 'admin'), 'LF', $options));
$choices = [
new lang_string('never', 'admin'),
new lang_string('always', 'admin'),
new lang_string('onlynoreply', 'admin'),
];
$temp->add(new admin_setting_configselect('emailfromvia', new lang_string('emailfromvia', 'admin'),
new lang_string('configemailfromvia', 'admin'), 1, $choices));
$temp->add(new admin_setting_configtext('emailsubjectprefix', new lang_string('emailsubjectprefix', 'admin'),
new lang_string('configemailsubjectprefix', 'admin'), '', PARAM_RAW));
$ADMIN->add('email', $temp);
$temp->add(new admin_setting_configtextarea('emailheaders', new lang_string('emailheaders', 'admin'),
new lang_string('configemailheaders', 'admin'), '', PARAM_RAW, '50', '3'));
// "update notifications" settingpage
if (empty($CFG->disableupdatenotifications)) {
$temp = new admin_settingpage('updatenotifications', new lang_string('updatenotifications', 'core_admin'));
$temp->add(new admin_setting_configcheckbox('updateautocheck', new lang_string('updateautocheck', 'core_admin'),
new lang_string('updateautocheck_desc', 'core_admin'), 1));
$temp->add(new admin_setting_configselect('updateminmaturity', new lang_string('updateminmaturity', 'core_admin'),
new lang_string('updateminmaturity_desc', 'core_admin'), MATURITY_STABLE,
array(
MATURITY_ALPHA => new lang_string('maturity'.MATURITY_ALPHA, 'core_admin'),
MATURITY_BETA => new lang_string('maturity'.MATURITY_BETA, 'core_admin'),
MATURITY_RC => new lang_string('maturity'.MATURITY_RC, 'core_admin'),
MATURITY_STABLE => new lang_string('maturity'.MATURITY_STABLE, 'core_admin'),
)));
$temp->add(new admin_setting_configcheckbox('updatenotifybuilds', new lang_string('updatenotifybuilds', 'core_admin'),
new lang_string('updatenotifybuilds_desc', 'core_admin'), 0));
$ADMIN->add('server', $temp);
$ADMIN->add('email', $temp);
// Update notifications.
if (empty($CFG->disableupdatenotifications)) {
$temp = new admin_settingpage('updatenotifications', new lang_string('updatenotifications', 'core_admin'));
$temp->add(new admin_setting_configcheckbox('updateautocheck', new lang_string('updateautocheck', 'core_admin'),
new lang_string('updateautocheck_desc', 'core_admin'), 1));
$temp->add(new admin_setting_configselect('updateminmaturity', new lang_string('updateminmaturity', 'core_admin'),
new lang_string('updateminmaturity_desc', 'core_admin'), MATURITY_STABLE,
[
MATURITY_ALPHA => new lang_string('maturity'.MATURITY_ALPHA, 'core_admin'),
MATURITY_BETA => new lang_string('maturity'.MATURITY_BETA, 'core_admin'),
MATURITY_RC => new lang_string('maturity'.MATURITY_RC, 'core_admin'),
MATURITY_STABLE => new lang_string('maturity'.MATURITY_STABLE, 'core_admin'),
]
));
$temp->add(new admin_setting_configcheckbox('updatenotifybuilds', new lang_string('updatenotifybuilds', 'core_admin'),
new lang_string('updatenotifybuilds_desc', 'core_admin'), 0));
$ADMIN->add('server', $temp);
}
// Web services.
$ADMIN->add('server', new admin_category('webservicesettings', new lang_string('webservices', 'webservice')));
// Web services > Overview.
$temp = new admin_settingpage('webservicesoverview', new lang_string('webservicesoverview', 'webservice'));
$temp->add(new admin_setting_webservicesoverview());
$ADMIN->add('webservicesettings', $temp);
// Web services > API documentation.
$ADMIN->add('webservicesettings', new admin_externalpage('webservicedocumentation', new lang_string('wsdocapi', 'webservice'),
"{$CFG->wwwroot}/{$CFG->admin}/webservice/documentation.php", 'moodle/site:config', false));
// Web services > External services.
$temp = new admin_settingpage('externalservices', new lang_string('externalservices', 'webservice'));
$temp->add(new admin_setting_heading('manageserviceshelpexplaination', new lang_string('information', 'webservice'),
new lang_string('servicehelpexplanation', 'webservice')));
$temp->add(new admin_setting_manageexternalservices());
$ADMIN->add('webservicesettings', $temp);
$ADMIN->add('webservicesettings', new admin_externalpage('externalservice', new lang_string('editaservice', 'webservice'),
"{$CFG->wwwroot}/{$CFG->admin}/webservice/service.php", 'moodle/site:config', true));
$ADMIN->add('webservicesettings', new admin_externalpage('externalservicefunctions',
new lang_string('externalservicefunctions', 'webservice'), "{$CFG->wwwroot}/{$CFG->admin}/webservice/service_functions.php",
'moodle/site:config', true));
$ADMIN->add('webservicesettings', new admin_externalpage('externalserviceusers',
new lang_string('externalserviceusers', 'webservice'), "{$CFG->wwwroot}/{$CFG->admin}/webservice/service_users.php",
'moodle/site:config', true));
$ADMIN->add('webservicesettings', new admin_externalpage('externalserviceusersettings',
new lang_string('serviceusersettings', 'webservice'), "{$CFG->wwwroot}/{$CFG->admin}/webservice/service_user_settings.php",
'moodle/site:config', true));
// Web services > Manage protocols.
$temp = new admin_settingpage('webserviceprotocols', new lang_string('manageprotocols', 'webservice'));
$temp->add(new admin_setting_managewebserviceprotocols());
if (empty($CFG->enablewebservices)) {
$temp->add(new admin_setting_heading('webservicesaredisabled', '', new lang_string('disabledwarning', 'webservice')));
}
// We cannot use $OUTPUT->doc_link() this early, we would lose the ability to set the page layout on all admin pages.
$url = new moodle_url(get_docs_url('How_to_get_a_security_key'));
$wsdoclink = html_writer::link($url, new lang_string('supplyinfo', 'webservice'), ['target' => '_blank']);
$temp->add(new admin_setting_configcheckbox('enablewsdocumentation', new lang_string('enablewsdocumentation', 'admin'),
new lang_string('configenablewsdocumentation', 'admin', $wsdoclink), false));
$ADMIN->add('webservicesettings', $temp);
$plugins = core_plugin_manager::instance()->get_plugins_of_type('webservice');
core_collator::asort_objects_by_property($plugins, 'displayname');
foreach ($plugins as $plugin) {
/** @var \core\plugininfo\webservice $plugin */
$plugin->load_settings($ADMIN, 'webservicesettings', $hassiteconfig);
}
// Web services > Manage tokens.
$ADMIN->add('webservicesettings', new admin_externalpage('webservicetokens', new lang_string('managetokens', 'webservice'),
new moodle_url('/admin/webservice/tokens.php')));
}
} // end of speedup
+5
View File
@@ -20,6 +20,9 @@ $moodleservices = new admin_settingpage('moodleservices', new lang_string('moodl
'admin'));
$ADMIN->add('root', $moodleservices);
$userfeedback = new admin_settingpage('userfeedback', new lang_string('feedbacksettings', 'admin'));
$ADMIN->add('root', $userfeedback);
if ($hassiteconfig) {
$optionalsubsystems = new admin_settingpage('optionalsubsystems', new lang_string('advancedfeatures', 'admin'));
$ADMIN->add('root', $optionalsubsystems);
@@ -32,9 +35,11 @@ $ADMIN->add('root', new admin_category('analytics', new lang_string('analytics',
$ADMIN->add('root', new admin_category('competencies', new lang_string('competencies', 'core_competency')));
$ADMIN->add('root', new admin_category('badges', new lang_string('badges'), empty($CFG->enablebadges)));
$ADMIN->add('root', new admin_category('h5p', new lang_string('h5p', 'core_h5p')));
$ADMIN->add('root', new admin_category('license', new lang_string('license')));
$ADMIN->add('root', new admin_category('location', new lang_string('location','admin')));
$ADMIN->add('root', new admin_category('language', new lang_string('language')));
$ADMIN->add('root', new admin_category('messaging', new lang_string('messagingcategory', 'admin')));
$ADMIN->add('root', new admin_category('payment', new lang_string('payments', 'payment')));
$ADMIN->add('root', new admin_category('modules', new lang_string('plugins', 'admin')));
$ADMIN->add('root', new admin_category('security', new lang_string('security','admin')));
$ADMIN->add('root', new admin_category('appearance', new lang_string('appearance','admin')));
+49
View File
@@ -0,0 +1,49 @@
<?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 file contains call to feedback settings
*
* @package core
* @copyright 2020 Shamim Rezaie <shamim@moodle.com>
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
*/
defined('MOODLE_INTERNAL') || die();
if ($hassiteconfig) {
$userfeedback->add(new admin_setting_configcheckbox('enableuserfeedback',
new lang_string('enableuserfeedback', 'admin'),
new lang_string('enableuserfeedback_desc', 'admin'), 0, 1, 0));
$options = [
core_userfeedback::REMIND_AFTER_UPGRADE => new lang_string('userfeedbackafterupgrade', 'admin'),
core_userfeedback::REMIND_PERIODICALLY => new lang_string('userfeedbackperiodically', 'admin'),
core_userfeedback::REMIND_NEVER => new lang_string('never'),
];
$userfeedback->add(new admin_setting_configselect('userfeedback_nextreminder',
new lang_string('userfeedbacknextreminder', 'admin'),
new lang_string('userfeedbacknextreminder_desc', 'admin'), 1, $options));
$userfeedback->hide_if('userfeedback_nextreminder', 'enableuserfeedback');
$userfeedback->add(new admin_setting_configtext('userfeedback_remindafter',
new lang_string('userfeedbackremindafter', 'admin'),
new lang_string('userfeedbackremindafter_desc', 'admin'), 90, PARAM_INT));
$userfeedback->hide_if('userfeedback_remindafter', 'enableuserfeedback');
$userfeedback->hide_if('userfeedback_remindafter', 'userfeedback_nextreminder', 'eq', 3);
}
+59 -19
View File
@@ -87,6 +87,14 @@ if ($hassiteconfig
$choices['1'] = new lang_string('trackforumsyes');
$temp->add(new admin_setting_configselect('defaultpreference_trackforums', new lang_string('trackforums'),
'', 0, $choices));
$choices = [];
$choices[\core_contentbank\content::VISIBILITY_PUBLIC] = new lang_string('visibilitychoicepublic', 'core_contentbank');
$choices[\core_contentbank\content::VISIBILITY_UNLISTED] = new lang_string('visibilitychoiceunlisted', 'core_contentbank');
$temp->add(new admin_setting_configselect('defaultpreference_core_contentbank_visibility',
new lang_string('visibilitypref', 'core_contentbank'),
new lang_string('visibilitypref_help', 'core_contentbank'),
\core_contentbank\content::VISIBILITY_PUBLIC, $choices));
}
$ADMIN->add('accounts', $temp);
@@ -186,13 +194,8 @@ if ($hassiteconfig
'email' => new lang_string('email'),
'city' => new lang_string('city'),
'country' => new lang_string('country'),
'moodlenetprofile' => new lang_string('moodlenetprofile', 'user'),
'timezone' => new lang_string('timezone'),
'webpage' => new lang_string('webpage'),
'icqnumber' => new lang_string('icqnumber'),
'skypeid' => new lang_string('skypeid'),
'yahooid' => new lang_string('yahooid'),
'aimid' => new lang_string('aimid'),
'msnid' => new lang_string('msnid'),
'firstaccess' => new lang_string('firstaccess'),
'lastaccess' => new lang_string('lastaccess'),
'lastip' => new lang_string('lastip'),
@@ -205,21 +208,40 @@ if ($hassiteconfig
// with moodle/site:viewuseridentity).
// Options include fields from the user table that might be helpful to
// distinguish when adding or listing users ('I want to add the John
// Smith from Science faculty').
// Custom user profile fields are not currently supported.
// Smith from Science faculty') and any custom profile fields.
$temp->add(new admin_setting_configmulticheckbox('showuseridentity',
new lang_string('showuseridentity', 'admin'),
new lang_string('showuseridentity_desc', 'admin'), array('email' => 1), array(
'username' => new lang_string('username'),
'idnumber' => new lang_string('idnumber'),
'email' => new lang_string('email'),
'phone1' => new lang_string('phone1'),
'phone2' => new lang_string('phone2'),
'department' => new lang_string('department'),
'institution' => new lang_string('institution'),
'city' => new lang_string('city'),
'country' => new lang_string('country'),
)));
new lang_string('showuseridentity_desc', 'admin'), ['email' => 1],
function() {
global $CFG;
require_once($CFG->dirroot.'/user/profile/lib.php');
// Basic fields available in user table.
$fields = [
'username' => new lang_string('username'),
'idnumber' => new lang_string('idnumber'),
'email' => new lang_string('email'),
'phone1' => new lang_string('phone1'),
'phone2' => new lang_string('phone2'),
'department' => new lang_string('department'),
'institution' => new lang_string('institution'),
'city' => new lang_string('city'),
'country' => new lang_string('country'),
];
// Custom profile fields.
$profilefields = profile_get_custom_fields();
foreach ($profilefields as $field) {
// Only reasonable-length text fields can be used as identity fields.
if ($field->param2 > 255 || $field->datatype != 'text') {
continue;
}
$fields['profile_field_' . $field->shortname] = format_string($field->name, true,
['context' => context_system::instance()]) . ' *';
}
return $fields;
}));
$setting = new admin_setting_configtext('fullnamedisplay', new lang_string('fullnamedisplay', 'admin'),
new lang_string('configfullnamedisplay', 'admin'), 'language', PARAM_TEXT, 50);
$setting->set_force_ltr(true);
@@ -260,10 +282,28 @@ if ($hassiteconfig) {
$temp->add($setting);
// See {@link https://gdpr-info.eu/art-8-gdpr/}.
// See {@link https://www.betterinternetforkids.eu/web/portal/practice/awareness/detail?articleId=3017751}.
$ageofdigitalconsentmap = implode(PHP_EOL, [
'*, 16',
'AT, 14',
'BE, 13',
'BG, 14',
'CY, 14',
'CZ, 15',
'DK, 13',
'EE, 13',
'ES, 14',
'FI, 13',
'FR, 15',
'GB, 13',
'GR, 15',
'IT, 14',
'LT, 14',
'LV, 13',
'MT, 13',
'NO, 13',
'PT, 13',
'SE, 13',
'US, 13'
]);
$setting = new admin_setting_agedigitalconsentmap('agedigitalconsentmap',
+7 -1
View File
@@ -32,6 +32,7 @@ $result = optional_param('result', null, PARAM_INT);
$pageurl = new \moodle_url('/admin/tasklogs.php');
$pageurl->param('filter', $filter);
$pageurl->param('result', $result);
$PAGE->set_url($pageurl);
$PAGE->set_context(context_system::instance());
@@ -46,6 +47,8 @@ $logid = optional_param('logid', null, PARAM_INT);
$download = optional_param('download', false, PARAM_BOOL);
if (null !== $logid) {
// Raise memory limit in case the log is large.
raise_memory_limit(MEMORY_HUGE);
$log = $DB->get_record('task_log', ['id' => $logid], '*', MUST_EXIST);
if ($download) {
@@ -60,9 +63,11 @@ if (null !== $logid) {
$renderer = $PAGE->get_renderer('tool_task');
echo $OUTPUT->header();
// Output the search form.
echo $OUTPUT->render_from_template('core_admin/tasklogs', (object) [
'action' => $pageurl->out(),
'filter' => $filter,
'filter' => htmlentities($filter),
'resultfilteroptions' => [
(object) [
'value' => -1,
@@ -82,6 +87,7 @@ echo $OUTPUT->render_from_template('core_admin/tasklogs', (object) [
],
]);
// Output any matching logs.
$table = new \core_admin\task_log_table($filter, $result);
$table->baseurl = $pageurl;
$table->out(100, false);

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