From: samhemelryk Date: Thu, 2 Jul 2009 04:07:53 +0000 (+0000) Subject: ajaxlib MDL-19077 Added strings_for_js method X-Git-Url: http://git.mjollnir.org/gw?a=commitdiff_plain;h=747b85cb00c5ff45ddf7411fa8805ac9c7798ee9;p=moodle.git ajaxlib MDL-19077 Added strings_for_js method --- diff --git a/lib/ajax/ajaxlib.php b/lib/ajax/ajaxlib.php index 6315a4d7c9..4297db1e2e 100644 --- a/lib/ajax/ajaxlib.php +++ b/lib/ajax/ajaxlib.php @@ -283,6 +283,41 @@ class page_requirements_manager { $this->stringsforjs[$module][$identifier] = $string; } + /** + * Make an array of language strings available for JS + * + * This function calls the above function {@link string_for_js()} for each requested + * string in the $identifiers array that is passed to the argument for a single module + * passed in $module. + * + * + * $PAGE->strings_for_js(Array('one', 'two', 'three'), 'mymod', Array('a', null, 3)); + * + * // The above is identifical to calling + * + * $PAGE->string_for_js('one', 'mymod', 'a'); + * $PAGE->string_for_js('two', 'mymod'); + * $PAGE->string_for_js('three', 'mymod', 3); + * + * + * @param array $identifiers An array of desired strings + * @param string $module The module to load for + * @param mixed $a This can either be a single variable that gets passed as extra + * information for every string or it can be an array of mixed data where the + * key for the data matches that of the identifier it is meant for. + * + */ + public function strings_for_js($identifiers, $module, $a=NULL) { + foreach ($identifiers as $key => $identifier) { + if (is_array($a) && array_key_exists($key, $a)) { + $extra = $a[$key]; + } else { + $extra = $a; + } + $this->string_for_js($identifier, $module, $extra); + } + } + /** * Make some data from PHP available to JavaScript code. *