<?php
session_start();
//------------------------------------------------------------------------------------
//-----------------------------UPDATE DE LAS ETIQUETAS--------------------------------
//------------------------------------------------------------------------------------ 
//----------------VARIBLES------------------------------------------------------------
if (isset($_SESSION["user"])) {
	$user = "";
	$user = $_SESSION["user"];
	$grupo = "";
	$grupo = $_SESSION["grupo"];
	$ordenador = "";
	$ordenador = $_SESSION["host"];
}else{
	$user = "";
	$user = "ext_awa";
	$grupo = "";
	$grupo = "ext_awa";
	$ordenador = "";
	$ordenador = "ext_awa";
}
$contenido = $_POST['contenido'];
$codigo = $_POST['codigo'];
$tipo = $_POST['tipo'];
$total = count($codigo);
$query = "";
$esq = $_POST['id_esq'];
$docs = $_POST['docs'];
$ocr = $_POST['ocr'];
$total_docs = count($docs);
//----------------CONEXION------------------------------------------------------------
require_once '../conexion/conexion.php';
$bd = new connexion();
$bd->query("SET NAMES 'utf8'");


for($d=0;$d<$total_docs;$d++){
		//====================================================================================
		//=====================HAGO EL UPDA TE LA TABLA DE BLIBLIOTECA_ELEMETOS===============
		//HAGO EL COUNT DE LAS ETIQUETAS
		//$cant_etq = cantEtq($docs[$d]);
		//HAGO EL UPDATE DE LA TABLA BIBLIOTECA_ELEMENTOS
		$clave_bb = $docs[$d];
		$query = "UPDATE BIBLIOTECA_ELEMENTOS SET NUMETI = 3 WHERE CLAVE LIKE $clave_bb";
		mysqli_query($bd, $query);

		//====================================================================================
		//=======================CREO EL CAMPO CODIGO O PADRE=================================
		//====================================================================================
		//CREO EL ID DEL PADRE
		$clave_padre = get_id_unico();
		//====================================================================================
		//=======================REALIZO EL INSERT DE LOS CAMPOS==============================
		//====================================================================================
		for($i=0;$i<$total;$i++){
			//Creo la clave
			$clave = get_id_unico();
			//===============================================================================
			//VERIFICO Y CAMBIO EL FORMATO SI EL CAMPO DEL ESQUEMA EL DEL TIPO DATE----------
			//===============================================================================
				$vfecha = "NULL";
				//OBTENGO LOS DATOS DEL CAMPO DE LA TABLA ESTRUCTURA------------------------------
				$listaDoc = listaDoc($esq, $codigo[$i]);
				//VERIFICO EL ARDEN ASIGNADO------------------------------------------------------
				$orden = ordenCampos($esq, $codigo[$i]);
				//
				if ($tipo[$i]=="D") {
					$fecha1 = $contenido[$i];
					$vfecha =  $contenido[$i]." 00:00:00";
					$prueba = date("d/m/Y",strtotime($fecha1));
				}
				//VERIFICO SI TIENE UNA LISTA ASIGNADA PARA HACER LA RELACION CORRESPONDIENTE---------
				//DEBO EVALUAR SI EL VALOR DE LISTADOC ES IGUAL A -1 o -2 o -5
				//DEBO ASIGNAR EL VALOR DE ETIQUETA EL CODIGO DEL CONTACTO
				if ($listaDoc > 0) {
					$etiqueta = 1;
				}else{
					$etiqueta = 0;
				}
				//VERIFICO  EL FORMATO PARA ASIGNAR AL CAMPO VIMPORTE SI ES TIPO NUMERICO-------------
				if ($tipo[$i]=="N") {
					$vimporte = (float) $contenido[$i];
				}else{
					$vimporte = 0;
				}
				//VERIFICO EL FORMATO DEL CAMPO QUE SEA CONTADOR--------------------------------------
				if ($tipo[$i]=="T") {
					//ARMO EL CAMPO DEL CONTADOR----------------
					//============================================================================
					//SQL PARA CARGAR LA CLAVE DEL CONTADOR---------------------------------------
					$sql =  " 	SELECT EE.CONTADOR
								FROM ESQUEMAS_ESTRUCTURA EE
								WHERE EE.CODIGO = $codigo[$i] AND EE.ESQUEMA = $esq";
					$base = $bd->query($sql);
					$result = mysqli_fetch_array($base);
					$clave_contador = $result['CONTADOR'];
					//SQL PARA ARMAR EL VALOR DEL CONTADOR----------------------------------------
					$sql =  " 	SELECT C.PREFIJO, C.CONTADORSIG, C.SUFIJO, C.MASCARA 
								FROM CONTADORES C
								WHERE C.CODIGO = '$clave_contador'";
					$base = $bd->query($sql);
					$result = mysqli_fetch_array($base);
					//VARIABLES
					$prefijo_cont = $result["PREFIJO"];
					$sig_cont = $result["CONTADORSIG"];
					$sufijo_cont = $result["SUFIJO"];
					$mascara = $result["MASCARA"];
					$count_masc = strlen($mascara);
					$masc_cont = str_pad($sig_cont, $count_masc, '0', STR_PAD_LEFT);
					$valor_cont = $prefijo_cont.$masc_cont.$sufijo_cont;
					$prox_cont = $sig_cont + 1;
					//CARGO EL VALOR DEL CONTADOR EN EL CONTENIDO
					$contenido[$i] = $valor_cont;
					//HAGO EL UPDATE DEL CAMPO
					$query2 = "UPDATE CONTADORES SET CONTADORSIG = $prox_cont WHERE CODIGO LIKE '$clave_contador'";
					mysqli_query($bd, $query2); 
				}
				//VERIFICO SI ES DEL TIPO FECHA PARA VALIDAR LA QRY A UTILIZAR========================
				if ($vfecha =="NULL") {
					//================================================================================
					//EVALUO SI EL GRUPO DE LA ETIQUETA ES RELACIONADO A UN CONTACTO PARA-------------
					//ASINAR EL CODIGO DEL CONTACTO AL CAMPO ETIQUETA---------------------------------
					//Y TAMBIEN VERIFICAR SI OTORGA PERMISOS ESPECIALES PARA ASIGNARLO----------------
					if ($listaDoc == -1 OR $listaDoc == -2 OR $listaDoc == -5) {
						//Busco el codigo del contacto por el contenido de la descripcion
						$etiqueta = buscarCodigo($bd, $contenido[$i]);
						//VERIFICO SI EL CONTACTO RELACIONADO ES TAMBIEN UN USUARIO
						$es_contacto = validaContacto($bd, $etiqueta);
						//VALIDO QUE SEA UN CONTACTO Y ASUARIO A LA VEZ
						if ($es_contacto != '') {
							//VALIDOS DE SER UN USUARIO ARMO LA STRING DEL ACCESO
							$permiso_auto = permisosAutomaticos($bd, $esq, $codigo[$i]);
							//EVALUO SI ENTREGA PERMISO AUTOMATICO
							if ($permiso_auto != 0) {
								//ARMO LA STRING DEL PERMISO
								$acceso_auto = "#".$es_contacto."$".$permiso_auto."#";
								//HAGO EL UPDATE AL CAMPO ACCESO_AUTO DEL DOCUMENTO
								updateAccesoDocumento($bd, $acceso_auto, $docs[$d]);
							}
						}
					//================================================================================
					}
					//================================================================================
					//===============REALIZO EL QUERY=================================================
				    $query = "	INSERT INTO BIBLIOTECA_ETIQUETAS ( CODIGO, CLAVE, DESCRIPCION, GRUPO, ETIQUETA, GRUPOE, ESQUEMA, PADRE, ORDEN, FECHA, VALOR, REGISTRO, VIMPORTE, VFECHA, CARPETA_SINCRO, PLANTILLAOCR, ZONAOCR )
								VALUES ( '$clave', $docs[$d], '$contenido[$i]', $listaDoc, $etiqueta, $codigo[$i], $esq, '$clave_padre', $orden, NOW(), '', 0, $vimporte, NULL, '', $ocr, 0 )";
				}else{
					//================================================================================
					//===============REALIZO EL QUERY=================================================
				    $query = "	INSERT INTO BIBLIOTECA_ETIQUETAS ( CODIGO, CLAVE, DESCRIPCION, GRUPO, ETIQUETA, GRUPOE, ESQUEMA, PADRE, ORDEN, FECHA, VALOR, REGISTRO, VIMPORTE, VFECHA, CARPETA_SINCRO, PLANTILLAOCR, ZONAOCR )
								VALUES ( '$clave', $docs[$d], '$prueba', $listaDoc, $etiqueta, $codigo[$i], $esq, '$clave_padre', $orden, NOW(), '', 0, $vimporte, '$vfecha', '', $ocr, 0 )";
				}
				//MANDO LA QRY========================================================================
			    mysqli_query($bd, $query);
			
		}
		//====================================================================================
		//=======================REALIZO EL INSERT DEL CAMPO  CODIGO==========================
		//====================================================================================
		//====================================================================================
		//CLAVE PARA EL CODIGO
		$clave_codigo = get_id_unico();
		//===============REALIZO EL QUERY=================================================
		$query = "	INSERT INTO BIBLIOTECA_ETIQUETAS ( CODIGO, CLAVE, DESCRIPCION, GRUPO, ETIQUETA, GRUPOE, ESQUEMA, PADRE, ORDEN, FECHA, VALOR, REGISTRO, VIMPORTE, VFECHA, CARPETA_SINCRO, PLANTILLAOCR, ZONAOCR )
					VALUES ( '$clave_padre', $docs[$d], '$clave_codigo', 0, 0, 1, $esq, '', 0, NOW(), '', 0, 0, NULL, '', $ocr, 0 )";
		mysqli_query($bd, $query);
		//====================================================================================
		//====REALIZO EL CLASIFICADO AUTOMATICO DEL DOCUMENTO=================================
		//====================================================================================
		//OBTENGO UN ARRAY DEL ARBOL DE DIRECTORIOS
		$has_clasf_aut =  hasClasfAutomatico($bd, $esq);
		//defino el ambito global de los directorios como publicos------------------------------- 
		$padre = "##PUBLICO##";
		$acceso = "";
		//verifico la existencia de los directorios----------------------------------------------
		if ($has_clasf_aut != "") {
		  //HAgo el explode del la ruta----------------------------------------------------------
		  $string_eval = explode("\\", $has_clasf_aut);
		  //CUENTO LA LONGITUD DEL ARRAY OBTENIDO------------------------------------------------
		  $cant_row = count($string_eval);
		  //RECORRO CADA VARIABLE----------------------------------------------------------------
		  for ($p=1; $p<=($cant_row - 1); $p++) {
		  		//HAGO LA FUNCION PARA RECORRER LOS DIRECTORIOS Y EVALUAR LAS ETIQEUTA-----------
			    $nombre_carp = evalEtiqeutas($bd, $esq, $docs[$d], $string_eval[$p]);
		  		//verifico la existencia de cada directorio---------------------------------------
				$existe = dirExiste($nombre_carp, $padre);
				//cuento los reg a ver si existe--------------------------------------------------
				$cant = count($existe);
				//valido acciones a realizar dependiendo si existe o no --------------------------
				if ($cant == 0) {
			  		//no existe el directorio y se procede a crearlo---------------------------------
			  		//CLAVE DEL DIRECTORIO-----------------------------------------------------------
					$clave = "";
					$clave = get_id_unico();
					//ENTRADA------------------------------------------------------------------------
					$entrada = get_id_unico();
			      	
			      	//CARGO EL VALOR DE UBICACION DEL NUEVO PADRE------------------------------------
					$ubic_padre_doc = ubicacionPadreDoc($bd, $padre);
					//ARMO LA NUEVA UBICACION AÑADIENDO EL VALOR DEL PADRE---------------------------
					$new_ubic_doc = $ubic_padre_doc.$padre."/";
					//HAGO EL INSERT DE LA CARPETA---------------------------------------------------
			      	$query = "	INSERT INTO BIBLIOTECA_ELEMENTOS ( CLAVE, NOMBRE, EXTENSION, PADRE, TIPO, FECHA, AMBITO, ACCESO, UBICACION, CREADOR, ENTRADA, ORIGEN, ORDENADOR, MODIFICACION, PARTES, VERMIN, SUFIJO )
								VALUES ( '$clave', '$nombre_carp', '', '$padre', 'C', now(), 'PUB', '', '$new_ubic_doc', '$user', '$entrada', 'AWA', '$ordenador', now(), 1, '1.0', '' )";
				  	mysqli_query($bd, $query);
				  	//Almaceno el valor del nuevo padre----------------------------------------------
				  	$padre = $clave;
				  	
		      	}else{
					//==============================================================================
					//DE EXISTIR EL DIRECTORIO ACTUALIZO EL CAMPO PADRE Y CONTINIO EL ARRAY=========
					$padre = $existe['CLAVE'];
					$acceso = $existe['ACCESO'];
				}
				//REALIZO EL UPDATE DEL PADRE DEL DOCUMENTO PARA UBICARLO EN LA NUEVA RUTA-------
				$query = "	UPDATE BIBLIOTECA_ELEMENTOS 
							SET PADRE = $padre, ACCESO = '$acceso' 
							WHERE CLAVE LIKE $clave_bb";
				mysqli_query($bd, $query);
				//CARGO EL VALOR DE UBICACION DEL NUEVO PADRE------------------------------------
				$ubic_padre_doc = ubicacionPadreDoc($bd, $padre);
				//ARMO LA NUEVA UBICACION AÑADIENDO EL VALOR DEL PADRE---------------------------
				$new_ubic_doc = $ubic_padre_doc.$padre."/";
				//HAGO EL UPDATE CON LA NUEVA UBICACION------------------------------------------
				$query = "	UPDATE BIBLIOTECA_ELEMENTOS 
							SET UBICACION = '$new_ubic_doc'
							WHERE CLAVE LIKE $clave_bb";
				mysqli_query($bd, $query);
		  }

		}

		//====================================================================================
		//====REALIZO EL CAMBIO DEL NOMBRE SEGÚN PARAMETRO DEL CLASIFICADO AUTONOMBRE=========
		//====================================================================================
		//CARGO LA VARIBLE COMPLETA DEL NOMBRE FINAL DEL DOCUMENTO============================
		$var_nombre = varibleClasfAut($esq);
		//OBTENGO UN ARRAY DEL NOMBRE DEL DOCUMENTO
		$has_clasf_autnomb =  hasClasfAutoNombre($esq);
		//CUENTO EL ARRAY OBTENIDA
		$cant_nomb = count($has_clasf_autnomb);
		//VARIABLE PARA ALMACENAR EL NOMBRE DEL DIRECTORIO-----------------------------
		$name_doc = "";
		//OBTENGO LA EXTENCION DEL ARCHIVO---------------------------------------------
		$ext_doc = extDoc();
		$padre_Del_doc = padreDelDoc();
		//RECORRO CADA VARIABLE-------------------------------------------------------
		for ($n=0; $n<=($cant_nomb - 1); $n++) {

			//EVALUO SI SE UTILIZA EL CONTENIDO DE UN CAMPO PARA NOMBRAR EL DIRECTIRO-----
			$var_eval = explode("##", $has_clasf_autnomb[$n]);
			//============================================================================
			//SQL PARA CARGAR EL CONTENIDO DE LA VARIABLE---------------------------------
			$sql =  " 	SELECT E.DESCRIPCION
						FROM BIBLIOTECA_ETIQUETAS E
						WHERE E.ESQUEMA = $esq AND E.GRUPOE = $var_eval[1] AND E.CLAVE = $clave_bb";
			$base = $bd->query($sql);
			$result = mysqli_fetch_array($base);
			$cont = $result['DESCRIPCION'];
			//===============================================================================
			//DE SER UNA FECHA Y COLOCAR "NOW" CAMBIO EL VALOR A LA FECHA ACTUAL=============
			if ($var_eval[1]=="NOW") {
				$cont = date("d-m-Y");
			}
			//DE SER UNA EL NOMBRE DEL DOCUMENTO=============================================
			if ($var_eval[1]=="DOCUMENT.NAME") {
				$nomb_temp1 = nombreDoc();
				$nomb_temp2 = explode(".", $nomb_temp1);
				$cont = $nomb_temp2[0];
			}
			//============================================================================
			//EVALUO EL CONTENIDO SI EXISTE COINCIDENCIA PARA MODIFICAR LA VARIABLE=======
			if ($var_nombre != "") {
					if ($cont == "") {
						//VERIFICO SI ES UNA VARIABLE-------------------------------------
						$eval_var = strpos($has_clasf_autnomb[$n], "##");
						//EVALUO DE SER UNA VARIABLE Y NO TENER COINCIDENCIA COLOCO EL ESPACIO EN BLANCO
						if ($eval_var === false) {}else{
							$nomb = str_replace($has_clasf_autnomb[$n], "", $var_nombre);
							$var_nombre = $nomb;
						}
						//============================================================================
						//VALIDO QUE SE ESCRIBA UNA SOLA VEZ------------------------------------------
						if ($n == $cant_nomb -1) {
							//COLOCO LA EXTENCION AL NOMBRE DEL DOCUMENTO---------------------------------
							$nombre_completo = $var_nombre.".".$ext_doc;	
							//SQL PARA VERIFICAR LA EXISTENCIA DEL DOCUMENTO------------------------------
							$doc_exist = docExist($bd, $nombre_completo, $padre_Del_doc);
							//RECORRO LOS EXISTENTES Y COLOCO EL PREFIJO CORRESPONDIENTE------------------
							while($doc_exist == 1) {
								$a = explode( '.', $nombre_completo );
								$nombre_doc = $a[0];
								$ext_doc = end( $a );
								//Cuento la cantidad existente al momento
								$cant_duplicado = numeroDocsDuplicados($bd, $nombre_doc, $padre_Del_doc);
								//Le sumo uno
								$new_num = $cant_duplicado + 1;
								//Armo el nuevo nombre
								$nombre_completo = $nombre_doc."(".$new_num.").".$ext_doc;
								$doc_exist = docExist($bd, $nombre_completo, $padre_Del_doc);
							}
							//DE NO EXISTIR COINCIDENCIA PROCEDO A ACTUALIZAR EL NOMBRE===================
							//REEMPLAZO EL CARACTER ESPECIAL----------------------------------------------
							$nombre_completo = str_replace("/","-",$nombre_completo);
							$nombre_completo = str_replace(array(':','*','?','<','>'),"",$nombre_completo);
							//Verifico de poseer ## no efectuo el update del  nombre----------------------
							//Evaluo si no tiene valor asignado para forzar SIN ASIGNAR-------------------
							$bucar_str = "##";
							$sin_valor = strpos($nombre_completo, $bucar_str);
							//EVALUO SI EL DOCUMENTO ES UN DOCUMENTO PENDIENTE PARA ELIMINAR EL PUNTO---------
							$doc_pendiente = documentoPendiente($clave_bb);
							if ($doc_pendiente == 'PAUSED') {
								$a = explode( '.', $nombre_completo );
								$nombre_doc = $a[0];
								$nombre_completo = $nombre_doc;
							}
							//HAGO TODAS MAYUSCULAS-------------------------------------------------------
							$nombre_completo = strtoupper($nombre_completo);
							if ($sin_valor === false) {
								//No se encontro el ## asi que se deja el mismo nombre de directorio
								//ACTUALIZO NOMBRE------------------------------------------------------------
								$query = "UPDATE BIBLIOTECA_ELEMENTOS SET NOMBRE = '$nombre_completo' WHERE CLAVE LIKE $clave_bb";
								mysqli_query($bd, $query);
							}else{
								//Se encontro ## asi que no tiene valor asignado
								//ACTUALIZO NOMBRE------------------------------------------------------------
								$query = "UPDATE BIBLIOTECA_ELEMENTOS SET NOMBRE = 'prueba' WHERE CLAVE LIKE $clave_bb";
								mysqli_query($bd, $query);
								
							}
							
						}
					}else{
						//===============================================================================
						//DE EXISTIR EVALUO SI LA VARIABLE ES FECHA PARA HACER EL REPLACE RESPECTIVO=====
						include("eval_nueva_etq.php");
					}
			}
		}
		
}
//====================================================================================
//====================================================================================
//================================FUNCIONES===========================================
//FUNCION PARA DETERMINAR SI EL DOCUMENTO ES PENDIENTE--------------------------------
function numeroDocsDuplicados($bd, $nombre_doc, $padre_Del_doc){
  $sql =  " SELECT COUNT(E.CLAVE) AS TOTAL
			FROM BIBLIOTECA_ELEMENTOS E
			WHERE E.NOMBRE LIKE '$nombre_doc(%%' AND E.PADRE = '$padre_Del_doc'";
  $base = $bd->query($sql);
  $result = mysqli_fetch_array($base);
  $total = $result['TOTAL'];
  $base->close();
  return $total;
 }
