From b134e1cbc754dcfa8ad5359009974659c27f7f79 Mon Sep 17 00:00:00 2001 From: Luka Trovic Date: Mon, 11 Sep 2023 18:22:07 +0200 Subject: [PATCH] feat: update sign up link in share pages Signed-off-by: Luka Trovic --- core/templates/layout.public.php | 2 +- lib/private/TemplateLayout.php | 16 ++++++++++++++++ 2 files changed, 17 insertions(+), 1 deletion(-) diff --git a/core/templates/layout.public.php b/core/templates/layout.public.php index 8ebbef828b44e..cd26fcba6dec8 100644 --- a/core/templates/layout.public.php +++ b/core/templates/layout.public.php @@ -110,7 +110,7 @@ if ($_['showSimpleSignUpLink']) { ?>

- + t('Get your own free account')); ?>

diff --git a/lib/private/TemplateLayout.php b/lib/private/TemplateLayout.php index 011597e6c29c5..2adf3c5e6929b 100644 --- a/lib/private/TemplateLayout.php +++ b/lib/private/TemplateLayout.php @@ -47,11 +47,13 @@ use OC\Template\CSSResourceLocator; use OC\Template\JSConfigHelper; use OC\Template\JSResourceLocator; +use OCP\App\IAppManager; use OCP\AppFramework\Http\TemplateResponse; use OCP\Defaults; use OCP\IConfig; use OCP\IInitialStateService; use OCP\INavigationManager; +use OCP\IURLGenerator; use OCP\IUserSession; use OCP\Support\Subscription\IRegistry; use OCP\Util; @@ -206,7 +208,21 @@ public function __construct($renderAs, $appId = '') { if ($showSimpleSignup && $subscription->delegateHasValidSubscription()) { $showSimpleSignup = false; } + + $defaultSignUpLink = 'https://nextcloud.com/signup/'; + $signUpLink = $this->config->getSystemValueString('registration_link', $defaultSignUpLink); + if ($signUpLink !== $defaultSignUpLink) { + $showSimpleSignup = true; + } + + $appManager = \OCP\Server::get(IAppManager::class); + if ($appManager->isEnabledForUser('registration')) { + $urlGenerator = \OCP\Server::get(IURLGenerator::class); + $signUpLink = $urlGenerator->getAbsoluteURL('/index.php/apps/registration/'); + } + $this->assign('showSimpleSignUpLink', $showSimpleSignup); + $this->assign('signUpLink', $signUpLink); } else { parent::__construct('core', 'layout.base'); }