<?php
//===================================================================================================================
//============================================LIBRERIAS Y VARIABLES==================================================
//===================================================================================================================
session_start();
//conexion-----------------------------------------------------------------------------------------------------------
require_once '../../conexion/conexion.php';
$bd = new connexion();
$bd->query("SET NAMES 'utf8'");
//VARIABLES----------------------------------------------------------------------------------------------------------
$id_doc = "20".$_POST['doc'];
$id = $_POST['doc'];
$user = $_SESSION["user"];
$grupo = $_SESSION['grupo'];
//===================================================================================================================
//============================================ACCIONES===============================================================
//===================================================================================================================
//CONSULTO EL ACESO DEL USURIO SOBRE EL DOCS-------------------------------------------------------------------------
$accesos_user = accesoUsuarioDoc($bd, $id_doc); 
//CARGO EL ACCESO DEL DOCUMETO---------------------------------------------------------------------------------------
$acceso = $accesos_user['ACCESO'].$accesos_user['ACCESO_AUTO'];
//VALIDO EL TIPO DE USUARIO------------------------------------------------------------------------------------------
$tipo_user = $_SESSION['tipo_user'];
      
if ($tipo_user == 0) {
  //Es un usuario interno
  $cadena_tipo = "*INT";
}elseif ($tipo_user == 1) {
  //Es un usuario externo
  $cadena_tipo = "*EXT";
}
//VALIDO LOS PERMISOS SOBRE EL ETIQUETADO----------------------------------------------------------------------------
$btn_etq_enabled = permisosEtiquetas($acceso, $grupo, $user, $id_doc, $tipo_user, $cadena_tipo);

//Cargo La Etiqueta--------------------------------------------------------------------------------------------------
$labels = etiquetaEsquemaDoc($bd, $id_doc);
echo "<br>";
while ($row = $labels->fetch_object()){
    //Coloco el titulo del esquema
    echo "<i class='fa fa-tag'></i> <strong>".strtoupper($row->DESCRIPCION)." :</strong><br>";
    $campos = cargarCamposEsquemas($bd, $id_doc, $row->CODIGO);
    while ($row2 = $campos->fetch_object()){
              //BUsco el valor correspondiente a cada campo del esquema----------------------------------------------
              $datos_campos = cargarDatosCampo($bd, $id_doc, $row->CODIGO, $row2->ID_COD);
              //EVALUO SI EXISTE EL CAMPO----------------------------------------------------------------------------
              if ($datos_campos['ID_ET'] != '') {
                  //CReo la mascara de 16 digitos de LA ETIQUETA---------------------------------------------------------
                  $id_etq = substr($datos_campos['ID_ET'], -16);
                  echo "<small>
                            <u>".strtoupper($row2->NOMBRE)."</u> : 
                            <em id='etq_bx_".$id_etq."'> ".$datos_campos['CONTENIDO']."</em>&nbsp;&nbsp;&nbsp;
                        </small>";
                  //EVALUO SI ES EDITABLE----------------------------------------------------------------------------
                  if ($row2->EDIT == 1 AND $btn_etq_enabled != 'disabled') {
                  echo" <a id='etq_btn_edit_".$id_etq."' type='button' class='btn btn-default btn-xs' href='javascript:editaEtiqueta($id_etq);'>
                          <i class='fa fa-pencil-square-o' aria-hidden='true'></i>
                        </a>
                        <a id='etq_btn_chk_".$id_etq."' type='button' class='btn btn-default btn-xs' href='javascript:updateEtiqueta($id_etq);' style='display:none'>
                          <i class='fa fa-check' aria-hidden='true'></i>
                        </a>
                        <a id='etq_btn_bck_".$id_etq."' type='button' class='btn btn-default btn-xs' href='javascript:cancelaEditaEtiqueta($id_etq);' style='display:none'>
                          <i class='fa fa-times' aria-hidden='true'></i>
                        </a>";
                  }
              }
              //EVALUO SI NO EXITE EL CAMPO--------------------------------------------------------------------------
              if ($datos_campos['ID_ET'] == '') {
                //CReo la mascara de 16 digitos de LA ETIQUETA---------------------------------------------------------
                $id_padre = substr($row->PADRE, -16);
                //Creo un id para cada campo del esquema---------------------------------------------------------------
                $id_camp_esq = substr($id_padre, -14).$row2->ID_COD;
                echo "<small>
                          <u>".strtoupper($row2->NOMBRE)."</u> : 
                          <em id='etq_bx_".$id_camp_esq."'> ".$datos_campos['CONTENIDO']."</em>&nbsp;&nbsp;&nbsp;
                      </small>";
                //EVALUO SI ES EDITABLE------------------------------------------------------------------------------
                if ($row2->EDIT == 1 AND $btn_etq_enabled != 'disabled' ) {
                echo" <input id='txt_id_esq_".$id_camp_esq."'  class='form-control' type='text' value='".$row2->ESQUEMA."' style='display:none'>
                      <input id='txt_id_camp_".$id_camp_esq."'  class='form-control' type='text' value='".$row2->ID_COD."' style='display:none'>
                      <input id='txt_id_padre_".$id_camp_esq."' class='form-control' type='text' value='".$id_padre."' style='display:none'>
                      <input id='txt_id_doc_".$id_camp_esq."'  class='form-control' type='text' value='".$id."' style='display:none'>
                      <a id='etq_btn_edit_".$id_camp_esq."' type='button' class='btn btn-default btn-xs' href='javascript:editaEtiquetaNew($id_camp_esq);'>
                        <i class='fa fa-pencil-square-o' aria-hidden='true'></i>
                      </a>
                      <a id='etq_btn_chk_".$id_camp_esq."' type='button' class='btn btn-default btn-xs' href='javascript:crearEtiqueta($id_camp_esq);' style='display:none'>
                        <i class='fa fa-check' aria-hidden='true'></i>
                      </a>
                      <a id='etq_btn_bck_".$id_camp_esq."' type='button' class='btn btn-default btn-xs' href='javascript:cancelaEditaEtiqueta($id_camp_esq);' style='display:none'>
                        <i class='fa fa-times' aria-hidden='true'></i>
                      </a>";
                }
              }
              
        echo" <br>";
    }
    echo "<br>";
}

