mirror of
https://github.com/moodle/moodle.git
synced 2025-01-19 14:27:22 +01:00
7ba7920aa8
The format_string() function does half html escaping. It escapes < and > characters, but does not escape ". Therefore, it put us in a situation where neither {{}}, nor {{{}}} are suitable in templates. If we use {{}} for an attribute (like title or aria-label), then < and > characters will be double escaped. On the other hand, if we use {{{}}} there, a double quote character will break HTML when it is used in an attribute. Therefore, neither {{}}, nore {{{}}} are usable in html attributes. Moreover, The title attribute here was redundant because it had the same value as the link's text.
63 lines
2.2 KiB
Plaintext
63 lines
2.2 KiB
Plaintext
{{!
|
|
This file is part of Moodle - http://moodle.org/
|
|
|
|
Moodle is free software: you can redistribute it and/or modify
|
|
it under the terms of the GNU General Public License as published by
|
|
the Free Software Foundation, either version 3 of the License, or
|
|
(at your option) any later version.
|
|
|
|
Moodle is distributed in the hope that it will be useful,
|
|
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
GNU General Public License for more details.
|
|
|
|
You should have received a copy of the GNU General Public License
|
|
along with Moodle. If not, see <http://www.gnu.org/licenses/>.
|
|
}}
|
|
{{!
|
|
@template core/action_link
|
|
|
|
Action link template.
|
|
|
|
Context variables required for this template:
|
|
* disabled - Flag that indicates whether the action link to be rendered is disabled or not.
|
|
* url - The action link URL.
|
|
* id - The ID.
|
|
* classes - CSS classes for the action link.
|
|
* attributes - Array of attributes.
|
|
* name - Attribute name.
|
|
* value - Attribute value.
|
|
* icon - The icon context data for this action link.
|
|
* text - The text for this action link.
|
|
|
|
Example context (json):
|
|
{
|
|
"disabled": false,
|
|
"url": "#",
|
|
"id": "test-id",
|
|
"classes": "btn btn-link",
|
|
"attributes": [
|
|
{
|
|
"name": "title",
|
|
"value": "Action link's title"
|
|
}
|
|
],
|
|
"icon": {
|
|
"attributes": [
|
|
{"name": "src", "value": "https://raw.githubusercontent.com/moodle/moodle/master/pix/t/check.png"},
|
|
{"name": "alt", "value": "Action link's icon"}
|
|
]
|
|
},
|
|
"text": "This is an action link"
|
|
}
|
|
}}
|
|
{{^disabled}}
|
|
<a href="{{{url}}}" id="{{id}}" class="{{classes}}" {{#attributes}} {{name}}="{{value}}" {{/attributes}}>{{#icon}}{{#pix}}{{key}}, {{component}}, {{title}}{{/pix}}{{/icon}}{{{text}}}</a>
|
|
{{#hasactions}}
|
|
{{> core/actions }}
|
|
{{/hasactions}}
|
|
{{/disabled}}
|
|
{{#disabled}}
|
|
<span class="currentlink {{classes}}" {{#attributes}} {{name}}="{{value}}" {{/attributes}}>{{#icon}}{{#pix}}{{key}}, {{component}}, {{title}}{{/pix}}{{/icon}}{{text}}</span>
|
|
{{/disabled}}
|