prepare('Select * from fs_constanciafirma(:id, NULL )');//firmas while($i < $numFirmas){ $stmt->bindParam(":id", $firma[$i]); if(!$stmt->execute()){ $pdo->rollBack(); header("Location:".$pag."?error=2"); //print_r($stmt->errorInfo()); exit(); } $firma_rs = $stmt->fetch(); $stmt->closeCursor(); $firmasArr[] = array("id"=>$firma_rs["ConstanciaFirma_id"] ,"grado"=>$firma_rs["ConstanciaFirma_grado"] , "nombre"=> $firma_rs["ConstanciaFirma_nombre"] /*mb_convert_case(mb_strtolower($firma_rs["ConstanciaFirma_nombre"]), MB_CASE_TITLE, "UTF-8")*/, "puesto"=>$puesto[$i], "firma"=> $firma_rs["ConstanciaFirma_imagen"] ); $i++; } //-- Footer $xtpl_footer = new XTemplate('../tpl/carta_footer.tpl.html'); $xtpl_footer->assign("FECHA_CARTA", $fecha_carta); //$xtpl_footer->assign("FIRMA", "../../img/firmas/".$firmasArr[0]["firma"]); $xtpl->assign("FIRMA", "../../img/firmas/blanco.png"); $xtpl_footer->assign("NOMBRE", $firmasArr[0]["grado"]." ".$firmasArr[0]["nombre"]); $xtpl_footer->assign("PUESTO", $firmasArr[0]["puesto"]); $xtpl_footer->assign("DIR", "left"); $xtpl_footer->parse("main.firma"); //$xtpl_footer->assign("FIRMA", "../../img/firmas/".$firmasArr[1]["firma"]); $xtpl->assign("FIRMA", "../../img/firmas/blanco.png"); $xtpl_footer->assign("NOMBRE", $firmasArr[1]["grado"]." ".$firmasArr[1]["nombre"]); $xtpl_footer->assign("PUESTO", $firmasArr[1]["puesto"]); $xtpl_footer->assign("DIR", "right"); $xtpl_footer->parse("main.firma"); $xtpl_footer->parse("main"); //------- $fecha_carta = "FECHA DE LA CARTA"; if(isset($_POST["fecha_carta"])) $fecha_carta = fechaGuion(trim(filter_input(INPUT_POST, "fecha_carta", FILTER_SANITIZE_STRING,array('flags' => FILTER_FLAG_STRIP_LOW))));//limpia texto else $fecha_carta = date("Y-m-d"); $fecha_carta = fechaTexto($fecha_carta); $alumnoArr = array(); $al = 0; $row = 1; $repetido = 0; $fecha = trim(filter_input(INPUT_POST, "fecha"));//fecha como texto $folio = $_POST["folio"]; $clave = $_POST["clave"]; $nombre = $_POST["nombre"]; $apellidos = $_POST["apellidos"]; $res = array(); $res[] = $_POST["res1"]; $res[] = $_POST["res2"]; $res[] = $_POST["res3"]; $res[] = $_POST["res4"]; $res[] = $_POST["res5"]; $res[] = $_POST["total"]; $defaultConfig = (new Mpdf\Config\ConfigVariables())->getDefaults(); $fontDirs = $defaultConfig['fontDir']; $defaultFontConfig = (new Mpdf\Config\FontVariables())->getDefaults(); $fontData = $defaultFontConfig['fontdata']; $defaultConfig = (new Mpdf\Config\ConfigVariables())->getDefaults(); $fontDirs = $defaultConfig['fontDir']; $defaultFontConfig = (new Mpdf\Config\FontVariables())->getDefaults(); $fontData = $defaultFontConfig['fontdata']+ [ 'indivisa-display' => [ 'R' => 'IndivisaDisplaySans-Regular.ttf', ], 'indivisa-title' => [ 'R' => 'IndivisaDisplaySerif-RegularItalic.ttf', ], 'indivisa-text' => [ 'R' => 'IndivisaTextSans-Regular.ttf', ] ]; $stylesheet = ""; //----------- Archivos y zip --- $fecha_hoy = date("Y-m-d"); $tmp_folder = "./zip/pdf_".fechaGuion($fecha_hoy); if (!file_exists($tmp_folder)) { mkdir($tmp_folder, 0777, true); } $zip = new ZipArchive(); $zip_filename = "zip/resultadosEGC_".fechaGuion($fecha_hoy)."_".date("his").".zip"; if ($zip->open($zip_filename, ZipArchive::CREATE)!==TRUE) { $pdo->rollBack(); exit("cannot open <$zip_filename>\n"); } $cuenta = count($apellidos); for($i =0; $i< count($apellidos); $i++){ $mpdf = new \Mpdf\Mpdf([ 'mode' => 'utf-8', 'format' => [215, 279], 'orientation' => 'P', 'margin_left' => 14, 'margin_right' => 14, 'margin_top' => 28, 'margin_header' => 7, 'margin_bottom' => 100, 'fontDir' => array_merge($fontDirs, [ __DIR__ . '/../../fonts/indivisaFont/ttf', ]), 'fontdata' => $fontData, 'default_font' => 'indivisa-text' ]); $xtpl = new XTemplate('../tpl/carta_resultados.tpl.html'); $num = $i+1; //$i=0; $xtpl->assign("DATO_TITULO", "Folio"); $xtpl->assign("DATO_TEXTO", $folio[$i]); $xtpl->parse("main.dato"); $xtpl->assign("DATO_TITULO", "Clave ULSA"); $xtpl->assign("DATO_TEXTO", $clave[$i]); $xtpl->parse("main.dato"); $xtpl->assign("DATO_TITULO", "Nombre del sustentante"); $xtpl->assign("DATO_TEXTO", $nombre[$i]." ".$apellidos[$i]); $xtpl->parse("main.dato"); if($fecha != ""){ $xtpl->assign("DATO_TITULO", "Fecha de aplicación"); $xtpl->assign("DATO_TEXTO", $fecha); $xtpl->parse("main.dato"); } $xtpl->assign("DATO_TITULO", "Institución de Educación Superior (IES)"); $xtpl->assign("DATO_TEXTO", "Universidad La Salle México"); $xtpl->parse("main.dato"); $xtpl->assign("RES", $res[0][$i]); $xtpl->parse("main.res"); $xtpl->assign("RES", $res[1][$i]); $xtpl->parse("main.res"); $xtpl->assign("RES", $res[2][$i]); $xtpl->parse("main.res"); $xtpl->assign("RES", $res[3][$i]); $xtpl->parse("main.res"); $xtpl->assign("RES", $res[4][$i]); $xtpl->parse("main.res"); $xtpl->assign("RES", getTestimonio($res[5][$i])); $xtpl->parse("main.res.bold"); $xtpl->parse("main.res"); $cuenta--; //if($cuenta > 0) $xtpl->parse("main.pagebreak"); $xtpl->parse("main"); $carta = $xtpl->text("main"); /*echo $stylesheet; $xtpl->out("main"); exit();*/ $mpdf->SHYlang = 'es'; $mpdf-> SetTitle('Resultados -' . $nombre[$i]." ".$apellidos[$i]); $mpdf-> SetAuthor('Facultad de Ingeniería. © Universidad La Salle A.C. '.date("Y").' Todos los derechos Reservados.'); $mpdf->SetHTMLHeader('');//se pone como fondo $mpdf->SetHTMLFooter($xtpl_footer->text("main")); $mpdf->WriteHTML($stylesheet); $mpdf->WriteHTML($carta); //$mpdf->Output("reporteEGC.pdf", 'I'); $mpdf->SetProtection(array('print', 'print-highres'), '', md5(time())); $mpdf->Output($tmp_folder."/resultado_".$num.".pdf", 'F'); $zip->addFile( $tmp_folder."/resultado_".$num.".pdf", "egc_".fechaGuion($fecha_hoy)."/".$folio[$i]."_".$clave[$i].".pdf" ); $num++; } //ZIP if($zip->numFiles<=0){ $pdo->rollBack(); echo "Error al guardar en el zip"; $zip->close(); unlink($zip_filename); exit(); } $zip->close(); removeFolder($tmp_folder); header("Content-Type: application/zip"); header("Content-Disposition: attachment; filename=".basename($zip_filename)); header("Pragma: no-cache"); header("Expires: 0"); ob_end_clean(); flush(); readfile($zip_filename); //unlink($zip_filename); } function removeFolder($folderName) { if (is_dir($folderName)) $folderHandle = opendir($folderName); if (!$folderHandle) return false; while($file = readdir($folderHandle)) { if ($file != "." && $file != "..") { if (!is_dir($folderName."/".$file)) unlink($folderName."/".$file); else removeFolder($folderName.'/'.$file); } } closedir($folderHandle); rmdir($folderName); return true; } ?>