X-Git-Url: https://git.openstreetmap.org./nominatim.git/blobdiff_plain/6a3c6c43ea7133c934834ce1face9212f4e3d239..f5cbe0e6babf9b4649eb2e00717d21474052b08e:/website/polygons.php diff --git a/website/polygons.php b/website/polygons.php old mode 100755 new mode 100644 index 989c8f66..c5fbafc2 --- a/website/polygons.php +++ b/website/polygons.php @@ -1,34 +1,44 @@ getSet('format', array('html', 'json'), 'html'); +set_exception_handler_by_format($sOutputFormat); -$sOutputFormat = 'html'; -$iDays = $oParams->getInt('days', 1); +$iDays = $oParams->getInt('days', false); $bReduced = $oParams->getBool('reduced', false); $sClass = $oParams->getString('class', false); -$oDB =& getDB(); +$oDB = new Nominatim\DB(); +$oDB->connect(); -$iTotalBroken = (int) chksql($oDB->getOne('select count(*) from import_polygon_error')); +$iTotalBroken = (int) $oDB->getOne('SELECT count(*) FROM import_polygon_error'); $aPolygons = array(); -while ($iTotalBroken && !sizeof($aPolygons)) { - $sSQL = 'select osm_type as "type",osm_id as "id",class as "key",type as "value",name->\'name\' as "name",'; - $sSQL .= 'country_code as "country",errormessage as "error message",updated'; - $sSQL .= ' from import_polygon_error'; - $sSQL .= " where updated > 'now'::timestamp - '".$iDays." day'::interval"; - $iDays++; +while ($iTotalBroken && empty($aPolygons)) { + $sSQL = 'SELECT osm_type, osm_id, class, type, name->\'name\' as "name",'; + $sSQL .= 'country_code, errormessage, updated'; + $sSQL .= ' FROM import_polygon_error'; + + $aWhere = array(); + if ($iDays) { + $aWhere[] = "updated > 'now'::timestamp - '".$iDays." day'::interval"; + $iDays++; + } + + if ($bReduced) $aWhere[] = "errormessage like 'Area reduced%'"; + if ($sClass) $sWhere[] = "class = '".pg_escape_string($sClass)."'"; + + if (!empty($aWhere)) { + $sSQL .= ' WHERE '.join(' and ', $aWhere); + } - if ($bReduced) $sSQL .= " and errormessage like 'Area reduced%'"; - if ($sClass) $sSQL .= " and class = '".pg_escape_string($sClass)."'"; - $sSQL .= ' order by updated desc limit 1000'; - $aPolygons = chksql($oDB->getAll($sSQL)); + $sSQL .= ' ORDER BY updated desc LIMIT 1000'; + $aPolygons = $oDB->getAll($sSQL); } if (CONST_Debug) { @@ -36,99 +46,8 @@ if (CONST_Debug) { exit; } -?> - - -
- - - -'.$sCol.' | '; +if ($sOutputFormat == 'json') { + echo javascript_renderData($aPolygons); +} else { + include(CONST_BasePath.'/lib/template/polygons-html.php'); } -echo ''; -echo ' | '; -echo ' | ||||
---|---|---|---|---|---|---|
'.($sVal?$sVal:' ').' | '; - } else { - echo ''.($sVal?$sVal:' ').' | '; - } - break; - case 'id': - echo ''.osmLink($aRow).' | '; - break; - default: - echo ''.($sVal?$sVal:' ').' | '; - break; - } - } - echo 'josm | '; - if (isset($aRow['lat'])) { - echo 'P2 | '; - } else { - echo ''; - } - echo ' |