Commit graph

889 commits

Author SHA1 Message Date
Andrew Nicols
9dc2ee548d MDL-74235 mod_lti: Update use of logo to monologo 2022-04-07 13:43:55 +06:00
Ilya Tregubov
29da0c7f2a Merge branch 'MDL-74235-master-2' of https://github.com/andrewnicols/moodle 2022-04-07 12:06:38 +06:00
Andrew Nicols
4b388fc239 MDL-74235 core: Update core uses of activity icons to monologo 2022-04-07 12:56:14 +08:00
Andrew Nicols
eb0a95956f MDL-74235 mod: Rename activity icons to new monologo naming 2022-04-07 12:56:14 +08:00
Amaia Anabitarte
8d8b8d9066 MDL-74381 core_themes: Resizing svg mod icons to 24px 2022-04-06 11:19:10 +02:00
Jun Pataleta
a4d0770b87 Merge branch 'MDL-71801-master' of https://github.com/snake/moodle 2022-03-30 16:14:11 +08:00
Jake Dallimore
a1e763e670 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:55 +08:00
Jun Pataleta
935a18f7b0 Merge branch 'MDL-73848-master' of https://github.com/junpataleta/moodle 2022-03-25 17:58:18 +08:00
Sujith Haridasan
1bb972ae0a MDL-73848 administration: Add tests for breadcrumbs and nav highlights
This change includes addition of tests for verifying the secondary
and tertiary nav highlights.
It also includes the tests to verify the breadcrumbs for the pages.
2022-03-25 17:44:58 +08:00
Sujith Haridasan
aa1c2e2382 MDL-73848 administration: Fix the breadcrumbs and nav highlights
Create or update the breadcrumbs in the site administration
pages where it is required.
Highlight the corresponding site adminstration tab.
Highlight the primary nav to Site administration when user
is navigating to any of the site administration pages.

Also changed the boostnavbar so that the nodes in the secondary
navigation are not shown in the breadcrumbs when user is in site
administration page.
2022-03-25 17:44:47 +08:00
Claude Vervoort
15e8003631 MDL-74310 mod_lti: fix ltilinkid on lineitems import 2022-03-24 14:14:56 -04:00
Sara Arjona
838704aa85 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:22:58 +01:00
Sara Arjona
5584c7b6a6 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:45:42 +01:00
Dongsheng Cai
f97b86e841 MDL-72991 Course: Partial course cache rebuild
When updating/deleting a section/module, the system now only
invalidate of the element (section/module), not the whole course cache
Also, the system now only recalculate the cache for element (section/module)
if necessary, not the whole course cache

Move module/section purging to course_modinfo:
  + course_modinfo::purge_course_section_cache_by_id was created to purge section by id
  + course_modinfo::purge_course_section_cache_by_number was created to purge section by number
  + course_modinfo::purge_course_module_cache was created to purge module
2022-03-17 15:34:01 +07:00
Sara Arjona
869b0fb1bb Merge branch 'MDL-73779_dynreg_sup_msgs' of https://github.com/cengage/moodle 2022-03-09 13:11:12 +01:00
Andrew Nicols
e1b9d5f3cd MDL-73915 js: Drop support for IE and android
Moodle announced that support for IE would be dropped back in August
2020 with Moodle 3.9 but not active steps were taken at that time. That
decision was made in MDLSITE-6109 and this particular step was meant to
be taken in Moodle 3.10.

This is the first step taken to actively drop support for IE.

This commit also bumps the browser support pattern from 0.25% to 0.3%.
The percentage here includes any browser where at least this percentage
of users worldwide may be using a browser. In this case it causes
support for Android 4.3-4.4 to be dropped, which relate to Android
KitKat (released 2013).

