<?php

//include('seguridad.php')
require_once("../../../../dompdf/dompdf_config.inc.php");
require_once "../../../../dompdf/www/functions.inc.php";


require_once '../../../../app/model/db.class.php';
require_once '../../../../app/model/bs_info_col.php';
require_once '../rangos.php';

function eliminarDir($carpeta) {
    foreach (glob($carpeta . "/*") as $archivos_carpeta) {

        if (is_dir($archivos_carpeta)) {
            eliminarDir($archivos_carpeta);
        } else {
            unlink($archivos_carpeta);
        }
    }

    rmdir($carpeta);
}

function comprimir($nombre_carpeta) {

    $zip = new ZipArchive();
    if ($zip->open($nombre_carpeta . ".zip", ZIPARCHIVE::CREATE) == TRUE) {
        //Si lo abre, es porque no existe ningun zip con ese nombre
        //Llam�mos a la funci�n para comprimir
        comprimirDirectorio($nombre_carpeta, $zip);
        //Cerramos el archivo
        $zip->close();
    }
}

//A la funci�n le pasamos como parametro el directorio y el archivo zip
function comprimirDirectorio($dir, $zip) {
    //Primero comprabamos que sea un directorio
    if (is_dir($dir)) {
        //Por cada elemento dentro del directorio
        foreach (scandir($dir) as $item) {
            //Evitamos la carpeta actual y la anterior
            if ($item == '.' || $item == '..')
                continue;
            //Si encuentra una que no sea las anteriores,
            //vuelve a llamar a la funci�n, con un nuevo directorio
            comprimirDirectorio($dir . "/" . $item, $zip);
        }
    }else {
        //En el caso de que sea un archivo, lo a�ade al zip
        $zip->addFile($dir);
    }
}

function truncateFloat($number, $digitos) {
    $raiz = 10;
    $multiplicador = pow($raiz, $digitos);
    $resultado = ((int) ($number * $multiplicador)) / $multiplicador;
    return number_format($resultado, $digitos);
}

function decimales($nota){

     if (strlen($nota)==1) {
         $nota=$nota.".0";
     }

     if (strlen($nota)>3) {
         $nota=substr($nota ,0,3);
     }

    return $nota;

}

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

 function ceros($nota){

     if (strlen($nota)==1)
        $nota="000".$nota;
     
     elseif (strlen($nota)==2)
         $nota="00".$nota;
     elseif (strlen($nota)==2)
         $nota="0".$nota;

    return $nota;

}


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

