<?php
//===================================================================================================================
//============================================LIBRERIAS Y VARIABLES==================================================
//===================================================================================================================
session_start();
//LIBRERIA DEL IDIOMA------------------------------------------------------------------------------------------------
include("../../idiomas/idioma_".$_SESSION['lenguaje'].".php");
//CONEXION-----------------------------------------------------------------------------------------------------------
require_once '../../conexion/conexion.php';
$bd = new connexion();
$bd->query("SET NAMES 'utf8'");
//VARIABLES----------------------------------------------------------------------------------------------------------
$user = "";
$user = $_SESSION["user"];
$grupo = "";
$grupo = $_SESSION["grupo"];
//contacto
$contacto = $_SESSION["contacto"];
//ordenador
$ordenador = $_SESSION['host'];
//Id del directorio padre
//$id_dir = $_POST['id'];

//Nombre asignado al directorio
$nomb_doc = $_POST['nomb_doc'];
$nomb_doc = trim($nomb_doc);
$nomb_doc = strtoupper($nomb_doc);
//Creo la clave
$clave = get_id_unico();
//VALIDO DESDE DONDE SE CREA PARA VALIDAR SU DESTINO-----------------------------------------------------------------
$destino = $_POST['dest'];
//EL DESTINO = 0 ME INDICA QUE NO SE HA CREAD ODESDE EL EXPLORADOR Y LO ENVIO AL INBOX DEL USUARIO===================
if ($destino == 0 OR $destino == 100000003) {
  //Padre
  $padre = "US".$contacto.".INBOX";
  //Busco los datos del padre---------------------------------------------
  $datos_padre = datosDirPadre($bd, $padre);
  //Variables del Padre---------------------------------------------------
  //AMBITO
  $ambito = $datos_padre['AMBITO'];
  //ACCESO DEL PAGRE
  $acceso_padre = $datos_padre['ACCESO'];
  //ACCESO AUTO DEL PADRE
  $acceso_auto_padre = $datos_padre['ACCESO_AUTO'];
  //UBICACION
  $ubic_padre = $datos_padre['UBICACION'].$padre."/";
}else{
  //cuento la string si tiene 9 digitos es un hijo de contacto-------------------------------------------------------
  $clasif_cont = strlen($destino);
  //Ubicacion (Directorios Generales)================================================================================
  if ($clasif_cont == 16) {
    //Padre
    $padre = "20".$destino;
    //Busco los datos del padre---------------------------------------------
    $datos_padre = datosDirPadre($bd, $padre);
    //Variables del Padre---------------------------------------------------
    //AMBITO
    $ambito = $datos_padre['AMBITO'];
    //ACCESO DEL PAGRE
    $acceso_padre = $datos_padre['ACCESO'];
    //ACCESO AUTO DEL PADRE
    $acceso_auto_padre = $datos_padre['ACCESO_AUTO'];
    //UBICACION
    $ubic_padre = $datos_padre['UBICACION'].$padre."/";
  }
  //Ubicacion (Documentos Compartidos)==============================================================================
  if ($destino == 100000001) {
    //Padre
    $padre = "##PUBLICO##";
    //AMBITO
    $ambito = "PUB";
    //ACCESO DEL PAGRE
    $acceso_padre = "";
    //ACCESO AUTO DEL PADRE
    $acceso_auto_padre = "";
    //UBICACION
    $ubic_padre = "##PUBLICO##/";
  }
  //Ubicacion (Documentos Privados)=================================================================================
  if ($destino == 100000002) {
    //Padre
      $padre = "##PRIVADO##";
      //AMBITO
      $ambito = "PRV";
      //ACCESO DEL PAGRE
      $acceso_padre = "";
      //ACCESO AUTO DEL PADRE
      $acceso_auto_padre = "";
      //UBICACION
      $ubic_padre = "##PRIVADO##/";
  }
  //Ubicacion (DIRECTORIO DE USUARIO)===============================================================================
  if ($clasif_cont == 7) {
    //Padre
    $padre = "US".$contacto;
    //Busco los datos del padre---------------------------------------------
    $datos_padre = datosDirPadre($bd, $padre);
    //Variables del Padre---------------------------------------------------
    //AMBITO
    $ambito = $datos_padre['AMBITO'];
    //ACCESO DEL PAGRE
    $acceso_padre = $datos_padre['ACCESO'];
    //ACCESO AUTO DEL PADRE
    $acceso_auto_padre = $datos_padre['ACCESO_AUTO'];
    //UBICACION
    $ubic_padre = $datos_padre['UBICACION'].$padre."/";
  }
  //Ubicacion (DIRECTORIO INBOX DE USUARIO)========================================================================
  if ($clasif_cont == 10) {
      //Padre
      $padre = "US".$contacto.".INBOX";
      //Busco los datos del padre---------------------------------------------
      $datos_padre = datosDirPadre($bd, $padre);
      //Variables del Padre---------------------------------------------------
      //AMBITO
      $ambito = $datos_padre['AMBITO'];
      //ACCESO DEL PAGRE
      $acceso_padre = $datos_padre['ACCESO'];
      //ACCESO AUTO DEL PADRE
      $acceso_auto_padre = $datos_padre['ACCESO_AUTO'];
      //UBICACION
      $ubic_padre = $datos_padre['UBICACION'].$padre."/";
  }
}

