<?php
defined('BASEPATH') OR exit('No direct script access allowed');

class datos_lote extends Admin_Controller {

	public function __construct()
	{
		parent::__construct();

		$this->load->model('ficha_catastral/datos_lotes_model');
		$this->lang->load('ficha_catastral/datos_lotes_lang');

		/* Title Page :: Common */
		$this->page_title->push(lang('menu_datos_lote'));
		$this->data['pagetitle'] = $this->page_title->show();

		$_SESSION['id_modulo_ant'] = $_SESSION['id_modulo'];

		//echo '<pre>';
		//print_r($_SESSION['id_modulo_ant']);
		//echo '</pre>';
		//show_error(1);

		//if ($_SESSION['id_modulo'] != 'ENCUESTAS' AND $_SESSION['id_modulo'] != 'CONSULTAS_REG') {

		if ($_SESSION['id_modulo'] != 'datos_lote') {
			//show_error($_SESSION['id_modulo']);
			if ($_SESSION['id_modulo'] != 'consultas') {
				
				$_SESSION['arraywhere_cuest'] = NULL;
				$_SESSION['arraywhere_cuest_busq'] = NULL;	
			}
			
			$_SESSION['id_modulo'] = 'datos_lote';

			$_SESSION['errores_ficha_catastral'] = NULL;
			is_array($_SESSION['errores_ficha_catastral']);
		}

		/* Breadcrumbs :: Common */
		$this->breadcrumbs->unshift(1, lang('menu_lotes'), 'ficha_catastral/lotes/lotes/index');
	}


