From f20a7c7b8323ff3284658fcb2a8098203d1a754f Mon Sep 17 00:00:00 2001 From: djmaze <> Date: Thu, 23 Dec 2021 11:37:39 +0100 Subject: [PATCH] Added Admin -> Config to view all the application.ini settings. TODO: save changes --- dev/Screen/Admin/Settings.js | 2 + dev/Settings/Admin/Config.js | 47 ++++++++++++++ dev/Styles/@Admin.less | 1 + dev/Styles/Admin/Config.less | 6 ++ .../0.0.0/app/libraries/RainLoop/Actions.php | 34 ---------- .../app/libraries/RainLoop/Actions/Admin.php | 63 +++++++++++++++++++ .../RainLoop/Config/AbstractConfig.php | 7 ++- .../v/0.0.0/app/localization/cs-CZ/admin.json | 7 ++- .../v/0.0.0/app/localization/da-DK/admin.json | 7 ++- .../v/0.0.0/app/localization/de-DE/admin.json | 7 ++- .../v/0.0.0/app/localization/en/admin.json | 7 ++- .../v/0.0.0/app/localization/es-ES/admin.json | 7 ++- .../v/0.0.0/app/localization/fa-IR/admin.json | 7 ++- .../v/0.0.0/app/localization/fi-FI/admin.json | 7 ++- .../v/0.0.0/app/localization/fr-FR/admin.json | 7 ++- .../v/0.0.0/app/localization/hu-HU/admin.json | 7 ++- .../v/0.0.0/app/localization/id-ID/admin.json | 7 ++- .../v/0.0.0/app/localization/it-IT/admin.json | 7 ++- .../v/0.0.0/app/localization/ja-JP/admin.json | 7 ++- .../v/0.0.0/app/localization/lt-LT/admin.json | 7 ++- .../v/0.0.0/app/localization/nb-NO/admin.json | 7 ++- .../v/0.0.0/app/localization/nl-NL/admin.json | 7 ++- .../v/0.0.0/app/localization/pl-PL/admin.json | 7 ++- .../v/0.0.0/app/localization/pt-BR/admin.json | 7 ++- .../v/0.0.0/app/localization/ru-RU/admin.json | 7 ++- .../v/0.0.0/app/localization/sk-SK/admin.json | 7 ++- .../v/0.0.0/app/localization/sl-SI/admin.json | 7 ++- .../v/0.0.0/app/localization/sv-SE/admin.json | 7 ++- .../v/0.0.0/app/localization/zh-CN/admin.json | 7 ++- .../Views/Admin/AdminSettingsConfig.html | 27 ++++++++ .../templates/Views/Admin/PopupsPlugin.html | 2 +- 31 files changed, 263 insertions(+), 80 deletions(-) create mode 100644 dev/Settings/Admin/Config.js create mode 100644 dev/Styles/Admin/Config.less create mode 100644 snappymail/v/0.0.0/app/templates/Views/Admin/AdminSettingsConfig.html diff --git a/dev/Screen/Admin/Settings.js b/dev/Screen/Admin/Settings.js index 0e3ad3f3b..e65d0f134 100644 --- a/dev/Screen/Admin/Settings.js +++ b/dev/Screen/Admin/Settings.js @@ -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( diff --git a/dev/Settings/Admin/Config.js b/dev/Settings/Admin/Config.js new file mode 100644 index 000000000..cff8e4a28 --- /dev/null +++ b/dev/Settings/Admin/Config.js @@ -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)); + } +} diff --git a/dev/Styles/@Admin.less b/dev/Styles/@Admin.less index c0c06b12b..85ebb53dc 100644 --- a/dev/Styles/@Admin.less +++ b/dev/Styles/@Admin.less @@ -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"; diff --git a/dev/Styles/Admin/Config.less b/dev/Styles/Admin/Config.less new file mode 100644 index 000000000..9c48017ac --- /dev/null +++ b/dev/Styles/Admin/Config.less @@ -0,0 +1,6 @@ + +#V-Settings-Config { + em { + display: block; + } +} diff --git a/snappymail/v/0.0.0/app/libraries/RainLoop/Actions.php b/snappymail/v/0.0.0/app/libraries/RainLoop/Actions.php index f228d94fd..9e80801d2 100644 --- a/snappymail/v/0.0.0/app/libraries/RainLoop/Actions.php +++ b/snappymail/v/0.0.0/app/libraries/RainLoop/Actions.php @@ -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(); diff --git a/snappymail/v/0.0.0/app/libraries/RainLoop/Actions/Admin.php b/snappymail/v/0.0.0/app/libraries/RainLoop/Actions/Admin.php index b29bea18b..51cd9430e 100644 --- a/snappymail/v/0.0.0/app/libraries/RainLoop/Actions/Admin.php +++ b/snappymail/v/0.0.0/app/libraries/RainLoop/Actions/Admin.php @@ -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; + } + } + } } diff --git a/snappymail/v/0.0.0/app/libraries/RainLoop/Config/AbstractConfig.php b/snappymail/v/0.0.0/app/libraries/RainLoop/Config/AbstractConfig.php index a412d9d56..16c33918c 100644 --- a/snappymail/v/0.0.0/app/libraries/RainLoop/Config/AbstractConfig.php +++ b/snappymail/v/0.0.0/app/libraries/RainLoop/Config/AbstractConfig.php @@ -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 * diff --git a/snappymail/v/0.0.0/app/localization/cs-CZ/admin.json b/snappymail/v/0.0.0/app/localization/cs-CZ/admin.json index ff32d89c4..eaea389a3 100644 --- a/snappymail/v/0.0.0/app/localization/cs-CZ/admin.json +++ b/snappymail/v/0.0.0/app/localization/cs-CZ/admin.json @@ -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", diff --git a/snappymail/v/0.0.0/app/localization/da-DK/admin.json b/snappymail/v/0.0.0/app/localization/da-DK/admin.json index 7425476f2..a71d00642 100644 --- a/snappymail/v/0.0.0/app/localization/da-DK/admin.json +++ b/snappymail/v/0.0.0/app/localization/da-DK/admin.json @@ -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", diff --git a/snappymail/v/0.0.0/app/localization/de-DE/admin.json b/snappymail/v/0.0.0/app/localization/de-DE/admin.json index b5357d56b..fe7501b4f 100644 --- a/snappymail/v/0.0.0/app/localization/de-DE/admin.json +++ b/snappymail/v/0.0.0/app/localization/de-DE/admin.json @@ -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", diff --git a/snappymail/v/0.0.0/app/localization/en/admin.json b/snappymail/v/0.0.0/app/localization/en/admin.json index cbfe9fd3e..dd8bff17b 100644 --- a/snappymail/v/0.0.0/app/localization/en/admin.json +++ b/snappymail/v/0.0.0/app/localization/en/admin.json @@ -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", diff --git a/snappymail/v/0.0.0/app/localization/es-ES/admin.json b/snappymail/v/0.0.0/app/localization/es-ES/admin.json index 6d17b6f39..6e9bdc18f 100644 --- a/snappymail/v/0.0.0/app/localization/es-ES/admin.json +++ b/snappymail/v/0.0.0/app/localization/es-ES/admin.json @@ -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í", diff --git a/snappymail/v/0.0.0/app/localization/fa-IR/admin.json b/snappymail/v/0.0.0/app/localization/fa-IR/admin.json index c24b43d25..83e047e91 100644 --- a/snappymail/v/0.0.0/app/localization/fa-IR/admin.json +++ b/snappymail/v/0.0.0/app/localization/fa-IR/admin.json @@ -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", diff --git a/snappymail/v/0.0.0/app/localization/fi-FI/admin.json b/snappymail/v/0.0.0/app/localization/fi-FI/admin.json index 0680cdcb8..568e3791d 100644 --- a/snappymail/v/0.0.0/app/localization/fi-FI/admin.json +++ b/snappymail/v/0.0.0/app/localization/fi-FI/admin.json @@ -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", diff --git a/snappymail/v/0.0.0/app/localization/fr-FR/admin.json b/snappymail/v/0.0.0/app/localization/fr-FR/admin.json index ffb3516a4..23dc1d1d7 100644 --- a/snappymail/v/0.0.0/app/localization/fr-FR/admin.json +++ b/snappymail/v/0.0.0/app/localization/fr-FR/admin.json @@ -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", diff --git a/snappymail/v/0.0.0/app/localization/hu-HU/admin.json b/snappymail/v/0.0.0/app/localization/hu-HU/admin.json index 9502b869b..98857e289 100644 --- a/snappymail/v/0.0.0/app/localization/hu-HU/admin.json +++ b/snappymail/v/0.0.0/app/localization/hu-HU/admin.json @@ -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", diff --git a/snappymail/v/0.0.0/app/localization/id-ID/admin.json b/snappymail/v/0.0.0/app/localization/id-ID/admin.json index b7416d08b..f861cd222 100644 --- a/snappymail/v/0.0.0/app/localization/id-ID/admin.json +++ b/snappymail/v/0.0.0/app/localization/id-ID/admin.json @@ -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", diff --git a/snappymail/v/0.0.0/app/localization/it-IT/admin.json b/snappymail/v/0.0.0/app/localization/it-IT/admin.json index 5fa5e97d0..daeb100cd 100644 --- a/snappymail/v/0.0.0/app/localization/it-IT/admin.json +++ b/snappymail/v/0.0.0/app/localization/it-IT/admin.json @@ -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", diff --git a/snappymail/v/0.0.0/app/localization/ja-JP/admin.json b/snappymail/v/0.0.0/app/localization/ja-JP/admin.json index 3e65681c3..943226dec 100644 --- a/snappymail/v/0.0.0/app/localization/ja-JP/admin.json +++ b/snappymail/v/0.0.0/app/localization/ja-JP/admin.json @@ -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", diff --git a/snappymail/v/0.0.0/app/localization/lt-LT/admin.json b/snappymail/v/0.0.0/app/localization/lt-LT/admin.json index 737ee78e8..ca3f5d078 100644 --- a/snappymail/v/0.0.0/app/localization/lt-LT/admin.json +++ b/snappymail/v/0.0.0/app/localization/lt-LT/admin.json @@ -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", diff --git a/snappymail/v/0.0.0/app/localization/nb-NO/admin.json b/snappymail/v/0.0.0/app/localization/nb-NO/admin.json index fa92f0fef..83fa10705 100644 --- a/snappymail/v/0.0.0/app/localization/nb-NO/admin.json +++ b/snappymail/v/0.0.0/app/localization/nb-NO/admin.json @@ -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", diff --git a/snappymail/v/0.0.0/app/localization/nl-NL/admin.json b/snappymail/v/0.0.0/app/localization/nl-NL/admin.json index 22833bc24..a6e195dcc 100644 --- a/snappymail/v/0.0.0/app/localization/nl-NL/admin.json +++ b/snappymail/v/0.0.0/app/localization/nl-NL/admin.json @@ -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", diff --git a/snappymail/v/0.0.0/app/localization/pl-PL/admin.json b/snappymail/v/0.0.0/app/localization/pl-PL/admin.json index f2318b960..ead6eb1d3 100644 --- a/snappymail/v/0.0.0/app/localization/pl-PL/admin.json +++ b/snappymail/v/0.0.0/app/localization/pl-PL/admin.json @@ -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", diff --git a/snappymail/v/0.0.0/app/localization/pt-BR/admin.json b/snappymail/v/0.0.0/app/localization/pt-BR/admin.json index 99feb6831..2141831ef 100644 --- a/snappymail/v/0.0.0/app/localization/pt-BR/admin.json +++ b/snappymail/v/0.0.0/app/localization/pt-BR/admin.json @@ -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", diff --git a/snappymail/v/0.0.0/app/localization/ru-RU/admin.json b/snappymail/v/0.0.0/app/localization/ru-RU/admin.json index c07b76467..3aaf37b88 100644 --- a/snappymail/v/0.0.0/app/localization/ru-RU/admin.json +++ b/snappymail/v/0.0.0/app/localization/ru-RU/admin.json @@ -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", diff --git a/snappymail/v/0.0.0/app/localization/sk-SK/admin.json b/snappymail/v/0.0.0/app/localization/sk-SK/admin.json index f8d5bbb5b..1c8bb2de5 100644 --- a/snappymail/v/0.0.0/app/localization/sk-SK/admin.json +++ b/snappymail/v/0.0.0/app/localization/sk-SK/admin.json @@ -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", diff --git a/snappymail/v/0.0.0/app/localization/sl-SI/admin.json b/snappymail/v/0.0.0/app/localization/sl-SI/admin.json index bf7c84475..5ac53fca2 100644 --- a/snappymail/v/0.0.0/app/localization/sl-SI/admin.json +++ b/snappymail/v/0.0.0/app/localization/sl-SI/admin.json @@ -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", diff --git a/snappymail/v/0.0.0/app/localization/sv-SE/admin.json b/snappymail/v/0.0.0/app/localization/sv-SE/admin.json index e4ad381dc..98c688558 100644 --- a/snappymail/v/0.0.0/app/localization/sv-SE/admin.json +++ b/snappymail/v/0.0.0/app/localization/sv-SE/admin.json @@ -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", diff --git a/snappymail/v/0.0.0/app/localization/zh-CN/admin.json b/snappymail/v/0.0.0/app/localization/zh-CN/admin.json index 3fa6dd787..296789a40 100644 --- a/snappymail/v/0.0.0/app/localization/zh-CN/admin.json +++ b/snappymail/v/0.0.0/app/localization/zh-CN/admin.json @@ -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": "是", diff --git a/snappymail/v/0.0.0/app/templates/Views/Admin/AdminSettingsConfig.html b/snappymail/v/0.0.0/app/templates/Views/Admin/AdminSettingsConfig.html new file mode 100644 index 000000000..626f1d180 --- /dev/null +++ b/snappymail/v/0.0.0/app/templates/Views/Admin/AdminSettingsConfig.html @@ -0,0 +1,27 @@ +