Commit Graph

8 Commits

Author SHA1 Message Date
David Mudrák f387058839 MDL-58698 js: Fix the detection of the moodle language
This is the same problem that we had in MDL-52486. When the language
pack with multiple underscores (such as "en_us_k12") is selected, the
html root element's "lang" attribute is set to

    <html lang="en-us-12" ...>

which we then map back to the Moodle lang code using the JS function
replace().

What was missed in MDL-52486 was that when replacing a value (and not a
regular expression), only the first instance of the value is replaced.
So the value "en_us-k12" was sent as the lang parameter for the
core_string, which is invalid PARAM_LANG value and the exception was
thrown.

In case of the user_date.js, there was no actual problem experienced and
probably there is none as the language code is used as a cache key
rather than a PARAM_LANG parameter. But we are changing it too for
consistency.
2017-04-26 18:47:10 +02:00
Damyon Wiese 3d6ae65b61 MDL-57009 javascript: Reject on all errors
Not all error paths were resulting in a reject() call to fail a promise.
2017-02-07 15:36:48 +08:00
Damyon Wiese dcdf7c6155 MDL-57009 js: Skip ajax request for same string
This is done by caching the first promise generated to fetch a string.
2017-02-02 15:54:19 +08:00
Mark Nelson bae0f2375e MDL-54101 core: fixed core/str get_string caching issue 2016-05-12 18:58:56 +08:00
Cameron Ball 035247e0f2 MDL-52486 JavaScript: Make sure lang codes use underscores.
In some cases, underscores in lang codes get replaced with dashes
which causes some JavaScript to be unhappy. This patch simply reverse
the underscore to dash replacement on the JS side.
2016-01-11 15:23:29 +08: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 4b9e532633 MDL-49604 Javascript: Add a localstorage cache for strings and templates 2015-04-08 12:31:48 +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