<?php 
//==========================================================================================
//-----------------------------HAGO EL CAMBIO DEL NOMBRE DEL DOCUMENTO----------------------
//==========================================================================================
session_start();
//-----------VARIABLES-------------------------------------------------------------------
$doc = "20".$_POST['id'];
$name = $_POST['name'];
//-----------CONEXION-------------------------------------------------------------------
require_once '../conexion/conexion.php';
$bd = new connexion();
$bd->query("SET NAMES 'utf8'");
//==========================================================================================
//======================================ACCIONES============================================
//==========================================================================================
//CARGO LOS DATOS DEL DOC INICIAL 
$datos_doc = datosdelDoc($bd, $doc);
//CARGO LAS VARIABLES
//LIMPIO EL NOMBRE DE CARACTERES ESPECIALES-------------------------------------------------
$nombre = limpiar($name);
$ext = $datos_doc['EXTENSION'];
$padre = $datos_doc['PADRE'];
//ARMO EL NUEVO NOMBRE----------------------------------------------------------------------
//Evaluo si no trae extencion para ver si es una carpeta
if ($ext == '') {
  $new_name = $nombre;  
}elseif ($ext != '') {
  $new_name = $nombre.".".$ext;
}
//==========================================================================================
//VALIDAR EL NOMBRE DEL DOCUMENTO-----------------------------------------------------------
//------------------------------------------------------------------------------------------
$exist_doc = docExist($bd, $new_name, $padre);
while ( $exist_doc == 1) {
    $a = explode( '.', $new_name );
    $nombre_doc = $a[0];
    $ext_doc = end( $a );
    $new_name = $nombre_doc."(1).".$ext_doc;
    $exist_doc = docExist($bd, $new_name, $padre);
}
//REALIZO EL UPDATE CON EL NUEVO NOMBRE-----------------------------------------------------
updateNombre($bd, $new_name, $doc);
//DEVUELVO E NUEVO NOMBRE-------------------------------------------------------------------
echo $new_name;
//==============Registro del historial de traza======================================
//variables para registrar la traza--------------------------------------------------
//$doc
$user = $_SESSION["user"];
//DATOS DEL DOCUMENTO
$result_traza = datosDocumento($bd, $doc);
//NOMBRE DEL DOCUMENTO
$nombre_traza = $result_traza['NOMBRE'];
$clv_padre_traza = $result_traza['PADRE'];
$padre_traza = nombrePadre($bd, $clv_padre_traza);
$ambito_traza = $result_traza['AMBITO'];
$ordenador_traza = $_SESSION['host'];
$acceso_traza = $result_traza['ACCESO'].$result_traza['ACCESO_AUTO'];
$tamano_traza = $result_traza['TAMANO'];
$accion_traza = 17; //cambio de nombre
$tipo_traza = "D"; //Tipo documento
$awa_traza = 1;
//CREO REGISTRO EN EL HISTORIAL------------------------------------------------------
registroHistorial($bd, $doc, $user, $ordenador_traza, $nombre_traza, $padre_traza, $ambito_traza, $acceso_traza, $tamano_traza, $awa_traza, $accion_traza, $tipo_traza);
//==========================================================================================
//======================================FUNCIONES===========================================
//==========================================================================================
//Funcion obtener la extension del archivo -------------------------------------------------
function docExist($bd, $nombre, $padre) {
    
    $sql =  "   SELECT COUNT(NOMBRE) AS CUANTOS
                FROM BIBLIOTECA_ELEMENTOS
                WHERE NOMBRE = '$nombre' AND PADRE = '$padre'";
    $base = $bd->query($sql);
    $row = mysqli_fetch_array($base);
    $doc_exist = $row['CUANTOS'];
    return $doc_exist;
    $base->close();
}
//UPDATE DEL NOMBRE-----------------------------------------------------------------------
function updateNombre($bd, $new_name, $doc)
{
    $query = "UPDATE BIBLIOTECA_ELEMENTOS SET NOMBRE = '$new_name' WHERE CLAVE = '$doc'";
    mysqli_query($bd, $query);
}
//LIMIAR EL NOMBRE-------------------------------------------------------------------------- 
function datosdelDoc($bd, $doc)
{
	$sql =" SELECT BE.NOMBRE, BE.EXTENSION, BE.PADRE
          	FROM BIBLIOTECA_ELEMENTOS BE
          	WHERE BE.CLAVE = '$doc'";
	$base = $bd->query($sql);
	$result = mysqli_fetch_array($base);
	$base->close();
	return $result;
}
//LIMPIO EL NOMBRE DEL DOCUMENTO DE CARACTERES ESPECIALES--------------------------------------------------
function limpiar($String){
    $String = str_replace(array('[','^','´','`','¨','~',']','/',':','*','?','<','>'),"",$String);
    $String = str_replace("ç","c",$String);
    $String = str_replace("Ç","C",$String);
    $String = str_replace("ñ","n",$String);
    $String = str_replace("Ñ","N",$String);
    $String = str_replace("Ý","Y",$String);
    $String = str_replace("ý","y",$String);
     
    $String = str_replace("&aacute;","a",$String);
    $String = str_replace("&Aacute;","A",$String);
    $String = str_replace("&eacute;","e",$String);
    $String = str_replace("&Eacute;","E",$String);
    $String = str_replace("&iacute;","i",$String);
    $String = str_replace("&Iacute;","I",$String);
    $String = str_replace("&oacute;","o",$String);
    $String = str_replace("&Oacute;","O",$String);
    $String = str_replace("&uacute;","u",$String);
    $String = str_replace("&Uacute;","U",$String);

    $String = strtoupper($String);
    return $String;
}
//===============================================================================================================================
 //=========================================BLOQUE TRAZA HISTORIAL================================================================
 //FUNCION PARA Hacer el Registro en el Historial------------------------------------------------
 function registroHistorial($bd, $doc, $user, $ordenador, $nombre, $padre, $ambito, $acceso, $tamano, $awa, $accion, $tipo)
 {
  $query =" INSERT INTO BIBLIOTECA_HISTORIAL ( CLAVE, USUARIO, FECHA, ACCION, DOCUMENTO, CARPETA, ORDENADOR, AMBITO, ACCESO, TIPO, TAMANO, CREADOR, AWA)
            VALUES ( '$doc', '$user', NOW(), $accion, '$nombre', '$padre', '$ordenador', '$ambito', '$acceso', '$tipo', $tamano, '$user', $awa)";
  mysqli_query($bd, $query);
 }  
 //FUNCION PARA OBTENER EL NOMBRE DEL PADRE DEL DOCUMENTO-------------------------------------
