|
|
|
@@ -110,7 +110,7 @@
|
|
|
|
$oDB =& getDB();
|
|
|
|
$oDB =& getDB();
|
|
|
|
|
|
|
|
|
|
|
|
$sVersionString = $oDB->getOne('select version()');
|
|
|
|
$sVersionString = $oDB->getOne('select version()');
|
|
|
|
preg_match('#PostgreSQL ([0-9]+)[.]([0-9]+)[.]([0-9]+) #', $sVersionString, $aMatches);
|
|
|
|
preg_match('#PostgreSQL ([0-9]+)[.]([0-9]+)[^0-9]#', $sVersionString, $aMatches);
|
|
|
|
if (CONST_Postgresql_Version != $aMatches[1].'.'.$aMatches[2])
|
|
|
|
if (CONST_Postgresql_Version != $aMatches[1].'.'.$aMatches[2])
|
|
|
|
{
|
|
|
|
{
|
|
|
|
echo "ERROR: PostgreSQL version is not correct. Expected ".CONST_Postgresql_Version." found ".$aMatches[1].'.'.$aMatches[2]."\n";
|
|
|
|
echo "ERROR: PostgreSQL version is not correct. Expected ".CONST_Postgresql_Version." found ".$aMatches[1].'.'.$aMatches[2]."\n";
|
|
|
|
@@ -564,10 +564,12 @@
|
|
|
|
|
|
|
|
|
|
|
|
// Search for the correct state file - uses file timestamps so need to sort by date descending
|
|
|
|
// Search for the correct state file - uses file timestamps so need to sort by date descending
|
|
|
|
$sRepURL = CONST_Replication_Url."/";
|
|
|
|
$sRepURL = CONST_Replication_Url."/";
|
|
|
|
$sRep = file_get_contents($sRepURL."?C=M;O=D");
|
|
|
|
$sRep = file_get_contents($sRepURL."?C=M;O=D;F=1");
|
|
|
|
// download.geofabrik.de: <a href="000/">000/</a></td><td align="right">26-Feb-2013 11:53 </td>
|
|
|
|
// download.geofabrik.de: <a href="000/">000/</a></td><td align="right">26-Feb-2013 11:53 </td>
|
|
|
|
// planet.openstreetmap.org: <a href="273/">273/</a> 22-Mar-2013 07:41 -
|
|
|
|
// planet.openstreetmap.org: <a href="273/">273/</a> 2013-03-11 07:41 -
|
|
|
|
preg_match_all('#<a href="[0-9]{3}/">([0-9]{3}/)</a>.*(([0-9]{2})-([A-z]{3})-([0-9]{4}) ([0-9]{2}):([0-9]{2}))#', $sRep, $aRepMatches, PREG_SET_ORDER);
|
|
|
|
preg_match_all('#<a href="[0-9]{3}/">([0-9]{3}/)</a>\s*([-0-9a-zA-Z]+ [0-9]{2}:[0-9]{2})#', $sRep, $aRepMatches, PREG_SET_ORDER);
|
|
|
|
|
|
|
|
if ($aRepMatches)
|
|
|
|
|
|
|
|
{
|
|
|
|
$aPrevRepMatch = false;
|
|
|
|
$aPrevRepMatch = false;
|
|
|
|
foreach($aRepMatches as $aRepMatch)
|
|
|
|
foreach($aRepMatches as $aRepMatch)
|
|
|
|
{
|
|
|
|
{
|
|
|
|
@@ -577,8 +579,8 @@
|
|
|
|
if ($aPrevRepMatch) $aRepMatch = $aPrevRepMatch;
|
|
|
|
if ($aPrevRepMatch) $aRepMatch = $aPrevRepMatch;
|
|
|
|
|
|
|
|
|
|
|
|
$sRepURL .= $aRepMatch[1];
|
|
|
|
$sRepURL .= $aRepMatch[1];
|
|
|
|
$sRep = file_get_contents($sRepURL."?C=M;O=D");
|
|
|
|
$sRep = file_get_contents($sRepURL."?C=M;O=D;F=1");
|
|
|
|
preg_match_all('#<a href="[0-9]{3}/">([0-9]{3}/)</a>.*(([0-9]{2})-([A-z]{3})-([0-9]{4}) ([0-9]{2}):([0-9]{2}))#', $sRep, $aRepMatches, PREG_SET_ORDER);
|
|
|
|
preg_match_all('#<a href="[0-9]{3}/">([0-9]{3}/)</a>\s*([-0-9a-zA-Z]+ [0-9]{2}:[0-9]{2})#', $sRep, $aRepMatches, PREG_SET_ORDER);
|
|
|
|
$aPrevRepMatch = false;
|
|
|
|
$aPrevRepMatch = false;
|
|
|
|
foreach($aRepMatches as $aRepMatch)
|
|
|
|
foreach($aRepMatches as $aRepMatch)
|
|
|
|
{
|
|
|
|
{
|
|
|
|
@@ -588,8 +590,8 @@
|
|
|
|
if ($aPrevRepMatch) $aRepMatch = $aPrevRepMatch;
|
|
|
|
if ($aPrevRepMatch) $aRepMatch = $aPrevRepMatch;
|
|
|
|
|
|
|
|
|
|
|
|
$sRepURL .= $aRepMatch[1];
|
|
|
|
$sRepURL .= $aRepMatch[1];
|
|
|
|
$sRep = file_get_contents($sRepURL."?C=M;O=D");
|
|
|
|
$sRep = file_get_contents($sRepURL."?C=M;O=D;F=1");
|
|
|
|
preg_match_all('#<a href="[0-9]{3}.state.txt">([0-9]{3}).state.txt</a>.*(([0-9]{2})-([A-z]{3})-([0-9]{4}) ([0-9]{2}):([0-9]{2}))#', $sRep, $aRepMatches, PREG_SET_ORDER);
|
|
|
|
preg_match_all('#<a href="[0-9]{3}.state.txt">([0-9]{3}).state.txt</a>\s*([-0-9a-zA-Z]+ [0-9]{2}:[0-9]{2})#', $sRep, $aRepMatches, PREG_SET_ORDER);
|
|
|
|
$aPrevRepMatch = false;
|
|
|
|
$aPrevRepMatch = false;
|
|
|
|
foreach($aRepMatches as $aRepMatch)
|
|
|
|
foreach($aRepMatches as $aRepMatch)
|
|
|
|
{
|
|
|
|
{
|
|
|
|
@@ -608,6 +610,14 @@
|
|
|
|
$sSQL = "INSERT INTO import_status VALUES('".$aRepMatch[2]."')";
|
|
|
|
$sSQL = "INSERT INTO import_status VALUES('".$aRepMatch[2]."')";
|
|
|
|
pg_query($oDB->connection, $sSQL);
|
|
|
|
pg_query($oDB->connection, $sSQL);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
else
|
|
|
|
|
|
|
|
{
|
|
|
|
|
|
|
|
if (!$aCMDResult['all'])
|
|
|
|
|
|
|
|
{
|
|
|
|
|
|
|
|
fail("Cannot read state file directory.");
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
if ($aCMDResult['index'] || $aCMDResult['all'])
|
|
|
|
if ($aCMDResult['index'] || $aCMDResult['all'])
|
|
|
|
|