Commit Graph

552 Commits

Author SHA1 Message Date
Andrew Nicols 0e961688e7 MDL-83424 core: Fix things after restructure 2025-07-12 17:51:40 +08:00
Andrew Nicols f747c15cbf MDL-83424 core: Restructure Moodle codebase 2025-07-12 17:51:38 +08:00
Andrew Nicols 41917db65e MDL-84879 core: Remove stacktrace args from exceptions 2025-03-15 14:32:25 +08:00
Daniel Ziegenberg c23d5edb0f MDL-83334 core: Remove deprecated constant E_STRICT
One of the error levels PHP previously emitted was E_STRICT, on code
that was not strictly correct to ensure interoperability and forward
compatibility. PHP 7.0 converted the majority of existing E_STRICT
warnings to E_NOTICE, and since PHP 8.0, all E_STRICT notices have
changed to E_NOTICE.

Because all of the E_STRICT notices are upgraded to E_NOTICE since PHP
8.0, PHP 8.4 deprecates the E_STRICT constant.

The E_STRICT constant is deprecated in PHP 8.4. Using the constant
anywhere in PHP code now emits a deprecation notice in PHP 8.4 and
later.

The E_STRICT constant will be removed in PHP 9.0.

PHP core and core extensions since PHP 8.0 and later do not emit
E_STRICT notices at all. It is safe to assume that any PHP applications
that run on PHP 8.0 and later will never encounter E_STRICT notices, and
error reporting and handling can be safely updated to ignore E_STRICT
notices.

See: https://php.watch/versions/8.4/E_STRICT-deprecated

Signed-off-by: Daniel Ziegenberg <daniel@ziegenberg.at>
2025-03-04 20:38:04 +01:00
Andrew Nicols aa543e8c39 MDL-83246 core: Move profiler after autoloader registration 2024-09-25 23:11:23 +08:00
Huong Nguyen 4f25ac1044 Merge branch 'MDL-82158-main' of https://github.com/andrewnicols/moodle 2024-08-27 10:01:38 +07:00
Andrew Nicols fc7945cbc3 MDL-79011 core: Convert after_config callback to hook 2024-08-22 10:52:25 +08:00
Andrew Nicols b92008c92c MDL-82158 core_cache: Coding style fixes 2024-08-20 20:44:28 +08:00
Andrew Nicols f31d9ebc8c MDL-82158 core: Remove uses of cache/lib.php 2024-08-20 15:47:14 +08:00
Andrew Nicols be3482f339 MDL-82747 core: Provide a standard way to register the Autoloader 2024-08-12 13:49:37 +08:00
Shamim Rezaie 1504850f9f Merge branch 'MDL-81031-main' of https://github.com/andrewnicols/moodle 2024-08-06 16:01:09 +08:00
Andrew Nicols 091ae55c20 MDL-81031 admin: Add swagger UI 2024-08-06 16:01:07 +08:00
Ilya Tregubov 555d183cbe Merge branch 'MDL-82171-muc-sited' of https://github.com/brendanheywood/moodle 2024-08-05 11:18:26 +08:00
Dale Davies 6fb557f1be MDL-82286 core: Set serialize_precision to current PHP default 2024-07-16 10:02:18 +01:00
Brendan Heywood 7327fdd40e MDL-82171 core: Rewarm bootstrap.php after a cache purge 2024-07-09 10:46:37 +10:00
Andrew Nicols 434c191ff3 MDL-82156 core: Check that key classes are present for classloader 2024-06-14 12:28:55 +08:00
Andrew Nicols 60d8671224 MDL-81919 core: Prioritise autoloader in install 2024-06-10 14:20:26 +08:00
Andrew Nicols 8c3f18a4eb MDL-81919 core: Move classes out of lib/setuplib.php 2024-06-10 10:04:08 +08:00
Andrew Nicols 4cbc81c7ea MDL-80275 core: Move disable_output_buffering to setup.php
This method is the only reason stopping lib/setuplib.php from being
included after the autoloader and it is single-purposed.
2024-05-18 21:03:54 +08:00
Andrew Nicols a15301b69b MDL-80275 core: Include autoloader if ABORT_AFTER_CONFIG
This change moves the inclusion of the Moodle class autoloader to above
the ABORT_AFTER_CONFIG handler.
2024-05-17 12:45:44 +08:00
Andrew Nicols 443ad94a77 MDL-81446 core: Bump absolute minimum PHP version supported 2024-04-05 10:04:29 +08:00
Brendan Heywood 2d286ef8f8 MDL-80612 auth: Allow plugins to identify Moodle users on the CLI 2024-03-27 21:58:04 +11:00
Andrew Nicols eddae1808b MDL-79974 core: Add Whoops when debugging
Whoops will only be used under the following conditions:

