<?php
define('SF_ROOT_DIR', realpath(realpath('./../')));
require_once(SF_ROOT_DIR.DIRECTORY_SEPARATOR.'config'.DIRECTORY_SEPARATOR.'config_core_compile.php');
require_once(SF_ROOT_DIR.DIRECTORY_SEPARATOR.'lib'.DIRECTORY_SEPARATOR.'functions'.DIRECTORY_SEPARATOR.'mensajes.php');

function eliminar_acento ( $cadena )
{
    $originales  = 'ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖØÙÚÛÜÝÞßàáâãäåæçèéêëìíîïðñòóôõöøùúûýýþÿŔŕ';
    $modificadas = 'aaaaaaaceeeeiiiidnoooooouuuuybsaaaaaaaceeeeiiiidnoooooouuuyybyRr';
    $cadena = utf8_decode($cadena);
    $cadena = strtr($cadena, utf8_decode($originales), $modificadas);
    $cadena = strtolower($cadena);
    return utf8_encode( stripAccents( $cadena ) );
}
function stripAccents( $string )
{
    return strtr($string,'àáâãäçèéêëìíîïñòóôõöùúûüýÿÀÁÂÃÄÇÈÉÊËÌÍÎÏÑÒÓÔÕÖÙÚÛÜÝ','aaaaaceeeeiiiinooooouuuuyyAAAAACEEEEIIIINOOOOOUUUUY');
}

function registrarHuella($idcliente,$idusuario){
	
	$con = Conexion::getConexion();
    $sql = "INSERT INTO 
            cr_cliente_huella
            (idclientehuella,idcliente,idusuario,fecharegistro)
            values
            (null,'".$idcliente."','".$idusuario."',now())"
            ;
	//echo $sql;  	
	$result = mysql_db_query(Conexion::getNameDb(), $sql, $con);
}

$idusuario 		= $_REQUEST['idusuario'];
$idcliente 		= $_REQUEST['idcliente'];
$foto_archivo 	= $_FILES['foto_archivo'];
$idprestamo 	= $_REQUEST['idprestamo'];
$ubicacion_registro_latitud		=  $_REQUEST['ubicacion_registro_latitud'];
$ubicacion_registro_longitud	=  $_REQUEST['ubicacion_registro_longitud'];
$s_token 		= "89nm75nh788";

function subirImagen($foto_archivo,$idcliente,$idusuario){


	$size_file      = $foto_archivo['size']; //: tama�o en bytes del archivo recibido
    $type_file      = $foto_archivo['type']; //: tipo mime del archivo, por ejemplo image/gif
    $name_file      = eliminar_acento( $foto_archivo['name'] ); //: nombre original del archivo
    $dir_tmp_name   = $foto_archivo['tmp_name']; //: nombre del archivo temporal que se utiliza para almacenar en

    			        

	//BASADO EN JPEG, PARA USAR EN PNG, GIF ETC CAMBIAR EL NOMBRE DE LAS FUNCIONES
	
	
    //VALIDACION - VARIOS
    
    if( $size_file > 300858 )
    {
        throw new Exception( "No se permite Archivos mayores a 2MB." );
    }
    if( $dir_tmp_name == "" )
    {
        throw new Exception( "No se puede guardar este Archivo." );
    }
    ///////////////////////////////////

    if( strpos( strtolower( $name_file ), 'pdf' ) !== false )
    {

    }
    

    //SE GUARA EL ARCHIVO
    $s_DirImages = $_SERVER['DOCUMENT_ROOT']."/images/huella/cliente/";
    
    $name_file     	= $idcliente.".txt";
    $destino 		=  $s_DirImages.$name_file;
    
    
    $err_msg = array(
	    UPLOAD_ERR_OK => 'Archivo subido correctamente.',
	    UPLOAD_ERR_INI_SIZE => 'El tamaño del archivo ha excedido el tamaño indicado en php.ini .',
	    UPLOAD_ERR_FORM_SIZE => 'El tamaño del archivo ha excedido el tamaño máximo para este formulario.',
	    UPLOAD_ERR_PARTIAL => 'El archivo ha sido subido parcialmente.',
	    UPLOAD_ERR_NO_FILE => 'El archivo no existe.',
	    UPLOAD_ERR_NO_TMP_DIR => 'El directorio temporal no existe.',
	    UPLOAD_ERR_CANT_WRITE => 'No se puede escribir en el disco.',
	    UPLOAD_ERR_EXTENSION => 'Error de extensión PHP.'
	);
	        
    if (move_uploaded_file($dir_tmp_name, $destino)) {
      $o_clienteBean = new ClienteBean();	
      $o_clienteBean->setFlagConHuella("S");
	  $o_clienteBean->setFlagHuellaConProblema("N");
      $o_clienteBean->setIdCliente($idcliente);
      $o_clienteDP = new ClienteDP($o_clienteBean);
      $o_clienteDP->update();
     
      return true;
      
    } else {
    	$msg = $err_msg[$foto_archivo['error']];
		return $msg;
    }
	
}

