Compare commits

...

1955 Commits

Author SHA1 Message Date
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
Mike Churchward ec367da169 MDL-71925 tool_brickfield: Limited DOM tag count using core function. 2021-07-27 15:52:58 -04: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
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
Thach Le Huy 7076db3492 MDL-72033 User tours: step placement issues if screen too narrow 2021-07-16 11:05:51 +07: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
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 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
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
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
Daniel Neis Araujo f699d8ee39 MDL-71999 enrol: enrol_imsenterprise_allow_group_member_remove global 2021-06-23 13:21:24 -03: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
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
4798 changed files with 79638 additions and 49176 deletions
+64 -5
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,7 +200,23 @@
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',
}
},
{
@@ -211,7 +227,7 @@
},
// 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,
}
}
]
+14 -10
View File
@@ -13,15 +13,16 @@ env:
jobs:
Grunt:
runs-on: ubuntu-18.04
runs-on: ubuntu-22.04
steps:
- name: Checking out code
uses: actions/checkout@v2
uses: actions/checkout@v3
- name: Configuring node & npm
shell: bash -l {0}
run: nvm install
uses: actions/setup-node@v3
with:
node-version-file: '.nvmrc'
- name: Installing node stuff
run: npm install
@@ -53,11 +54,11 @@ jobs:
fail-fast: false
matrix:
include:
- os: ubuntu-18.04
- os: ubuntu-22.04
php: 7.3
extensions:
db: mysqli
- os: ubuntu-18.04
- os: ubuntu-22.04
php: 8.0
db: pgsql
extensions: xmlrpc-beta
@@ -65,7 +66,7 @@ jobs:
steps:
- name: Setting up DB mysql
if: ${{ matrix.db == 'mysqli' }}
uses: johanmeiring/mysql-action@tmpfs-patch
uses: moodlehq/mysql-action@v1
with:
collation server: utf8mb4_bin
mysql version: 5.7
@@ -73,6 +74,8 @@ jobs:
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' }}
@@ -84,7 +87,7 @@ jobs:
postgresql password: test
- name: Configuring git vars
uses: rlespinasse/github-slug-action@v3.x
uses: rlespinasse/github-slug-action@v4
- name: Setting up PHP ${{ matrix.php }}
uses: shivammathur/setup-php@v2
@@ -95,7 +98,7 @@ jobs:
coverage: none
- name: Checking out code from ${{ env.GITHUB_REF_SLUG }}
uses: actions/checkout@v2
uses: actions/checkout@v3
- name: Setting up PHPUnit
env:
@@ -110,4 +113,5 @@ jobs:
- name: Running PHPUnit tests
env:
dbtype: ${{ matrix.db }}
run: vendor/bin/phpunit -v
phpunit_options: ${{ secrets.phpunit_options }}
run: vendor/bin/phpunit $phpunit_options
+2
View File
@@ -51,3 +51,5 @@ moodle-plugin-ci.phar
.eslintignore
.stylelintignore
/jsdoc
phpcs.xml
jsconfig.json
@@ -111,8 +111,22 @@ module.exports = ({template, types}) => {
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
+1
View File
@@ -233,6 +233,7 @@ const getOwningComponentDirectory = checkPath => {
};
module.exports = {
fetchComponentData,
getAmdSrcGlobList,
getComponentFromPath,
getComponentPaths,
+39
View File
@@ -21,6 +21,43 @@
*/
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)
*/
@@ -52,6 +89,8 @@ module.exports = grunt => {
'jsdoc/styles/*.css',
].concat(thirdPartyPaths);
grunt.file.write('.stylelintignore', stylelintIgnores.join('\n') + '\n');
phpcsIgnore(thirdPartyPaths);
};
grunt.registerTask('ignorefiles', 'Generate ignore files for linters', handler);
+122 -44
View File
@@ -30,6 +30,7 @@
* @param {String} srcPath the matched src path
* @return {String} The rewritten destination path.
*/
const babelRename = function(destPath, srcPath) {
destPath = srcPath.replace('src', 'build');
destPath = destPath.replace('.js', '.min.js');
@@ -46,6 +47,9 @@ module.exports = grunt => {
// Load ESLint.
require('./eslint')(grunt);
// Load jsconfig.
require('./jsconfig')(grunt);
// Load JSDoc.
require('./jsdoc')(grunt);
@@ -53,65 +57,139 @@ module.exports = grunt => {
// Register JS tasks.
grunt.registerTask('yui', ['eslint:yui', 'shifter']);
grunt.registerTask('amd', ['ignorefiles', 'eslint:amd', 'babel']);
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');
// Load the Babel tasks and config.
grunt.loadNpmTasks('grunt-babel');
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({
babel: {
rollup: {
options: {
sourceMaps: true,
comments: false,
format: 'esm',
dir: 'output',
sourcemap: true,
treeshake: false,
context: 'window',
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'
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,
}),
],
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: grunt.moodleEnv.files ? grunt.moodleEnv.files : grunt.moodleEnv.amdSrc,
rename: babelRename
}]
}
}],
},
},
});
@@ -132,7 +210,7 @@ module.exports = grunt => {
let changedFiles = Object.create(null);
const onChange = grunt.util._.debounce(function() {
const files = Object.keys(changedFiles);
grunt.config('babel.dist.files', [{expand: true, src: files, rename: babelRename}]);
grunt.config('rollup.dist.files', [{expand: true, src: files, rename: babelRename}]);
changedFiles = Object.create(null);
}, 200);
+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);
};
+1 -1
View File
@@ -1 +1 @@
v14.15.0
lts/gallium
+5 -3
View File
@@ -36,7 +36,7 @@ jobs:
- php: 7.3
env: DB=none TASK=CITEST
- php: 7.3
env: DB=none TASK=GRUNT NVM_VERSION='lts/carbon'
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
@@ -52,7 +52,7 @@ jobs:
env: DB=none TASK=CITEST
- if: env(MOODLE_PHP) = "all"
php: 8.0
env: DB=none TASK=GRUNT NVM_VERSION='lts/carbon'
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
@@ -81,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' ];
@@ -92,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' ];
+53 -35
View File
@@ -1,48 +1,66 @@
MOODLE TRADEMARKS POLICY
========================
The word "Moodle" is trademarked in many countries around the world. The word
was originally coined as an acronym: Modular Object-Oriented Dynamic Learning
Environment. The trademark is owned by Martin Dougiamas, Founder and Director
of Moodle.
The Moodle Trademark
--------------------
The law obligates trademark owners to police their marks and prevent the use of
confusingly similar names by third parties. Through this policy wed like to
make it clear how Moodle-related projects, organisations, and people can use
the Moodle trademark. Wed also like to be clear about how use of the word is
restricted when used to promote commercial Moodle services. We do this to
protect the very business model that allows us to continue developing Moodle
for you.
The brand and word "Moodle" has trade mark protection in many countries around
the world. Various Moodle™ trade marks are owned by either Moodle Pty Ltd or
one of its associated entities. The law obligates trade mark owners to police
their trade marks and prevent the use of confusingly similar names by
third parties.
Allowed uses
------------
We have created a more concise and thorough set of Trademark Guidelines
(https://moodle.com/wp-content/uploads/2023/02/Moodle-Trademark-Guidelines-2023-4.pdf)
to help you understand how to comply with Moodle's trade mark requirements.
The Trademark Guidelines will also assist our Moodle Certified Partners and the
community to understand some of the principles that inform Moodle's stance
whenever potential infringement has been detected by us or our community.
The following uses dont require any permission at all:
We need to be clear about use of the word "Moodle" and how we restrict its use
when promoting commercial Moodle™ branded services. The proper use of
trade marks reliably assures consumers about the quality of the associated
products or services and where they have been derived from. Because the
Moodle LMS is made available under the open source GNU General Public License'
that permits you to modify the copyrighted software, the distribution of such
modified software in combination with Moodle trade marks can potentially
mislead others in the community. To be clear, the GNU GPL does not include an
implied right or licence to use Moodle's trade marks.
* Referring to the software or the Moodle project.
* Describing your own Moodle implementation (including within corporate
settings).
We do all this to protect the very business model that allows us to continue
developing various Moodle software solutions for you.
Allowed uses of "Moodle"
------------------------
The following uses don't require any permission at all:
* Referring to the software or the Moodle project as the "Moodle™ software"
or the "Moodle™ project"
* Describing your own implementation of the Moodle™ software platform
(including within corporate settings).
* Describing a Moodle-based community hub.
* Describing some software youve made that integrates with Moodle
(eg a Moodle integration feature on another system).
* Describing certain software you've made that integrates with Moodle
branded software (e.g. a Moodle integration feature on another system).
Restricted uses
---------------
Restricted uses of "Moodle"
---------------------------
The following uses are generally prohibited without explicit and direct
permission being granted to you by Moodle Pty Ltd. We do this to protect the
Moodle project from software and sites which could confuse people. Please
contact us to ask for permission in writing.
Moodle project from software and sites which could confuse people. If in
doubt, reach out for clarification at <trademarks@moodle.com>
* You cant use "Moodle" in the name of your software (including Mobile apps)
* You cant use "Moodle" in your company name
* You cant use "Moodle" in your domain name
* You cant use "Moodle" in advertising-related keywords (such as Adsense)
* You cant use "Moodle" to describe services around Moodle (such as hosting,
training, support, consulting, course creation services, theme development,
customisation, installation, integration and certification). This applies
even if you do not charge for the services. Note that usually only Moodle
Partners have this permission.
For information about the Moodle Partner Certification Mark as well as for how
to contact us, please see <https://moodle.com/trademarks/>.
* You can't use the word "Moodle" or any Moodle logos for commercial purposes
without prior written permission from Moodle HQ.
* You can't use "Moodle" in the name of your software (including Mobile apps).
* You can't use "Moodle" in your company name.
* You can't use "Moodle" in your domain name.
* You can't use "Moodle" in advertising-related keywords (such as Adsense).
* You can't use "Moodle" to describe services around Moodle
(such as hosting, training, support, consulting, course creation services,
theme development, customisation, installation, integration, analytics
and certification) that cause consumers to be confused that you are
associated with Moodle HQ if you are not.
This applies even if you do not charge for the services.
Note that usually only Moodle Partners have this permission.
+3 -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'));
}
+8 -1
View File
@@ -120,7 +120,14 @@ 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);
}
+2 -2
View File
@@ -69,11 +69,11 @@ if ($options['help'] or (!$options['list'] and !$options['execute'])) {
die;
}
if ($options['showdebugging']) {
if ($options['showdebugging'] || !empty($CFG->showcrondebugging)) {
set_debugging(DEBUG_DEVELOPER, true);
}
if ($options['showsql']) {
if ($options['showsql'] || !empty($CFG->showcronsql)) {
$DB->set_debug(true);
}
if ($options['list']) {
+395
View File
@@ -3163,6 +3163,11 @@
<ON_CHECK message="sixtyfourbitswarning" />
</FEEDBACK>
</CUSTOM_CHECK>
<CUSTOM_CHECK file="lib/upgradelib.php" function="check_igbinary322_version" level="optional">
<FEEDBACK>
<ON_CHECK message="igbinary322buggyversion" />
</FEEDBACK>
</CUSTOM_CHECK>
</CUSTOM_CHECKS>
</MOODLE>
<MOODLE version="3.10" requires="3.5">
@@ -3345,6 +3350,11 @@
<ON_CHECK message="sixtyfourbitswarning" />
</FEEDBACK>
</CUSTOM_CHECK>
<CUSTOM_CHECK file="lib/upgradelib.php" function="check_igbinary322_version" level="optional">
<FEEDBACK>
<ON_CHECK message="igbinary322buggyversion" />
</FEEDBACK>
</CUSTOM_CHECK>
</CUSTOM_CHECKS>
</MOODLE>
<MOODLE version="3.11" requires="3.6">
@@ -3361,6 +3371,7 @@
<VENDOR name="oracle" version="11.2" />
</DATABASE>
<PHP version="7.3.0" level="required">
<RESTRICT function="restrict_php_version_81" message="unsupportedphpversion81" />
</PHP>
<PCREUNICODE level="optional">
<FEEDBACK>
@@ -3529,6 +3540,8 @@
</CUSTOM_CHECK>
<CUSTOM_CHECK file="lib/upgradelib.php" function="check_max_input_vars" level="optional">
</CUSTOM_CHECK>
<CUSTOM_CHECK file="lib/upgradelib.php" function="check_xmlrpc_usage" level="optional">
</CUSTOM_CHECK>
</CUSTOM_CHECKS>
</MOODLE>
<MOODLE version="4.0" requires="3.6">
@@ -3545,6 +3558,7 @@
<VENDOR name="oracle" version="11.2" />
</DATABASE>
<PHP version="7.3.0" level="required">
<RESTRICT function="restrict_php_version_81" message="unsupportedphpversion81" />
</PHP>
<PCREUNICODE level="optional">
<FEEDBACK>
@@ -3714,6 +3728,387 @@
</CUSTOM_CHECK>
<CUSTOM_CHECK file="lib/upgradelib.php" function="check_max_input_vars" level="optional">
</CUSTOM_CHECK>
<CUSTOM_CHECK file="lib/upgradelib.php" function="check_admin_dir_usage" level="optional">
<FEEDBACK>
<ON_CHECK message="iscustomadminwarnings" />
</FEEDBACK>
</CUSTOM_CHECK>
<CUSTOM_CHECK file="lib/upgradelib.php" function="check_xmlrpc_usage" level="optional">
</CUSTOM_CHECK>
</CUSTOM_CHECKS>
</MOODLE>
<MOODLE version="4.1" requires="3.9">
<UNICODE level="required">
<FEEDBACK>
<ON_ERROR message="unicoderequired" />
</FEEDBACK>
</UNICODE>
<DATABASE level="required">
<VENDOR name="mariadb" version="10.4" />
<VENDOR name="mysql" version="5.7" />
<VENDOR name="postgres" version="12" />
<VENDOR name="mssql" version="14.0" />
<VENDOR name="oracle" version="19" />
</DATABASE>
<PHP version="7.4.0" level="required">
</PHP>
<PCREUNICODE level="optional">
<FEEDBACK>
<ON_CHECK message="pcreunicodewarning" />
</FEEDBACK>
</PCREUNICODE>
<PHP_EXTENSIONS>
<PHP_EXTENSION name="iconv" level="required">
<FEEDBACK>
<ON_ERROR message="iconvrequired" />
</FEEDBACK>
</PHP_EXTENSION>
<PHP_EXTENSION name="mbstring" level="required">
<FEEDBACK>
<ON_ERROR message="mbstringrequired" />
</FEEDBACK>
</PHP_EXTENSION>
<PHP_EXTENSION name="curl" level="required">
<FEEDBACK>
<ON_ERROR message="curlrequired" />
</FEEDBACK>
</PHP_EXTENSION>
<PHP_EXTENSION name="openssl" level="required">
<FEEDBACK>
<ON_ERROR message="opensslrequired" />
</FEEDBACK>
</PHP_EXTENSION>
<PHP_EXTENSION name="tokenizer" level="optional">
<FEEDBACK>
<ON_CHECK message="tokenizerrecommended" />
</FEEDBACK>
</PHP_EXTENSION>
<PHP_EXTENSION name="soap" level="optional">
<FEEDBACK>
<ON_CHECK message="soaprecommended" />
</FEEDBACK>
</PHP_EXTENSION>
<PHP_EXTENSION name="ctype" level="required">
<FEEDBACK>
<ON_ERROR message="ctyperequired" />
</FEEDBACK>
</PHP_EXTENSION>
<PHP_EXTENSION name="zip" level="required">
<FEEDBACK>
<ON_ERROR message="ziprequired" />
</FEEDBACK>
</PHP_EXTENSION>
<PHP_EXTENSION name="zlib" level="required">
</PHP_EXTENSION>
<PHP_EXTENSION name="gd" level="required">
<FEEDBACK>
<ON_ERROR message="gdrequired" />
</FEEDBACK>
</PHP_EXTENSION>
<PHP_EXTENSION name="simplexml" level="required">
<FEEDBACK>
<ON_ERROR message="simplexmlrequired" />
</FEEDBACK>
</PHP_EXTENSION>
<PHP_EXTENSION name="spl" level="required">
<FEEDBACK>
<ON_ERROR message="splrequired" />
</FEEDBACK>
</PHP_EXTENSION>
<PHP_EXTENSION name="pcre" level="required">
</PHP_EXTENSION>
<PHP_EXTENSION name="dom" level="required">
</PHP_EXTENSION>
<PHP_EXTENSION name="xml" level="required">
</PHP_EXTENSION>
<PHP_EXTENSION name="xmlreader" level="required">
</PHP_EXTENSION>
<PHP_EXTENSION name="intl" level="required">
<FEEDBACK>
<ON_ERROR message="intlrequired" />
</FEEDBACK>
</PHP_EXTENSION>
<PHP_EXTENSION name="json" level="required">
</PHP_EXTENSION>
<PHP_EXTENSION name="hash" level="required"/>
<PHP_EXTENSION name="fileinfo" level="required"/>
<PHP_EXTENSION name="sodium" level="optional"/>
<PHP_EXTENSION name="exif" level="optional"/>
</PHP_EXTENSIONS>
<PHP_SETTINGS>
<PHP_SETTING name="memory_limit" value="96M" level="required">
<FEEDBACK>
<ON_ERROR message="settingmemorylimit" />
</FEEDBACK>
</PHP_SETTING>
<PHP_SETTING name="file_uploads" value="1" level="optional">
<FEEDBACK>
<ON_CHECK message="settingfileuploads" />
</FEEDBACK>
</PHP_SETTING>
<PHP_SETTING name="opcache.enable" value="1" level="optional">
<FEEDBACK>
<ON_CHECK message="opcacherecommended" />
</FEEDBACK>
</PHP_SETTING>
</PHP_SETTINGS>
<CUSTOM_CHECKS>
<CUSTOM_CHECK file="lib/upgradelib.php" function="check_database_storage_engine" level="required">
<FEEDBACK>
<ON_ERROR message="unsupporteddbstorageengine" />
</FEEDBACK>
</CUSTOM_CHECK>
<CUSTOM_CHECK file="question/engine/upgrade/upgradelib.php" function="quiz_attempts_upgraded" level="required">
<FEEDBACK>
<ON_ERROR message="quizattemptsupgradedmessage" />
</FEEDBACK>
</CUSTOM_CHECK>
<CUSTOM_CHECK file="lib/upgradelib.php" function="check_slasharguments" level="optional">
<FEEDBACK>
<ON_CHECK message="slashargumentswarning" />
</FEEDBACK>
</CUSTOM_CHECK>
<CUSTOM_CHECK file="lib/upgradelib.php" function="check_database_tables_row_format" level="optional">
<FEEDBACK>
<ON_CHECK message="unsupporteddbtablerowformat" />
</FEEDBACK>
</CUSTOM_CHECK>
<CUSTOM_CHECK file="lib/upgradelib.php" function="check_unoconv_version" level="optional">
<FEEDBACK>
<ON_CHECK message="unoconvwarning" />
</FEEDBACK>
</CUSTOM_CHECK>
<CUSTOM_CHECK file="lib/upgradelib.php" function="check_libcurl_version" level="optional">
<FEEDBACK>
<ON_CHECK message="libcurlwarning" />
</FEEDBACK>
</CUSTOM_CHECK>
<CUSTOM_CHECK file="lib/upgradelib.php" function="check_mysql_file_format" level="required">
<FEEDBACK>
<ON_ERROR message="unsupporteddbfileformat" />
</FEEDBACK>
</CUSTOM_CHECK>
<CUSTOM_CHECK file="lib/upgradelib.php" function="check_mysql_file_per_table" level="required">
<FEEDBACK>
<ON_ERROR message="unsupporteddbfilepertable" />
</FEEDBACK>
</CUSTOM_CHECK>
<CUSTOM_CHECK file="lib/upgradelib.php" function="check_mysql_large_prefix" level="required">
<FEEDBACK>
<ON_ERROR message="unsupporteddblargeprefix" />
</FEEDBACK>
</CUSTOM_CHECK>
<CUSTOM_CHECK file="lib/upgradelib.php" function="check_is_https" level="optional">
<FEEDBACK>
<ON_CHECK message="ishttpswarning" />
</FEEDBACK>
</CUSTOM_CHECK>
<CUSTOM_CHECK file="lib/upgradelib.php" function="check_mysql_incomplete_unicode_support" level="optional">
<FEEDBACK>
<ON_CHECK message="incompleteunicodesupport" />
</FEEDBACK>
</CUSTOM_CHECK>
<CUSTOM_CHECK file="lib/upgradelib.php" function="check_sixtyfour_bits" level="optional">
<FEEDBACK>
<ON_CHECK message="sixtyfourbitswarning" />
</FEEDBACK>
</CUSTOM_CHECK>
<CUSTOM_CHECK file="lib/upgradelib.php" function="check_max_input_vars" level="optional">
</CUSTOM_CHECK>
<CUSTOM_CHECK file="lib/upgradelib.php" function="check_admin_dir_usage" level="optional">
<FEEDBACK>
<ON_CHECK message="iscustomadminwarnings" />
</FEEDBACK>
</CUSTOM_CHECK>
<CUSTOM_CHECK file="lib/upgradelib.php" function="check_xmlrpc_usage" level="optional">
</CUSTOM_CHECK>
</CUSTOM_CHECKS>
</MOODLE>
<MOODLE version="4.2" requires="3.11.8">
<UNICODE level="required">
<FEEDBACK>
<ON_ERROR message="unicoderequired" />
</FEEDBACK>
</UNICODE>
<DATABASE level="required">
<VENDOR name="mariadb" version="10.6.7" />
<VENDOR name="mysql" version="8.0" />
<VENDOR name="postgres" version="13" />
<VENDOR name="mssql" version="14.0" />
<VENDOR name="oracle" version="19" />
</DATABASE>
<PHP version="8.0.0" level="required">
</PHP>
<PCREUNICODE level="optional">
<FEEDBACK>
<ON_CHECK message="pcreunicodewarning" />
</FEEDBACK>
</PCREUNICODE>
<PHP_EXTENSIONS>
<PHP_EXTENSION name="iconv" level="required">
<FEEDBACK>
<ON_ERROR message="iconvrequired" />
</FEEDBACK>
</PHP_EXTENSION>
<PHP_EXTENSION name="mbstring" level="required">
<FEEDBACK>
<ON_ERROR message="mbstringrequired" />
</FEEDBACK>
</PHP_EXTENSION>
<PHP_EXTENSION name="curl" level="required">
<FEEDBACK>
<ON_ERROR message="curlrequired" />
</FEEDBACK>
</PHP_EXTENSION>
<PHP_EXTENSION name="openssl" level="required">
<FEEDBACK>
<ON_ERROR message="opensslrequired" />
</FEEDBACK>
</PHP_EXTENSION>
<PHP_EXTENSION name="tokenizer" level="optional">
<FEEDBACK>
<ON_CHECK message="tokenizerrecommended" />
</FEEDBACK>
</PHP_EXTENSION>
<PHP_EXTENSION name="soap" level="optional">
<FEEDBACK>
<ON_CHECK message="soaprecommended" />
</FEEDBACK>
</PHP_EXTENSION>
<PHP_EXTENSION name="ctype" level="required">
<FEEDBACK>
<ON_ERROR message="ctyperequired" />
</FEEDBACK>
</PHP_EXTENSION>
<PHP_EXTENSION name="zip" level="required">
<FEEDBACK>
<ON_ERROR message="ziprequired" />
</FEEDBACK>
</PHP_EXTENSION>
<PHP_EXTENSION name="zlib" level="required">
</PHP_EXTENSION>
<PHP_EXTENSION name="gd" level="required">
<FEEDBACK>
<ON_ERROR message="gdrequired" />
</FEEDBACK>
</PHP_EXTENSION>
<PHP_EXTENSION name="simplexml" level="required">
<FEEDBACK>
<ON_ERROR message="simplexmlrequired" />
</FEEDBACK>
</PHP_EXTENSION>
<PHP_EXTENSION name="spl" level="required">
<FEEDBACK>
<ON_ERROR message="splrequired" />
</FEEDBACK>
</PHP_EXTENSION>
<PHP_EXTENSION name="pcre" level="required">
</PHP_EXTENSION>
<PHP_EXTENSION name="dom" level="required">
</PHP_EXTENSION>
<PHP_EXTENSION name="xml" level="required">
</PHP_EXTENSION>
<PHP_EXTENSION name="xmlreader" level="required">
</PHP_EXTENSION>
<PHP_EXTENSION name="intl" level="required">
<FEEDBACK>
<ON_ERROR message="intlrequired" />
</FEEDBACK>
</PHP_EXTENSION>
<PHP_EXTENSION name="json" level="required">
</PHP_EXTENSION>
<PHP_EXTENSION name="hash" level="required"/>
<PHP_EXTENSION name="fileinfo" level="required"/>
<PHP_EXTENSION name="sodium" level="required"/>
<PHP_EXTENSION name="exif" level="optional"/>
</PHP_EXTENSIONS>
<PHP_SETTINGS>
<PHP_SETTING name="memory_limit" value="96M" level="required">
<FEEDBACK>
<ON_ERROR message="settingmemorylimit" />
</FEEDBACK>
</PHP_SETTING>
<PHP_SETTING name="file_uploads" value="1" level="optional">
<FEEDBACK>
<ON_CHECK message="settingfileuploads" />
</FEEDBACK>
</PHP_SETTING>
<PHP_SETTING name="opcache.enable" value="1" level="optional">
<FEEDBACK>
<ON_CHECK message="opcacherecommended" />
</FEEDBACK>
</PHP_SETTING>
</PHP_SETTINGS>
<CUSTOM_CHECKS>
<CUSTOM_CHECK file="lib/upgradelib.php" function="check_database_storage_engine" level="required">
<FEEDBACK>
<ON_ERROR message="unsupporteddbstorageengine" />
</FEEDBACK>
</CUSTOM_CHECK>
<CUSTOM_CHECK file="question/engine/upgrade/upgradelib.php" function="quiz_attempts_upgraded" level="required">
<FEEDBACK>
<ON_ERROR message="quizattemptsupgradedmessage" />
</FEEDBACK>
</CUSTOM_CHECK>
<CUSTOM_CHECK file="lib/upgradelib.php" function="check_slasharguments" level="optional">
<FEEDBACK>
<ON_CHECK message="slashargumentswarning" />
</FEEDBACK>
</CUSTOM_CHECK>
<CUSTOM_CHECK file="lib/upgradelib.php" function="check_database_tables_row_format" level="optional">
<FEEDBACK>
<ON_CHECK message="unsupporteddbtablerowformat" />
</FEEDBACK>
</CUSTOM_CHECK>
<CUSTOM_CHECK file="lib/upgradelib.php" function="check_unoconv_version" level="optional">
<FEEDBACK>
<ON_CHECK message="unoconvwarning" />
</FEEDBACK>
</CUSTOM_CHECK>
<CUSTOM_CHECK file="lib/upgradelib.php" function="check_libcurl_version" level="optional">
<FEEDBACK>
<ON_CHECK message="libcurlwarning" />
</FEEDBACK>
</CUSTOM_CHECK>
<CUSTOM_CHECK file="lib/upgradelib.php" function="check_mysql_file_format" level="required">
<FEEDBACK>
<ON_ERROR message="unsupporteddbfileformat" />
</FEEDBACK>
</CUSTOM_CHECK>
<CUSTOM_CHECK file="lib/upgradelib.php" function="check_mysql_file_per_table" level="required">
<FEEDBACK>
<ON_ERROR message="unsupporteddbfilepertable" />
</FEEDBACK>
</CUSTOM_CHECK>
<CUSTOM_CHECK file="lib/upgradelib.php" function="check_mysql_large_prefix" level="required">
<FEEDBACK>
<ON_ERROR message="unsupporteddblargeprefix" />
</FEEDBACK>
</CUSTOM_CHECK>
<CUSTOM_CHECK file="lib/upgradelib.php" function="check_is_https" level="optional">
<FEEDBACK>
<ON_CHECK message="ishttpswarning" />
</FEEDBACK>
</CUSTOM_CHECK>
<CUSTOM_CHECK file="lib/upgradelib.php" function="check_mysql_incomplete_unicode_support" level="optional">
<FEEDBACK>
<ON_CHECK message="incompleteunicodesupport" />
</FEEDBACK>
</CUSTOM_CHECK>
<CUSTOM_CHECK file="lib/upgradelib.php" function="check_sixtyfour_bits" level="required">
<FEEDBACK>
<ON_ERROR message="sixtyfourbitsrequired" />
</FEEDBACK>
</CUSTOM_CHECK>
<CUSTOM_CHECK file="lib/upgradelib.php" function="check_max_input_vars" level="optional">
</CUSTOM_CHECK>
<CUSTOM_CHECK file="lib/upgradelib.php" function="check_admin_dir_usage" level="optional">
<FEEDBACK>
<ON_CHECK message="iscustomadminwarnings" />
</FEEDBACK>
</CUSTOM_CHECK>
<CUSTOM_CHECK file="lib/upgradelib.php" function="check_xmlrpc_usage" level="optional">
</CUSTOM_CHECK>
</CUSTOM_CHECKS>
</MOODLE>
</COMPATIBILITY_MATRIX>
+2 -3
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();
}
+2 -3
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');
}
+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');
}
+27 -16
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();
@@ -1616,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;
@@ -1664,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').
@@ -1907,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)),
@@ -2127,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();
+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]);
@@ -22,16 +22,17 @@
* @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;
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
@@ -39,7 +40,7 @@ use \core_privacy\local\request\approved_userlist;
* @copyright 2018 Carlos Escobedo <carlos@moodle.com>
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
*/
class core_role_privacy_testcase extends provider_testcase {
class provider_test extends provider_testcase {
/**
* Test to check export_user_preferences.
* returns user preferences data.
+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.
+14 -1
View File
@@ -231,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);
@@ -305,6 +308,13 @@ if ($hassiteconfig) {
$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');
@@ -482,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) {
+2 -1
View File
@@ -236,7 +236,8 @@ if ($hassiteconfig
if ($field->param2 > 255 || $field->datatype != 'text') {
continue;
}
$fields['profile_field_' . $field->shortname] = $field->name . ' *';
$fields['profile_field_' . $field->shortname] = format_string($field->name, true,
['context' => context_system::instance()]) . ' *';
}
return $fields;
@@ -48,6 +48,6 @@
</div>
<input type="text" name="{{name}}" id="{{id}}" value="{{value}}" size="12" class="form-control text-ltr" {{#readonly}}disabled{{/readonly}}>
{{#haspreviewconfig}}
<input type="button" id="{{id}}_preview" value={{#quote}}{{#str}}preview{{/str}}{{/quote}} class="admin_colourpicker_preview">
<input type="button" id="{{id}}_preview" value="{{#cleanstr}}preview{{/cleanstr}}" class="admin_colourpicker_preview">
{{/haspreviewconfig}}
</div>
@@ -51,12 +51,12 @@
<div class="form-password">
<span data-passwordunmask="wrapper" data-passwordunmaskid="{{ id }}">
<span data-passwordunmask="editor">
<input type="hidden"
<input type="password"
name="{{ name }}"
id="{{ id }}"
value="{{ value }}"
data-size="{{ size }}"
class="form-control d-inline-block"
class="form-control d-none"
>
</span>
<a href="#" data-passwordunmask="edit" title="{{ edithint }}">
+2 -5
View File
@@ -53,11 +53,8 @@ class behat_admin extends behat_base {
}
foreach ($data as $label => $value) {
$this->execute('behat_navigation::i_select_from_flat_navigation_drawer', [get_string('administrationsite')]);
// Search by label.
$this->execute('behat_forms::i_set_the_field_to', [get_string('search'), $label]);
$this->execute("behat_forms::press_button", get_string('search', 'admin'));
// Navigate straight to the search results fo rthis label.
$this->execute('behat_general::i_visit', ["/admin/search.php?query=" . urlencode($label)]);
// Admin settings does not use the same DOM structure than other moodle forms
// but we also need to use lib/behat/form_field/* to deal with the different moodle form elements.
+4 -2
View File
@@ -18,6 +18,10 @@ Feature: An administrator can filter user accounts by role, cohort and other pro
And the following "cohorts" exist:
| name | idnumber |
| Cohort 1 | CH1 |
And the following "cohort members" exist:
| user | cohort |
| user2 | CH1 |
| user3 | CH1 |
And the following "courses" exist:
| fullname | shortname | category |
| Course 1 | C1 | 0 |
@@ -27,8 +31,6 @@ Feature: An administrator can filter user accounts by role, cohort and other pro
| user2 | C1 | student |
| user3 | C1 | student |
And I log in as "admin"
And I add "User Two (two@example.com)" user to "CH1" cohort members
And I add "User Three (three@example.com)" user to "CH1" cohort members
And I navigate to "Users > Accounts > Browse list of users" in site administration
Scenario: Filter user accounts by role and cohort
+1 -1
View File
@@ -30,7 +30,7 @@ Feature: Manage external services tokens
And I press "Delete"
And "Firstname1 Lastname1" "table_row" should not exist
@javascript
@javascript @skip_chrome_zerosize
Scenario: Tokens can be filtered by user and by service
Given the following "core_webservice > Service" exists:
| name | Site information |
+10 -2
View File
@@ -1,2 +1,10 @@
define ("tool_analytics/log_info",["jquery","core/str","core/modal_factory","core/notification"],function(a,b,c,d){return{loadInfo:function loadInfo(e,f){var g=a("[data-model-log-id=\""+e+"\"]");b.get_string("loginfo","tool_analytics").then(function(b){var d=a("<ul>");f.forEach(function(a){d.append("<li>"+a+"</li>")});d.append("</ul>");return c.create({title:b,body:d.html(),large:!0},g)}).catch(d.exception)}}});
//# sourceMappingURL=log_info.min.js.map
/**
* Shows a dialogue with info about this logs.
*
* @module tool_analytics/log_info
* @copyright 2017 David Monllao {@link http://www.davidmonllao.com}
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
*/
define("tool_analytics/log_info",["jquery","core/str","core/modal_factory","core/notification"],(function($,str,ModalFactory,Notification){return{loadInfo:function(id,info){var link=$('[data-model-log-id="'+id+'"]');str.get_string("loginfo","tool_analytics").then((function(langString){var bodyInfo=$("<ul>");return info.forEach((function(item){bodyInfo.append("<li>"+item+"</li>")})),bodyInfo.append("</ul>"),ModalFactory.create({title:langString,body:bodyInfo.html(),large:!0},link)})).catch(Notification.exception)}}}));
//# sourceMappingURL=log_info.min.js.map
@@ -1 +1 @@
{"version":3,"sources":["../src/log_info.js"],"names":["define","$","str","ModalFactory","Notification","loadInfo","id","info","link","get_string","then","langString","bodyInfo","forEach","item","append","create","title","body","html","large","catch","exception"],"mappings":"AAsBAA,OAAM,2BAAC,CAAC,QAAD,CAAW,UAAX,CAAuB,oBAAvB,CAA6C,mBAA7C,CAAD,CAAoE,SAASC,CAAT,CAAYC,CAAZ,CAAiBC,CAAjB,CAA+BC,CAA/B,CAA6C,CAEnH,MAAoD,CAShDC,QAAQ,CAAE,kBAASC,CAAT,CAAaC,CAAb,CAAmB,CAEzB,GAAIC,CAAAA,CAAI,CAAGP,CAAC,CAAC,wBAAyBK,CAAzB,CAA8B,KAA/B,CAAZ,CACAJ,CAAG,CAACO,UAAJ,CAAe,SAAf,CAA0B,gBAA1B,EAA4CC,IAA5C,CAAiD,SAASC,CAAT,CAAqB,CAElE,GAAIC,CAAAA,CAAQ,CAAGX,CAAC,CAAC,MAAD,CAAhB,CACAM,CAAI,CAACM,OAAL,CAAa,SAASC,CAAT,CAAe,CACxBF,CAAQ,CAACG,MAAT,CAAgB,OAASD,CAAT,CAAgB,OAAhC,CACH,CAFD,EAGAF,CAAQ,CAACG,MAAT,CAAgB,OAAhB,EAEA,MAAOZ,CAAAA,CAAY,CAACa,MAAb,CAAoB,CACvBC,KAAK,CAAEN,CADgB,CAEvBO,IAAI,CAAEN,CAAQ,CAACO,IAAT,EAFiB,CAGvBC,KAAK,GAHkB,CAApB,CAIJZ,CAJI,CAMV,CAdD,EAcGa,KAdH,CAcSjB,CAAY,CAACkB,SAdtB,CAeH,CA3B+C,CA6BvD,CA/BK,CAAN","sourcesContent":["// This file is part of Moodle - http://moodle.org/\n//\n// Moodle is free software: you can redistribute it and/or modify\n// it under the terms of the GNU General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// Moodle is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU General Public License for more details.\n//\n// You should have received a copy of the GNU General Public License\n// along with Moodle. If not, see <http://www.gnu.org/licenses/>.\n\n/**\n * Shows a dialogue with info about this logs.\n *\n * @module tool_analytics/log_info\n * @copyright 2017 David Monllao {@link http://www.davidmonllao.com}\n * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later\n */\ndefine(['jquery', 'core/str', 'core/modal_factory', 'core/notification'], function($, str, ModalFactory, Notification) {\n\n return /** @alias module:tool_analytics/log_info */ {\n\n /**\n * Prepares a modal info for a log's results.\n *\n * @method loadInfo\n * @param {int} id\n * @param {string[]} info\n */\n loadInfo: function(id, info) {\n\n var link = $('[data-model-log-id=\"' + id + '\"]');\n str.get_string('loginfo', 'tool_analytics').then(function(langString) {\n\n var bodyInfo = $(\"<ul>\");\n info.forEach(function(item) {\n bodyInfo.append('<li>' + item + '</li>');\n });\n bodyInfo.append(\"</ul>\");\n\n return ModalFactory.create({\n title: langString,\n body: bodyInfo.html(),\n large: true,\n }, link);\n\n }).catch(Notification.exception);\n }\n };\n});\n"],"file":"log_info.min.js"}
{"version":3,"file":"log_info.min.js","sources":["../src/log_info.js"],"sourcesContent":["// This file is part of Moodle - http://moodle.org/\n//\n// Moodle is free software: you can redistribute it and/or modify\n// it under the terms of the GNU General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// Moodle is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU General Public License for more details.\n//\n// You should have received a copy of the GNU General Public License\n// along with Moodle. If not, see <http://www.gnu.org/licenses/>.\n\n/**\n * Shows a dialogue with info about this logs.\n *\n * @module tool_analytics/log_info\n * @copyright 2017 David Monllao {@link http://www.davidmonllao.com}\n * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later\n */\ndefine(['jquery', 'core/str', 'core/modal_factory', 'core/notification'], function($, str, ModalFactory, Notification) {\n\n return /** @alias module:tool_analytics/log_info */ {\n\n /**\n * Prepares a modal info for a log's results.\n *\n * @method loadInfo\n * @param {int} id\n * @param {string[]} info\n */\n loadInfo: function(id, info) {\n\n var link = $('[data-model-log-id=\"' + id + '\"]');\n str.get_string('loginfo', 'tool_analytics').then(function(langString) {\n\n var bodyInfo = $(\"<ul>\");\n info.forEach(function(item) {\n bodyInfo.append('<li>' + item + '</li>');\n });\n bodyInfo.append(\"</ul>\");\n\n return ModalFactory.create({\n title: langString,\n body: bodyInfo.html(),\n large: true,\n }, link);\n\n }).catch(Notification.exception);\n }\n };\n});\n"],"names":["define","$","str","ModalFactory","Notification","loadInfo","id","info","link","get_string","then","langString","bodyInfo","forEach","item","append","create","title","body","html","large","catch","exception"],"mappings":";;;;;;;AAsBAA,iCAAO,CAAC,SAAU,WAAY,qBAAsB,sBAAsB,SAASC,EAAGC,IAAKC,aAAcC,oBAEjD,CAShDC,SAAU,SAASC,GAAIC,UAEfC,KAAOP,EAAE,uBAAyBK,GAAK,MAC3CJ,IAAIO,WAAW,UAAW,kBAAkBC,MAAK,SAASC,gBAElDC,SAAWX,EAAE,eACjBM,KAAKM,SAAQ,SAASC,MAClBF,SAASG,OAAO,OAASD,KAAO,YAEpCF,SAASG,OAAO,SAETZ,aAAaa,OAAO,CACvBC,MAAON,WACPO,KAAMN,SAASO,OACfC,OAAO,GACRZ,SAEJa,MAAMjB,aAAakB"}
+10 -2
View File
@@ -1,2 +1,10 @@
define ("tool_analytics/model",["jquery","core/str","core/log","core/notification","core/modal_factory","core/modal_events","core/templates"],function(b,c,d,e,f,g,h){var i={clear:{title:{key:"clearpredictions",component:"tool_analytics"},body:{key:"clearmodelpredictions",component:"tool_analytics"}},delete:{title:{key:"delete",component:"tool_analytics"},body:{key:"deletemodelconfirmation",component:"tool_analytics"}}},j=function(a){var c=b(a).closest("[data-model-name]");if(c.length){return c.attr("data-model-name")}else{d.error("Unexpected DOM error - unable to obtain the model name");return""}};return{confirmAction:function confirmAction(a,h){b("[data-action-id=\""+a+"\"]").on("click",function(k){k.preventDefault();var l=b(k.currentTarget);if("undefined"==typeof i[h]){d.error("Action \""+h+"\" is not allowed.");return}var a=[i[h].title,i[h].body];a[1].param=j(l);var m=c.get_strings(a),n=f.create({type:f.types.SAVE_CANCEL});b.when(m,n).then(function(a,b){b.setTitle(a[0]);b.setBody(a[1]);b.setSaveButtonText(a[0]);b.getRoot().on(g.save,function(){window.location.href=l.attr("href")});b.show();return b}).fail(e.exception)})},selectEvaluationOptions:function selectEvaluationOptions(a,d){b("[data-action-id=\""+a+"\"]").on("click",function(i){i.preventDefault();var j=b(i.currentTarget),a=b(this).attr("data-timesplitting-methods"),k=c.get_strings([{key:"evaluatemodel",component:"tool_analytics"},{key:"evaluate",component:"tool_analytics"}]),l=f.create({type:f.types.SAVE_CANCEL}),m=h.render("tool_analytics/evaluation_options",{trainedexternally:d,timesplittingmethods:JSON.parse(a)});b.when(k,l).then(function(a,c){c.getRoot().on(g.hidden,c.destroy.bind(c));c.setTitle(a[0]);c.setSaveButtonText(a[1]);c.setBody(m);c.getRoot().on(g.save,function(){var a=b("input[name='evaluationmode']:checked").val();if("trainedmodel"==a){j.attr("href",j.attr("href")+"&mode=trainedmodel")}var c=b("#id-evaluation-timesplitting").val();j.attr("href",j.attr("href")+"&timesplitting="+c);window.location.href=j.attr("href")});c.show();return c}).fail(e.exception)})},selectExportOptions:function selectExportOptions(a,d){b("[data-action-id=\""+a+"\"]").on("click",function(i){i.preventDefault();var j=b(i.currentTarget);if(!d){j.attr("href",j.attr("href")+"&action=exportmodel&includeweights=0");window.location.href=j.attr("href");return}var a=c.get_strings([{key:"export",component:"tool_analytics"}]),k=f.create({type:f.types.SAVE_CANCEL}),l=h.render("tool_analytics/export_options",{});b.when(a,k).then(function(a,c){c.getRoot().on(g.hidden,c.destroy.bind(c));c.setTitle(a[0]);c.setSaveButtonText(a[0]);c.setBody(l);c.getRoot().on(g.save,function(){var a=b("input[name='exportoption']:checked").val();if("exportdata"==a){j.attr("href",j.attr("href")+"&action=exportdata")}else{j.attr("href",j.attr("href")+"&action=exportmodel");if(b("#id-includeweights").is(":checked")){j.attr("href",j.attr("href")+"&includeweights=1")}else{j.attr("href",j.attr("href")+"&includeweights=0")}}window.location.href=j.attr("href")});c.show();return c}).fail(e.exception)})}}});
//# sourceMappingURL=model.min.js.map
/**
* AMD module for model actions confirmation.
*
* @module tool_analytics/model
* @copyright 2017 David Monllao
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
*/
define("tool_analytics/model",["jquery","core/str","core/log","core/notification","core/modal_factory","core/modal_events","core/templates"],(function($,Str,log,Notification,ModalFactory,ModalEvents,Templates){var actionsList={clear:{title:{key:"clearpredictions",component:"tool_analytics"},body:{key:"clearmodelpredictions",component:"tool_analytics"}},delete:{title:{key:"delete",component:"tool_analytics"},body:{key:"deletemodelconfirmation",component:"tool_analytics"}}};return{confirmAction:function(actionId,actionType){$('[data-action-id="'+actionId+'"]').on("click",(function(ev){ev.preventDefault();var a=$(ev.currentTarget);if(void 0!==actionsList[actionType]){var wrap,reqStrings=[actionsList[actionType].title,actionsList[actionType].body];reqStrings[1].param=(wrap=$(a).closest("[data-model-name]")).length?wrap.attr("data-model-name"):(log.error("Unexpected DOM error - unable to obtain the model name"),"");var stringsPromise=Str.get_strings(reqStrings),modalPromise=ModalFactory.create({type:ModalFactory.types.SAVE_CANCEL});$.when(stringsPromise,modalPromise).then((function(strings,modal){return modal.setTitle(strings[0]),modal.setBody(strings[1]),modal.setSaveButtonText(strings[0]),modal.getRoot().on(ModalEvents.save,(function(){window.location.href=a.attr("href")})),modal.show(),modal})).fail(Notification.exception)}else log.error('Action "'+actionType+'" is not allowed.')}))},selectEvaluationOptions:function(actionId,trainedOnlyExternally){$('[data-action-id="'+actionId+'"]').on("click",(function(ev){ev.preventDefault();var a=$(ev.currentTarget),timeSplittingMethods=$(this).attr("data-timesplitting-methods"),stringsPromise=Str.get_strings([{key:"evaluatemodel",component:"tool_analytics"},{key:"evaluate",component:"tool_analytics"}]),modalPromise=ModalFactory.create({type:ModalFactory.types.SAVE_CANCEL}),bodyPromise=Templates.render("tool_analytics/evaluation_options",{trainedexternally:trainedOnlyExternally,timesplittingmethods:JSON.parse(timeSplittingMethods)});$.when(stringsPromise,modalPromise).then((function(strings,modal){return modal.getRoot().on(ModalEvents.hidden,modal.destroy.bind(modal)),modal.setTitle(strings[0]),modal.setSaveButtonText(strings[1]),modal.setBody(bodyPromise),modal.getRoot().on(ModalEvents.save,(function(){"trainedmodel"==$("input[name='evaluationmode']:checked").val()&&a.attr("href",a.attr("href")+"&mode=trainedmodel");var timeSplittingMethod=$("#id-evaluation-timesplitting").val();a.attr("href",a.attr("href")+"&timesplitting="+timeSplittingMethod),window.location.href=a.attr("href")})),modal.show(),modal})).fail(Notification.exception)}))},selectExportOptions:function(actionId,isTrained){$('[data-action-id="'+actionId+'"]').on("click",(function(ev){ev.preventDefault();var a=$(ev.currentTarget);if(!isTrained)return a.attr("href",a.attr("href")+"&action=exportmodel&includeweights=0"),void(window.location.href=a.attr("href"));var stringsPromise=Str.get_strings([{key:"export",component:"tool_analytics"}]),modalPromise=ModalFactory.create({type:ModalFactory.types.SAVE_CANCEL}),bodyPromise=Templates.render("tool_analytics/export_options",{});$.when(stringsPromise,modalPromise).then((function(strings,modal){return modal.getRoot().on(ModalEvents.hidden,modal.destroy.bind(modal)),modal.setTitle(strings[0]),modal.setSaveButtonText(strings[0]),modal.setBody(bodyPromise),modal.getRoot().on(ModalEvents.save,(function(){"exportdata"==$("input[name='exportoption']:checked").val()?a.attr("href",a.attr("href")+"&action=exportdata"):(a.attr("href",a.attr("href")+"&action=exportmodel"),$("#id-includeweights").is(":checked")?a.attr("href",a.attr("href")+"&includeweights=1"):a.attr("href",a.attr("href")+"&includeweights=0")),window.location.href=a.attr("href")})),modal.show(),modal})).fail(Notification.exception)}))}}}));
//# sourceMappingURL=model.min.js.map
File diff suppressed because one or more lines are too long
+10 -2
View File
@@ -1,2 +1,10 @@
define ("tool_analytics/potential-contexts",["jquery","core/ajax"],function(a,b){return{processResults:function processResults(b,c){var d=[];if(a.isArray(c)){a.each(c,function(a,b){d.push({value:b.id,label:b.name})});return d}else{return c}},transport:function transport(c,d,e,f){var g,h=a(c).attr("modelid")||null;g=b.call([{methodname:"tool_analytics_potential_contexts",args:{query:d,modelid:h}}]);g[0].then(e).fail(f)}}});
//# sourceMappingURL=potential-contexts.min.js.map
/**
* Potential contexts selector module.
*
* @module tool_analytics/potential-contexts
* @copyright 2019 David Monllao
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
*/
define("tool_analytics/potential-contexts",["jquery","core/ajax"],(function($,Ajax){return{processResults:function(selector,results){var contexts=[];return $.isArray(results)?($.each(results,(function(index,context){contexts.push({value:context.id,label:context.name})})),contexts):results},transport:function(selector,query,success,failure){var modelid=$(selector).attr("modelid")||null;Ajax.call([{methodname:"tool_analytics_potential_contexts",args:{query:query,modelid:modelid}}])[0].then(success).fail(failure)}}}));
//# sourceMappingURL=potential-contexts.min.js.map
@@ -1 +1 @@
{"version":3,"sources":["../src/potential-contexts.js"],"names":["define","$","Ajax","processResults","selector","results","contexts","isArray","each","index","context","push","value","id","label","name","transport","query","success","failure","promise","modelid","attr","call","methodname","args","then","fail"],"mappings":"AAuBAA,OAAM,qCAAC,CAAC,QAAD,CAAW,WAAX,CAAD,CAA0B,SAASC,CAAT,CAAYC,CAAZ,CAAkB,CAE9C,MAA8D,CAE1DC,cAAc,CAAE,wBAASC,CAAT,CAAmBC,CAAnB,CAA4B,CACxC,GAAIC,CAAAA,CAAQ,CAAG,EAAf,CACA,GAAIL,CAAC,CAACM,OAAF,CAAUF,CAAV,CAAJ,CAAwB,CACpBJ,CAAC,CAACO,IAAF,CAAOH,CAAP,CAAgB,SAASI,CAAT,CAAgBC,CAAhB,CAAyB,CACrCJ,CAAQ,CAACK,IAAT,CAAc,CACVC,KAAK,CAAEF,CAAO,CAACG,EADL,CAEVC,KAAK,CAAEJ,CAAO,CAACK,IAFL,CAAd,CAIH,CALD,EAMA,MAAOT,CAAAA,CAEV,CATD,IASO,CACH,MAAOD,CAAAA,CACV,CACJ,CAhByD,CAkB1DW,SAAS,CAAE,mBAASZ,CAAT,CAAmBa,CAAnB,CAA0BC,CAA1B,CAAmCC,CAAnC,CAA4C,IAC/CC,CAAAA,CAD+C,CAG/CC,CAAO,CAAGpB,CAAC,CAACG,CAAD,CAAD,CAAYkB,IAAZ,CAAiB,SAAjB,GAA+B,IAHM,CAInDF,CAAO,CAAGlB,CAAI,CAACqB,IAAL,CAAU,CAAC,CACjBC,UAAU,CAAE,mCADK,CAEjBC,IAAI,CAAE,CACFR,KAAK,CAAEA,CADL,CAEFI,OAAO,CAAEA,CAFP,CAFW,CAAD,CAAV,CAAV,CAQAD,CAAO,CAAC,CAAD,CAAP,CAAWM,IAAX,CAAgBR,CAAhB,EAAyBS,IAAzB,CAA8BR,CAA9B,CACH,CA/ByD,CAmCjE,CArCK,CAAN","sourcesContent":["// This file is part of Moodle - http://moodle.org/\n//\n// Moodle is free software: you can redistribute it and/or modify\n// it under the terms of the GNU General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// Moodle is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU General Public License for more details.\n//\n// You should have received a copy of the GNU General Public License\n// along with Moodle. If not, see <http://www.gnu.org/licenses/>.\n\n/**\n * Potential contexts selector module.\n *\n * @module tool_analytics/potential-contexts\n * @copyright 2019 David Monllao\n * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later\n */\n\ndefine(['jquery', 'core/ajax'], function($, Ajax) {\n\n return /** @alias module:tool_analytics/potential-contexts */ {\n\n processResults: function(selector, results) {\n var contexts = [];\n if ($.isArray(results)) {\n $.each(results, function(index, context) {\n contexts.push({\n value: context.id,\n label: context.name\n });\n });\n return contexts;\n\n } else {\n return results;\n }\n },\n\n transport: function(selector, query, success, failure) {\n var promise;\n\n let modelid = $(selector).attr('modelid') || null;\n promise = Ajax.call([{\n methodname: 'tool_analytics_potential_contexts',\n args: {\n query: query,\n modelid: modelid\n }\n }]);\n\n promise[0].then(success).fail(failure);\n }\n\n };\n\n});\n"],"file":"potential-contexts.min.js"}
{"version":3,"file":"potential-contexts.min.js","sources":["../src/potential-contexts.js"],"sourcesContent":["// This file is part of Moodle - http://moodle.org/\n//\n// Moodle is free software: you can redistribute it and/or modify\n// it under the terms of the GNU General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// Moodle is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU General Public License for more details.\n//\n// You should have received a copy of the GNU General Public License\n// along with Moodle. If not, see <http://www.gnu.org/licenses/>.\n\n/**\n * Potential contexts selector module.\n *\n * @module tool_analytics/potential-contexts\n * @copyright 2019 David Monllao\n * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later\n */\n\ndefine(['jquery', 'core/ajax'], function($, Ajax) {\n\n return /** @alias module:tool_analytics/potential-contexts */ {\n\n processResults: function(selector, results) {\n var contexts = [];\n if ($.isArray(results)) {\n $.each(results, function(index, context) {\n contexts.push({\n value: context.id,\n label: context.name\n });\n });\n return contexts;\n\n } else {\n return results;\n }\n },\n\n transport: function(selector, query, success, failure) {\n var promise;\n\n let modelid = $(selector).attr('modelid') || null;\n promise = Ajax.call([{\n methodname: 'tool_analytics_potential_contexts',\n args: {\n query: query,\n modelid: modelid\n }\n }]);\n\n promise[0].then(success).fail(failure);\n }\n\n };\n\n});\n"],"names":["define","$","Ajax","processResults","selector","results","contexts","isArray","each","index","context","push","value","id","label","name","transport","query","success","failure","modelid","attr","call","methodname","args","then","fail"],"mappings":";;;;;;;AAuBAA,2CAAO,CAAC,SAAU,cAAc,SAASC,EAAGC,YAEsB,CAE1DC,eAAgB,SAASC,SAAUC,aAC3BC,SAAW,UACXL,EAAEM,QAAQF,UACVJ,EAAEO,KAAKH,SAAS,SAASI,MAAOC,SAC5BJ,SAASK,KAAK,CACVC,MAAOF,QAAQG,GACfC,MAAOJ,QAAQK,UAGhBT,UAGAD,SAIfW,UAAW,SAASZ,SAAUa,MAAOC,QAASC,aAGtCC,QAAUnB,EAAEG,UAAUiB,KAAK,YAAc,KACnCnB,KAAKoB,KAAK,CAAC,CACjBC,WAAY,oCACZC,KAAM,CACFP,MAAOA,MACPG,QAASA,YAIT,GAAGK,KAAKP,SAASQ,KAAKP"}
+1 -1
View File
@@ -137,7 +137,7 @@ if (!empty($validdatasets) && !$model->is_enabled() && $options['non-interactive
}
// Refresh the instance to prevent unexpected issues.
$model = new \core_analytics\model($modelobj);
$model = new \core_analytics\model($options['modelid']);
// Set the time splitting method file and enable it.
$model->enable($input);
@@ -24,13 +24,17 @@
* @since Moodle 3.8
*/
namespace tool_analytics\external;
use externallib_advanced_testcase;
defined('MOODLE_INTERNAL') || die();
global $CFG;
require_once($CFG->dirroot . '/webservice/tests/helpers.php');
require_once(__DIR__ . '/../../../../analytics/tests/fixtures/test_indicator_max.php');
require_once(__DIR__ . '/../../../../analytics/tests/fixtures/test_target_course_level_shortname.php');
require_once($CFG->dirroot . '/analytics/tests/fixtures/test_indicator_max.php');
require_once($CFG->dirroot . '/analytics/tests/fixtures/test_target_course_level_shortname.php');
/**
* Tool analytics external functions tests
@@ -41,7 +45,7 @@ require_once(__DIR__ . '/../../../../analytics/tests/fixtures/test_target_course
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
* @since Moodle 3.8
*/
class tool_analytics_external_testcase extends externallib_advanced_testcase {
class external_test extends externallib_advanced_testcase {
/**
* test_potential_contexts description
@@ -73,7 +77,7 @@ class tool_analytics_external_testcase extends externallib_advanced_testcase {
$user = $this->getDataGenerator()->create_user();
$this->setUser($user);
$this->expectException(required_capability_exception::class);
$this->expectException(\required_capability_exception::class);
$this->assertCount(2, \tool_analytics\external::potential_contexts());
}
}
+12
View File
@@ -0,0 +1,12 @@
define("tool_behat/steps",["exports","core/ajax","core/templates","core/pending"],(function(_exports,_ajax,_templates,_pending){function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}function asyncGeneratorStep(gen,resolve,reject,_next,_throw,key,arg){try{var info=gen[key](arg),value=info.value}catch(error){return void reject(error)}info.done?resolve(value):Promise.resolve(value).then(_next,_throw)}Object.defineProperty(_exports,"__esModule",{value:!0}),_exports.init=void 0,_ajax=_interopRequireDefault(_ajax),_templates=_interopRequireDefault(_templates),_pending=_interopRequireDefault(_pending);
/**
* Enhancements for the step definitions page.
*
* @module tool_behat/steps
* @copyright 2022 Catalyst IT EU
* @author Mark Johnson <mark.johnson@catalyst-eu.net>
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
*/
var getRequiredFieldsContent=function(entityData){var _entityData$required;return null!==(_entityData$required=entityData.required)&&void 0!==_entityData$required&&_entityData$required.length?_templates.default.renderForPromise("tool_behat/steprequiredfields",{fields:entityData.required}):Promise.resolve({html:"",js:""})};_exports.init=function(){var fn,_ref;document.addEventListener("change",(fn=regeneratorRuntime.mark((function _callee(e){var entityElement,stepElement,pendingPromise,entityData,_yield$getRequiredFie,html,js,stepRequiredFields;return regeneratorRuntime.wrap((function(_context){for(;;)switch(_context.prev=_context.next){case 0:if(entityElement=e.target.closest(".entities"),stepElement=e.target.closest(".stepcontent"),entityElement&&stepElement){_context.next=4;break}return _context.abrupt("return");case 4:return pendingPromise=new _pending.default("tool_behat/steps:change"),_context.next=7,entityType=e.target.value,_ajax.default.call([{methodname:"tool_behat_get_entity_generator",args:{entitytype:entityType}}])[0];case 7:return entityData=_context.sent,_context.next=10,getRequiredFieldsContent(entityData);case 10:if(_yield$getRequiredFie=_context.sent,html=_yield$getRequiredFie.html,js=_yield$getRequiredFie.js,!(stepRequiredFields=stepElement.querySelector(".steprequiredfields"))){_context.next=19;break}return _context.next=17,_templates.default.replaceNode(stepRequiredFields,html,js);case 17:_context.next=21;break;case 19:return _context.next=21,_templates.default.appendNodeContents(stepElement,html,js);case 21:pendingPromise.resolve();case 22:case"end":return _context.stop()}var entityType}),_callee)})),_ref=function(){var self=this,args=arguments;return new Promise((function(resolve,reject){var gen=fn.apply(self,args);function _next(value){asyncGeneratorStep(gen,resolve,reject,_next,_throw,"next",value)}function _throw(err){asyncGeneratorStep(gen,resolve,reject,_next,_throw,"throw",err)}_next(void 0)}))},function(_x){return _ref.apply(this,arguments)}))}}));
//# sourceMappingURL=steps.min.js.map
@@ -0,0 +1 @@
{"version":3,"file":"steps.min.js","sources":["../src/steps.js"],"sourcesContent":["// This file is part of Moodle - http://moodle.org/\n//\n// Moodle is free software: you can redistribute it and/or modify\n// it under the terms of the GNU General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// Moodle is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU General Public License for more details.\n//\n// You should have received a copy of the GNU General Public License\n// along with Moodle. If not, see <http://www.gnu.org/licenses/>.\n\nimport Ajax from 'core/ajax';\nimport Templates from 'core/templates';\nimport PendingJS from 'core/pending';\n\n/**\n * Enhancements for the step definitions page.\n *\n * @module tool_behat/steps\n * @copyright 2022 Catalyst IT EU\n * @author Mark Johnson <mark.johnson@catalyst-eu.net>\n * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later\n */\n\n/**\n * Call the get_entity_generator web service function\n *\n * Takes the name of an entity generator and returns an object containing a list of the required fields.\n *\n * @param {String} entityType\n * @returns {Promise}\n */\nconst getGeneratorEntities = (entityType) => Ajax.call([{\n methodname: 'tool_behat_get_entity_generator',\n args: {entitytype: entityType}\n}])[0];\n\n/**\n * Render HTML for required fields\n *\n * Takes the entity data returned from getGeneratorEntities and renders the HTML to display the required fields.\n *\n * @param {String} entityData\n * @return {Promise}\n */\nconst getRequiredFieldsContent = (entityData) => {\n if (!entityData.required?.length) {\n return Promise.resolve({\n html: '',\n js: ''\n });\n }\n return Templates.renderForPromise('tool_behat/steprequiredfields', {fields: entityData.required});\n};\n\nexport const init = () => {\n // When an entity is selected in the \"the following exist\" step, fetch and display the required fields.\n document.addEventListener('change', async(e) => {\n const entityElement = e.target.closest('.entities');\n const stepElement = e.target.closest('.stepcontent');\n if (!entityElement || !stepElement) {\n return;\n }\n\n const pendingPromise = new PendingJS('tool_behat/steps:change');\n\n const entityData = await getGeneratorEntities(e.target.value);\n const {html, js} = await getRequiredFieldsContent(entityData);\n\n const stepRequiredFields = stepElement.querySelector('.steprequiredfields');\n if (stepRequiredFields) {\n await Templates.replaceNode(stepRequiredFields, html, js);\n } else {\n await Templates.appendNodeContents(stepElement, html, js);\n }\n pendingPromise.resolve();\n });\n};\n"],"names":["getRequiredFieldsContent","entityData","required","_entityData$required","length","Templates","renderForPromise","fields","Promise","resolve","html","js","document","addEventListener","e","entityElement","target","closest","stepElement","pendingPromise","PendingJS","entityType","value","Ajax","call","methodname","args","entitytype","stepRequiredFields","querySelector","replaceNode","appendNodeContents"],"mappings":";;;;;;;;;IAiDMA,yBAA2B,SAACC,yEACzBA,WAAWC,0CAAXC,qBAAqBC,OAMnBC,mBAAUC,iBAAiB,gCAAiC,CAACC,OAAQN,WAAWC,WAL5EM,QAAQC,QAAQ,CACnBC,KAAM,GACNC,GAAI,oBAMI,uBAEhBC,SAASC,iBAAiB,sCAAU,iBAAMC,oNAChCC,cAAgBD,EAAEE,OAAOC,QAAQ,aACjCC,YAAcJ,EAAEE,OAAOC,QAAQ,gBAChCF,eAAkBG,kFAIjBC,eAAiB,IAAIC,iBAAU,2CAhCfC,WAkCwBP,EAAEE,OAAOM,MAlClBC,cAAKC,KAAK,CAAC,CACpDC,WAAY,kCACZC,KAAM,CAACC,WAAYN,eACnB,iBA+BUpB,0CACmBD,yBAAyBC,2DAA3CS,2BAAAA,KAAMC,yBAAAA,KAEPiB,mBAAqBV,YAAYW,cAAc,wEAE3CxB,mBAAUyB,YAAYF,mBAAoBlB,KAAMC,mEAEhDN,mBAAU0B,mBAAmBb,YAAaR,KAAMC,YAE1DQ,eAAeV,mDA3CM,IAACY"}
+82
View File
@@ -0,0 +1,82 @@
// This file is part of Moodle - http://moodle.org/
//
// Moodle is free software: you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
// the Free Software Foundation, either version 3 of the License, or
// (at your option) any later version.
//
// Moodle is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License for more details.
//
// You should have received a copy of the GNU General Public License
// along with Moodle. If not, see <http://www.gnu.org/licenses/>.
import Ajax from 'core/ajax';
import Templates from 'core/templates';
import PendingJS from 'core/pending';
/**
* Enhancements for the step definitions page.
*
* @module tool_behat/steps
* @copyright 2022 Catalyst IT EU
* @author Mark Johnson <mark.johnson@catalyst-eu.net>
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
*/
/**
* Call the get_entity_generator web service function
*
* Takes the name of an entity generator and returns an object containing a list of the required fields.
*
* @param {String} entityType
* @returns {Promise}
*/
const getGeneratorEntities = (entityType) => Ajax.call([{
methodname: 'tool_behat_get_entity_generator',
args: {entitytype: entityType}
}])[0];
/**
* Render HTML for required fields
*
* Takes the entity data returned from getGeneratorEntities and renders the HTML to display the required fields.
*
* @param {String} entityData
* @return {Promise}
*/
const getRequiredFieldsContent = (entityData) => {
if (!entityData.required?.length) {
return Promise.resolve({
html: '',
js: ''
});
}
return Templates.renderForPromise('tool_behat/steprequiredfields', {fields: entityData.required});
};
export const init = () => {
// When an entity is selected in the "the following exist" step, fetch and display the required fields.
document.addEventListener('change', async(e) => {
const entityElement = e.target.closest('.entities');
const stepElement = e.target.closest('.stepcontent');
if (!entityElement || !stepElement) {
return;
}
const pendingPromise = new PendingJS('tool_behat/steps:change');
const entityData = await getGeneratorEntities(e.target.value);
const {html, js} = await getRequiredFieldsContent(entityData);
const stepRequiredFields = stepElement.querySelector('.steprequiredfields');
if (stepRequiredFields) {
await Templates.replaceNode(stepRequiredFields, html, js);
} else {
await Templates.appendNodeContents(stepElement, html, js);
}
pendingPromise.resolve();
});
};
@@ -0,0 +1,92 @@
<?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/>.
/**
* Return data about an entity generator.
*
* @package tool_behat
* @copyright 2022 onwards Catalyst IT EU {@link https://catalyst-eu.net}
* @author Mark Johnson <mark.johnson@catalyst-eu.net>
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
*/
namespace tool_behat\external;
defined('MOODLE_INTERNAL') || die();
require_once($CFG->libdir . '/externallib.php');
/**
* External function for getting properties of entity generators.
*/
class get_entity_generator extends \external_api {
/**
* Define parameters for external function.
*
* The parameter is either in the format 'entity' or 'component_name > entity'. There is no appropriate param type for a
* string like this containing angle brackets, so we will do PARAM_RAW. The value will be parsed by
* behat_data_generators::parse_entity_type, which validates the format of the parameter and throws an exception if it is not
* correct.
*
* @return \external_function_parameters
*/
public static function execute_parameters(): \external_function_parameters {
return new \external_function_parameters([
'entitytype' => new \external_value(PARAM_RAW, 'Entity type that can be created by a generator.'),
]);
}
/**
* Return a list of the required fields for a given entity type.
*
* @param string $entitytype
* @return array
*/
public static function execute(string $entitytype): array {
global $CFG;
// Ensure we can load Behat and Facebook namespaces in behat libraries.
require_once("{$CFG->dirroot}/vendor/autoload.php");
require_once("{$CFG->libdir}/tests/behat/behat_data_generators.php");
$params = self::validate_parameters(self::execute_parameters(), ['entitytype' => $entitytype]);
$context = \context_system::instance();
self::validate_context($context);
require_capability('moodle/site:config', $context);
$generators = new \behat_data_generators();
$entity = $generators->get_entity($params['entitytype']);
return ['required' => $entity['required']];
}
/**
* Define return values.
*
* Return required fields
*
* @return \external_single_structure
*/
public static function execute_returns(): \external_single_structure {
return new \external_single_structure([
'required' => new \external_multiple_structure(
new \external_value(PARAM_TEXT, 'Required field'),
'Required fields',
VALUE_OPTIONAL
),
]);
}
}
+37
View File
@@ -0,0 +1,37 @@
<?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/>.
/**
* Define web service functions for tool_behat
*
* @package tool_behat
* @copyright 2022 onwards Catalyst IT EU {@link https://catalyst-eu.net}
* @author Mark Johnson <mark.johnson@catalyst-eu.net>
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
*/
defined('MOODLE_INTERNAL') || die();
$functions = [
'tool_behat_get_entity_generator' => [
'classname' => 'tool_behat\\external\\get_entity_generator',
'methodname' => 'execute',
'description' => 'Get the generator details for an entity',
'type' => 'read',
'ajax' => true,
'capabilities' => 'moodle/site:config'
]
];
+1
View File
@@ -56,6 +56,7 @@ if ($components) {
$form = new steps_definitions_form(null, array('components' => $componentswithsteps));
// Output contents.
$PAGE->requires->js_call_amd('tool_behat/steps', 'init');
$renderer = $PAGE->get_renderer('tool_behat');
echo $renderer->render_stepsdefinitions($steps, $form);
+28
View File
@@ -24,6 +24,8 @@
defined('MOODLE_INTERNAL') || die();
require_once($CFG->libdir . '/behat/classes/behat_generator_base.php');
/**
* Renderer for behat tool web features
*
@@ -106,6 +108,32 @@ class tool_behat_renderer extends plugin_renderer_base {
},
$stepsdefinitions
);
$elementstrings = [];
$count = 1;
$stepsdefinitions = preg_replace_callback('/(the following ")ELEMENT\d?_STRING(" exist:)/',
function($matches) use (&$elementstrings, &$count) {
// Replace element type arguments with a user-friendly select.
if (empty($elementstrings)) {
$behatgenerators = new behat_data_generators();
$componententities = $behatgenerators->get_all_entities();
ksort($componententities);
$elementstrings = [];
foreach ($componententities as $component => $entities) {
asort($entities);
foreach ($entities as $entity) {
$string = ($component === 'core') ? $entity : $component . ' > ' . $entity;
$elementstrings[$string] = $string;
}
}
}
$select = html_writer::select($elementstrings, 'entities' . $count, '', ['' => 'choosedots'],
['class' => 'entities']);
$count++;
return $matches[1] . $select . $matches[2];
},
$stepsdefinitions
);
}
// Steps definitions.
+6
View File
@@ -29,3 +29,9 @@
#page-admin-tool-behat-index .steps-definitions .stepregex {
color: #060;
}
#page-admin-tool-behat-index .steprequiredfields {
font-weight: bold;
font-size: 1em;
margin-top: 1em;
}
@@ -0,0 +1,33 @@
{{!
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/>.
}}
{{!
@template tool_behat/steprequiredfields
Display a Gherkin-style table row showing required columns for a step.
Example context (json):
{
"fields": [
"user",
"role",
"context"
]
}
}}
<pre class="steprequiredfields">
|{{#fields}} {{{.}}} |{{/fields}}
</pre>
@@ -30,10 +30,9 @@ Feature: Verify that all form fields values can be get and set
| student2 | G2 |
| student3 | G2 |
And the following "activities" exist:
| activity | course | idnumber | name | intro | firstpagetitle | wikimode | visible |
| wiki | C1 | wiki1 | Test this one | Test this one | Test this one | collaborative | 0 |
And I log in as "admin"
And I am on "Course 1" course homepage
| activity | course | idnumber | name | firstpagetitle | wikimode | visible |
| wiki | C1 | wiki1 | Test this one | Test this one | collaborative | 0 |
And I am on the "Course 1" course page logged in as admin
And I navigate to "Reset" in current page administration
# Select (multi-select) - Checking "the select box should contain".
And I expand all fieldsets
@@ -61,16 +60,14 @@ Feature: Verify that all form fields values can be get and set
# Checkbox - Checking "I set the field" and "The field matches value" ticked.
And I set the field "Force format" to "1"
And I press "Save and return to course"
And I am on the "Test this one" "wiki activity" page
And I navigate to "Edit settings" in current page administration
And I am on the "Test this one" "wiki activity editing" page
And I expand all fieldsets
And the field "Force format" matches value "1"
And the field "Force format" does not match value ""
# Checkbox - Checking "I set the field" and "The field matches value" unticked.
And I set the field "Force format" to ""
And I press "Save and return to course"
And I am on the "Test this one" "wiki activity" page
And I navigate to "Edit settings" in current page administration
And I am on the "Test this one" "wiki activity editing" page
And I expand all fieldsets
And the field "Force format" matches value ""
And the field "Force format" does not match value "1"
@@ -78,8 +75,7 @@ Feature: Verify that all form fields values can be get and set
And I set the following fields to these values:
| Force format | 1 |
And I press "Save and return to course"
And I am on the "Test this one" "wiki activity" page
And I navigate to "Edit settings" in current page administration
And I am on the "Test this one" "wiki activity editing" page
And I expand all fieldsets
And the following fields match these values:
| Force format | 1 |
@@ -89,8 +85,7 @@ Feature: Verify that all form fields values can be get and set
And I set the following fields to these values:
| Force format | |
And I press "Save and return to course"
And I am on the "Test this one" "wiki activity" page
And I navigate to "Edit settings" in current page administration
And I am on the "Test this one" "wiki activity editing" page
And I expand all fieldsets
And the following fields match these values:
| Force format | |
@@ -143,10 +138,11 @@ Feature: Verify that all form fields values can be get and set
And I navigate to "Edit settings" in current page administration
And the field "Course ID number" matches value "Course id number"
Scenario: with JS disabled all form fields getters and setters works as expected
@javascript
Scenario: with JS enabled all form fields getters and setters works as expected
Given the following "activities" exist:
| activity | course | name |
| lesson | C1 | Test lesson |
Then I am on "Course 1" course homepage
And I navigate to "Users > Groups" in current page administration
# Select (multi-select & AJAX) - Checking "I set the field" and "select box should contain".
@@ -159,11 +155,8 @@ Feature: Verify that all form fields values can be get and set
And the "members" select box should contain "Student 2 (s2@example.com)"
And the "members" select box should not contain "Student 3 (s3@example.com)"
# Checkbox (AJAX) - Checking "I set the field" and "I set the following fields to these values".
And I am on "Course 1" course homepage
And I add a "Lesson" to section "1"
And I am on the "Test lesson" "lesson activity editing" page
And I set the following fields to these values:
| Name | Test lesson |
| Description | Test lesson description |
| available[enabled] | 1 |
And I set the field "deadline[enabled]" to "1"
# Checkbox (AJAX) - Checking "the field matches value" before saving.
@@ -7,8 +7,8 @@ Feature: Behat steps for interacting with form work
@javascript
Scenario: Test fields in containers
Given the following "courses" exist:
| fullname | shortname |
| Course 1 | C1 |
| fullname | shortname | summary | summaryformat |
| Course 1 | C1 | Red | 1 |
When I log in as "admin"
And I am on "Course 1" course homepage
# Just get to any form.
@@ -17,11 +17,15 @@ Feature: Behat steps for interacting with form work
And I set the following fields in the "Appearance" "fieldset" to these values:
| Show activity reports | Yes |
| Number of announcements | 1 |
And I set the following fields in the "Description" "fieldset" to these values:
| Course summary | Green |
Then the field "Show activity reports" in the "Appearance" "fieldset" matches value "Yes"
And the field "Show activity reports" in the "Appearance" "fieldset" does not match value "No"
And the following fields in the "region-main" "region" match these values:
| Course full name | Frog |
| Number of announcements | 1 |
| Course summary | Green |
And the following fields in the "region-main" "region" do not match these values:
| Course full name | Course 1 |
| Number of announcements | 5 |
| Course summary | Red |
@@ -13,6 +13,10 @@ Feature: List the system steps definitions
Scenario: Accessing the list
Then I should see "Step definitions"
And I should not see "There aren't steps definitions matching this filter"
And I should not see "the following \"ELEMENT_STRING\" exist:"
And "entities1" "select" should exist
And the "entities1" select box should contain "users"
And the "entities1" select box should contain "mod_assign > submissions"
@javascript
Scenario: Filtering by type
@@ -34,3 +38,11 @@ Feature: List the system steps definitions
Then I should not see "There aren't steps definitions matching this filter"
And I should see "Checks the provided element and selector type exists in the current page."
And I should see "Checks that an element and selector type exists in another element and selector type on the current page."
@javascript
Scenario: Get required fields
Given I set the field "entities1" to "users"
And I should see "| username |"
When I set the field "entities1" to "mod_quiz > user overrides"
Then I should not see "| username |"
And I should see "| quiz | user |"
@@ -0,0 +1,110 @@
@tool_behat
Feature: Verify that the behat login and logout steps work as expected
In order to use behat login and log out steps
As a test writer
I need to verify that login and logout happen when the steps are used
Scenario: Log in as a user using the step
Given the following "users" exist:
| username | firstname | lastname |
| traverst1 | Thomas | Travers |
When I log in as "traverst1"
Then I should see "Thomas Travers"
@javascript
Scenario: Log in as a user using the step (javascript)
Given the following "users" exist:
| username | firstname | lastname |
| traverst1 | Thomas | Travers |
When I log in as "traverst1"
Then I should see "Thomas Travers"
Scenario: Log out using the log out step
Given the following "users" exist:
| username | firstname | lastname |
| traverst1 | Thomas | Travers |
And I am logged in as traverst1
When I log out
Then I should not see "Thomas Travers"
And I should see "You are not logged in"
@javascript
Scenario: Log out using the log out step (javascript)
Given the following "users" exist:
| username | firstname | lastname |
| traverst1 | Thomas | Travers |
And I am logged in as traverst1
When I log out
Then I should not see "Thomas Travers"
And I should see "You are not logged in"
Scenario: Log in step should automatically log user out if already logged in
Given the following "users" exist:
| username | firstname | lastname |
| traverst1 | Thomas | Travers |
| emeryj | Jane | Emery |
And I am logged in as traverst1
When I log in as "emeryj"
Then I should not see "Thomas Travers"
And I should see "Jane Emery"
@javascript
Scenario: Log in step should automatically log user out if already logged in (javascript)
Given the following "users" exist:
| username | firstname | lastname |
| traverst1 | Thomas | Travers |
| emeryj | Jane | Emery |
And I am logged in as traverst1
When I log in as "emeryj"
Then I should not see "Thomas Travers"
And I should see "Jane Emery"
Scenario: I am on page logged in as should redirect to correct page
Given the following "users" exist:
| username | firstname | lastname |
| traverst1 | Thomas | Travers |
And the following "course" exists:
| fullname | Life, the Universe, and Everything |
| shortname | hhgttg |
When I am on the hhgttg Course page logged in as traverst1
Then I should see "Thomas Travers"
And I should see "Life, the Universe, and Everything"
@javascript
Scenario: I am on page logged in as should redirect to correct page (javascript)
Given the following "users" exist:
| username | firstname | lastname |
| traverst1 | Thomas | Travers |
And the following "course" exists:
| fullname | Life, the Universe, and Everything |
| shortname | hhgttg |
When I am on the hhgttg Course page logged in as traverst1
Then I should see "Thomas Travers"
And I should see "Life, the Universe, and Everything"
Scenario: I am on page logged in as should redirect to correct page when automatically logging a user out
Given the following "users" exist:
| username | firstname | lastname |
| traverst1 | Thomas | Travers |
| emeryj | Jane | Emery |
And the following "course" exists:
| fullname | Life, the Universe, and Everything |
| shortname | hhgttg |
And I am logged in as emeryj
When I am on the hhgttg Course page logged in as traverst1
Then I should see "Thomas Travers"
And I should see "Life, the Universe, and Everything"
@javascript
Scenario: I am on page logged in as should redirect to correct page when automatically logging a user out (javacript)
Given the following "users" exist:
| username | firstname | lastname |
| traverst1 | Thomas | Travers |
| emeryj | Jane | Emery |
And the following "course" exists:
| fullname | Life, the Universe, and Everything |
| shortname | hhgttg |
And I am logged in as emeryj
When I am on the hhgttg Course page logged in as traverst1
Then I should see "Thomas Travers"
And I should see "Life, the Universe, and Everything"
@@ -20,9 +20,10 @@ Feature: Forms manipulation
Given the following "courses" exist:
| fullname | shortname | category |
| Course 1 | C1 | 0 |
And I log in as "admin"
And I am on "Course 1" course homepage with editing mode on
And I add a "Quiz" to section "1"
And the following "activities" exist:
| activity | course | section | name |
| quiz | C1 | 1 | Quiz 1 |
And I am on the "Quiz 1" "quiz activity editing" page logged in as admin
When I expand all fieldsets
Then I should see "Close the quiz"
And I should see "Group mode"
@@ -0,0 +1,191 @@
<?php
// This file is part of Moodle - https://moodle.org/
//
// Moodle is free software: you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
// the Free Software Foundation, either version 3 of the License, or
// (at your option) any later version.
//
// Moodle is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License for more details.
//
// You should have received a copy of the GNU General Public License
// along with Moodle. If not, see <https://www.gnu.org/licenses/>.
/**
* Tests for behat_form_text class
*
* @copyright 2022 onwards Eloy Lafuente (stronk7) {@link https://stronk7.com}
* @license https://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
*/
namespace tool_behat;
use behat_form_text;
use Behat\Mink\Session;
use Behat\Mink\Element\NodeElement;
use core_string_manager_standard;
defined('MOODLE_INTERNAL') || die;
global $CFG;
require_once($CFG->libdir . '/behat/classes/behat_session_interface.php');
require_once($CFG->libdir . '/behat/classes/behat_session_trait.php');
require_once($CFG->libdir . '/behat/form_field/behat_form_text.php');
/**
* Tests for the behat_form_text class
*
* @package tool_behat
* @category test
* @copyright 2022 onwards Eloy Lafuente (stronk7) {@link https://stronk7.com}
* @license https://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
*
* @covers \behat_form_text
* @covers \behat_form_field
*/
class behat_form_text_test extends \basic_testcase {
/**
* Data provider for the test_set_get_value() method.
*
* @return array of value and expectation pairs to be tested.
*/
public function provider_test_set_get_value() {
return [
'null' => [null, null],
'int' => [3, 3],
'float' => [3.14, 3.14],
'string' => ['hello', 'hello'],
'utf8' => ['你好', '你好'],
];
}
/**
* Test the set_value() and get_value() methods.
*
* @param mixed $value value to be set.
* @param mixed $expectation value to be checked.
* @dataProvider provider_test_set_get_value()
*/
public function test_set_get_value($value, $expectation) {
$session = $this->createMock(Session::class);
$node = $this->createMock(NodeElement::class);
$node->method('getValue')->willReturn($value);
$field = new behat_form_text($session, $node);
$field->set_value($value);
$this->assertEquals($expectation, $field->get_value());
}
/**
* Data provider for the test_text_matches() method.
*
* @return array of decsep, value, match and result pairs to be tested.
*/
public function provider_test_matches() {
return [
'lazy true' => ['.', 'hello', 'hello', true],
'lazy false' => ['.', 'hello', 'bye', false],
'float true' => ['.', '3.14', '3.1400', true],
'float false' => ['.', '3.14', '3.1401', false],
'float and float string true' => ['.', 3.14, '3.1400', true],
'float and unrelated string false' => ['.', 3.14, 'hello', false],
'float hash decsep true' => ['#', '3#14', '3#1400', true],
'float hash decsep false' => ['#', '3#14', '3#1401', false],
'float and float string hash decsep true' => ['#', 3.14, '3.1400', true],
'float and unrelated string hash decsep false' => ['#', 3.14, 'hello', false],
'float custom-default decsep mix1 true' => ['#', '3#14', '3.1400', true],
'float custom-default decsep mix2 true' => ['#', '3.14', '3#1400', true],
'float 2-custom decsep mix1 false' => ['#', '3#14', '3,1400', false],
'float 2-custom decsep mix2 false' => [',', '3#14', '3,1400', false],
'float default-custom decsep mix1 false' => ['.', '3#14', '3.1400', false],
'float default-custom decsep mix2 false' => ['.', '3.14', '3#1400', false],
];
}
/**
* Test the matches() method.
*
* @param string $decsep decimal separator to use.
* @param mixed $value value to be set.
* @param mixed $match value to be matched.
* @param bool $result expected return status of the function.
* @dataProvider provider_test_matches()
*/
public function test_matches($decsep, $value, $match, $result) {
global $CFG;
// Switch of string manager to avoid having to (slow) customise the lang file.
$origcustom = $CFG->config_php_settings['customstringmanager'] ?? null;
$CFG->config_php_settings['customstringmanager'] = '\tool_behat\phpunit_string_manager';
$manager = get_string_manager(true);
$manager->set_string('decsep', 'langconfig', $decsep);
$session = $this->createMock(Session::class);
$node = $this->createMock(NodeElement::class);
$node->method('getValue')->willReturn($value);
$field = new behat_form_text($session, $node);
$field->set_value($value);
$this->assertSame($result, $field->matches($match));
// Switch back to the original string manager.
if (is_null($origcustom)) {
unset($CFG->config_php_settings['customstringmanager']);
} else {
$CFG->config_php_settings['customstringmanager'] = $origcustom;
}
$manager = get_string_manager(true);
}
}
/**
* Customised values that will be used instead of standard manager one.
*
* If an existing component/identifier is found, return it instead of the real
* one from language files. Note this doesn't support place holders or another niceties.
*
* @package tool_behat
* @category test
* @copyright 2022 onwards Eloy Lafuente (stronk7) {@link https://stronk7.com}
* @license https://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
*/
class phpunit_string_manager extends core_string_manager_standard {
/** @var array language customisations provided by the manager without asking for real contents */
protected $customstrings = [];
/**
* Get String returns a requested string
*
* @param string $identifier The identifier of the string to search for
* @param string $component The module the string is associated with
* @param string|object|array $a An object, string or number that can be used
* within translation strings
* @param string $lang moodle translation language, null means use current
* @return string The String !
*/
public function get_string($identifier, $component = '', $a = null, $lang = null) {
$key = trim($component) . '/' . trim($identifier);
if (isset($this->customstrings[$key])) {
return $this->customstrings[$key];
}
return parent::get_string($identifier, $component, $a, $lang);
}
/**
* Sets a custom string to be returned by the string manager instead of the language file one.
*
* @param string $identifier The identifier of the string to search for
* @param string $component The module the string is associated with
* @param string $value the contents of the language string to be returned by get_string()
*/
public function set_string($identifier, $component, $value) {
$key = trim($component) . '/' . trim($identifier);
$this->customstrings[$key] = $value;
}
}
@@ -0,0 +1,104 @@
<?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/>.
/**
* Unit tests for get_entity_generator web service
*
* @package tool_behat
* @copyright 2022 onwards Catalyst IT EU {@link https://catalyst-eu.net}
* @author Mark Johnson <mark.johnson@catalyst-eu.net>
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
*/
namespace tool_behat\external;
/**
* Tests for get_entity_generator web service
*
* @covers \tool_behat\external\get_entity_generator
*/
class get_entity_generator_test extends \advanced_testcase {
/**
* Log in as admin
*
* @return void
*/
public function setUp(): void {
$this->resetAfterTest();
$this->setAdminUser();
}
/**
* Get the generator for a core entity.
*
* @return void
*/
public function test_execute_core_entity(): void {
$generator = get_entity_generator::execute('users');
$this->assertEquals(['required' => ['username']], $generator);
}
/**
* Get the generator for the plugin entity.
*
* @return void
*/
public function test_execute_plugin_entity(): void {
$generator = get_entity_generator::execute('mod_book > chapters');
$this->assertEquals(['required' => ['book', 'title', 'content']], $generator);
}
/**
* Get the generator for an entity with no required fields.
*
* @return void
*/
public function test_execute_no_requried(): void {
$generator = get_entity_generator::execute('mod_forum > posts');
$this->assertEquals(['required' => []], $generator);
}
/**
* Attempt to get the generator for a core entity that does not exist.
*
* @return void
*/
public function test_execute_invalid_entity(): void {
$this->expectException('coding_exception');
get_entity_generator::execute('foo');
}
/**
* Attempt to get a generator form a plugin that does not exist.
*
* @return void
*/
public function test_execute_invalid_plugin(): void {
$this->expectException('coding_exception');
get_entity_generator::execute('foo > bar');
}
/**
* Attempt to get a generator for an entity that does not exist, from a plugin that does.
*
* @return void
*/
public function test_execute_invalid_plugin_entity(): void {
$this->expectException('coding_exception');
get_entity_generator::execute('mod_book > bar');
}
}
+1 -1
View File
@@ -1,5 +1,5 @@
<?php
// @codingStandardsIgnoreFile
// phpcs:ignoreFile
// @codeCoverageIgnoreStart
// This file is part of Moodle - http://moodle.org/
+1 -1
View File
@@ -24,6 +24,6 @@
defined('MOODLE_INTERNAL') || die();
$plugin->version = 2021051700; // The current plugin version (Date: YYYYMMDDXX).
$plugin->version = 2021051701; // The current plugin version (Date: YYYYMMDDXX).
$plugin->requires = 2021051100; // Requires this Moodle version.
$plugin->component = 'tool_behat'; // Full name of the plugin (used for diagnostics)
+14 -14
View File
@@ -323,7 +323,7 @@ class accessibility {
/**
* This function runs one specified check on the html item
*
* @param string $html The html string to be analysed; might be NULL.
* @param string|null $html The html string to be analysed; might be NULL.
* @param int $contentid The content area ID
* @param int $errid The error ID
* @param string $check The check name to run
@@ -333,7 +333,7 @@ class accessibility {
* @throws \dml_exception
*/
public static function run_one_check(
string $html = null,
?string $html,
int $contentid,
int $errid,
string $check,
@@ -477,8 +477,6 @@ class accessibility {
public static function get_summary_data(int $id): \stdClass {
global $CFG, $DB;
$components = $DB->get_records(manager::DB_AREAS);
$summarydata = new \stdClass();
$summarydata->siteurl = (substr($CFG->wwwroot, -1) !== '/') ? $CFG->wwwroot . '/' : $CFG->wwwroot;
$summarydata->moodlerelease = (preg_match('/^(\d+\.\d.*?)[. ]/', $CFG->release, $matches)) ? $matches[1] : $CFG->release;
@@ -488,7 +486,7 @@ class accessibility {
$summarydata->numfactivities = $DB->count_records('course_modules');
$summarydata->mobileservice = (int)$CFG->enablemobilewebservice === 1 ? true : false;
$summarydata->usersmobileregistered = $DB->count_records('user_devices');
$summarydata->contenttyperesults = static::get_contenttyperesults($id, $components);
$summarydata->contenttyperesults = static::get_contenttyperesults($id);
$summarydata->contenttypeerrors = static::get_contenttypeerrors();
$summarydata->percheckerrors = static::get_percheckerrors();
return $summarydata;
@@ -497,22 +495,24 @@ class accessibility {
/**
* Get content type results.
* @param int $id
* @param array $components
* @return \stdClass
*/
private static function get_contenttyperesults(int $id, array $components): \stdClass {
private static function get_contenttyperesults(int $id): \stdClass {
global $DB;
$sql = 'SELECT component, COUNT(id) AS count
FROM {' . manager::DB_AREAS . '}
GROUP BY component';
$components = $DB->get_recordset_sql($sql);
$contenttyperesults = new \stdClass();
$contenttyperesults->id = $id;
$datacomponents = array();
foreach ($components as $component) {
$datacomponents[$component->component][] = $component;
}
$contenttyperesults->contenttype = new \stdClass();
foreach ($datacomponents as $key => $component) {
$contenttyperesults->contenttype->$key = count($component);
foreach ($components as $component) {
$componentname = $component->component;
$contenttyperesults->contenttype->$componentname = $component->count;
}
$components->close();
$contenttyperesults->summarydatastorage = static::get_summary_data_storage();
$contenttyperesults->datachecked = time(); // Correct??
$contenttyperesults->datachecked = time();
return $contenttyperesults;
}
@@ -25,7 +25,7 @@ namespace tool_brickfield\local\htmlchecker\common;
*/
class brickfield_accessibility_color_test extends brickfield_accessibility_test {
/** @var string[] Mapping of colours to hex codes. */
/** @var string[] Define colour codes. */
public $colornames = [
'aliceblue' => 'f0f8ff',
'antiquewhite' => 'faebd7',
@@ -183,6 +183,12 @@ class brickfield_accessibility_color_test extends brickfield_accessibility_test
}
$forergb = $this->get_rgb($foreground);
$backrgb = $this->get_rgb($background);
// If get_rgb returns null for either, return 0.
if ($forergb === null || $backrgb === null) {
return 0;
}
return $this->luminosity($forergb['r'], $backrgb['r'],
$forergb['g'], $backrgb['g'],
$forergb['b'], $backrgb['b']);
@@ -227,15 +233,15 @@ class brickfield_accessibility_color_test extends brickfield_accessibility_test
/**
* Returns the decimal equivalents for a HEX color
* Returns the decimal equivalents for a HEX color. Returns null if it cannot be determined.
* @param string $color The hex color value
* @return array An array where 'r' is the Red value, 'g' is Green, and 'b' is Blue
* @return array|null An array where 'r' is the Red value, 'g' is Green, and 'b' is Blue
*/
public function get_rgb(string $color) {
public function get_rgb(string $color): ?array {
$color = $this->convert_color($color);
$c = str_split($color, 2);
if (count($c) != 3) {
return false;
return null;
}
$results = ['r' => hexdec($c[0]), 'g' => hexdec($c[1]), 'b' => hexdec($c[2])];
return $results;
@@ -307,6 +313,12 @@ class brickfield_accessibility_color_test extends brickfield_accessibility_test
public function get_wai_ert_contrast(string $foreground, string $background): array {
$forergb = $this->get_rgb($foreground);
$backrgb = $this->get_rgb($background);
// If get_rgb returns null for either, return 0.
if ($forergb === null || $backrgb === null) {
return [];
}
$diffs = $this->get_wai_diffs($forergb, $backrgb);
return $diffs['red'] + $diffs['green'] + $diffs['blue'];
@@ -321,12 +333,18 @@ class brickfield_accessibility_color_test extends brickfield_accessibility_test
public function get_wai_ert_brightness(string $foreground, string $background): float {
$forergb = $this->get_rgb($foreground);
$backrgb = $this->get_rgb($background);
// If get_rgb returns null for either, return 0.
if ($forergb === null || $backrgb === null) {
return 0;
}
$color = $this->get_wai_diffs($forergb, $backrgb);
return (($color['red'] * 299) + ($color['green'] * 587) + ($color['blue'] * 114)) / 1000;
}
/**
* Get wai diffs.
* Get the wai differences.
* @param array $forergb
* @param array $backrgb
* @return array
@@ -40,14 +40,15 @@ class content_too_long extends brickfield_accessibility_test {
$contentlengthlimit = 500;
$pagetext = '';
foreach ($this->get_all_elements(null, 'text') as $element) {
$text = $element->nodeValue;
// There will be only one, but array is returned anyway.
foreach ($this->get_all_elements('body') as $element) {
$text = $element->textContent;
if ($text != null) {
$pagetext = $pagetext . $text;
}
}
$wordcount = str_word_count($pagetext);
$wordcount = count_words($pagetext);
if ($wordcount > $contentlengthlimit) {
$this->add_report(null, "<p id='wc'>Word Count: " . $wordcount . "</p>", false);
}
+1 -1
View File
@@ -1,7 +1,7 @@
<?xml version="1.0" encoding="UTF-8" ?>
<XMLDB PATH="admin/tool/brickfield/db" VERSION="20200215" COMMENT="XMLDB file for Moodle admin/tool/brickfield"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:noNamespaceSchemaLocation="../../../lib/xmldb/xmldb.xsd"
xsi:noNamespaceSchemaLocation="../../../../lib/xmldb/xmldb.xsd"
>
<TABLES>
<TABLE NAME="tool_brickfield_checks" COMMENT="Checks details">
@@ -248,7 +248,7 @@ $string['printable:toolname'] = 'Summary report';
$string['printable:toolshortname'] = 'Summary report';
$string['printable:downloadpdf'] = 'Download PDF';
$string['printable:printreport'] = 'Printable report';
$string['error:nocoursespecified'] = 'This summary report requires a valid course id. Please access the accessibility toolkit from within a course, via the actions menu, which will then supply this required course id.';
$string['error:nocoursespecified'] = 'The summary report requires a valid course ID. Please access the accessibility toolkit from within a course.';
$string['pdf:filename'] = 'Brickfield_Summaryreport_CourseID-{$a}';
// Advanced page.
+55 -51
View File
@@ -16,6 +16,11 @@
namespace tool_brickfield;
defined('MOODLE_INTERNAL') || die();
global $CFG;
require_once($CFG->dirroot . '/admin/tool/brickfield/tests/area_test_base.php');
/**
* Class tool_brickfield_area_testcase
*
@@ -23,8 +28,7 @@ namespace tool_brickfield;
* @copyright 2020 onward: Brickfield Education Labs, https://www.brickfield.ie
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
*/
class area_test extends \advanced_testcase {
class area_test extends area_test_base {
/**
* Test for the area assign intro
*/
@@ -46,7 +50,7 @@ class area_test extends \advanced_testcase {
$resultsrs = $c->find_course_areas($course1->id);
$resultsrs2 = $c->find_course_areas($course2->id);
// Set up a results array from the recordset for easier testing.
$results = array_merge(self::array_from_recordset($resultsrs), self::array_from_recordset($resultsrs2));
$results = array_merge($this->array_from_recordset($resultsrs), $this->array_from_recordset($resultsrs2));
$this->assertEquals([
(object)[
'type' => area_base::TYPE_FIELD,
@@ -76,7 +80,7 @@ class area_test extends \advanced_testcase {
$event = \core\event\course_module_updated::create_from_cm($cm1);
$relevantresultsrs = $c->find_relevant_areas($event);
// Set up a relevantresults array from the recordset for easier testing.
$relevantresults = self::array_from_recordset($relevantresultsrs);
$relevantresults = $this->array_from_recordset($relevantresultsrs);
$this->assertEquals([$results[0]], $relevantresults);
}
@@ -87,43 +91,57 @@ class area_test extends \advanced_testcase {
$this->resetAfterTest();
/** @var \core_question_generator $generator */
$generator = $this->getDataGenerator()->get_plugin_generator('core_question');
$component = 'core_question';
list($category1, $course1, $qcat1, $questions1) = $generator->setup_course_and_questions('course');
list($category2, $course2, $qcat2, $questions2) = $generator->setup_course_and_questions('category');
list($category3, $course3, $qcat3, $questions3) = $generator->setup_course_and_questions('system');
$c = new \tool_brickfield\local\areas\core_question\questiontext();
$results1 = self::array_from_recordset($c->find_course_areas($course1->id));
$results2 = self::array_from_recordset($c->find_course_areas($course2->id));
$results3 = self::array_from_recordset($c->find_course_areas($course3->id));
$results4 = self::array_from_recordset($c->find_system_areas());
// Set up a results array from the recordset for easier testing.
// Set up results arrays from the recordset for easier testing.
$course1areas = $this->array_from_recordset($c->find_course_areas($course1->id));
$course2areas = $c->find_course_areas($course2->id);
$course3areas = $c->find_course_areas($course3->id);
$sysareas = $this->array_from_recordset($c->find_system_areas());
$this->assertCount(2, $results1);
$this->assertCount(0, $results2);
$this->assertCount(0, $results3);
$this->assertCount(4, $results4);
// Validate the contexts, courseid and categoryid of the returned results.
$this->assertEquals(\context_course::instance($course1->id)->id, $results1[0]->contextid);
$this->assertEquals($course1->id, $results1[0]->courseid);
$this->assertEmpty($results1[0]->categoryid);
$this->assertEquals(\context_coursecat::instance($category2->id)->id, $results4[0]->contextid);
$this->assertEquals(SITEID, $results4[0]->courseid);
$this->assertEquals($category2->id, $results4[0]->categoryid);
$this->assertEquals(\context_system::instance()->id, $results4[2]->contextid);
$this->assertEmpty($results4[2]->categoryid);
$this->assertEquals(SITEID, $results4[2]->courseid);
// Results4 should contain id's for questions 1 and 2.
$this->assertTrue(($questions3[0]->id == $results4[2]->itemid) || ($questions3[0]->id == $results4[3]->itemid));
$this->assertTrue(($questions3[1]->id == $results4[2]->itemid) || ($questions3[1]->id == $results4[3]->itemid));
// Assert the core_question area exists for the individual question's context, courseid and categoryid.
$this->assert_area_in_array(
$course1areas,
$component,
\context_course::instance($course1->id)->id,
$questions1[0]->id,
$course1->id,
null
);
$this->assert_area_in_array(
$sysareas,
$component,
\context_coursecat::instance($category2->id)->id,
$questions2[0]->id,
SITEID,
$category2->id
);
$this->assert_area_in_array(
$sysareas,
$component,
\context_system::instance()->id,
$questions3[0]->id,
SITEID,
null
);
// Emulate the question_created event.
$event = \core\event\question_created::create_from_question_instance($questions1[1],
\context_course::instance($course1->id));
$relevantresultsrs = $c->find_relevant_areas($event);
// Set up a relevantresults array from the recordset for easier testing.
$relevantresults = self::array_from_recordset($relevantresultsrs);
$this->assertEquals([$results1[1]], $relevantresults);
$relevantresults = $this->array_from_recordset($c->find_relevant_areas($event));
$this->assert_area_in_array(
$course1areas,
$component,
\context_course::instance($relevantresults[0]->courseid)->id,
$relevantresults[0]->itemid,
$relevantresults[0]->courseid,
$relevantresults[0]->categoryid
);
}
/**
@@ -147,7 +165,7 @@ class area_test extends \advanced_testcase {
$c = new \tool_brickfield\local\areas\core_question\questionanswers();
$resultsrs = $c->find_course_areas($course->id);
$results = self::array_from_recordset($resultsrs);
$results = $this->array_from_recordset($resultsrs);
// There will be the same number of results as the number of records in the question_answers table.
$this->assertEquals(count($dbanswers), count($results));
@@ -157,7 +175,7 @@ class area_test extends \advanced_testcase {
\context_course::instance($course->id));
$relevantresultsrs = $c->find_relevant_areas($event);
// Set up a relevantresults array from the recordset for easier testing.
$relevantresults = self::array_from_recordset($relevantresultsrs);
$relevantresults = $this->array_from_recordset($relevantresultsrs);
$dbanswers = array_values($DB->get_records('question_answers', ['question' => $question1->id], 'id'));
$this->assertEquals(count($dbanswers), count($relevantresults));
@@ -190,7 +208,7 @@ class area_test extends \advanced_testcase {
$c = new \tool_brickfield\local\areas\mod_choice\intro();
$resultsrs = $c->find_course_areas($course->id);
// Set up a results array from the recordset for easier testing.
$results = self::array_from_recordset($resultsrs);
$results = $this->array_from_recordset($resultsrs);
$this->assertCount(2, $results);
$this->assertEquals($cm1->id, $results[0]->cmid);
@@ -199,14 +217,14 @@ class area_test extends \advanced_testcase {
// Emulate the course_module_created event.
$event = \core\event\course_module_created::create_from_cm($cm1);
$relevantresultsrs = $c->find_relevant_areas($event);
$relevantresults = self::array_from_recordset($relevantresultsrs);
$relevantresults = $this->array_from_recordset($relevantresultsrs);
$this->assertEquals([$results[0]], $relevantresults);
// Testing the choice options.
$c = new \tool_brickfield\local\areas\mod_choice\option();
$resultsrs = $c->find_course_areas($course->id);
// Set up a results array from the recordset for easier testing.
$results = self::array_from_recordset($resultsrs);
$results = $this->array_from_recordset($resultsrs);
$this->assertCount(5, $results);
$this->assertEquals($cm2->id, $results[3]->cmid);
@@ -220,21 +238,7 @@ class area_test extends \advanced_testcase {
// Emulate the course_module_updated event.
$event = \core\event\course_module_updated::create_from_cm($cm2);
$relevantresultsrs = $c->find_relevant_areas($event);
$relevantresults = self::array_from_recordset($relevantresultsrs);
$relevantresults = $this->array_from_recordset($relevantresultsrs);
$this->assertEquals([$results[3], $results[4]], $relevantresults);
}
/**
* Array from recordset.
* @param \moodle_recordset $rs
* @return array
*/
private static function array_from_recordset($rs) {
$records = [];
foreach ($rs as $record) {
$records[] = $record;
}
$rs->close();
return $records;
}
}
@@ -0,0 +1,94 @@
<?php
// This file is part of Moodle - http://moodle.org/
//
// Moodle is free software: you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
// the Free Software Foundation, either version 3 of the License, or
// (at your option) any later version.
//
// Moodle is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License for more details.
//
// You should have received a copy of the GNU General Public License
// along with Moodle. If not, see <http://www.gnu.org/licenses/>.
namespace tool_brickfield;
/**
* Class area_test_base provides some utility functions that can be used by testing.
*
* @package tool_brickfield
* @copyright 2020 onward: Brickfield Education Labs, https://www.brickfield.ie
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
*/
abstract class area_test_base extends \advanced_testcase {
/** @var string Message for failed area test. */
protected $areatestmessage = 'Expected %component% area not found';
/**
* Create and return an array from a recordset. Recordset is destroyed.
* @param \moodle_recordset $rs
* @return array
*/
public function array_from_recordset(\moodle_recordset $rs): array {
$records = [];
foreach ($rs as $record) {
$records[] = $record;
}
// Can't rewind a recordset, so might as well close it.
$rs->close();
return $records;
}
/**
* Test for specified component information present in area recordset. Recordset cannot be reused.
* @param \moodle_recordset $areasrs
* @param string $component
* @param int $contextid
* @param int $itemid
* @param int|null $courseid
* @param int|null $categoryid
* @return void
*/
public function assert_area_in_recordset(\moodle_recordset $areasrs, string $component, int $contextid, int $itemid,
?int $courseid, ?int $categoryid): void {
$this->assert_area_in_array(
$this->array_from_recordset($areasrs),
$component,
$contextid,
$itemid,
$courseid,
$categoryid
);
}
/**
* Test for specified component information present in area array.
* @param array $areas
* @param string $component
* @param int $contextid
* @param int $itemid
* @param int|null $courseid
* @param int|null $categoryid
* @return void
*/
public function assert_area_in_array(array $areas, string $component, int $contextid, int $itemid,
?int $courseid, ?int $categoryid): void {
$found = false;
$message = str_replace('%component%', $component, $this->areatestmessage);
foreach ($areas as $area) {
if (($area->component == $component) &&
($area->contextid == $contextid) &&
((empty($courseid) ? empty($area->courseid) : ($area->courseid == $courseid))) &&
((empty($categoryid) ? empty($area->categoryid) : ($area->categoryid == $categoryid))) &&
($area->itemid == $itemid)
) {
$found = true;
break;
}
}
$this->assertTrue($found, $message);
}
}
+1 -1
View File
@@ -26,7 +26,7 @@ use tool_brickfield\local\tool\filter;
* @author Jay Churchward (jay.churchward@poetopensource.org)
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
*/
class filter_test extends \advanced_testcase {
class filters_test extends \advanced_testcase {
public function test_constructor() {
$this->resetAfterTest();
@@ -13,9 +13,15 @@
//
// You should have received a copy of the GNU General Public License
// along with Moodle. If not, see <http://www.gnu.org/licenses/>.
namespace tool_brickfield\local\areas\core_question;
defined('MOODLE_INTERNAL') || die();
global $CFG;
require_once($CFG->dirroot . '/admin/tool/brickfield/tests/area_test_base.php');
use tool_brickfield\area_test_base;
/**
* Tests for questiontext.
*
@@ -23,8 +29,7 @@ namespace tool_brickfield\local\areas\core_question;
* @copyright 2020 onward: Brickfield Education Labs, https://www.brickfield.ie
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
*/
class questiontext_test extends \advanced_testcase {
class questiontext_test extends area_test_base {
/**
* Set up before class.
*/
@@ -158,30 +163,31 @@ class questiontext_test extends \advanced_testcase {
$catcontext = \context_coursecat::instance($category->id);
$systemcontext = \context_system::instance();
$generator = $this->getDataGenerator()->get_plugin_generator('core_question');
$component = 'core_question';
$cat = $generator->create_question_category(['contextid' => $catcontext->id]);
$cat2 = $generator->create_question_category(['contextid' => $systemcontext->id]);
$question = $generator->create_question('multichoice', null, ['category' => $cat2->id]);
$question2 = $generator->create_question('multichoice', null, ['category' => $cat->id]);
$questiontext = new questiontext();
$rs = $questiontext->find_system_areas();
$this->assertNotNull($rs);
$areas = $this->array_from_recordset($questiontext->find_system_areas());
$count = 0;
foreach ($rs as $rec) {
$count++;
if ($count <= 1) {
$this->assertEquals($systemcontext->id, $rec->contextid);
$this->assertEquals(1, $rec->courseid);
$this->assertEquals(0, $rec->categoryid);
$this->assertEquals($question->id, $rec->itemid);
} else {
$this->assertEquals($catcontext->id, $rec->contextid);
$this->assertEquals(1, $rec->courseid);
$this->assertEquals($category->id, $rec->categoryid);
$this->assertEquals($question2->id, $rec->itemid);
}
}
$rs->close();
$this->assertEquals(2, $count);
// Assert the core_question area exists for the individual question's context, courseid and categoryid.
$this->assert_area_in_array(
$areas,
$component,
$systemcontext->id,
$question->id,
SITEID,
null
);
$this->assert_area_in_array(
$areas,
$component,
$catcontext->id,
$question2->id,
SITEID,
$category->id
);
}
}
@@ -37,20 +37,15 @@ class content_too_long_test extends all_checks {
/** @var string Html fail */
private $htmlfail = <<<EOD
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN""http://www.w3.org/TR/REC-html40/loose.dtd">
<html lang="en">
<head>
<title>Content must not exceed a certain length</title>
</head>
<body>
<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Praesent accumsan, ante varius viverra aliquam, dolor risus
<p><span>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Praesent accumsan, ante varius viverra aliquam, dolor risus
scelerisque massa, ut lacinia ipsum felis id est. Nullam convallis odio ante, in commodo elit fermentum sed. Vivamus ullamcorper
tincidunt sagittis. Sed et semper sapien. Quisque malesuada lacus nec libero cursus, aliquam malesuada neque ultricies. Cras sit
amet enim vel orci tristique porttitor a vitae urna. Suspendisse mi leo, hendrerit et eleifend a, mollis at ex. Maecenas eget
magna nec sem dignissim pharetra vel nec ex. Donec in porta lectus. Aenean porttitor euismod lectus, sodales eleifend ex egestas
in. Donec sed metus sodales, lobortis velit quis, dictum arcu.
Praesent mollis urna eget odio cursus, sit amet sollicitudin ante aliquam. Integer nec massa nec ipsum tincidunt laoreet in
vitae metus. Integer massa lacus, elementum quis dui sed, eleifend fringilla turpis. In hac habitasse platea dictumst. Phasellus
in. Donec sed metus sodales, lobortis velit quis, dictum arcu.</span></p>
<p><span>Praesent mollis urna eget odio cursus, sit amet sollicitudin ante aliquam. Integer nec massa nec ipsum tincidunt
laoreet in vitae metus.
Integer massa lacus, elementum quis dui sed, eleifend fringilla turpis. In hac habitasse platea dictumst. Phasellus
efficitur quis felis non eleifend. Sed et mauris vel lorem ultrices porta. Mauris commodo condimentum felis, vel dictum ex
laoreet sit amet. Duis venenatis ut lacus non ultrices. Class aptent taciti sociosqu ad litora torquent per conubia nostra, per
inceptos himenaeos. Nam nunc magna, semper feugiat feugiat a, pellentesque vel nulla.
@@ -59,9 +54,10 @@ class content_too_long_test extends all_checks {
blandit eget elit sit amet, suscipit mollis ligula. Suspendisse rutrum sem ex, eu commodo nisi aliquam sit amet. Fusce ut felis
justo. Sed a quam at lectus consectetur vulputate. Proin elementum dui nisi, in condimentum diam porttitor eget. Donec vehicula
condimentum velit vel semper. Mauris vehicula tortor lectus, quis convallis erat aliquet vel. In dictum nunc ac posuere porta.
Sed vel leo aliquam, volutpat ligula ac, blandit diam. Donec nec ligula lacus.
Mauris ac libero vel ex fringilla fringilla. Ut vehicula justo eu nunc imperdiet ultricies. Sed interdum ligula at nisi rhoncus
auctor. Sed tempus tellus eget risus placerat, et viverra dolor gravida. Sed ultricies neque id ex tempor viverra. Ut imperdiet
Sed vel leo aliquam, volutpat ligula ac, blandit diam. Donec nec ligula lacus.</span></p>
<p><span>Mauris ac libero vel ex fringilla fringilla. Ut vehicula justo eu nunc imperdiet ultricies. Sed interdum ligula at nisi
rhoncus auctor.
Sed tempus tellus eget risus placerat, et viverra dolor gravida. Sed ultricies neque id ex tempor viverra. Ut imperdiet
pharetra magna sed tristique. Pellentesque blandit elit ac neque lacinia finibus. Lorem ipsum dolor sit amet, consectetur
adipiscing elit. Donec vel auctor dolor. Morbi id elit mollis ante mattis semper eu ac lectus. Integer elit turpis, facilisis
vel metus eget, blandit tempus arcu. Pellentesque eget magna eu ex eleifend tincidunt. Curabitur sit amet congue nisi.
@@ -69,29 +65,60 @@ class content_too_long_test extends all_checks {
turpis. Aenean tincidunt tristique dui, pretium lacinia felis posuere vel. Donec massa ligula, luctus vitae enim nec, sagittis
hendrerit lorem. In consequat sodales metus vel porttitor. Aenean fringilla fringilla risus, vitae interdum turpis egestas quis.
Aenean volutpat arcu leo, ut dictum purus consectetur id. Cras enim ipsum, tincidunt vitae mi vel, varius convallis ex. Fusce
pretium porttitor tempus.
Morbi laoreet dapibus lectus ut efficitur. Donec at hendrerit nunc. Vivamus venenatis augue non nulla finibus vestibulum. Nam
pretium porttitor tempus.</span></p>
<p>Morbi laoreet dapibus lectus ut efficitur. Donec at hendrerit nunc. Vivamus venenatis augue non nulla finibus vestibulum. Nam
nunc magna, hendrerit a ipsum nec, pulvinar imperdiet augue. Fusce vel metus maximus, mattis magna at, egestas enim. Suspendisse
et nisl at enim mollis scelerisque. Duis ut ipsum vel turpis eleifend aliquet a a ante. Nam lacinia purus vulputate purus
tincidunt, aliquet sagittis nisi sagittis. Pellentesque efficitur massa non ex sodales pretium. Cras convallis vitae ex et
dignissim. Nunc suscipit bibendum aliquam. Maecenas interdum tellus varius, laoreet velit sed, ornare arcu. Nunc pulvinar
elementum sem eget scelerisque. Duis volutpat tellus ut risus finibus, nec molestie erat fermentum
</p>
</body>
</html>
EOD;
/** @var string Multibyte html falure */
private $htmlfail2 = <<<EOD
<p><span>ブルース カンベッル ブルース カンベッル ブルース カンベッル ブルース カンベッル ブルース カンベッル ブルース カンベッル ブルース カンベッル
ブルース カンベッル ブルース カンベッル ブルース カンベッル ブルース カンベッル ブルース カンベッル ブルース カンベッル ブルース カンベッル
ブルース カンベッル ブルース カンベッル ブルース カンベッル ブルース カンベッル ブルース カンベッル ブルース カンベッル ブルース カンベッル
ブルース カンベッル ブルース カンベッル ブルース カンベッル ブルース カンベッル ブルース カンベッル ブルース カンベッル ブルース カンベッル
ブルース カンベッル ブルース カンベッル ブルース カンベッル ブルース カンベッル ブルース カンベッル ブルース カンベッル ブルース カンベッル
ブルース カンベッル ブルース カンベッル ブルース カンベッル ブルース カンベッル ブルース カンベッル ブルース カンベッル ブルース カンベッル
ブルース カンベッル ブルース カンベッル ブルース カンベッル ブルース カンベッル ブルース カンベッル ブルース カンベッル ブルース カンベッル
ブルース カンベッル ブルース カンベッル ブルース カンベッル ブルース カンベッル ブルース カンベッル ブルース カンベッル ブルース カンベッル
ブルース カンベッル ブルース カンベッル ブルース カンベッル ブルース カンベッル ブルース カンベッル ブルース カンベッル ブルース カンベッル
ブルース カンベッル ブルース カンベッル ブルース カンベッル ブルース カンベッル ブルース カンベッル ブルース カンベッル ブルース カンベッル
ブルース カンベッル ブルース カンベッル ブルース カンベッル ブルース カンベッル ブルース カンベッル ブルース カンベッル ブルース カンベッル
ブルース カンベッル ブルース カンベッル ブルース カンベッル ブルース カンベッル ブルース カンベッル ブルース カンベッル ブルース カンベッル
ブルース カンベッル ブルース カンベッル ブルース カンベッル ブルース カンベッル ブルース カンベッル ブルース カンベッル ブルース カンベッル
ブルース カンベッル ブルース カンベッル ブルース カンベッル ブルース カンベッル ブルース カンベッル ブルース カンベッル ブルース カンベッル
ブルース カンベッル ブルース カンベッル ブルース カンベッル ブルース カンベッル ブルース カンベッル ブルース カンベッル ブルース カンベッル
ブルース カンベッル ブルース カンベッル ブルース カンベッル ブルース カンベッル ブルース カンベッル ブルース カンベッル ブルース カンベッル
ブルース カンベッル ブルース カンベッル ブルース カンベッル ブルース カンベッル ブルース カンベッル ブルース カンベッル ブルース カンベッル
ブルース カンベッル ブルース カンベッル ブルース カンベッル ブルース カンベッル ブルース カンベッル ブルース カンベッル ブルース カンベッル
ブルース カンベッル ブルース カンベッル ブルース カンベッル ブルース カンベッル ブルース カンベッル ブルース カンベッル ブルース カンベッル
ブルース カンベッル ブルース カンベッル ブルース カンベッル ブルース カンベッル ブルース カンベッル ブルース カンベッル ブルース カンベッル
ブルース カンベッル ブルース カンベッル ブルース カンベッル ブルース カンベッル ブルース カンベッル ブルース カンベッル ブルース カンベッル
ブルース カンベッル ブルース カンベッル ブルース カンベッル ブルース カンベッル ブルース カンベッル ブルース カンベッル ブルース カンベッル
ブルース カンベッル ブルース カンベッル ブルース カンベッル ブルース カンベッル ブルース カンベッル ブルース カンベッル ブルース カンベッル
ブルース カンベッル ブルース カンベッル ブルース カンベッル ブルース カンベッル ブルース カンベッル ブルース カンベッル ブルース カンベッル
ブルース カンベッル ブルース カンベッル ブルース カンベッル ブルース カンベッル ブルース カンベッル ブルース カンベッル ブルース カンベッル
ブルース カンベッル ブルース カンベッル ブルース カンベッル ブルース カンベッル ブルース カンベッル ブルース カンベッル ブルース カンベッル
ブルース カンベッル ブルース カンベッル ブルース カンベッル ブルース カンベッル ブルース カンベッル ブルース カンベッル ブルース カンベッル
ブルース カンベッル ブルース カンベッル ブルース カンベッル ブルース カンベッル ブルース カンベッル ブルース カンベッル ブルース カンベッル
ブルース カンベッル ブルース カンベッル ブルース カンベッル ブルース カンベッル ブルース カンベッル ブルース カンベッル ブルース カンベッル
ブルース カンベッル ブルース カンベッル ブルース カンベッル ブルース カンベッル ブルース カンベッル ブルース カンベッル ブルース カンベッル
ブルース カンベッル ブルース カンベッル ブルース カンベッル ブルース カンベッル ブルース カンベッル ブルース カンベッル ブルース カンベッル
ブルース カンベッル ブルース カンベッル ブルース カンベッル ブルース カンベッル ブルース カンベッル ブルース カンベッル ブルース カンベッル
ブルース カンベッル ブルース カンベッル ブルース カンベッル ブルース カンベッル ブルース カンベッル ブルース カンベッル ブルース カンベッル
ブルース カンベッル ブルース カンベッル ブルース カンベッル ブルース カンベッル ブルース カンベッル ブルース カンベッル ブルース カンベッル
ブルース カンベッル ブルース カンベッル ブルース カンベッル ブルース カンベッル ブルース カンベッル ブルース カンベッル ブルース カンベッル
ブルース カンベッル ブルース カンベッル ブルース カンベッル ブルース カンベッル ブルース カンベッル ブルース カンベッル ブルース カンベッル
</span></p>
EOD;
/** @var string Html pass */
private $htmlpass = <<<EOD
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN""http://www.w3.org/TR/REC-html40/loose.dtd">
<html lang="en">
<head>
<title>Content must not exceed a certain length/title>
</head>
<body>
<p>Nice and short text</p>
</body>
</html>
EOD;
/**
@@ -101,6 +128,9 @@ EOD;
$results = $this->get_checker_results($this->htmlfail);
$this->assertTrue($results[0]->message == '<p id=\'wc\'>Word Count: 578</p>');
$results = $this->get_checker_results($this->htmlfail2);
$this->assertTrue($results[0]->message == '<p id=\'wc\'>Word Count: 504</p>');
$results = $this->get_checker_results($this->htmlpass);
$this->assertEmpty($results);
}
@@ -15,7 +15,7 @@
// along with Moodle. If not, see <http://www.gnu.org/licenses/>.
/**
* tool_brickfield check test.
* Class test_css_text_has_contrast test
*
* @package tool_brickfield
* @copyright 2020 onward: Brickfield Education Labs, https://www.brickfield.ie
@@ -29,14 +29,79 @@ defined('MOODLE_INTERNAL') || die();
require_once('all_checks.php');
/**
* Class test_css_text_has_contrast_testcase
* Class test_css_text_has_contrast_test
*/
class css_text_has_contrast_test extends all_checks {
/** @var string Check type */
/** @var string The check type. */
protected $checktype = 'css_text_has_contrast';
/** @var string Html fail */
private $htmlfail = <<<EOD
/** @var string HTML that should get flagged. */
private $htmlfail1 = <<<EOD
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN""http://www.w3.org/TR/REC-html40/loose.dtd">
<html lang="en">
<head>
<title>OAC Testfile - Check #6 - Positive</title>
</head>
<body>
<p style="color:#333333; background-color:#000000; font-weight: bold;">This is not contrasty enough.</p>
</body>
</html>
EOD;
/** @var string HTML that should get flagged. */
private $htmlfail2 = <<<EOD
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN""http://www.w3.org/TR/REC-html40/loose.dtd">
<html lang="en">
<head>
<title>OAC Testfile - Check #6 - Positive</title>
</head>
<body>
<p style="color:#333333; background-color:#000000; font-size: 18px;">This is not contrasty enough.</p>
</body>
</html>
EOD;
/** @var string HTML that should get flagged. */
private $htmlfail3 = <<<EOD
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN""http://www.w3.org/TR/REC-html40/loose.dtd">
<html lang="en">
<head>
<title>OAC Testfile - Check #6 - Positive</title>
</head>
<body>
<p style="color:#333333; background-color:#000000; font-size: 18%;">This is not contrasty enough.</p>
</body>
</html>
EOD;
/** @var string HTML that should get flagged. */
private $htmlfail4 = <<<EOD
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN""http://www.w3.org/TR/REC-html40/loose.dtd">
<html lang="en">
<head>
<title>OAC Testfile - Check #6 - Positive</title>
</head>
<body>
<p style="color:#333333; background-color:#000000; font-size: 18em;">This is not contrasty enough.</p>
</body>
</html>
EOD;
/** @var string HTML that should get flagged. */
private $htmlfail5 = <<<EOD
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN""http://www.w3.org/TR/REC-html40/loose.dtd">
<html lang="en">
<head>
<title>OAC Testfile - Check #6 - Positive</title>
</head>
<body>
<p style="color:#333333; background-color:#000000; font-size: 18ex;">This is not contrasty enough.</p>
</body>
</html>
EOD;
/** @var string HTML that should get flagged. */
private $htmlfail6 = <<<EOD
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN""http://www.w3.org/TR/REC-html40/loose.dtd">
<html lang="en">
<head>
@@ -48,7 +113,7 @@ class css_text_has_contrast_test extends all_checks {
</html>
EOD;
/** @var string Html pass */
/** @var string HTML that should not get flagged. */
private $htmlpass = <<<EOD
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN""http://www.w3.org/TR/REC-html40/loose.dtd">
<html lang="en">
@@ -61,14 +126,113 @@ EOD;
</html>
EOD;
/** @var string HTML that should get flagged. */
private $namecolours = <<<EOD
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN""http://www.w3.org/TR/REC-html40/loose.dtd">
<html lang="en">
<head>
<title>OAC Testfile - Check #6 - Positive</title>
</head>
<body>
<p style="color: red; background-color: blue;">This is not contrasty enough.</p>
</body>
</html>
EOD;
/** @var string HTML with invalid colour names. */
private $invalidcolours = <<<EOD
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN""http://www.w3.org/TR/REC-html40/loose.dtd">
<html lang="en">
<head>
<title>OAC Testfile - Check #6 - Positive</title>
</head>
<body>
<p style="color: grog; background-color: numpi;">This is not contrasty enough.</p>
</body>
</html>
EOD;
/** @var string HTML with invalid colour numeric values. */
private $invalidvalue = <<<EOD
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN""http://www.w3.org/TR/REC-html40/loose.dtd">
<html lang="en">
<head>
<title>OAC Testfile - Check #6 - Positive</title>
</head>
<body>
<p style="color: 10000500; background-color: -10234;">This is not contrasty enough.</p>
</body>
</html>
EOD;
/** @var string HTML with empty colour values. */
private $emptyvalue = <<<EOD
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN""http://www.w3.org/TR/REC-html40/loose.dtd">
<html lang="en">
<head>
<title>OAC Testfile - Check #6 - Positive</title>
</head>
<body>
<p style="color:; background-color:;">This is not contrasty enough.</p>
</body>
</html>
EOD;
/**
* Test for the area assign intro
*/
public function test_check() {
$results = $this->get_checker_results($this->htmlfail);
$results = $this->get_checker_results($this->htmlfail1);
$this->assertTrue($results[0]->element->tagName == 'p');
$results = $this->get_checker_results($this->htmlfail2);
$this->assertTrue($results[0]->element->tagName == 'p');
$results = $this->get_checker_results($this->htmlfail3);
$this->assertTrue($results[0]->element->tagName == 'p');
$results = $this->get_checker_results($this->htmlfail4);
$this->assertTrue($results[0]->element->tagName == 'p');
$results = $this->get_checker_results($this->htmlfail5);
$this->assertTrue($results[0]->element->tagName == 'p');
$results = $this->get_checker_results($this->htmlfail6);
$this->assertTrue($results[0]->element->tagName == 'p');
$results = $this->get_checker_results($this->htmlpass);
$this->assertEmpty($results);
}
/**
* Test with valid colour names.
*/
public function test_check_for_namedcolours() {
$results = $this->get_checker_results($this->namecolours);
$this->assertTrue($results[0]->element->tagName == 'p');
}
/**
* Test with invalid colour names.
*/
public function test_check_for_invalidcolours() {
$results = $this->get_checker_results($this->invalidcolours);
$this->assertTrue($results[0]->element->tagName == 'p');
}
/**
* Test with invalid colour numeric values.
*/
public function test_check_for_invalidvalues() {
$results = $this->get_checker_results($this->invalidvalue);
$this->assertTrue($results[0]->element->tagName == 'p');
}
/**
* Test with empty colour values.
*/
public function test_check_for_emptyvalues() {
$results = $this->get_checker_results($this->emptyvalue);
$this->assertEmpty($results);
}
}
@@ -101,6 +101,6 @@ class printable_test extends \advanced_testcase {
$object->set_filter($filter);
$output = $object->get_output();
$this->assertStringContainsString('<i class="icon fa fa-tachometer fa-fw " title="Total activities" '.
'aria-label="Total activities">', $output);
'role="img" aria-label="Total activities">', $output);
}
}
+6
View File
@@ -0,0 +1,6 @@
This files describes API changes in /admin/tool/brickfield/*.
=== 3.11.7 ===
* classes/local/htmlchecker/common/brickfield_accessibility_color_test::get_rgb() has been modified to return either an
array or null. Previously it returned either an array or false.
@@ -22,7 +22,7 @@
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later.
*/
defined('MOODLE_INTERNAL') || die();
namespace tool_capability\event;
/**
* Class for capability overview events.
@@ -31,7 +31,7 @@ defined('MOODLE_INTERNAL') || die();
* @copyright 2014 Petr Skoda
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later.
*/
class tool_capability_events_testcase extends advanced_testcase {
class events_test extends \advanced_testcase {
/**
* Setup testcase.
@@ -54,11 +54,11 @@ class tool_capability_events_testcase extends advanced_testcase {
$event = reset($events);
$this->assertInstanceOf('\tool_capability\event\report_viewed', $event);
$this->assertEquals(context_system::instance(), $event->get_context());
$this->assertEquals(\context_system::instance(), $event->get_context());
$expected = array(SITEID, "admin", "tool capability", "tool/capability/index.php");
$this->assertEventLegacyLogData($expected, $event);
$this->assertEventContextNotUsed($event);
$url = new moodle_url('/admin/tool/capability/index.php');
$url = new \moodle_url('/admin/tool/capability/index.php');
$this->assertEquals($url, $event->get_url());
$event->get_name();
}
@@ -21,6 +21,7 @@
* @copyright 2021 The Open University
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later.
*/
namespace tool_capability;
defined('MOODLE_INTERNAL') || die();
global $CFG;
@@ -30,7 +31,7 @@ require_once($CFG->dirroot . '/' . $CFG->admin . '/tool/capability/locallib.php'
/**
* Tests for the capability overview helper functions.
*/
class tool_capability_locallib_testcase extends advanced_testcase {
class locallib_test extends \advanced_testcase {
/**
* Test the function that gets the data - simple case.
@@ -40,7 +41,7 @@ class tool_capability_locallib_testcase extends advanced_testcase {
$data = tool_capability_calculate_role_data('mod/quiz:attempt', get_all_roles());
$systcontext = context_system::instance();
$systcontext = \context_system::instance();
$studentroleid = $DB->get_field('role', 'id', ['shortname' => 'student']);
$this->assertArrayHasKey($systcontext->id, $data);
@@ -63,10 +64,10 @@ class tool_capability_locallib_testcase extends advanced_testcase {
// This simulates a situation that seems to happen sometimes, where
// we end up with contexts with path = NULL in the database.
$systcontext = context_system::instance();
$systcontext = \context_system::instance();
$generator = $this->getDataGenerator();
$course = $generator->create_course();
$coursecontext = context_course::instance($course->id);
$coursecontext = \context_course::instance($course->id);
$studentroleid = $DB->get_field('role', 'id', ['shortname' => 'student']);
role_change_permission($studentroleid, $coursecontext, 'mod/quiz:attempt', CAP_PREVENT);
// This is where we simulate the breakage.
@@ -1 +1 @@
YUI.add("moodle-tool_capability-search",function(s,t){var e=function(){e.superclass.constructor.apply(this,arguments)};e.prototype={form:null,select:null,selectoptions:{},input:null,button:null,cancel:null,lastsearch:null,initializer:function(){this.form=s.one("#capability-overview-form"),this.select=this.form.one("select[data-search=capability]"),this.select.setStyle("minWidth",this.select.get("offsetWidth")),this.select.get("options").each(function(t){var e=t.get("value");this.selectoptions[e]=t},this),this.button=this.form.all("input[type=submit]"),this.lastsearch=this.form.one("input[name=search]");var t=s.Node.create('<div id="capabilitysearchui" class="input-group simplesearchform mb-2"data-fieldtype="text"></div>'),e=s.Node.create('<label for="capabilitysearch"><span class="sr-only"'+this.get("strsearch")+"</span></label>");this.cancel=s.Node.create('<a class="btn btn-clear d-none icon-no-margin"><i class="icon fa fa-times fa-fw " aria-hidden="true"></i></a>'),this.input=s.Node.create('<input type="text" class="form-control withclear" placeholder="'+this.get("strsearch")+'"id="capabilitysearch" />'),t.append(e).append(this.input).append(this.cancel),this.select.insert(t,"before"),this.input.on("keyup",this.typed,this),this.select.on("change",this.validate,this),this.cancel.on("click",function(){this.input.set("value",""),this.typed()},this),this.lastsearch&&(this.input.set("value",this.lastsearch.get("value")),this.typed(),this.select.one("option[selected]")&&this.select.set("scrollTop",this.select.one("option[selected]").get("getX"))),this.validate()},validate:function(){this.button.set("disabled",""===this.select.get("value"))},typed:function(){var t,e=this.input.get("value"),s=0,i=null;for(t in this.lastsearch&&this.lastsearch.set("value",e),this.select.all("option").remove(),this.selectoptions)0<=t.indexOf(e)&&(s++,i=this.selectoptions[t],this.select.append(this.selectoptions[t]));0===s?this.input.addClass("error"):(this.input.removeClass("error"),1===s&&i.set("selected",!0)),""!==e?this.cancel.removeClass("d-none"):this.cancel.addClass("d-none"),this.validate()}},s.extend(e,s.Base,e.prototype,{NAME:"tool_capability-search",ATTRS:{strsearch:{}}}),M.tool_capability=M.tool_capability||{},M.tool_capability.init_capability_search=function(t){new e(t)}},"@VERSION@",{requires:["base","node"]});
YUI.add("moodle-tool_capability-search",function(s,t){var e=function(){e.superclass.constructor.apply(this,arguments)};s.extend(e,s.Base,e.prototype={form:null,select:null,selectoptions:{},input:null,button:null,cancel:null,lastsearch:null,initializer:function(){this.form=s.one("#capability-overview-form"),this.select=this.form.one("select[data-search=capability]"),this.select.setStyle("minWidth",this.select.get("offsetWidth")),this.select.get("options").each(function(t){var e=t.get("value");this.selectoptions[e]=t},this),this.button=this.form.all("input[type=submit]"),this.lastsearch=this.form.one("input[name=search]");var t=s.Node.create('<div id="capabilitysearchui" class="input-group simplesearchform mb-2"data-fieldtype="text"></div>'),e=s.Node.create('<label for="capabilitysearch"><span class="sr-only"'+this.get("strsearch")+"</span></label>");this.cancel=s.Node.create('<a class="btn btn-clear d-none icon-no-margin"><i class="icon fa fa-times fa-fw " aria-hidden="true"></i></a>'),this.input=s.Node.create('<input type="text" class="form-control withclear" placeholder="'+this.get("strsearch")+'"id="capabilitysearch" />'),t.append(e).append(this.input).append(this.cancel),this.select.insert(t,"before"),this.input.on("keyup",this.typed,this),this.select.on("change",this.validate,this),this.cancel.on("click",function(){this.input.set("value",""),this.typed()},this),this.lastsearch&&(this.input.set("value",this.lastsearch.get("value")),this.typed(),this.select.one("option[selected]")&&this.select.set("scrollTop",this.select.one("option[selected]").get("getX"))),this.validate()},validate:function(){this.button.set("disabled",""===this.select.get("value"))},typed:function(){var t,e=this.input.get("value"),s=0,i=null;for(t in this.lastsearch&&this.lastsearch.set("value",e),this.select.all("option").remove(),this.selectoptions)0<=t.indexOf(e)&&(s++,i=this.selectoptions[t],this.select.append(this.selectoptions[t]));0===s?this.input.addClass("error"):(this.input.removeClass("error"),1===s&&i.set("selected",!0)),""!==e?this.cancel.removeClass("d-none"):this.cancel.addClass("d-none"),this.validate()}},{NAME:"tool_capability-search",ATTRS:{strsearch:{}}}),M.tool_capability=M.tool_capability||{},M.tool_capability.init_capability_search=function(t){new e(t)}},"@VERSION@",{requires:["base","node"]});
+10 -20
View File
@@ -14,17 +14,7 @@
// You should have received a copy of the GNU General Public License
// along with Moodle. If not, see <http://www.gnu.org/licenses/>.
/**
* API tests.
*
* @package tool_cohortroles
* @copyright 2015 Damyon Wiese
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
*/
defined('MOODLE_INTERNAL') || die();
use tool_cohortroles\api;
namespace tool_cohortroles;
/**
* API tests.
@@ -33,17 +23,17 @@ use tool_cohortroles\api;
* @copyright 2015 Damyon Wiese
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
*/
class tool_cohortroles_api_testcase extends advanced_testcase {
/** @var stdClass $cohort */
class api_test extends \advanced_testcase {
/** @var \stdClass $cohort */
protected $cohort = null;
/** @var stdClass $userassignto */
/** @var \stdClass $userassignto */
protected $userassignto = null;
/** @var stdClass $userassignover */
/** @var \stdClass $userassignover */
protected $userassignover = null;
/** @var stdClass $role */
/** @var \stdClass $role */
protected $role = null;
/**
@@ -67,7 +57,7 @@ class tool_cohortroles_api_testcase extends advanced_testcase {
'roleid' => $this->roleid,
'cohortid' => $this->cohort->id
);
$this->expectException(required_capability_exception::class);
$this->expectException(\required_capability_exception::class);
api::create_cohort_role_assignment($params);
}
@@ -105,7 +95,7 @@ class tool_cohortroles_api_testcase extends advanced_testcase {
);
$result = api::create_cohort_role_assignment($params);
$this->setUser($this->userassignto);
$this->expectException(required_capability_exception::class);
$this->expectException(\required_capability_exception::class);
api::delete_cohort_role_assignment($result->get('id'));
}
@@ -117,7 +107,7 @@ class tool_cohortroles_api_testcase extends advanced_testcase {
'cohortid' => $this->cohort->id
);
$result = api::create_cohort_role_assignment($params);
$this->expectException(dml_missing_record_exception::class);
$this->expectException(\dml_missing_record_exception::class);
api::delete_cohort_role_assignment($result->get('id') + 1);
}
@@ -274,7 +264,7 @@ class tool_cohortroles_api_testcase extends advanced_testcase {
$this->assertEquals($sync, $expected);
// Verify roles assigned by any other component are not removed.
$usercontext = context_user::instance($this->userassignover->id);
$usercontext = \context_user::instance($this->userassignover->id);
role_assign($this->roleid, $this->userassignto->id, $usercontext->id);
$sync = api::sync_all_cohort_roles();
@@ -22,14 +22,15 @@
* @copyright 2018 Zig Tan <zig@moodle.com>
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
*/
namespace tool_cohortroles\privacy;
defined('MOODLE_INTERNAL') || die();
global $CFG;
use \core_privacy\local\request\writer;
use \core_privacy\local\request\approved_contextlist;
use \tool_cohortroles\api;
use \tool_cohortroles\privacy\provider;
use core_privacy\local\request\writer;
use core_privacy\local\request\approved_contextlist;
use tool_cohortroles\api;
use tool_cohortroles\privacy\provider;
use core_privacy\local\request\approved_userlist;
/**
@@ -38,7 +39,7 @@ use core_privacy\local\request\approved_userlist;
* @copyright 2018 Zig Tan <zig@moodle.com>
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
*/
class tool_cohortroles_privacy_testcase extends \core_privacy\tests\provider_testcase {
class provider_test extends \core_privacy\tests\provider_testcase {
/**
* Overriding setUp() function to always reset after tests.
@@ -61,7 +62,7 @@ class tool_cohortroles_privacy_testcase extends \core_privacy\tests\provider_tes
// Create course category.
$coursecategory = $this->getDataGenerator()->create_category();
$coursecategoryctx = \context_coursecat::instance($coursecategory->id);
$systemctx = context_system::instance();
$systemctx = \context_system::instance();
// Create course.
$course = $this->getDataGenerator()->create_course();
$coursectx = \context_course::instance($course->id);
@@ -102,7 +103,7 @@ class tool_cohortroles_privacy_testcase extends \core_privacy\tests\provider_tes
// Create course category.
$coursecategory = $this->getDataGenerator()->create_category();
$coursecategoryctx = \context_coursecat::instance($coursecategory->id);
$systemctx = context_system::instance();
$systemctx = \context_system::instance();
// Create course.
$course = $this->getDataGenerator()->create_course();
$coursectx = \context_course::instance($course->id);
@@ -154,7 +155,7 @@ class tool_cohortroles_privacy_testcase extends \core_privacy\tests\provider_tes
// Create course category.
$coursecategory = $this->getDataGenerator()->create_category();
$coursecategoryctx = \context_coursecat::instance($coursecategory->id);
$systemctx = context_system::instance();
$systemctx = \context_system::instance();
$this->setup_test_scenario_data($user->id, $systemctx, 1);
$this->setup_test_scenario_data($user->id, $coursecategoryctx, 1, 'Sausage roll 2',
@@ -170,7 +171,7 @@ class tool_cohortroles_privacy_testcase extends \core_privacy\tests\provider_tes
$this->assertCount(2, $contexts);
// Make sure the user data is only being deleted in within the system and course category context.
$usercontext = context_user::instance($user->id);
$usercontext = \context_user::instance($user->id);
// Delete all the User's records in mdl_tool_cohortroles table by the user context.
provider::delete_data_for_all_users_in_context($usercontext);
@@ -213,7 +214,7 @@ class tool_cohortroles_privacy_testcase extends \core_privacy\tests\provider_tes
// Create course category.
$coursecategory = $this->getDataGenerator()->create_category();
$coursecategoryctx = \context_coursecat::instance($coursecategory->id);
$systemctx = context_system::instance();
$systemctx = \context_system::instance();
$this->setup_test_scenario_data($user->id, $systemctx, 1);
$this->setup_test_scenario_data($user->id, $coursecategoryctx, 1, 'Sausage roll 2',
@@ -229,7 +230,7 @@ class tool_cohortroles_privacy_testcase extends \core_privacy\tests\provider_tes
$this->assertCount(2, $contexts);
// Make sure the user data is only being deleted in within the system and the course category contexts.
$usercontext = context_user::instance($user->id);
$usercontext = \context_user::instance($user->id);
// Delete all the User's records in mdl_tool_cohortroles table by the specified approved context list.
$approvedcontextlist = new approved_contextlist($user, 'tool_cohortroles', [$usercontext->id]);
provider::delete_data_for_user($approvedcontextlist);
@@ -255,12 +256,12 @@ class tool_cohortroles_privacy_testcase extends \core_privacy\tests\provider_tes
// Create a user.
$user = $this->getDataGenerator()->create_user();
$usercontext = context_user::instance($user->id);
$usercontext = \context_user::instance($user->id);
// Create course category.
$coursecategory = $this->getDataGenerator()->create_category();
$coursecategoryctx = \context_coursecat::instance($coursecategory->id);
$systemctx = context_system::instance();
$systemctx = \context_system::instance();
$this->setAdminUser();
@@ -301,12 +302,12 @@ class tool_cohortroles_privacy_testcase extends \core_privacy\tests\provider_tes
$user2 = $this->getDataGenerator()->create_user();
// Create user3.
$user3 = $this->getDataGenerator()->create_user();
$usercontext3 = context_user::instance($user3->id);
$usercontext3 = \context_user::instance($user3->id);
// Create course category.
$coursecategory = $this->getDataGenerator()->create_category();
$coursecategoryctx = \context_coursecat::instance($coursecategory->id);
$systemctx = context_system::instance();
$systemctx = \context_system::instance();
$this->setAdminUser();
+6 -5
View File
@@ -36,7 +36,7 @@ Useful for uploading custom langstrings to AMOS or importing or syncing them to
Options:
-l, --lang Comma seperated language ids to export, default: all
-c, --components Comma seperated components to export, default: all
-t, --target Target to copy the zip files to, default: $CFG->tempdir/customlang
-t, --target Target directory to copy the zip files to, default: $CFG->tempdir/customlang
-o, --overwrite Overwrite existing files in the target folder.
Note: If the target is not set, the files are always overwritten!
-h, --help Print out this help
@@ -73,9 +73,10 @@ if ($options['help']) {
echo $usage;
die;
}
if (!file_exists($options['target'])) {
mkdir($options['target'], 0777, true);
}
// Ensure target directory exists.
$options['target'] = rtrim($options['target'], '/') . '/';
check_dir_exists($options['target']);
cli_writeln(get_string('cliexportheading', 'tool_customlang'));
$langs = [];
@@ -90,7 +91,7 @@ foreach ($langs as $lang) {
$filename = $options['target'] . get_string('exportzipfilename', 'tool_customlang', ['lang' => $lang]);
// If the file exists and we are not using the temp folder it requires an ovewrite.
if ($options['target'] != $dafaulttarget && file_exists($filename) && !$options['overwrite']) {
cli_problem(get_string('cliexportfileexists', 'tool_customlang', $lang));
cli_problem(get_string('cliexportfileexists', 'tool_customlang', ['lang' => $lang]));
continue;
}
cli_heading(get_string('cliexportstartexport', 'tool_customlang', $lang));
+10
View File
@@ -160,6 +160,16 @@ foreach ($langfiles as $lng => $files) {
cli_heading(get_string('clifiles', 'tool_customlang', $lng));
// If we intend to check in any changes, we must first check them out.
if ($checkin) {
cli_writeln(get_string('checkout', 'tool_customlang'));
$progressbar = new progress_bar();
$progressbar->create();
tool_customlang_utils::checkout($lng, $progressbar);
}
foreach ($files as $file) {
// Generate a valid stored_file from this file.
$record = (object)[
+4 -4
View File
@@ -10,9 +10,9 @@
<FIELD NAME="lang" TYPE="char" LENGTH="20" NOTNULL="true" SEQUENCE="false" COMMENT="The code of the language this string belongs to. Like en, cs or es"/>
<FIELD NAME="componentid" TYPE="int" LENGTH="10" NOTNULL="true" SEQUENCE="false" COMMENT="The id of the component"/>
<FIELD NAME="stringid" TYPE="char" LENGTH="255" NOTNULL="true" SEQUENCE="false" COMMENT="The identifier of the string"/>
<FIELD NAME="original" TYPE="text" LENGTH="big" NOTNULL="true" SEQUENCE="false" COMMENT="English original of the string"/>
<FIELD NAME="master" TYPE="text" LENGTH="big" NOTNULL="false" SEQUENCE="false" COMMENT="Master translation of the string as is distributed in the official lang pack, null if not translated"/>
<FIELD NAME="local" TYPE="text" LENGTH="big" NOTNULL="false" SEQUENCE="false" COMMENT="Local customization of the string, null if not customized"/>
<FIELD NAME="original" TYPE="text" NOTNULL="true" SEQUENCE="false" COMMENT="English original of the string"/>
<FIELD NAME="master" TYPE="text" NOTNULL="false" SEQUENCE="false" COMMENT="Master translation of the string as is distributed in the official lang pack, null if not translated"/>
<FIELD NAME="local" TYPE="text" NOTNULL="false" SEQUENCE="false" COMMENT="Local customization of the string, null if not customized"/>
<FIELD NAME="timemodified" TYPE="int" LENGTH="10" NOTNULL="true" SEQUENCE="false" COMMENT="The timestamp of when the original or master was recently modified"/>
<FIELD NAME="timecustomized" TYPE="int" LENGTH="10" NOTNULL="false" SEQUENCE="false" COMMENT="The timestamp of when the value of the local translation was recently modified, null if not customized yet"/>
<FIELD NAME="outdated" TYPE="int" LENGTH="3" NOTNULL="false" DEFAULT="0" SEQUENCE="false" COMMENT="Either the English original or the master translation changed and the customization may be outdated"/>
@@ -37,4 +37,4 @@
</KEYS>
</TABLE>
</TABLES>
</XMLDB>
</XMLDB>
@@ -50,6 +50,7 @@ $string['customlang:export'] = 'Export local translation';
$string['customlang:view'] = 'View local translation';
$string['export'] = 'Export custom strings';
$string['exportfilter'] = 'Select component(s) to export';
$string['exportzipfilename'] = 'customlang-export-{$a->lang}.zip';
$string['filter'] = 'Filter strings';
$string['filtercomponent'] = 'Show strings of these components';
$string['filtercustomized'] = 'Customised only';
+18 -3
View File
@@ -36,7 +36,7 @@ class tool_customlang_utils {
* Rough number of strings that are being processed during a full checkout.
* This is used to estimate the progress of the checkout.
*/
const ROUGH_NUMBER_OF_STRINGS = 16500;
const ROUGH_NUMBER_OF_STRINGS = 32000;
/** @var array cache of {@link self::list_components()} results */
private static $components = null;
@@ -89,11 +89,26 @@ class tool_customlang_utils {
* @param progress_bar $progressbar optionally, the given progress bar can be updated
*/
public static function checkout($lang, progress_bar $progressbar = null) {
global $DB;
global $DB, $CFG;
require_once("{$CFG->libdir}/adminlib.php");
// For behat executions we are going to load only a few components in the
// language customisation structures. Using the whole "en" langpack is
// too much slow (leads to Selenium 30s timeouts, especially on slow
// environments) and we don't really need the whole thing for tests. So,
// apart from escaping from the timeouts, we are also saving some good minutes
// in tests. See MDL-70014 and linked issues for more info.
$behatneeded = ['core', 'core_langconfig', 'tool_customlang'];
// make sure that all components are registered
$current = $DB->get_records('tool_customlang_components', null, 'name', 'name,version,id');
foreach (self::list_components() as $component) {
// Filter out unwanted components when running behat.
if (defined('BEHAT_SITE_RUNNING') && !in_array($component, $behatneeded)) {
continue;
}
if (empty($current[$component])) {
$record = new stdclass();
$record->name = $component;
@@ -103,7 +118,7 @@ class tool_customlang_utils {
$record->version = $version;
}
$DB->insert_record('tool_customlang_components', $record);
} elseif ($version = get_component_version($component)) {
} else if ($version = get_component_version($component)) {
if (is_null($current[$component]->version) or ($version > $current[$component]->version)) {
$DB->set_field('tool_customlang_components', 'version', $version, array('id' => $current[$component]->id));
}
@@ -97,7 +97,7 @@
{{#modified}}list-group-item-info{{/modified}}"
>
<div class="row">
<div class="col-sm-4 col-md-2">
<div class="col-sm-4 col-md-2 text-break">
<div class="d-md-none">
<strong>{{#str}}headingcomponent, tool_customlang{{/str}}</strong>
</div>
@@ -36,7 +36,7 @@ use moodle_exception;
* @copyright 2020 Ferran Recio <ferran@moodle.com>
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
*/
class langstring_testcase extends advanced_testcase {
class langstring_test extends advanced_testcase {
/**
* Sanity 1.x string
@@ -34,7 +34,7 @@ use moodle_exception;
* @copyright 2015 Damyon Wiese
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
*/
class phpparser_testcase extends advanced_testcase {
class phpparser_test extends advanced_testcase {
/**
+10 -2
View File
@@ -1,2 +1,10 @@
define ("tool_dataprivacy/add_category",["jquery","core/str","core/ajax","core/notification","core/modal_factory","core/modal_events","core/fragment"],function(a,b,c,d,e,f,g){var h={CATEGORY_LINK:"[data-add-element=\"category\"]"},i=function(a){this.contextId=a;this.strings=b.get_strings([{key:"addcategory",component:"tool_dataprivacy"},{key:"save",component:"admin"}]);this.registerEventListeners()};i.prototype.contextId=0;i.prototype.strings=0;i.prototype.registerEventListeners=function(){var b=a(h.CATEGORY_LINK);b.on("click",function(){return this.strings.then(function(a){e.create({type:e.types.SAVE_CANCEL,title:a[0],body:""},b).done(function(b){this.setupFormModal(b,a[1])}.bind(this))}.bind(this)).fail(d.exception)}.bind(this))};i.prototype.getBody=function(a){var b=null;if("undefined"!=typeof a){b={jsonformdata:JSON.stringify(a)}}return g.loadFragment("tool_dataprivacy","addcategory_form",this.contextId,b)};i.prototype.setupFormModal=function(a,b){a.setLarge();a.setSaveButtonText(b);a.getRoot().on(f.hidden,this.destroy.bind(this));a.setBody(this.getBody());a.getRoot().on(f.save,this.submitForm.bind(this));a.getRoot().on("submit","form",this.submitFormAjax.bind(this));this.modal=a;a.show()};i.prototype.submitForm=function(a){a.preventDefault();this.modal.getRoot().find("form").submit()};i.prototype.submitFormAjax=function(a){a.preventDefault();var b=this.modal.getRoot().find("form").serialize();c.call([{methodname:"tool_dataprivacy_create_category_form",args:{jsonformdata:JSON.stringify(b)},done:function(a){if(a.validationerrors){this.modal.setBody(this.getBody(b))}else{this.close()}}.bind(this),fail:d.exception}])};i.prototype.close=function(){this.destroy();document.location.reload()};i.prototype.destroy=function(){Y.use("moodle-core-formchangechecker",function(){M.core_formchangechecker.reset_form_dirty_state()});this.modal.destroy()};i.prototype.removeListeners=function(){a(h.CATEGORY_LINK).off("click")};return{getInstance:function getInstance(a){return new i(a)}}});
//# sourceMappingURL=add_category.min.js.map
/**
* Module to add categories.
*
* @module tool_dataprivacy/add_category
* @copyright 2018 David Monllao
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
*/
define("tool_dataprivacy/add_category",["jquery","core/str","core/ajax","core/notification","core/modal_factory","core/modal_events","core/fragment"],(function($,Str,Ajax,Notification,ModalFactory,ModalEvents,Fragment){var SELECTORS_CATEGORY_LINK='[data-add-element="category"]',AddCategory=function(contextId){this.contextId=contextId;this.strings=Str.get_strings([{key:"addcategory",component:"tool_dataprivacy"},{key:"save",component:"admin"}]),this.registerEventListeners()};return AddCategory.prototype.contextId=0,AddCategory.prototype.strings=0,AddCategory.prototype.registerEventListeners=function(){var trigger=$(SELECTORS_CATEGORY_LINK);trigger.on("click",function(){return this.strings.then(function(strings){ModalFactory.create({type:ModalFactory.types.SAVE_CANCEL,title:strings[0],body:""},trigger).done(function(modal){this.setupFormModal(modal,strings[1])}.bind(this))}.bind(this)).fail(Notification.exception)}.bind(this))},AddCategory.prototype.getBody=function(formdata){var params=null;return void 0!==formdata&&(params={jsonformdata:JSON.stringify(formdata)}),Fragment.loadFragment("tool_dataprivacy","addcategory_form",this.contextId,params)},AddCategory.prototype.setupFormModal=function(modal,saveText){modal.setLarge(),modal.setSaveButtonText(saveText),modal.getRoot().on(ModalEvents.hidden,this.destroy.bind(this)),modal.setBody(this.getBody()),modal.getRoot().on(ModalEvents.save,this.submitForm.bind(this)),modal.getRoot().on("submit","form",this.submitFormAjax.bind(this)),this.modal=modal,modal.show()},AddCategory.prototype.submitForm=function(e){e.preventDefault(),this.modal.getRoot().find("form").submit()},AddCategory.prototype.submitFormAjax=function(e){e.preventDefault();var formData=this.modal.getRoot().find("form").serialize();Ajax.call([{methodname:"tool_dataprivacy_create_category_form",args:{jsonformdata:JSON.stringify(formData)},done:function(data){data.validationerrors?this.modal.setBody(this.getBody(formData)):this.close()}.bind(this),fail:Notification.exception}])},AddCategory.prototype.close=function(){this.destroy(),document.location.reload()},AddCategory.prototype.destroy=function(){Y.use("moodle-core-formchangechecker",(function(){M.core_formchangechecker.reset_form_dirty_state()})),this.modal.destroy()},AddCategory.prototype.removeListeners=function(){$(SELECTORS_CATEGORY_LINK).off("click")},{getInstance:function(contextId){return new AddCategory(contextId)}}}));
//# sourceMappingURL=add_category.min.js.map
File diff suppressed because one or more lines are too long
+10 -2
View File
@@ -1,2 +1,10 @@
define ("tool_dataprivacy/add_purpose",["jquery","core/str","core/ajax","core/notification","core/modal_factory","core/modal_events","core/fragment"],function(a,b,c,d,e,f,g){var h={PURPOSE_LINK:"[data-add-element=\"purpose\"]"},i=function(a){this.contextId=a;this.strings=b.get_strings([{key:"addpurpose",component:"tool_dataprivacy"},{key:"save",component:"admin"}]);this.registerEventListeners()};i.prototype.contextId=0;i.prototype.strings=0;i.prototype.registerEventListeners=function(){var b=a(h.PURPOSE_LINK);b.on("click",function(){return this.strings.then(function(a){e.create({type:e.types.SAVE_CANCEL,title:a[0],body:""},b).done(function(b){this.setupFormModal(b,a[1])}.bind(this))}.bind(this)).fail(d.exception)}.bind(this))};i.prototype.getBody=function(a){var b=null;if("undefined"!=typeof a){b={jsonformdata:JSON.stringify(a)}}return g.loadFragment("tool_dataprivacy","addpurpose_form",this.contextId,b)};i.prototype.setupFormModal=function(a,b){a.setLarge();a.setSaveButtonText(b);a.getRoot().on(f.hidden,this.destroy.bind(this));a.setBody(this.getBody());a.getRoot().on(f.save,this.submitForm.bind(this));a.getRoot().on("submit","form",this.submitFormAjax.bind(this));this.modal=a;a.show()};i.prototype.submitForm=function(a){a.preventDefault();this.modal.getRoot().find("form").submit()};i.prototype.submitFormAjax=function(a){a.preventDefault();var b=this.modal.getRoot().find("form").serialize();c.call([{methodname:"tool_dataprivacy_create_purpose_form",args:{jsonformdata:JSON.stringify(b)},done:function(a){if(a.validationerrors){this.modal.setBody(this.getBody(b))}else{this.close()}}.bind(this),fail:d.exception}])};i.prototype.close=function(){this.destroy();document.location.reload()};i.prototype.destroy=function(){Y.use("moodle-core-formchangechecker",function(){M.core_formchangechecker.reset_form_dirty_state()});this.modal.destroy()};i.prototype.removeListeners=function(){a(h.PURPOSE_LINK).off("click")};return{getInstance:function getInstance(a){return new i(a)}}});
//# sourceMappingURL=add_purpose.min.js.map
/**
* Module to add purposes.
*
* @module tool_dataprivacy/add_purpose
* @copyright 2018 David Monllao
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
*/
define("tool_dataprivacy/add_purpose",["jquery","core/str","core/ajax","core/notification","core/modal_factory","core/modal_events","core/fragment"],(function($,Str,Ajax,Notification,ModalFactory,ModalEvents,Fragment){var SELECTORS_PURPOSE_LINK='[data-add-element="purpose"]',AddPurpose=function(contextId){this.contextId=contextId;this.strings=Str.get_strings([{key:"addpurpose",component:"tool_dataprivacy"},{key:"save",component:"admin"}]),this.registerEventListeners()};return AddPurpose.prototype.contextId=0,AddPurpose.prototype.strings=0,AddPurpose.prototype.registerEventListeners=function(){var trigger=$(SELECTORS_PURPOSE_LINK);trigger.on("click",function(){return this.strings.then(function(strings){ModalFactory.create({type:ModalFactory.types.SAVE_CANCEL,title:strings[0],body:""},trigger).done(function(modal){this.setupFormModal(modal,strings[1])}.bind(this))}.bind(this)).fail(Notification.exception)}.bind(this))},AddPurpose.prototype.getBody=function(formdata){var params=null;return void 0!==formdata&&(params={jsonformdata:JSON.stringify(formdata)}),Fragment.loadFragment("tool_dataprivacy","addpurpose_form",this.contextId,params)},AddPurpose.prototype.setupFormModal=function(modal,saveText){modal.setLarge(),modal.setSaveButtonText(saveText),modal.getRoot().on(ModalEvents.hidden,this.destroy.bind(this)),modal.setBody(this.getBody()),modal.getRoot().on(ModalEvents.save,this.submitForm.bind(this)),modal.getRoot().on("submit","form",this.submitFormAjax.bind(this)),this.modal=modal,modal.show()},AddPurpose.prototype.submitForm=function(e){e.preventDefault(),this.modal.getRoot().find("form").submit()},AddPurpose.prototype.submitFormAjax=function(e){e.preventDefault();var formData=this.modal.getRoot().find("form").serialize();Ajax.call([{methodname:"tool_dataprivacy_create_purpose_form",args:{jsonformdata:JSON.stringify(formData)},done:function(data){data.validationerrors?this.modal.setBody(this.getBody(formData)):this.close()}.bind(this),fail:Notification.exception}])},AddPurpose.prototype.close=function(){this.destroy(),document.location.reload()},AddPurpose.prototype.destroy=function(){Y.use("moodle-core-formchangechecker",(function(){M.core_formchangechecker.reset_form_dirty_state()})),this.modal.destroy()},AddPurpose.prototype.removeListeners=function(){$(SELECTORS_PURPOSE_LINK).off("click")},{getInstance:function(contextId){return new AddPurpose(contextId)}}}));
//# sourceMappingURL=add_purpose.min.js.map
File diff suppressed because one or more lines are too long
+10 -2
View File
@@ -1,2 +1,10 @@
define ("tool_dataprivacy/categoriesactions",["jquery","core/ajax","core/notification","core/str","core/modal_factory","core/modal_events"],function(a,b,c,d,e,f){var g={DELETE:"[data-action=\"deletecategory\"]"},h=function(){this.registerEvents()};h.prototype.registerEvents=function(){a(g.DELETE).click(function(g){g.preventDefault();var h=a(this).data("id"),i=a(this).data("name");d.get_strings([{key:"deletecategory",component:"tool_dataprivacy"},{key:"deletecategorytext",component:"tool_dataprivacy",param:i},{key:"delete"}]).then(function(d){var g=d[0],i=d[1],j=d[2];return e.create({title:g,body:i,type:e.types.SAVE_CANCEL}).then(function(d){d.setSaveButtonText(j);d.getRoot().on(f.save,function(){b.call([{methodname:"tool_dataprivacy_delete_category",args:{id:h}}])[0].done(function(b){if(b.result){a("tr[data-categoryid=\""+h+"\"]").remove()}else{c.addNotification({message:b.warnings[0].message,type:"error"})}}).fail(c.exception)});d.getRoot().on(f.hidden,function(){d.destroy()});return d})}).done(function(a){a.show()}).fail(c.exception)})};return{init:function init(){return new h}}});
//# sourceMappingURL=categoriesactions.min.js.map
/**
* AMD module for categories actions.
*
* @module tool_dataprivacy/categoriesactions
* @copyright 2018 David Monllao
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
*/
define("tool_dataprivacy/categoriesactions",["jquery","core/ajax","core/notification","core/str","core/modal_factory","core/modal_events"],(function($,Ajax,Notification,Str,ModalFactory,ModalEvents){var ACTIONS_DELETE='[data-action="deletecategory"]',CategoriesActions=function(){this.registerEvents()};return CategoriesActions.prototype.registerEvents=function(){$(ACTIONS_DELETE).click((function(e){e.preventDefault();var id=$(this).data("id"),stringkeys=[{key:"deletecategory",component:"tool_dataprivacy"},{key:"deletecategorytext",component:"tool_dataprivacy",param:$(this).data("name")},{key:"delete"}];Str.get_strings(stringkeys).then((function(langStrings){var title=langStrings[0],confirmMessage=langStrings[1],buttonText=langStrings[2];return ModalFactory.create({title:title,body:confirmMessage,type:ModalFactory.types.SAVE_CANCEL}).then((function(modal){return modal.setSaveButtonText(buttonText),modal.getRoot().on(ModalEvents.save,(function(){var request={methodname:"tool_dataprivacy_delete_category",args:{id:id}};Ajax.call([request])[0].done((function(data){data.result?$('tr[data-categoryid="'+id+'"]').remove():Notification.addNotification({message:data.warnings[0].message,type:"error"})})).fail(Notification.exception)})),modal.getRoot().on(ModalEvents.hidden,(function(){modal.destroy()})),modal}))})).done((function(modal){modal.show()})).fail(Notification.exception)}))},{init:function(){return new CategoriesActions}}}));
//# sourceMappingURL=categoriesactions.min.js.map
File diff suppressed because one or more lines are too long
+10 -2
View File
@@ -1,2 +1,10 @@
define ("tool_dataprivacy/contactdpo",["exports","core_form/modalform","core/notification","core/str","core/toast"],function(a,b,c,d,e){"use strict";Object.defineProperty(a,"__esModule",{value:!0});a.init=void 0;b=f(b);c=f(c);function f(a){return a&&a.__esModule?a:{default:a}}var g={CONTACT_DPO:"[data-action=\"contactdpo\"]"};a.init=function init(){var a=document.querySelector(g.CONTACT_DPO);a.addEventListener("click",function(f){f.preventDefault();var g=new b.default({modalConfig:{title:(0,d.get_string)("contactdataprotectionofficer","tool_dataprivacy")},formClass:"tool_dataprivacy\\form\\contactdpo",saveButtonText:(0,d.get_string)("send","tool_dataprivacy"),returnFocus:a});g.addEventListener(g.events.FORM_SUBMITTED,function(a){if(a.detail.result){(0,d.get_string)("requestsubmitted","tool_dataprivacy").then(e.add).catch()}else{var b=a.detail.warnings.map(function(a){return a.message});c.default.addNotification({type:"error",message:b.join("<br>")})}});g.show()})}});
//# sourceMappingURL=contactdpo.min.js.map
define("tool_dataprivacy/contactdpo",["exports","core_form/modalform","core/notification","core/str","core/toast"],(function(_exports,_modalform,_notification,_str,_toast){function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj}}
/**
* Javascript module for contacting the site DPO
*
* @module tool_dataprivacy/contactdpo
* @copyright 2021 Paul Holden <paulh@moodle.com>
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
*/Object.defineProperty(_exports,"__esModule",{value:!0}),_exports.init=void 0,_modalform=_interopRequireDefault(_modalform),_notification=_interopRequireDefault(_notification);var SELECTORS_CONTACT_DPO='[data-action="contactdpo"]';_exports.init=function(){var triggerElement=document.querySelector(SELECTORS_CONTACT_DPO);triggerElement.addEventListener("click",(function(event){event.preventDefault();var modalForm=new _modalform.default({modalConfig:{title:(0,_str.get_string)("contactdataprotectionofficer","tool_dataprivacy")},formClass:"tool_dataprivacy\\form\\contactdpo",saveButtonText:(0,_str.get_string)("send","tool_dataprivacy"),returnFocus:triggerElement});modalForm.addEventListener(modalForm.events.FORM_SUBMITTED,(function(event){if(event.detail.result)(0,_str.get_string)("requestsubmitted","tool_dataprivacy").then(_toast.add).catch();else{var warningMessages=event.detail.warnings.map((function(warning){return warning.message}));_notification.default.addNotification({type:"error",message:warningMessages.join("<br>")})}})),modalForm.show()}))}}));
//# sourceMappingURL=contactdpo.min.js.map
@@ -1 +1 @@
{"version":3,"sources":["../src/contactdpo.js"],"names":["SELECTORS","CONTACT_DPO","init","triggerElement","document","querySelector","addEventListener","event","preventDefault","modalForm","ModalForm","modalConfig","title","formClass","saveButtonText","returnFocus","events","FORM_SUBMITTED","detail","result","then","addToast","catch","warningMessages","warnings","map","warning","message","Notification","addNotification","type","join","show"],"mappings":"oNAuBA,OACA,O,sDAIMA,CAAAA,CAAS,CAAG,CACdC,WAAW,CAAE,8BADC,C,QAOE,QAAPC,CAAAA,IAAO,EAAM,CACtB,GAAMC,CAAAA,CAAc,CAAGC,QAAQ,CAACC,aAAT,CAAuBL,CAAS,CAACC,WAAjC,CAAvB,CAEAE,CAAc,CAACG,gBAAf,CAAgC,OAAhC,CAAyC,SAAAC,CAAK,CAAI,CAC9CA,CAAK,CAACC,cAAN,GAEA,GAAMC,CAAAA,CAAS,CAAG,GAAIC,UAAJ,CAAc,CAC5BC,WAAW,CAAE,CACTC,KAAK,CAAE,iBAAU,8BAAV,CAA0C,kBAA1C,CADE,CADe,CAI5BC,SAAS,CAAE,oCAJiB,CAK5BC,cAAc,CAAE,iBAAU,MAAV,CAAkB,kBAAlB,CALY,CAM5BC,WAAW,CAAEZ,CANe,CAAd,CAAlB,CAUAM,CAAS,CAACH,gBAAV,CAA2BG,CAAS,CAACO,MAAV,CAAiBC,cAA5C,CAA4D,SAAAV,CAAK,CAAI,CACjE,GAAIA,CAAK,CAACW,MAAN,CAAaC,MAAjB,CAAyB,CACrB,iBAAU,kBAAV,CAA8B,kBAA9B,EAAkDC,IAAlD,CAAuDC,KAAvD,EAAiEC,KAAjE,EACH,CAFD,IAEO,CACH,GAAMC,CAAAA,CAAe,CAAGhB,CAAK,CAACW,MAAN,CAAaM,QAAb,CAAsBC,GAAtB,CAA0B,SAAAC,CAAO,QAAIA,CAAAA,CAAO,CAACC,OAAZ,CAAjC,CAAxB,CACAC,UAAaC,eAAb,CAA6B,CACzBC,IAAI,CAAE,OADmB,CAEzBH,OAAO,CAAEJ,CAAe,CAACQ,IAAhB,CAAqB,MAArB,CAFgB,CAA7B,CAIH,CACJ,CAVD,EAYAtB,CAAS,CAACuB,IAAV,EACH,CA1BD,CA2BH,C","sourcesContent":["// This file is part of Moodle - http://moodle.org/\n//\n// Moodle is free software: you can redistribute it and/or modify\n// it under the terms of the GNU General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// Moodle is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU General Public License for more details.\n//\n// You should have received a copy of the GNU General Public License\n// along with Moodle. If not, see <http://www.gnu.org/licenses/>.\n\n/**\n * Javascript module for contacting the site DPO\n *\n * @module tool_dataprivacy/contactdpo\n * @copyright 2021 Paul Holden <paulh@moodle.com>\n * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later\n */\n\nimport ModalForm from 'core_form/modalform';\nimport Notification from 'core/notification';\nimport {get_string as getString} from 'core/str';\nimport {add as addToast} from 'core/toast';\n\nconst SELECTORS = {\n CONTACT_DPO: '[data-action=\"contactdpo\"]',\n};\n\n/**\n * Initialize module\n */\nexport const init = () => {\n const triggerElement = document.querySelector(SELECTORS.CONTACT_DPO);\n\n triggerElement.addEventListener('click', event => {\n event.preventDefault();\n\n const modalForm = new ModalForm({\n modalConfig: {\n title: getString('contactdataprotectionofficer', 'tool_dataprivacy'),\n },\n formClass: 'tool_dataprivacy\\\\form\\\\contactdpo',\n saveButtonText: getString('send', 'tool_dataprivacy'),\n returnFocus: triggerElement,\n });\n\n // Show a toast notification when the form is submitted.\n modalForm.addEventListener(modalForm.events.FORM_SUBMITTED, event => {\n if (event.detail.result) {\n getString('requestsubmitted', 'tool_dataprivacy').then(addToast).catch();\n } else {\n const warningMessages = event.detail.warnings.map(warning => warning.message);\n Notification.addNotification({\n type: 'error',\n message: warningMessages.join('<br>')\n });\n }\n });\n\n modalForm.show();\n });\n};\n"],"file":"contactdpo.min.js"}
{"version":3,"file":"contactdpo.min.js","sources":["../src/contactdpo.js"],"sourcesContent":["// This file is part of Moodle - http://moodle.org/\n//\n// Moodle is free software: you can redistribute it and/or modify\n// it under the terms of the GNU General Public License as published by\n// the Free Software Foundation, either version 3 of the License, or\n// (at your option) any later version.\n//\n// Moodle is distributed in the hope that it will be useful,\n// but WITHOUT ANY WARRANTY; without even the implied warranty of\n// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n// GNU General Public License for more details.\n//\n// You should have received a copy of the GNU General Public License\n// along with Moodle. If not, see <http://www.gnu.org/licenses/>.\n\n/**\n * Javascript module for contacting the site DPO\n *\n * @module tool_dataprivacy/contactdpo\n * @copyright 2021 Paul Holden <paulh@moodle.com>\n * @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later\n */\n\nimport ModalForm from 'core_form/modalform';\nimport Notification from 'core/notification';\nimport {get_string as getString} from 'core/str';\nimport {add as addToast} from 'core/toast';\n\nconst SELECTORS = {\n CONTACT_DPO: '[data-action=\"contactdpo\"]',\n};\n\n/**\n * Initialize module\n */\nexport const init = () => {\n const triggerElement = document.querySelector(SELECTORS.CONTACT_DPO);\n\n triggerElement.addEventListener('click', event => {\n event.preventDefault();\n\n const modalForm = new ModalForm({\n modalConfig: {\n title: getString('contactdataprotectionofficer', 'tool_dataprivacy'),\n },\n formClass: 'tool_dataprivacy\\\\form\\\\contactdpo',\n saveButtonText: getString('send', 'tool_dataprivacy'),\n returnFocus: triggerElement,\n });\n\n // Show a toast notification when the form is submitted.\n modalForm.addEventListener(modalForm.events.FORM_SUBMITTED, event => {\n if (event.detail.result) {\n getString('requestsubmitted', 'tool_dataprivacy').then(addToast).catch();\n } else {\n const warningMessages = event.detail.warnings.map(warning => warning.message);\n Notification.addNotification({\n type: 'error',\n message: warningMessages.join('<br>')\n });\n }\n });\n\n modalForm.show();\n });\n};\n"],"names":["SELECTORS","triggerElement","document","querySelector","addEventListener","event","preventDefault","modalForm","ModalForm","modalConfig","title","formClass","saveButtonText","returnFocus","events","FORM_SUBMITTED","detail","result","then","addToast","catch","warningMessages","warnings","map","warning","message","addNotification","type","join","show"],"mappings":";;;;;;;wLA4BMA,sBACW,2CAMG,eACVC,eAAiBC,SAASC,cAAcH,uBAE9CC,eAAeG,iBAAiB,SAAS,SAAAC,OACrCA,MAAMC,qBAEAC,UAAY,IAAIC,mBAAU,CAC5BC,YAAa,CACTC,OAAO,mBAAU,+BAAgC,qBAErDC,UAAW,qCACXC,gBAAgB,mBAAU,OAAQ,oBAClCC,YAAaZ,iBAIjBM,UAAUH,iBAAiBG,UAAUO,OAAOC,gBAAgB,SAAAV,UACpDA,MAAMW,OAAOC,2BACH,mBAAoB,oBAAoBC,KAAKC,YAAUC,YAC9D,KACGC,gBAAkBhB,MAAMW,OAAOM,SAASC,KAAI,SAAAC,gBAAWA,QAAQC,iCACxDC,gBAAgB,CACzBC,KAAM,QACNF,QAASJ,gBAAgBO,KAAK,cAK1CrB,UAAUsB"}
+10 -2
View File
@@ -1,2 +1,10 @@
define ("tool_dataprivacy/data_deletion",["jquery","core/ajax","core/notification","core/str","core/modal_factory","core/modal_events"],function(a,b,c,d,e,f){var h={MARK_FOR_DELETION:"[data-action=\"markfordeletion\"]",SELECT_ALL:"[data-action=\"selectall\"]"},i={SELECTCONTEXT:".selectcontext"},j=function(){this.registerEvents()};j.prototype.registerEvents=function(){a(h.MARK_FOR_DELETION).click(function(b){b.preventDefault();var c=[];a(i.SELECTCONTEXT).each(function(){var b=a(this);if(b.is(":checked")){c.push(b.val())}});g(c)});a(h.SELECT_ALL).change(function(b){b.preventDefault();var c=a(this);if(c.is(":checked")){a(i.SELECTCONTEXT).attr("checked","checked")}else{a(i.SELECTCONTEXT).removeAttr("checked")}})};function g(a){var g="";d.get_strings([{key:"confirm",component:"moodle"},{key:"confirmcontextdeletion",component:"tool_dataprivacy"}]).then(function(a){g=a[0];var b=a[1];return e.create({title:g,body:b,type:e.types.SAVE_CANCEL})}).then(function(d){d.setSaveButtonText(g);d.getRoot().on(f.save,function(){b.call([{methodname:"tool_dataprivacy_confirm_contexts_for_deletion",args:{ids:a}}])[0].done(function(a){if(a.result){window.location.reload()}else{c.addNotification({message:a.warnings[0].message,type:"error"})}}).fail(c.exception)});d.getRoot().on(f.hidden,function(){d.destroy()});return d}).done(function(a){a.show()}).fail(c.exception)}return j});
//# sourceMappingURL=data_deletion.min.js.map
/**
* Request actions.
*
* @module tool_dataprivacy/data_deletion
* @copyright 2018 Jun Pataleta
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
*/
define("tool_dataprivacy/data_deletion",["jquery","core/ajax","core/notification","core/str","core/modal_factory","core/modal_events"],(function($,Ajax,Notification,Str,ModalFactory,ModalEvents){var ACTIONS_MARK_FOR_DELETION='[data-action="markfordeletion"]',ACTIONS_SELECT_ALL='[data-action="selectall"]',SELECTORS_SELECTCONTEXT=".selectcontext",DataDeletionActions=function(){this.registerEvents()};return DataDeletionActions.prototype.registerEvents=function(){$(ACTIONS_MARK_FOR_DELETION).click((function(e){e.preventDefault();var ids,keys,wsfunction,modalTitle,selectedIds=[];$(SELECTORS_SELECTCONTEXT).each((function(){var checkbox=$(this);checkbox.is(":checked")&&selectedIds.push(checkbox.val())})),ids=selectedIds,keys=[{key:"confirm",component:"moodle"},{key:"confirmcontextdeletion",component:"tool_dataprivacy"}],wsfunction="tool_dataprivacy_confirm_contexts_for_deletion",modalTitle="",Str.get_strings(keys).then((function(langStrings){modalTitle=langStrings[0];var confirmMessage=langStrings[1];return ModalFactory.create({title:modalTitle,body:confirmMessage,type:ModalFactory.types.SAVE_CANCEL})})).then((function(modal){return modal.setSaveButtonText(modalTitle),modal.getRoot().on(ModalEvents.save,(function(){var request={methodname:wsfunction,args:{ids:ids}};Ajax.call([request])[0].done((function(data){data.result?window.location.reload():Notification.addNotification({message:data.warnings[0].message,type:"error"})})).fail(Notification.exception)})),modal.getRoot().on(ModalEvents.hidden,(function(){modal.destroy()})),modal})).done((function(modal){modal.show()})).fail(Notification.exception)})),$(ACTIONS_SELECT_ALL).change((function(e){e.preventDefault(),$(this).is(":checked")?$(SELECTORS_SELECTCONTEXT).attr("checked","checked"):$(SELECTORS_SELECTCONTEXT).removeAttr("checked")}))},DataDeletionActions}));
//# sourceMappingURL=data_deletion.min.js.map
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
+10 -2
View File
@@ -1,2 +1,10 @@
define ("tool_dataprivacy/data_request_modal",["jquery","core/notification","core/custom_interaction_events","core/modal","core/modal_registry","tool_dataprivacy/events"],function(a,b,c,d,e,f){var g=!1,h={APPROVE_BUTTON:"[data-action=\"approve\"]",DENY_BUTTON:"[data-action=\"deny\"]",COMPLETE_BUTTON:"[data-action=\"complete\"]"},i=function(a){d.call(this,a)};i.TYPE="tool_dataprivacy-data_request";i.prototype=Object.create(d.prototype);i.prototype.constructor=i;i.prototype.registerEventListeners=function(){d.prototype.registerEventListeners.call(this);this.getModal().on(c.events.activate,h.APPROVE_BUTTON,function(b,c){var d=a.Event(f.approve);this.getRoot().trigger(d,this);if(!d.isDefaultPrevented()){this.hide();c.originalEvent.preventDefault()}}.bind(this));this.getModal().on(c.events.activate,h.DENY_BUTTON,function(b,c){var d=a.Event(f.deny);this.getRoot().trigger(d,this);if(!d.isDefaultPrevented()){this.hide();c.originalEvent.preventDefault()}}.bind(this));this.getModal().on(c.events.activate,h.COMPLETE_BUTTON,function(b,c){var d=a.Event(f.complete);this.getRoot().trigger(d,this);if(!d.isDefaultPrevented()){this.hide();c.originalEvent.preventDefault()}}.bind(this))};if(!g){e.register(i.TYPE,i,"tool_dataprivacy/data_request_modal");g=!0}return i});
//# sourceMappingURL=data_request_modal.min.js.map
/**
* Request actions.
*
* @module tool_dataprivacy/data_request_modal
* @copyright 2018 Jun Pataleta
* @license http://www.gnu.org/copyleft/gpl.html GNU GPL v3 or later
*/
define("tool_dataprivacy/data_request_modal",["jquery","core/notification","core/custom_interaction_events","core/modal","core/modal_registry","tool_dataprivacy/events"],(function($,Notification,CustomEvents,Modal,ModalRegistry,DataPrivacyEvents){var registered=!1,SELECTORS_APPROVE_BUTTON='[data-action="approve"]',SELECTORS_DENY_BUTTON='[data-action="deny"]',SELECTORS_COMPLETE_BUTTON='[data-action="complete"]',ModalDataRequest=function(root){Modal.call(this,root)};return ModalDataRequest.TYPE="tool_dataprivacy-data_request",(ModalDataRequest.prototype=Object.create(Modal.prototype)).constructor=ModalDataRequest,ModalDataRequest.prototype.registerEventListeners=function(){Modal.prototype.registerEventListeners.call(this),this.getModal().on(CustomEvents.events.activate,SELECTORS_APPROVE_BUTTON,function(e,data){var approveEvent=$.Event(DataPrivacyEvents.approve);this.getRoot().trigger(approveEvent,this),approveEvent.isDefaultPrevented()||(this.hide(),data.originalEvent.preventDefault())}.bind(this)),this.getModal().on(CustomEvents.events.activate,SELECTORS_DENY_BUTTON,function(e,data){var denyEvent=$.Event(DataPrivacyEvents.deny);this.getRoot().trigger(denyEvent,this),denyEvent.isDefaultPrevented()||(this.hide(),data.originalEvent.preventDefault())}.bind(this)),this.getModal().on(CustomEvents.events.activate,SELECTORS_COMPLETE_BUTTON,function(e,data){var completeEvent=$.Event(DataPrivacyEvents.complete);this.getRoot().trigger(completeEvent,this),completeEvent.isDefaultPrevented()||(this.hide(),data.originalEvent.preventDefault())}.bind(this))},registered||(ModalRegistry.register(ModalDataRequest.TYPE,ModalDataRequest,"tool_dataprivacy/data_request_modal"),registered=!0),ModalDataRequest}));
//# sourceMappingURL=data_request_modal.min.js.map
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long

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