From a6b3a33336aac461dc52a6a2bc899a7df2c2415d Mon Sep 17 00:00:00 2001
From: Jan-Hendrik Willms <tleilax+studip@gmail.com>
Date: Tue, 28 Mar 2023 11:46:06 +0000
Subject: [PATCH] resurrect pageURL, fixes #2473

Closes #2473

Merge request studip/studip!1670
---
 lib/classes/MultiPersonSearch.class.php | 12 ++++++++++++
 1 file changed, 12 insertions(+)

diff --git a/lib/classes/MultiPersonSearch.class.php b/lib/classes/MultiPersonSearch.class.php
index db984c77038..763ccd568df 100644
--- a/lib/classes/MultiPersonSearch.class.php
+++ b/lib/classes/MultiPersonSearch.class.php
@@ -26,6 +26,7 @@ class MultiPersonSearch {
     private $description = "";
     private $executeURL;
     private $jsFunction = null;
+    private $pageURL = null;
     private $quickfilterIds = [];
     private $defaultSelectableUsersIDs = [];
     private $defaultSelectedUsersIDs = [];
@@ -405,6 +406,15 @@ class MultiPersonSearch {
         return $this->description;
     }
 
+    /**
+     * returns the url of the page where the GUI element is added.
+     *
+     * @return string
+     */
+    public function getPageUrl() {
+        return $this->pageURL;
+    }
+
     /**
      * adds a new quickfilter.
      *
@@ -478,6 +488,7 @@ class MultiPersonSearch {
         $_SESSION['multipersonsearch'][$this->name]['additionalHMTL'] = $this->additionalHMTL;
         $_SESSION['multipersonsearch'][$this->name]['executeURL'] = $this->executeURL;
         $_SESSION['multipersonsearch'][$this->name]['jsFunction'] = $this->jsFunction;
+        $_SESSION['multipersonsearch'][$this->name]['pageURL'] = Request::url();
         $_SESSION['multipersonsearch'][$this->name]['defaultSelectableUsersIDs'] = $this->defaultSelectableUsersIDs;
         $_SESSION['multipersonsearch'][$this->name]['defaultSelectedUsersIDs'] = $this->defaultSelectedUsersIDs;
         $_SESSION['multipersonsearch'][$this->name]['quickfilterIds'] = $this->quickfilterIds;
@@ -497,6 +508,7 @@ class MultiPersonSearch {
             $this->additionalHMTL = $_SESSION['multipersonsearch'][$this->name]['additionalHMTL'] ?? '';
             $this->executeURL = html_entity_decode($_SESSION['multipersonsearch'][$this->name]['executeURL'] ?? '');
             $this->jsFunction = $_SESSION['multipersonsearch'][$this->name]['jsFunction'] ?? '';
+            $this->pageURL = $_SESSION['multipersonsearch'][$this->name]['pageURL'] ?? '';
             $this->defaultSelectableUsersIDs = $_SESSION['multipersonsearch'][$this->name]['defaultSelectableUsersIDs'] ?? [];
             $this->defaultSelectedUsersIDs = $_SESSION['multipersonsearch'][$this->name]['defaultSelectedUsersIDs'] ?? [];
             $this->searchObject = unserialize($_SESSION['multipersonsearch'][$this->name]['searchObject'] ?? null);
-- 
GitLab