* Makes it possible to safely call acquire_lock so that it throws an
exception instead of returning false if it can't get a lock (which
most existing uses assumed it already does).
* Fix some omissions from the requirelockingbeforewrite option (it
now checks on delete).
* Modinfo uses a versioned cache, so it is not necessary to delete
items, only increase the version. (Provided we keep track of
cacherev carefully...)
Core login page and style changes to support mfa login workflow.
These are minor adjustments to core CSS and a core renderer
change to allow login workflow to better support MFA.
The $CFG->svgicons setting was introduced in Moodle 2.4 due to incomplete
SVG support in certain web browsers.
The landscape has evolved significantly since then, and all modern browsers
now handle SVG files correctly.
The $CFG->svgicons settings has been removed and the supports_svg() method
has been updated with currently supported browsers (IE support was removed
in Moodle 3.10).
Ensure that all system icons now come with an accompanying SVG file.
Any missing SVG files have been addressed, and to maintain this consistency,
a PHPUnit test has been implemented to validate the inclusion of SVG files
for any new icons.
1. Modified the password related forms
2. Added a new constant in moodlelib.php called MAX_PASSWORD_CHARACTERS
3. Added a new method in moodlelib.php called exeeds_password_length
4. Updated the upgrade.text
Problem:
When the aggregation method is set to "natural," grade items' weights
and the maximum grade of the grade category's item get recalculated,
causing the needsupdate flag to be set to true. As a result, the locking
process was skipped, leading to unexpected behaviour.
Solution:
To address the issue, the set_locked method has been modified. Instead
of skipping the locking process, the method now schedules the locking of
grade items to occur slightly in the past, specifically one second in
the past. This ensures that the grade item will be automatically locked
after the recalculations are completed.
Explanation:
By making this adjustment, we ensure that the locking process is not
skipped during natural aggregation, maintaining consistent behaviour and
preventing any unintended consequences related to grade item locking.
With Oracle 19 being the minimum version for Moodle >= 4.1, now
we can safely raise the table and column length limits by a
considerable amount.
In both tables and columns the new limit it 63, coming from PostgreSQL,
that is the one now having the more restrictive limit.
1) NP with columns, let's allow up to 63 ascii chars (bytes) there.
2) But, for table names, now we need to specify a maximum prefix length,
to know how many chars we leave remaining for table names (without
prefix). 63 - 10 (max prefix length) = 53 ascii chars (bytes).
So, in this patch, we are introducing a new constant:
xmldb_table::PREFIX_MAX_LENGTH = 10
That will be used to:
- Validate that we aren't using a prefix longer than it.
- Calculate the final table limit that will be 63 minus
the prefix max length.
Details added to 4.2 main upgrade.txt file.
Also, update related to tests to (near) always use the constants
so they won't need modification in the future.
Autocomplete fields can now include disabled options in the suggestion
list. When calling .enchance() on a select list with disabled options,
those options will be added to the autocomplete suggestions with the
aria-disabled arribute set, and will not be selectable.
Datafilters using the autocomplete element can also hook into this by
including disabled options in their list of values.
A datafilter can now specify a subset of jointypes that it supports from
the default list of all, any or none. By default all options will be
available, but an individual filter can ovveride this to include just
those options that make sense for the filter. If only one option is
allowed, the select list will be hidden to simplify the UI.
* Add parameter to drop zero time units. So a time interval like
"3d 0h 0s" will be returned as "3d" only.
* Add parameter to display full format for time units. E.g. Instead of
"3d 2h", it will be returned as "3 days 2 hours"
* Deprecate unused dateintervaldayshoursmins langconfig string.
This allows datafilters to include additional fields other than the standard list of selected values.
For example they may wish to include an additional select or checkbox to change how the values are used in the resulting query.
Following MDL-52846 this now finally deprecates and removes the
following classes:
- \core\task\legacy_plugin_cron_task.
- \mod_quiz\task\legacy_quiz_reports_cron
- \mod_quiz\task\legacy_quiz_accessrules_cron
- \mod_workshop\task\legacy_workshop_allocation_cron
Please, use the Task API instead:
https://moodledev.io/docs/apis/subsystems/task
This also removes the corresponding and specific to legacy cron strings
from mod_quiz and mod_workshop.
Following MDL-52846 this now finally deprecates and removes the
functions:
- cron_execute_plugin_type()
- cron_bc_hack_plugin_functions()
Please, use the Task API instead:
https://moodledev.io/docs/apis/subsystems/task
Signed-off-by: Daniel Ziegenberg <daniel@ziegenberg.at>
The following MIME icons have been completely removed because they were
not used (they were probably added/kept by mistake):
- clip-353 --> It was added in MDL-75362 by mistake.
- edit
- env
- explore
- folder-open
- help
- move
- parent
Apart from removing these MIME icons, a PHPUnit test has been added to
guarantee MIME icons in pix/f are under control and they are only
added/removed when needed.
In order to reduce the number of icons for the MIME types, a few
icons have been removed and replaced with their generic from
the existing ones:
- avi -> video
- base -> database
- bmp -> image
- html -> markup
- jpeg -> image
- mov -> video
- mp3 -> audio
- mpeg -> video
- png -> image
- quicktime -> video
- tiff -> image
- wav -> audio
- wmv -> video
The old xxxxxxx-yyy.png MIME icon files have been removed and replaced with
the new SVG files created by the UX team.
Special thanks to Sabina Abellán! :-)
The parameter $size of the following functions has been deprecated and is not used any more:
- file_extension_icon
- file_file_icon
- file_folder_icon
- file_mimetype_icon
- mimeinfo_from_type
- url_guess_icon
That way, the sized icons (xxxxxxx-yyy.png) can be removed and replaced by SVG, to make it easier
to keep them updated because once they are replaced, there will only be one single file for each
MIME icon.
Comparison of method void return within a conditional didn't make
sense, and the aforementioned method throws an exception on error
anyway which would halt execution.