123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161 |
- <?php
- //ini_set('max_execution_time', 150);
- setlocale(LC_TIME, 'es_MX.UTF-8');
- require_once("../../include/nocache.php");
- require_once("../../include/bd_pdo.php");
- require_once("../../include/util.php");
- require_once("../../include/constantes.php");
- require_once("../../classes/ValidaSesion.php");
- include_once('../../include/xTemplate/xtemplate.class.php'); // including mpdf.php
- include_once('../../include/mpdf/autoload.php'); // including mpdf.php
- include_once('../include/util.php');
- $pag = "../constancias_busca.php";
- //--- Objeto para validar usuario. El id de usuario lo lee desde sesión
- $objSesion = new ValidaSesion($pdo, 321, CONSTANCIA);
- if(!$objSesion->tieneAcceso()){
- header("Location: ".$pag."?error=1");
- exit();
- }
- unset($objValida);
- if( !isset($_GET["sist"]) || !isset($_GET["ev"]) || !isset($_GET["id"]) ){
- header("Location: ".$pag."?error=0");
- exit();
- }
- $sist = filter_input(INPUT_GET, "sist", FILTER_SANITIZE_NUMBER_INT);//limpia texto
- $evento_id = filter_input(INPUT_GET, "ev", FILTER_SANITIZE_NUMBER_INT);//limpia texto
- $folio = filter_input(INPUT_GET, "id", FILTER_SANITIZE_NUMBER_INT);//limpia texto
- $stmt = $pdo->prepare('SELECT * from fs_constancialogfirma(:sist, :evento, :serial )');//firmas
- $stmt->bindParam(":sist", $sist);
- $stmt->bindParam(":evento", $evento_id);
- $stmt->bindParam(":serial", $folio);
- if(!$stmt->execute()){
- $pdo->rollBack();
- header("Location:".$pag."?error=2");
- //print_r($stmt->errorInfo());
- exit();
- }
- $firma_rs = $stmt->fetchAll();
- $stmt->closeCursor();
- $firmasArr = array();
- foreach($firma_rs as $firma){
- $firmasArr[] = array("id"=>$firma["ConstanciaFirma_id"] ,"grado"=>$firma["ConstanciaFirma_grado"] ,
- "nombre"=> $firma["ConstanciaFirma_nombre"], "puesto"=>$firma["ConstanciaLog_Firma_puesto"],
- "firma"=> $firma["ConstanciaFirma_imagen"], "lleva_firma"=>$firma["ConstanciaLog_Firma_mostrar"]
- );
- }
- $stmt = $pdo->prepare('Select * from fs_constancialog(:sist, :evento, :serial )');//firmas
- $stmt->bindParam(":sist", $sist);
- $stmt->bindParam(":evento", $evento_id);
- $stmt->bindParam(":serial", $folio);
- if(!$stmt->execute()){
- header("Location:".$pag."?error=2");
- //print_r($stmt->errorInfo());
- exit();
- }
- $constancia_rs = $stmt->fetch();
- $stmt->closeCursor();
- $tipo = $constancia_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 = "<style>";
- //$stylesheet .= file_get_contents('../../css/indivisa.css'); // external css
- $stylesheet .= file_get_contents('../css/constancia.css'); // external css
- $stylesheet .= "</style>";
- //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($constancia_rs["ConstanciaLog_evento"],'UTF-8') . ' ' . fechaGuion($constancia_rs["ConstanciaLog_fecha"]) . ' | '; //No acepta caracteres especiales
- generaMarcaDeAgua($marca, "zip/");
- $header = '';
- if(!empty($constancia_rs["ConstanciaLog_imagen"])){
- $target_dir = "../img/logos/";
- $header .= '<img id="logo_secondary" src="'.$target_dir.$constancia_rs["ConstanciaLog_imagen"].'">';
- }
- $header .= '<img id="logo" src="../img/lasalle_pdf.jpg">';
- //Footer
- $footer = "";
- $nombre = $constancia_rs["ConstanciaLog_participante"];
- $mpdf = new \Mpdf\Mpdf([
- 'mode'=>'utf-8', 'format'=>'Letter',
- 'margin_header'=> 21, 'margin_top'=>52, 'margin_left'=> 35, 'margin_right'=> 30, 'margin_footer'=>10,
- 'orientation' => 'P',
- 'fontDir' => array_merge($fontDirs, [
- __DIR__ . '/../../fonts/indivisaFont/ttf',
- ]),
-
- 'fontdata' => $fontData,
- 'default_font' => 'indivisa-text'
- ]);
- $xtpl = new XTemplate('../tpl/constancia.tpl.html');
- $xtpl->assign("TIPO", $tipo);
- $xtpl->assign("NOMBRE", $nombre);
- $xtpl->assign("TEXTO", $constancia_rs["ConstanciaLog_evento_desc"]);
- $xtpl->parse("main");
- $footer = imprimeFooter($constancia_rs["ConstanciaLog_fecha"], count($firmasArr), $firmasArr, CONSTANCIA, $evento_id, $folio);
- /*
- echo $stylesheet;
- echo $header;
- echo $xtpl->text("main");
- echo $footer;
- exit();*/
- $mpdf->SHYlang = 'es';
- $mpdf-> SetTitle($tipo . '-' . $nombre);
- $mpdf-> SetAuthor('Facultad de Ingeniería. © Universidad La Salle A.C. '.date("Y").' Todos los derechos Reservados.');
- $mpdf->SetHTMLHeader($header);
- $mpdf->WriteHTML($stylesheet);
- $mpdf->WriteHTML($xtpl->text("main"));
- $mpdf->SetHTMLFooter($footer);
- $mpdf->SetProtection(array('print', 'print-highres'), '', md5(time()));
- $mpdf->Output($tipo."_".$nombre.".pdf", 'I');
- unlink("zip/marca.png");
-
- ?>
|