function guardar_log($cadena_log){
	
	$con = Conexion::getConexion();
    $sql = "INSERT INTO 
            cr_wslog
            (idlog,cadena,fecharegistro)
            values
            (null,'".$cadena_log."',now())"
            ;
	//echo $sql;  	
	$result = mysql_db_query(Conexion::getNameDb(), $sql, $con);
}


$cadena_log = json_encode($_REQUEST);


guardar_log($cadena_log);



if($s_token == $_REQUEST['token'])
	{
		if(!$foto_archivo) {
			$a_resultado['estado'] = "90";
			$a_resultado['mensaje'] = "No existe archivo enviado";
		}else{

			switch ($_REQUEST['metodo']){
				case "registrar_huella":
					
					$o_user 		= new user_class();
					//if ($o_user->findUser($idusuario)){
					if (1){
						
						registrarHuella($bResult,$idusuario);
				        subirImagen($foto_archivo,$idcliente,$idusuario);
						$a_resultado['estado'] = "1";
						$a_resultado['mensaje'] = "Exito ok";
			
						
					}else{
						$a_resultado['estado'] = "40";
						$a_resultado['mensaje'] = "No existe el usuario";
					}
				break;
				case "validar_huella":
					
					
					if (1){
						
				        subirImagen($foto_archivo,$idcliente,$idusuario);
						$a_resultado['estado'] = "1";
						$a_resultado['mensaje'] = "Exito";
			
						
					}else{
						$a_resultado['estado'] = "40";
						$a_resultado['mensaje'] = "No existe el usuario";
					}
				break;
				case "actualizacion_foto_domicilio":
					$o_user 		= new user_class();
			 		if ($o_user->findUser($idusuario)){
			 			
			 			$CodTipoDocumento = '6';
			 			
				        subirImagen2($CodTipoDocumento,$foto_archivo,$idcliente,$idusuario,$ubicacion_registro_latitud,$ubicacion_registro_longitud);
				       
						$a_resultado['estado'] = "1";
						$a_resultado['mensaje'] = "Exito";
			 			
			 		}else{
						$a_resultado['estado'] = "40";
						$a_resultado['mensaje'] = "No existe el usuario";
					}
				break;
				case "error_tarjeta":
					$o_user 		= new user_class();
					if ($o_user->findUser($idusuario)){
						
						$CodTipoDocumento = '9';
										
						subirImagen2($CodTipoDocumento,$foto_archivo,$idcliente,$idusuario,$ubicacion_registro_latitud,$ubicacion_registro_longitud,$idprestamo);
											   
						$a_resultado['estado'] = "1";
						$a_resultado['mensaje'] = "Exito";
						
					}else{
						$a_resultado['estado'] = "40";
						$a_resultado['mensaje'] = "No existe el usuario";
					}
				break;
			}
		}
}
else
{
	$a_resultado['estado'] = "3";
	$a_resultado['mensaje'] = "Token No valido";	
}

if(is_array($a_resultado)){
	$a_respuesta["resultado"] = $a_resultado;
	//echo "<pre>";	
	//print_r($a_resultado);
	print json_encode($a_respuesta);
	
	$cadena_log = json_encode($a_respuesta);

	guardar_log($cadena_log);
	//echo "</pre>";
}		
	