Commit Graph

20 Commits

Author SHA1 Message Date
Ryan Wyllie
073fcb5aa1 MDL-54164 notification: Add notification render to CLI renderer 2016-05-18 01:48:37 +00:00
Andrew Nicols
9c048e21ac MDL-53633 javascript: Ensure that ordering of options is preserved 2016-03-29 15:47:00 +08:00
Marina Glancy
352bfbf55c MDL-53254 tags: tag collections inplace editable 2016-03-18 08:07:19 +08:00
Eloy Lafuente (stronk7)
ce878562f3 Merge branch 'MDL-52136-master' of git://github.com/andrewnicols/moodle 2016-03-02 05:25:57 +01:00
Andrew Nicols
0b4bff8ca9 MDL-52136 core: Add support for quoting variables in mustache helpers
This is required for when helpers include json-encoded variables as arguments.
As an example, imagine a template with content:

{{# str }} somekey, someidentifier, { "fullname": "{{ fullname }}" } {{/ str }}

If the fullname variable were to include the double-quote character (e.g.
John "Trevor" Doe) because of the way in which mustache renders content, it
would become:

{{# str }} somekey, someidentifier, { "fullname": "John "Trevor" Doe" } {{/ str }}

This results in an invalid JSON structure.

To work around this issue, the quote characters in the passed variable
must be escaped:

{{# str }} somekey, someidentifier, { "fullname": "John \"Trevor\" Doe" } {{/ str }}

Unfortunately, Mustache provides no way of doing so natively.

With this function, we can quote the text as appropriate:

{{# str }} somekey, someidentifier, { "fullname": {{# quote }}{{ fullname }}{{/ quote }} } {{/ str }}

This also handles the case where the quoted content includes the Mustache
delimeter ({{ or }}).

For example:
fullname = 'John "}}Trevor{{" Doe'

Ordinarily this would be rendered as:
{{# str }} somekey, someidentifier, { "fullname": "John "}}Trevor{{" Doe" } {{/ str }}

This rendering is both a JSON error, and also a mustache syntax error because of the mustache delimeters.

The quote helper also escapes these by wrapping them in change delimeter
tags:

{{# str }} somekey, someidentifier, { "fullname": "John "{{=<% %>=}}}}<%={{ }}=%>Trevor{{=<% %>=}}{{{{=<% %>=}}" Doe" } {{/ str }}
2016-03-02 08:48:46 +08:00
Eloy Lafuente (stronk7)
d9dfc410ad Merge branch 'wip-MDL-53172-master' of https://github.com/marinaglancy/moodle 2016-03-01 01:59:31 +01:00
Andrew Nicols
0346323cec MDL-30811 output: Add support for session notifications 2016-02-29 09:05:56 +08:00
Andrew Nicols
243468030a MDL-30811 output: Tidy up notifications 2016-02-28 19:16:34 +08:00
Andrew Nicols
38cf8b6661 MDL-53172 javascript: Stop requiring body manipulation on load 2016-02-27 11:29:27 +08:00
Marina Glancy
8de48ad0ae MDL-53172 core: toggle and select in inplace_editable 2016-02-27 11:29:24 +08:00
Eloy Lafuente (stronk7)
642a4fde4b Merge branch 'wip-MDL-51802-master4' of https://github.com/marinaglancy/moodle 2016-02-16 23:22:35 +01:00
Marina Glancy
cdc5f9785b MDL-51802 core: new template for quick editing a title
convert editing tag name to use new template
2016-02-13 11:07:42 +08:00
Brendan Heywood
2ab797c90b MDL-28030 weblib: Added $CFG->urlrewriteclass in config.php
This enables a plugin to implement rewriting rules enabling
    'clean' or 'semantic' urls such as /course/COMP100/ instead
    of /course/view.php?id=1234
2016-02-11 20:44:25 +11:00
Damyon Wiese
ba224fb42c MDL-50783 Ajax: Configure how to call a webservice through db/service.php
Now the db/service.php array can contain these extra keys to provide information
on how a webservice may be called:

    'ajax' => true (Default is false)

Replaces the xx_is_allowed_from_ajax callback.

    'loginrequired' => false (Default is true)

Means that this webservice can be called through lib/ajax/service-nosession.php
which sets NO_MOODLE_COOKIES to true (faster). This is only safe for webservices returning
static public data (e.g. get_string).
2015-09-14 15:10:21 +08:00
Damyon Wiese
4c7dfac372 MDL-50254 Mustache: Missing alias for namespaced class in mustache
Thanks to Francesco Bigiarini for the report and suggested fix.
2015-05-18 15:11:12 +08:00
Damyon Wiese
410034eef0 MDL-50085 templates: Minor fixes from peer review
* rename get_filename to get_filepath
* phpdocs fixes
* improve formatting of exceptions
* lang string improvement
2015-05-05 03:19:39 +02:00
Damyon Wiese
fcc383db0f MDL-50085 Mustache : Strictly define the search paths for templates.
This change moves several repeated sections of code that was searching
for templates and valid template locations to a new class. It adds
unit tests for the new class and verifies subsystem support for templates.
2015-05-05 03:19:25 +02:00
Frederic Massart
60de7df148 MDL-49800 core_output: Templates are not allowed in sub directories 2015-04-15 14:03:23 +08:00
Jetha Chan
263fb9d1bc MDL-41608 lib: add notification renderable using mustache 2015-03-30 14:29:11 +08:00
Damyon Wiese
9bdcf57951 MDL-49152 output: Templates for renderers (JS and PHP)
Mustache support for rendering templates from either php or js.
2015-03-14 22:48:40 +08:00