From 3dac6809d1df8b4659dd3f395115d5e0e7d262fc Mon Sep 17 00:00:00 2001 From: RainLoop Team Date: Sat, 28 Mar 2015 02:06:56 +0400 Subject: [PATCH] Admin Panel localization (#467) --- build/langs.php | 3 +- dev/App/Abstract.js | 6 +- dev/App/User.js | 2 +- dev/Common/Links.js | 12 +- dev/Common/Translator.js | 5 +- dev/Remote/AbstractAjax.js | 4 +- dev/Screen/Admin/Settings.js | 22 +- dev/Settings/Admin/About.js | 6 + dev/Settings/Admin/Contacts.js | 4 +- dev/Settings/Admin/General.js | 43 ++- dev/Settings/User/General.js | 7 +- dev/Stores/Language.js | 19 +- dev/Styles/Languages.less | 4 + dev/View/Admin/Login.js | 2 +- dev/View/Admin/Settings/Pane.js | 2 +- dev/View/Popup/Activate.js | 8 +- dev/View/Popup/Domain.js | 11 +- dev/View/Popup/Languages.js | 73 ++-- dev/View/Popup/Plugin.js | 2 +- dev/View/User/Login.js | 18 +- .../0.0.0/app/libraries/RainLoop/Actions.php | 171 +++++----- .../libraries/RainLoop/Config/Application.php | 2 +- .../app/libraries/RainLoop/KeyPathHelper.php | 5 +- .../0.0.0/app/libraries/RainLoop/Service.php | 13 +- .../app/libraries/RainLoop/ServiceActions.php | 17 +- .../app/templates/Views/Admin/AdminLogin.html | 8 +- .../app/templates/Views/Admin/AdminPane.html | 4 +- .../Views/Admin/AdminSettingsAbout.html | 34 +- .../Views/Admin/AdminSettingsBranding.html | 50 +-- .../Views/Admin/AdminSettingsContacts.html | 47 +-- .../Admin/AdminSettingsDomainListItem.html | 2 +- .../Views/Admin/AdminSettingsDomains.html | 12 +- .../Views/Admin/AdminSettingsGeneral.html | 60 ++-- .../Views/Admin/AdminSettingsLicensing.html | 55 ++- .../Views/Admin/AdminSettingsLogin.html | 14 +- .../Views/Admin/AdminSettingsPackages.html | 16 +- .../Admin/AdminSettingsPackagesListItem.html | 5 - .../Views/Admin/AdminSettingsPlugins.html | 19 +- .../Views/Admin/AdminSettingsSecurity.html | 49 +-- .../Views/Admin/AdminSettingsSocial.html | 70 ++-- .../templates/Views/Admin/PopupsActivate.html | 25 +- .../templates/Views/Admin/PopupsDomain.html | 86 +++-- .../templates/Views/Admin/PopupsPlugin.html | 10 +- .../Views/Common/PopupsLanguages.html | 21 +- rainloop/v/0.0.0/langs/admin/en.ini | 313 ++++++++++++++++++ rainloop/v/0.0.0/langs/admin/ru.ini | 311 +++++++++++++++++ 46 files changed, 1111 insertions(+), 561 deletions(-) create mode 100644 rainloop/v/0.0.0/langs/admin/en.ini create mode 100644 rainloop/v/0.0.0/langs/admin/ru.ini diff --git a/build/langs.php b/build/langs.php index b5a3cb8d3..9d6248989 100644 --- a/build/langs.php +++ b/build/langs.php @@ -1,6 +1,7 @@ Plugins()->Hash()); $sLanguage = $oConfig->Get('webmail', 'language', 'en'); + $sLanguageAdmin = $oConfig->Get('webmail', 'language_admin', 'en'); $sTheme = $oConfig->Get('webmail', 'theme', 'Default'); $aResult['Themes'] = $this->GetThemes(); - $aResult['Languages'] = $this->GetLanguages(); - $aResult['LanguagesTop'] = $this->GetLanguagesTop(); + $aResult['Languages'] = $this->GetLanguages(false); + $aResult['LanguagesAdmin'] = $this->GetLanguages(true); $aResult['AllowLanguagesOnSettings'] = (bool) $oConfig->Get('webmail', 'allow_languages_on_settings', true); $aResult['AllowLanguagesOnLogin'] = (bool) $oConfig->Get('login', 'allow_languages_on_login', true); $aResult['AttachmentLimit'] = ((int) $oConfig->Get('webmail', 'attachment_size_limit', 10)) * 1024 * 1024; @@ -1641,27 +1642,21 @@ class Actions $sTheme = $this->ValidateTheme($sTheme); $sNewThemeLink = './?/Css/0/'.($bAdmin ? 'Admin' : 'User').'/-/'.$sTheme.'/-/'.$sStaticCache.'/Hash/-/'; - $bUserLanguage = false; - if (!$bAdmin && !$aResult['Auth'] && !empty($_COOKIE['rllang']) && - $oConfig->Get('login', 'allow_languages_on_login', true)) + if (!$aResult['Auth']) { - $sLanguage = $_COOKIE['rllang']; - } - else if (!$bAdmin && !$aResult['Auth']) - { - $sUserLanguage = ''; - if (!$bAdmin && !$aResult['Auth'] && - $oConfig->Get('login', 'allow_languages_on_login', true) && - $oConfig->Get('login', 'determine_user_language', true)) + if (!$bAdmin) { - $sUserLanguage = $this->detectUserLanguage(); - } + if ($oConfig->Get('login', 'allow_languages_on_login', true) && + $oConfig->Get('login', 'determine_user_language', true)) + { + $sLanguage = $this->ValidateLanguage($sLanguage, false); - $sLanguage = $this->ValidateLanguage($sLanguage); - if (0 < \strlen($sUserLanguage) && $sLanguage !== $sUserLanguage) - { - $sLanguage = $sUserLanguage; - $bUserLanguage = true; + $sUserLanguage = $this->detectUserLanguage(); + if (0 < \strlen($sUserLanguage) && $sLanguage !== $sUserLanguage) + { + $sLanguage = $sUserLanguage; + } + } } } @@ -1673,9 +1668,17 @@ class Actions $aResult['Theme'] = $sTheme; $aResult['NewThemeLink'] = $sNewThemeLink; - $aResult['Language'] = $this->ValidateLanguage($sLanguage); - $aResult['UserLanguage'] = $bUserLanguage; - $aResult['LangLink'] = './?/Lang/0/'.($bAdmin ? 'en' : $aResult['Language']).'/'.$sStaticCache.'/'; + + $aResult['Language'] = $this->ValidateLanguage($sLanguage, false); + $aResult['LanguageAdmin'] = $this->ValidateLanguage($sLanguageAdmin, true); + + $sUserLanguage = $this->detectUserLanguage(); + $aResult['UserLanguage'] = $sUserLanguage === $this->ValidateLanguage($sUserLanguage, false) ? $sUserLanguage : ''; + $aResult['UserLanguageAdmin'] = $sUserLanguage === $this->ValidateLanguage($sUserLanguage, true) ? $sUserLanguage : ''; + + $aResult['LangLink'] = './?/Lang/0/'.($bAdmin ? 'Admin' : 'App').'/'. + ($bAdmin ? $aResult['LanguageAdmin'] : $aResult['Language']).'/'.$sStaticCache.'/'; + $aResult['TemplatesLink'] = './?/Templates/0/'.($bAdmin ? 'Admin' : 'App').'/'.$sStaticCache.'/'; $aResult['PluginsLink'] = $sPluginsLink; $aResult['EditorDefaultType'] = \in_array($aResult['EditorDefaultType'], array('Plain', 'Html', 'HtmlForced', 'PlainForced')) ? @@ -3196,7 +3199,11 @@ class Actions $self = $this; $this->setConfigFromParams($oConfig, 'Language', 'webmail', 'language', 'string', function ($sLanguage) use ($self) { - return $self->ValidateLanguage($sLanguage); + return $self->ValidateLanguage($sLanguage, false); + }); + + $this->setConfigFromParams($oConfig, 'LanguageAdmin', 'webmail', 'language_admin', 'string', function ($sLanguage) use ($self) { + return $self->ValidateLanguage($sLanguage, true); }); $this->setConfigFromParams($oConfig, 'Theme', 'webmail', 'theme', 'string', function ($sTheme) use ($self) { @@ -3965,7 +3972,6 @@ class Actions 'version' => $oItem->version, 'file' => $oItem->file, 'release' => $oItem->release, - 'release_notes' => isset($oItem->{'release_notes'}) ? $oItem->{'release_notes'} : '', 'desc' => $oItem->description ); } @@ -4091,7 +4097,6 @@ class Actions 'version' => '', 'file' => '', 'release' => '', - 'release_notes' => '', 'desc' => '' )); } @@ -4715,7 +4720,7 @@ class Actions } else { - $oSettingsLocal->SetConf('Theme', $this->ValidateLanguage($oConfig->Get('webmail', 'theme', 'Default'))); + $oSettingsLocal->SetConf('Theme', $this->ValidateTheme($oConfig->Get('webmail', 'theme', 'Default'))); } $this->setSettingsFromParams($oSettings, 'MPP', 'int', function ($iValue) { @@ -8292,13 +8297,14 @@ class Actions /** * @param string $sLanguage + * @param bool $bAdmin = false * * @return string */ - public function ValidateLanguage($sLanguage) + public function ValidateLanguage($sLanguage, $bAdmin = false) { - return \in_array($sLanguage, $this->GetLanguages()) ? - $sLanguage : $this->Config()->Get('i18n', 'default', 'en'); + return \in_array($sLanguage, $this->GetLanguages($bAdmin)) ? + $sLanguage : $this->Config()->Get('webmail', $bAdmin ? 'language_admin' : 'language', 'en'); } /** @@ -8395,23 +8401,33 @@ class Actions /** * @staticvar array $aCache + * @param bool $bAdmin = false * * @return array */ - public function GetLanguages() + public function GetLanguages($bAdmin = false) { - static $aCache = null; - if (\is_array($aCache)) + static $aCache = array(); + $sDir = APP_VERSION_ROOT_PATH.'langs/'.($bAdmin ? 'admin/' : ''); + + if (isset($aCache[$sDir])) { - return $aCache; + return $aCache[$sDir]; } +// $aTopper = array('en'); +// $sUserLanguage = $this->detectUserLanguage(); +// if (!empty($sUserLanguage) && 'en' !== $sUserLanguage) +// { +// $aTopper[] = $sUserLanguage; +// } + + $aTop = array(); $aList = array(); - $sDir = APP_VERSION_ROOT_PATH.'langs/'; if (@\is_dir($sDir)) { - $rDirH = opendir($sDir); + $rDirH = \opendir($sDir); if ($rDirH) { while (($sFile = \readdir($rDirH)) !== false) @@ -8421,7 +8437,14 @@ class Actions $sLang = \strtolower(\substr($sFile, 0, -4)); if (0 < \strlen($sLang) && 'always' !== $sLang) { - \array_push($aList, $sLang); +// if (\in_array(\substr($sLang, 0, 2), $aTopper)) +// { +// \array_push($aTop, $sLang); +// } +// else +// { + \array_push($aList, $sLang); +// } } } } @@ -8430,41 +8453,11 @@ class Actions } } + \sort($aTop); \sort($aList); - $aCache = $aList; - return $aCache; - } - - public function GetLanguagesTop() - { - $sUserLang = $this->getUserLanguageFromHeader(); - if (2 < \strlen($sUserLang)) - { - $sUserLang = \substr($sUserLang, 0, 2); - } - - $self = $this; - $aResult = array(); - - foreach ($this->GetLanguages() as $sLang) - { - if ($sUserLang === \substr($sLang, 0, 2)) - { - $aResult[] = $sLang; - } - } - - $aTopLangs = \array_map('trim', \explode(',', $this->Config()->Get('labs', 'top_langs', 'en'))); - - $aResult = \array_merge($aResult, $aTopLangs); - $aResult = \array_unique($aResult); - - $aResult = \array_values(\array_filter($aResult, function ($sLang) use ($self) { - return $sLang === $self->ValidateLanguage($sLang); - })); - - return $aResult; + $aCache[$sDir] = \array_merge($aTop, $aList); + return $aCache[$sDir]; } /** @@ -8805,31 +8798,41 @@ class Actions } /** + * @param bool $bAdmin = false + * * @return array */ - public function GetLanguageAndTheme() + public function GetLanguageAndTheme($bAdmin = false) { - $oAccount = $this->GetAccount(); - - $sLanguage = $this->Config()->Get('webmail', 'language', 'en'); $sTheme = $this->Config()->Get('webmail', 'theme', 'Default'); - if ($oAccount instanceof \RainLoop\Model\Account) + if ($bAdmin) { - $oSettings = $this->SettingsProvider()->Load($oAccount); - if ($oSettings instanceof \RainLoop\Settings) - { - $sLanguage = $oSettings->GetConf('Language', $sLanguage); - } + $sLanguage = $this->Config()->Get('webmail', 'language_admin', 'en'); + } + else + { + $oAccount = $this->GetAccount(); - $oSettingsLocal = $this->SettingsProvider(true)->Load($oAccount); - if ($oSettingsLocal instanceof \RainLoop\Settings) + $sLanguage = $this->Config()->Get('webmail', 'language', 'en'); + + if ($oAccount instanceof \RainLoop\Model\Account) { - $sTheme = $oSettingsLocal->GetConf('Theme', $sTheme); + $oSettings = $this->SettingsProvider()->Load($oAccount); + if ($oSettings instanceof \RainLoop\Settings) + { + $sLanguage = $oSettings->GetConf('Language', $sLanguage); + } + + $oSettingsLocal = $this->SettingsProvider(true)->Load($oAccount); + if ($oSettingsLocal instanceof \RainLoop\Settings) + { + $sTheme = $oSettingsLocal->GetConf('Theme', $sTheme); + } } } - $sLanguage = $this->ValidateLanguage($sLanguage); + $sLanguage = $this->ValidateLanguage($sLanguage, $bAdmin); $sTheme = $this->ValidateTheme($sTheme); return array($sLanguage, $sTheme); diff --git a/rainloop/v/0.0.0/app/libraries/RainLoop/Config/Application.php b/rainloop/v/0.0.0/app/libraries/RainLoop/Config/Application.php index 5dedf790b..b2b641804 100644 --- a/rainloop/v/0.0.0/app/libraries/RainLoop/Config/Application.php +++ b/rainloop/v/0.0.0/app/libraries/RainLoop/Config/Application.php @@ -66,6 +66,7 @@ class Application extends \RainLoop\Config\AbstractConfig 'allow_user_background' => array(false), 'language' => array('en', 'Language used by default'), + 'language_admin' => array('en', 'Admin Panel interface language'), 'allow_languages_on_settings' => array(true, 'Allow language selection on settings screen'), 'allow_additional_accounts' => array(true, ''), @@ -299,7 +300,6 @@ Enables caching in the system'), 'sieve_utf8_folder_name' => array(true), 'curl_proxy' => array(''), 'curl_proxy_auth' => array(''), - 'top_langs' => array('en'), 'in_iframe' => array(false), 'force_https' => array(false), 'custom_login_link' => array(''), diff --git a/rainloop/v/0.0.0/app/libraries/RainLoop/KeyPathHelper.php b/rainloop/v/0.0.0/app/libraries/RainLoop/KeyPathHelper.php index f3e7529f4..cae315477 100644 --- a/rainloop/v/0.0.0/app/libraries/RainLoop/KeyPathHelper.php +++ b/rainloop/v/0.0.0/app/libraries/RainLoop/KeyPathHelper.php @@ -89,13 +89,14 @@ class KeyPathHelper /** * @param string $sLanguage + * @param bool $bAdmim * @param string $sPluginsHash * * @return string */ - static public function LangCache($sLanguage, $sPluginsHash) + static public function LangCache($sLanguage, $bAdmim, $sPluginsHash) { - return '/LangCache/'.$sPluginsHash.'/'.$sLanguage.'/'.APP_VERSION.'/'; + return '/LangCache/'.$sPluginsHash.'/'.$sLanguage.'/'.($bAdmim ? 'Admin' : 'App').'/'.APP_VERSION.'/'; } /** diff --git a/rainloop/v/0.0.0/app/libraries/RainLoop/Service.php b/rainloop/v/0.0.0/app/libraries/RainLoop/Service.php index 19d7da5b4..896fbdfa7 100644 --- a/rainloop/v/0.0.0/app/libraries/RainLoop/Service.php +++ b/rainloop/v/0.0.0/app/libraries/RainLoop/Service.php @@ -215,22 +215,16 @@ class Service } /** - * @param bool $bAdmin + * @param bool $bAdmin = false * * @return array */ - private function indexTemplateParameters($bAdmin) + private function indexTemplateParameters($bAdmin = false) { $sLanguage = 'en'; $sTheme = 'Default'; - if (!$bAdmin) - { - list($sLanguage, $sTheme) = $this->oActions->GetLanguageAndTheme(); - } - - $sLanguage = $this->oActions->ValidateLanguage($sLanguage); - $sTheme = $this->oActions->ValidateTheme($sTheme); + list($sLanguage, $sTheme) = $this->oActions->GetLanguageAndTheme($bAdmin); $bAppJsDebug = !!$this->oActions->Config()->Get('labs', 'use_app_debug_js', false); $bAppCssDebug = !!$this->oActions->Config()->Get('labs', 'use_app_debug_css', false); @@ -271,6 +265,7 @@ class Service $aTemplateParameters['{{BaseHash}}'] = \md5( \implode('~', array( + $bAdmin ? '1' : '0', \md5($this->oActions->Config()->Get('cache', 'index', '')), $this->oActions->Plugins()->Hash(), \RainLoop\Utils::WebVersionPath(), APP_VERSION diff --git a/rainloop/v/0.0.0/app/libraries/RainLoop/ServiceActions.php b/rainloop/v/0.0.0/app/libraries/RainLoop/ServiceActions.php index a72d8fdec..816d367db 100644 --- a/rainloop/v/0.0.0/app/libraries/RainLoop/ServiceActions.php +++ b/rainloop/v/0.0.0/app/libraries/RainLoop/ServiceActions.php @@ -538,9 +538,10 @@ class ServiceActions $sResult = ''; @\header('Content-Type: application/javascript; charset=utf-8'); - if (!empty($this->aPaths[2])) + if (!empty($this->aPaths[3])) { - $sLanguage = $this->oActions->ValidateLanguage($this->aPaths[2]); + $bAdmim = 'Admin' === (isset($this->aPaths[2]) ? (string) $this->aPaths[2] : 'App'); + $sLanguage = $this->oActions->ValidateLanguage($this->aPaths[3], $bAdmim); $bCacheEnabled = $this->Config()->Get('labs', 'cache_system_data', true); if (!empty($sLanguage) && $bCacheEnabled) @@ -551,13 +552,15 @@ class ServiceActions $sCacheFileName = ''; if ($bCacheEnabled) { - $sCacheFileName = \RainLoop\KeyPathHelper::LangCache($sLanguage, $this->oActions->Plugins()->Hash()); + $sCacheFileName = \RainLoop\KeyPathHelper::LangCache( + $sLanguage, $bAdmim, $this->oActions->Plugins()->Hash()); + $sResult = $this->Cacher()->Get($sCacheFileName); } if (0 === \strlen($sResult)) { - $sResult = $this->compileLanguage($sLanguage, false); + $sResult = $this->compileLanguage($sLanguage, $bAdmim, false); if ($bCacheEnabled && 0 < \strlen($sCacheFileName)) { $this->Cacher()->Set($sCacheFileName, $sResult); @@ -1250,11 +1253,12 @@ class ServiceActions /** * @param string $sLanguage + * @param bool $bAdmin = false * @param bool $bWrapByScriptTag = true * * @return string */ - private function compileLanguage($sLanguage, $bWrapByScriptTag = true) + private function compileLanguage($sLanguage, $bAdmin = false, $bWrapByScriptTag = true) { $aResultLang = array(); @@ -1269,7 +1273,8 @@ class ServiceActions } \RainLoop\Utils::ReadAndAddLang(APP_VERSION_ROOT_PATH.'app/i18n/langs.ini', $aResultLang); - \RainLoop\Utils::ReadAndAddLang(APP_VERSION_ROOT_PATH.'langs/'.$sLanguage.'.ini', $aResultLang); + \RainLoop\Utils::ReadAndAddLang(APP_VERSION_ROOT_PATH.'langs/'. + ($bAdmin ? 'admin/' : '').$sLanguage.'.ini', $aResultLang); $this->Plugins()->ReadLang($sLanguage, $aResultLang); diff --git a/rainloop/v/0.0.0/app/templates/Views/Admin/AdminLogin.html b/rainloop/v/0.0.0/app/templates/Views/Admin/AdminLogin.html index cf279de0f..1d4b36e3b 100644 --- a/rainloop/v/0.0.0/app/templates/Views/Admin/AdminLogin.html +++ b/rainloop/v/0.0.0/app/templates/Views/Admin/AdminLogin.html @@ -8,8 +8,8 @@
- @@ -19,7 +19,7 @@
@@ -29,7 +29,7 @@
diff --git a/rainloop/v/0.0.0/app/templates/Views/Admin/AdminPane.html b/rainloop/v/0.0.0/app/templates/Views/Admin/AdminPane.html index b72408810..391ec38e2 100644 --- a/rainloop/v/0.0.0/app/templates/Views/Admin/AdminPane.html +++ b/rainloop/v/0.0.0/app/templates/Views/Admin/AdminPane.html @@ -5,9 +5,9 @@    RainLoop - (Premium) + () — - Admin Panel +    () diff --git a/rainloop/v/0.0.0/app/templates/Views/Admin/AdminSettingsAbout.html b/rainloop/v/0.0.0/app/templates/Views/Admin/AdminSettingsAbout.html index d9672c048..609f9000d 100644 --- a/rainloop/v/0.0.0/app/templates/Views/Admin/AdminSettingsAbout.html +++ b/rainloop/v/0.0.0/app/templates/Views/Admin/AdminSettingsAbout.html @@ -1,15 +1,13 @@
-
- About -
+
- 2014 © All Rights Reserved. + 2015 ©
- http://rainloop.net/ + http://rainloop.net/
@@ -20,7 +18,7 @@ ( channel) -

Simple, modern & fast web-based email client

+

@@ -30,9 +28,7 @@
   - New - - version is available. + () @@ -41,9 +37,9 @@
   - Warning! +    - Please read the change log before updating. +

@@ -51,38 +47,38 @@    - Update +     - +    - Download +     - +    - Changelog +
   - RainLoop is up to date. +
   - Updating… +
   - Checking for updates… +
diff --git a/rainloop/v/0.0.0/app/templates/Views/Admin/AdminSettingsBranding.html b/rainloop/v/0.0.0/app/templates/Views/Admin/AdminSettingsBranding.html index 7c58f81c5..b0705f810 100644 --- a/rainloop/v/0.0.0/app/templates/Views/Admin/AdminSettingsBranding.html +++ b/rainloop/v/0.0.0/app/templates/Views/Admin/AdminSettingsBranding.html @@ -1,12 +1,8 @@
-
- Branding -
+
- +
- +
-
- Login -
+
- +
- +
- +
- +
-
- User -
+
- +
-
- This functionality is available for Premium subscribers. -
+
\ No newline at end of file diff --git a/rainloop/v/0.0.0/app/templates/Views/Admin/AdminSettingsContacts.html b/rainloop/v/0.0.0/app/templates/Views/Admin/AdminSettingsContacts.html index 831d0488c..e35ab6465 100644 --- a/rainloop/v/0.0.0/app/templates/Views/Admin/AdminSettingsContacts.html +++ b/rainloop/v/0.0.0/app/templates/Views/Admin/AdminSettingsContacts.html @@ -1,38 +1,30 @@
-

Notice!

+


- Your system doesn't support contacts. -
- You need to install or enable PDO (SQLite / MySQL / PostgreSQL) exstenstion on your server. +
-
- Contacts -
+
-
- Storage (PDO) -
+
- +
@@ -42,26 +34,21 @@
- +

- mysql:host=127.0.0.1;port=3306;dbname=rainloop -
- pgsql:host=127.0.0.1;port=5432;dbname=rainloop +mysql:host=127.0.0.1;port=3306;dbname=rainloop
+pgsql:host=127.0.0.1;port=5432;dbname=rainloop

- +
@@ -69,9 +56,7 @@
- +
@@ -83,7 +68,7 @@    - Test +
@@ -92,9 +77,9 @@
-

Notice!

+


- Don't use this database type with a large number of active users. +
@@ -103,7 +88,7 @@    - Test +
diff --git a/rainloop/v/0.0.0/app/templates/Views/Admin/AdminSettingsDomainListItem.html b/rainloop/v/0.0.0/app/templates/Views/Admin/AdminSettingsDomainListItem.html index 68bf273e9..85e616302 100644 --- a/rainloop/v/0.0.0/app/templates/Views/Admin/AdminSettingsDomainListItem.html +++ b/rainloop/v/0.0.0/app/templates/Views/Admin/AdminSettingsDomainListItem.html @@ -4,7 +4,7 @@ - Are you sure? + diff --git a/rainloop/v/0.0.0/app/templates/Views/Admin/AdminSettingsDomains.html b/rainloop/v/0.0.0/app/templates/Views/Admin/AdminSettingsDomains.html index 6d40585cc..4e94b7443 100644 --- a/rainloop/v/0.0.0/app/templates/Views/Admin/AdminSettingsDomains.html +++ b/rainloop/v/0.0.0/app/templates/Views/Admin/AdminSettingsDomains.html @@ -1,21 +1,15 @@
-
- Domains -
+
   - Add Domain +

-

- List of domains webmail is allowed to access. -
- Click on the name to configure the domain. -

+

diff --git a/rainloop/v/0.0.0/app/templates/Views/Admin/AdminSettingsGeneral.html b/rainloop/v/0.0.0/app/templates/Views/Admin/AdminSettingsGeneral.html index 6e5dbfb63..386773892 100644 --- a/rainloop/v/0.0.0/app/templates/Views/Admin/AdminSettingsGeneral.html +++ b/rainloop/v/0.0.0/app/templates/Views/Admin/AdminSettingsGeneral.html @@ -1,22 +1,15 @@
-

Warning!

+


- You are using the default admin password. -
- For security reasons please change - password to something else now. +
-
- Interface -
-
- +
+
+
@@ -32,9 +25,23 @@
- + +
+
+ + + + +    +
+
+
+
+
+
@@ -79,7 +86,7 @@
-
- Main -
+
- +
@@ -144,7 +146,7 @@
diff --git a/rainloop/v/0.0.0/app/templates/Views/Admin/AdminSettingsLicensing.html b/rainloop/v/0.0.0/app/templates/Views/Admin/AdminSettingsLicensing.html index 167f6e894..9c6e7ed24 100644 --- a/rainloop/v/0.0.0/app/templates/Views/Admin/AdminSettingsLicensing.html +++ b/rainloop/v/0.0.0/app/templates/Views/Admin/AdminSettingsLicensing.html @@ -1,24 +1,21 @@
- RainLoop Webmail is licensed under Creative Commons +
- Attribution-NonCommercial-ShareAlike 3.0 Unported (CC BY-NC-SA 3.0)
license. + Creative Commons Attribution-NonCommercial-ShareAlike 3.0 (CC BY-NC-SA).

- You are free to use it for your personal projects. +

- Commercial use (with additional features) of RainLoop Webmail requires getting a - subscription. +

- +
@@ -26,50 +23,40 @@
- +
-

- Basic -  (Unlim) -

+


-

- This domain can't be licensed. -

+

- +
   - Checking… +
-

- Basic -

+


-

- This domain isn't licensed for commercial use (with additional features). -

+

- Premium - (Lifetime) + + +   + () +

- Subscription expires: +  

@@ -84,19 +71,19 @@    - Activate Subscription Key for this domain +       - Purchase +       - Trial +
diff --git a/rainloop/v/0.0.0/app/templates/Views/Admin/AdminSettingsLogin.html b/rainloop/v/0.0.0/app/templates/Views/Admin/AdminSettingsLogin.html index 670ce4c88..918b5e996 100644 --- a/rainloop/v/0.0.0/app/templates/Views/Admin/AdminSettingsLogin.html +++ b/rainloop/v/0.0.0/app/templates/Views/Admin/AdminSettingsLogin.html @@ -1,12 +1,8 @@
-
- Login Screen -
+
- +

diff --git a/rainloop/v/0.0.0/app/templates/Views/Admin/AdminSettingsPackages.html b/rainloop/v/0.0.0/app/templates/Views/Admin/AdminSettingsPackages.html index fbbe560ca..0c3aec30b 100644 --- a/rainloop/v/0.0.0/app/templates/Views/Admin/AdminSettingsPackages.html +++ b/rainloop/v/0.0.0/app/templates/Views/Admin/AdminSettingsPackages.html @@ -1,8 +1,7 @@
-
- Cannot access the repository at the moment. -
+
@@ -11,24 +10,21 @@
- Available for Update () +   + ()

-
- Installed Packages -
+

-
- Available for Installation -
+

diff --git a/rainloop/v/0.0.0/app/templates/Views/Admin/AdminSettingsPackagesListItem.html b/rainloop/v/0.0.0/app/templates/Views/Admin/AdminSettingsPackagesListItem.html index 34732dc3f..bce55dd30 100644 --- a/rainloop/v/0.0.0/app/templates/Views/Admin/AdminSettingsPackagesListItem.html +++ b/rainloop/v/0.0.0/app/templates/Views/Admin/AdminSettingsPackagesListItem.html @@ -7,11 +7,6 @@
-
- - release notes - -
diff --git a/rainloop/v/0.0.0/app/templates/Views/Admin/AdminSettingsPlugins.html b/rainloop/v/0.0.0/app/templates/Views/Admin/AdminSettingsPlugins.html index 55c5526d2..0a27f97e0 100644 --- a/rainloop/v/0.0.0/app/templates/Views/Admin/AdminSettingsPlugins.html +++ b/rainloop/v/0.0.0/app/templates/Views/Admin/AdminSettingsPlugins.html @@ -7,30 +7,23 @@ -
- Plugins -
+

- No plugins have yet been installed. -
-
- Click here to install new! + +

+
-
-

- Click on the name to configure the plugin. -

-
+

diff --git a/rainloop/v/0.0.0/app/templates/Views/Admin/AdminSettingsSecurity.html b/rainloop/v/0.0.0/app/templates/Views/Admin/AdminSettingsSecurity.html index a86032067..b50e2b812 100644 --- a/rainloop/v/0.0.0/app/templates/Views/Admin/AdminSettingsSecurity.html +++ b/rainloop/v/0.0.0/app/templates/Views/Admin/AdminSettingsSecurity.html @@ -1,40 +1,36 @@
-
- Security -
+
   - (beta) + ()
+
-
- Admin Panel Access Credentials -
+
- +
@@ -42,27 +38,21 @@

- +
- +
- +
@@ -73,37 +63,34 @@    - Update Password +
-
- SSL -
+
   - (unstable) + ()
-
diff --git a/rainloop/v/0.0.0/app/templates/Views/Admin/AdminSettingsSocial.html b/rainloop/v/0.0.0/app/templates/Views/Admin/AdminSettingsSocial.html index b67fcc5e8..96bcb6532 100644 --- a/rainloop/v/0.0.0/app/templates/Views/Admin/AdminSettingsSocial.html +++ b/rainloop/v/0.0.0/app/templates/Views/Admin/AdminSettingsSocial.html @@ -1,19 +1,18 @@
- Detailed information on social integration is found at + +   http://rainloop.net/docs/social/
-
- Google -
+

@@ -22,21 +21,21 @@ name: 'Checkbox', params: { value: googleEnableAuth, - label: 'Authentication' + label: 'TAB_INTEGRATIONS/LABEL_GOOGLE_AUTH' } }">
@@ -44,14 +43,11 @@
- +
- +
- +
-

- Required for Google Drive File Picker -

+

- Facebook - (requires PHP 5.4 or greater) + + ()
- +
- +
- Twitter -
+
- +
- +
-
- Dropbox -
+
- +

- Activate Subscription Key? - Activation... + +