require_once(CONST_BasePath.'/lib/output.php');
ini_set('memory_limit', '200M');
require_once(CONST_BasePath.'/lib/output.php');
ini_set('memory_limit', '200M');
$bReduced = $oParams->getBool('reduced', false);
$sClass = $oParams->getString('class', false);
$bReduced = $oParams->getBool('reduced', false);
$sClass = $oParams->getString('class', false);
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';
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';
- if ($bReduced) $sSQL .= " and errormessage like 'Area reduced%'";
- if ($sClass) $sSQL .= " and class = '".pg_escape_string($sClass)."'";
- $sSQL .= " order by updated desc limit 1000";
+ $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 (sizeof($aWhere)) {
+ $sSQL .= ' where '.join(' and ', $aWhere);
+ }
+
+ $sSQL .= ' order by updated desc limit 1000';
$aSeen = array();
foreach ($aPolygons as $aRow) {
if (isset($aSeen[$aRow['type'].$aRow['id']])) continue;
$aSeen[$aRow['type'].$aRow['id']] = 1;
$aSeen = array();
foreach ($aPolygons as $aRow) {
if (isset($aSeen[$aRow['type'].$aRow['id']])) continue;
$aSeen[$aRow['type'].$aRow['id']] = 1;
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];
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];