<?php
session_start();
// lib -----------------------------------------------------------------------------
require_once '../lib/config.php';
//conexion--------------------------------------------------------------------------
require_once '../conexion/conexion.php';
$bd = new connexion();
$bd->query("SET NAMES 'utf8'");
// ==================================================================================
// =====================CODIGO VISTA PREVIA==========================================
// ==================================================================================
//varibles===========================================================================
$doc = $_GET['doc'];
//Obtencion Datos del Doc------------------------------------------------------------
$datos = datosDoc($doc);
//REGRESO EL NOMBRE DEL DOCUMENTO-------------------------------------------------------------
$nombre = $datos['NOMBRE'];
//Obtengo el Sufijo del Fichero------------------------------------------------------
$tabla_sufijo = 'FICHEROS_'.$datos['SUFIJO'];
//FICHERO Y DOCUEMNTO A CREAR--------------------------------------------------------
$ruta_doc = '../recursos/preview/temp/'.$datos['NOMBRE'];
// ==================================================================================
//==========================ACCIONES=================================================
// ==================================================================================
//Elimino el documento si existe-----------------------------------------------------
unlink('../recursos/preview/temp/'.$datos['NOMBRE']);
//Obtencion de la Primera parte del Fichero------------------------------------------
$archivo = parte1Doc($doc, $tabla_sufijo);
//CREO EL DOCUMEMTO EN EL DIRECTORIO TEMPORAL-----------------------------------------------
$create_doc = fopen($ruta_doc, 'a');
//Obtengo LA CANTIDAD DE PARTES DEL DOCUMENTO-----------------------------------------------
$num_parte = $datos['PARTES'];
//LLENO EL DOCUMENTO ------------------------------------------------------------------------
if ($num_parte > 0) {
			for ($i=1; $i<=$num_parte; $i++) {
				//BUSCO EL CONTENIDO DE LAS PARTES--------------------------------------------
				$fichero_partes = parteAdicionalDoc($doc, $tabla_sufijo, $i);
				//VACIO ESE CONTENIDO EN EL DOCUMENTO-----------------------------------------
				fwrite($create_doc, $fichero_partes);
	}
}
//CIERRO EL DOCUMENTO-------------------------------------------------------------------------
fclose($create_doc);
//ELIMINO VARIABLES --------------------------------------------------------------------------
mysqli_close($bd);
unset($bd, $doc, $tabla_sufijo, $ruta_doc, $create_doc, $num_parte, $datos, $fichero_partes);
//LIMPIO LOS DOCUMENTOS CON ANTIGUEDAD MAYOR A 5 min------------------------------------------
$dir = opendir('../recursos/preview/temp/');
while($f = readdir($dir))
{
 
if((time()-filemtime('../recursos/preview/temp/'.$f) > 300) and !(is_dir('../recursos/preview/temp/'.$f)))
unlink('../recursos/preview/temp/'.$f);
}
closedir($dir);
//REDRECCION PAGINA DEL PREVIEW---------------------------------------------------------------
header("location: ../recursos/preview/viewer.html?doc=".$nombre);
//============================================================================================
//=======================================FUNCIONES============================================
//============================================================================================	
//FUNCION PARA OBTENER LOS DATOS DEL DOCUMENTO------------------------------------------------
 function datosDoc($id_doc){
  global $bd;
  $sql =  " SELECT e.CLAVE, e.NOMBRE, e.EXTENSION, e.TAMANO, e.SUFIJO, e.PARTES, e.PADRE, e.AMBITO, e.ACCESO
			FROM BIBLIOTECA_ELEMENTOS e 
			WHERE e.CLAVE = $id_doc";
  $base = $bd->query($sql);
  $datos = mysqli_fetch_assoc($base);
  $base->close();
  return $datos;
 }  
 //FUNCION PARA OBTENER LA PRIMERA PARTE DEL FICHERO------------------------------------------------
 function parte1Doc($id_doc, $tabla_sufijo){
  global $bd;
  $sql =  " SELECT FICHERO
		 	FROM $tabla_sufijo 
		 	WHERE CLAVE = $id_doc
		 	AND PARTE = 1 AND VERSION = 0 LIMIT 1";
  $base = $bd->query($sql);
  $archivo = mysqli_fetch_assoc($base);
  $base->close();
  return $archivo;
 }  
 //FUNCION PARA OBTENER LA PRIMERA PARTE DEL FICHERO------------------------------------------------
 function parteAdicionalDoc($id_doc, $tabla_sufijo, $parte){
  global $bd;
  $sql_partes = "	SELECT FICHERO
					FROM $tabla_sufijo
					WHERE PARTE = %s
					AND CLAVE = %s
					AND VERSION = 0 LIMIT 1";
	$qry = sprintf($sql_partes, $parte , $id_doc);
	$parte = $bd->query($qry);
	$fichero = mysqli_fetch_assoc($parte);
	$fichero_partes = $fichero['FICHERO'];
	$parte->close();
  	return $fichero_partes;
 }  
 ?>
