diff --git a/dev/Common/Links.jsx b/dev/Common/Links.jsx index e00f80ade..b0a5d0970 100644 --- a/dev/Common/Links.jsx +++ b/dev/Common/Links.jsx @@ -13,6 +13,7 @@ class Links this.sVersion = Settings.settingsGet('Version'); this.sAuthSuffix = Settings.settingsGet('AuthAccountHash') || '0'; this.sWebPrefix = Settings.settingsGet('WebPath') || ''; + this.sAdminPath = Settings.settingsGet('AdminPath') || 'admin'; this.sVersionPrefix = Settings.settingsGet('WebVersionPath') || 'rainloop/v/' + this.sVersion + '/'; this.sStaticPrefix = this.sVersionPrefix + 'static/'; } @@ -40,7 +41,7 @@ class Links * @return {string} */ rootAdmin() { - return this.sServer + '/Admin/'; + return this.sServer + this.sAdminPath; } /** @@ -249,7 +250,7 @@ class Links search = Utils.pString(search); let result = this.sBase + 'mailbox/'; - + if ('' !== folder) { const resultThreadUid = Utils.pInt(threadUid); 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 3c610dab9..28a37251a 100644 --- a/rainloop/v/0.0.0/app/libraries/RainLoop/Actions.php +++ b/rainloop/v/0.0.0/app/libraries/RainLoop/Actions.php @@ -1402,6 +1402,7 @@ class Actions 'Auth' => false, 'AccountHash' => '', 'WebPath' => \RainLoop\Utils::WebPath(), + 'AdminPath' => \strtolower($oConfig->Get('security', 'admin_panel_key', 'admin')), 'WebVersionPath' => \RainLoop\Utils::WebVersionPath(), 'AccountSignMe' => false, 'AuthAccountHash' => '', 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 f01f680c7..7b099e5d2 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 @@ -129,6 +129,7 @@ class Application extends \RainLoop\Config\AbstractConfig 'force_two_factor_auth' => array(false), 'allow_universal_login' => array(false), 'admin_panel_host' => array(''), + 'admin_panel_key' => array('admin'), 'core_install_access_domain' => array('') ), 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 7fcffbf1a..df7804a68 100644 --- a/rainloop/v/0.0.0/app/libraries/RainLoop/Service.php +++ b/rainloop/v/0.0.0/app/libraries/RainLoop/Service.php @@ -110,7 +110,8 @@ class Service $sAdminPanelHost = $this->oActions->Config()->Get('security', 'admin_panel_host', ''); if (empty($sAdminPanelHost)) { - $bAdmin = !empty($aPaths[0]) && \in_array(\strtolower($aPaths[0]), array('admin', 'cp')); + $sAdminPanelKey = \strtolower($this->oActions->Config()->Get('security', 'admin_panel_key', 'admin')); + $bAdmin = !empty($aPaths[0]) && $aPaths[0] === $sAdminPanelKey; } else if (empty($aPaths[0]) && \MailSo\Base\Utils::StrToLowerIfAscii($sAdminPanelHost) === \MailSo\Base\Utils::StrToLowerIfAscii($this->oHttp->GetHost()))