X-Git-Url: https://git.openstreetmap.org./nominatim.git/blobdiff_plain/7a50d2f9964421e932313b15f5d7d3b05ded4c45..2a953700e2a11af3d8a440a0e798c6b883c82f20:/lib/output.php?ds=sidebyside diff --git a/lib/output.php b/lib/output.php index 722d73b1..823a6631 100644 --- a/lib/output.php +++ b/lib/output.php @@ -1,43 +1,73 @@ '.$sOSMType.' '.($sRefText?$sRefText:$aFeature['osm_id']).''; - } - return ''; - } - - function wikipediaLink($aFeature) - { - if ($aFeature['wikipedia']) - { - list($sLanguage, $sArticle) = explode(':',$aFeature['wikipedia']); - return ''.$aFeature['wikipedia'].''; - } - return ''; - } - - function detailsLink($aFeature, $sTitle=false) - { - if (!$aFeature['place_id']) return ''; - - return ''.($sTitle?$sTitle:$aFeature['place_id']).''; - } +function formatOSMType($sType, $bIncludeExternal = true) +{ + if ($sType == 'N') return 'node'; + if ($sType == 'W') return 'way'; + if ($sType == 'R') return 'relation'; + + if (!$bIncludeExternal) return ''; + + if ($sType == 'T') return 'way'; + if ($sType == 'I') return 'way'; + + // not handled: P, L + + return ''; +} + +function osmLink($aFeature, $sRefText = false) +{ + $sOSMType = formatOSMType($aFeature['osm_type'], false); + if ($sOSMType) { + return ''.$sOSMType.' '.($sRefText?$sRefText:$aFeature['osm_id']).''; + } + return ''; +} + +function wikipediaLink($aFeature) +{ + if ($aFeature['wikipedia']) { + list($sLanguage, $sArticle) = explode(':', $aFeature['wikipedia']); + return ''.$aFeature['wikipedia'].''; + } + return ''; +} + +function detailsLink($aFeature, $sTitle = false, $sExtraProperties = false) +{ + if (!$aFeature['place_id']) return ''; + + $sHtml = ''.($sTitle?$sTitle:$aFeature['place_id']).''; + + return $sHtml; +} + +function detailsPermaLink($aFeature, $sRefText = false, $sExtraProperties = false) +{ + $sOSMType = formatOSMType($aFeature['osm_type'], false); + + if ($sOSMType) { + $sHtml = ''; + + if ($sRefText) { + $sHtml .= $sRefText.''; + } else { + $sHtml .= $sOSMType.' '.$aFeature['osm_id'].''; + } + + return $sHtml; + } + return detailsLink($aFeature, $sRefText, $sExtraProperties); +}