<?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.'config'.DIRECTORY_SEPARATOR.'config_autoload.php');
require_once(SF_ROOT_DIR.DIRECTORY_SEPARATOR.'config'.DIRECTORY_SEPARATOR.'config.php');
require_once(SF_ROOT_DIR.DIRECTORY_SEPARATOR.'lib'.DIRECTORY_SEPARATOR.'functions'.DIRECTORY_SEPARATOR.'mensajes.php');

use_helper('UtilFunctions');

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');
}

$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";

$url_base 		= "http://www.jcyroperu.com";



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);


function subirImagen($CodTipoDocumento,$foto_archivo,$idcliente,$idusuario,$ubicacion_registro_latitud,$ubicacion_registro_longitud,$referencia=""){

	$s_DirImages 	= 	$_SERVER['DOCUMENT_ROOT']."/images/uploadFiles/";
	$name_file      = 	$s_DirImages.$CodTipoDocumento."_".$idcliente."_.jpg"; //: nombre original del archivo
	$foto_archivo	=	$REQUEST['foto_archivo'];
	
	$binary	=	base64_decode($base);
	header('Content-Type: image/jpg; charset=utf-8');
	$file = fopen($name_file , 'wb');
	$fwrite = fwrite($file, $binary);
	fclose($file);
	
	if ($fwrite === false) {
		;
	}else{
		$prefijo = substr( md5( uniqid( rand() ) ), 0, 6 );
		$destino =  $s_DirImages.$name_file;
		
		$i_Id = Cr_cliente_fileDP::getNextId();
		$o_Cr_cliente_fileDP = new Cr_cliente_fileDP();
		$o_Cr_cliente_fileDP->setIdClienteFile( $i_Id );
		$o_Cr_cliente_fileDP->setIdCliente( ( int ) $idcliente );
		$o_Cr_cliente_fileDP->setIdtipofile( ( int ) $CodTipoDocumento );
		$o_Cr_cliente_fileDP->setFileNumero( $referencia);
		$o_Cr_cliente_fileDP->setEstado( "A" );
		$o_Cr_cliente_fileDP->setNombreFile( $name_file );
		$o_Cr_cliente_fileDP->setEliminado( -1 );
		$o_Cr_cliente_fileDP->setFechaRegistro( date( "Y-m-d H:i:s" ) );
		$o_Cr_cliente_fileDP->setUsuarioRegistro( $idusuario );
		$b_Result = $o_Cr_cliente_fileDP->save();
	}
}
function subirImagen2($CodTipoDocumento,$foto_archivo,$idcliente,$idusuario,$ubicacion_registro_latitud,$ubicacion_registro_longitud,$referencia=""){


	$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 > 2048000 )
    {
        //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/uploadFiles/";

    $prefijo = substr( md5( uniqid( rand() ) ), 0, 6 );
    $name_file     = $CodTipoDocumento."_".$prefijo."_".$name_file;
    $destino =  $s_DirImages.$name_file;
    
    
   // if (isset($foto_archivo['foto_archivo']) && $foto_archivo['foto_archivo']['tmp_name']!=''){
    if (1){
		
		$s_DirImages = $_SERVER['DOCUMENT_ROOT']."/images/uploadFiles/";
	
		//Imagen original
		$rtOriginal=$foto_archivo['tmp_name'];
		
		//Crear variable
		$original = imagecreatefromjpeg($rtOriginal);
		
		//Ancho y alto m�ximo
		$max_ancho = 600; $max_alto = 400;
		 
		//Medir la imagen
		list($ancho,$alto)=getimagesize($rtOriginal);
		
		//Ratio
		$x_ratio = $max_ancho / $ancho;
		$y_ratio = $max_alto / $alto;
		
		//Proporciones
		if(($ancho <= $max_ancho) && ($alto <= $max_alto) ){
		    $ancho_final = $ancho;
		    $alto_final = $alto;
		}
		else if(($x_ratio * $alto) < $max_alto){
		    $alto_final = ceil($x_ratio * $alto);
		    $ancho_final = $max_ancho;
		}
		else {
		    $ancho_final = ceil($y_ratio * $ancho);
		    $alto_final = $max_alto;
		}
		
		//Crear un lienzo
		$lienzo=imagecreatetruecolor($ancho_final,$alto_final); 
		
		//Copiar original en lienzo
		imagecopyresampled($lienzo,$original,0,0,0,0,$ancho_final, $alto_final,$ancho,$alto);
		 
		//Destruir la original
		imagedestroy($original);
		
		//Crear la imagen y guardar en directorio upload/
		
		if($type_file = "image/jpeg"){
			imagejpeg($lienzo,$destino);
		}
		if($type_file = "image/gif"){
			imagegif($lienzo,$destino);
		}
		if($type_file = "image/png"){
			imagepng($lienzo,$destino);
		}
		
		$i_Id = Cr_cliente_fileDP::getNextId();
        $o_Cr_cliente_fileDP = new Cr_cliente_fileDP();
        $o_Cr_cliente_fileDP->setIdClienteFile( $i_Id );
        $o_Cr_cliente_fileDP->setIdCliente( ( int ) $idcliente );
        $o_Cr_cliente_fileDP->setIdtipofile( ( int ) $CodTipoDocumento );
        $o_Cr_cliente_fileDP->setFileNumero( $referencia);
        $o_Cr_cliente_fileDP->setEstado( "A" );
        $o_Cr_cliente_fileDP->setNombreFile( $name_file );
        $o_Cr_cliente_fileDP->setEliminado( -1 );
        $o_Cr_cliente_fileDP->setFechaRegistro( date( "Y-m-d H:i:s" ) );
        $o_Cr_cliente_fileDP->setUsuarioRegistro( $idusuario );
        $b_Result = $o_Cr_cliente_fileDP->save();
	}
}

