From 3e5845adbc63bb01fdef3b272a40549a86ca80a9 Mon Sep 17 00:00:00 2001
From: Beatrycze Volk <beatrycze.volk@slub-dresden.de>
Date: Fri, 18 Aug 2023 14:11:41 +0200
Subject: [PATCH] Improve parsing for language and subject

---
 Classes/Controller/RecommenderController.php | 18 +++++++++---------
 Classes/Model/Language.php                   |  2 +-
 2 files changed, 10 insertions(+), 10 deletions(-)

diff --git a/Classes/Controller/RecommenderController.php b/Classes/Controller/RecommenderController.php
index 5252cc1..817fc02 100644
--- a/Classes/Controller/RecommenderController.php
+++ b/Classes/Controller/RecommenderController.php
@@ -78,8 +78,8 @@ class RecommenderController extends AbstractController
                     $this->view->assign('keywords', $this->getKeywords());
                     $this->view->assign('languages', $this->getLanguages());
                     $this->view->assign('subjects', $this->getSubjects());
-                    $this->view->assign('suggestLanguage', $this->getSuggestLanguage($result));
-                    $this->view->assign('suggestSubject', $this->getSuggestSubject($result));
+                    $this->view->assign('suggestLanguage', $this->getSuggestLanguage($result->language));
+                    $this->view->assign('suggestSubject', $this->getSuggestSubject($result->subject));
                     $this->view->assign('displayMismatchedResults', filter_var($this->extConfig['displayMismatchedResults'], FILTER_VALIDATE_BOOLEAN));
                     $this->view->assign('displayMirrorJournals', filter_var($this->extConfig['displayMirrorJournals'], FILTER_VALIDATE_BOOLEAN));
                     $this->view->assign('isFilterTooStrict', $this->isFilterTooStrict());
@@ -127,14 +127,14 @@ class RecommenderController extends AbstractController
     /**
      * Gets the language suggested for results.
      *
-     * @param array $result JSON array with results
+     * @param string $language The code of language in ISO 639
      *
      * @return Language|null
      */
-    private function getSuggestLanguage($result)
+    private function getSuggestLanguage($language)
     {
-        if ($result->language !== NULL) {
-            return new Language($result->language);
+        if ($language !== NULL) {
+            return new Language($language);
         }
     }
 
@@ -145,10 +145,10 @@ class RecommenderController extends AbstractController
      *
      * @return Subject|null
      */
-    private function getSuggestSubject($result)
+    private function getSuggestSubject($subject)
     {
-        if ($result->subject->code !== NULL) {
-            return Subject::fromSubject($result->subject);
+        if ($subject !== NULL && $subject->code !== NULL) {
+            return Subject::fromSubject($subject);
         }
     }
 
diff --git a/Classes/Model/Language.php b/Classes/Model/Language.php
index cb7008c..d990233 100644
--- a/Classes/Model/Language.php
+++ b/Classes/Model/Language.php
@@ -45,7 +45,7 @@ class Language
      *
      * @access public
      *
-     * @param array $languageCode The code of language in ISO 639
+     * @param string $languageCode The code of language in ISO 639
      *
      * @return void
      */
-- 
GitLab