110506 Commits

Author SHA1 Message Date
Andrew Nicols
108ed280e8
Merge branch 'MDL-79147-master' of https://github.com/ferranrecio/moodle 2023-08-24 23:47:00 +08:00
Andrew Nicols
3667a702db
Merge branch 'MDL-75802' of https://github.com/paulholden/moodle 2023-08-24 23:43:44 +08:00
Jun Pataleta
932306b447
Merge branch 'MDL-77917-master' of https://github.com/andrewnicols/moodle 2023-08-24 23:39:10 +08:00
Sara Arjona
556c286863
Merge branch 'MDL-78688' of https://github.com/paulholden/moodle 2023-08-24 17:35:03 +02:00
Andrew Nicols
cb1607e62f
Merge branch 'MDL-78741' of https://github.com/paulholden/moodle 2023-08-24 23:29:01 +08:00
Sara Arjona
bd22b04d30
Merge branch 'MDL-78257' of https://github.com/paulholden/moodle 2023-08-24 17:26:57 +02:00
Andrew Nicols
d38c3dfc8e
MDL-77917 communication_matrix: Topic must not be null
The Matrix space/room topic must always be a string. We should normalise
this on the way out of the API.
2023-08-24 23:19:38 +08:00
Sara Arjona
f2af6c0fc2
Merge branch 'MDL-78249' of https://github.com/paulholden/moodle 2023-08-24 17:15:21 +02:00
Jun Pataleta
29ec472284
Merge branch 'MDL-53368-master-3' of https://github.com/HuongNV13/moodle 2023-08-24 22:51:26 +08:00
Sara Arjona
999fbc3bdd
Merge branch 'MDL-75855' of https://github.com/paulholden/moodle 2023-08-24 16:49:34 +02:00
Sara Arjona
a2bcc9f354
Merge branch 'MDL-78965-master' of https://github.com/andelacruz/moodle 2023-08-24 16:38:22 +02:00
Paul Holden
347810b07f
MDL-75802 course: fix Behat scenario for bulk unenrolment. 2023-08-24 10:15:32 +01:00
Huong Nguyen
398bb78fa7
Merge branch 'MDL-78533' of https://github.com/paulholden/moodle 2023-08-24 15:35:14 +07:00
Huong Nguyen
dc9b012d81
Merge branch 'MDL-78502' of https://github.com/paulholden/moodle 2023-08-24 15:29:37 +07:00
Huong Nguyen
7370b09777
Merge branch 'MDL-78302' of https://github.com/paulholden/moodle 2023-08-24 15:25:43 +07:00
Huong Nguyen
9e7d90cd04
MDL-53368 block_login: reCaptcha implementation 2023-08-24 15:18:34 +07:00
Huong Nguyen
dcc351e61d
MDL-53368 recaptcha: Implement compact display mode 2023-08-24 15:18:34 +07:00
Huong Nguyen
753fd18d1b
MDL-53368 recaptcha: Fix invalid property call 2023-08-24 15:18:34 +07:00
Huong Nguyen
0cd29afb6f
MDL-53368 core_auth: Implement reCaptcha on login page 2023-08-24 15:18:31 +07:00
Jun Pataleta
3f84386a4a
Merge branch 'MDL-79015-master' of https://github.com/andelacruz/moodle 2023-08-24 15:52:58 +08:00
Angelia Dela Cruz
c3e7065862 MDL-79015 mod_lesson: Behat coverage for lesson with access restriction 2023-08-24 15:45:16 +08:00
Ferran Recio
e9bcfeecc8 MDL-79147 core: fix mustache_filesystem_loader load hint 2023-08-24 09:32:29 +02:00
Paul Holden
ce1db1499d
MDL-78741 files: context report entity data for path and parent.
Allows for better aggregation/grouping of file data by context tree.
2023-08-24 08:02:08 +01:00
Andrew Nicols
5a44292a05
Merge branch 'MDL-78291-master' of https://github.com/ferranrecio/moodle 2023-08-24 14:39:37 +08:00
Angelia Dela Cruz
0cd8ddaba3 MDL-78965 mod_quiz: Behat coverage for quiz with certainty-based marking 2023-08-24 14:37:59 +08:00
Ilya Tregubov
3e8a5c4277
Merge branch 'MDL-78062-master' of https://github.com/call-learning/moodle 2023-08-24 14:14:34 +08:00
Laurent David
79d368e453 MDL-78062 mod_bigblubuttonbn: Add backup for subplugin 2023-08-24 07:35:40 +02:00
Jun Pataleta
51df6abdc7
Merge branch 'MDL-78941-master' of https://github.com/andelacruz/moodle 2023-08-24 13:06:29 +08:00
Andrew Nicols
6d1bd4787f
MDL-77917 communication_matrix: Use v1.7 upload content API
Version 1.7 of the Matrix API adds a new endpoint for uploading media.
`_matrix/media/v1/create` and adds a new path parameter to the existing
`_matrix/media/v3/upload` endpoint.
2023-08-24 11:59:30 +08:00
Andrew Nicols
914686bc5e
MDL-77917 communication_matrix: Support server API versions
This commit brings in support for multiple versions of the Matrix
specification.

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

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

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

For example:

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

    /_matrix/client/v4/createRoom

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

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

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

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

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

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

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

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

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

This is done to avoid complex patterns of Request creation which are
repeated for every client endpoint.
2023-08-24 11:59:25 +08:00
Huong Nguyen
95b0ea16f0
Merge branch 'MDL-69187' of https://github.com/paulholden/moodle 2023-08-24 10:38:13 +07:00
Huong Nguyen
fd9dc16f85
Merge branch 'MDL-78934' of https://github.com/stronk7/moodle 2023-08-24 10:24:40 +07:00
Jun Pataleta
12e62d58b6
Merge branch 'MDL-61165-master' of https://github.com/andrewnicols/moodle 2023-08-24 11:22:15 +08:00
Jun Pataleta
dfadf21e2f
Merge branch 'MDL-77640-master-latest' of https://github.com/kevpercy/moodle 2023-08-24 10:23:17 +08:00
Angelia Dela Cruz
09ed13cdc9 MDL-78941 mod_quiz: Behat coverage for student flagging quiz questions 2023-08-24 10:13:36 +08:00
Ilya Tregubov
60693cd9b6
Merge branch 'MDL-77067' of https://github.com/paulholden/moodle 2023-08-24 09:59:58 +08:00
Huong Nguyen
9015554788
Merge branch 'MDL-78843-master' of https://github.com/lameze/moodle 2023-08-24 08:57:12 +07:00
Ilya Tregubov
3a761fd56e
Merge branch 'MDL-76295' of https://github.com/paulholden/moodle 2023-08-24 09:54:21 +08:00
Ilya Tregubov
e4a1ca2f34
Merge branch 'MDL-78630-master' of https://github.com/cameron1729/moodle 2023-08-24 09:46:47 +08:00
Ilya Tregubov
4bed4ea8f3
Merge branch 'MDL-71212-collapse-expand-all-sections-in-course-index-drawer' of https://github.com/stopfstedt/moodle 2023-08-24 09:22:23 +08:00
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