From 0dff2f2b6d202d161c1e2edc1e8e44c7e5835246 Mon Sep 17 00:00:00 2001 From: Andrew Z Date: Mon, 30 Mar 2020 11:17:43 -0400 Subject: [PATCH] Multi-language support --- plugins/dynamix.plugin.manager/PluginHelpers.page | 7 +++---- plugins/dynamix.plugin.manager/scripts/PluginAPI.php | 9 ++++++++- 2 files changed, 11 insertions(+), 5 deletions(-) diff --git a/plugins/dynamix.plugin.manager/PluginHelpers.page b/plugins/dynamix.plugin.manager/PluginHelpers.page index a5c521e43..37a5a2727 100644 --- a/plugins/dynamix.plugin.manager/PluginHelpers.page +++ b/plugins/dynamix.plugin.manager/PluginHelpers.page @@ -44,7 +44,7 @@ function caPluginUpdateCheck(plugin,options=[],callback) { var pluginFilename = plugin.substr(0, plugin.lastIndexOf(".")); console.time("checkPlugin "+plugin); console.log("checkPlugin "+plugin); - $.post("/plugins/dynamix.plugin.manager/scripts/PluginAPI.php",{action:'checkPlugin',options:{plugin:plugin}},function(caAPIresult) { + $.post("/plugins/dynamix.plugin.manager/scripts/PluginAPI.php",{action:'checkPlugin',options:{plugin:plugin,name:options.name}},function(caAPIresult) { console.groupCollapsed("Result checkPlugin "+plugin); console.log(caAPIresult); console.timeEnd("checkPlugin "+plugin); @@ -52,16 +52,15 @@ function caPluginUpdateCheck(plugin,options=[],callback) { var result = JSON.parse(caAPIresult); if ( options.debug == true ) result.updateAvailable = true; - var name = options.name ? options.name : "this plugin ("+plugin+")"; if ( ! options.element && ! options.dontShow ) { if ( result.updateAvailable ) { - var HTML = "An upgrade to "+name+" is available. Click here to install version "+result.version+" "; + var HTML = result.updateMessage+" "+result.linkMessage+" "; addBannerWarning(HTML,false,options.noDismiss); } } else { if ( $.cookie(plugin) != result.version ) { if ( result.updateAvailable ) { - var HTML = "An upgrade to "+name+" is available. Click here to install version "+result.version+" "; + var HTML = result.updateMessage+" "+result.linkMessage+" "; if ( ! options.noDismiss ) { HTML = HTML.concat(""); } diff --git a/plugins/dynamix.plugin.manager/scripts/PluginAPI.php b/plugins/dynamix.plugin.manager/scripts/PluginAPI.php index d5a7d8a0b..a72fd2d44 100644 --- a/plugins/dynamix.plugin.manager/scripts/PluginAPI.php +++ b/plugins/dynamix.plugin.manager/scripts/PluginAPI.php @@ -11,6 +11,8 @@ */ $docroot = $docroot ?? $_SERVER['DOCUMENT_ROOT'] ?: '/usr/local/emhttp'; +$_SERVER['REQUEST_URI'] = "plugins"; +require_once "$docroot/plugins/dynamix/include/Translations.php"; require_once "$docroot/plugins/dynamix.plugin.manager/include/PluginHelpers.php"; function download_url($url, $path = "") { @@ -33,9 +35,12 @@ function download_url($url, $path = "") { switch ($_POST['action']) { case 'checkPlugin': + $options = $_POST['options']; $plugin = $options['plugin']; + $name = $options['name'] ?? $plugin; + if ( ! $plugin || ! file_exists("/var/log/plugins/$plugin") ) { echo json_encode(array("updateAvailable"=>false)); break; @@ -61,8 +66,10 @@ switch ($_POST['action']) { $unraid = parse_ini_file("/etc/unraid-version"); $update = (version_compare($min,$unraid['version'],">")) ? false : true; } + $updateMessage = sprintf(_("%s: An update is available."),$name); + $linkMessage = sprintf(_("Click here to install version %s"),$version); - echo json_encode(array("updateAvailable" => $update,"version" => $version,"min"=>$min,"changes"=>$changes,"installedVersion"=>$installedVersion)); + echo json_encode(array("updateAvailable" => $update,"version" => $version,"min"=>$min,"changes"=>$changes,"installedVersion"=>$installedVersion,"updateMessage"=>$updateMessage,"linkMessage"=>$linkMessage)); break; case 'addRebootNotice':