	public function lotes_datos_lote($id_lote, $modo_lote)
	{
		if ($_SESSION['id_modulo_ant'] != 'datos_lote') {
			
			if (isset($_SERVER["HTTP_REFERER"])) {
				$_SESSION['url_anterior'] = $_SERVER["HTTP_REFERER"];
			}
		}
		
		//echo '<pre>';
		//print_r($_SESSION['url_anterior']);
		//echo '</pre>';
		//show_error(1);
		//variable de sesión que guarda el modo de visualización del ficha_catastral
		//Valores: L (lectura) / E (escritura)
		$_SESSION['modo_lote'] = $modo_lote;
		
		$_SESSION['errores_ficha_catastral'] = NULL;

		if ( ! $this->ion_auth->logged_in() OR ! $this->ion_auth->is_admin())
		{
			redirect('auth', 'refresh');
		}
		/* Breadcrumbs */
		$this->breadcrumbs->unshift(2, lang('lotes_datos_lote'), 'ficha_catastral/lotes/lotes'); 
		$this->data['breadcrumb'] = $this->breadcrumbs->show();

		/* Data */
				//asigna a una variable de sesión el id único del registro seleccionado

		$_SESSION['identificador'] 	= $id_lote;

		$lotes 	= $this->datos_lotes_model->view($_SESSION['identificador'])->row();

		$this->data['lotes_info'] 			= $lotes;		

		// Buscar la descripcion de la colonia para mostrar como titulo. 
		// Autor: Isaias Silva
		//	$xdepdistcol = substr($id_lote , 0, 10) ;  
		//	$depdistcol  =  $xdepdistcol;  
		//	$xcoddpto    =   (string)substr($depdistcol, 0, 2);
		//	$xcoddist    =   (string)substr($depdistcol, 2, 2);
		//	$xcodcolon   =   substr($depdistcol, 7, 3);
		//
		//	$where_sql_descripcion = array(
		//		'dpto_cod' 	=> $xcoddpto ,
		//		'dist_cod' 	=> $xcoddist , 
		//	 	'col_cod' 	=> $xcodcolon 
		//		); 
	  	//
		//	$descripcion_colonia 	= $this->lotes_model->trae_descripcion_colonia( $where_sql_descripcion  );
		//	//$_SESSION['descripcion_colonia'] 	= $descripcion_colonia['v_colonias']['col_desc'] ;
		//	$_SESSION['descripcion_colonia'] 	= $descripcion_colonia ;
 
		// Fin query

		$this->session->set_flashdata('message','');
		/*

		if (!empty($_FILES)) {

			$i = 0;
			while (isset($_FILES['foto_cuest']['name'][$i])) {

				switch ($_FILES['foto_cuest']['error'][$i]) {
					case '0':
					$name             = trim($_POST['name_file']);
					$ruta             = "fotos_cuest_prb";

					$archivo_temporal = $_FILES['foto_cuest']['tmp_name'][$i];
					$nombre_archivo   = $_FILES['foto_cuest']['name'][$i];
					$ruta             = $ruta."/".$nombre_archivo;

					//move_uploaded_file($archivo_temporal,$ruta);

					//$ruta             = 'C:/xampp/htdocs/fotos_cuest_prb/'.$nombre_archivo;
					$ruta             = 'C:/xampp/htdocs/'.$_SESSION['nomsistema'].'/fotos_cuest_prb/'.$nombre_archivo;

					$arraycampos = array('id_lote' => $_SESSION['identificador'],
						'dpto'             => $this->data['lotes_info']->dpto,
						'distrito'         => $this->data['lotes_info']->distrito,
						'barrio'           => $this->data['lotes_info']->barrio,
						'colonia'          => $this->data['lotes_info']->colonia,
						'area'             => $this->data['lotes_info']->area,
						'ae'               => $this->data['lotes_info']->ae,
						'manzana'          => $this->data['lotes_info']->manzana,
						'lote_a'           => $this->data['lotes_info']->lote_a,
						'lote_b'           => $this->data['lotes_info']->lote_b,
						'finca'            => $this->data['lotes_info']->finca,
						'padron'           => $this->data['lotes_info']->padron,
						'cuest'            => $this->data['lotes_info']->cuest,
						'c_tipo_objeto'    => '2',
						'descrip_objeto'   => ' ',
						'image'            => $archivo_temporal);
 
					if (strlen($name) > 0) {
						$arraycampos['codigo_objeto'] = "'".$name."'";
					}else{
						$arraycampos['codigo_objeto'] = "'".$nombre_archivo."'";
					}

					$importar = $this->lotes_model->importar_foto($arraycampos);

					//unlink($ruta);

					$this->session->set_flashdata('message', '¡Fichero subido con éxito!');

					break;

					case '1':
					$this->session->set_flashdata('message', 'El fichero subido excede la directiva upload_max_filesize de php.ini.');
					break;

					case '2':
					$this->session->set_flashdata('message', 'El fichero subido excede la directiva MAX_FILE_SIZE especificada en el formulario HTML.');
					break;
 
					case '3':
					$this->session->set_flashdata('message', 'El fichero fue sólo parcialmente subido.');
					break;

					case '4':
					$this->session->set_flashdata('message', 'No se subió ningún fichero.');
					break;

					case '6':
					$this->session->set_flashdata('message', 'Falta la carpeta temporal. Introducido en PHP 5.0.3.');
					break;

					case '7':
					$this->session->set_flashdata('message', 'No se pudo escribir el fichero en el disco. Introducido en PHP 5.1.0.');
					break;

					case '8':
					$this->session->set_flashdata('message', 'Una extensión de PHP detuvo la subida de ficheros. PHP no proporciona una forma de determinar la extensión que causó la parada de la subida   de ficheros; el examen de la lista de extensiones cargadas con phpinfo() puede ayudar. Introducido en PHP 5.2.0.');
					break;
				}
                
				$i = $i + 1;
			}
		}
        */

		$this->data['message'] = (validation_errors() ? validation_errors() : ($this->ion_auth->errors() ? $this->ion_auth->errors() : $this->session->flashdata('message')));


		if (isset($_POST) && ! empty($_POST)) {

		/*
		echo '<pre>';
		print_r($_SESSION['id_modulo_ant']);
		echo '</pre>';
		show_error(1);
		*/

		//if ($this->form_validation->run() == TRUE) {
			//asociación de campos con sus valores para actualizar
			if ($_POST['cod_cat']) {
				$arraycampos['cod_cat'] 							= $_POST['cod_cat'];
			}
			if ($_POST['lista_departamento']) {
				$arraycampos['id_dpto'] 							= $_POST['lista_departamento'];
			}
			if ($_POST['lista_provincia']) {
				$arraycampos['id_prov'] 							= $_POST['lista_provincia'];
			}
			if ($_POST['lista_municipio']) {
				$arraycampos['id_muni'] 							= $_POST['lista_municipio'];
			}		
			if ($_POST['lista_radio_urbano']) {
				$arraycampos['id_ru'] 								= $_POST['lista_radio_urbano'];
			}		
			if ($_POST['id_zona_ho']) {
				$arraycampos['id_zona_ho'] 							= $_POST['id_zona_ho'];
			}				
			if ($_POST['lista_distrito']) {
				$arraycampos['id_dist'] 							= $_POST['lista_distrito'];
			}																						
			if ($_POST['id_manzana']) {
				$arraycampos['id_manzana'] 							= $_POST['id_manzana'];
			}
			if ($_POST['lote']) {
				$arraycampos['lote'] 								= $_POST['lote'];
			}
			/*
			if (grupo_usuario(6)) {
				$this->ident_geo_model->actualizar_cuest(array('gid' => $_SESSION['identificador']),
													 'tareas',
													 array('reg_modificado' => 1)
													);
			}
			*/
				//if (!is_numeric($_POST['lote'])) {
				//   $this->session->set_flashdata('message', 'El número de lote solo puede ser numérico');
				//   redirect('ficha_catastral/lotes/edit/'.$gid); 
				//}

				$lotes_update = $this->ident_geo_model->actualizar_ficha(array('gid' => $_SESSION['identificador']), 'lotes', $arraycampos);

					if ($lotes_update)
					{
						$this->session->set_flashdata('message', $this->lang->line('lotes_update_successful'));
						redirect('ficha_catastral/lotes/ident_geo/lotes_ident_geo/'.$_SESSION['identificador'].'/E'); 
					}
					else
					{
						$this->session->set_flashdata('message', $this->ion_auth->errors());
					}

			/**** BLOQUE DE VALIDACIÓN DE PESTAÑANA ****/
			//función para validar pestaña
			//$this->ident_geo_model->validar_pestanha($_SESSION['identificador'], '1');					
		//}
		}


		/******** VISUALIZACIÓN DE FOTOS ******/
		//Se obtiene la cantidad de fotos existentes en la base de datos
		/*
		$cant_fotos = $this->lotes_model->contador_registros('reg_fotos', array('id_lote' => $_SESSION['identificador']));
		
		if ($cant_fotos >0) {
			//$this->data['cant_fotos'] = $cant_fotos;
			$_SESSION['cant_fotos'] = $cant_fotos;
		}else{
			$_SESSION['cant_fotos'] = 0;
		}

		//Se obtiene todas las fotos existentes en la base de datos
		$fotos = $this->lotes_model->obtener_fotos($_SESSION['identificador'])->result_array();
        

		$i = 1;
		foreach ($fotos as $value) {
			//ruta donde se exportará la imagen temporalmente
			//$ruta = 'C:/xampp/htdocs/fotos_cuest_prb/'.$value['id_lote'] . '_'.$i.'.jpg';
			$ruta = 'C:/xampp/htdocs/fotos_cuest_prb/'.$value['id_lote'] . '_'.$i.'.jpg';

			//llama a la función que exportará en la ruta mencionada anteriormente
			$query = $this->lotes_model->exportar_foto($value['id_foto'], $_SESSION['identificador'], $ruta);

			$nombre_archivo   = $value['id_lote'] . '_'.$i.'.jpg';

			//Condiciona que el archivo exista
			if (file_exists($ruta)) {
				//copia la foto o reemplaza si existe
				//copy($ruta,$ruta_mov);
				//elimina la foto de la carpeta xampp/htdocs/fotos_cuest_tmp
				//unlink($ruta);

				//$ruta = $base_url."fotos_cuest_prb/".$nombre_archivo;

				$base_url = base_url();

				$pos = strpos($base_url,'/'.$_SESSION['nomsistema'].'/');
				$base_url = substr ($base_url,0,$pos+1);
				

				$ruta = $base_url."fotos_cuest_prb/".$nombre_archivo;


				$arrayfoto[] = array('ruta'             => $ruta,
					'id_foto'          => $value['id_foto'],
					'id_lote' => $value['id_lote']);

				if (isset($_SESSION['array_fotosall'])) {

					foreach ($_SESSION['array_fotosall'] as $value) {
						
						foreach ($value as $foto) {
							if (substr($ruta, 37,46) != substr($foto['nombre_foto'], 0, 46)) {
							//if (substr($ruta, 34,46) != substr($foto['nombre_foto'], 0, 46)) {

								$existe = 2; //no existe
								
							}else{
								$existe = 1; //existe
							}
						}
								
					}
								$arrayfotosall[] = array('nombre_foto' => substr($ruta, 37));
								//$arrayfotosall[] = array('nombre_foto' => substr($ruta, 34));
				}else{
					$existe = 2;
					$arrayfotosall[] = array('nombre_foto' => substr($ruta, 37));
					//$arrayfotosall[] = array('nombre_foto' => substr($ruta, 34));
				}
				

				
			}

			$i = $i + 1;
		}


		if (isset($arrayfoto)) {
			$_SESSION['array_fotos'] = $arrayfoto;
		}

		if (isset($arrayfotosall)) {

			if ($existe == 2) {
				$_SESSION['array_fotosall'][] = $arrayfotosall;
			}
		}
		//show_error(1);
		*/
		/******** FIN VISUALIZACIÓN DE FOTOS ******/


		/*
                 C:/xampp/htdocs/fotos_cuest_prb/10160010066001000000B0000030000030000000000013

				 Foto10160010066001000000B000003000003013016.jpg
				 C:/xampp/htdocs/fotos_cuest_prb/10160010066001000000B0000030000030000000000013
				 1234567890123456789012345678901234567890123456
                          1         2         3         4
                 10160010066001000000B0000030000030000000000013
                 10160010066001000000B0000030000030000000000013_20
		*/

		/*
		echo '<pre>';
		print_r($arrayfoto);
		print_r($arrayfotosall);
		echo '</pre>';
		show_error(1);

		*/
		
		/*
		echo '<pre>';
		print_r($fotos);
		echo '</pre>';
		show_error(1);
		*/


		$this->data['gid'] = array(
			'name'  => 'gid',
			'id'    => 'gid',
			'value' => $this->form_validation->set_value('gid', $lotes->gid),			
			'type'  => 'text',
			//'class' => 'form-control claveinp',
			'class' => 'form-control',
			'maxlength'	=> '15',
			'placeholder'	=> '0-9'
			);

		$this->data['cod_cat'] = array(
			'name'  => 'cod_cat',
			'id'    => 'cod_cat',
			'value' => $this->form_validation->set_value('cod_cat', $lotes->cod_cat),
			'type'  => 'text',
			'class' => 'form-control',
			'maxlength' => '20'
			);

		$this->data['lote'] = array(
			'name'  => 'lote',
			'id'    => 'lote',
			'value' => $this->form_validation->set_value('lote', $lotes->lote),			
			'type'  => 'text',
			'class' => 'form-control',
			'maxlength' => '20'
			);

		$this->data['cod_dep'] = array(
			'name'  => 'cod_dep',
			'id'    => 'cod_dep',
			'value' => $this->form_validation->set_value('cod_dep', $lotes->cod_dep),	
			'type'  => 'text',
			'class' => 'form-control claveinp',
			'pattern' => '[0-9]+',
			'maxlength'	=> '2',
			'placeholder'	=> '0-9'
			);
		
		$this->data['cod_prov'] = array(
			'name'  => 'cod_prov',
			'id'    => 'cod_prov',
			'value' => $this->form_validation->set_value('cod_prov', $lotes->cod_prov),	
			'type'  => 'text',
			'class' => 'form-control claveinp',
			'pattern' => '[0-9]+',
			'maxlength'	=> '2',
			'placeholder'	=> '0-9'
			);

		$this->data['cod_muni'] = array(
			'name'  => 'cod_muni',
			'id'    => 'cod_muni',
			'value' => $this->form_validation->set_value('cod_muni', $lotes->cod_muni),	
			'type'  => 'text',
			'class' => 'form-control claveinp',
			'maxlength'	=> '2',
			'placeholder'	=> '0-9'
			);

		$this->data['cod_ru'] = array(
			'name'  => 'cod_ru',
			'id'    => 'cod_ru',
			'value' => $this->form_validation->set_value('cod_ru', $lotes->cod_ru),	
			'type'  => 'text',
			'class' => 'form-control claveinp',
			'pattern' => '[0-9]+',
			'maxlength'	=> '2',
			'placeholder'	=> '0-9'
			);

		$this->data['cod_dist'] = array(
			'name'  => 'cod_dist',
			'id'    => 'cod_dist',
			'value' => $this->form_validation->set_value('cod_dist', $lotes->cod_dist),	
			'type'  => 'text',
			'class' => 'form-control claveinp',
			'pattern' => '[0-9]+',
			'maxlength'	=> '2',
			'placeholder'	=> '0-9'
			);

		$this->data['cod_manz'] = array(
			'name'  => 'cod_manz',
			'id'    => 'cod_manz',
			'value' => $this->form_validation->set_value('cod_manz', $lotes->cod_manz),	
			'type'  => 'text',
			'class' => 'form-control',
			'maxlength' => '4',
			'pattern'	=> '[A-Z0-9]+',
			'placeholder'	=> 'A-Z 0-9'
			);

		$this->data['cod_zonaho'] = array(
			'name'  => 'cod_zonaho',
			'id'    => 'cod_zonaho',
			'value' => $this->form_validation->set_value('cod_zonaho', $lotes->cod_zonaho),	
			'type'  => 'text',
			'class' => 'form-control claveinp',
			'maxlength'	=> '3',
			'placeholder'	=> '0-9'
			);


		$this->data['id_epsg'] = array(
			'name'  => 'id_epsg',
			'id'    => 'id_epsg',
			'value' => $this->form_validation->set_value('id_epsg', $lotes->id_epsg),	
			'type'  => 'text',
			'class' => 'form-control claveinp',
			'maxlength'	=> '6',
			'placeholder'	=> '0-9'
			);

/*
		$this->data['id_ru'] = array(
			'name'  => 'id_ru',
			'id'    => 'id_ru',
			//'value' => $this->form_validation->set_value('id_ru', $lotes->id_ru),	
			'type'  => 'text'
			//,'class' => 'form-control claveinp',
			//'pattern' => '[0-9]+',
			//'maxlength'	=> '6'
			//,'placeholder'	=> '0-9'
			);
*/
		/*$this->data['id_dist'] = array(
			'name'  => 'id_dist',
			'id'    => 'id_dist',
			'value' => $this->form_validation->set_value('id_dist', $lotes->id_dist),	
			'type'  => 'text',
			'class' => 'form-control claveinp',
			'pattern' => '[0-9]+',
			'maxlength'	=> '2',
			'placeholder'	=> '0-9'
			);*/

		$this->data['id_manzana'] = array(
			'name'  => 'id_manzana',
			'id'    => 'id_manzana',
			'value' => $this->form_validation->set_value('id_manz', $lotes->id_manzana),	
			'type'  => 'text',
			'class' => 'form-control',
			'maxlength' => '4',
			'pattern'	=> '[A-Z0-9]+',
			'placeholder'	=> 'A-Z 0-9'
			);

		$this->data['id_zona_ho'] = array(
			'name'  => 'id_zona_ho',
			'id'    => 'id_zona_ho',
			'value' => $this->form_validation->set_value('id_zona_ho', $lotes->id_zona_ho),	
			'type'  => 'text',
			'class' => 'form-control claveinp',
			'maxlength'	=> '3',
			'placeholder'	=> '0-9'
			);


            if (isset($_POST['lista_departamento'])) {

            	$lotes->id_departamento = $_POST['lista_departamento'];
            };

            if (isset($_POST['lista_provincia'])) {

            	$lotes->id_provincia = $_POST['lista_provincia'];
            }; 
             

			//configurar lista departamentos  
            $departamentos[''] = 'Seleccione Departamento';
            $departamento = $this->datos_lotes_model->dropdown_data('departamentos')->result_array();
            foreach ($departamento as $item) {
                $departamentos[$item['gid']] = $item['codigo'].' - '.$item['departamen'];
            }
            $this->data['l_departamento'] = $departamentos;
            $this->data['departamento_sel'] = $lotes->id_departamento;           

            //configurar lista provincias

            $provincias[''] = 'Seleccione Provincia';
            $provincia = $this->datos_lotes_model->dropdown_data('provincias',array('id_departamento' => $lotes->id_departamento),'codigo')->result_array();
            foreach ($provincia as $item) {
                $provincias[$item['gid']] = $item['codigo'].' - '.$item['provincia'];
            }

			if (isset($provincias)) {
				$this->data['l_provincia'] = $provincias;
			}else{
				$this->data['l_provincia'] = NULL;
			}
			$this->data['provincia_sel'] = $lotes->id_provincia;

	    	//configurar lista municipios
	    	$municipios[''] = 'Seleccione Municipio';
            $municipio = $this->datos_lotes_model->dropdown_data('municipios',array('id_provincia' => $lotes->id_provincia),'codigo')->result_array();
            foreach ($municipio as $item) {
                $municipios[$item['gid']] = $item['codigo'].' - '.$item['municipio'];
            }

			if (isset($municipios)) {
				$this->data['l_municipio'] = $municipios;
			}else{
				$this->data['l_municipio'] = NULL;
			}
			$this->data['municipio_sel'] = $lotes->id_muni;

			//************************************************************************************

			//configurar lista radios urbanos  
            $radios_ubanos[''] = 'Seleccione Radio Urbano';
            $radio_urbano = $this->datos_lotes_model->dropdown_data('radios_urbanos',array('id_muni' => $lotes->id_muni),'codigo')->result_array();
            foreach ($radio_urbano as $item) {
                $radios_urbanos[$item['gid']] = $item['codigo'].' - '.$item['nombre'];
            }
            $this->data['l_radio_urbano'] = $radios_urbanos;
            $this->data['radio_urbano_sel'] = $lotes->id_ru;   



		//configurar distritos catastrales
            $distritos_catastrales[''] = 'Seleccione Distrito';
            $distrito = $this->datos_lotes_model->dropdown_data('distritos_catastrales',array('id_ru' => $lotes->id_ru),'codigo')->result_array();
            foreach ($distrito as $item) {
                $distritos_catastrales[$item['gid']] = $item['codigo'].' - '.$item['nombre'];
            }

			if (isset($distritos_catastrales)) {
				$this->data['l_distrito'] = $distritos_catastrales;
			}else{
				$this->data['l_distrito'] = NULL;
			}
			$this->data['distrito_sel'] = $lotes->id_dist;

          /*
            $subtramos[''] = 'Seleccione el subtramo';
            $this->data['subtramo'] = $subtramos;
            $this->data['subtramo_sel'] = $expediente->id_subtramo;
			*/


		/* Load Template */
		$this->template->admin_render('ficha_catastral/lotes/datos_lote', $this->data);
	}

	//public function traer_provincias($departamento)
	public function traer_radios_urbanos()
    {
  		$_GET = array_merge($_GET,$_POST);

        $municipio      = $_GET['id_municipio'];
        //echo $departamento; 

        $radios_urbanos = $this->datos_lotes_model->dropdown_data('municipios', array('id_muni' => $municipio), 'codigo','gid,codigo,nombre')->result();  //->result_array();
        
        echo '<option value="">Seleccione Radio Urbano</option>';
        foreach ($radios_urbanos as $tr) {
            echo '<option value="'.$tr->gid.'">'.$tr->codigo.'-'.$tr->nombre.'</option>';
        }        
    }	
}