prepare('Select * from fs_materiasprofesor(:periodo, null) where "Carrera_prefijo" in (\'IND\', \'AB\')'); $stmt->bindParam(":periodo", $_GET["periodo_id"]); if(!$stmt->execute()){ //print_r($stmt->errorInfo()); $errorDesc = "Ocurrió un error al cargar los datos del periodo"; }else{ $periodo_rs = $stmt->fetchAll(); } $stmt->closeCursor(); foreach($periodo_rs as $periodo){ $filter_mat = $periodo["Materia_id"]."_".$periodo["Grupo_id"]."_".$periodo["Submateria_id"]; $filter_materia_nom = $periodo["Materia_desc"]; $filter_gpo_nom = $periodo["Grupo_desc"]; $matArr = explode("_",$filter_mat); //-- $mat = $periodo["Materia_id"]; $gpo = $periodo["Grupo_id"]; $gpo_nom = $periodo["Grupo_desc"].$periodo["Carrera_prefijo"]; $usr = $periodo["Usuario_id"]; $stmt = $pdo->prepare('Select * from fs_usuario(:usr)'); $stmt->bindParam(":usr", $usr); if(!$stmt->execute()){ header("Location: ".$pag."?error=5"); exit(); }else{ $usr_rs = $stmt->fetch(); $usr_nombre = $usr_rs["Usuario_nombre"]." ".$usr_rs["Usuario_apellidos"]; } $stmt->closeCursor(); if($periodo["Submateria_id"]!= ""){ $sub = $periodo["Submateria_id"]; $stmt = $pdo->prepare('Select * from fs_syllabus(:periodo, :prof, :mat, :gpo, :sub )'); $stmt->bindParam(":sub", $sub); }else{ $stmt = $pdo->prepare('Select * from fs_syllabus(:periodo, :prof, :mat, :gpo, NULL )'); } $stmt->bindParam(":periodo", $_GET["periodo_id"]); $stmt->bindParam(":prof", $usr); $stmt->bindParam(":mat", $mat); $stmt->bindParam(":gpo", $gpo); if(!$stmt->execute()){ header("Location: ".$pag."?error=3"); //$errorDesc = "Error al cargar los datos del alumno"; //print_r($stmt->errorInfo()); exit(); } $syllabus_rs = $stmt->fetch(); $stmt->closeCursor(); //print_r($syllabus_rs); exit; $stmt = $pdo->prepare('Select * from fs_periodo(:periodo, NULL, NULL, NULL )'); $stmt->bindParam(":periodo", $_GET["periodo_id"]); if(!$stmt->execute()){ header("Location: ".$pag."?error=3"); //$errorDesc = "Error al cargar los datos del alumno"; //print_r($stmt->errorInfo()); exit(); } $periodo_rs = $stmt->fetch(); $stmt->closeCursor(); if(isset($sub)){ $stmt = $pdo->prepare('SELECT hg."Horario_hora", s."Salon_desc", s."Salon_desc_larga", d."Dia_desc" from fs_horariogrupo(:gpo, NULL, false) AS hg INNER JOIN "Dia" d ON hg."Dia_id" = d."Dia_id" INNER JOIN "Submateria_HorarioGrupo_Profesor" shgp ON hg."HorarioGrupo_id" = shgp."HorarioGrupo_id" AND shgp."Submateria_id" = :sub INNER JOIN "Salon" s ON shgp."Salon_id" = s."Salon_id" WHERE "Materia_id" = :mat ORDER BY d."Dia_id", hg."Horario_hora"' ); $stmt->bindParam(":sub", $sub); }else{ $stmt = $pdo->prepare('SELECT hg."Horario_hora", hg."Salon_desc", hg."Salon_desc_larga", d."Dia_desc" from fs_horariogrupo(:gpo, NULL, false) AS hg INNER JOIN "Dia" d ON hg."Dia_id" = d."Dia_id" WHERE "Materia_id" = :mat ORDER BY d."Dia_id", hg."Horario_hora"' ); } $stmt->bindParam(":gpo", $gpo); $stmt->bindParam(":mat", $mat); if(!$stmt->execute()){ header("Location: ".$pag."?error=3"); // print_r($stmt->errorInfo()); exit(); } $horario_rs = $stmt->fetchAll(); $stmt->closeCursor(); //print_r($horario_rs); exit; //----- $defaultConfig = (new Mpdf\Config\ConfigVariables())->getDefaults(); $fontDirs = $defaultConfig['fontDir']; $defaultFontConfig = (new Mpdf\Config\FontVariables())->getDefaults(); $fontData = $defaultFontConfig['fontdata']; $mpdf = new \Mpdf\Mpdf([ 'mode' => 'utf-8', 'format' => [215, 279], 'orientation' => 'P', 'margin_left' => 14, 'margin_right' => 14, 'margin_top' => 27, 'margin_bottom' => 27, 'fontDir' => array_merge($fontDirs, [ __DIR__ . '/../../fonts/indivisaFont/ttf', ]), 'fontdata' => $fontData + [ 'indivisa-display' => [ 'R' => 'IndivisaDisplaySans-Regular.ttf', ], 'indivisa-title' => [ 'R' => 'IndivisaDisplaySerif-RegularItalic.ttf', ], 'indivisa-text' => [ 'R' => 'IndivisaTextSans-Regular.ttf', ] ], 'default_font' => 'indivisa-text', ]); //$mpdf->SetDisplayMode('fullpage'); $stylesheet = ""; $xtpl = new XTemplate('../tpl/syllabus.tpl.html'); $mat_nombre = !empty($syllabus_rs["Submateria_desc"])?$syllabus_rs["Submateria_desc"]:$syllabus_rs["Materia_desc"]; $xtpl->assign("MATERIA", $mat_nombre." ".$gpo_nom); $xtpl->assign("SEMESTRE", $syllabus_rs["Materia_semestre"]); $xtpl->assign("PERIODO", $periodo_rs["Periodo_desc"]); $xtpl->assign("PROFESOR", $usr_nombre); foreach($horario_rs as $h){ $hora = substr($h["Horario_hora"], 0, 5); if(empty($h["Salon_desc"])){ $salon = "Salón pendiente"; }else{ $salon = $h["Salon_desc"]; if(!empty($h["Salon_desc_larga"])){ $salon .=" (".$h["Salon_desc_larga"].")"; } } $xtpl->assign("DIA", $h["Dia_desc"]); $xtpl->assign("HORA", $hora); $xtpl->assign("SALON", $salon); $xtpl->parse("main.fechas"); } //---Atributos //Obtiene mapa $stmt = $pdo->prepare('select * from fs_atributoegreso_materia(:mat)'); $stmt->bindParam(":mat", $mat); if(!$stmt->execute()){ header("Location: ".$pag."?error=5"); }else{ $atributos_rs = $stmt->fetchAll(); } //---- $datos = array( array("titulo"=>"Información de la asignatura", "bd"=>"informacion", "subbloques"=> array( array("subtitulo"=>"Descripción","bd"=>"desc", "nobreak"=>false), array("subtitulo"=>"Objetivos","bd"=>"obj", "nobreak"=>false), array("subtitulo"=>"Capacidades y habilidades que desarrollar","bd"=>"capacidades", "nobreak"=>false), array("subtitulo"=>"Prerrequisitos","bd"=>"prerrequisitos", "nobreak"=>false), array("subtitulo"=>"Temario","bd"=>"temario", "nobreak"=>false), array("subtitulo"=>"Construcción de la calificación final","bd"=>"calificacion", "nobreak"=>true), array("subtitulo"=>"Fechas importantes","bd"=>"fechas", "nobreak"=>true), ) ), array("titulo"=>"Lineamientos generales", "bd"=>"", "subbloques"=> array( array("subtitulo"=>"De la asistencia y puntualidad","bd"=>"asistencia", "nobreak"=>false), array("subtitulo"=>"Del comportamiento en clase","bd"=>"comportamiento", "nobreak"=>false), array("subtitulo"=>"De los exámenes","bd"=>"examenes", "nobreak"=>false), array("subtitulo"=>"De las tareas, prácticas y exposiciones","bd"=>"tareas", "nobreak"=>false), array("subtitulo"=>"Trabajos de investigación","bd"=>"investigacion", "nobreak"=>false), ) ), array("titulo"=>"Bibliografía recomendada", "bd"=>"bibliografia", "subbloques"=>array() ) ); $atributos = false; foreach($datos as $bloque){ $xtpl->assign("TITULO", $bloque["titulo"]); if($bloque["bd"]!= ""){ $xtpl->assign("INFO", $syllabus_rs["Syllabus_".$bloque["bd"]]); $xtpl->parse("main.bloque.titulo.info"); $xtpl->parse("main.bloque.titulo"); $xtpl->parse("main.bloque"); } if(!$atributos ){ $atributos = true; if(count($atributos_rs) > 0){ $html = ""; $xtpl->assign("SUBTITULO", "Atributos de egreso"); $xtpl->assign("INFO", $html); $xtpl->parse("main.bloque.subbloque"); $xtpl->parse("main.bloque"); } } foreach($bloque["subbloques"] as $subbloque){ $xtpl->assign("SUBTITULO", $subbloque["subtitulo"]); $xtpl->assign("INFO", $syllabus_rs["Syllabus_".$subbloque["bd"]]); if($subbloque["nobreak"]) $xtpl->parse("main.bloque.subbloque_nobreak"); else $xtpl->parse("main.bloque.subbloque"); $xtpl->parse("main.bloque"); } } $xtpl->parse("main"); /*echo $stylesheet; $xtpl->out("main"); exit; */ $header = '

SYLLABUS | FACULTAD DE INGENIERÍA

'; $mpdf->SHYlang = 'es'; $mpdf-> SetTitle('Syllabus -' . $mat_nombre); $mpdf-> SetAuthor('Facultad de Ingeniería. © Universidad La Salle A.C. '.date("Y").' Todos los derechos Reservados.'); $mpdf->SetHTMLHeader($header);//se pone como fondo $mpdf->SetHTMLFooter('');//se pone como fondo $mpdf->WriteHTML($stylesheet); if(!isset($errorDesc)) $mpdf->WriteHTML($xtpl->text("main")); else $mpdf->WriteHTML($errorDesc); $mpdf->Output("../files/syllabus/".$_GET["periodo_id"]."syllabus_ ".$gpo_nom."_".getIniciales($mat_nombre).".pdf", 'F'); }//foreach