MDL-60774 tool_mobile: Support for new site add-ons properties

This commit is contained in:
Juan Leyva 2018-01-16 12:16:40 +01:00
parent 39fab18e27
commit 73d85fee4f
3 changed files with 30 additions and 2 deletions

View File

@ -90,6 +90,25 @@ class api {
require("$path/db/mobile.php");
foreach ($addons as $addonname => $addoninfo) {
// Add handlers (for site add-ons).
$handlers = !empty($addoninfo['handlers']) ? $addoninfo['handlers'] : array();
$handlers = json_encode($handlers); // JSON formatted, since it is a complex structure that may vary over time.
// Now language strings used by the app.
$lang = array();
if (!empty($addoninfo['lang'])) {
$stringmanager = get_string_manager();
$langs = $stringmanager->get_list_of_translations();
foreach ($langs as $langid => $langname) {
foreach ($addoninfo['lang'] as $stringinfo) {
$lang[$langid][$stringinfo[0]] =
$stringmanager->get_string($stringinfo[0], $stringinfo[1], null, $langid);
}
}
}
$lang = json_encode($lang);
$plugininfo = array(
'component' => $component,
'version' => $version,
@ -97,7 +116,9 @@ class api {
'dependencies' => !empty($addoninfo['dependencies']) ? $addoninfo['dependencies'] : array(),
'fileurl' => '',
'filehash' => '',
'filesize' => 0
'filesize' => 0,
'handlers' => $handlers,
'lang' => $lang,
);
// All the mobile packages must be under the plugin mobile directory.

View File

@ -91,7 +91,9 @@ class external extends external_api {
'fileurl' => new external_value(PARAM_URL, 'The addon package url for download
or empty if it doesn\'t exist.'),
'filehash' => new external_value(PARAM_RAW, 'The addon package hash or empty if it doesn\'t exist.'),
'filesize' => new external_value(PARAM_INT, 'The addon package size or empty if it doesn\'t exist.')
'filesize' => new external_value(PARAM_INT, 'The addon package size or empty if it doesn\'t exist.'),
'handlers' => new external_value(PARAM_RAW, 'Handlers definition (JSON)', VALUE_OPTIONAL),
'lang' => new external_value(PARAM_RAW, 'Language strings used by the handlers (JSON)', VALUE_OPTIONAL),
)
)
),

View File

@ -1,6 +1,11 @@
This files describes changes in tool_mobile code.
Information provided here is intended especially for developers.
=== 3.5 ===
* External function tool_mobile::tool_mobile_get_plugins_supporting_mobile now returns additional plugins information required by
Moodle Mobile 3.5.0.
=== 3.4 ===
* External function tool_mobile::tool_mobile_get_plugins_supporting_mobile is now available via AJAX for not logged users.