pdf_resultados.php 7.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212
  1. <?php
  2. /* AJAX
  3. * Selecciona los datos de la carrera
  4. * Recibe:
  5. * id - ID de la carrera
  6. * Return:
  7. * resultado o cadena de error
  8. */
  9. require_once("../../include/constantes.php");
  10. require_once("../../include/nocache.php");
  11. require_once("../../include/util.php");
  12. require_once("../../include/bd_pdo.php");
  13. include_once('../../include/xTemplate/xtemplate.class.php'); // including mpdf.php
  14. include_once('../../include/mpdf/autoload.php'); // including mpdf.php
  15. $pag = "../resultados_subir.php";
  16. function getTestimonio($pts){
  17. if($pts <= 45.3){
  18. return "No Satisfactorio";
  19. }else if($pts <=59.8){
  20. return "Satisfactorio";
  21. }else if($pts <=74.2){
  22. return "Sobresaliente";
  23. }
  24. return "Excelencia";
  25. }
  26. //--- Objeto para validar usuario. El id de usuario lo lee desde sesión
  27. if(!isset($_POST["nombre"], $_POST["apellidos"], $_POST["folio"])){
  28. header("Location: ".$pag."?error=0");
  29. exit();
  30. }else{
  31. $firma = $_POST["firma"];//array de ids
  32. $puesto = $_POST["puesto"];//arreglo de textos de puestos
  33. $fecha_carta = "FECHA DE LA CARTA";
  34. if(isset($_POST["fecha_carta"]))
  35. $fecha_carta = fechaGuion(trim(filter_input(INPUT_POST, "fecha_carta", FILTER_SANITIZE_STRING,array('flags' => FILTER_FLAG_STRIP_LOW))));//limpia texto
  36. else
  37. $fecha_carta = date("Y-m-d");
  38. $fecha_carta = fechaTexto($fecha_carta);
  39. $alumnoArr = array();
  40. $al = 0;
  41. $row = 1;
  42. $repetido = 0;
  43. $fecha = trim(filter_input(INPUT_POST, "fecha"));//limpia texto
  44. $folio = $_POST["folio"];
  45. $clave = $_POST["clave"];
  46. $nombre = $_POST["nombre"];
  47. $apellidos = $_POST["apellidos"];
  48. $res = array();
  49. $res[] = $_POST["res1"];
  50. $res[] = $_POST["res2"];
  51. $res[] = $_POST["res3"];
  52. $res[] = $_POST["res4"];
  53. $res[] = $_POST["res5"];
  54. $res[] = $_POST["total"];
  55. $defaultConfig = (new Mpdf\Config\ConfigVariables())->getDefaults();
  56. $fontDirs = $defaultConfig['fontDir'];
  57. $defaultFontConfig = (new Mpdf\Config\FontVariables())->getDefaults();
  58. $fontData = $defaultFontConfig['fontdata'];
  59. $defaultConfig = (new Mpdf\Config\ConfigVariables())->getDefaults();
  60. $fontDirs = $defaultConfig['fontDir'];
  61. $defaultFontConfig = (new Mpdf\Config\FontVariables())->getDefaults();
  62. $fontData = $defaultFontConfig['fontdata'];
  63. $mpdf = new \Mpdf\Mpdf([
  64. 'mode' => 'utf-8',
  65. 'format' => [215, 279],
  66. 'orientation' => 'P',
  67. 'margin_left' => 14,
  68. 'margin_right' => 14,
  69. 'margin_top' => 28,
  70. 'margin_header' => 7,
  71. 'margin_bottom' => 100,
  72. 'fontDir' => array_merge($fontDirs, [
  73. __DIR__ . '/../../fonts/indivisaFont/ttf',
  74. ]),
  75. 'fontdata' => $fontData + [
  76. 'indivisa-display' => [
  77. 'R' => 'IndivisaDisplaySans-Regular.ttf',
  78. ],
  79. 'indivisa-title' => [
  80. 'R' => 'IndivisaDisplaySerif-RegularItalic.ttf',
  81. ],
  82. 'indivisa-text' => [
  83. 'R' => 'IndivisaTextSans-Regular.ttf',
  84. ]
  85. ],
  86. 'default_font' => 'indivisa-text'
  87. ]);
  88. $stylesheet = "<style>";
  89. //$stylesheet .= file_get_contents('../../css/indivisa.css'); // external css
  90. $stylesheet .= file_get_contents('../css/resultados.css'); // external css
  91. $stylesheet .= "</style>";
  92. $xtpl = new XTemplate('../tpl/carta_resultados.tpl.html');
  93. $cuenta = count($apellidos);
  94. for($i =0; $i< count($apellidos); $i++){
  95. //$i=0;
  96. $xtpl->assign("DATO_TITULO", "Folio");
  97. $xtpl->assign("DATO_TEXTO", $folio[$i]);
  98. $xtpl->parse("main.dato");
  99. $xtpl->assign("DATO_TITULO", "Clave ULSA");
  100. $xtpl->assign("DATO_TEXTO", $clave[$i]);
  101. $xtpl->parse("main.dato");
  102. $xtpl->assign("DATO_TITULO", "Nombre del sustentante");
  103. $xtpl->assign("DATO_TEXTO", $nombre[$i]." ".$apellidos[$i]);
  104. $xtpl->parse("main.dato");
  105. if($fecha != ""){
  106. $xtpl->assign("DATO_TITULO", "Fecha de aplicación");
  107. $xtpl->assign("DATO_TEXTO", $fecha);
  108. $xtpl->parse("main.dato");
  109. }
  110. $xtpl->assign("DATO_TITULO", "Institución de Educación Superior (IES)");
  111. $xtpl->assign("DATO_TEXTO", "Universidad La Salle México");
  112. $xtpl->parse("main.dato");
  113. $xtpl->assign("RES", $res[0][$i]);
  114. $xtpl->parse("main.res");
  115. $xtpl->assign("RES", $res[1][$i]);
  116. $xtpl->parse("main.res");
  117. $xtpl->assign("RES", $res[2][$i]);
  118. $xtpl->parse("main.res");
  119. $xtpl->assign("RES", $res[3][$i]);
  120. $xtpl->parse("main.res");
  121. $xtpl->assign("RES", $res[4][$i]);
  122. $xtpl->parse("main.res");
  123. $xtpl->assign("RES", getTestimonio($res[5][$i]));
  124. $xtpl->parse("main.res.bold");
  125. $xtpl->parse("main.res");
  126. $cuenta--;
  127. if($cuenta > 0) $xtpl->parse("main.pagebreak");
  128. $xtpl->parse("main");
  129. }
  130. /*
  131. echo $stylesheet;
  132. $xtpl->out("main");
  133. */
  134. $carta = $xtpl->text("main");
  135. $xtpl = new XTemplate('../tpl/carta_footer.tpl.html');
  136. $xtpl->assign("FECHA_CARTA", $fecha_carta);
  137. $i = 0;
  138. $numFirmas = 2;
  139. $stmt = $pdo->prepare('Select * from fs_constanciafirma(:id, NULL )');//firmas
  140. while($i < $numFirmas){
  141. $stmt->bindParam(":id", $firma[$i]);
  142. if(!$stmt->execute()){
  143. $pdo->rollBack();
  144. header("Location:".$pag."?error=2");
  145. //print_r($stmt->errorInfo());
  146. exit();
  147. }
  148. $firma_rs = $stmt->fetch();
  149. $stmt->closeCursor();
  150. $firmasArr[] = array("id"=>$firma_rs["ConstanciaFirma_id"] ,"grado"=>$firma_rs["ConstanciaFirma_grado"] ,
  151. "nombre"=> $firma_rs["ConstanciaFirma_nombre"] /*mb_convert_case(mb_strtolower($firma_rs["ConstanciaFirma_nombre"]), MB_CASE_TITLE, "UTF-8")*/,
  152. "puesto"=>$puesto[$i], "firma"=> $firma_rs["ConstanciaFirma_imagen"]
  153. );
  154. $i++;
  155. }
  156. // $firma = md5(strtolower("iho"));
  157. //$xtpl->assign("FIRMA", "../../img/firmas/".$firmasArr[0]["firma"]);
  158. $xtpl->assign("FIRMA", "../../img/firmas/blanco.png");
  159. $xtpl->assign("NOMBRE", $firmasArr[0]["grado"]." ".$firmasArr[0]["nombre"]);
  160. $xtpl->assign("PUESTO", $firmasArr[0]["puesto"]);
  161. $xtpl->assign("DIR", "left");
  162. $xtpl->parse("main.firma");
  163. //$firma = md5(strtolower("ebm"));
  164. //$xtpl->assign("FIRMA", "../../img/firmas/".$firmasArr[1]["firma"]);
  165. $xtpl->assign("FIRMA", "../../img/firmas/blanco.png");
  166. $xtpl->assign("NOMBRE", $firmasArr[1]["grado"]." ".$firmasArr[1]["nombre"]);
  167. $xtpl->assign("PUESTO", $firmasArr[1]["puesto"]);
  168. $xtpl->assign("DIR", "right");
  169. $xtpl->parse("main.firma");
  170. $xtpl->parse("main");
  171. /*echo $stylesheet;
  172. $xtpl->out("main"); exit();*/
  173. $mpdf->SetHTMLHeader('<img src="../../img/logopdf.png" width="40mm">');//se pone como fondo
  174. $mpdf->SetHTMLFooter($xtpl->text("main"));
  175. $mpdf->WriteHTML($stylesheet);
  176. $mpdf->WriteHTML($carta);
  177. $mpdf->Output("reporteEGC.pdf", 'I');
  178. }
  179. ?>