Commit Graph

2986 Commits

Author SHA1 Message Date
Jun Pataleta 9966241efb Merge branch 'MDL-81525-main' of https://github.com/andrewnicols/moodle 2024-04-17 23:42:22 +08:00
Andrew Nicols 6db4285eaa MDL-81525 core_user: Move after_complete_login to correct NS 2024-04-15 13:05:10 +08:00
Andrew Nicols eb2c2117a0 MDL-81525 core: Improve hook docs 2024-04-15 13:05:08 +08:00
Andrew Nicols 613f933442 Merge branch 'MDL-80820' of https://github.com/marinaglancy/moodle 2024-04-15 10:42:22 +08:00
Andrew Nicols 8be87eb633 MDL-81525 core: Coding style fixes 2024-04-14 21:49:33 +08:00
Andrew Nicols 6b0793d480 MDL-81525 core: Correct deprecated hook docs 2024-04-14 21:44:07 +08:00
Andrew Nicols 1e36531d0d MDL-81525 core: Tidy up hook tags 2024-04-14 14:45:09 +08:00
Jun Pataleta 3856addfdd Merge branch 'MDL-67667-main' of https://github.com/andrewnicols/moodle 2024-04-12 12:41:39 +08:00
Andrew Nicols 6f1df841f7 MDL-67667 core: Deprecate and removal task blocking
There are inherent issues with task blocking which mean that it has
never worked properly. It is also very buggy and can lead to massive
performance issues with task processing.

It is almost impossible to deprecate this in a staged fashion because
various APIs use the methods and it is not possible to determine which
are API uses and which are other valid uses.

In reality there has been little-to-no uptake on the use of this feature
and it should just be removed.
2024-04-12 12:34:20 +08:00
Andrew Nicols a1b0fe9b9c MDL-67667 core: Deprecate task blocking 2024-04-12 12:15:44 +08:00
Andrew Nicols 601ef0f72d Merge branch 'MDL-81192_main' of https://github.com/marxjohnson/moodle 2024-04-12 11:48:06 +08:00
Mark Johnson 337a0ee705 MDL-81192 sessions: Prevent false positive session change errors
If $CFG->enable_read_only_sessions_debug was not enabled, debugging could be
enabled part-way through a request when restart_with_write_lock was
called. This meant that a diff between the initial and final session
would be made during write_close(), although the intial session state
was never captured. This generated false positives in the logs, and it
thought any variable set in the session was a change from the original
value.

This ensures that debugging is enabled before the debug flag is allowed
to change, preventing false positives.
2024-04-11 08:55:11 +01:00
Ilya Tregubov c9eab29d37 Merge branch 'MDL-81480-main' of https://github.com/meirzamoodle/moodle 2024-04-11 15:48:07 +08:00
Huong Nguyen 7e2da937d5 Merge branch 'MDL-81327-main' of https://github.com/laurentdavid/moodle 2024-04-11 12:49:32 +08:00
Ilya Tregubov dd364a04a0 Merge branch 'MDL-81494-main' of https://github.com/HuongNV13/moodle 2024-04-11 09:19:54 +08:00
meirzamoodle c9cb89323c MDL-81480 core: Sets user-level session storage functions
Also added @runInSeparateProcess on each session Redis cluster test to let the test run
in a separate process to avoid the error "the headers are not already sent" by PHPUnit.
2024-04-10 17:27:20 +07:00
Huong Nguyen 6012fa0af6 MDL-81494 adhoc_task: Added missing space for query condition 2024-04-10 17:15:55 +07:00
Andrew Nicols dae36f6cfa MDL-81063 core: Add helper to get component name from classname 2024-04-10 12:41:31 +08:00
Andrew Nicols 29fc61c2a5 MDL-81063 core: Add option to get core in list of components 2024-04-10 12:41:31 +08:00
Andrew Nicols a1ee9cdbdb MDL-81327 report_log: Make group filtering logstore agnostic
The original implementation of group filtering introduced in MDL-80565
assumed that the log table existed in Moodle's own database. This is not
the case of the database logstore, or any similar logstore implemetning
the database \core\log\sql_reader interface.

Furthermore this check was also applying the SQL when the user had the
`accessallgroups` capability, or when the course was not in SEPARATE
groups mode (no groupmode and/or visible groups).

