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.
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
When you download a file directly from a Moodle form submit button,
the submit button disables when you click it, but you remain on that
page so we need to re-enable the button.
This commit causes it to re-enable once the file download finishes,
setting a temporary cookie to indicate this to the JavaScript code.
It also adds a method to disable the system on a given form by
setting data-double-submit-protection="off".