- Not an AJAX request
- Not a CLI usage
- debugdisplay is set
- composer dependencies are installed
- Whoops is available
- The configuration setting is enabled
2023-11-05 21:23:18 +08:00
Sara Arjona cc9430929d MDL-77708 docs: Update references from docs.moodle.org/dev 2023-09-26 10:30:19 +02:00
Petr Skoda 3c25ccdcd1 MDL-78552 core: tidy up MDL_PERF constants
* all constans usable in ABORT_AFTER_CONFIG should be always defined
* MDL_PERFDB and $PERF->logwrites not used after legacy log removal
* MDL_PERF_TEST should be documented in codebase
* deprecated warnings in shutdowb manager
2023-06-25 08:39:09 +02:00
Meirza bf30ef1b53 MDL-76932 libraries: upgrade YUI lib to 3.18.1 2023-03-15 13:21:15 +07:00
Petr Skoda 80d32fc93a MDL-76680 core: disable $USER->ignoresesskey on next page 2023-03-11 10:37:12 +01:00
Laurent David 387371bacd MDL-77037 core_courseformat: Refresh course index
* Refresh course index when language change
2023-03-09 08:41:02 +01:00
Qihui Chan 791e56d3bc MDL-72775 tool_task: check long running tasks 2022-12-23 09:41:05 +10:00
Jun Pataleta 2c098a7ec7 MDL-76305 core: Use dir separator when assigning $CFG->tempdir 2022-11-15 16:24:52 +08:00
Brendan Heywood 519c932cd6 MDL-75014 core: Add xyz_before_session_start callback 2022-09-18 22:14:36 +10:00
Sujith Haridasan 73d604369d MDL-71062 core: Step 1 deprecation of print_error function 2022-07-13 08:20:54 +05:30
Brendan Heywood 9fa26ed911 MDL-72486 core: Add unsafe log and fix options to proxy settings 2022-06-20 11:18:42 +10:00
Eloy Lafuente (stronk7) 4c0ae3e138 MDL-73098 install: Detect stale bootstrap.php files and disable them
It's important to say that this bug apparently (till now) only happens
when an *incorrect* instalation of a site happens, reusing the dataroot
from another existing site.

When that happens, the localcache/bootstrap.php file from the old
site is reused, setting siteidentifier and SYSCONTEXTID when it's not
time for them to be defined yet.

Their existenece leads to reusing some other structures from the old
dataroot (that, again, should have been changed or wiped!), ultimately
leading to all sort of errors about non-existent tables (course,
context...).

With this change we ensure that:

1) Whenever any change to the database configuration (prefix, user,
   type..) happens, it's detected and immediately the information
   in the localcache/bootstrap.php is discarded and the file removed.
   This should fix problems like MDL-73098 itself.

2) We only set SYSCONTEXTID if the file is not stale. Main reason
   for doing that check within the localcache/bootstrap.php file
   itself is that we cannot "undefine" it @ setup.php. This should
   prevent errros like MDL-72888 to happen.

3) Finally, little detail, we only define SYSCONTEXTID if it has
   not been defined earlier. In the past, it was recommended to
   define it in config.php (exactly to save one DB read) and, sites
   having them will face "already defined" warnings.
2021-11-17 20:56:36 +01:00
Peter Dias 2bb5b40215 MDL-52484 core: Revert workaround PHP7 bug #70110 with preg_match
This reverts commit 144fb5e0a0. The fix is now part of php7.3
2021-10-14 12:19:29 +08:00
Sara Arjona c467ce725e Merge branch 'MDL-46778-master' of git://github.com/odeialba/moodle 2021-09-06 10:03:07 +02:00
Odei Alba 15c7a4bd57 MDL-46778 behat: Allow different database for behat 2021-09-02 14:56:12 +02:00
Brendan Heywood 7b938088b5 MDL-71014 core: Cache immutable bootstrap config locally 2021-09-02 13:22:28 +10:00
Jess Ansell 52bc582e77 MDL-71012 setup: Return 500 error code for setup errors. 2021-03-22 14:05:45 +00:00
Heena Agheda 9c5dc8fc7d MDL-65856 session: UX review of session timeout
Add new setting 'sessiontimeoutwarning', gives logged in user ability to extend session when there is no activity.
2020-12-21 08:43:21 +11:00
Brendan Heywood 9fabe1dda5 MDL-66928 core: Move request dirs to system tmp instead of localcache 2020-10-13 14:17:39 +11:00
Adrian Greeve 67925e5b88 Merge branch 'MDL-67680-master' of git://github.com/marinaglancy/moodle 2020-01-22 10:28:23 +08:00
Marina Glancy a79da4f1bb MDL-67680 core: Catch PHP exceptions in the after_config callback 2020-01-13 16:43:59 +01:00
Brendan Heywood 859ed92f9d MDL-65812 session: Increase default timeout and allow larger periods 2020-01-11 23:17:35 +11:00
Pau Ferrer Ocaña 4ed6010a61 MDL-54799 webservice: Handle exception in WS format ASAP 2019-11-29 09:44:09 +01:00
David Mudrák 469d4b7f35 MDL-67250 setup: Revert removal of the httpswwwroot setting
It is still used widely in the plugins that would stop working suddenly
without being warned via a debugging message. We must keep it forever as
an alias for the wwwroot.
2019-11-13 19:58:10 +01:00
Andrew Nicols 506a0f4bc0 MDL-66340 setup; Whitepace fix 2019-09-05 10:50:25 +08:00
Brendan Heywood 4ed105a9fd MDL-66340 setup: Add after_config for after setup.php is loaded 2019-08-27 13:24:15 +10:00
Jun Pataleta 9320787005 MDL-46267 core: Remove $CFG->httpswwwroot
* It's unnecessary since $CFG->loginhttps has already been removed and
  it's no longer being used in core anymore.
2019-07-22 10:59:42 +08:00
Andrew Nicols fc1785b086 MDL-60978 testing: Support ability to run phpunit in isolated process 2019-06-21 14:36:13 +08:00