This combination of changes means that all of the supported browsers in
our compatibility list support modern features including async,
for...of, classes, native Promises, and more which has a huge impact on
the ease of debugging code, and drastically reduces the minified file
size because a number of native Polyfills included by Babel are no
longer included.
2022-02-23 08:55:20 +08:00
Andrew Nicols
0a4047ab31 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:55:09 +08:00
Andrew Nicols
aa7f7957ea MDL-73915 js: Upgrade babel and eslint 2022-02-23 08:53:54 +08:00
Sara Arjona
ee20a7ae7b Merge branch 'MDL-73834' of https://github.com/stronk7/moodle 2022-02-15 17:18:38 +01:00
Eloy Lafuente (stronk7)
a419c7ec12 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-14 10:26:45 +01:00
Eloy Lafuente (stronk7)
d66a5316ae 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:05 +01:00
Eloy Lafuente (stronk7)
64969e82d7 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:05 +01:00
Eloy Lafuente (stronk7)
3bb4a4009c 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:03 +01:00
Claude Vervoort
b4d9519c47 MDL-73779 mod_lti: dynreg fix messages supported 2022-02-04 15:32:55 -05:00
Amaia Anabitarte
4c7fac1957 MDL-71712 lib: Set Moodle files after PHP-JWT upgrade 2022-02-01 16:25:35 +01:00
Eloy Lafuente (stronk7)
100bc51f1d 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/events/events_test.php because it uses
some renamed (core_calendar_externallib_testcase => \core_calendar\externallib_test)
classes.
2022-01-21 19:48:23 +01:00
Eloy Lafuente (stronk7)
d2ad5e8461 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:22 +01:00
Eloy Lafuente (stronk7)
511801cb46 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:42 +01:00
Sara Arjona
09d3e88c48 NOBUG: Fixed SVG browser compatibility 2021-12-23 16:29:57 +01:00
Sara Arjona
7f9cf60fd0 Merge branch 'MDL-69023_mod-lti-conflicts-with-text-alignment-in-chat-messages' of https://github.com/ziegenberg/moodle 2021-12-22 16:27:57 +01:00
Shamim Rezaie
dacfebedf3 Merge branch 'MDL-73348' of https://github.com/stronk7/moodle 2021-12-22 21:19:52 +11:00
Bas Brands
f2ddd23ec1 MDL-71457 theme_boost: activity icon styling 2021-12-20 15:02:24 +01:00
Bas Brands
5958c0df0c MDL-71457 theme_boost: replace all activity icons 2021-12-20 09:24:19 +01:00
Eloy Lafuente (stronk7)
e4a2d9c1d4 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:02 +01:00
Eloy Lafuente (stronk7)
57e6fb7ad9 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:02 +01:00
Ilya Tregubov
16a7c3a698 Merge branch 'MDL-72413-master-dec13' of https://github.com/peterRd/moodle 2021-12-13 09:35:14 +02:00
Peter Dias
65ae3c1660 MDL-72413 lti: Use the common module for setting the header 2021-12-13 09:49:34 +08:00
Daniel Ziegenberg
73a2110269
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:39:27 +01:00
Eloy Lafuente (stronk7)
deb0e76eee 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:29 +01:00
Eloy Lafuente (stronk7)
20d3cd6f88 Merge branch 'MDL-72988' of https://github.com/paulholden/moodle 2021-11-24 23:49:41 +01:00
Ilya Tregubov
47c9289420 MDL-69092 mod_lti: Fix typo. 2021-11-19 09:50:36 +02:00
Andrew Madden
36f3aee38e MDL-69092 mod_lti: Add js_pending to help behat tests 2021-11-19 09:50:35 +02:00
Paul Holden
9a56e2ba1f MDL-72988 mod_lti: improved handling of missing tool endpoint. 2021-11-18 22:55:01 +00:00
Eloy Lafuente (stronk7)
628de2bf08 MDL-69092 mod_lti: SQL fix for cross-db 2021-11-18 20:46:56 +01:00
Andrew Madden
f435f313e0 MDL-69092 mod_lti: Add pagination to toolconfigure.php.
* Add local function to access subsets of proxies and types direct from DB.
* Add local function to access count of proxies and types direct from DB.
* Add new external function to get both proxies and types with pagination.
* Add new external function to get count of proxies and types.
* Implement pagination using page factory in JS.
* Added unit tests to cover new external functions.
* Add mod_lti behat generators and tests.
* Show first and last button in paging bar.
* Created helper class to assist with new functions.
2021-11-17 22:44:56 +11:00
Shamim Rezaie
6b477deb50 Merge branch 'MDL-60850-master' of https://github.com/junpataleta/moodle 2021-11-12 12:59:59 +11:00
Jun Pataleta
6285dfb7e5 MDL-60850 mod_lti: Centre-align tool configure form elements 2021-11-12 09:40:48 +08:00
Jun Pataleta
8f9b534ed2 Merge branch 'MDL-72552' of https://github.com/spvickers/moodle 2021-11-11 11:42:14 +08:00
Adrian Greeve
7520614e26 MDL-71912 course modules: Toggle heading depending on navigation.
If the secondary navigation is on then the activity header does
not need to be displayed twice.
2021-11-09 11:24:08 +08:00
Ilya Tregubov
ac93013cd1 MDL-72995 core_course: Revert "MDL-55231: Partial course cache rebuild"
This reverts commits c1468388bc,
c1468388bc and
9a900492bc.
2021-11-04 11:57:58 +02:00