function leyenda($cod){

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

    

    $alum=$obj->consulta("SELECT matriculas.codigo, CONCAT(alumnos.p_nombre,' ',alumnos.s_nombre,' ',alumnos.p_apellido,' ',alumnos.s_apellido) as nombres, alumnos.tipodoc, alumnos.nodoc, alumnos.mcpioexped, alumnos.dptoexped,matriculas.grado, matriculas.curso,matriculas.promovido
                          FROM alumnos INNER JOIN matriculas ON alumnos.codigo = matriculas.codigo WHERE matriculas.codigo='".$cod."'");
    

    $row= $obj->fetch_assoc($alum);



    $infogrado=$obj->consulta("select * from grados where codigo='".$row['grado']."'");
    $grado = $obj->fetch_assoc($infogrado);



    $infocur=$obj->consulta("select * from cursos where grado='".$row['grado']."' and codigo='".$row['curso']."'");
    $curso = $obj->fetch_assoc($infocur);

            
            
    $infjor=$obj->consulta("select * from jornadas where codigo='".$curso['jornada']."'");
    $jornada = $obj->fetch_assoc($infjor);

  

    $leyen="Que ".($row['nombres']);
    $leyen.=" identificada con  documento No.".$row['nodoc'] ;

    $leyen.=" curs&oacute; y";

    if($row['promovido']=='SI'){
        $leyen.=" aprob&oacute;";
    }else{
        $leyen.=" reprob&oacute;";
    }

    $rs=$obj->consulta("select * from parametros");
    $row1=$obj->fetch_assoc($rs);


        if ($row['grado']==0)
        $nivel='Nivel Acad&eacute;mico de Educaci&oacute;n Preescolar';
        
    elseif (($row['grado']>=1)&& ($row['grado']<=5))                        
        $nivel='Nivel Acad&eacute;mico de Educaci&oacute;n B&aacute;sica Primaria';

    elseif (($row['grado']>=6)&& ($row['grado']<=9))                        
        $nivel='Nivel Acad&eacute;mico de Educaci&oacute;n B&aacute;sica Secundaria';

    elseif (($row['grado']==10)||($row['grado']==11)){
    
          if ($row['curso']==1)
              $nivel='Nivel Acad&eacute;mico de Educaci&oacute;n Media';
              
          elseif (($row['curso']==2)||($row['curso']==3))     
                 $nivel='Nivel T&eacute;cnico de Educaci&oacute;n Media';
              
    }


    $leyen.=" en esta Instituci&oacute;n Educativa estudios correspondientes al";
    $leyen.=" grado ".($grado['descripcion'])." de ".($nivel);
    $leyen.=" en el a&ntilde;o ".date('Y').", de conformidad con el Decreto 1290 del 16 de Abril de 2009.";

    return $leyen;

    $obj->disconnect();

}

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

function notas($codigo){

      $obj = new database();
      $obj->conectar(); $obj->consulta("set names 'utf8'");
      
      
           
      $obj->consulta("delete from certificado_final");

      $obj->consulta("insert into certificado_final ( asignatura, i_h, definitiva, nivel, orden ) select catalogo.descripcion,
                         curso_asignatura_profesor.intensidad, notas_finales_asign.definitiva, notas_finales_asign.valor_asigna, catalogo.orden
                         from curso_asignatura_profesor inner join (catalogo inner join notas_finales_asign on catalogo.codigo = notas_finales_asign.asignatura) 
                         on (curso_asignatura_profesor.asignatura = notas_finales_asign.asignatura) and (curso_asignatura_profesor.curso = notas_finales_asign.grupo) and (curso_asignatura_profesor.grado = notas_finales_asign.grado)
                         where notas_finales_asign.codigo='".$codigo."' order by catalogo.orden");

        $resul=$obj->consulta("select * from certificado_final order by orden asc;");

        $s="<table cellspacing='0' cellpadding='0' border='1' width='90%'  align='center' >";

        $s.="<tr>";
        $s.="<th width=60%>AREAS Y/O ASIGNATURAS</th>";
        $s.="<th width='10%'>I_H</th>";

        $s.="<th width='10%'>DEF.</th>";
        $s.="<th width='20%'>DESEMPE&Ntilde;O</th>";

        $s.="</tr>";

        while($row=$obj->fetch_assoc($resul))
        {

           $s.="<tr>";
           $s.="<td> ".($row['asignatura'])."</td>"; 
           $s.="<td align='center'> ".$row['i_h']."</td>";
           
           $s.="<td align='center'> ".decimales($row['definitiva'])."</td>";
           $s.="<td align='center'>".$row['nivel']."</td>";
           $s.="</tr>";
          
        }
          $s.="</table>"; 

         return $s;
         

      $obj->disconnect();
}

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

function generar_pdf($carpeta, $html, $codigo) {

    $dompdf = new DOMPDF();
    $dompdf->load_html($html);
    $dompdf->set_paper('a4', 'portrait');
    $dompdf->render();
    $output = $dompdf->output();
    file_put_contents($carpeta . '/' . $codigo . '.pdf', $output);
}

function descript($tabla, $cod, $cod2) {
    $obj = new database();
    $obj->conectar(); $obj->consulta("set names 'utf8'");
    $rs = $obj->consulta("select * from " . $tabla . " where codigo='" . $cod . "' and grado='" . $cod2 . "';");
    $info = $obj->fetch_assoc($rs);
    return $info['descripcion'];
}


//***************************************************************************
//***************************************************************************
//***************************************************************************


$grado = $_REQUEST['grado'];
$curso = $_REQUEST['curso'];
$folio = $_REQUEST['folio'];



if (empty($_REQUEST['incr']))
    $e = 0;
else
    $e = $_REQUEST['incr'];

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

$nm = $obj->consulta("select * from matriculas where grado='" . $grado . "' and curso='" . $curso . "' and estado='A' ;");
$tot = $obj->numero_de_filas($nm);

$obj->disconnect();



if (empty($_REQUEST['carp'])) {
    $nombre_carpeta = '';
} else {
    $nombre_carpeta = $_REQUEST['carp'];
}


if ($tot > 0) {

    $resultadoe = $obj->consulta("SELECT matriculas.codigo, CONCAT(alumnos.p_nombre,' ',alumnos.s_nombre,' ',alumnos.p_apellido,' ',alumnos.s_apellido) as nombres
                                   FROM alumnos INNER JOIN matriculas ON alumnos.codigo = matriculas.codigo WHERE matriculas.grado='" . $grado . "' and matriculas.curso='" . $curso . "' and matriculas.estado='A' order by nombres limit " . $e . ",10;");
  

    while ($x = $obj->fetch_assoc($resultadoe)) {

        $codigo = $x['codigo'];

        $obj = new database();
        $obj->conectar(); $obj->consulta("set names 'utf8'");
        
        
        //---- Informacion Colegio
        $rs = $obj->consulta("select * from registrar");
        $info = $obj->fetch_assoc($rs);

        //--------------------------
        $rsinfoalumno = $obj->consulta("select * from matriculas where codigo='" . $codigo . "' and estado='A';");
        $infoalumno = $obj->fetch_assoc($rsinfoalumno);

        //-------------------------- Informacion Personal Alumno
        $rsinfoalumno_per = $obj->consulta("select * from alumnos where codigo='" . $infoalumno['codigo'] . "'");
        $infoalumno_per = $obj->fetch_assoc($rsinfoalumno_per);


        //--------------------------- Informacion Curso
        $rscur = $obj->consulta("select * from cursos where codigo='" . $infoalumno['curso'] . "' and grado='" . $infoalumno['grado'] . "';");
        $infocur = $obj->fetch_assoc($rscur);

        //--------------------------- Informacion Jornada
        $rsjor = $obj->consulta("select * from jornadas where codigo='" . $infocur['jornada'] . "';");
        $info_jor = $obj->fetch_assoc($rsjor);

        //--------------------------- Informacion Sede
        $rssed=$obj->consulta("select * from sedes where codigo='".$infocur['sede']."';");
        $info_sede=$obj->fetch_assoc($rssed);

        $rsper = $obj->consulta("select * from periodos where codigo='" . $periodo . "';");
        $info_per = $obj->fetch_assoc($rsper);
        $obj->disconnect();
        
        if(($info_jor['descripcion'])==='MA?ANA')
         {
            $jornada= ($info_jor['descripcion']);          
         }else{
             $jornada= $info_jor['descripcion']; 
         }
  
  
         //-------- Informacion Colegio --------

            $rs=$obj->consulta("select * from parametros");
            $row=$obj->fetch_assoc($rs);

  
$html="
<html>
<head><meta http-equiv='expires' content='0'><meta http-equiv='Cache-Control' content='no-cache'><meta http-equiv='Pragma' CONTENT='no-cache'>
<title>LIBRO FINAL</title>
</head>

<body>

</center>
<table align='center'>
<tr>

<td>
<img height='90' width='90' src='../../../../fotografias/escudo.jpg'/>&nbsp;&nbsp;&nbsp;
</td>

<td>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</td>

<td align='center'>
    <b>REPUBLICA DE COLOMBIA</b><br>
    <b>   DEPARTAMENTO DEL CAQUET&Aacute;</b><br>
       <b>INSTITUCI&Oacute;N EDUCATIVA SAGRADOS CORAZONES</b><br><br>
       Creada mediante Decreto 0159 de diciembre de 2013<br>
       Educaci&oacute;n Preescolar, B&aacute;sica, Media y T&eacute;cnica<br>
       Florencia - Caquet&aacute;
       
</td>
<td>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</td>
<td></td>
</tr>
</table>


<table id='font'  width='90%'  align='center'>
<tr> 
<td align='right'><b>FOLIO No.  ".$row['anolectivo']." - ".ceros($folio)."</b></td>
<tr>
</table>


<table id='font'  width='90%'  align='center'>
<tr> 
<td align='center'><b>EL RECTOR Y LA SECRETARIA DE LA INSTITUCI&Oacute;N EDUCATIVA <br>SAGRADOS CORAZONES</b></td>
<tr>
</table>

<br>

<CENTER><b>CERTIFICAN<b></CENTER>

<table id='font' width='90%'  align='center'>
<tr>
    <td style='font-size:14px'>
    <p align='justify'>
        
        ".leyenda($codigo)."
        
    </p>
   </td>
<tr>
</table>";


$html.=notas($codigo);

$html.="<table style='font-size:11px' cellspacing='0' cellpadding='0' border='1' width='90%'  align='center' >";
$html.="<tr>";
$html.="<td>ESCALA DE VALORACI&Oacute;N:</td>";
$html.="<td align='center'>BAJO (0.0 - 2.9)</td>";
$html.="<td align='center'>B&Aacute;SICO (3.0 - 3.9)</td>";
$html.="<td align='center'>ALTO (4.0 - 4.4)</td>";
$html.="<td align='center'>SUPERIOR (4.5 - 5.0)</td>";
$html.="</tr>";

$prom=$obj->consulta("select * from rendimiento_general where periodo='5' and alumno='".$codigo."'");               
$nota_prom = $obj->fetch_assoc($prom);

$html.="<tr><td>PROMEDIO GENERAL</td>   <td align='center'>".substr($nota_prom['promedio'], 0, 3)."</td>";
$html.="<td colspan=2>NIVEL DE DESEMPE&Ntilde;O GENERAL</td>  <td align='center'>".$nota_prom['nivel_desempeno']."</td>";
$html.="</tr></table></center>";

//------------------ Observaciones de la estudiante ----------------------------

      $observ=$obj->consulta("select observacion from matriculas where codigo='".$codigo."' and estado='A'");
      $row11=$obj->fetch_assoc($observ);

      if ($row11['observacion']!=null){

        $html.="<table  width='90%'  border='0' id='font' align='center'>
        <tr>
           <td style='font-size: 13px'>
             OBSERVACI&Oacute;N :".$row11['observacion']."
           </td>
        </tr>

        </table>";
     }
     
//------------------------------------------------------------------------------




$dias = array("Domingo","Lunes","Martes","Miercoles","Jueves","Viernes","S&aacute;bado");
$meses = array("Enero","Febrero","Marzo","Abril","Mayo","Junio","Julio","Agosto","Septiembre","Octubre","Noviembre","Diciembre");


$html.="<table  width='90%'  align='center' id='font'>
    <tr>
        <td>
            El presente certificado no necesita de autenticaci&oacute;n en Notar&iacute;a alguna ni VoBo del Delegado
            de MEN, en virtud de los decretos 1024/82 y 1789/88, respectivamente.
            
             <br> <br>
             Dado en Florencia - Caquet&aacute;, el d&iacute;a ". $dias[date('w')]." ".date('d')." de ".$meses[date('n')-1]. " del ".date('Y') ."

    </tr>

</table>";

//------------------------------------------------------------------------------------------------
if (($infoalumno['grado']==10) || ($infoalumno['grado']==11)){
    $html.="<br><br>";
} 
else{
    $html.="<br><br><br>";
}



$html.="<table width='85%' border='0' align='center'>";
$html.="<tr><td><hr width='90%'></td>    <td><hr width='90%'></td></tr>";

$html.="<tr><td style='font-size: 12px; text-align:center;'><b>".($row['rector'])."</b></td>     
            <td style='font-size: 12px; text-align:center;'><b>".($row['secretario'])."</b></td></tr>";

$html.="<tr><td style='font-size: 12px; text-align:center;'>".($row['cedula_rector'])."</td>     
            <td style='font-size: 12px; text-align:center;'>".($row['cedula_secretario'])."</td></tr>";

$html.="<tr><td style='font-size: 11px; text-align:center;'>RECTOR</td>     
            <td style='font-size: 11px; text-align:center;'>SECRETARIA</td></tr>";

$html.="</table><br>";  


$html.="</body> </html>";
        


$folio=$folio+1;

        
         
        $nombre_carpeta = $infocur['descripcion'];

        if (!is_dir($nombre_carpeta)) {
            @mkdir($nombre_carpeta . '/', 0700);
        }

        generar_pdf($infocur['descripcion'], ($html), $codigo);
    }



    $e = $e + 10;

    if ($e > $tot) {
        
            //Creamos el archivo
            $zip = new ZipArchive();
            if ($zip->open($nombre_carpeta.".zip", ZIPARCHIVE::CREATE)==TRUE) {
               //Si lo abre, es porque no existe ningun zip con ese nombre
               //Llam�mos a la funci�n para comprimir
               comprimirDirectorio($nombre_carpeta, $zip);
               //Cerramos el archivo
               $zip -> close();
            }
            while($codigo=$obj->fetch_assoc($nm)){
                $archivos[]=$codigo['codigo'];
              }


            for ($index = 0; $index < count($archivos); $index++) {
                
                unlink($nombre_carpeta.'/'.$archivos[$index].'.pdf');
            }
            
            rmdir($nombre_carpeta); 
            
            $file = $nombre_carpeta.".zip"; 
            header("Content-Transfer-Encoding: binary"); 
            header("Content-type: application/octet-stream"); 
            header("Content-Disposition: attachment; filename=".basename($file)); 
            header("Content-Length: ".filesize($file)); 
            readfile($file); 
            
            unlink($file);
         
    } else {

//        echo "<a href='boletin_academico_curso.php?carp=" . $nombre_carpeta . "&per=" . $periodo . "&grado=" . $grado . "&curso=" . $curso . "&incr=" . $e . "'>sgt</a>";

        header('Location: boletin_academico_curso.php?carp=' . $nombre_carpeta . '&per=' . $periodo . '&grado=' . $grado . '&curso=' . $curso . '&incr=' . $e . '&folio=' . $folio);
    }
}
?>