110549 Commits

Author SHA1 Message Date
Jun Pataleta
3f84386a4a
Merge branch 'MDL-79015-master' of https://github.com/andelacruz/moodle 2023-08-24 15:52:58 +08:00
Angelia Dela Cruz
c3e7065862 MDL-79015 mod_lesson: Behat coverage for lesson with access restriction 2023-08-24 15:45:16 +08:00
Ferran Recio
e9bcfeecc8 MDL-79147 core: fix mustache_filesystem_loader load hint 2023-08-24 09:32:29 +02:00
Paul Holden
ce1db1499d
MDL-78741 files: context report entity data for path and parent.
Allows for better aggregation/grouping of file data by context tree.
2023-08-24 08:02:08 +01:00
Andrew Nicols
5a44292a05
Merge branch 'MDL-78291-master' of https://github.com/ferranrecio/moodle 2023-08-24 14:39:37 +08:00
Angelia Dela Cruz
0cd8ddaba3 MDL-78965 mod_quiz: Behat coverage for quiz with certainty-based marking 2023-08-24 14:37:59 +08:00
Ilya Tregubov
3e8a5c4277
Merge branch 'MDL-78062-master' of https://github.com/call-learning/moodle 2023-08-24 14:14:34 +08:00
Laurent David
79d368e453 MDL-78062 mod_bigblubuttonbn: Add backup for subplugin 2023-08-24 07:35:40 +02:00
Jun Pataleta
51df6abdc7
Merge branch 'MDL-78941-master' of https://github.com/andelacruz/moodle 2023-08-24 13:06:29 +08:00
Andrew Nicols
6d1bd4787f
MDL-77917 communication_matrix: Use v1.7 upload content API
Version 1.7 of the Matrix API adds a new endpoint for uploading media.
`_matrix/media/v1/create` and adds a new path parameter to the existing
`_matrix/media/v3/upload` endpoint.
2023-08-24 11:59:30 +08:00
Andrew Nicols
914686bc5e
MDL-77917 communication_matrix: Support server API versions
This commit brings in support for multiple versions of the Matrix
specification.

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

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

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

For example:

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

    /_matrix/client/v4/createRoom

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Signed-off-by: Daniel Ziegenberg <daniel@ziegenberg.at>
2023-08-23 15:52:52 +08:00
Huong Nguyen
4f30570699
Merge branch 'MDL-78884-master' of https://github.com/sarjona/moodle 2023-08-23 13:36:08 +07:00
Sara Arjona
026f377993
MDL-78884 theme: Update references to $icon.png
The *.png files in pix/f folder have been removed, so their references
need to be updated to use the proper SVG file or a different icon, as
happened with logo_uri for oauth2 services.
2023-08-23 07:33:58 +02:00
Sara Arjona
792c711e8a
MDL-78884 pix: Remove invalid or deprecated MIME icons
The following MIME icons have been completely removed because they were
not used (they were probably added/kept by mistake):
    - clip-353 --> It was added in MDL-75362 by mistake.
    - edit
    - env
    - explore
    - folder-open
    - help
    - move
    - parent

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

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

That way, the sized icons (xxxxxxx-yyy.png) can be removed and replaced by SVG, to make it easier
to keep them updated because once they are replaced, there will only be one single file for each
MIME icon.
2023-08-23 07:30:16 +02:00
Huong Nguyen
20ddfc3aee
Merge branch 'MDL-69489-patch' of https://github.com/ilyatregubov/moodle 2023-08-23 10:11:41 +07:00
Ilya Tregubov
fac3395464
MDL-69489 mod_lti: Fix query condition
Missing parenthesis added
2023-08-23 10:53:31 +08:00
Ilya Tregubov
31f1b4f62c
Merge branch 'MDL-69489-master' of https://github.com/jacdsouza/moodle 2023-08-23 09:35:56 +08:00
Paul Holden
36af5457dc
MDL-78787 dml: native casting to char in SQL Server driver.
Ensure the same is used during concatentation to prevent truncation
of data, which was previously set at 255 characters per field.
2023-08-23 00:55:24 +01:00
Paul Holden
28e1bd37d0
MDL-77988 dml: correct logic when dropping plugin tables.
Comparison of method void return within a conditional didn't make
sense, and the aforementioned method throws an exception on error
anyway which would halt execution.
2023-08-22 21:28:42 +01:00
Paul Holden
8fe1f83fe1
MDL-75855 reportbuilder: don't allow condition/filter duplication.
Custom reports shouldn't allow the same condition and/or filter
instance to exist more that once per report.
2023-08-22 18:47:33 +01:00
Andrew Nicols
1e89462692
MDL-69187 core_file: Unit test for file_get_typegroup string types 2023-08-22 15:57:53 +01:00
Paul Holden
b17ee6f4ad
MDL-78249 libraries: upgrade to version 6.8.1 of PHP-JWT. 2023-08-22 15:27:13 +01:00