mirror of
https://github.com/the-djmaze/snappymail.git
synced 2024-12-31 03:52:01 +08:00
Added Admin -> Config to view all the application.ini settings.
TODO: save changes
This commit is contained in:
parent
d7db182e5f
commit
f20a7c7b83
31 changed files with 263 additions and 80 deletions
|
@ -10,6 +10,7 @@ import { SecurityAdminSettings } from 'Settings/Admin/Security';
|
|||
import { PackagesAdminSettings } from 'Settings/Admin/Packages';
|
||||
import { AboutAdminSettings } from 'Settings/Admin/About';
|
||||
import { BrandingAdminSettings } from 'Settings/Admin/Branding';
|
||||
import { ConfigAdminSettings } from 'Settings/Admin/Config';
|
||||
|
||||
import { MenuSettingsAdminView } from 'View/Admin/Settings/Menu';
|
||||
import { PaneSettingsAdminView } from 'View/Admin/Settings/Pane';
|
||||
|
@ -33,6 +34,7 @@ export class SettingsAdminScreen extends AbstractSettingsScreen {
|
|||
[ContactsAdminSettings, 'Contacts'],
|
||||
[SecurityAdminSettings, 'Security'],
|
||||
[PackagesAdminSettings, 'Packages'],
|
||||
[ConfigAdminSettings, 'Config'],
|
||||
[AboutAdminSettings, 'About'],
|
||||
].forEach(item =>
|
||||
settingsAddViewModel(
|
||||
|
|
47
dev/Settings/Admin/Config.js
Normal file
47
dev/Settings/Admin/Config.js
Normal file
|
@ -0,0 +1,47 @@
|
|||
import ko from 'ko';
|
||||
|
||||
import Remote from 'Remote/Admin/Fetch';
|
||||
|
||||
export class ConfigAdminSettings /*extends AbstractViewSettings*/ {
|
||||
|
||||
constructor() {
|
||||
this.config = ko.observableArray();
|
||||
}
|
||||
|
||||
onBeforeShow() {
|
||||
Remote.request('AdminSettingsGet', (iError, data) => {
|
||||
if (!iError) {
|
||||
const cfg = [],
|
||||
getInputType = value => {
|
||||
switch (typeof value)
|
||||
{
|
||||
case 'boolean': return 'checkbox';
|
||||
case 'number': return 'number';
|
||||
}
|
||||
return 'text';
|
||||
};
|
||||
Object.entries(data.Result).forEach(([key, items]) => {
|
||||
const section = {
|
||||
name: key,
|
||||
items: []
|
||||
};
|
||||
Object.entries(items).forEach(([skey, item]) => {
|
||||
section.items.push({
|
||||
key: `config[${key}][${skey}]`,
|
||||
name: skey,
|
||||
value: item[0],
|
||||
type: getInputType(item[0]),
|
||||
comment: item[1]
|
||||
});
|
||||
});
|
||||
cfg.push(section);
|
||||
});
|
||||
this.config(cfg);
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
saveConfig(form) {
|
||||
Remote.post('AdminSettingsSet', null, new FormData(form));
|
||||
}
|
||||
}
|
|
@ -26,6 +26,7 @@
|
|||
@import "Admin/Layout.less";
|
||||
@import "Admin/General.less";
|
||||
@import "Admin/Branding.less";
|
||||
@import "Admin/Config.less";
|
||||
@import "Admin/Domains.less";
|
||||
@import "Admin/Domain.less";
|
||||
@import "Admin/Packages.less";
|
||||
|
|
6
dev/Styles/Admin/Config.less
Normal file
6
dev/Styles/Admin/Config.less
Normal file
|
@ -0,0 +1,6 @@
|
|||
|
||||
#V-Settings-Config {
|
||||
em {
|
||||
display: block;
|
||||
}
|
||||
}
|
|
@ -1014,40 +1014,6 @@ class Actions
|
|||
);
|
||||
}
|
||||
|
||||
public function setConfigFromParams(Config\Application $oConfig, string $sParamName, string $sConfigSector, string $sConfigName, string $sType = 'string', ?callable $mStringCallback = null): void
|
||||
{
|
||||
$sValue = $this->GetActionParam($sParamName, '');
|
||||
if ($this->HasActionParam($sParamName)) {
|
||||
switch ($sType) {
|
||||
default:
|
||||
case 'string':
|
||||
$sValue = (string)$sValue;
|
||||
if ($mStringCallback && is_callable($mStringCallback)) {
|
||||
$sValue = $mStringCallback($sValue);
|
||||
}
|
||||
|
||||
$oConfig->Set($sConfigSector, $sConfigName, (string)$sValue);
|
||||
break;
|
||||
|
||||
case 'dummy':
|
||||
$sValue = (string)$this->GetActionParam('ContactsPdoPassword', APP_DUMMY);
|
||||
if (APP_DUMMY !== $sValue) {
|
||||
$oConfig->Set($sConfigSector, $sConfigName, (string)$sValue);
|
||||
}
|
||||
break;
|
||||
|
||||
case 'int':
|
||||
$iValue = (int)$sValue;
|
||||
$oConfig->Set($sConfigSector, $sConfigName, $iValue);
|
||||
break;
|
||||
|
||||
case 'bool':
|
||||
$oConfig->Set($sConfigSector, $sConfigName, '1' === (string)$sValue);
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public function DoNoop(): array
|
||||
{
|
||||
$this->initMailClientConnection();
|
||||
|
|
|
@ -88,6 +88,35 @@ trait Admin
|
|||
}
|
||||
}
|
||||
|
||||
public function DoAdminSettingsGet() : array
|
||||
{
|
||||
$aConfig = $this->Config()->jsonSerialize();
|
||||
unset($aConfig['version']);
|
||||
return $this->DefaultResponse(__FUNCTION__, $aConfig);
|
||||
}
|
||||
|
||||
public function DoAdminSettingsSet() : array
|
||||
{
|
||||
// TODO
|
||||
$aConfig = $this->GetActionParam('config', []);
|
||||
unset($aConfig['version']);
|
||||
/* Sections:
|
||||
[webmail] => Array
|
||||
[interface] => Array
|
||||
[contacts] => Array
|
||||
[security] => Array
|
||||
[ssl] => Array
|
||||
[capa] => Array
|
||||
[login] => Array
|
||||
[plugins] => Array
|
||||
[defaults] => Array
|
||||
[logs] => Array
|
||||
[cache] => Array
|
||||
[labs] => Array
|
||||
*/
|
||||
return $this->TrueResponse(__FUNCTION__);
|
||||
}
|
||||
|
||||
public function DoAdminSettingsUpdate() : array
|
||||
{
|
||||
// sleep(3);
|
||||
|
@ -885,4 +914,38 @@ trait Admin
|
|||
|
||||
return false;
|
||||
}
|
||||
|
||||
private function setConfigFromParams(Config\Application $oConfig, string $sParamName, string $sConfigSector, string $sConfigName, string $sType = 'string', ?callable $mStringCallback = null): void
|
||||
{
|
||||
$sValue = $this->GetActionParam($sParamName, '');
|
||||
if ($this->HasActionParam($sParamName)) {
|
||||
switch ($sType) {
|
||||
default:
|
||||
case 'string':
|
||||
$sValue = (string)$sValue;
|
||||
if ($mStringCallback && is_callable($mStringCallback)) {
|
||||
$sValue = $mStringCallback($sValue);
|
||||
}
|
||||
|
||||
$oConfig->Set($sConfigSector, $sConfigName, (string)$sValue);
|
||||
break;
|
||||
|
||||
case 'dummy':
|
||||
$sValue = (string)$this->GetActionParam('ContactsPdoPassword', APP_DUMMY);
|
||||
if (APP_DUMMY !== $sValue) {
|
||||
$oConfig->Set($sConfigSector, $sConfigName, (string)$sValue);
|
||||
}
|
||||
break;
|
||||
|
||||
case 'int':
|
||||
$iValue = (int)$sValue;
|
||||
$oConfig->Set($sConfigSector, $sConfigName, $iValue);
|
||||
break;
|
||||
|
||||
case 'bool':
|
||||
$oConfig->Set($sConfigSector, $sConfigName, '1' === (string)$sValue);
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
|
||||
namespace RainLoop\Config;
|
||||
|
||||
abstract class AbstractConfig
|
||||
abstract class AbstractConfig implements \JsonSerializable
|
||||
{
|
||||
/**
|
||||
* @var string
|
||||
|
@ -52,6 +52,11 @@ abstract class AbstractConfig
|
|||
return \is_array($this->aData) && \count($this->aData);
|
||||
}
|
||||
|
||||
public function jsonSerialize()
|
||||
{
|
||||
return $this->aData;
|
||||
}
|
||||
|
||||
/**
|
||||
* @param mixed $mDefault = null
|
||||
*
|
||||
|
|
|
@ -1,4 +1,7 @@
|
|||
{
|
||||
"GLOBAL": {
|
||||
"SAVE": "Uložit"
|
||||
},
|
||||
"LOGIN": {
|
||||
"LABEL_LOGIN": "Login",
|
||||
"LABEL_PASSWORD": "Heslo",
|
||||
|
@ -16,6 +19,7 @@
|
|||
"LABEL_DOMAINS_NAME": "Domény",
|
||||
"LABEL_SECURITY_NAME": "Zabezpečení",
|
||||
"LABEL_PACKAGES_NAME": "Balíčky",
|
||||
"LABEL_CONFIG_NAME": "Config",
|
||||
"LABEL_ABOUT_NAME": "Info"
|
||||
},
|
||||
"TAB_GENERAL": {
|
||||
|
@ -140,8 +144,7 @@
|
|||
"POPUPS_PLUGIN": {
|
||||
"TITLE_PLUGIN": "Plugin",
|
||||
"DESC_NOTHING_TO_CONFIGURE": "Není zde nic ke konfiguraci",
|
||||
"BUTTON_CLOSE": "Zavřít",
|
||||
"BUTTON_SAVE": "Uložit"
|
||||
"BUTTON_CLOSE": "Zavřít"
|
||||
},
|
||||
"POPUPS_ASK": {
|
||||
"BUTTON_YES": "Yes",
|
||||
|
|
|
@ -1,4 +1,7 @@
|
|||
{
|
||||
"GLOBAL": {
|
||||
"SAVE": "Gem"
|
||||
},
|
||||
"LOGIN": {
|
||||
"LABEL_LOGIN": "Log ind",
|
||||
"LABEL_PASSWORD": "Adgangskode",
|
||||
|
@ -16,6 +19,7 @@
|
|||
"LABEL_DOMAINS_NAME": "Domæner",
|
||||
"LABEL_SECURITY_NAME": "Sikkerhed",
|
||||
"LABEL_PACKAGES_NAME": "Pakker",
|
||||
"LABEL_CONFIG_NAME": "Config",
|
||||
"LABEL_ABOUT_NAME": "Om"
|
||||
},
|
||||
"TAB_GENERAL": {
|
||||
|
@ -140,8 +144,7 @@
|
|||
"POPUPS_PLUGIN": {
|
||||
"TITLE_PLUGIN": "Tilføjelse",
|
||||
"DESC_NOTHING_TO_CONFIGURE": "Intet at opsætte",
|
||||
"BUTTON_CLOSE": "Luk",
|
||||
"BUTTON_SAVE": "Gem"
|
||||
"BUTTON_CLOSE": "Luk"
|
||||
},
|
||||
"POPUPS_ASK": {
|
||||
"BUTTON_YES": "Yes",
|
||||
|
|
|
@ -1,4 +1,7 @@
|
|||
{
|
||||
"GLOBAL": {
|
||||
"SAVE": "Speichern"
|
||||
},
|
||||
"LOGIN": {
|
||||
"LABEL_LOGIN": "Benutzer",
|
||||
"LABEL_PASSWORD": "Passwort",
|
||||
|
@ -16,6 +19,7 @@
|
|||
"LABEL_DOMAINS_NAME": "Domains",
|
||||
"LABEL_SECURITY_NAME": "Sicherheit",
|
||||
"LABEL_PACKAGES_NAME": "Erweiterungen",
|
||||
"LABEL_CONFIG_NAME": "Config",
|
||||
"LABEL_ABOUT_NAME": "Über"
|
||||
},
|
||||
"TAB_GENERAL": {
|
||||
|
@ -140,8 +144,7 @@
|
|||
"POPUPS_PLUGIN": {
|
||||
"TITLE_PLUGIN": "Erweiterung",
|
||||
"DESC_NOTHING_TO_CONFIGURE": "Nichts zu konfigurieren",
|
||||
"BUTTON_CLOSE": "Schließen",
|
||||
"BUTTON_SAVE": "Speichern"
|
||||
"BUTTON_CLOSE": "Schließen"
|
||||
},
|
||||
"POPUPS_ASK": {
|
||||
"BUTTON_YES": "Ja",
|
||||
|
|
|
@ -1,4 +1,7 @@
|
|||
{
|
||||
"GLOBAL": {
|
||||
"SAVE": "Save"
|
||||
},
|
||||
"LOGIN": {
|
||||
"LABEL_LOGIN": "Login",
|
||||
"LABEL_PASSWORD": "Password",
|
||||
|
@ -16,6 +19,7 @@
|
|||
"LABEL_DOMAINS_NAME": "Domains",
|
||||
"LABEL_SECURITY_NAME": "Security",
|
||||
"LABEL_PACKAGES_NAME": "Extensions",
|
||||
"LABEL_CONFIG_NAME": "Config",
|
||||
"LABEL_ABOUT_NAME": "About"
|
||||
},
|
||||
"TAB_GENERAL": {
|
||||
|
@ -140,8 +144,7 @@
|
|||
"POPUPS_PLUGIN": {
|
||||
"TITLE_PLUGIN": "Extension",
|
||||
"DESC_NOTHING_TO_CONFIGURE": "Nothing to configure",
|
||||
"BUTTON_CLOSE": "Close",
|
||||
"BUTTON_SAVE": "Save"
|
||||
"BUTTON_CLOSE": "Close"
|
||||
},
|
||||
"POPUPS_ASK": {
|
||||
"BUTTON_YES": "Yes",
|
||||
|
|
|
@ -1,4 +1,7 @@
|
|||
{
|
||||
"GLOBAL": {
|
||||
"SAVE": "Guardar"
|
||||
},
|
||||
"LOGIN": {
|
||||
"LABEL_LOGIN": "Ingresar",
|
||||
"LABEL_PASSWORD": "Contraseña",
|
||||
|
@ -16,6 +19,7 @@
|
|||
"LABEL_DOMAINS_NAME": "Dominios",
|
||||
"LABEL_SECURITY_NAME": "Seguridad",
|
||||
"LABEL_PACKAGES_NAME": "Extensiones",
|
||||
"LABEL_CONFIG_NAME": "Config",
|
||||
"LABEL_ABOUT_NAME": "Acerca"
|
||||
},
|
||||
"TAB_GENERAL": {
|
||||
|
@ -140,8 +144,7 @@
|
|||
"POPUPS_PLUGIN": {
|
||||
"TITLE_PLUGIN": "Extensión",
|
||||
"DESC_NOTHING_TO_CONFIGURE": "Nada para configurar",
|
||||
"BUTTON_CLOSE": "Cerrar",
|
||||
"BUTTON_SAVE": "Guardar"
|
||||
"BUTTON_CLOSE": "Cerrar"
|
||||
},
|
||||
"POPUPS_ASK": {
|
||||
"BUTTON_YES": "Sí",
|
||||
|
|
|
@ -1,4 +1,7 @@
|
|||
{
|
||||
"GLOBAL": {
|
||||
"SAVE": "ذخیره"
|
||||
},
|
||||
"LOGIN": {
|
||||
"LABEL_LOGIN": "ورود",
|
||||
"LABEL_PASSWORD": "گذرواژه",
|
||||
|
@ -16,6 +19,7 @@
|
|||
"LABEL_DOMAINS_NAME": "دامنهها",
|
||||
"LABEL_SECURITY_NAME": "امنیت",
|
||||
"LABEL_PACKAGES_NAME": "بستهها",
|
||||
"LABEL_CONFIG_NAME": "Config",
|
||||
"LABEL_ABOUT_NAME": "درباره"
|
||||
},
|
||||
"TAB_GENERAL": {
|
||||
|
@ -140,8 +144,7 @@
|
|||
"POPUPS_PLUGIN": {
|
||||
"TITLE_PLUGIN": "افزونه",
|
||||
"DESC_NOTHING_TO_CONFIGURE": "چیزی برای پیکربندی نیست",
|
||||
"BUTTON_CLOSE": "بستن",
|
||||
"BUTTON_SAVE": "ذخیره"
|
||||
"BUTTON_CLOSE": "بستن"
|
||||
},
|
||||
"POPUPS_ASK": {
|
||||
"BUTTON_YES": "Yes",
|
||||
|
|
|
@ -1,4 +1,7 @@
|
|||
{
|
||||
"GLOBAL": {
|
||||
"SAVE": "Tallenna"
|
||||
},
|
||||
"LOGIN": {
|
||||
"LABEL_LOGIN": "Tunnus",
|
||||
"LABEL_PASSWORD": "Salasana",
|
||||
|
@ -16,6 +19,7 @@
|
|||
"LABEL_DOMAINS_NAME": "Verkkotunnutkset",
|
||||
"LABEL_SECURITY_NAME": "Turvallisuus",
|
||||
"LABEL_PACKAGES_NAME": "Paketit",
|
||||
"LABEL_CONFIG_NAME": "Config",
|
||||
"LABEL_ABOUT_NAME": "Tietoja"
|
||||
},
|
||||
"TAB_GENERAL": {
|
||||
|
@ -140,8 +144,7 @@
|
|||
"POPUPS_PLUGIN": {
|
||||
"TITLE_PLUGIN": "Lisäosa",
|
||||
"DESC_NOTHING_TO_CONFIGURE": "Ei mitään asetettavaa",
|
||||
"BUTTON_CLOSE": "Sulje",
|
||||
"BUTTON_SAVE": "Tallenna"
|
||||
"BUTTON_CLOSE": "Sulje"
|
||||
},
|
||||
"POPUPS_ASK": {
|
||||
"BUTTON_YES": "Yes",
|
||||
|
|
|
@ -1,4 +1,7 @@
|
|||
{
|
||||
"GLOBAL": {
|
||||
"SAVE": "Enregistrer"
|
||||
},
|
||||
"LOGIN": {
|
||||
"LABEL_LOGIN": "Identifiant",
|
||||
"LABEL_PASSWORD": "Mot de passe",
|
||||
|
@ -16,6 +19,7 @@
|
|||
"LABEL_DOMAINS_NAME": "Domaines",
|
||||
"LABEL_SECURITY_NAME": "Sécurité",
|
||||
"LABEL_PACKAGES_NAME": "Extensions",
|
||||
"LABEL_CONFIG_NAME": "Config",
|
||||
"LABEL_ABOUT_NAME": "A propos"
|
||||
},
|
||||
"TAB_GENERAL": {
|
||||
|
@ -140,8 +144,7 @@
|
|||
"POPUPS_PLUGIN": {
|
||||
"TITLE_PLUGIN": "Extension",
|
||||
"DESC_NOTHING_TO_CONFIGURE": "Rien à configurer",
|
||||
"BUTTON_CLOSE": "Fermer",
|
||||
"BUTTON_SAVE": "Enregistrer"
|
||||
"BUTTON_CLOSE": "Fermer"
|
||||
},
|
||||
"POPUPS_ASK": {
|
||||
"BUTTON_YES": "Oui",
|
||||
|
|
|
@ -1,4 +1,7 @@
|
|||
{
|
||||
"GLOBAL": {
|
||||
"SAVE": "Mentés"
|
||||
},
|
||||
"LOGIN": {
|
||||
"LABEL_LOGIN": "Belépés",
|
||||
"LABEL_PASSWORD": "Jelszó",
|
||||
|
@ -16,6 +19,7 @@
|
|||
"LABEL_DOMAINS_NAME": "Domainek",
|
||||
"LABEL_SECURITY_NAME": "Biztonság",
|
||||
"LABEL_PACKAGES_NAME": "Bővítmények",
|
||||
"LABEL_CONFIG_NAME": "Config",
|
||||
"LABEL_ABOUT_NAME": "Névjegy"
|
||||
},
|
||||
"TAB_GENERAL": {
|
||||
|
@ -140,8 +144,7 @@
|
|||
"POPUPS_PLUGIN": {
|
||||
"TITLE_PLUGIN": "Bővítményt",
|
||||
"DESC_NOTHING_TO_CONFIGURE": "Nincs mit beállítani",
|
||||
"BUTTON_CLOSE": "Bezár",
|
||||
"BUTTON_SAVE": "Mentés"
|
||||
"BUTTON_CLOSE": "Bezár"
|
||||
},
|
||||
"POPUPS_ASK": {
|
||||
"BUTTON_YES": "Igen",
|
||||
|
|
|
@ -1,4 +1,7 @@
|
|||
{
|
||||
"GLOBAL": {
|
||||
"SAVE": "Simpan"
|
||||
},
|
||||
"LOGIN": {
|
||||
"LABEL_LOGIN": "Login",
|
||||
"LABEL_PASSWORD": "Password",
|
||||
|
@ -16,6 +19,7 @@
|
|||
"LABEL_DOMAINS_NAME": "Domain",
|
||||
"LABEL_SECURITY_NAME": "Keamanan",
|
||||
"LABEL_PACKAGES_NAME": "Paket",
|
||||
"LABEL_CONFIG_NAME": "Config",
|
||||
"LABEL_ABOUT_NAME": "Tentang"
|
||||
},
|
||||
"TAB_GENERAL": {
|
||||
|
@ -140,8 +144,7 @@
|
|||
"POPUPS_PLUGIN": {
|
||||
"TITLE_PLUGIN": "Plugin",
|
||||
"DESC_NOTHING_TO_CONFIGURE": "Tidak ada yang dikonfigurasi",
|
||||
"BUTTON_CLOSE": "Tutup",
|
||||
"BUTTON_SAVE": "Simpan"
|
||||
"BUTTON_CLOSE": "Tutup"
|
||||
},
|
||||
"POPUPS_ASK": {
|
||||
"BUTTON_YES": "Yes",
|
||||
|
|
|
@ -1,4 +1,7 @@
|
|||
{
|
||||
"GLOBAL": {
|
||||
"SAVE": "Salva"
|
||||
},
|
||||
"LOGIN": {
|
||||
"LABEL_LOGIN": "Nome utente",
|
||||
"LABEL_PASSWORD": "Password",
|
||||
|
@ -16,6 +19,7 @@
|
|||
"LABEL_DOMAINS_NAME": "Domini",
|
||||
"LABEL_SECURITY_NAME": "Sicurezza",
|
||||
"LABEL_PACKAGES_NAME": "Pacchetti",
|
||||
"LABEL_CONFIG_NAME": "Config",
|
||||
"LABEL_ABOUT_NAME": "Informazioni"
|
||||
},
|
||||
"TAB_GENERAL": {
|
||||
|
@ -140,8 +144,7 @@
|
|||
"POPUPS_PLUGIN": {
|
||||
"TITLE_PLUGIN": "Plugin",
|
||||
"DESC_NOTHING_TO_CONFIGURE": "Niente da configurare",
|
||||
"BUTTON_CLOSE": "Chiudi",
|
||||
"BUTTON_SAVE": "Salva"
|
||||
"BUTTON_CLOSE": "Chiudi"
|
||||
},
|
||||
"POPUPS_ASK": {
|
||||
"BUTTON_YES": "Yes",
|
||||
|
|
|
@ -1,4 +1,7 @@
|
|||
{
|
||||
"GLOBAL": {
|
||||
"SAVE": "保存"
|
||||
},
|
||||
"LOGIN": {
|
||||
"LABEL_LOGIN": "ログイン",
|
||||
"LABEL_PASSWORD": "パスワード",
|
||||
|
@ -16,6 +19,7 @@
|
|||
"LABEL_DOMAINS_NAME": "ドメイン",
|
||||
"LABEL_SECURITY_NAME": "セキュリティ",
|
||||
"LABEL_PACKAGES_NAME": "パッケージ",
|
||||
"LABEL_CONFIG_NAME": "Config",
|
||||
"LABEL_ABOUT_NAME": "RainLoop について"
|
||||
},
|
||||
"TAB_GENERAL": {
|
||||
|
@ -140,8 +144,7 @@
|
|||
"POPUPS_PLUGIN": {
|
||||
"TITLE_PLUGIN": "プラグイン",
|
||||
"DESC_NOTHING_TO_CONFIGURE": "何も設定されていません",
|
||||
"BUTTON_CLOSE": "閉じる",
|
||||
"BUTTON_SAVE": "保存"
|
||||
"BUTTON_CLOSE": "閉じる"
|
||||
},
|
||||
"POPUPS_ASK": {
|
||||
"BUTTON_YES": "Yes",
|
||||
|
|
|
@ -1,4 +1,7 @@
|
|||
{
|
||||
"GLOBAL": {
|
||||
"SAVE": "Saugoti"
|
||||
},
|
||||
"LOGIN": {
|
||||
"LABEL_LOGIN": "Prisijungimo vardas",
|
||||
"LABEL_PASSWORD": "Slaptažodis",
|
||||
|
@ -16,6 +19,7 @@
|
|||
"LABEL_DOMAINS_NAME": "Domenai",
|
||||
"LABEL_SECURITY_NAME": "Sauga",
|
||||
"LABEL_PACKAGES_NAME": "Paketai",
|
||||
"LABEL_CONFIG_NAME": "Config",
|
||||
"LABEL_ABOUT_NAME": "Apie"
|
||||
},
|
||||
"TAB_GENERAL": {
|
||||
|
@ -140,8 +144,7 @@
|
|||
"POPUPS_PLUGIN": {
|
||||
"TITLE_PLUGIN": "Įskiepis",
|
||||
"DESC_NOTHING_TO_CONFIGURE": "Nėra ką konfiguruoti",
|
||||
"BUTTON_CLOSE": "Uždaryti",
|
||||
"BUTTON_SAVE": "Saugoti"
|
||||
"BUTTON_CLOSE": "Uždaryti"
|
||||
},
|
||||
"POPUPS_ASK": {
|
||||
"BUTTON_YES": "Yes",
|
||||
|
|
|
@ -1,4 +1,7 @@
|
|||
{
|
||||
"GLOBAL": {
|
||||
"SAVE": "Lagre"
|
||||
},
|
||||
"LOGIN": {
|
||||
"LABEL_LOGIN": "Brukernavn",
|
||||
"LABEL_PASSWORD": "Passord",
|
||||
|
@ -16,6 +19,7 @@
|
|||
"LABEL_DOMAINS_NAME": "Domener",
|
||||
"LABEL_SECURITY_NAME": "Sikkerhet",
|
||||
"LABEL_PACKAGES_NAME": "Pakker",
|
||||
"LABEL_CONFIG_NAME": "Config",
|
||||
"LABEL_ABOUT_NAME": "Om"
|
||||
},
|
||||
"TAB_GENERAL": {
|
||||
|
@ -140,8 +144,7 @@
|
|||
"POPUPS_PLUGIN": {
|
||||
"TITLE_PLUGIN": "Tillegg",
|
||||
"DESC_NOTHING_TO_CONFIGURE": "Ingenting å sette opp",
|
||||
"BUTTON_CLOSE": "Lukk",
|
||||
"BUTTON_SAVE": "Lagre"
|
||||
"BUTTON_CLOSE": "Lukk"
|
||||
},
|
||||
"POPUPS_ASK": {
|
||||
"BUTTON_YES": "Yes",
|
||||
|
|
|
@ -1,4 +1,7 @@
|
|||
{
|
||||
"GLOBAL": {
|
||||
"SAVE": "Opslaan"
|
||||
},
|
||||
"LOGIN": {
|
||||
"LABEL_LOGIN": "Inlognaam",
|
||||
"LABEL_PASSWORD": "Wachtwoord",
|
||||
|
@ -16,6 +19,7 @@
|
|||
"LABEL_DOMAINS_NAME": "Domeinen",
|
||||
"LABEL_SECURITY_NAME": "Beveiliging",
|
||||
"LABEL_PACKAGES_NAME": "Extensies",
|
||||
"LABEL_CONFIG_NAME": "Config",
|
||||
"LABEL_ABOUT_NAME": "Over"
|
||||
},
|
||||
"TAB_GENERAL": {
|
||||
|
@ -140,8 +144,7 @@
|
|||
"POPUPS_PLUGIN": {
|
||||
"TITLE_PLUGIN": "Extensie",
|
||||
"DESC_NOTHING_TO_CONFIGURE": "Niets om te configureren",
|
||||
"BUTTON_CLOSE": "Annuleer",
|
||||
"BUTTON_SAVE": "Opslaan"
|
||||
"BUTTON_CLOSE": "Annuleer"
|
||||
},
|
||||
"POPUPS_ASK": {
|
||||
"BUTTON_YES": "Ja",
|
||||
|
|
|
@ -1,4 +1,7 @@
|
|||
{
|
||||
"GLOBAL": {
|
||||
"SAVE": "Zapisz"
|
||||
},
|
||||
"LOGIN": {
|
||||
"LABEL_LOGIN": "Login",
|
||||
"LABEL_PASSWORD": "Hasło",
|
||||
|
@ -16,6 +19,7 @@
|
|||
"LABEL_DOMAINS_NAME": "Domeny",
|
||||
"LABEL_SECURITY_NAME": "Bezpieczeństwo",
|
||||
"LABEL_PACKAGES_NAME": "Pakiety",
|
||||
"LABEL_CONFIG_NAME": "Config",
|
||||
"LABEL_ABOUT_NAME": "O programie"
|
||||
},
|
||||
"TAB_GENERAL": {
|
||||
|
@ -140,8 +144,7 @@
|
|||
"POPUPS_PLUGIN": {
|
||||
"TITLE_PLUGIN": "Wtyczka",
|
||||
"DESC_NOTHING_TO_CONFIGURE": "Brak opcji do skonfigurowania",
|
||||
"BUTTON_CLOSE": "Zamknij",
|
||||
"BUTTON_SAVE": "Zapisz"
|
||||
"BUTTON_CLOSE": "Zamknij"
|
||||
},
|
||||
"POPUPS_ASK": {
|
||||
"BUTTON_YES": "Yes",
|
||||
|
|
|
@ -1,4 +1,7 @@
|
|||
{
|
||||
"GLOBAL": {
|
||||
"SAVE": "Salvar"
|
||||
},
|
||||
"LOGIN": {
|
||||
"LABEL_LOGIN": "Usuário",
|
||||
"LABEL_PASSWORD": "Senha",
|
||||
|
@ -16,6 +19,7 @@
|
|||
"LABEL_DOMAINS_NAME": "Domínios",
|
||||
"LABEL_SECURITY_NAME": "Segurança",
|
||||
"LABEL_PACKAGES_NAME": "Pacotes",
|
||||
"LABEL_CONFIG_NAME": "Config",
|
||||
"LABEL_ABOUT_NAME": "Sobre"
|
||||
},
|
||||
"TAB_GENERAL": {
|
||||
|
@ -140,8 +144,7 @@
|
|||
"POPUPS_PLUGIN": {
|
||||
"TITLE_PLUGIN": "Plugin",
|
||||
"DESC_NOTHING_TO_CONFIGURE": "Nada para configurar",
|
||||
"BUTTON_CLOSE": "Fechar",
|
||||
"BUTTON_SAVE": "Salvar"
|
||||
"BUTTON_CLOSE": "Fechar"
|
||||
},
|
||||
"POPUPS_ASK": {
|
||||
"BUTTON_YES": "Yes",
|
||||
|
|
|
@ -1,4 +1,7 @@
|
|||
{
|
||||
"GLOBAL": {
|
||||
"SAVE": "Сохранить"
|
||||
},
|
||||
"LOGIN": {
|
||||
"LABEL_LOGIN": "Логин",
|
||||
"LABEL_PASSWORD": "Пароль",
|
||||
|
@ -16,6 +19,7 @@
|
|||
"LABEL_DOMAINS_NAME": "Домены",
|
||||
"LABEL_SECURITY_NAME": "Безопасность",
|
||||
"LABEL_PACKAGES_NAME": "Пакеты",
|
||||
"LABEL_CONFIG_NAME": "Config",
|
||||
"LABEL_ABOUT_NAME": "О Программе"
|
||||
},
|
||||
"TAB_GENERAL": {
|
||||
|
@ -140,8 +144,7 @@
|
|||
"POPUPS_PLUGIN": {
|
||||
"TITLE_PLUGIN": "Плагин",
|
||||
"DESC_NOTHING_TO_CONFIGURE": "Без настроек",
|
||||
"BUTTON_CLOSE": "Закрыть",
|
||||
"BUTTON_SAVE": "Сохранить"
|
||||
"BUTTON_CLOSE": "Закрыть"
|
||||
},
|
||||
"POPUPS_ASK": {
|
||||
"BUTTON_YES": "Yes",
|
||||
|
|
|
@ -1,4 +1,7 @@
|
|||
{
|
||||
"GLOBAL": {
|
||||
"SAVE": "Uložiť"
|
||||
},
|
||||
"LOGIN": {
|
||||
"LABEL_LOGIN": "Prihlasovanie",
|
||||
"LABEL_PASSWORD": "Heslo",
|
||||
|
@ -16,6 +19,7 @@
|
|||
"LABEL_DOMAINS_NAME": "Domény",
|
||||
"LABEL_SECURITY_NAME": "Zabezpečenie",
|
||||
"LABEL_PACKAGES_NAME": "Balíčky",
|
||||
"LABEL_CONFIG_NAME": "Config",
|
||||
"LABEL_ABOUT_NAME": "O programe"
|
||||
},
|
||||
"TAB_GENERAL": {
|
||||
|
@ -140,8 +144,7 @@
|
|||
"POPUPS_PLUGIN": {
|
||||
"TITLE_PLUGIN": "Doplnok",
|
||||
"DESC_NOTHING_TO_CONFIGURE": "Nothing to configure",
|
||||
"BUTTON_CLOSE": "Zatvoriť",
|
||||
"BUTTON_SAVE": "Uložiť"
|
||||
"BUTTON_CLOSE": "Zatvoriť"
|
||||
},
|
||||
"POPUPS_ASK": {
|
||||
"BUTTON_YES": "Yes",
|
||||
|
|
|
@ -1,4 +1,7 @@
|
|||
{
|
||||
"GLOBAL": {
|
||||
"SAVE": "Shrani"
|
||||
},
|
||||
"LOGIN": {
|
||||
"LABEL_LOGIN": "Prijava",
|
||||
"LABEL_PASSWORD": "Geslo",
|
||||
|
@ -16,6 +19,7 @@
|
|||
"LABEL_DOMAINS_NAME": "Domene",
|
||||
"LABEL_SECURITY_NAME": "Varnost",
|
||||
"LABEL_PACKAGES_NAME": "Paketi",
|
||||
"LABEL_CONFIG_NAME": "Config",
|
||||
"LABEL_ABOUT_NAME": "Več o"
|
||||
},
|
||||
"TAB_GENERAL": {
|
||||
|
@ -140,8 +144,7 @@
|
|||
"POPUPS_PLUGIN": {
|
||||
"TITLE_PLUGIN": "Vtičnik",
|
||||
"DESC_NOTHING_TO_CONFIGURE": "Ni nastavitev za spreminjati",
|
||||
"BUTTON_CLOSE": "Zapri",
|
||||
"BUTTON_SAVE": "Shrani"
|
||||
"BUTTON_CLOSE": "Zapri"
|
||||
},
|
||||
"POPUPS_ASK": {
|
||||
"BUTTON_YES": "Yes",
|
||||
|
|
|
@ -1,4 +1,7 @@
|
|||
{
|
||||
"GLOBAL": {
|
||||
"SAVE": "Spara"
|
||||
},
|
||||
"LOGIN": {
|
||||
"LABEL_LOGIN": "Logga in",
|
||||
"LABEL_PASSWORD": "Lösenord",
|
||||
|
@ -16,6 +19,7 @@
|
|||
"LABEL_DOMAINS_NAME": "Domäner",
|
||||
"LABEL_SECURITY_NAME": "Säkerhet",
|
||||
"LABEL_PACKAGES_NAME": "Tillägg",
|
||||
"LABEL_CONFIG_NAME": "Config",
|
||||
"LABEL_ABOUT_NAME": "Om"
|
||||
},
|
||||
"TAB_GENERAL": {
|
||||
|
@ -140,8 +144,7 @@
|
|||
"POPUPS_PLUGIN": {
|
||||
"TITLE_PLUGIN": "Tillägget",
|
||||
"DESC_NOTHING_TO_CONFIGURE": "Inget att konfigurera",
|
||||
"BUTTON_CLOSE": "Stäng",
|
||||
"BUTTON_SAVE": "Spara"
|
||||
"BUTTON_CLOSE": "Stäng"
|
||||
},
|
||||
"POPUPS_ASK": {
|
||||
"BUTTON_YES": "Ja",
|
||||
|
|
|
@ -1,4 +1,7 @@
|
|||
{
|
||||
"GLOBAL": {
|
||||
"SAVE": "保存"
|
||||
},
|
||||
"LOGIN": {
|
||||
"LABEL_LOGIN": "登录",
|
||||
"LABEL_PASSWORD": "密码",
|
||||
|
@ -16,6 +19,7 @@
|
|||
"LABEL_DOMAINS_NAME": "域名",
|
||||
"LABEL_SECURITY_NAME": "安全",
|
||||
"LABEL_PACKAGES_NAME": "插件包",
|
||||
"LABEL_CONFIG_NAME": "Config",
|
||||
"LABEL_ABOUT_NAME": "关于"
|
||||
},
|
||||
"TAB_GENERAL": {
|
||||
|
@ -140,8 +144,7 @@
|
|||
"POPUPS_PLUGIN": {
|
||||
"TITLE_PLUGIN": "插件",
|
||||
"DESC_NOTHING_TO_CONFIGURE": "无可用配置",
|
||||
"BUTTON_CLOSE": "关闭",
|
||||
"BUTTON_SAVE": "保存"
|
||||
"BUTTON_CLOSE": "关闭"
|
||||
},
|
||||
"POPUPS_ASK": {
|
||||
"BUTTON_YES": "是",
|
||||
|
|
|
@ -0,0 +1,27 @@
|
|||
<div class="legend">application.ini</div>
|
||||
<form method="POST" data-bind="submit: saveConfig">
|
||||
<table class="table table-hover table-bordered">
|
||||
<!-- ko foreach: config -->
|
||||
<tbody>
|
||||
<tr><th colspan="3" data-bind="text: name"></th></tr>
|
||||
<!-- ko foreach: items -->
|
||||
<tr>
|
||||
<td data-bind="text: name"></td>
|
||||
<td>
|
||||
<!-- ko if: 'checkbox' == type -->
|
||||
<input type="checkbox" data-bind="attr: {name: key, checked: value}"/>
|
||||
<!-- /ko -->
|
||||
<!-- ko if: 'checkbox' != type -->
|
||||
<input data-bind="attr: {name: key, type: type}, value: value"/>
|
||||
<!-- /ko -->
|
||||
<em data-bind="text: comment, visible: comment"></em>
|
||||
</td>
|
||||
</tr>
|
||||
<!-- /ko -->
|
||||
</tbody>
|
||||
<!-- /ko -->
|
||||
</table>
|
||||
<!--
|
||||
<button data-i18n="GLOBAL/SAVE"></button>
|
||||
-->
|
||||
</form>
|
|
@ -26,6 +26,6 @@
|
|||
</a>
|
||||
<a class="btn" data-bind="command: saveCommand, visible: hasConfiguration">
|
||||
<i class="fontastic">✔</i>
|
||||
<span data-i18n="POPUPS_PLUGIN/BUTTON_SAVE"></span>
|
||||
<span data-i18n="GLOBAL/SAVE"></span>
|
||||
</a>
|
||||
</footer>
|
||||
|
|
Loading…
Reference in a new issue