//FUNCION PARA DETERMINAR SI EL DOCUMENTO ES PENDIENTE--------------------------------
function documentoPendiente($id_doc){
  global $bd;
  $sql =  " SELECT E.ACCION
			FROM BIBLIOTECA_ELEMENTOS E
			WHERE E.CLAVE LIKE $id_doc";
  $base = $bd->query($sql);
  $result = mysqli_fetch_array($base);
  $pendiente = $result['ACCION'];
  $base->close();
  return $pendiente;
 }
//Funcion para hacer el update del acceso automatico al documento
function updateAccesoDocumento($bd, $acceso_auto, $clave_doc)
{
	$query = "	UPDATE BIBLIOTECA_ELEMENTOS 
				SET ACCESO_AUTO = '$acceso_auto'
				WHERE CLAVE LIKE $clave_doc";
    mysqli_query($bd, $query);
}
//Funcion para determinar si el campo del esquema otorga permisos especiales----------
function permisosAutomaticos($bd, $esq, $codigo)
{
	$sql =  " 	SELECT EE.PERMISO_AUTO
				FROM ESQUEMAS_ESTRUCTURA EE
				WHERE EE.ESQUEMA = $esq AND EE.CODIGO = $codigo";
	$base = $bd->query($sql);
	$result = mysqli_fetch_array($base);
	$permiso_auto = $result['PERMISO_AUTO'];
  	return $permiso_auto;
  	$base->close();
}
//Fncion para determinar si el contacto relacionado es un usuario tambien-------------
function validaContacto($bd, $etiqueta)
{
	$sql =  " 	SELECT U.USUARIO
				FROM USUARIOS U
				WHERE U.CONTACTO = $etiqueta";
	$base = $bd->query($sql);
	$result = mysqli_fetch_array($base);
	$es_contacto = $result['USUARIO'];
  	return $es_contacto;
  	$base->close();
}
//Funcion obtener la existencia del archivo ------------------------------------------
function docExist($bd, $nombre_completo, $padre_Del_doc) {
	$sql =  " 	SELECT COUNT(E.NOMBRE) AS CUANTOS
				FROM BIBLIOTECA_ELEMENTOS E
				WHERE E.NOMBRE = '$nombre_completo' AND E.PADRE = '$padre_Del_doc' AND E.PAPELERA = 0";
	$base = $bd->query($sql);
	$result = mysqli_fetch_array($base);
	$doc_exist = $result['CUANTOS'];
  	return $doc_exist;
  	$base->close();
}
//FUNCION PARA OBTENER LA VARIABLE COMPLETA DEL CLASIFICADO AUTOMATICO----------------
function varibleClasfAut($esq){
  global $bd;
  $sql =  " SELECT E.CLAS_AUTONOMBRE
			FROM ESQUEMAS E
			WHERE E.CODIGO = $esq";
  $base = $bd->query($sql);
  $result = mysqli_fetch_array($base);
  $var_autonomb = $result['CLAS_AUTONOMBRE'];
  $base->close();
  return $var_autonomb;
 }
