Commit graph

3852 commits

Author SHA1 Message Date
Huong Nguyen
699a0e9328 MDL-80167 core: Skip Oracle for Oracle environment in unit tests 2024-03-15 08:45:42 +07:00
Huong Nguyen
6a19d3289b MDL-80167 admin: Add environment check for Oracle database 2024-03-14 17:41:56 +07:00
Jun Pataleta
a0e333fb7c
Merge branch 'MDL-80896-main' of https://github.com/andrewnicols/moodle 2024-03-12 11:38:26 +08:00
Andrew Nicols
9cdc5850c5
Merge branch 'MDL-75952' of https://github.com/stronk7/moodle 2024-03-12 10:45:02 +08:00
Andrew Nicols
ad9322aba2
MDL-80677 core: Deprecation attribute can apply to interfaces and traits 2024-03-12 09:49:02 +08:00
Andrew Nicols
f09d886f11
MDL-80677 core: deprecation::from should always return 2024-03-11 21:48:32 +08:00
Andrew Nicols
57ec38d136
MDL-80677 core: Move deprecated attributes to \core\attribute NS
Note: Removing the manual require for the attribute from moodlelib
because the class does not have to exist at time of definition, only
when the Reflection API instantiates an instance in \core\deprecation,
by which point the autoloader is available.
2024-03-11 21:48:32 +08:00
Andrew Nicols
807da4963b
MDL-80677 core: Any feature of a deprecated class should emit 2024-03-11 21:28:50 +08:00
Andrew Nicols
d6112c0bfb
MDL-80677 core: Get deprecated item description automatically 2024-03-11 21:28:48 +08:00
Andrew Nicols
bbc98c82c0
MDL-81180 core: Add support for array notation in hook callback 2024-03-11 16:49:54 +08:00
Andrew Nicols
6231d9119d
MDL-81180 core: Fix coding violations in hook manager tests 2024-03-11 16:49:54 +08:00
Eloy Lafuente (stronk7)
361dfe8145
MDL-75952 general: Since php81, refection->setAccessible() is no-op
Refereces:
- https://wiki.php.net/rfc/make-reflection-setaccessible-no-op
- https://www.php.net/manual/en/reflectionproperty.setaccessible.php
- https://www.php.net/manual/en/reflectionmethod.setaccessible.php

As of PHP 8.1.0, calling this method has no effect; all methods are
invokable by default. So, let's remove all uses from core, they are
no-op.
2024-03-10 21:15:00 +01:00
Jun Pataleta
3278ce7aba
Merge branch 'MDL-65292' of https://github.com/stronk7/moodle 2024-03-08 08:00:41 +08:00
Sara Arjona
6f81ace5a8
Merge branch 'MDL-81011-main' of https://github.com/andrewnicols/moodle 2024-03-07 12:20:01 +01:00
Andrew Nicols
2b7754ccc2
MDL-81011 core: Add attribute alternative to hooks interfaces
This change replaces the requirement for:
- \core\hook\deprecated_callback_replacement
- \core\hook\described_hook

These are replaced by appropriate Attributes.
2024-03-07 18:56:05 +08:00
Andrew Nicols
94177ec2da
MDL-80749 core: Tidy up task tests 2024-03-05 21:18:54 +08:00
Andrew Nicols
30bfb5fe81
Merge branch 'MDL-80749-main' of https://github.com/HuongNV13/moodle 2024-03-05 21:18:44 +08:00
Ilya Tregubov
dcc9324b68 Merge branch 'MDL-78850-main' of https://github.com/meirzamoodle/moodle 2024-03-05 11:23:17 +08:00
Huong Nguyen
c068b01a1a
MDL-80749 adhoc_task: Update failed ad-hoc tasks cleanup
Update the task to use firststartingtime instead of timestarted
2024-03-04 10:17:14 +07:00
Huong Nguyen
17c01d9d74
MDL-80749 adhoc_task: Log the first starting time of the task 2024-03-04 10:17:09 +07:00
Sara Arjona
b2e5f3e746
MDL-80866 phpunit: Fix failures after disabling Chat and Survey 2024-03-01 11:41:50 +01:00
meirzamoodle
99941c0d13 MDL-78850 course: allow to show/hide the course index drawer
This new API makes it easy for the developer to hide or show the course index drawer.
2024-02-29 12:48:48 +07:00
Huong Nguyen
3020fac005
Merge branch 'MDL-80736_main' of https://github.com/marxjohnson/moodle 2024-02-29 09:54:06 +07:00
Eloy Lafuente (stronk7)
ba1f804ffa
MDL-65292 style: Fix all function declarations white space
This has been generated running the following Sniffs, all
them part of the Moodle's CodeSniffer standard:
- PSR12.Functions.ReturnTypeDeclaration
- PSR12.Functions.NullableTypeDeclaration
- moodle.Methods.MethodDeclarationSpacing
- Squiz.Whitespace.ScopeKeywordSpacing

All them are, exclusively, about correct spacing, so the changes
are, all them, only white space changes.

