Correct viaf resolver when there is no fr or en names 0.0.17
authorymh <ymh.work@gmail.com>
Thu, 23 Feb 2017 18:55:55 +0100
changeset 524 85e8382852e7
parent 523 98c45e30b841
child 525 c06db7aa1b10
Correct viaf resolver when there is no fr or en names
server/src/app/Services/ViafResolver.php
--- a/server/src/app/Services/ViafResolver.php	Thu Feb 23 10:50:32 2017 +0100
+++ b/server/src/app/Services/ViafResolver.php	Thu Feb 23 18:55:55 2017 +0100
@@ -55,16 +55,20 @@
             $lang = $nameLit->getLang();
             if(!$lang && !isset($names[''])) {
                 $names[''] = $nameLit->getvalue();
-            }
-            elseif (strpos($lang, 'fr') === 0 && !isset($names['fr'])) {
+            } elseif (strpos($lang, 'fr') === 0 && !isset($names['fr'])) {
                 $names['fr'] = $nameLit->getvalue();
-            }
-            elseif (strpos($lang, 'en') === 0 && !isset($names['en'])) {
+            } elseif (strpos($lang, 'en') === 0 && !isset($names['en'])) {
                 $names['en'] = $nameLit->getvalue();
+            } else {
+                $names[$lang] = $nameLit->getvalue();
             }
         }
 
-        return (isset($names['fr'])) ? $names['fr'] : ((isset($names['en'])) ? $names['en'] : ((isset($names['']))? $names[''] : null));
+        $firstVal = reset($names);
+        if($firstVal === false) {
+            $firstVal = null;
+        }
+        return (isset($names['fr'])) ? $names['fr'] : ((isset($names['en'])) ? $names['en'] : $firstVal);
 
     }