//===================================================================================================================
//============================================HTML===================================================================
//===================================================================================================================
//===================================================================================================================
//============================================FUNCIONES==============================================================
//===================================================================================================================
// FUNCION PARA OBTENER LOS CAMPOS DISPONIBLES EN EL ESQUEMA---------------------------------------------------------
function cargarDatosCampo($bd, $id_doc, $codigo_esq, $codigo_campo) 
{
  $sql =  " SELECT DISTINCT BE.DESCRIPCION AS CONTENIDO, BE.CODIGO AS ID_ET
            FROM BIBLIOTECA_ETIQUETAS BE
            INNER JOIN ESQUEMAS_ESTRUCTURA EE 
            ON EE.CODIGO = BE.GRUPOE 
            WHERE BE.CLAVE = '$id_doc' AND BE.ESQUEMA = $codigo_esq AND EE.CODIGO = $codigo_campo LIMIT 1";
$base = $bd->query($sql);
$result = mysqli_fetch_array($base);
return $result;

}
// FUNCION PARA OBTENER LOS CAMPOS DISPONIBLES EN EL ESQUEMA---------------------------------------------------------
function cargarCamposEsquemas($bd, $id_doc, $codigo) 
{
  $sql =  " SELECT DISTINCT EE.DESCRIPCION AS NOMBRE, EE.CODIGO AS ID_COD, EE.EDITABLE AS EDIT, EE.ESQUEMA AS ESQUEMA
            FROM BIBLIOTECA_ETIQUETAS BE
            INNER JOIN ESQUEMAS_ESTRUCTURA EE 
            ON EE.CODIGO = BE.GRUPOE 
            WHERE EE.ESQUEMA = $codigo AND EE.ESQUEMA = BE.ESQUEMA AND EE.DESCRIPCION <> 'CODIGO' ORDER BY EE.ORDEN ASC";
$base = $bd->query($sql);
return $base;

}
 // FUNCION PARA MOSTRAR ETIQ CON LOS ESQUEMAS DEL DOCUMENTO----------------------------------------------------------
function etiquetaEsquemaDoc($bd, $id_doc) 
{
  $sql =  " SELECT DISTINCT E.DESCRIPCION, E.CODIGO, BE.CODIGO AS PADRE
            FROM BIBLIOTECA_ETIQUETAS BE 
            INNER JOIN ESQUEMAS E
            ON BE.ESQUEMA = E.CODIGO
            WHERE BE.CLAVE = '$id_doc' AND BE.PADRE = ''";
  $labels = $bd->query($sql);
  return $labels;
  $base->close();
  
}
 // FUNCION PARA CONSULTAR EL ACCESO DEL USUAUARIO SOBRE EL DOCUMENTO--------------------------------------------------
