All lib_test and locallib_test classes:
- Namespaced with component (and API whenever makes sense).
- Fixed incorrect use statements with leading backslash.
- Changed code to point to global scope when needed or add new uses.
- All them passing individually.
- Complete runs passing too.
Special mention to tests under login/tests:
1) The core_login component doesn't exist.
2) But login/tests are allowed because there is a suite pointing to it (phpunit.xml).
3) So, the only possible namespace for them is "core".
4) And to avoid problems with other core testcases (under lib/tests)
they have been renamed to have login_xxxx as prefix.
As far as now all them have correct privacy level2 namespace:
- Move them to "privacy" subdir.
- Rename the files to "provider_test.php", this includes old
privacy_test.php and privacy_provider_test.php files
- Rename the testcase to provider_test too (to match file name)
Also, change some relative paths and comments to point to new
locations.
All privacy_test and privacy_provider_test classes:
- Namespaced with component\privacy.
- Fixed incorrect use statements with leading backslash.
- Changed code to point to global scope when needed.
- Renamed a few files to make all be privacy_test or privacy_provider_test.php
- All them passing individually.
- Complete runs passing too.
The previous method of hardcoded filepaths, specifically for events
belonging to core, meant that any events belongs to core subsystems
were omitted (core_customfield, core_h5p, core_payment, etc).
The Flash Player was deprecated in 2017 and officially discontinued
on 31 December 2020, so media_swf player has been completely
removed from Moodle core.
Removes the logic in the course reports related to storing the last
accessed course report in a session variable as this behaviour is
no longer required.
The course report page now redirects to the first avaliable course
report, instead of redirecting to the last accessed course report.
Also, a notification is now displayed on this page if there are no
course reports available.
- `notifylevel` will change what gets sent as part of the antivirus
notification emails based on the scan type. For example if set on
SCAN_RESULT_FOUND, it will not notify for any detections, if set to
SCAN_RESULT_ERROR, it will notify for both detections and errors.
- `threshold` will determine how far the lookback is when displaying the
status of the /reports/status (System Status) page. It will display as
an ERROR state if there has been scanner issues within this certain
threshold period
- As part of the above, scanner errors will now trigger a new event
which will be logged as antivirus_scan_data_error or
antivirus_scan_file_error. Due to the nature of it reading from the
logs table, it only works currently for the "Standard logging"
logstore.
Convert to system report API provided by Report builder. The entity
defines the columns and filters, which are used by the system
report class we have created.
Add option to class csv_export_writer to prefix CSV file with UTF-8 byte
order mark (BOM). This helps Microsoft Excel detect the file's character
encoding.