tieneAcceso()){ header("Location: ".$pag."?error=1"); exit(); } unset($objValida); if(!isset($_POST["doc_id"]) || !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(); } $concurso = filter_input(INPUT_POST, "concurso", FILTER_SANITIZE_NUMBER_INT);//limpia texto $part_tipo = filter_input(INPUT_POST, "part_id", FILTER_SANITIZE_NUMBER_INT);//limpia texto $motivo = trim(filter_input(INPUT_POST, "motivo", FILTER_SANITIZE_STRING,array('flags' => FILTER_FLAG_STRIP_LOW))); $doc_id = filter_input(INPUT_POST, "doc_id", FILTER_SANITIZE_NUMBER_INT);//limpia texto $doc_desc = trim(filter_input(INPUT_POST, "doc_desc", FILTER_SANITIZE_STRING,array('flags' => FILTER_FLAG_STRIP_LOW))); $participantes = $_POST["participantes"];//array $desc = $_POST["desc"]; $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"];//array $firmasArr = array(); //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_tmp.".$ext; } try { $pdo->beginTransaction(); $i = 0; while($i < $numFirmas){ $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"], "puesto"=>$puesto[$i], "firma"=> $firma_rs["ConstanciaFirma_imagen"], "lleva_firma"=>($lleva_firma[$i]==1)?true:false ); $i++; } $stmt = $pdo->prepare('Select * from ei_fs_concurso(:id)'); $stmt->bindParam(":id", $concurso); if(!$stmt->execute()){ $pdo->rollBack(); header("Location:".$pag."?error=2"); exit(); } $concurso_rs = $stmt->fetch(); $stmt->closeCursor(); $evento_marca = $concurso_rs["nom"]." ExpoIngenia ".fechaGuion($concurso_rs["fecha"]); //Actualizar texto para constancia del tipo actual $stmt = $pdo->prepare('Select * from fu_textoconstanciasistema(:text, :id, '.EXPOING.')'); $stmt->bindParam(":id", $part_tipo); $stmt->bindParam(":text", $desc); if(!$stmt->execute()){ $pdo->rollBack(); header("Location:".$pag."?error=4"); exit(); } $stmt->closeCursor(); $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/EI_".$motivo."_".fechaGuion($fecha)."_".date("his").".zip"; if ($zip->open($zip_filename, ZipArchive::CREATE)!==TRUE) { $pdo->rollBack(); exit("cannot open <$zip_filename>\n"); } //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_marca,'UTF-8') . ' ' . fechaGuion($fecha). ' | '; //No acepta caracteres especiales generaMarcaDeAgua($marca, "zip/"); $header = '