server/src/app/Services/GeonamesResolver.php
changeset 550 fbd1bfc9f963
parent 308 e032d686d88e
equal deleted inserted replaced
549:d288cb259731 550:fbd1bfc9f963
    58                 $labels[''] = $labelLit->getvalue();
    58                 $labels[''] = $labelLit->getvalue();
    59             }
    59             }
    60             elseif (strpos($lang, 'fr') === 0 && !isset($labels['fr'])) {
    60             elseif (strpos($lang, 'fr') === 0 && !isset($labels['fr'])) {
    61                 $labels['fr'] = $labelLit->getvalue();
    61                 $labels['fr'] = $labelLit->getvalue();
    62             }
    62             }
       
    63             elseif (strpos($lang, 'en') === 0 && !isset($labels['en'])) {
       
    64                 $labels['en'] = $labelLit->getvalue();
       
    65             }
    63         }
    66         }
    64 
    67 
    65         $label = isset($labels['fr']) ? $labels['fr'] : ( isset($labels[''])? $labels['']: null) ;
    68         $label = isset($labels['fr']) ? $labels['fr'] : null ;
    66 
    69 
    67         if(is_null($label)) {
    70         if(is_null($label)) {
    68             $labelLit = $graph->getLiteral("<$url>", "<http://www.geonames.org/ontology#name>");
    71             foreach ($graph->allLiterals("<$url>", "<http://www.geonames.org/ontology#name>") as $labelLit) {
    69             $label = (!is_null($labelLit)) ? $labelLit->getValue() : null;
    72                 $lang = $labelLit->getLang();
       
    73                 if(!$lang && !isset($labels[''])) {
       
    74                     $labels[''] = $labelLit->getvalue();
       
    75                 }
       
    76                 elseif (strpos($lang, 'fr') === 0 && !isset($labels['fr'])) {
       
    77                     $labels['fr'] = $labelLit->getvalue();
       
    78                 }
       
    79                 elseif (strpos($lang, 'en') === 0 && !isset($labels['en'])) {
       
    80                     $labels['en'] = $labelLit->getvalue();
       
    81                 }
       
    82             }
       
    83             $label = isset($labels['fr']) ? $labels['fr'] : (
       
    84                 isset($labels['en']) ? $labels['en'] : (
       
    85                     isset($labels['']) ? $labels[''] : null
       
    86                     )
       
    87                 ) ;
    70         }
    88         }
    71 
    89 
    72         return $label;
    90         return $label;
    73     }
    91     }
    74 
    92