//FUNCION PARA OBTENER EL NOMBRE DEL DOCUMENTO-------------------------------------
function nombreDoc(){
  global $bd, $clave_bb;
  $sql =  " SELECT E.NOMBRE
			FROM BIBLIOTECA_ELEMENTOS E
			WHERE E.CLAVE LIKE $clave_bb";
  $base = $bd->query($sql);
  $result = mysqli_fetch_array($base);
  $nombDoc = $result['NOMBRE'];
  $base->close();
  return $nombDoc;
 }
//FUNCION PARA OBTENER LA EXTENCION DEL DOCUMENTO-------------------------------------
function extDoc(){
  global $bd, $clave_bb;
  $sql =  " SELECT E.EXTENSION
			FROM BIBLIOTECA_ELEMENTOS E
			WHERE E.CLAVE LIKE $clave_bb";
  $base = $bd->query($sql);
  $result = mysqli_fetch_array($base);
  $extDoc = $result['EXTENSION'];
  $base->close();
  return $extDoc;
 }
 //FUNCION PARA OBTENER LA EXTENCION DEL DOCUMENTO-------------------------------------
function padreDelDoc(){
  global $bd, $clave_bb;
  $sql =  " SELECT E.PADRE
			FROM BIBLIOTECA_ELEMENTOS E
			WHERE E.CLAVE LIKE $clave_bb";
  $base = $bd->query($sql);
  $result = mysqli_fetch_array($base);
  $padreDoc = $result['PADRE'];
  $base->close();
  return $padreDoc;
 }
