<?php
// Loop on geojson
// opening a directory and reading its contents
$path = "/root/a.webmapp.it/sentieroitalia.cai.it/geojson/";
$dir_handle = opendir($path);

if(is_resource($dir_handle)) 
{ 
    while(($file_name = readdir($dir_handle)) == true) 
    { 
    	// FILE NAME
    	if (preg_match('/geojson/', $file_name) && $file_name != "poi_index.geojson") {
    		process_file("$path$file_name");
    	}
    } 
  
    // closing the directory
    closedir($dir_handle);
}
else
{
echo("Directory Cannot Be Opened.");
}


function process_file($file_name) {
    echo "Processing ".basename($file_name)." ... ";
    $j = json_decode(file_get_contents($file_name));
    if(isset($j->geometry)) {
    	echo " geometry ok ";
    	if (isset($j->geometry->type)) {
    		echo " type ok ";
    		if (preg_match('/String/', $j->geometry->type)) {
    			echo " Line ";
    			if(isset($j->properties->osmid)) {
    				echo " OSMID ok ";
    				$old_color='NOT SET';
    				if(isset($j->properties->color)) {
    					$old_color = $j->properties->color;
    				}
    				$color=retrieve_color_by_osmid($j->properties->osmid);
    				if ($color != 'KO') {
	    				echo " $color (OLD: $old_color)";
	    				$j->properties->color=$color;
	    				file_put_contents($file_name, json_encode($j));
	    				echo " DONE!";
    				}
    				else {
    					echo " OSMID NOT FOUND ";
    				}
    			}
    			else {
    				echo " bad OSMID ";
    			}
    		}
    		else {
    			echo " Point SKIP ";
    		}
    	}
    	else {
    		echo " bad type ";
    	}
    }
    else {
    	echo " bad geom ";
    }
    echo "\n";

}

function retrieve_color_by_osmid($osmid) {
// POSTGIS CONNECTION to obtain data
/**
psql -d sicai -h 94.177.206.192 -U caiadmin ("Titpfctdbc!")
// select count(*) from sentiero_italia."SI_Tappe";

SELECT verificata from sentiero_italia."SI_Tappe" WHERE openstreetmap='8433490';

**/

echo " $osmid ";

$color=array();
$color["Tappa non ancora verificata CAI"]="#636363";
$color["Tappa verificata dal CAI"]="#E35234";
$color["Tappa verificata dal CAI con form"]="#E35234";

// Connecting, selecting database
$dbconn = pg_connect("host=94.177.206.192 dbname=sicai user=caiadmin password=Titpfctdbc!")
    or die('Could not connect: ' . pg_last_error());

// Performing SQL query
$ret = 'KO';
$query = 'SELECT verificata from sentiero_italia."SI_Tappe" WHERE openstreetmap=\''.$osmid.'\'';
$result = pg_query($query) or die('Query failed: ' . pg_last_error());

while ($line = pg_fetch_array($result, null, PGSQL_ASSOC)) {
	$ret = $color[$line['verificata']];
}
pg_free_result($result);
pg_close($dbconn);
return $ret;
}
