From ccaa0264494980544e0434787da202889f20fb0d Mon Sep 17 00:00:00 2001
From: Robert Lange <robert.lange@uni-leipzig.de>
Date: Fri, 28 Jun 2019 11:35:00 +0200
Subject: [PATCH] refs #15507 [fid] set return url for back button * get
 referer url from request * check for lightbox in templates

---
 module/fid/src/Controller/UserController.php | 8 ++++++++
 themes/fid/templates/fid/user/policy.phtml   | 4 ++--
 themes/fid/templates/fid/user/terms.phtml    | 4 ++--
 3 files changed, 12 insertions(+), 4 deletions(-)

diff --git a/module/fid/src/Controller/UserController.php b/module/fid/src/Controller/UserController.php
index 984a8db0c99..dff182627d6 100644
--- a/module/fid/src/Controller/UserController.php
+++ b/module/fid/src/Controller/UserController.php
@@ -218,6 +218,10 @@ class UserController extends AbstractBase
         $viewModel = $this->createViewModel();
         $viewModel->setTemplate('fid/user/policy');
 
+        if (isset($_REQUEST['lbreferer'])) {
+            $viewModel->setVariable('backUrl', $_REQUEST['lbreferer']);
+        }
+
         return $viewModel;
     }
 
@@ -226,6 +230,10 @@ class UserController extends AbstractBase
         $viewModel = $this->createViewModel();
         $viewModel->setTemplate('fid/user/terms');
 
+        if (isset($_REQUEST['lbreferer'])) {
+            $viewModel->setVariable('backUrl', $_REQUEST['lbreferer']);
+        }
+
         return $viewModel;
     }
 
diff --git a/themes/fid/templates/fid/user/policy.phtml b/themes/fid/templates/fid/user/policy.phtml
index bb3e1fb5ed4..f7e025df366 100644
--- a/themes/fid/templates/fid/user/policy.phtml
+++ b/themes/fid/templates/fid/user/policy.phtml
@@ -1,8 +1,8 @@
 <!-- fid - policy begin -->
 <? $lang = $this->layout()->userLang; ?>
-<?php if ($this->layout()->getTemplate() == 'layout/lightbox'): ?>
+<?php if (isset($backUrl) && $this->layout()->getTemplate() == 'layout/lightbox'): ?>
     <div class="form-group">
-        <a class="back-to-login btn btn-link" href="<?=$this->url('myresearch-account') ?>">
+        <a class="back-to-login btn btn-link" href="<?= $backUrl?>">
             <i class="fa fa-chevron-left" aria-hidden="true"></i>
             <?=$this->transEsc('Back')?>
         </a>
diff --git a/themes/fid/templates/fid/user/terms.phtml b/themes/fid/templates/fid/user/terms.phtml
index 25489e36528..e31fdb1568c 100644
--- a/themes/fid/templates/fid/user/terms.phtml
+++ b/themes/fid/templates/fid/user/terms.phtml
@@ -1,9 +1,9 @@
 <!-- fid - terms begin -->
 <? $lang = $this->layout()->userLang; ?>
 <? $fileExists = file_exists(dirname(__FILE__) . '/terms-'.$lang.'.phtml'); ?>
-<?php if ($this->layout()->getTemplate() == 'layout/lightbox'): ?>
+<?php if (isset($backUrl) && $this->layout()->getTemplate() == 'layout/lightbox'): ?>
     <div class="form-group">
-        <a class="back-to-login btn btn-link" href="<?=$this->url('myresearch-account') ?>">
+        <a class="back-to-login btn btn-link" href="<?= $backUrl?>">
             <i class="fa fa-chevron-left" aria-hidden="true"></i>
             <?=$this->transEsc('Back')?>
         </a>
-- 
GitLab