//FUNCION PARA OBTENER RUTA DEL CLASIFICADO AUTOMATICO--------------------------------
function hasClasfAutoNombre($esq){
  global $bd;
  $sql =  " SELECT E.CLAS_AUTONOMBRE
			FROM ESQUEMAS E
			WHERE E.CODIGO = $esq";
  $base = $bd->query($sql);
  $result = mysqli_fetch_array($base);
  $clasf_autonomb = preg_split("/[\s,--__]+/", $result['CLAS_AUTONOMBRE']);
  $base->close();
  return $clasf_autonomb;
 }
function evalEtiqeutas($bd, $esq, $clave, $variables){
  $sql =  " SELECT DISTINCT E.CODIGO, T.DESCRIPCION, E.TIPO, E.DESCRIPCION AS CONCEPTO
            FROM ESQUEMAS_ESTRUCTURA E
            INNER JOIN BIBLIOTECA_ETIQUETAS T
            ON E.ESQUEMA = T.ESQUEMA
            AND E.CODIGO = T.GRUPOE
            WHERE E.ESQUEMA = $esq AND T.CLAVE = $clave";
  $base = $bd->query($sql);
  //Cargo el contenido de las vairiables del nombre del directorio---------------------------------------------------
  $nomb_carpeta = $variables;
  while ($row = $base->fetch_object()){
      //VALIDO QUE NO SEA DEL TIPO FECHA-----------------------------------------------------------------------------
      if ($row->TIPO == 'D') {
        $fecha_str = str_replace("/", "-", $row->DESCRIPCION);
        //================================================================================
        //AÑO DE LA FECHA-----------------------------------------------------------------
        $year = date("Y",strtotime($fecha_str));
        //================================================================================
        //AÑO DE LA FECHA DOS DIGITOS-----------------------------------------------------
        $year2 = date("y",strtotime($fecha_str));
        //================================================================================
        //NUMERO DEL TRIMESTRE DE LA FECHA CON UN DIGITO----------------------------------
        $trimestre = date("m",strtotime($fecha_str));
        //OBTERNGO EL TRIMESTRE
        if ($trimestre <= 3) {$trimestre ="1";}
        if ($trimestre <= 6 ANd $trimestre > 3) {$trimestre ="2";}
        if ($trimestre <= 9 ANd $trimestre > 6) {$trimestre ="3";}
        if ($trimestre <= 12 ANd $trimestre > 9) {$trimestre ="4";}
        //================================================================================
        //NUMERO DEL TRIMESTRE DE LA FECHA CON DOS DIGITO---------------------------------
        $trimestre2 = date("m",strtotime($fecha_str));
        //OBTERNGO EL TRIMESTRE
        if ($trimestre2 <= 3) {$nombre_carp ="01";}
        if ($trimestre2 <= 6 ANd $trimestre2 > 3) {$trimestre2 ="02";}
        if ($trimestre2 <= 9 ANd $trimestre2 > 6) {$trimestre2 ="03";}
        if ($trimestre2 <= 12 ANd $trimestre2 > 9) {$trimestre2 ="04";}
        //================================================================================
        //Numero del Mes------------------------------------------------------------------
        $mes_num = date("n",strtotime($fecha_str));
        //================================================================================
        //Numero del Mes " DIGITOS--------------------------------------------------------
        $mes_num2 = date("m",strtotime($fecha_str));
        //================================================================================
        //Nombre del Mes------------------------------------------------------------------
        $mes = date("n",strtotime($fecha_str));
        //EVALUO NOMBRE DEL MES Y ASIGNO EL NOMBRE---------------------------------------
        if ($mes == 1) {$mes ="ENERO";}
        if ($mes == 2) {$mes ="FEBRERO";}
        if ($mes == 3) {$mes ="MARZO";}
        if ($mes == 4) {$mes ="ABRIL";}
        if ($mes == 5) {$mes ="MAYO";}
        if ($mes == 6) {$mes ="JUNIO";}
        if ($mes == 7) {$mes ="JULIO";}
        if ($mes == 8) {$mes ="AGOSTO";}
        if ($mes == 9) {$mes ="SEPTIEMBRE";}
        if ($mes == 10) {$mes ="OCTUBRE";}
        if ($mes == 11) {$mes ="NOVIEMBRE";}
        if ($mes == 12) {$mes ="DICIEMBRE";}
        //================================================================================
        //DIA del Mes---------------------------------------------------------------------
        $dia = date("j",strtotime($fecha_str));
        //================================================================================
        //DIA del Mes 2 DIGITOS-----------------------------------------------------------
        $dia2 = date("d",strtotime($fecha_str));
        //================================================================================
        //Recorro el array de las etiquetas y hago los reemplazos=========================
        //AÑO-----------------------------------------------------------------------------
        $nomb = str_replace("YEAR.NUMBER(##".$row->CODIGO."##)", $year, $nomb_carpeta);
        $nomb_carpeta = $nomb; 
        //AÑO DE 2 DIGITOS----------------------------------------------------------------
        $nomb = str_replace("YEAR.NUMBER2(##".$row->CODIGO."##)", $year2, $nomb_carpeta);
        $nomb_carpeta = $nomb; 
        //TRIMESTRE-----------------------------------------------------------------------
        $nomb = str_replace("TRIMESTER.NUMBER(##".$row->CODIGO."##)", $trimestre, $nomb_carpeta);
        $nomb_carpeta = $nomb; 
        //TRIMESTRE DE " DIGITOS----------------------------------------------------------
        $nomb = str_replace("TRIMESTER.NUMBER2(##".$row->CODIGO."##)", $trimestre2, $nomb_carpeta);
        $nomb_carpeta = $nomb; 
        //NUMERO DEL MES------------------------------------------------------------------
        $nomb = str_replace("MONTH.NUMBER(##".$row->CODIGO."##)", $mes_num, $nomb_carpeta);
        $nomb_carpeta = $nomb; 
        //NUMERO DEL MES DOS DOGITOS-------------------------------------------------------
        $nomb = str_replace("MONTH.NUMBER2(##".$row->CODIGO."##)", $mes_num2, $nomb_carpeta);
        $nomb_carpeta = $nomb; 
        //NOMBRE DEL MES------------------------------------------------------------------
        $nomb = str_replace("MONTH.NAME(##".$row->CODIGO."##)", $mes, $nomb_carpeta);
        $nomb_carpeta = $nomb; 
        //DIA DEL MES---------------------------------------------------------------------
        $nomb = str_replace("DAY.NUMBER(##".$row->CODIGO."##)", $dia, $nomb_carpeta);
        $nomb_carpeta = $nomb; 
        //DIA DEL MES 2 DIGITOS------------------------------------------------------------
        $nomb = str_replace("DAY.NUMBER2(##".$row->CODIGO."##)", $dia2, $nomb_carpeta);
        $nomb_carpeta = $nomb; 
      }else{
        //Recorro el array de las etiquetas y hago los reemplazos----------------------------------------------------
        $nomb = str_replace("##".$row->CODIGO."##", $row->DESCRIPCION, $nomb_carpeta);
        $nomb_carpeta = $nomb;  
      }
    }
    for ($z=1; $z<=50; $z++) {
    	$nomb = str_replace("##".$z."##", "", $nomb_carpeta);
        $nomb_carpeta = $nomb; 

    }
    return $nomb_carpeta;
}
//FUNCION PARA OBTENER RUTA DEL CLASIFICADO AUTOMATICO--------------------------------
function hasClasfAutomatico($bd, $esq){
  $sql =  " SELECT E.CLAS_AUTOCARPETA
      FROM ESQUEMAS E
      WHERE E.CODIGO = $esq";
  $base = $bd->query($sql);
  $result = mysqli_fetch_array($base);
  $clasf = $result['CLAS_AUTOCARPETA'];
  $base->close();
  return $clasf;
 }
