From 8306d1a7330855a7ada3eb427fabec24f6d4b9e8 Mon Sep 17 00:00:00 2001
From: Jan-Hendrik Willms <tleilax+studip@gmail.com>
Date: Tue, 18 Oct 2022 08:08:00 +0000
Subject: [PATCH] restore language after call to json api, fixes #1680

Closes #1680

Merge request studip/studip!1086
---
 lib/classes/JsonApi/Middlewares/Language.php | 11 ++++++++++-
 1 file changed, 10 insertions(+), 1 deletion(-)

diff --git a/lib/classes/JsonApi/Middlewares/Language.php b/lib/classes/JsonApi/Middlewares/Language.php
index 8843445665d..4cde6997357 100644
--- a/lib/classes/JsonApi/Middlewares/Language.php
+++ b/lib/classes/JsonApi/Middlewares/Language.php
@@ -23,14 +23,23 @@ class Language
     public function __invoke(Request $request, RequestHandler $handler)
     {
         $language = $this->detectValidLanguageFromRequest($request);
+        $language_before = false;
 
         // Set language if detected
         if ($language) {
+            $language_before = $_SESSION['_language'];
             $_SESSION['_language'] = $language;
             setTempLanguage(false, $language);
         }
 
-        return $handler->handle($request);
+        $response =  $handler->handle($request);
+
+        if ($language) {
+            $_SESSION['_language'] = $language_before;
+            restoreLanguage();
+        }
+
+        return $response;
     }
 
     /**
-- 
GitLab