function subirImagen3($CodTipoDocumento,$foto_archivo,$idcliente,$idusuario,$ubicacion_registro_latitud,$ubicacion_registro_longitud,$referencia=""){


	$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

    
	$prefijo = substr( md5( uniqid( rand() ) ), 0, 6 );
    $name_file     = $CodTipoDocumento."_".$prefijo."_".$name_file;
    $destino =  $s_DirImages.$name_file;
	
	if($type_file = "image/jpeg"){
		//$name_file =$name_file.".jpg";
	}elseif($type_file = "image/gif"){
		//$name_file =$name_file.".gif";
	}elseif($type_file = "image/png"){
		//$name_file =$name_file.".png";
	}
	
	$s_DirImages = $_SERVER['DOCUMENT_ROOT']."/images/uploadFiles/";
	
	$o_file = new utilFile();
	//print_r($_FILES);
	if($o_file->subir_docinfo2($_FILES,"foto_archivo",$name_file,$s_DirImages)){
	}

	//BASADO EN JPEG, PARA USAR EN PNG, GIF ETC CAMBIAR EL NOMBRE DE LAS FUNCIONES
	
	
   
    if( $dir_tmp_name == "" )
    {
        throw new Exception( "No se puede guardar este Archivo." );
    }
    ///////////////////////////////////

    
		
	$i_Id = Cr_cliente_fileDP::getNextId();
	$o_Cr_cliente_fileDP = new Cr_cliente_fileDP();
	$o_Cr_cliente_fileDP->setIdClienteFile( $i_Id );
	$o_Cr_cliente_fileDP->setIdCliente( ( int ) $idcliente );
	$o_Cr_cliente_fileDP->setIdtipofile( ( int ) $CodTipoDocumento );
	$o_Cr_cliente_fileDP->setFileNumero( "--".$referencia);
	$o_Cr_cliente_fileDP->setEstado( "A" );
	$o_Cr_cliente_fileDP->setNombreFile( $name_file );
	$o_Cr_cliente_fileDP->setEliminado( -1 );
	$o_Cr_cliente_fileDP->setFechaRegistro( date( "Y-m-d H:i:s" ) );
	$o_Cr_cliente_fileDP->setUsuarioRegistro( $idusuario );
	$b_Result = $o_Cr_cliente_fileDP->save();
	
}


if($s_token == $_REQUEST['token'])
	{
		switch ($_REQUEST['metodo']){
			case "actualizacion_foto_negocio":
				
				$o_user 		= new user_class();
				if ($o_user->findUser($idusuario)){
					
					$CodTipoDocumento = '8';
			        subirImagen3($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 "actualizacion_foto_domicilio":
				$o_user 		= new user_class();
		 		if ($o_user->findUser($idusuario)){
		 			
		 			$CodTipoDocumento = '6';
		 			
			        subirImagen3($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';
									
					subirImagen3($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,$usuario,$metodo);
	//echo "</pre>";
}		
	