tieneAcceso()){ header("Location: ".$pag."?error=1"); exit(); } unset($objValida); if(!isset($_POST["tipo"]) || !isset($_POST["evento"]) || !isset($_POST["participantes"]) || !isset($_POST["desc"]) || !isset($_POST["fecha"]) || !isset($_POST["num_firmas"], $_POST["firma"], $_POST["puesto"], $_POST["motivo"])){ header("Location: ".$pag."?error=0"); exit(); } $sist = CONSTANCIA; $tipo_id = filter_input(INPUT_POST, "tipo", FILTER_SANITIZE_NUMBER_INT);//limpia texto $evento = trim(filter_input(INPUT_POST, "evento", FILTER_SANITIZE_STRING,array('flags' => FILTER_FLAG_STRIP_LOW))); $motivo = trim(filter_input(INPUT_POST, "motivo", FILTER_SANITIZE_STRING,array('flags' => FILTER_FLAG_STRIP_LOW))); $participantes = $_POST["participantes"];//array $desc = $_POST["desc"]; //filter_input(INPUT_POST, "desc", FILTER_SANITIZE_STRING,array('flags' => FILTER_FLAG_STRIP_LOW)); $fecha = trim(filter_input(INPUT_POST, "fecha", FILTER_SANITIZE_STRING,array('flags' => FILTER_FLAG_STRIP_LOW)));//limpia texto $numFirmas = filter_input(INPUT_POST, "num_firmas", FILTER_SANITIZE_NUMBER_INT);//limpia texto $firma = $_POST["firma"];//array $lleva_firma = $_POST["lleva_firma"];//array $puesto = $_POST["puesto"]; $hay_marca = false; //hay archivo? if(!empty($_FILES['archivo']['name'])){ $archivo = $_FILES['archivo']['name']; // Check file size if ($_FILES["archivo"]["size"] > 500 * 1024) {//en bytes header("Location:".$pag."error=4"); exit(); } $dot_arr = explode('.', $archivo); $ext = end($dot_arr); unset($dot_arr); $target_logo = "logo_".$sist."_".date("dmyhis").".".$ext; } $firmasArr = array(); try { $pdo->beginTransaction(); for($i=0; $i < $numFirmas; $i++){ $stmt = $pdo->prepare('Select * from fs_constanciafirma(:id, NULL )');//firmas $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"], "lleva_firma"=>$lleva_firma[$i]/*($lleva_firma[$i]===1)?true:false*/ ); $hay_marca = $hay_marca || (isset($firmasArr[$i]["lleva_firma"]) && $firmasArr[$i]["lleva_firma"]==1); } $stmt = $pdo->prepare('Select * from fs_constancialogtipo(:id)'); $stmt->bindParam(":id", $tipo_id); if(!$stmt->execute()){ header("Location:".$pag."?error=2"); //print_r($stmt->errorInfo()); exit(); } $tipo_rs = $stmt->fetch(); $stmt->closeCursor(); $tipo = $tipo_rs["ConstanciaLogTipo_desc"]; $defaultConfig = (new Mpdf\Config\ConfigVariables())->getDefaults(); $fontDirs = $defaultConfig['fontDir']; $defaultFontConfig = (new Mpdf\Config\FontVariables())->getDefaults(); $fontData = $defaultFontConfig['fontdata'] + [ 'tipo' => [ 'R' => 'IndivisaDisplaySans-Thin.ttf', ]] + [ 'texto-a' => [ 'R' => 'IndivisaTextSans-Light.ttf', ]] + ['indivisa-text' => [ 'R' => 'IndivisaTextSans-Regular.ttf', 'B' => 'IndivisaTextSans-Bold.ttf', 'BI' => 'IndivisaTextSans-BoldItalic.ttf', ]]; $stylesheet = ""; //----------- Archivos y zip --- $tmp_folder = "./zip/pdf_".fechaGuion($fecha); if (!file_exists($tmp_folder)) { mkdir($tmp_folder, 0777, true); } $zip = new ZipArchive(); $zip_filename = "zip/".$tipo."s_".fechaGuion($fecha)."_".date("his").".zip"; if ($zip->open($zip_filename, ZipArchive::CREATE)!==TRUE) { $pdo->rollBack(); exit("cannot open <$zip_filename>\n"); } if($hay_marca==1){ //Marca de agua if (file_exists($_SERVER['DOCUMENT_ROOT']. '/const/export/zip/marca.png')) { unlink($_SERVER['DOCUMENT_ROOT']. '/const/export/zip/marca.png'); } $marca = mb_strtoupper($evento,'UTF-8') . ' ' . fechaGuion($fecha) . ' | '; //No acepta caracteres especiales generaMarcaDeAgua($marca, "zip/"); } $header = '