X-Git-Url: https://git.openstreetmap.org./nominatim.git/blobdiff_plain/fb0d219c7bc624693821cee87fd489798fe86e0a..d3604b8594ce1c2ec01bac675fc35b49ab8fc7df:/website/polygons.php?ds=sidebyside diff --git a/website/polygons.php b/website/polygons.php old mode 100755 new mode 100644 index 5a5be9f0..a2264b18 --- a/website/polygons.php +++ b/website/polygons.php @@ -1,40 +1,50 @@ \'name\' as "name",'; - $sSQL .= 'country_code as "country",errormessage as "error message",updated'; - $sSQL .= " from import_polygon_error"; - if ($_GET['days']) - { - $sSQL .= " where updated > 'now'::timestamp - '".(int)$_GET['days']." day'::interval"; - $_GET['days']++; - } - 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 = $oDB->getAll($sSQL); - } -//var_dump($aPolygons); + +require_once(CONST_BasePath.'/lib/init-website.php'); +require_once(CONST_BasePath.'/lib/log.php'); +require_once(CONST_BasePath.'/lib/output.php'); +ini_set('memory_limit', '200M'); + +$oParams = new Nominatim\ParameterParser(); + +$sOutputFormat = 'html'; +$iDays = $oParams->getInt('days', false); +$bReduced = $oParams->getBool('reduced', false); +$sClass = $oParams->getString('class', false); + +$oDB = new Nominatim\DB(); +$oDB->connect(); + +$iTotalBroken = (int) $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'; + + $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); + } + + $sSQL .= ' order by updated desc limit 1000'; + $aPolygons = $oDB->getAll($sSQL); +} + +if (CONST_Debug) { + var_dump($aPolygons); + exit; +} + ?> @@ -51,95 +61,77 @@
"; - echo "Total number of broken polygons: $iTotalBroken
"; +if (!$aPolygons) exit; +echo '".$sCol." | "; - } - echo ""; - echo " | "; - echo " | ||||
---|---|---|---|---|---|---|
".($sVal?$sVal:' ')." | "; - } - else - { - echo "".($sVal?$sVal:' ')." | "; - } - break; - case 'id': - $sOSMType = ($aRow['type'] == 'N'?'node':($aRow['type'] == 'W'?'way':($aRow['type'] == 'R'?'relation':''))); - echo ''.$aRow['id'].' | '; - break; - default: - echo "".($sVal?$sVal:' ')." | "; - break; - } - } - echo "josm | "; - if (isset($aRow['lat'])) - { - echo "P2 | "; - } - else - { - echo ""; - } - echo " |