Only exceptions to the above are 3 changes what were setting the
return type in a new line, and, when that happens, the closing
parenthesis (bracket) has to go to the same line than the colon.
2024-02-28 23:33:26 +01:00
Andrew Nicols
a165c72af2
MDL-80684 core: Correct location of task tests 2024-02-28 14:20:40 +08:00
Andrew Nicols
3451175f22
Merge branch 'MDL-80684-master-fail_running_tasks_on_shutdown' of https://github.com/praxisdigital/moodle 2024-02-28 14:16:13 +08:00
Andrew Nicols
18c81e0580
MDL-80896 core: Generate a moodle_url from a UriInterface 2024-02-26 21:04:41 +08:00
Marina Glancy
7a6aae501e MDL-81036 behat: fix the action menu clickable area selector 2024-02-23 11:21:47 +00:00
Huong Nguyen
40f501fb4e
Merge branch 'MDL-80338' of https://github.com/paulholden/moodle 2024-02-22 11:17:52 +07:00
Mark Johnson
ce706292bf
MDL-79174 groups: Add includehidden parameter
This allows groups_get_user_groups to return groups with
GROUP_VISIBILITY_NONE that the specified user belongs to. The parameter
is false by default, and should be use with care as membership of these
groups should not be revealed to the user.
2024-02-21 15:45:56 +00:00
Jun Pataleta
dd8fa68f5d
Merge branch 'MDL-80207-main' of https://github.com/HuongNV13/moodle 2024-02-20 11:06:24 +08:00
Huong Nguyen
6bddb8626f
MDL-80207 core: Remove Horde library 2024-02-20 09:36:24 +07:00
Frederik Milling Pytlick
ab517483a0 MDL-80684 core: Fail running tasks on shutdown
When you kill a process which is executing a task, it now marks it as failed.
2024-02-19 12:07:56 +01:00
Jun Pataleta
32ae09a672
MDL-79674 behat: Use proper tags for testing WCAG 2.1 criteria
`wcag2a` and `wcag2aa` refer to WCAG 2.0 standards. We should be using
`wcag21a` and `wcag21aa` to test against WCAG 2.1 standards.

See:
https://github.com/dequelabs/axe-core/blob/develop/doc/API.md#axe-core-tags
2024-02-16 11:53:53 +08:00
Jun Pataleta
ecb8465ebe
MDL-79674 behat: Disable target-size rule
Since axe-core has introduced WCAG 2.2 Level AA support, a `target-size`
rule has been added which is a Level AA success criterion. Since we
haven't started working on WCAG 2.2 Level AA compliance, let's disable
this rule for now.

See https://www.w3.org/WAI/WCAG22/Understanding/target-size-minimum.html
2024-02-16 11:53:53 +08:00
Jun Pataleta
f47baadc93
MDL-79674 behat: Bump axe-core to v4.8.4
* Improve readme_moodle.txt and add more detailed instructions
* Update \behat_accessibility::run_axe_validation_for_tags()'s
  PHPDoc block to reflect the current version.
* Fix incorrect copyright tag for the library
2024-02-16 11:53:52 +08:00
Sara Arjona
1ea31db81c
MDL-80249 course: Hide secondary menu and add breadcrumb to section page 2024-02-14 08:03:56 +01:00
Sara Arjona
b91ec287dc
Merge branch 'MDL-80190-main' of https://github.com/ferranrecio/moodle 2024-02-13 15:28:05 +01:00
Andrew Nicols
3e6437e67c
MDL-80072 core: Mark nocache option to format_text as deprecated
This was actually deprecated back in MDL-34347 but never actually
emitted.
2024-02-12 11:11:19 +08:00
Andrew Nicols
d56303aa54
MDL-80072 core: Promote all formatting options to parameters
Now that PHP has support for named parameters, and we can use them in
Moodle, we should ditch `$options` arrays and use first-class,
documented, parameters.

Whilst this may seem scary, dumb, overwhelming, please note that you do
not need to supply all args, for example, to change the last parameter
of `format_text` you no longer need to do this:

    return \core\container::get(\core\formatting::class)->format_text(
       $text,
       FORMAT_MOODLE,
       $context,
       false,
       null,
       true,
       true,
       true,
       false,
       false,
       true,
    );

Instead you can do:

    return \core\container::get(\core\formatting::class)->format_text(
       $text,
       FORMAT_MOODLE,
       $context,
       allowid: true,
    );

Or better still:

    return \core\container::get(\core\formatting::class)->format_text(
       text: $text,
       format: FORMAT_MOODLE,
       context: $context,
       allowid: true,
    );

This means that we can get defaults in the function signature, improves
our typing, and allows for deprecation and changes to options. It also
sets us up for success in the future.
2024-02-12 11:11:18 +08:00
Andrew Nicols
ae80cd739b
MDL-80072 core: Coding Style fixes 2024-02-12 11:11:17 +08:00
Andrew Nicols
e8eb163ff9
MDL-80072 core: Move CFG->filterall to formatter property 2024-02-12 11:11:17 +08:00
Andrew Nicols
35a8e23034
MDL-80072 core: Move CFG->formatstringstriptags to formatter property 2024-02-12 11:11:17 +08:00
Andrew Nicols
f9dc48691d
MDL-80072 core: Move CFG->forceclean to formatter property 2024-02-12 11:11:17 +08:00
Andrew Nicols
6bb0c91a73
MDL-80072 core: Move format_text to core\formatting 2024-02-12 11:11:16 +08:00
Andrew Nicols
37ec9ee8ee
MDL-80072 core: Move format_string to core\formatting 2024-02-12 11:11:16 +08:00
Andrew Nicols
9ed3f83dd2
MDL-80072 core: Add \core\di wrapper to php-di
The \core\di class is a Moodle wrapper to php-di which is intended to
allow Moodle to switch to an alternate DI solution in the future if
required. All interaction with the container uses the PSR-11 Container
interfaces, which allows for normalisation of configuration, setting,
and retrieving of DI container-identified classes.
2024-02-12 11:11:16 +08:00
Sara Arjona
ff50da59e9
Merge branch 'MDL-79577' of https://github.com/paulholden/moodle 2024-02-08 15:32:00 +08:00
Paul Holden
6f60461220
MDL-80338 core: encode moodle_url instance anchor properties. 2024-02-07 12:21:26 +00:00
Ferran Recio
97a7958aee MDL-80190 core_courseformat: do not render delegated sections in course 2024-02-07 12:06:03 +01:00