From 54edeaa645a94d33886cd448f9abebe89e68f4c2 Mon Sep 17 00:00:00 2001 From: RainLoop Team Date: Mon, 19 Jan 2015 01:57:29 +0400 Subject: [PATCH] Small fixes and changes --- dev/Common/Enums.js | 9 ---- dev/Common/Globals.js | 5 -- dev/Common/Utils.js | 24 ++------- dev/Settings/Admin/Branding.js | 14 +++++- dev/Settings/User/General.js | 7 --- dev/Storage/AbstractData.js | 2 +- dev/Styles/MessageView.less | 20 ++++---- dev/View/Admin/Settings/Pane.js | 2 + .../0.0.0/app/libraries/RainLoop/Actions.php | 19 +++---- .../libraries/RainLoop/Config/Application.php | 3 +- .../Enumerations/InterfaceAnimation.php | 10 ---- .../app/templates/Views/Admin/AdminPane.html | 2 +- .../Views/Admin/AdminSettingsBranding.html | 49 ++++++++++++++----- .../templates/Views/User/MailMessageView.html | 3 +- .../templates/Views/User/SettingsPane.html | 2 +- 15 files changed, 77 insertions(+), 94 deletions(-) delete mode 100644 rainloop/v/0.0.0/app/libraries/RainLoop/Enumerations/InterfaceAnimation.php diff --git a/dev/Common/Enums.js b/dev/Common/Enums.js index 8b11c76e0..bfa211f8a 100644 --- a/dev/Common/Enums.js +++ b/dev/Common/Enums.js @@ -271,15 +271,6 @@ 'FalseResult': 0 }; - /** - * @enum {string} - */ - Enums.InterfaceAnimation = { - 'None': 'None', - 'Normal': 'Normal', - 'Full': 'Full' - }; - /** * @enum {number} */ diff --git a/dev/Common/Globals.js b/dev/Common/Globals.js index c819c02cb..e9a284c8f 100644 --- a/dev/Common/Globals.js +++ b/dev/Common/Globals.js @@ -111,11 +111,6 @@ */ Globals.bXMLHttpRequestSupported = !!window.XMLHttpRequest; - /** - * @type {string} - */ - Globals.sAnimationType = ''; - /** * @type {*} */ diff --git a/dev/Common/Utils.js b/dev/Common/Utils.js index 2a12a8b31..692137456 100644 --- a/dev/Common/Utils.js +++ b/dev/Common/Utils.js @@ -871,10 +871,8 @@ { oData.editorDefaultType = ko.observable(Enums.EditorDefaultType.Html); oData.showImages = ko.observable(false); - oData.interfaceAnimation = ko.observable(Enums.InterfaceAnimation.Full); oData.contactsAutosave = ko.observable(false); - - Globals.sAnimationType = Enums.InterfaceAnimation.Full; + oData.interfaceAnimation = ko.observable(true); oData.capaThemes = ko.observable(true); oData.capaUserBackground = ko.observable(false); @@ -893,26 +891,14 @@ return Enums.Layout.NoPreview !== oData.layout(); }); - oData.interfaceAnimation.subscribe(function (sValue) { - if (Globals.bMobileDevice || sValue === Enums.InterfaceAnimation.None) + oData.interfaceAnimation.subscribe(function (bValue) { + if (Globals.bMobileDevice || !bValue) { - Globals.$html.removeClass('rl-anim rl-anim-full').addClass('no-rl-anim'); - - Globals.sAnimationType = Enums.InterfaceAnimation.None; + Globals.$html.removeClass('rl-anim').addClass('no-rl-anim'); } else { - switch (sValue) - { - case Enums.InterfaceAnimation.Full: - Globals.$html.removeClass('no-rl-anim').addClass('rl-anim rl-anim-full'); - Globals.sAnimationType = sValue; - break; - case Enums.InterfaceAnimation.Normal: - Globals.$html.removeClass('no-rl-anim rl-anim-full').addClass('rl-anim'); - Globals.sAnimationType = sValue; - break; - } + Globals.$html.removeClass('no-rl-anim').addClass('rl-anim'); } }); diff --git a/dev/Settings/Admin/Branding.js b/dev/Settings/Admin/Branding.js index 1606aa7bd..ec2636e7b 100644 --- a/dev/Settings/Admin/Branding.js +++ b/dev/Settings/Admin/Branding.js @@ -28,9 +28,12 @@ this.loadingDesc = ko.observable(Settings.settingsGet('LoadingDescription')); this.loadingDesc.trigger = ko.observable(Enums.SaveSettingsStep.Idle); - this.loginLogo = ko.observable(Settings.settingsGet('LoginLogo')); + this.loginLogo = ko.observable(Settings.settingsGet('LoginLogo') || ''); this.loginLogo.trigger = ko.observable(Enums.SaveSettingsStep.Idle); + this.userLogo = ko.observable(Settings.settingsGet('UserLogo') || ''); + this.userLogo.trigger = ko.observable(Enums.SaveSettingsStep.Idle); + this.loginDescription = ko.observable(Settings.settingsGet('LoginDescription')); this.loginDescription.trigger = ko.observable(Enums.SaveSettingsStep.Idle); @@ -56,7 +59,8 @@ f2 = Utils.settingsSaveHelperSimpleFunction(self.loadingDesc.trigger, self), f3 = Utils.settingsSaveHelperSimpleFunction(self.loginLogo.trigger, self), f4 = Utils.settingsSaveHelperSimpleFunction(self.loginDescription.trigger, self), - f5 = Utils.settingsSaveHelperSimpleFunction(self.loginCss.trigger, self) + f5 = Utils.settingsSaveHelperSimpleFunction(self.loginCss.trigger, self), + f6 = Utils.settingsSaveHelperSimpleFunction(self.userLogo.trigger, self) ; self.title.subscribe(function (sValue) { @@ -77,6 +81,12 @@ }); }); + self.userLogo.subscribe(function (sValue) { + Remote.saveAdminConfig(f6, { + 'UserLogo': Utils.trim(sValue) + }); + }); + self.loginDescription.subscribe(function (sValue) { Remote.saveAdminConfig(f4, { 'LoginDescription': Utils.trim(sValue) diff --git a/dev/Settings/User/General.js b/dev/Settings/User/General.js index 547e0c534..a151a4bdc 100644 --- a/dev/Settings/User/General.js +++ b/dev/Settings/User/General.js @@ -26,7 +26,6 @@ this.mainMessagesPerPageArray = Consts.Defaults.MessagesPerPageArray; this.editorDefaultType = Data.editorDefaultType; this.showImages = Data.showImages; - this.interfaceAnimation = Data.interfaceAnimation; this.useDesktopNotifications = Data.useDesktopNotifications; this.threading = Data.threading; this.useThreads = Data.useThreads; @@ -128,12 +127,6 @@ }); }); - Data.interfaceAnimation.subscribe(function (sValue) { - Remote.saveSettings(null, { - 'InterfaceAnimation': sValue - }); - }); - Data.useDesktopNotifications.subscribe(function (bValue) { Utils.timeOutAction('SaveDesktopNotifications', function () { Remote.saveSettings(null, { diff --git a/dev/Storage/AbstractData.js b/dev/Storage/AbstractData.js index e71032cc9..c8e07d1b8 100644 --- a/dev/Storage/AbstractData.js +++ b/dev/Storage/AbstractData.js @@ -61,7 +61,7 @@ this.editorDefaultType(Settings.settingsGet('EditorDefaultType')); this.showImages(!!Settings.settingsGet('ShowImages')); this.contactsAutosave(!!Settings.settingsGet('ContactsAutosave')); - this.interfaceAnimation(Settings.settingsGet('InterfaceAnimation')); + this.interfaceAnimation(!!Settings.settingsGet('InterfaceAnimation')); this.mainMessagesPerPage(Settings.settingsGet('MPP')); diff --git a/dev/Styles/MessageView.less b/dev/Styles/MessageView.less index 01dcd75c3..693217545 100644 --- a/dev/Styles/MessageView.less +++ b/dev/Styles/MessageView.less @@ -134,6 +134,16 @@ html.rl-no-preview-pane { border-radius: 5px; padding: 10px 15px; } + + .emptySubjectText { + display: none; + font-style: italic; + color: #999; + } + + &.emptySubject .emptySubjectText { + display: inline; + } } .messageItem { @@ -147,16 +157,6 @@ html.rl-no-preview-pane { -webkit-overflow-scrolling: touch; border-radius: @rlLowBorderRadius; - .emptySubjectText { - display: none; - font-style: italic; - color: #999; - } - - &.emptySubject .emptySubjectText { - display: inline; - } - .buttonUp, .buttonUnFull, .buttonFull { display: inline-block; position: fixed; diff --git a/dev/View/Admin/Settings/Pane.js b/dev/View/Admin/Settings/Pane.js index 6e93c9e91..9e3c392ee 100644 --- a/dev/View/Admin/Settings/Pane.js +++ b/dev/View/Admin/Settings/Pane.js @@ -7,6 +7,8 @@ _ = require('_'), ko = require('ko'), + Utils = require('Common/Utils'), + Settings = require('Storage/Settings'), Data = require('Storage/Admin/Data'), Remote = require('Storage/Admin/Remote'), diff --git a/rainloop/v/0.0.0/app/libraries/RainLoop/Actions.php b/rainloop/v/0.0.0/app/libraries/RainLoop/Actions.php index 3a35f7b86..ecc88def5 100644 --- a/rainloop/v/0.0.0/app/libraries/RainLoop/Actions.php +++ b/rainloop/v/0.0.0/app/libraries/RainLoop/Actions.php @@ -1060,6 +1060,7 @@ class Actions 'LoginDescription' => '', 'LoginCss' => '', 'LoginPowered' => true, + 'UserLogo' => '', 'Token' => $oConfig->Get('security', 'csrf_protection', false) ? \RainLoop\Utils::GetCsrfToken() : '', 'InIframe' => (bool) $oConfig->Get('labs', 'in_iframe', false), 'AllowAdminPanel' => (bool) $oConfig->Get('security', 'allow_admin_panel', true), @@ -1120,6 +1121,7 @@ class Actions $aResult['LoginDescription'] = $oConfig->Get('branding', 'login_desc', ''); $aResult['LoginCss'] = $oConfig->Get('branding', 'login_css', ''); $aResult['LoginPowered'] = !!$oConfig->Get('branding', 'login_powered', true); + $aResult['UserLogo'] = $oConfig->Get('branding', 'user_logo', ''); } $aResult['LoadingDescriptionEsc'] = \htmlspecialchars($aResult['LoadingDescription'], ENT_QUOTES|ENT_IGNORE, 'UTF-8'); @@ -1340,7 +1342,7 @@ class Actions $aResult['SignatureToAll'] = false; $aResult['EnableTwoFactor'] = false; $aResult['ParentEmail'] = ''; - $aResult['InterfaceAnimation'] = \RainLoop\Enumerations\InterfaceAnimation::NORMAL; + $aResult['InterfaceAnimation'] = true; $aResult['UserBackgroundName'] = ''; $aResult['UserBackgroundHash'] = ''; @@ -1371,7 +1373,6 @@ class Actions $aResult['ReplySameFolder'] = (bool) $oSettings->GetConf('ReplySameFolder', $aResult['ReplySameFolder']); $aResult['Layout'] = (int) $oSettings->GetConf('Layout', $aResult['Layout']); $aResult['UseCheckboxesInList'] = (bool) $oSettings->GetConf('UseCheckboxesInList', $aResult['UseCheckboxesInList']); - $aResult['InterfaceAnimation'] = (string) $oSettings->GetConf('InterfaceAnimation', $aResult['InterfaceAnimation']); if ($oConfig->Get('webmail', 'allow_user_background', false)) { @@ -1389,9 +1390,6 @@ class Actions $aResult['ParentEmail'] = $oAccount->ParentEmail(); } - $aResult['InterfaceAnimation'] = \RainLoop\Enumerations\InterfaceAnimation::NONE === $aResult['InterfaceAnimation'] - ? $aResult['InterfaceAnimation'] : \RainLoop\Enumerations\InterfaceAnimation::NORMAL; - if (0 < \strlen($aResult['ParentEmail'])) { $aResult['AllowGoogleSocial'] = false; @@ -2661,7 +2659,7 @@ class Actions $this->setConfigFromParams($oConfig, 'DetermineUserLanguage', 'login', 'determine_user_language', 'bool'); $this->setConfigFromParams($oConfig, 'DetermineUserDomain', 'login', 'determine_user_domain', 'bool'); - if ($this->HasOneOfActionParams(array('Title', 'LoadingDescription', 'LoginLogo', 'LoginDescription', 'LoginCss', 'LoginPowered')) && $this->PremType()) + if ($this->HasOneOfActionParams(array('Title', 'LoadingDescription', 'LoginLogo', 'LoginDescription', 'LoginCss', 'LoginPowered', 'UserLogo')) && $this->PremType()) { $this->setConfigFromParams($oConfig, 'Title', 'webmail', 'title', 'string'); $this->setConfigFromParams($oConfig, 'LoadingDescription', 'webmail', 'loading_description', 'string'); @@ -2670,6 +2668,8 @@ class Actions $this->setConfigFromParams($oConfig, 'LoginDescription', 'branding', 'login_desc', 'string'); $this->setConfigFromParams($oConfig, 'LoginCss', 'branding', 'login_css', 'string'); $this->setConfigFromParams($oConfig, 'LoginPowered', 'branding', 'login_powered', 'bool'); + + $this->setConfigFromParams($oConfig, 'UserLogo', 'branding', 'user_logo', 'string'); } $this->setConfigFromParams($oConfig, 'TokenProtection', 'security', 'csrf_protection', 'bool'); @@ -4048,13 +4048,6 @@ class Actions $this->setSettingsFromParams($oSettings, 'EditorDefaultType', 'string'); $this->setSettingsFromParams($oSettings, 'ShowImages', 'bool'); $this->setSettingsFromParams($oSettings, 'ContactsAutosave', 'bool'); - $this->setSettingsFromParams($oSettings, 'InterfaceAnimation', 'string', function ($sValue) { - return (\in_array($sValue, - array(\RainLoop\Enumerations\InterfaceAnimation::NONE, - \RainLoop\Enumerations\InterfaceAnimation::NORMAL, - \RainLoop\Enumerations\InterfaceAnimation::FULL)) ? $sValue : - \RainLoop\Enumerations\InterfaceAnimation::FULL); - }); $this->setSettingsFromParams($oSettings, 'DesktopNotifications', 'bool'); $this->setSettingsFromParams($oSettings, 'UseThreads', 'bool'); $this->setSettingsFromParams($oSettings, 'ReplySameFolder', 'bool'); 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 ad5ed98d7..b60e36a3e 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 @@ -88,7 +88,8 @@ class Application extends \RainLoop\Config\AbstractConfig 'login_logo' => array(''), 'login_desc' => array(''), 'login_css' => array(''), - 'login_powered' => array(true) + 'login_powered' => array(true), + 'user_logo' => array('') ), 'contacts' => array( diff --git a/rainloop/v/0.0.0/app/libraries/RainLoop/Enumerations/InterfaceAnimation.php b/rainloop/v/0.0.0/app/libraries/RainLoop/Enumerations/InterfaceAnimation.php deleted file mode 100644 index 2ddeb46a8..000000000 --- a/rainloop/v/0.0.0/app/libraries/RainLoop/Enumerations/InterfaceAnimation.php +++ /dev/null @@ -1,10 +0,0 @@ -
-
+
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 09868d515..d9b7db46d 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 @@ -42,7 +42,7 @@
- Login Screen + Login Page
-
-
-
-
-
+
+
+
+
+
+ \ No newline at end of file diff --git a/rainloop/v/0.0.0/app/templates/Views/User/MailMessageView.html b/rainloop/v/0.0.0/app/templates/Views/User/MailMessageView.html index 6aa8d0a7a..be5f5bdb9 100644 --- a/rainloop/v/0.0.0/app/templates/Views/User/MailMessageView.html +++ b/rainloop/v/0.0.0/app/templates/Views/User/MailMessageView.html @@ -58,7 +58,6 @@
-