function accesoUsuarioDoc($bd, $id_doc) 
{
  $sql =  " SELECT E.ACCESO, E.ACCESO_AUTO
            FROM BIBLIOTECA_ELEMENTOS E
            WHERE E.CLAVE = '$id_doc' LIMIT 1";
  $base = $bd->query($sql);
  $result = mysqli_fetch_array($base);
  return $result;
   
} 
//FUNCION PARA EL PERMISOS DEL BOTON DE ETIQUETAS-----------------------------------------------------------------
function permisosEtiquetas($acceso, $grupo, $user, $id_doc, $tipo_user, $cadena_tipo)
{
    //Por defecto niego el permiso=====================================================
    $btn_etq_enabled = "disabled";
    //VALIDO LOS PERMISOS POR GERARQUIA USUARIO->GRUPO->TIPO===========================
    //LO HAGO A LA INVERSA INICIO POR EL TIPO------------------------------------------
    //================VALIDO PERMISOS=====================
    //BUSCO POR TIPO======================================
    //$1 TOTAL
      $findme_grupo   = '#'.$cadena_tipo.'$1';
      $pos = strpos($acceso, $findme_grupo);
      if ($pos !== false) {
          $btn_etq_enabled = "href='javascript:etiquetasDcos($id_doc);'";
      }
      //$2 LECTURA
      $findme_grupo   = '#'.$cadena_tipo.'$2';
      $pos = strpos($acceso, $findme_grupo);
      if ($pos !== false) {
          $btn_etq_enabled = "disabled";
      }
      //$3 ESCRITURA
      $findme_grupo   = '#'.$cadena_tipo.'$3';
      $pos = strpos($acceso, $findme_grupo);
      if ($pos !== false) {
          $btn_etq_enabled = "href='javascript:etiquetasDcos($id_doc);'";
      }
      //$4 VISUALIZAR
      $findme_grupo   = '#'.$cadena_tipo.'$4';
      $pos = strpos($acceso, $findme_grupo);
      if ($pos !== false) {
          $btn_etq_enabled = "disabled";
      }
      //$5 ETIQUETADO
      $findme_grupo   = '#'.$cadena_tipo.'$5';
      $pos = strpos($acceso, $findme_grupo);
      if ($pos !== false) {
          $btn_etq_enabled = "href='javascript:etiquetasDcos($id_doc);'";
      }
      //================VALIDO PERMISOS=====================
      //BUSCO POR GRUPO=====================================
      //$1 TOTAL
      $findme_grupo   = '#'.$grupo.'$1';
      $pos = strpos($acceso, $findme_grupo);
      if ($pos !== false) {
          $btn_etq_enabled = "href='javascript:etiquetasDcos($id_doc);'";
      }
      //$2 LECTURA
      $findme_grupo   = '#'.$grupo.'$2';
      $pos = strpos($acceso, $findme_grupo);
      if ($pos !== false) {
          $btn_etq_enabled = "disabled";
      }
      //$3 ESCRITURA
      $findme_grupo   = '#'.$grupo.'$3';
      $pos = strpos($acceso, $findme_grupo);
      if ($pos !== false) {
          $btn_etq_enabled = "href='javascript:etiquetasDcos($id_doc);'";
      }
      //$4 VISUALIZAR
      $findme_grupo   = '#'.$grupo.'$4';
      $pos = strpos($acceso, $findme_grupo);
      if ($pos !== false) {
          $btn_etq_enabled = "disabled";
      }
      //$5 ETIQUETADO
      $findme_grupo   = '#'.$grupo.'$5';
      $pos = strpos($acceso, $findme_grupo);
      if ($pos !== false) {
          $btn_etq_enabled = "href='javascript:etiquetasDcos($id_doc);'";
      }
      //BUSCO POR USUARIO===================================
      //$1 TOTAL
      $findme_user   = '#'.$user.'$1';
      $pos = strpos($acceso, $findme_user);
      if ($pos !== false) {
          $btn_etq_enabled = "href='javascript:etiquetasDcos($id_doc);'";
      }
      //$2 LECTURA
      $findme_user   = '#'.$user.'$2';
      $pos = strpos($acceso, $findme_user);
      if ($pos !== false) {
          $btn_etq_enabled = "disabled";
      }
      //$3 ESCRITURA
      $findme_user   = '#'.$user.'$3';
      $pos = strpos($acceso, $findme_user);
      if ($pos !== false) {
          $btn_etq_enabled = "href='javascript:etiquetasDcos($id_doc);'";
      }
      //$4 VISUALIZAR
      $findme_user   = '#'.$user.'$4';
      $pos = strpos($acceso, $findme_user);
      if ($pos !== false) {
          $btn_etq_enabled = "disabled";
      }
      //$5 ETIQUETADO
      $findme_user   = '#'.$user.'$5';
      $pos = strpos($acceso, $findme_user);
      if ($pos !== false) {
          $btn_etq_enabled = "href='javascript:etiquetasDcos($id_doc);'";
      }
      //Si es un usuario interno y el acceso esta en blanco lo permito
      if ($tipo_user == 0) {
          if ($acceso == "") {
          //LO PERMITO
          $btn_etq_enabled = "href='javascript:etiquetasDcos($id_doc);'";
          }
      }
  return $btn_etq_enabled;
}
?>