<?php
	set_time_limit(0);
	if(isset($_POST['upload'])){
    //Список разрешенных файлов
    $whitelist = array(".xml");         
	$data = array();
	$error = true;
	
	//Проверяем разрешение файла
    foreach  ($whitelist as  $item) {
		if(preg_match("/$item\$/i",$_FILES['userfile']['name'])) $error = false;
    }

    //если нет ошибок, грузим файл
    if(!$error){
    	   	  
		$folder =  '../KV/';//директория в которую будет загружен файл
		
		$uploadedFile =  "../KV/".$_FILES['userfile']['name'];
				
		if(is_uploaded_file($_FILES['userfile']['tmp_name'])){
		
			if(move_uploaded_file($_FILES['userfile']['tmp_name'],$uploadedFile)){
		
		        $data = $_FILES['userfile'];
			}
			else {	
				echo "Во время загрузки файла произошла ошибка";
			}
		}
		else {	
			echo "Файл не загружен ".$_FILES['userfile']['tmp_name'];
		}
    }
    else{
    	
		echo 'Вы загружаете запрещенный тип файла';
    }
	$f = fopen('../KV/'.$data['name'], 'r');
	$fout = fopen('../KV/Reprocessed_'.$data['name'], "w");
	$out = "";
	while(!feof($f)){
		$str = fgetc($f);
		if($str == "<")
			$out .= "\n<";
		if($str == ">")
			$out .= ">\n";
		if($str != ">" && $str != "<")
			$out .= $str;
	}
	fwrite($fout, $out);
	fclose($fout);
	fclose($f);
	$f = fopen('../KV/Reprocessed_'.$data['name'], 'r');
	$i = 0;
	$out = "0\nSECTION\n 2\nENTITIES\n 0\n";
	while(!feof($f)){
		$str = fgets($f);
		if(strpos($str, "Spatial_Element") && !strpos($str, "/Spatial_Element")){	
			$i++;
			$flag = 0;
			echo "<br><br>Контур ".$i."<br><br>";
		}
		if(strpos($str, "/Spatial_Element")){
			$out .= "LINE\n 8\n0\n 10\n".$lastY."\n 20\n".$lastX."\n"." 11\n".$firstpointY."\n 21\n".$firstpointX."\n 0\n";
		}
		if(strpos($str, "Ordinate") && !strpos($str, "/Ordinate")){
			$startpos = strpos($str, "X");
			for($j = $startpos;;$j++){
				if($str[$j] == "\"" || $str[$j] == "'")
					break;
			}
			for($j = $j + 1;;$j++){
				if($str[$j] == "\"" || $str[$j] == "'")
					break;
				$X .= $str[$j];	
			}
			for($j = $j + 1;;$j++){
				if($str[$j] == "\"" || $str[$j] == "'")
					break;
			}
			for($j = $j + 1;;$j++){
				if($str[$j] == "\"" || $str[$j] == "'")
					break;
				$Y .= $str[$j];				
			}
			if($flag == 0){
				$lastX = $X;
				$lastY = $Y;
				$firstpointX = $X;
				$firstpointY = $Y;
				$flag = 1;
			}else{
				$firstX = $lastX;
				$firstY = $lastY;
				$lastX = $X;
				$lastY = $Y;
				$out .= "LINE\n 8\n0\n 10\n".$firstY."\n 20\n".$firstX."\n"." 11\n".$lastY."\n 21\n".$lastX."\n 0\n";
			}
			echo $Y.",".$X."<br>";
			$X = "";
			$Y = "";
		}
	}
	$out .= "ENDSEC\n 0\nEOF";
	$fout = fopen("../dxf/".$data['name'].".dxf", "w");
	fwrite($fout, $out);
	fclose($fout);
	$data['name'] = str_replace(" ", "_", $data['name']);
	$js = '<script type="text/javascript">';
	$js .= 'window.parent.downloaddxf("'.$data['name'].'.dxf");';
	$js .= '</script>';
	echo $js;
	
}
	
?>