//===================================================================================================================
//============================================ACCIONES===============================================================
//===================================================================================================================
//===================================================================================================================
//====================================================================================================================
//VALIDO SI ESXISTE UN DIRECTORIO CON EL MISMO NOMBRE-----------------
$exist_doc = dirExist($bd, $nomb_doc, $padre);
//De existir añado un sufijo al nombre--------------------------------
while ( $exist_doc == 1) {
  $nomb_doc = $nomb_doc."(1)";
  $exist_doc = dirExist($bd, $nomb_doc, $padre);
}
//CAPTURO LA CLAVE DEL DOCUMENTO GENERADO
echo $clave;
//===================================================================================================================
//hago el registro en la biblioteca de elementos---------------------------------------------------------------------
docBibliotecaElementos($bd, $clave, $nomb_doc, $padre, $ambito, $user, $acceso_padre, $ubic_padre, $acceso_auto_padre);

//Hago el registro en ele historico----------------------------------------------------------------------------------
//historialLog($bd, $clave, $user, $nomb_dir, $ordenador, $ambito, $acceso_padre);
//dEVUELVO 1 PARA INDICAR QUE TODO SALIO OK
//===================================================================================================================
//============================================HTML===================================================================
//===================================================================================================================
//===================================================================================================================
//============================================FUNCIONES==============================================================
//===================================================================================================================
//Funcion PARA CREAR EL DOCUMENTO EN LA BIBLIOTECA DE ELEMENTOS------------------------------------------------------
function docBibliotecaElementos($bd, $clave, $nomb_dir, $padre, $ambito, $user, $acceso_padre, $ubic_padre, $acceso_auto_padre) {
  $query =" INSERT INTO BIBLIOTECA_ELEMENTOS ( CLAVE, NOMBRE, EXTENSION, PADRE, TIPO, FECHA, TAMANO, AMBITO, CREADOR, MODIFICACION,  PAP_USUARIO, BLOQUEO, ACCESO, UBICACION, ERROR, SUFIJO, ACCESO_AUTO, ACCION)
            VALUES ( '$clave', '$nomb_dir', '', '$padre', 'D', now(), 0, '$ambito', '$user', now(), '', '', '$acceso_padre', '$ubic_padre', '', '', '$acceso_auto_padre', 'PAUSED')";
  mysqli_query($bd, $query);
}
//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 directorio padre-----------------------------------------------------
function datosDirPadre($bd, $padre)
{
  $sql =  " SELECT E.AMBITO, E.ACCESO, E.UBICACION, E.ACCESO_AUTO
            FROM BIBLIOTECA_ELEMENTOS E
            WHERE E.CLAVE = '$padre'";
        $result = $bd->query($sql);
  $datos_padre = mysqli_fetch_array($result);
  return $datos_padre;
}

//Funcion obtener la extension del archivo ---------------------------------------------------------------
function dirExist($bd, $nombre, $padre) {
  $sql =  "   SELECT COUNT(NOMBRE) AS CUANTOS
              FROM BIBLIOTECA_ELEMENTOS
              WHERE NOMBRE = '$nombre' AND PADRE = '$padre' AND PAPELERA = 0";
    $base = $bd->query($sql);
    $row = mysqli_fetch_array($base);
    $doc_exist = $row['CUANTOS'];
    return $doc_exist;
    $base->close();
}
//Funcion PARA CREAR EL REGISTRO EN EL LOG DEL HISTORIAL-------------------------------------------------------------------------
function historialLog($bd, $clave, $user, $nombre, $ordenador, $ambito, $acceso_doc) {
  $query = "INSERT INTO BIBLIOTECA_HISTORIAL 
            (CLAVE, USUARIO, FECHA, ACCION, DOCUMENTO, CARPETA, ORDENADOR, AMBITO, ACCESO, TIPO, TAMANO, CREADOR, CONTROL, AWA) 
            VALUES 
            ('$clave', '$user', now(), '1', '$nombre', '', '$ordenador', '$ambito', '$acceso_doc', 'C', 0, '$user', 0, 1)";
  mysqli_query($bd, $query);
}
?>