<?php
  session_start();
// error_reporting(E_ALL);
//error_reporting(0);

 set_time_limit(0);
  ini_set('memory_limit','256M'); 
  

  ob_start();
	
  define('__ROOT__', dirname(dirname(__FILE__))); 
//  require_once(__ROOT__.'/siga_postgrado/html/ClsGeneradorHtml.class.php'); 
//  require_once(__ROOT__.'/siga_postgrado/Connections/dbms.class.php');
//  require_once(__ROOT__.'/siga_postgrado/Connections/dbmy.class.php');

  require_once('html/ClsGeneradorHtml.class.php'); 
  require_once('Connections/dbms.class.php');
  require_once('Connections/dbmy.class.php');

  
	
	extract ($_POST); ///EXTRAE VARIABLES DE POST A VARIABLES SIMPLES CON EL MISMO NOMBRE
	extract ($_GET);

	function celda_color($letrai,$posi,$letraf,$posf,$valor,$hojaActiva,$tamano,$negrita,$encode,$color){
			$hojaActiva->mergeCells($letrai.$posi.':'.$letraf.$posf);
			$x1=$hojaActiva->getStyle($letrai.$posi,$letraf.$posf);
			$x2 =$x1->getAlignment();
			$x2->setWrapText(true);
			$x2->setVertical('center');
			$x2->setHorizontal('center');
			$x3=$x1->getBorders();
			$x4=$x3->getOutline();
			$x4->setBorderStyle(PHPExcel_Style_Border::BORDER_THIN);
			if(!empty($encode)){
				$hojaActiva->setCellValue($letrai.$posi,utf8_encode($valor));
			}else{
				$hojaActiva->setCellValue($letrai.$posi,$valor);				
			}
			$x5=$x1->getFont();
			$x6=$x5->setBold($negrita);
			$x6->setSize($tamano);		
			if(!empty($color)){
				$x7=$hojaActiva->getStyle($letrai.$posi);
				$x8=$x7->getFill();
				$x8->setFillType('solid');
				$x9 = $x8->getStartColor();
				$x9->setARGB('FF808080');
		  }
	}
	
      	function celda($letrai,$posi,$letraf,$posf,$valor,$hojaActiva,$tamano,$negrita){
			$hojaActiva->mergeCells($letrai.$posi.':'.$letraf.$posf);
			$hojaActiva->getStyle($letrai.$posi,$letraf.$posf)->getAlignment()->setWrapText(true);
			$hojaActiva->getStyle($letrai.$posi,$letraf.$posf)->getAlignment()->setVertical(PHPExcel_Style_Alignment::VERTICAL_CENTER);
			$hojaActiva->getStyle($letrai.$posi,$letraf.$posf)->getAlignment()->setHorizontal(PHPExcel_Style_Alignment::HORIZONTAL_CENTER);
			$hojaActiva->getStyle($letrai.$posi.':'.$letraf.$posf)->getBorders()->getOutline()->setBorderStyle(PHPExcel_Style_Border::BORDER_THIN);
			$hojaActiva->setCellValue($letrai.$posi,utf8_decode($valor));
			$hojaActiva->getStyle($letrai.$posi.':'.$letraf.$posf)->getFont()->setBold($negrita)->setSize($tamano);

																
	}

	
	/*function celda($letrai,$posi,$letraf,$posf,$valor,$hojaActiva,$tamano,$negrita){
			$hojaActiva->mergeCells($letrai.$posi.':'.$letraf.$posf);
			$x1=$hojaActiva->getStyle($letrai.$posi,$letraf.$posf);
			$x2 =$x1->getAlignment();
			$x2->setWrapText(true);
			$x2->setVertical(PHPExcel_Style_Alignment::VERTICAL_CENTER);
			$x2->setHorizontal(PHPExcel_Style_Alignment::HORIZONTAL_CENTER);
			$x3=$x1->getBorders();
			$x4=$x3->getOutline();
			$x4->setBorderStyle(PHPExcel_Style_Border::BORDER_THIN);
                        $x3=$x1->getBorders();
			$x4=$x3->getTop();
                        $x4->setBorderStyle(PHPExcel_Style_Border::BORDER_THIN);
			$hojaActiva->setCellValue($letrai.$posi,utf8_decode($valor));
			$x5=$x1->getFont();
			$x6=$x5->setBold($negrita);
			$x6->setSize($tamano);																	
	}*/
	function celda_marco($letrai,$posi,$letraf,$posf,$valor,$hojaActiva,$tamano,$negrita){
			$hojaActiva->mergeCells($letrai.$posi.':'.$letraf.$posf);
			$x1=$hojaActiva->getStyle($letrai.$posi,$letraf.$posf);
			$x2 =$x1->getAlignment();
			$x2->setWrapText(true);
			$x2->setVertical(PHPExcel_Style_Alignment::VERTICAL_CENTER);
			$x2->setHorizontal(PHPExcel_Style_Alignment::HORIZONTAL_CENTER);
			$x3=$x1->getBorders();
			$x4=$x3->getOutline();
			$x4->setBorderStyle(PHPExcel_Style_Border::BORDER_THIN);
                       $x3=$x1->getBorders();
			$x4=$x3->getTop();
                        $x4->setBorderStyle(PHPExcel_Style_Border::BORDER_THIN);
			$hojaActiva->setCellValue($letrai.$posi,utf8_decode($valor));
	 		$x5=$x1->getFont();
			$x6=$x5->setBold($negrita);
			$x6->setSize($tamano);																	
	}
	if (!empty($cmdImprimir)){
		//require_once (__ROOT__.'/siga_postgrado/phpexcel/Classes/PHPExcel/IOFactory.php');
                require_once ('phpexcel/Classes/PHPExcel/IOFactory.php');

		$objPHPExcel = PHPExcel_IOFactory::load("horarios.xls");
		$hojaActiva=$objPHPExcel->setActiveSheetIndex(0);
		$bd =new dbms('mysql','no');
	    
		$seccion=$hdSeccion;
		
		$sql="SELECT `nombre_sede`,`nombre_carrera`,pensum.`nro_pensum` as pen,desc_niveles,periodos.`codigo` as periodo,`secciones`.turno,periodos.id_periodo,secciones.semestre,secciones.seccion,turnos.turno as turn,secciones.sede,secciones.mencion 
				FROM `secciones`
			  left join sedes on secciones.sede = sedes.codigo left join carreras on secciones.carrera = carreras.id_carrera 
			  left join pensum on secciones.pensum = pensum.nro_pensum left join niveles on secciones.nivel = niveles.cod_niveles 
			  left join turnos on secciones.turno = turnos.codigo
			  left join periodos on secciones.periodo = periodos.id_periodo where codigo_seccion=".$seccion;
		$bd->EjecutarQuery($sql);
		$datos=$bd->DataObjeto();
		if($bd->count()>0){
				//$hojaActiva->setCellValue('A3',"Período: ".$datos->periodo);
				$hojaActiva->setCellValue('A3',"Programa: ".$datos->nombre_carrera);
				$hojaActiva->setCellValue('H3',"Componente: ".$datos->desc_niveles);
				$hojaActiva->setCellValue('L3',"Sede: ".$datos->nombre_sede);
				$hojaActiva->setCellValue('A4',"Período: ".$datos->periodo);
				$hojaActiva->setCellValue('C4',"Semestre: ".$datos->semestre);
				$hojaActiva->setCellValue('G4',"Sección: ".$datos->seccion);
                                $hojaActiva->setCellValue('I4',"Mención: ".$datos->mencion);
				$hojaActiva->setCellValue('L4',"Turno: ".$datos->turn);

				$sql="SELECT  horas.codigo_hora,CONCAT(DATE_FORMAT(`hora_ini`,'%h:%i:%s'),'-',DATE_FORMAT(`hora_fin`,'%h:%i:%s')) as hora   FROM `horas` 
				inner join `turno_horas` on turno_horas.codigo_hora = horas.codigo_hora 
				WHERE turno_horas.`estatus_turno_horas` ='V' and turno_horas.`codigo_turno` =".$datos->turno."  and horas.codigo_sede='".$datos->sede."'";		
				$bd->EjecutarQuery($sql);
				$datosHoras=$bd->DatosArray();
				$posinicial = 7;
				$posifinal=9;	

				foreach ($datosHoras as $valuehoras){			
					celda('A',$posinicial,'B',$posifinal,$valuehoras['hora'],$hojaActiva,8,false);
					for($i=1;$i<7;$i++){
						$sql="SELECT materias.`nombre_materia` as materia,
										`horarios`.`codigo_aula`,`desc_aula`,
										`horarios`.`codigo_horario`,
										concat(nombres,' ',apellidos) as Nombres 
										FROM `horarios` inner join 
										`materias` on `horarios`.id_materia = materias.id_materia 
										left join aulas on horarios.codigo_aula = aulas.codigo_aula 
										left join  oferta_academica on `horarios`.seccion= `oferta_academica`.codigo_seccion 
										and `horarios`.id_periodo =`oferta_academica`.`id_periodo` 
										and `horarios`.id_materia =`oferta_academica`.id_materia 
										left join `docentes` on  `oferta_academica`.id_profesor  =  `docentes`.`id_docente` 
						WHERE `horarios`.`codigo_dia`=".$i." and `horarios`.`codigo_hora` = ".$valuehoras['codigo_hora']." 
						and `horarios`.`id_periodo` = ".$datos->id_periodo."    
						and `horarios`.seccion ='".$seccion."'";
						$bd->EjecutarQuery($sql);
						$datosVerificar=$bd->DataObjeto();
						if($bd->count()>0){
							/*if($i==1){
								celda('C',$posinicial,'D',$posifinal,utf8_encode($datosVerificar->materia."\n".$datosVerificar->Nombres."\n"."Aula".$datosVerificar->desc_aula),$hojaActiva,8,false);
						    }elseif($i==2){
								celda('E',$posinicial,'F',$posifinal,utf8_encode($datosVerificar->materia."\n".$datosVerificar->Nombres."\n"."Aula".$datosVerificar->desc_aula),$hojaActiva,8,false);
						    }elseif($i==3){
								celda('G',$posinicial,'H',$posifinal,utf8_encode($datosVerificar->materia."\n".$datosVerificar->Nombres."\n"."Aula".$datosVerificar->desc_aula),$hojaActiva,8,false);
						    }elseif($i==4){
								celda('I',$posinicial,'J',$posifinal,utf8_encode($datosVerificar->materia."\n".$datosVerificar->Nombres."\n"."Aula".$datosVerificar->desc_aula),$hojaActiva,8,false);
						    }elseif($i==5){
								celda('K',$posinicial,'L',$posifinal,utf8_encode($datosVerificar->materia."\n".$datosVerificar->Nombres."\n"."Aula".$datosVerificar->desc_aula),$hojaActiva,8,false);
						    }elseif($i==6){
								celda('M',$posinicial,'N',$posifinal,utf8_encode($datosVerificar->materia."\n".$datosVerificar->Nombres."\n"."Aula".$datosVerificar->desc_aula),$hojaActiva,8,false);
							}*/
							if($i==1){
								celda('C',$posinicial,'D',$posifinal,utf8_encode($datosVerificar->materia."\n"."Aula".$datosVerificar->desc_aula),$hojaActiva,10,false);
						    }elseif($i==2){
								celda('E',$posinicial,'F',$posifinal,utf8_encode($datosVerificar->materia."\n"."Aula".$datosVerificar->desc_aula),$hojaActiva,10,false);
						    }elseif($i==3){
								celda('G',$posinicial,'H',$posifinal,utf8_encode($datosVerificar->materia."\n"."Aula".$datosVerificar->desc_aula),$hojaActiva,10,false);
						    }elseif($i==4){
								celda('I',$posinicial,'J',$posifinal,utf8_encode($datosVerificar->materia."\n"."Aula".$datosVerificar->desc_aula),$hojaActiva,10,false);
						    }elseif($i==5){
								celda('K',$posinicial,'L',$posifinal,utf8_encode($datosVerificar->materia."\n"."Aula".$datosVerificar->desc_aula),$hojaActiva,10,false);
						    }elseif($i==6){
								$sql="SELECT  codigo_hora,CONCAT(`hora_ini`,'-',`hora_fin`) as  horas FROM horas_equivalencia 
										WHERE codigo_hora = ".$valuehoras['codigo_hora'];										
										$bd->EjecutarQuery($sql);
										$datosEquivalencia=$bd->DataObjeto();celda('M',$posinicial,'N',$posifinal,utf8_encode($datosVerificar->materia."\n"."Aula".$datosVerificar->desc_aula."\n".$datosEquivalencia->horas),$hojaActiva,8,false);
							}
						}else{
							if($i==1){
								celda('C',$posinicial,'D',$posifinal,"",$hojaActiva,10,false);
						    }elseif($i==2){
								celda('E',$posinicial,'F',$posifinal,"",$hojaActiva,10,false);
						    }elseif($i==3){
								celda('G',$posinicial,'H',$posifinal,"",$hojaActiva,10,false);
						    }elseif($i==4){
								celda('I',$posinicial,'J',$posifinal,"",$hojaActiva,10,false);
						    }elseif($i==5){
								celda('K',$posinicial,'L',$posifinal,"",$hojaActiva,10,false);
						    }elseif($i==6){
								celda('M',$posinicial,'N',$posifinal,"",$hojaActiva,10,false);
							}							
						}
					}
					$posinicial=$posifinal+1;
					$posifinal=$posifinal+3;

				}
				$posinicial = 6;
				$posifinal=8;					

				/*$datosVerificar=$bd->DataObjeto();
				foreach ($datosMaterias as $valueMaterias){			
					celda('C',$posinicial,'D',$posifinal,$valueMaterias['materia'],$hojaActiva,8,false);
					$posinicial=$posifinal+1;
					$posifinal=$posifinal+2;
				
				}*/
		}




			//ob_get_flush();
				ob_end_clean();
    
					// Redirect output to a clients web browser (Excel5)
					header('Content-Type: application/vnd.ms-excel;charset=utf-8');
					header('Content-Disposition: attachment;filename="Reporte Horarios.xls"');
					header('Cache-Control: max-age=0');

					$objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel5');
					///$objWriter->save('./pdf_files/ICR_'.$mes.'-'.$ano.'.xls');
					$objWriter->save('php://output');
	}else{	

		$ClsGeneradorHtml=new ClsGeneradorHtml("","");
		$forma= $ClsGeneradorHtml->Pagina_Top("Gestiona Horarios","",$script);
		echo $forma;
		echo $ClsGeneradorHtml->Pagina_Inicio_Body();
	    echo "<FORM  method='POST' name='frmcerrar' target='_self' title='Clientes'>
					<center>
						 <INPUT TYPE='SUBMIT'  name='cmdImprimir' value='Imprimir' align='middle'   title='Generar' >
						<INPUT TYPE='SUBMIT'   name='cmdCerrar' value='Cerrar' align='middle'  onClick='window.close();' title='Cerrar' >
			  </center>";
		echo $ClsGeneradorHtml->htmlHidden("hdSeccion",$seccion);

		echo "</FORM>";	
		echo $ClsGeneradorHtml->Pagina_Fin_Body();
		echo $ClsGeneradorHtml->Pagina_Fin_Html();
		

	}

?>
