<?
/*
Autor: Lic. Carlos Alberto Vaca Coronado
Version: 3.4.0
Cambio: Se agrega la columna verificacionSAT
*/

session_name('portal_absa');
session_start();
if(!isset($_SESSION['usuario_p_prov_absa']) || trim($_SESSION['usuario_p_prov_absa']) == "" || trim(strtoupper($_SESSION["URL_PORTAL"]."admin.php")) != trim(strtoupper($_SERVER['HTTP_REFERER']))){
	?><script>window.location.href="<?=$_SESSION["URL_PORTAL"]."index.php"?>"</script><?
	exit;
}

require "../../conexion/conectar.php";
require "../../libs/funciones.php";

$conexion = new CONDB();
$conexion->conectar();

$page = $_REQUEST['pagina_actual']; // get the requested page
$limit = $_REQUEST['noregistros']; // get how many rows we want to have into the grid
if($_REQUEST['nombreZIP'] != "")
	$nombreZIP = $_REQUEST['nombreZIP']; // get how many rows we want to have into the grid
else
	$nombreZIP = date("YmdHis").".zip";



$auxSQL = str_replace("<<FILTROENGRID>>","",str_replace("\\","",$_SESSION['query_recibedoce']));

$start = (integer) $limit*$page - $limit;
if ($start<0) $start = 0;

$SQL = $auxSQL." LIMIT $start , $limit";


$result = mysqli_query($conexion->CONEXION, $SQL ) or die(mysqli_error($conexion->CONEXION));


$zip = new ZipArchive();

$res = $zip->open("zip/".$nombreZIP, ZipArchive::CREATE);

$ban=false;
if ( $res === TRUE) {
	
	while($row = mysqli_fetch_array($result,MYSQLI_ASSOC)){

					//$responce->rows[$i]['id']='';
					
									$nombreArchivo = explode(".",$row['ArchivoXML'],-1);
									$nombrePart="";
									for($j=0; $j < count($nombreArchivo); $j++){
											if($nombrePart != "")
												$nombrePart.=".".$nombreArchivo[$j];
											else
												$nombrePart.=$nombreArchivo[$j];
												
									}
									$STD = $nombrePart."_STD.pdf";
									
					if($row['usarRutaDistribuida'] == "SI"){
						$year = substr($row['fechaRecibido'],0,4);
						$mes = substr($row['fechaRecibido'],5,2);
						
						/*PARA DESCARGA*/
						$rutaSTD=$row['pdf'].$year."/".$mes."/".$STD;
						$row['xml'].=$year."/".$mes."/".$row['ArchivoXML'];
						$row['pdf'].=$year."/".$mes."/".$row['ArchivoPDF'];
						
						/*PARA ABRIR EN EL NAVEGADOR*/
						$rutaSTDHTTP=$row['rutaPDF'].$year."/".$mes."/".$STD;
						$row['rutaXML'].=$year."/".$mes."/".$row['ArchivoXML'];
						$row['rutaPDF'].=$year."/".$mes."/".$row['ArchivoPDF'];
											
											
					}else{
						/*PARA DESCARGA*/
						$rutaSTD=$row['pdf'].$STD;
						$row['xml'].=$row['ArchivoXML'];
						$row['pdf'].=$row['ArchivoPDF'];
						
						/*PARA ABRIR EN EL NAVEGADOR*/
						$rutaSTDHTTP=$row['rutaPDF'].$STD;
						$row['rutaXML'].=$row['ArchivoXML'];
						$row['rutaPDF'].=$row['ArchivoPDF'];
					}
					
					$row['xml'] = trim(str_replace("<<RFCRECEPTOR>>",$row['rfc_receptor'],str_replace('\\','/',$row['xml'])));
					$row['pdf'] = trim(str_replace("<<RFCRECEPTOR>>",$row['rfc_receptor'],str_replace('\\','/',$row['pdf'])));
					
					
					$rutaSTD = trim(str_replace('\\','/',$rutaSTD));
					  
				
					if(is_file($row['xml'])){
						$zip->addFile($row['xml'],$row['ArchivoXML']);
						$ban=true;
					}
					if(is_file($row['pdf'])){
						$zip->addFile($row['pdf'],$row['ArchivoPDF']);
						$ban=true;
					}
					
					
					
							
	}//while
	
} else {
	switch($res){
		case ZipArchive::ER_EXISTS: 
			$ErrMsg = "File already exists.";
			break;

		case ZipArchive::ER_INCONS: 
			$ErrMsg = "Zip archive inconsistent.";
			break;
			
		case ZipArchive::ER_MEMORY: 
			$ErrMsg = "Malloc failure.";
			break;
			
		case ZipArchive::ER_NOENT: 
			$ErrMsg = "No such file.";
			break;
			
		case ZipArchive::ER_NOZIP: 
			$ErrMsg = "Not a zip archive.";
			break;
			
		case ZipArchive::ER_OPEN: 
			$ErrMsg = "Can't open file.";
			break;
			
		case ZipArchive::ER_READ: 
			$ErrMsg = "Read error.";
			break;
			
		case ZipArchive::ER_SEEK: 
			$ErrMsg = "Seek error.";
			break;
		
		default: 
			$ErrMsg = "Unknow (Code $rOpen)";
			break;
			
		
	}
	
	die( 'ZipArchive Error: ' . $ErrMsg);
	 
	if(is_file("zip/".$nombreZIP)){
			unlink("zip/".$nombreZIP);
	}
	 exit;
}
$zip->close();
//$rutaC="D:/AppServ/www/RecibeCFD/formularios/extras/zip";
//echo $rutaC."/".$nombreZIP;
if(is_file("zip/".$nombreZIP)){
		if(filesize("zip/".$nombreZIP) <= 0){
			unlink("zip/".$nombreZIP);
			echo "";exit;
		}else{
			echo $nombreZIP;exit;
		}
}
echo "";
?>