Co-authored: Laurent David <laurent.david@moodle.com>
2024-04-09 15:10:37 +02:00
Sara Arjona 099ceb42a0 Merge branch 'MDL-81456-main' of https://github.com/andrewnicols/moodle 2024-04-08 16:11:26 +02:00
Marina Glancy ef1759da74 MDL-80820 various: fix incorrect phpdocs 2024-04-08 10:13:10 +01:00
Andrew Nicols 4475617583 MDL-81456 core: Provide info about mocking hooks 2024-04-08 09:39:18 +08:00
Andrew Nicols 4a1752781f MDL-81456 core: Coding style fixups 2024-04-08 09:36:22 +08:00
Andrew Nicols fa2e11105a MDL-81456 core: Stop injecting test data into real hook manager 2024-04-08 09:36:21 +08:00
Andrew Nicols 2b49ad42f5 MDL-81456 core: Use DI for all hook access
Using DI for all hook access means that it becomes significantly easier
to mock hooks and callbacks for unit testing without fundamentally
altering the structure of the code purely for the purposes of unit
testing.
2024-04-08 09:35:41 +08:00
Juan Leyva e09930bab6 MDL-81405 session: New core cookie helper utility class 2024-04-06 12:20:59 +02:00
Andrew Nicols 91cacf6319 MDL-81084 core: Correct | to || 2024-04-05 07:02:35 +08:00
Sara Arjona 5949ac50f6 Merge branch 'MDL-81084-main' of https://github.com/andrewnicols/moodle 2024-04-04 17:55:48 +02:00
Huong Nguyen 857fe04b95 Merge branch 'MDL-79131-main' of https://github.com/raortegar/moodle 2024-04-04 10:31:46 +08:00
Ilya Tregubov ddc1c5ee9a Merge branch 'MDL-81144-main' of https://github.com/andrewnicols/moodle 2024-04-04 10:30:37 +08:00
raortegar 5488908538 MDL-79131 core: Hook listener callback for failed_task_max_delay 2024-04-03 09:08:50 +02:00
raortegar 10ecfa731d MDL-79131 core: Dispatch the new Hook 2024-04-03 09:08:50 +02:00
raortegar abefcdb09a MDL-79131 core: Added new Hook instance for task failed max delay 2024-04-03 09:08:50 +02:00
Huong Nguyen 8cd8838acd Merge branch 'MDL-80838-main' of https://github.com/andrewnicols/moodle 2024-04-03 10:05:42 +07:00
Huong Nguyen 07680ea817 Merge branch 'MDL-81366-main' of https://github.com/meirzamoodle/moodle 2024-04-02 17:43:42 +11:00
Andrew Nicols 298c13ac3b MDL-80838 core: Add PSR-20/Clock support
This commit adds the PSR-20 ClockInterface to core, with a
moodle-specific extension to the Interface at `\core\clock`, and a
standard clock at `\core\system_clock`.

Further clocks are provided as `\incrementing_clock` and `\frozen_clock`
which are available to unit tests using:

- `$this->mock_clock_with_incrementing(?int $starttime = null);`
- `$this->mock_clock_with_frozen(?int $time = null);`

For the incrementing clock, every call to fetch the time will bump the
current time by one second.

For the frozen clock the time will not change, but can be modified with:
- `$clock->set_to(int $time);`; and
- `$clock->bump(int $seconds = 1);`
2024-04-02 10:24:54 +08:00
Andrew Nicols 9bd3228d69 MDL-81144 core: Standardise init of standard_head_html_prepend hook 2024-04-02 10:23:44 +08:00
Andrew Nicols 305248f41d MDL-81144 core: Convert before_http_headers 2024-04-02 10:23:44 +08:00
Andrew Nicols 679001e729 MDL-81144 core: Convert before_footer to hook 2024-04-02 10:23:44 +08:00
Andrew Nicols e4a8ed5cc2 MDL-81144 core: Convert standard_after_main_region_html to hook 2024-04-02 10:23:43 +08:00
Andrew Nicols ecd5274e74 MDL-81144 core: Convert add_htmlattributes to hook 2024-04-02 10:23:42 +08:00
Andrew Nicols 770e6b49f4 MDL-81144 core: Convert standard_footer_html to hook 2024-04-02 10:23:41 +08:00
Andrew Nicols 3105ea7dc2 MDL-81144 core: Convert before_standard_top_of_body_html to hook 2024-04-02 10:23:41 +08:00
meirzamoodle ce5b7edd5c MDL-81366 redis: Remove the named parameters
Unfortunately, the read_timeout named parameter was not recognized on some machines.
To avoid such errors, this patch removed the named parameter on a single Redis connect() and the Redis cluster.
2024-03-28 10:19:35 +07:00
Huong Nguyen cb3494dcd4 Merge branch 'MDL-81222-main' of https://github.com/andrewnicols/moodle 2024-03-28 09:19:45 +07:00
Huong Nguyen bc6795074d Merge branch 'MDL-81000-main2' of https://github.com/raortegar/moodle 2024-03-28 08:53:50 +07:00
Andrew Nicols 7233cdad81 MDL-81084 core: Provide \core\plugin_manager
This is just a lightweight way of providing \core\plugin_manager and
aliasing \core_plugin_manager for b/c as a pathway out of our dim and
dark ways of PSR-0 class names.
2024-03-28 09:50:15 +08:00
Andrew Nicols 5f62d5a759 MDL-81084 core: Move standard plugins to plugins.json 2024-03-28 09:31:31 +08:00
Andrew Nicols 2c57fc46b6 MDL-81084 core: Tidy up coding style for \core_plugin_manager 2024-03-28 09:31:14 +08:00