function nombrePadre($bd, $id_padre){
  //EVALUO SI EL PADRE NO PERTECENE A ALGUN DIRECTORIO RAIZ PUBLICO O PRIVADO
  if ($id_padre == "##PUBLICO##" OR $id_padre == "##PRIVADO##" OR $id_padre == "##USUARIOS##") {
      if ($id_padre == "##PUBLICO##") {
          $padre = "##PUBLICO##";
      }
      if ($id_padre == "##PRIVADO##") {
          $padre = "##PRIVADO##";
      } 
      if ($id_padre == "##USUARIOS##") {
          $padre = "##USUARIOS##";
      }  
}else{
      $sql = "  SELECT e.NOMBRE
      FROM BIBLIOTECA_ELEMENTOS e
      WHERE e.CLAVE = '$id_padre'
      AND e.TIPO = 'C' LIMIT 1";
      $base = $bd->query($sql);
      $nomb_padre = mysqli_fetch_assoc($base);
      $padre = $nomb_padre['NOMBRE'];
}
  //REgreso el valor del padre
  return $padre;
} 
//OBTENGO LOS DATOS DEL DOCUMENTO--------------------------------------------------------------------------------------
function datosDocumento($bd, $doc)
{
  $sql =  " SELECT BE.NOMBRE, BE.EXTENSION, BE.CLAVE, BE.NUMNOT, BE.AMBITO, BE.ACCESO, BE.ACCESO_AUTO, BE.TAMANO, BE.PADRE
            FROM BIBLIOTECA_ELEMENTOS BE
            WHERE BE.CLAVE = '$doc'";
  $base = $bd->query($sql);
  $result = mysqli_fetch_array($base);
  $base->close();
  return $result;
}
//============================================================================================================================
//============================================================================================================================ 
?>