X-Git-Url: https://git.openstreetmap.org./nominatim.git/blobdiff_plain/e1be3d9f48b51a927c26d1ac0035b50b82423916..1c7da4318298a790e63c5648de57b3b804426731:/website/polygons.php diff --git a/website/polygons.php b/website/polygons.php old mode 100755 new mode 100644 index a00e26db..29fc5c27 --- a/website/polygons.php +++ b/website/polygons.php @@ -1,34 +1,43 @@ 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)) { +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"; - $sSQL .= " where updated > 'now'::timestamp - '".$iDays." day'::interval"; - $iDays++; - - 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 .= ' 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) { @@ -86,48 +95,42 @@ table td { echo "

Total number of broken polygons: $iTotalBroken

"; if (!$aPolygons) exit; -echo ""; -echo ""; +echo '
'; +echo ''; //var_dump($aPolygons[0]); foreach ($aPolygons[0] as $sCol => $sVal) { - echo ""; + echo ''; } -echo ""; -echo ""; -echo ""; +echo ''; +echo ''; $aSeen = array(); foreach ($aPolygons as $aRow) { if (isset($aSeen[$aRow['type'].$aRow['id']])) continue; $aSeen[$aRow['type'].$aRow['id']] = 1; - echo ""; + echo ''; foreach ($aRow as $sCol => $sVal) { switch ($sCol) { case 'error message': if (preg_match('/Self-intersection\\[([0-9.\\-]+) ([0-9.\\-]+)\\]/', $sVal, $aMatch)) { $aRow['lat'] = $aMatch[2]; $aRow['lon'] = $aMatch[1]; - echo ""; + echo ''; } else { - echo ""; + echo ''; } break; case 'id': - echo ''; + echo ''; break; default: - echo ""; + echo ''; break; } } - echo ""; - if (isset($aRow['lat'])) { - echo ""; - } else { - echo ""; - } - echo ""; + echo ''; + echo ''; } -echo "
".$sCol."'.$sCol.'  
 
".($sVal?$sVal:' ')."'.($sVal?$sVal:' ').'".($sVal?$sVal:' ')."'.($sVal?$sVal:' ').''.osmLink($aRow).''.osmLink(array('osm_type' => $aRow['type'], 'osm_id' => $aRow['id'])).'".($sVal?$sVal:' ')."'.($sVal?$sVal:' ').'josmP2 
josm
"; +echo ''; ?>