X-Git-Url: https://git.openstreetmap.org./nominatim.git/blobdiff_plain/4743a5e1661f853466664696112f53df92d6adf8..1e902ef60797be97f8b95cc716af01789e8be14c:/website/details.php?ds=sidebyside diff --git a/website/details.php b/website/details.php index 9e8d99a4..6989d488 100755 --- a/website/details.php +++ b/website/details.php @@ -30,7 +30,7 @@ if ($sOsmType && $iOsmId > 0) { if ($sClass) { $sSQL .= " AND class='".$sClass."'"; } - $sSQL .= " ORDER BY type='postcode', class ASC"; + $sSQL .= ' ORDER BY class ASC'; $sPlaceId = chksql($oDB->getOne($sSQL)); // Be nice about our error messages for broken geometry @@ -216,21 +216,23 @@ $aPlaceSearchNameKeywords = false; $aPlaceSearchAddressKeywords = false; if ($oParams->getBool('keywords')) { $sSQL = "SELECT * FROM search_name WHERE place_id = $iPlaceID"; - $aPlaceSearchName = $oDB->getRow($sSQL); - if (PEAR::isError($aPlaceSearchName)) { // possible timeout + $aPlaceSearchName = $oDB->getRow($sSQL); // can be null + if (!$aPlaceSearchName || PEAR::isError($aPlaceSearchName)) { // possible timeout $aPlaceSearchName = []; } - $sSQL = 'SELECT * FROM word WHERE word_id in ('.substr($aPlaceSearchName['name_vector'], 1, -1).')'; - $aPlaceSearchNameKeywords = $oDB->getAll($sSQL); - if (PEAR::isError($aPlaceSearchNameKeywords)) { // possible timeout - $aPlaceSearchNameKeywords = []; - } + if (!empty($aPlaceSearchName)) { + $sSQL = 'SELECT * FROM word WHERE word_id in ('.substr($aPlaceSearchName['name_vector'], 1, -1).')'; + $aPlaceSearchNameKeywords = $oDB->getAll($sSQL); + if (PEAR::isError($aPlaceSearchNameKeywords)) { // possible timeout + $aPlaceSearchNameKeywords = []; + } - $sSQL = 'SELECT * FROM word WHERE word_id in ('.substr($aPlaceSearchName['nameaddress_vector'], 1, -1).')'; - $aPlaceSearchAddressKeywords = $oDB->getAll($sSQL); - if (PEAR::isError($aPlaceSearchAddressKeywords)) { // possible timeout - $aPlaceSearchAddressKeywords = []; + $sSQL = 'SELECT * FROM word WHERE word_id in ('.substr($aPlaceSearchName['nameaddress_vector'], 1, -1).')'; + $aPlaceSearchAddressKeywords = $oDB->getAll($sSQL); + if (PEAR::isError($aPlaceSearchAddressKeywords)) { // possible timeout + $aPlaceSearchAddressKeywords = []; + } } }