<?php require_once('../../Connections/cn.php'); ?>
<?php
//****************************************************************
// Este còdigo se agregó el 14-01-2015, para optimizar el script.
//**************************************************************** 
ini_set('memory_limit','500M');
ini_set('max_execution_time', 0); 
//******************************************
// Hasta aquí código agregado el 14-01-2015
//******************************************
//Aqui quito caracteres que estan demas en el filtro que viene de otra pagina 
$sqlr = str_replace("`", "", $sqlr); 
$sqlr = str_replace("\'", '"', $sqlr); 

$periodo=$_GET['periodo'];
$sede=$_GET['sede'];
$carrera=$_GET['carrera'];
$pensum=$_GET['pensum'];
$mencion=$_GET['mencion'];
$turno=$_GET['turno'];

$nivel="CP";
if($mencion=="CIU") $nivel="CIU";
if($mencion=="CG") $nivel="CG";

if(($mencion=='CG') || ($mencion=='CIU'))$mencion='COMUN';

// Selecciono la Base de Datos. 
mysql_select_db($database_cn); 
mysql_query ("SET NAMES 'utf8'");

// Datos del Per�odo.
$sql2 = "select * from periodos where id_periodo='$periodo'";
$rs2=mysql_query($sql2,$cn);
$row2=mysql_fetch_array($rs2);
$descripcion=' ('.$row2['mes_inicio'].'-'.$row2['mes_fin'].')';
$codigo_periodo=$row2['codigo'].' ('.$row2['tipo'].')';

//Datos de la Sede
$sql2 = "select * from sedes where codigo='$sede'";
$rs2=mysql_query($sql2,$cn);
$row2=mysql_fetch_array($rs2);
$nombre_sede=$row2['nombre_sede'];
//********************************************************************************************************
// Funciòn del Query: Toma la oferta acadèmica del lapso del cual se quiere calcular la disponibilidad.
// Este query se modificó el 14-01-2015, para optimizar el script.  
// Ahora hace el filtro por el número de período.
//******************************************************************************************************** 
$query_materias = "SELECT 
                   id_carrera,
				   sede,
				   id_periodo,
				   id_seccion,
				   semestre,
				   turno,
				   nivel,
				   pensum,
				   mencion,
				   id_materia 
				   FROM 
				   oferta_academica 
				   WHERE 
				   id_periodo='$periodo'";
$rst_materias = mysql_query($query_materias, $cn) or die(mysql_error());
//$row_materias = mysql_fetch_assoc($rst_materias);
$totalRows_materias = mysql_num_rows($rst_materias);  
//***********************************************************************************
// Este parte del código se identó el 14-01-2015, para comprender mejor lo que hace
//***********************************************************************************
if($totalRows_materias >0){
   while($row = mysql_fetch_assoc($rst_materias)){
	$seccion=$row["id_seccion"];
	$semestre=$row["semestre"];	
	$materia=$row["id_materia"];
	$sede_oferta=$row["sede"];
	$semestre=$row["semestre"];
	//*************************************************************************************
	// Funciòn del Query: Calcula el nùmero de inscritos en la materia ofertada, de acuerdo
	// a los estudiantes inscritos en la unidad curricular.
	//*************************************************************************************
    $sql="UPDATE oferta_academica 
	     	SET inscritos = 
		 	(SELECT COUNT( * )
		 	 FROM `inscripciones`
		 	 WHERE 
		 	 id_seccion = '$seccion' AND 
		 	 semestre = '$semestre' AND 
		 	 id_materia = '$materia' AND 
		 	 sede = '$sede_oferta' AND 
		 	 id_periodo = '$periodo'
			)
          WHERE 
		  id_seccion = '$seccion' AND 
		  semestre = '$semestre' AND 
		  id_materia = '$materia' AND 
		  sede = '$sede_oferta' AND 
		  id_periodo = '$periodo'";
     mysql_query($sql, $cn) or die(mysql_error());
	}
}		
// Incluye la calses que se requieren para el reporte. 
error_reporting(E_ALL); 
include('class.ezpdf.php'); 
require('numerosALetras.class.php');

// Se establece el tipo de p�gina y el formato de impresi�n.
$pdf = & new Cezpdf('letter','portraid'); 
$pdf->selectFont('./fonts/Helvetica'); 
// Se inicializa el contador de paginas en 1 y se especifica en que lugar se va a imprimir 
$pdf->ezStartPageNumbers(558,17,7,'','{PAGENUM}/{TOTALPAGENUM}',1); 

// coloca una linea arriba y abajo de todas las paginas 
$fechs = date("d/m/y"); 
$fecha_impresion = date("d-m-Y g:i a");
$all = $pdf->openObject(); 
$pdf->saveState(); 
$pdf->setStrokeColor(0,0,0,1); 
// Se define el query de los datos que contendr� el reporte.
mysql_select_db($database_cn, $cn);
$query = "SELECT sedes.nombre_sede, oferta_academica.mencion, oferta_academica.id_seccion, oferta_academica.semestre, turnos.turno, oferta_academica.nmateria, oferta_academica.cupos, oferta_academica.inscritos, oferta_academica.cupos - oferta_academica.inscritos AS disponibles
FROM oferta_academica, sedes, turnos
WHERE oferta_academica.sede = sedes.codigo
AND oferta_academica.turno = turnos.codigo
and oferta_academica.id_carrera='$carrera'
and oferta_academica.id_periodo='$periodo'
and oferta_academica.sede='$sede'";


if($mencion!="0")$query=$query." and oferta_academica.mencion='$mencion' and oferta_academica.nivel='$nivel'";

