From b16f45e4c50a9733206c1cffb6d08d005ba477ff Mon Sep 17 00:00:00 2001
From: Dorian Merz <merz@ub.uni-leipzig.de>
Date: Fri, 9 Apr 2021 10:12:45 +0200
Subject: [PATCH] refs #19490 [fid] refactoring in ResolverLinks AJAX handler

* avoid unnecessary entries in electronic
---
 .../fid/src/AjaxHandler/GetResolverLinks.php   | 18 +++++++++++++++---
 1 file changed, 15 insertions(+), 3 deletions(-)

diff --git a/module/fid/src/AjaxHandler/GetResolverLinks.php b/module/fid/src/AjaxHandler/GetResolverLinks.php
index 3cba8d6bec3..c32f4083aa6 100644
--- a/module/fid/src/AjaxHandler/GetResolverLinks.php
+++ b/module/fid/src/AjaxHandler/GetResolverLinks.php
@@ -124,6 +124,20 @@ class GetResolverLinks extends \VuFind\AjaxHandler\GetResolverLinks
             }
             $result = $resolver->fetchLinks($openUrl);
 
+            if (isset($result['messages'])) {
+                $messages =  array_unique($result['messages']);
+                unset($result['messages']);
+            } else {
+                $messages = [];
+            }
+
+            if (isset($result['stateOfResults'])) {
+                $stateOfResults = $result['stateOfResults'];
+                unset($result['stateOfResults']);
+            } else {
+                $stateOfResults = [];
+            }
+
             // Sort the returned links into categories based on service type:
             $electronic = $print = $services = [];
             foreach ($result as $link) {
@@ -146,8 +160,6 @@ class GetResolverLinks extends \VuFind\AjaxHandler\GetResolverLinks
                 }
             }
 
-            $messages = isset($result['messages']) ? array_unique($result['messages']) : [];
-
             // Get the OpenURL base:
             if (isset($this->resolverConfig->$requestedResolver)
                 && isset($this->resolverConfig->$requestedResolver->url)
@@ -177,7 +189,7 @@ class GetResolverLinks extends \VuFind\AjaxHandler\GetResolverLinks
                 'messages' => $messages
             ];
             $viewButton = [
-                'showOrderButton' => $result['stateOfResults'],
+                'showOrderButton' => $stateOfResults,
                 'recordId' => $recordId
             ];
         }
-- 
GitLab