<?php
	set_time_limit(0);
	date_default_timezone_set("Europe/Moscow");
	echo date("H:i:s")."<br><br>";
	$con = mysql_connect("localhost", "root", "root");
	mysql_select_db("kladr1", $con);	
	$f = fopen("Regions.csv", "r");
	while(!feof($f)){
		$region = fgetcsv($f, 1000, ';');
		mysql_query("TRUNCATE TABLE kladr1.kladr".$region[0].";");
	}
	
	$db = dbase_open('C:\BASE\KLADR.DBF', 0);

	$region = "01";
	$query = "";
	for($i = 1; $i <= dbase_numrecords($db); $i++){
		$data = dbase_get_record($db, $i);
		for($j = 0; $j <= 7; $j++){
			$data[$j] = trim(iconv("cp866", "windows-1251", $data[$j]));
		}
		$code = $data[2];
		if($code[0].$code[1] != $region){
			$f = fopen("kladr".$region.".csv", "w");
			fwrite($f, $query);
			fclose($f);
			mysql_query("LOAD DATA INFILE 'C:/www/scripts/kladr".$region.".csv' INTO TABLE kladr".$region." FIELDS TERMINATED BY ',';", $con);
			$query = "";
			$region = $code[0].$code[1];
		}
		if($code[11].$code[12] != "00")
			continue;
		$flag = 0;
		if($code[8].$code[9].$code[10] == "000"){
			if($code[5].$code[6].$code[7] == "000"){
				if($code[2].$code[3].$code[4] == "000"){
					$query .= "{$i},{$data[2]},0000000000000,{$data[1]},{$data[0]},{$data[3]},{$data[6]},{$data[7]},1,0,0\n";
					$flag = 1;
				}
				if($flag == 0){
					$parentcode = "";
					for($j = 0; $j < 2; $j++){
						$parentcode .= $code[$j];
					}
					$parentcode .= "00000000000";
					$query .= "{$i},{$data[2]},{$parentcode},{$data[1]},{$data[0]},{$data[3]},{$data[6]},{$data[7]},2,0,0\n";
					$flag = 1;
				}
			}
			if($flag == 0){
				$parentcode = "";
				for($j = 0; $j < 5; $j++){
					$parentcode .= $code[$j];
				}
				$parentcode .= "00000000";
				$query .= "{$i},{$data[2]},{$parentcode},{$data[1]},{$data[0]},{$data[3]},{$data[6]},{$data[7]},3,0,0\n";
				$flag = 1;
			}
		}
		if($flag == 0){
			$parentcode = "";
			for($j = 0; $j < 8; $j++){
				$parentcode .= $code[$j];
			}
			$parentcode .= "00000";
			$query .= "{$i},{$data[2]},{$parentcode},{$data[1]},{$data[0]},{$data[3]},{$data[6]},{$data[7]},4,0,0\n";
			$flag = 1;
		}
	}
	
	$f = fopen("kladr89.csv", "w");
	fwrite($f, $query);
	fclose($f);

	mysql_query("LOAD DATA INFILE 'C:/www/scripts/kladr89.csv' INTO TABLE kladr89 FIELDS TERMINATED BY ',';", $con);
	dbase_close($db);
	
	
	
	
	$db = dbase_open('C:\BASE\STREET.DBF', 0);
	$con = mysql_connect("localhost", "root", "root");
	mysql_select_db("kladr1", $con);
	$region = "01";
	$query = "";
	$n = 0;
	for($i = 300000; $i <= 299999 + dbase_numrecords($db); $i++){
		$n++;
		$data = dbase_get_record($db, $n);
		for($j = 0; $j <= 7; $j++){
			$data[$j] = trim(iconv("cp866", "windows-1251", $data[$j]));
		}
		$code = $data[2];
		if($code[0].$code[1] != $region){
			$f = fopen("kladr".$region.".csv", "w");
			fwrite($f, $query);
			fclose($f);
			mysql_query("LOAD DATA INFILE 'C:/www/scripts/kladr".$region.".csv' INTO TABLE kladr".$region." FIELDS TERMINATED BY ',';", $con);
			$query = "";
			$region = $code[0].$code[1];
		}
		if($code[15].$code[16] != "00")
			continue;
		$flag = 0;
		$parentcode = "";
		for($j = 0; $j < 11; $j++){
			$parentcode .= $code[$j];
		}
		$parentcode .= "00";
		$query .= "{$i},{$data[2]},{$parentcode},{$data[1]},{$data[0]},{$data[3]},{$data[6]},{$data[7]},5,0,0\n";
	}
	
	$f = fopen("kladr89.csv", "w");
	fwrite($f, $query);
	fclose($f);

	mysql_query("LOAD DATA INFILE 'C:/www/scripts/kladr89.csv' INTO TABLE kladr89 FIELDS TERMINATED BY ',';", $con);
	dbase_close($db);
	
	
	
	$db = dbase_open('C:\BASE\DOMA.DBF', 0);
	$con = mysql_connect("localhost", "root", "root");
	mysql_select_db("kladr1", $con);
	$region = "01";
	$query = "";
	$n = 0;
	for($i = 1500000; $i <= 1499999 + dbase_numrecords($db); $i++){
		$n++;
		$data = dbase_get_record($db, $n);
		for($j = 0; $j <= 7; $j++){
			$data[$j] = trim(iconv("cp866", "windows-1251", $data[$j]));
		}
		$code = $data[3];
		if($code[0].$code[1] != $region){
			$f = fopen("kladr".$region.".csv", "w");
			fwrite($f, $query);
			fclose($f);
			mysql_query("LOAD DATA INFILE 'C:/www/scripts/kladr".$region.".csv' INTO TABLE kladr".$region." FIELDS TERMINATED BY ',' ENCLOSED BY '\'';", $con);
			$query = "";
			$region = $code[0].$code[1];
		}
		$flag = 0;
		$parentcode = "";
		for($j = 0; $j < 15; $j++){
			$parentcode .= $code[$j];
		}
		$parentcode .= "00";
		$query .= "{$i},{$data[3]},{$parentcode},{$data[2]},'{$data[0]}',{$data[4]},{$data[7]},0,6,0,0\n";
	}
	
	$f = fopen("kladr89.csv", "w");
	fwrite($f, $query);
	fclose($f);

	mysql_query("LOAD DATA INFILE 'C:/www/scripts/kladr89.csv' INTO TABLE kladr89 FIELDS TERMINATED BY ',' ENCLOSED BY '\'';", $con);
	dbase_close($db);
	
	
	$f = fopen("Regions.csv", "r");
	$out = "";
	while(!feof($f)){
		$region = fgetcsv($f, 1000, ';');
		$query1 = mysql_query("SELECT * FROM kladr".$region[0].";");
		for($i = 1; $i <= mysql_num_rows($query1); $i++){
			$obj = mysql_fetch_object($query1);
			$data[$obj->parentcode]++;
		}
		$query1 = mysql_query("SELECT * FROM kladr".$region[0].";");
		for($i = 1; $i <= mysql_num_rows($query1); $i++){
			$obj = mysql_fetch_object($query1);
			if($data[$obj->code] == "")
				$data[$obj->code] = "0";
			$out .= "{$obj->row_id},{$obj->code},{$obj->parentcode},'{$obj->socr}','{$obj->name}',{$obj->postindex},{$obj->ocato},{$obj->status},{$obj->level},0,{$data[$obj->code]}\n";
		}
		$fout = fopen("kladr".$region[0].".csv", "w");
		fwrite($fout, $out);
		fclose($fout);
		unset($data);
		$out = "";
	}
	
	fclose($f);
	
	$f = fopen("Regions.csv", "r");
	while(!feof($f)){
		$region = fgetcsv($f, 1000, ';');
		mysql_query("TRUNCATE TABLE kladr1.kladr".$region[0].";");
		mysql_query("LOAD DATA INFILE 'C:/www/scripts/kladr".$region[0].".csv' INTO TABLE kladr".$region[0]." FIELDS TERMINATED BY ',' ENCLOSED BY '\'';", $con);
	}
	echo date("H:i:s")."<br><br>";
	
?>