X-Git-Url: https://git.openstreetmap.org./nominatim.git/blobdiff_plain/5ccb499a6f389913fe8c8c745a31dff40907b98c..5b9f61cff87403fc4253b5c534487822bdfd209e:/website/polygons.php diff --git a/website/polygons.php b/website/polygons.php old mode 100755 new mode 100644 index 3c98bdbc..c5fbafc2 --- a/website/polygons.php +++ b/website/polygons.php @@ -1,146 +1,53 @@ getSet('format', array('html', 'json'), 'html'); +set_exception_handler_by_format($sOutputFormat); - $aPolygons = array(); - while(!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"; - 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); -?> - - - - - - - Nominatim Broken Polygon Data - - +$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'); -\'name\' as "name",'; + $sSQL .= 'country_code, errormessage, updated'; + $sSQL .= ' FROM import_polygon_error'; - echo ""; - echo ""; -//var_dump($aPolygons[0]); - foreach($aPolygons[0] as $sCol => $sVal) - { - 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 ""; - 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 ""; - } - else - { - echo ""; - } - break; - case 'id': - $sOSMType = ($aRow['type'] == 'N'?'node':($aRow['type'] == 'W'?'way':($aRow['type'] == 'R'?'relation':''))); - echo ''; - break; - default: - echo ""; - break; - } - } - echo ""; - if (isset($aRow['lat'])) - { - echo ""; - } - else - { - echo ""; - } - echo ""; - } - echo "
".$sCol."  
".($sVal?$sVal:' ')."".($sVal?$sVal:' ')."'.$aRow['id'].'".($sVal?$sVal:' ')."josmP2 
"; + $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); + } -// include(CONST_BasePath.'/lib/template/details-'.$sOutputFormat.'.php'); -?> - - + $sSQL .= ' ORDER BY updated desc LIMIT 1000'; + $aPolygons = $oDB->getAll($sSQL); +} + +if (CONST_Debug) { + var_dump($aPolygons); + exit; +} + +if ($sOutputFormat == 'json') { + echo javascript_renderData($aPolygons); +} else { + include(CONST_BasePath.'/lib/template/polygons-html.php'); +}