<?php

require_once "../app/model/db.class.php";


    $obj = new database();

    $obj->conectar(); $obj->consulta("set names 'utf8'");
    

	$consulta = "SELECT matriculas.grado, grados.descripcion AS nom_grad, matriculas.curso, cursos.descripcion AS nom_cur,
                     cursos.jornada, jornadas.descripcion AS nom_jor, sedes.codigo as cod_sede, sedes.descripcion AS nom_sede, alumnos.codigo,
                     alumnos.p_apellido, alumnos.s_apellido, alumnos.p_nombre,alumnos.s_nombre, matriculas.estado, matriculas.no_matricula,
                     matriculas.fecha_matri, matriculas.ano_lectivo, alumnos.tipodoc, alumnos.nodoc, alumnos.dptoexped, alumnos.mcpioexped,
                     alumnos.direccion, alumnos.telefono, alumnos.dptores, alumnos.mcpiores, alumnos.zona, alumnos.localidad,
                     alumnos.barrio, alumnos.estrato, alumnos.sisben, alumnos.fechanac, alumnos.dptonac, alumnos.mcpionac, alumnos.sexo,
                     alumnos.tiposangre, alumnos.victimaconflicto, alumnos.dptoexpulsor, alumnos.mcpioexpulsor, alumnos.sectorprivado,
                     alumnos.otromcpio, alumnos.discapacidad, alumnos.capacidades, alumnos.etnia, alumnos.resguardo, alumnos.ars,
                     alumnos.eps, alumnos.fechaingreso, alumnos.padre, alumnos.madre, alumnos.acudiente, alumnos.parentesco,
                     alumnos.subsidiado, alumnos.nuevo, alumnos.sit_aca_ante, alumnos.id_especialidad, alumnos.dpto_procedencia,
                     alumnos.mpio_procedencia, alumnos.nacion, alumnos.pais_residencia, alumnos.celular, alumnos.condicion_fin_anno,
                     alumnos.puntage_sisben, alumnos.correo FROM sedes INNER JOIN ((jornadas INNER JOIN (grados INNER JOIN cursos ON
                     grados.codigo = cursos.grado) ON jornadas.codigo = cursos.jornada) INNER JOIN (alumnos INNER JOIN matriculas ON
                     alumnos.codigo = matriculas.codigo) ON (cursos.grado = matriculas.grado) AND (cursos.codigo = matriculas.curso))
                     ON sedes.codigo = cursos.sede";
    

        $resultado = $obj->consulta($consulta);
        $numero = $obj->numero_de_filas($resultado); // obtenemos el numero de registros

        if($numero > 0 ){

		date_default_timezone_set('America/Mexico_City');

		if (PHP_SAPI == 'cli')
			die('Este archivo solo se puede ver desde un navegador web');

		/** Se agrega la libreria PHPExcel */
		require_once '../PHPExcel/PHPExcel.php';

		// Se crea el objeto PHPExcel
		$objPHPExcel = new PHPExcel();

		// Se asignan las propiedades del libro
		$objPHPExcel->getProperties()->setCreator("IE Don_Quijote") //Autor
					     ->setLastModifiedBy("Nohora Leiva") //Ultimo usuario que lo modificó
					     ->setTitle("Reporte de Alumnos")
					     ->setSubject("Reporte de Alumnos")
					     ->setDescription("Reporte de Alumnos")
					     ->setKeywords("Reporte de Alumnos")
					     ->setCategory("Reporte excel");

                /*------------------------------------------------------*/
                $resultadoie = $obj->consulta("SELECT * from registrar");
                $fila_ie = $obj->fetch_assoc($resultadoie);
	              $tituloReporte = $fila_ie['institucion'];
                /*------------------------------------------------------*/

		// Se agregan los titulos del reporte
		$objPHPExcel->setActiveSheetIndex(0)
			    ->setCellValue('D1',$tituloReporte);

                $numfields = mysql_num_fields($resultado);

                //***********************************************+

                $head = 4;

                //Devuelve la ultima columna utilizada en este caso la B
                //$lastColumn =$objPHPExcel->getActiveSheet()->getHighestColumn();
                
                $lastColumn ='A';

                for ($i=0; $i < $numfields; $i++){ //    Encabezados columnas
                    $objPHPExcel->setActiveSheetIndex(0)->setCellValue($lastColumn.$head, strtoupper(mysql_field_name($resultado, $i)) );
                    
                    if ($lastColumn =='AV'){
                        $lastColumn++;
                        $objPHPExcel->setActiveSheetIndex(0)->setCellValue($lastColumn.$head, "NOMBRE PADRE");
                        
                        $lastColumn++;
                        $objPHPExcel->setActiveSheetIndex(0)->setCellValue($lastColumn.$head, "TEL. PADRE");
                        
                    }

                    //--------

                    if ($lastColumn =='AY'){
                        $lastColumn++;
                        $objPHPExcel->setActiveSheetIndex(0)->setCellValue($lastColumn.$head, "NOMBRE MADRE");
                        
                        $lastColumn++;
                        $objPHPExcel->setActiveSheetIndex(0)->setCellValue($lastColumn.$head, "TEL. MADRE");
                        
                    }
 
                    //--------
                    
                    if ($lastColumn =='BB'){
                        $lastColumn++;
                        $objPHPExcel->setActiveSheetIndex(0)->setCellValue($lastColumn.$head, "NOMBRE ACUDIENTE");

                        $lastColumn++;
                        $objPHPExcel->setActiveSheetIndex(0)->setCellValue($lastColumn.$head, "TEL. ACUDIENTE");                        
                        
                    }                    
                    
                    //--------

                    $lastColumn++; //va iterando desde la C,D,E,F,G...n en la fila 3 ($head)
                 }

                 $lastColumn =$objPHPExcel->getActiveSheet()->getHighestColumn();


                 $i = 5;
                 $ultima=0;
                 
		 while ($fila = $obj->fetch_assoc($resultado)){

                    $lastColumn ='A';

                    foreach ($fila as $col_value) {

                        $objPHPExcel->setActiveSheetIndex(0)->setCellValue($lastColumn.$i, $col_value);

                        if ($lastColumn =='AV'){
                             $lastColumn++;

                             $consulta1 = "SELECT CONCAT(p_nombre,' ',s_nombre,' ',p_apellido,' ',s_apellido) AS nombresf,telres FROM datosfamiliares WHERE cedula='".$col_value."'";

                             $resultado1 = $obj->consulta($consulta1);
                             $fila1 = $obj->fetch_assoc($resultado1);

                            $objPHPExcel->setActiveSheetIndex(0)->setCellValue($lastColumn.$i, $fila1['nombresf']);
                            $lastColumn++;
                            $objPHPExcel->setActiveSheetIndex(0)->setCellValue($lastColumn.$i, $fila1['telres']);
                        }

                        //------------
                        
                        if ($lastColumn =='AY'){
                             $lastColumn++;

                             $consulta1 = "SELECT CONCAT(p_nombre,' ',s_nombre,' ',p_apellido,' ',s_apellido) AS nombresf,telres FROM datosfamiliares WHERE cedula='".$col_value."'";

                             $resultado1 = $obj->consulta($consulta1);
                             $fila1 = $obj->fetch_assoc($resultado1);

                            $objPHPExcel->setActiveSheetIndex(0)->setCellValue($lastColumn.$i, $fila1['nombresf']);
                            $lastColumn++;
                            $objPHPExcel->setActiveSheetIndex(0)->setCellValue($lastColumn.$i, $fila1['telres']);
                        }

                        //------------

                        if ($lastColumn =='BB'){
                            $lastColumn++;

                             $consulta1 = "SELECT CONCAT(p_nombre,' ',s_nombre,' ',p_apellido,' ',s_apellido) AS nombresf,telres FROM datosfamiliares WHERE cedula='".$col_value."'";

                             $resultado1 = $obj->consulta($consulta1);
                             $fila1 = $obj->fetch_assoc($resultado1);

                            $objPHPExcel->setActiveSheetIndex(0)->setCellValue($lastColumn.$i, $fila1['nombresf']);
                            $lastColumn++;
                            $objPHPExcel->setActiveSheetIndex(0)->setCellValue($lastColumn.$i, $fila1['telres']);
                        }
                        //------------

                        $lastColumn++; //va iterando desde la C,D,E,F,G...n en la fila 3 ($head)
                    }
                    
                     $i++;
                     $ultima=$i;
                }

                $estiloInformacion = new PHPExcel_Style();
                $estiloInformacion->applyFromArray(
                            array(
                            'font' => array(
                            'name'      => 'Arial',
                            'size'      =>10,
                            'color'     => array(
                            'rgb' => '000000'
                    )
                    ),

                     'borders' => array(
                     'allborders' => array(
                     'style' => PHPExcel_Style_Border::BORDER_THIN
                    )
                  )

                  ));

                //---- Ancho de Columnas -----

//                $lastColumn ='BN';
//
//                for($i = 'A'; $i <= $lastColumn; $i++){
//			$objPHPExcel->setActiveSheetIndex(0)
//				    ->getColumnDimension($i)->setWidth(TRUE);
//		}

                //--- Coloca recuadros a las celdas -----

                $objPHPExcel->getActiveSheet()->setSharedStyle($estiloInformacion, "A4:BN".$ultima);




		// Se asigna el nombre a la hoja
		$objPHPExcel->getActiveSheet()->setTitle('Datos_Alumnos');

		// Se activa la hoja para que sea la que se muestre cuando el archivo se abre
		$objPHPExcel->setActiveSheetIndex(0);

		// Se manda el archivo al navegador web, con el nombre que se indica (Excel2007)
		header('Content-Type: application/vnd.openxmlformats-officedocument.spreadsheetml.sheet');
		header('Content-Disposition: attachment;filename="Alumnos_Excel.xlsx"');
		header('Cache-Control: max-age=0');

		$objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel2007');
		$objWriter->save('php://output');
		exit;

	}
	else{
		print_r('No hay resultados para mostrar');
	}
?>