When a closing comment is used, such as when we wrap css with the
rtl:begin:ignore and rtl🔚ignore (the latter being the closing),
it is ignored in the following case:
- If the closing comment is the last item in a csslist like:
div {/*rtl:begin:ignore*/left:20px; text-align:left/*rtl🔚ignore*/}
in which case there is no css rule following the comment for it to be
associated with. It is therefore not seen and registered, meaning we
continue ignoring rtl (a bug).
In such cases, we should either:
- ensure the comment is not the final element in the css list
- use self-closing (/*rtl:ignore*/) comments for each rule instead.
- use a self-closing comment on the entire css list, if applicable.
This fixes a bug when parsing the following rule-level and list-level
comments.
div {/*rtl:ignore*/left:10px;/*rtl:ignore*/ display:inline;}
/*rtl:ignore*/div {left:10px;} /*rtl:ignore*/ a {left:10px}
The latter rtl directive was being swallowed by the parser in these
cases and was not being properly allocated as a property of the rule
or csslist.
This restores the correct behaviour of the rtlcss library, which depends
on php-css-parser.
The core_rtlcss class extends the \MoodleHQ\RTLCSS\RTLCSS class. This
upstream library had tests, but these were not included in core. This
change uses those test cases to test core_rtlcss, to make sure future
lib changes don't break the css parsing.
Added the dates data filter, and refactored summaryreport_table to
handle passing filter content into the base SQL. Previously it was only
possible to add filter content into a separate part of the query.
Significant string changes:
* hidegrader_help,mod_assign - note about setting having no effect on
comments box
* configdefaultrequestcategory, configenablecourserequests,
configlockrequestcategory, lockrequestcategory, core_admin - clearer
explanation
* configenablecompletion,core_completion - including reason for setting
activity completion conditions
* emailstop,core - clearer wording
* setuplink_desc,tool_mobile - including where the app download page
link is displayed and leaving the setting empty