diff --git a/app/modules/web/Controllers/AccountController.php b/app/modules/web/Controllers/AccountController.php index bb77c169..bb06d189 100644 --- a/app/modules/web/Controllers/AccountController.php +++ b/app/modules/web/Controllers/AccountController.php @@ -241,7 +241,9 @@ final class AccountController extends ControllerBase implements CrudControllerIn $clientAddress = $this->configData->isDemoEnabled() ? '***' : $this->request->getClientAddress(true); - $deepLink = new Uri(Bootstrap::$WEBURI . Bootstrap::$SUBURI); + $baseUrl = ($this->configData->getApplicationUrl() ?: Bootstrap::$WEBURI) . Bootstrap::$SUBURI; + + $deepLink = new Uri($baseUrl); $deepLink->addParam('r', Acl::getActionRoute(ActionsInterface::ACCOUNT_VIEW) . '/' . $accountData->getId()); $this->eventDispatcher->notifyEvent('show.account.link', @@ -1055,7 +1057,9 @@ final class AccountController extends ControllerBase implements CrudControllerIn $accountDetails = $this->accountService->getById($id)->getAccountVData(); - $deepLink = new Uri(Bootstrap::$WEBURI . Bootstrap::$SUBURI); + $baseUrl = ($this->configData->getApplicationUrl() ?: Bootstrap::$WEBURI) . Bootstrap::$SUBURI; + + $deepLink = new Uri($baseUrl); $deepLink->addParam('r', Acl::getActionRoute(ActionsInterface::ACCOUNT_VIEW) . '/' . $id); $usersId = [$accountDetails->userId, $accountDetails->userEditId]; diff --git a/app/modules/web/Controllers/ConfigGeneralController.php b/app/modules/web/Controllers/ConfigGeneralController.php index 21f98056..216ef7b3 100644 --- a/app/modules/web/Controllers/ConfigGeneralController.php +++ b/app/modules/web/Controllers/ConfigGeneralController.php @@ -61,6 +61,7 @@ final class ConfigGeneralController extends SimpleControllerBase $siteLang = $this->request->analyzeString('sitelang'); $siteTheme = $this->request->analyzeString('sitetheme', 'material-blue'); $sessionTimeout = $this->request->analyzeInt('session_timeout', 300); + $applicationUrl = $this->request->analyzeString('app_url'); $httpsEnabled = $this->request->analyzeBool('https_enabled', false); $debugEnabled = $this->request->analyzeBool('debug_enabled', false); $maintenanceEnabled = $this->request->analyzeBool('maintenance_enabled', false); @@ -71,6 +72,7 @@ final class ConfigGeneralController extends SimpleControllerBase $configData->setSiteLang($siteLang); $configData->setSiteTheme($siteTheme); $configData->setSessionTimeout($sessionTimeout); + $configData->setApplicationUrl($applicationUrl); $configData->setHttpsEnabled($httpsEnabled); $configData->setDebug($debugEnabled); $configData->setMaintenance($maintenanceEnabled); diff --git a/app/modules/web/Controllers/Helpers/Account/AccountHelper.php b/app/modules/web/Controllers/Helpers/Account/AccountHelper.php index 961a00e3..5bd94fa5 100644 --- a/app/modules/web/Controllers/Helpers/Account/AccountHelper.php +++ b/app/modules/web/Controllers/Helpers/Account/AccountHelper.php @@ -174,7 +174,9 @@ final class AccountHelper extends HelperBase $accountActionsDto->setPublicLinkId($publicLinkData->getId()); $accountActionsDto->setPublicLinkCreatorId($publicLinkData->getUserId()); - $this->view->assign('publicLinkUrl', PublicLinkService::getLinkForHash($publicLinkData->getHash())); + $baseUrl = ($this->configData->getApplicationUrl() ?: Bootstrap::$WEBURI) . Bootstrap::$SUBURI; + + $this->view->assign('publicLinkUrl', PublicLinkService::getLinkForHash($baseUrl, $publicLinkData->getHash())); $this->view->assign('publicLinkId', $publicLinkData->getId()); } catch (NoSuchItemException $e) { $this->view->assign('publicLinkId', 0); @@ -323,7 +325,9 @@ final class AccountHelper extends HelperBase { $route = Acl::getActionRoute($this->actionId) . ($this->accountId ? '/' . $this->accountId : ''); - $uri = new Uri(Bootstrap::$WEBROOT . Bootstrap::$SUBURI); + $baseUrl = ($this->configData->getApplicationUrl() ?: Bootstrap::$WEBURI) . Bootstrap::$SUBURI; + + $uri = new Uri($baseUrl); $uri->addParam('r', $route); return $uri->getUriSigned($this->configData->getPasswordSalt()); diff --git a/app/modules/web/Controllers/Helpers/LayoutHelper.php b/app/modules/web/Controllers/Helpers/LayoutHelper.php index 4e3de36c..6e2d850f 100644 --- a/app/modules/web/Controllers/Helpers/LayoutHelper.php +++ b/app/modules/web/Controllers/Helpers/LayoutHelper.php @@ -133,9 +133,9 @@ final class LayoutHelper extends HelperBase protected function getResourcesLinks() { $version = VersionUtil::getVersionStringNormalized(); - $uri = Bootstrap::$WEBROOT . Bootstrap::$SUBURI; + $baseUrl = ($this->configData->getApplicationUrl() ?: Bootstrap::$WEBURI) . Bootstrap::$SUBURI; - $jsUri = new Uri($uri); + $jsUri = new Uri($baseUrl); $jsUri->addParam('_r', 'resource/js'); $jsUri->addParam('_v', md5($version)); @@ -164,7 +164,7 @@ final class LayoutHelper extends HelperBase $resultsAsCards = $this->configData->isResultsAsCards(); } - $cssUri = new Uri($uri); + $cssUri = new Uri($baseUrl); $cssUri->addParam('_r', 'resource/css'); $cssUri->addParam('_v', md5($version . $resultsAsCards)); diff --git a/app/modules/web/Controllers/PublicLinkController.php b/app/modules/web/Controllers/PublicLinkController.php index aac032a8..3a450042 100644 --- a/app/modules/web/Controllers/PublicLinkController.php +++ b/app/modules/web/Controllers/PublicLinkController.php @@ -24,6 +24,7 @@ namespace SP\Modules\Web\Controllers; +use SP\Bootstrap; use SP\Core\Acl\Acl; use SP\Core\Events\Event; use SP\Core\Events\EventMessage; @@ -150,7 +151,9 @@ final class PublicLinkController extends ControllerBase implements CrudControlle $this->view->assign('nextAction', Acl::getActionRoute(Acl::ACCESS_MANAGE)); if ($this->view->isView === true) { - $this->view->assign('publicLinkURL', PublicLinkService::getLinkForHash($publicLink->getHash())); + $baseUrl = ($this->configData->getApplicationUrl() ?: Bootstrap::$WEBURI) . Bootstrap::$SUBURI; + + $this->view->assign('publicLinkURL', PublicLinkService::getLinkForHash($baseUrl, $publicLink->getHash())); $this->view->assign('disabled', 'disabled'); $this->view->assign('readonly', 'readonly'); } else { diff --git a/app/modules/web/themes/material-blue/views/config/general-site.inc b/app/modules/web/themes/material-blue/views/config/general-site.inc index 54e17180..0825c589 100644 --- a/app/modules/web/themes/material-blue/views/config/general-site.inc +++ b/app/modules/web/themes/material-blue/views/config/general-site.inc @@ -10,7 +10,8 @@
- getIconHelp()->getIcon(); ?> + getIconHelp()->getIcon(); ?>

@@ -43,7 +44,8 @@

-