From 28d93f70ae87705ed0687a1fb93bbae2d781cf88 Mon Sep 17 00:00:00 2001 From: RainLoop Team Date: Sat, 16 May 2015 00:15:22 +0400 Subject: [PATCH] Added "[labs] startup_url" setting --- dev/App/Abstract.js | 9 ++++++++- dev/Common/Links.js | 5 +++-- rainloop/v/0.0.0/app/libraries/RainLoop/Actions.php | 1 + .../0.0.0/app/libraries/RainLoop/Config/Application.php | 1 + 4 files changed, 13 insertions(+), 3 deletions(-) diff --git a/dev/App/Abstract.js b/dev/App/Abstract.js index 594c45e7e..31d9a2a82 100644 --- a/dev/App/Abstract.js +++ b/dev/App/Abstract.js @@ -225,6 +225,7 @@ { var kn = require('Knoin/Knoin'), + sStartupUrl = Utils.pString(Settings.settingsGet('StartupUrl')), sCustomLogoutLink = Utils.pString(Settings.settingsGet('CustomLogoutLink')), bInIframe = !!Settings.settingsGet('InIframe') ; @@ -234,6 +235,7 @@ if (bLogout) { + sStartupUrl = ''; this.clearClientSideToken(); } @@ -242,6 +244,11 @@ window.close(); } + if (bAdmin) + { + sStartupUrl = ''; + } + sCustomLogoutLink = sCustomLogoutLink || (bAdmin ? Links.rootAdmin() : Links.rootUser()); if (bLogout && window.location.href !== sCustomLogoutLink) @@ -260,7 +267,7 @@ else { kn.routeOff(); - kn.setHash(Links.root(), true); + kn.setHash(Links.root(sStartupUrl), true); kn.routeOff(); _.delay(function () { diff --git a/dev/Common/Links.js b/dev/Common/Links.js index dee0181d9..50ac867e6 100644 --- a/dev/Common/Links.js +++ b/dev/Common/Links.js @@ -39,11 +39,12 @@ }; /** + * @param {string=} sStartupUrl * @return {string} */ - Links.prototype.root = function () + Links.prototype.root = function (sStartupUrl) { - return this.sBase; + return this.sBase + Utils.pString(sStartupUrl); }; /** 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 d94d21e3f..40ffb3bd5 100644 --- a/rainloop/v/0.0.0/app/libraries/RainLoop/Actions.php +++ b/rainloop/v/0.0.0/app/libraries/RainLoop/Actions.php @@ -1354,6 +1354,7 @@ class Actions 'AllowAppendMessage' => (bool) $oConfig->Get('labs', 'allow_message_append', false), 'MaterialDesign' => (bool) $oConfig->Get('labs', 'use_material_design', true), 'FolderSpecLimit' => (int) $oConfig->Get('labs', 'folders_spec_limit', 50), + 'StartupUrl' => \trim(\ltrim(\trim($oConfig->Get('labs', 'startup_url', '')), '#/')), 'Community' => true, 'PremType' => false, 'Admin' => array(), 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 347783eb3..db310e753 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 @@ -320,6 +320,7 @@ Enables caching in the system'), 'fast_cache_memcache_port' => array(11211), 'fast_cache_memcache_expire' => array(43200), 'use_local_proxy_for_external_images' => array(false), + 'startup_url' => array(''), 'dev_email' => array(''), 'dev_password' => array('') ),