//------------FUNCION SQL PARA CREAR DIRECTORIO FALTANTES-----------------------------
function dirCrear($id_clave, $id_nombre, $id_padre, $id_creador, $id_ord, $id_acceso, $new_ubic_doc){

	global $bd;

	mysqli_query($bd, "INSERT INTO BIBLIOTECA_ELEMENTOS ("
						. "CLAVE,NOMBRE,EXTENSION,PADRE,TIPO,FECHA,AMBITO,ACCESO,UBICACION,"
						. "CREADOR,ENTRADA,ORIGEN,ORDENADOR,MODIFICACION,PARTES,VERMIN,SUFIJO"
						. ") VALUES ("
						. "'".$id_clave."',"
						. "'".$id_nombre."',"
						. "'',"
						. "'".$id_padre."',"
						. "'C',"
						. "NOW(),"
						. "'PUB',"
						. "'".$id_acceso."',"
						. "'".$new_ubic_doc."',"
						. "'".$id_creador."',"
						. "'',"
						. "'',"
						. "'".$id_ord."',"
						. "NOW(),"
						. "1,"
						. "'1.0',"
						. "'')");
}
//------------FUNCION SQL PARA VERIFICAR LA EXISTENCIA DE CADA DIRECTORIO-------------
function dirExiste($row, $father){

	global $bd;

	$sql = "SELECT e.CLAVE, e.PADRE, e.ACCESO, e.NOMBRE
			FROM BIBLIOTECA_ELEMENTOS e
			WHERE e.NOMBRE = '$row' AND e.PADRE = '$father' AND e.TIPO = 'C'";

	$base = $bd->query($sql);
	$result = mysqli_fetch_array($base);
	$base->close();

return $result;
}
//Funcion para obtener la clave unica del registro------------------------------------
function get_id_unico() {
	return date( "YmdHis" ) . sprintf( "%04d", rand( 0, 9999 ) );
}
//FUNCION PARA OBTENER LOS DATOS DEL CAMPO DEL ESQUEMA--------------------------------
function listaDoc($esq, $codigo){
  global $bd;
  $sql =  " SELECT E.LISTA
			FROM ESQUEMAS_ESTRUCTURA E
			WHERE E.ESQUEMA = $esq AND E.CODIGO = $codigo";
  $base = $bd->query($sql);
  $result = mysqli_fetch_array($base);
  $listaDoc = $result['LISTA'];
  $base->close();
  return $listaDoc;
 }
 //FUNCION PARA OBTENER EL ORDEN DE LOS CAMPOS----------------------------------------
