Files
webgui/plugins/dynamix/Language.page
2020-03-12 16:26:04 +01:00

91 lines
3.3 KiB
Plaintext

Menu="WebGui"
Title="Language"
Icon="language"
Tag="language"
---
<?PHP
/* Copyright 2005-2020, Lime Technology
* Copyright 2012-2020, Bergware International.
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License version 2,
* as published by the Free Software Foundation.
*
* The above copyright notice and this permission notice shall be included in
* all copies or substantial portions of the Software.
*/
?>
<?
$installed = ['English'];
$keys = parse_ini_file('webGui/include/languages.key',false,INI_SCANNER_RAW);
foreach (glob("$docroot/languages/*",GLOB_ONLYDIR) as $dir) $installed[] = rtrim(strtok($keys[basename($dir)],'('));
?>
<style>
select.wide{min-width:<?=$themes2?'314':'300'?>px}
</style>
<script>
var keys = {};
<?foreach ($keys as $key => $name) echo "keys['$key'] = '".rtrim(strtok($keys[$key],'('))."'\n";?>
function upload(form) {
var language = form.language.value;
if (!language) {
swal({title:'_(Missing Language)_',text:'_(Please select a language before proceeding)_!',type:'error',confirmButtonText:'_(Ok)_'});
return;
}
var cmd = form.check.checked ? 'rm' :'add';
var title = form.check.checked ? '_(Language support deleted)_' : '_(Language support added)_';
$.post("/webGui/include/FileUpload.php",{cmd:cmd,filename:language,filedata:form.file.value},function(list){
if (list.indexOf('Error 500')==-1) {
var installed = ['English'];
var name = list.split(',');
for (var i=0; i < name.length; i++) installed.push(keys[name[i]]);
$('#installed').text(installed.join(', '));
swal({title:title,text:'_(See)_ <a href="/Settings/DisplaySettings">_(Display Settings)_</a> _(to select your language)_',type:'success',html:true,confirmButtonText:'_(Ok)_'});
$('#uploadbutton').prop('disabled',true);
}
});
}
function getZIPfile(event,form) {
var input = event.target;
var reader = new FileReader();
reader.onload = function(){
var name = input.files[0].name;
if (name.slice(-4)=='.zip') {
form.file.value = reader.result;
$('#uploadbutton').prop('disabled',false);
} else {
swal({title:'_(Wrong File Extension)_',text:'_(Only ZIP files are allowed)_',type:'warning',confirmButtonText:'_(Ok)_'});
}
};
reader.readAsDataURL(input.files[0]);
}
function screenUpdate(check) {
$('#uploadbutton').prop('disabled',false);
$('#selectlang').toggle('slow');
if (check) $('#uploadbutton').val("_(Delete)_"); else $('#uploadbutton').val("_(Upload)_")
}
</script>
<form markdown="1">
<input type="hidden" name="file" value="">
_(Installed languages)_:
: <span id="installed"><?=implode(', ',$installed)?></span>
_(Select language)_:
: <select name="language" class="wide">
<?=mk_option(1, "", "---")?>
<?foreach ($keys as $key => $name) echo mk_option(1, $key, $name)?>
</select><input name="check" type="checkbox" onchange="screenUpdate(this.checked)">_(Remove the installed language)_
<div id="selectlang" markdown="1">
_(Select language file)_:
: <input type="file" accept=".zip" onchange="getZIPfile(event,this.form)">
</div>
&nbsp;
: <input id="uploadbutton" type="button" value="_(Upload)_" onclick="upload(this.form)" disabled><input type="button" value="_(Done)_" class="lock" onclick="done()">
</form>