if($turno!="0")$query=$query." and oferta_academica.turno='$turno'";
$query=$query." ORDER BY sedes.nombre_sede, oferta_academica.semestre, oferta_academica.id_seccion, oferta_academica.turno";

// Ejecuta el Query.

$result = mysql_query ($query,$cn) or die (mysql_error()); 

// Numero de Filas.
$totalRows = mysql_num_rows($result);
// Se obtienen los datos del docente que dict� la materia.


// Inicio del Encabezado.
$imagen=ImageCreatefromjpeg('../../imagenes/logo_mpppf.jpg');
$pdf->addImage($imagen,60,$pdf->y-25,500,0);
$pdf->selectFont('/fonts/Helvetica.afm');
$diff=array(225=>'aacute',233=>'eacute',
            237=>'iacute',243=>'oacute',
            250=>'uacute',252=>'udieresis',
            241=>'ntilde',209=>'Ntilde');
$pdf->selectFont('fonts/Helvetica.afm',array('encoding'=>'WinAnsiEncoding','differences'=>$diff));
$pdf->ezsetdy(-25);
$pdf->ezText(utf8_decode("<b>Dirección de Secretaría General - Unidad de Control de Estudios de Pregrado</b>"),9,array('justification'=>'center'));
$pdf->ezsetdy(-15);
$pdf->ezText('<b>'."DISPONIBILIDAD DE CUPOS".'</b>',14,array('justification'=>'center'));
$pdf->ezsetdy(-15);
$pdf->ezText(utf8_decode("<b>"."   SEDE: "."</b>").$nombre_sede,10 ,array('justification'=>'left'));
$pdf->ezsetdy(-2);
$pdf->ezText(utf8_decode("<b>"."   LAPSO ACADÉMICO: "."</b>").$codigo_periodo.utf8_decode("<b>"."   IMPRESIÓN: "."</b>").$fecha_impresion,10 ,array('justification'=>'left'));
// Fin del Encabezado.
// Inicio del Pie de P�gina.
//pie_pagina($pdf, $cedula_docente, $nom_docente);
// Fin del Pie de P�gina.

// Se restaura el objeto y se cierra, para que de el salto de p�gina.
$pdf->restoreState(); 
$pdf->closeObject(); 
// Establece los margenes para imprimir el cuerpo del reporte.
$pdf->ezSetCmMargins(5,3,3.5,3);
$pdf->addObject($all,'all'); 

// Inicializa array 
$data = array(); 
//Aqui se coloca el header de la Tabla 
$cols = array('nro'=>'Nro.', 
              'mencion'=>utf8_decode('MENCIÓN   '),
			  'sem'=>'SEM.',
			  'secc'=>'SECC.',
			  'turno'=>'TURNO',
			  'materia'=>'                   MATERIAS',
			  'cap'=>'CUPOS',
			  'inscritos'=>'INSCRITOS',
			  'dispo'=>'DISPONIBLES'); 
$smc = 0; 
// Convierte la Nota a Letras.
$nota = new numerosALetras;

while ($row = mysql_fetch_row($result)) { 
    $sede      = $row[0];    // cedula 
    $mencion  = $row[1]; // apellidos y nombres 
	$seccion  = $row[2];  
	$semestre = $row[3];
	$turno  = $row[4];
	$materia  = $row[5];
	$cupos  = $row[6];
	$inscritos  = $row[7];
	$disponibles = $row[8];
	
    
    $smc = $smc + 1; 
    // Aqui se agregan las variables formateadas al array 
    $data[] = array('nro'=>$smc,
                    'mencion'=>$mencion,
					'sem'=>$semestre,
					'secc'=>$seccion,
					'turno'=>$turno,
					'materia'=>utf8_decode($materia),
					'cap'=>$cupos,
					'inscritos'=>$inscritos,
					'dispo'=>$disponibles); 
} 
					
$pdf->ezTable($data,$cols,'',array('width'=>'550','fontSize'=>9, 
'cols'=>array('nro'=>array('justification'=>'center') 
             ,'mencion'=>array('justification'=>'center')
			 ,'sem'=>array('justification'=>'center')
			 ,'secc'=>array('justification'=>'center')
			 ,'turno'=>array('justification'=>'center')
			 ,'materia'=>array('justification'=>'left')
			 ,'cap'=>array('justification'=>'center')
			 ,'inscritos'=>array('justification'=>'center')
			 ,'dispo'=>array('justification'=>'center')) 
));// salida 

if (isset($d) && $d){ 
	$pdfcode = $pdf->ezOutput(); 
	$pdfcode = str_replace('\n','\n<br>',htmlspecialchars($pdfcode)); 
	echo '<html><body>'; 
	echo trim($pdfcode); 
	echo '</body></html>'; 
} else { 
	$pdf->ezStream(); 
} 

function pie_pagina($pdf, $cedula, $nom_docente)
{
    // Facilitador(a).
    $pdf->Rectangle(58,25,500,50);
    $pdf->addText(280,65,8,'Facilitador(a)');
	$pdf->line(58,60,558,60); 
	$pdf->addText(65,50,7,'Nombres y Apellidos:'.$nom_docente);
	$pdf->addText(400,50,7,utf8_decode('Cédula/Pasaporte: ').$cedula);
	//$pdf->addText(65,180,8,$nom_docente);
	$pdf->addText(445,33,7,'FECHA: ______/______/________');
	//$pdf->addText(65,170,7,'C�dula o Pasaporte');
	$pdf->addText(65,33,7,'FIRMA:');
	$pdf->line(58,45,558,45); 
}
?> 