function ordenCampos($esq, $codigo){
  global $bd;
  $sql =  " SELECT E.ORDEN
			FROM ESQUEMAS_ESTRUCTURA E
			WHERE E.ESQUEMA = $esq AND E.CODIGO = $codigo";
  $base = $bd->query($sql);
  $result = mysqli_fetch_array($base);
  $listaDoc = $result['ORDEN']-1;
  $base->close();
  return $listaDoc;
 }
 //FUNCION PARA OBTENER la cantidad de etiquetas--------------------------------------
function cantEtq($doc){
  global $bd;
  $sql =  " SELECT COUNT(E.CLAVE) AS ETQ
			FROM BIBLIOTECA_ETIQUETAS E
			WHERE E.CLAVE = '$doc' AND E.ESQUEMA <> -1";
  $base = $bd->query($sql);
  $result = mysqli_fetch_array($base);
  $listaDoc = $result['ETQ'];
  $base->close();
  return $listaDoc;
 }
//FUNCION PARA TRAER EL CODIGO DEL CONTACTO CUANDO ESTE SE RAELACIONA A UN DOCUMENTO
function buscarCodigo($bd, $id)
{
	$sql =  " 	SELECT C.CODIGO
				FROM CONTACTOS C
				WHERE C.MOSTRAR = '$id'";
  	$base = $bd->query($sql);
  	$result = mysqli_fetch_array($base);
  	$cod_contact = $result['CODIGO'];
  	$base->close();
  	return $cod_contact;
}
//FUNCION PARA OBTENER EL CAMPO UBICACION DEL PADRE DEL DOCUMENTO-----------------------------------
function ubicacionPadreDoc($bd, $id)
{
	$sql =  " 	SELECT E.UBICACION
				FROM BIBLIOTECA_ELEMENTOS E
				WHERE E.CLAVE = '$id'";
  	$base = $bd->query($sql);
  	$result = mysqli_fetch_array($base);
  	$ubic = $result['UBICACION'];
  	$base->close();
  	return $ubic;
}
unset($bd, $query)

?>