<?php 

if(isset($_POST['upload'])){
    //Список разрешенных файлов
    $whitelist = array(".csv", ".mif");         
	$data = array();
	$error = true;
	
	//Проверяем разрешение файла
    foreach  ($whitelist as  $item) {
		if(preg_match("/$item\$/i",$_FILES['userfile']['name'])) $error = false;
    }

    //если нет ошибок, грузим файл
    if(!$error) { 
    	   	  
		$folder =  '../upload/';//директория в которую будет загружен файл
		
		$uploadedFile =  $folder.basename($_FILES['userfile']['name']);
				
		if(is_uploaded_file($_FILES['userfile']['tmp_name'])){
		
			if(move_uploaded_file($_FILES['userfile']['tmp_name'],$uploadedFile)){
		
		        $data = $_FILES['userfile'];
			}
			else {	
				$data['errors'] = "Во время загрузки файла произошла ошибка";
			}
		}
		else {	
			$data['errors'] = "Файл не  загружен";
		}
    }
    else{
    	
		$data['errors'] = 'Вы загружаете запрещенный тип файла';
    }
    
	$fp = fopen('../upload/'.$data['name'], 'r');
	if(substr($data['name'], strlen($data['name']) - 3, 3) == "csv" || substr($data['name'], strlen($data['name']) - 3, 3) == "CSV"){
		$count = 0;
		
		$X = array();
		$Y = array();
		$N = array();
		while ($csv = fgetcsv ($fp, 1000, ";")) 
		{
			$num = count ($csv);
			$count++;
			for ($i=0; $i < $num; $i++) 
			{
				if($i == 0)
					$X[$count] = $csv[$i];
					$buf = strstr($X[$count], ".");
					if(strlen($buf) == 2)
						$X[$count] .= "0";
				if($i == 1)
					$Y[$count] = $csv[$i];
				if($i == 2)
					$N[$count] = $csv[$i];
			}
		}
		
		fclose($fp);
		//Формируем js-файл    
		$res = '<script type="text/javascript">';
		$res .= "var data = new Object;";
		foreach($data as $key => $value){
			$res .= 'data.'.$key.' = "'.$value.'";';
		}
		if($_POST['invert'] != 1){
			for($i = 1; $i <= $count; $i++)
			{
				$res .= 'window.parent.X['.$i.'] = '.$X[$i].';';
			}
			for($i = 1; $i <= $count; $i++)
			{
				$res .= 'window.parent.Y['.$i.'] = '.$Y[$i].';';
			}
			for($i = 1; $i <= $count; $i++)
			{
				$res .= 'window.parent.N['.$i.'] = "'.$N[$i].'";';
			}
		}else{
			for($i = 1; $i <= $count; $i++)
			{
				$res .= 'window.parent.X['.$i.'] = '.$Y[$i].';';
			}
			for($i = 1; $i <= $count; $i++)
			{
				$res .= 'window.parent.Y['.$i.'] = '.$X[$i].';';
			}
			for($i = 1; $i <= $count; $i++)
			{
				$res .= 'window.parent.N['.$i.'] = "'.$N[$i].'";';
			}
		}
		$res .= 'window.parent.numpoints = '.$count.';';
		$res .= 'window.parent.handleResponse(data);';
		$res .= "</script>";
		
		echo $res;
	}
	if(substr($data['name'], strlen($data['name']) - 3, 3) == "MIF" || substr($data['name'], strlen($data['name']) - 3, 3) == "mif"){
		$f = fopen('../upload/'.$data['name'], 'r');
		$res = '<script type="text/javascript">';
		while(!feof($f)){
			$mytext = fgets($f, 999);
			if(strpos($mytext, "Region")!== false){
				$cont = substr($mytext, (strlen($mytext) - 4), 3);
				for($i = 1; $i <= $cont; $i++){
					$res .= 'window.parent.add_new_contour();';
					$mytext = fgets($f, 999);
					$points = $mytext;
					echo $i;
					trim($points);
					for($j = 1; $j <= $points; $j++){
						$mytext = fgets($f, 999);
						$p = explode(' ', $mytext);
						$p[1] = substr($p[1], 0, (strlen($p[1]) - 2));
						if(strlen($p[0]) - strripos($p[0], '.') == 2)
							$p[0] .= "0";
						if(strlen($p[0]) - strripos($p[0], '.') == 1)
							$p[0] .= "00";
						if(strripos($p[0], '.') == false)
							$p[0] .= ".00";
						if(strlen($p[1]) - strripos($p[1], '.') == 2)
							$p[1] .= "0";
						if(strlen($p[1]) - strripos($p[1], '.') == 1)
							$p[1] .= "00";
						if(strripos($p[1], '.') == false)
							$p[1] .= ".00";
						if($j == 1){
							$x1 = $p[0];
							$y1 = $p[1];
						}
						if($_POST['invert'] != 1){
							if($p[0] == $x1 && $p[1] == $y1){
								$res .= 'window.parent.add_new_point('.$i.', '.$p[0].', '.$p[1].', 1);';
							}else{
								$res .= 'window.parent.add_new_point('.$i.', '.$p[0].', '.$p[1].', 0);';
							}
						}else{
							if($p[0] == $x1 && $p[1] == $y1){
								$res .= 'window.parent.add_new_point('.$i.', '.$p[1].', '.$p[0].', 1);';
							}else{
								$res .= 'window.parent.add_new_point('.$i.', '.$p[1].', '.$p[0].', 0);';
							}
						}
					}
				}
			}
		}
		$res .= 'window.parent.delete_contour();';
		$res .= "var data = new Object;";
		foreach($data as $key => $value){
			$res .= 'data.'.$key.' = "'.$value.'";';
		}
		$res .= 'window.parent.handleResponsemif(data);';
		fclose($fp);
		$res .= '</script>';
		echo $res;
	}
	
}
else{
	die("ERROR");
}

?>