<?php

 //SE ABRE EL ARCHIVO EN MODO LECTURA
//$fp = fopen($_FILES['file']['tmp_name'], "r");
$fp = fopen("salidas.csv", "r");
 //SE RECORRE
 while (!feof($fp)){ //LEE EL ARCHIVO A DATA, LO VECTORIZA A DATA  
  //SI SE QUIERE LEER SEPARADO POR TABULADORES
  //$data  = explode(" ", fgets($fp));
  //SI SE LEE SEPARADO POR COMAS
  $data  = explode(";", fgets($fp));
   
  //SI QUEREMOS VER TODO EL CONTENIDO EN BRUTO:
    $longitud = count($data);
	
	if(is_numeric($data[0])){	
		if(empty($data[1]) or $data[1] == null) { continue; }
		$rut = trim($data[1]);	
		
		if(empty($data[4]) or $data[4] == null) { $tipo_permiso = ""; }
		else { $tipo_permiso = strtoupper(eliminar_tildes($data[4]));}
		
		$ch = curl_init('http://200.24.13.60/~program1/power-time-api/public/obtenerpersonarut'); //create a new cURL resource
		$payload = json_encode(array('rut' => rut($rut)));
		curl_setopt($ch, CURLOPT_POSTFIELDS, $payload);//attach encoded JSON string to the POST fields
		curl_setopt($ch, CURLOPT_HTTPHEADER, array('Content-Type:application/json')); //set the content type to application/json
		curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); //return response instead of outputting
		$result = curl_exec($ch); //execute the POST request		
		$array = json_decode($result);
	
		$id = "";
		$nombre = "No se encuentra Persona en base de datos";
		if (!$array[0] == null){
			$id = $array[0]->id;
			$rut = rut($array[0]->rut);	
			$nombre = $array[0]->nombre . " " .$array[0]->apellido;		
		}

        $fecha_inicio = explode(" ", $data[2]);
		$fecha_termino = explode(" ", $data[3]);
		
		$hora_inicio = "00:00";
		if(count($fecha_inicio) > 1) { $hora_inicio = $fecha_inicio[1]; }
		$hora_termino = "00:00";
		if(count($fecha_termino) > 1) { $hora_termino = $fecha_termino[1];}
		
		$ch = curl_init('http://200.24.13.60/~program1/power-time-api/public/obtenertipopermisodescripcion'); //create a new cURL resource
		$payload = json_encode(array('descripcion' => $tipo_permiso));
		curl_setopt($ch, CURLOPT_POSTFIELDS, $payload);//attach encoded JSON string to the POST fields
		curl_setopt($ch, CURLOPT_HTTPHEADER, array('Content-Type:application/json')); //set the content type to application/json
		curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); //return response instead of outputting
		$result = curl_exec($ch); //execute the POST request		
		$array = json_decode($result);
		$id_tipo_permiso = 0;
        if (!$array[0] == null){		
        	$id_tipo_permiso = $array[0]->id;
		}	
			
		$ch2 = curl_init('http://200.24.13.60/~program1/power-time-api/public/validarpermiso'); //create a new cURL resource
		$payload2 = json_encode(array('id_persona' => $id, 'fecha_inicio' => $fecha_inicio[0], 'fecha_termino' => $fecha_termino[0]));
		curl_setopt($ch2, CURLOPT_POSTFIELDS, $payload2);//attach encoded JSON string to the POST fields
		curl_setopt($ch2, CURLOPT_HTTPHEADER, array('Content-Type:application/json')); //set the content type to application/json
		curl_setopt($ch2, CURLOPT_RETURNTRANSFER, true); //return response instead of outputting
		$result2 = curl_exec($ch2); //execute the POST request
		$array2 = json_decode($result2);
		
        $cantidad = $array2[0];
        $mensaje = "Trabajador No cuenta con permiso en periodo seleccionado";
        if($cantidad > 0) { $mensaje ="<span class='badge badge-danger'> Trabajador cuenta con permiso en periodo seleccionado</span>"; }		
        if(empty($id)) { $mensaje ="Error de validaci&oacute;n"; }
		$vetor[] = array(
			'rut' => $rut,
			'nombre' => $nombre,	
			'id' => $id,			
			'fecha_inicio' => $fecha_inicio[0],		
			'fecha_termino' => $fecha_termino[0],	
			'hora_inicio' => $hora_inicio, 		
			'hora_termino' => $hora_termino,
			'tipo_permiso' => $tipo_permiso,
			'cantidad' => $cantidad,
			'mensaje' => $mensaje,
			'id_tipo_permiso' => $id_tipo_permiso				
		);
						
				
			
    }

 } 
 echo json_encode($vetor);   
 

function rut( $rut ) {
	$rut = str_replace(".","",$rut);
	$rut = str_replace("-","",$rut);
	
    return number_format( substr ( $rut, 0 , -1 ) , 0, "", ".") . '-' . substr ( $rut, strlen($rut) -1 , 1 );
}
function eliminar_tildes($cadena){

    //Codificamos la cadena en formato utf8 en caso de que nos de errores
    $cadena = utf8_encode($cadena);

    //Ahora reemplazamos las letras
    $cadena = str_replace(
        array('á', 'à', 'ä', 'â', 'ª', 'Á', 'À', 'Â', 'Ä'),
        array('a', 'a', 'a', 'a', 'a', 'A', 'A', 'A', 'A'),
        $cadena
    );

    $cadena = str_replace(
        array('é', 'è', 'ë', 'ê', 'É', 'È', 'Ê', 'Ë'),
        array('e', 'e', 'e', 'e', 'E', 'E', 'E', 'E'),
        $cadena );

    $cadena = str_replace(
        array('í', 'ì', 'ï', 'î', 'Í', 'Ì', 'Ï', 'Î'),
        array('i', 'i', 'i', 'i', 'I', 'I', 'I', 'I'),
        $cadena );

    $cadena = str_replace(
        array('ó', 'ò', 'ö', 'ô', 'Ó', 'Ò', 'Ö', 'Ô'),
        array('o', 'o', 'o', 'o', 'O', 'O', 'O', 'O'),
        $cadena );

    $cadena = str_replace(
        array('ú', 'ù', 'ü', 'û', 'Ú', 'Ù', 'Û', 'Ü'),
        array('u', 'u', 'u', 'u', 'U', 'U', 'U', 'U'),
        $cadena );

    $cadena = str_replace(
        array('ñ', 'Ñ', 'ç', 'Ç'),
        array('n', 'N', 'c', 'C'),
        $cadena
    );

    return $cadena;
}

?>