X-Git-Url: https://git.openstreetmap.org./nominatim.git/blobdiff_plain/2a784fa3d4533d11e3227f868085dcee5a9870c6..ee3973f507d0090d493ace4e640a5bc98a62475c:/website/polygons.php diff --git a/website/polygons.php b/website/polygons.php index 735c4375..0f49183f 100755 --- a/website/polygons.php +++ b/website/polygons.php @@ -1,39 +1,50 @@ getInt('days', 1); - $bReduced = $oParams->getBool('reduced', false); - $sClass = $oParams->getString('class', false); +$oParams = new Nominatim\ParameterParser(); - $oDB =& getDB(); +$sOutputFormat = 'html'; +$iDays = $oParams->getInt('days', false); +$bReduced = $oParams->getBool('reduced', false); +$sClass = $oParams->getString('class', false); - $iTotalBroken = (int) chksql($oDB->getOne('select count(*) from import_polygon_error')); +$oDB =& getDB(); - $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++; +$iTotalBroken = (int) chksql($oDB->getOne('select count(*) from import_polygon_error')); + +$aPolygons = array(); +while ($iTotalBroken && empty($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'; - 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)); + $aWhere = array(); + if ($iDays) { + $aWhere[] = "updated > 'now'::timestamp - '".$iDays." day'::interval"; + $iDays++; } - if (CONST_Debug) { - var_dump($aPolygons); - exit; + if ($bReduced) $aWhere[] = "errormessage like 'Area reduced%'"; + if ($sClass) $sWhere[] = "class = '".pg_escape_string($sClass)."'"; + + if (!empty($aWhere)) { + $sSQL .= ' where '.join(' and ', $aWhere); } + + $sSQL .= ' order by updated desc limit 1000'; + $aPolygons = chksql($oDB->getAll($sSQL)); +} + +if (CONST_Debug) { + var_dump($aPolygons); + exit; +} + ?> @@ -82,50 +93,45 @@ table td { Total number of broken polygons: $iTotalBroken
"; - if (!$aPolygons) exit; - echo "".$sCol." | "; - } - echo ""; - echo " | "; - echo " | |||||||
---|---|---|---|---|---|---|---|---|---|
'.$sCol.' | '; +} +echo ''; +echo ' | ||||||||
".($sVal?$sVal:' ')." | "; + echo ''.($sVal?$sVal:' ').' | '; } else { - echo "".($sVal?$sVal:' ')." | "; + echo ''.($sVal?$sVal:' ').' | '; } break; case 'id': echo ''.osmLink($aRow).' | '; break; default: - echo "".($sVal?$sVal:' ')." | "; + echo ''.($sVal?$sVal:' ').' | '; break; - } } - echo "josm | "; - if (isset($aRow['lat'])) { - echo "P2 | "; - } else { - echo ""; - } - echo " |