<?php
    require_once '../include/bd_pdo.php';
    require_once '../include/mpdf/autoload.php';
    require_once '../classes/Archivos.php';
    session_start();

    $tipo = $_POST["tipo"];
    $u_id = $_SESSION['usuario_id'];
    // print_r($u_id);
    switch($tipo) {
        case 1:
            // $p1_servicio = $_POST["cert-ss"];
            $p1_estudios = $_POST["fecha_estudios"];
            $p1_titulacion = $_POST["opc_titulacion"];
            try{                
                if (!Archivos::existeCapeta('archivos/alumnos/' . $u_id)) {
                    Archivos::creaCarpeta('archivos/alumnos/' . $u_id);                 
                }
                $nombre = '';
                $nombre .= "Certificado_ServicioSocial.pdf";                
                Archivos::agregaArchivo($_FILES['cert-ss']['tmp_name'][0],'archivos/alumnos/'.$u_id, $nombre);

                $p1_rutaservicio = Archivos::rutaArchivo('archivos/alumnos/'.$u_id,$nombre);
                $p1_rutaservicio = substr($p1_rutaservicio,22);
                
                $stmt = $pdo -> prepare('select * from tit_fi_alta(:u_id,:p1_rutaservicio,:p1_estudios,:p1_titulacion)');
                $stmt -> bindParam(":u_id",$u_id);
                $stmt -> bindParam(":p1_rutaservicio",$p1_rutaservicio);
                $stmt -> bindParam(":p1_estudios",$p1_estudios);
                $stmt -> bindParam(":p1_titulacion",$p1_titulacion);

                if(!$stmt->execute()){
                    $return["error"]="Error en la inserción de datos...";
                    // header("Location:../titulacion.php?error=0");
                    // exit();
                    }
                else
                {
                    $stmt -> closeCursor();
                    $return["exito"]="Insercion de datos correcta!";
                    // header("Location:../titulacion.php?ok=0");                    
                }    
            }
            catch(Exception $E){
                print_r($E);
            }
            break;
        case 2:
            // $p2_formgeneral = $_POST["fg_titulo"];
            // $p2_idoficial = $_POST["id_oficial"];
            try{
                $nombre1 = '';
                $nombre1 .= "Formato_NombreTitulo.pdf";                
                $nombre2 = '';
                $nombre2 .= "ID_Oficial.pdf";                

                Archivos::agregaArchivo($_FILES['form-ge']['tmp_name'][0],'archivos/alumnos/'.$u_id, $nombre1);
                Archivos::agregaArchivo($_FILES['id-oficial']['tmp_name'][0],'archivos/alumnos/'.$u_id, $nombre2);
                
                $p2_rutaformato = Archivos::rutaArchivo('archivos/alumnos/'.$u_id,$nombre1);
                $p2_rutaoficial = Archivos::rutaArchivo('archivos/alumnos/'.$u_id,$nombre2);
                $p2_rutaformato = substr($p2_rutaformato,22);
                $p2_rutaoficial = substr($p2_rutaoficial,22);

                $stmt = $pdo -> prepare('select * from tit_fu_fgyid(:u_id,:p2_formgeneral,:p2_idoficial)');
                $stmt -> bindParam(":u_id",$u_id);
                $stmt -> bindParam(":p2_formgeneral",$p2_rutaformato);
                $stmt -> bindParam(":p2_idoficial",$p2_rutaoficial);                

                if(!$stmt->execute()){
                    $return["error"]="Error en la inserción de datos...";
                    // header("Location:../titulacion.php?error=0");
                    // exit();
                    }
                else
                {
                    $stmt -> closeCursor();
                    $return["exito"]="Insercion de datos correcta!";
                    // header("Location:../titulacion.php?ok=0");                    
                }    
            }
            catch(Exception $E){
                print_r($E);
            }
            break;
        case 3:
            // $p3_pago = $_POST["comp_pago"];
            try{
                $nombre = '';
                $nombre .= "Comprobante_Pago.pdf";                
                Archivos::agregaArchivo($_FILES['pago']['tmp_name'][0],'archivos/alumnos/'.$u_id, $nombre);

                $p3_rutapago = Archivos::rutaArchivo('archivos/alumnos/'.$u_id,$nombre);
                $p3_rutapago = substr($p3_rutapago,22);

                $stmt = $pdo -> prepare('select * from tit_fu_pago(:u_id,:p3_pago)');
                $stmt -> bindParam(":u_id",$u_id);
                $stmt -> bindParam(":p3_pago",$p3_rutapago);                

                if(!$stmt->execute()){
                    $return["error"]="Error en la inserción de datos...";
                    // header("Location:../titulacion.php?error=0");
                    // exit();
                    }
                else
                {
                    $stmt -> closeCursor();
                    $return["exito"]="Insercion de datos correcta!";
                    // header("Location:../titulacion.php?ok=0");                    
                }    
            }
            catch(Exception $E){
                print_r($E);
            }
            break;        
        case 4:
            try{
                $stmt = $pdo -> prepare('select * from tit_fs_admin(:u_id)');
                $stmt -> bindParam(":u_id",$u_id);

                if(!$stmt->execute()){
                    $return["error"]="Error en la seleccion de datos...";
                    
                    //header("Location:../proceso_titulacion.php?error=0");
                    // exit();
                    }
                else
                {
                    $return = $stmt -> fetch();
                    // print_r($datosprueba);
                    $stmt -> closeCursor();
                    $return["exito"]="Se logro!";
                    // header("Location:../proceso_titulacion.php?ok=0");
                    
                }
            }
            catch(Exception $E){
                print_r($E);
            }
            break;
        case 5:
            try{                 
                $defaultConfig = (new Mpdf\Config\ConfigVariables())->getDefaults();
                
                /********* FONTS **********/
                $fontDirs = $defaultConfig['fontDir'];
                $defaultFontConfig = (new Mpdf\Config\FontVariables())->getDefaults();
                $fontData = $defaultFontConfig['fontdata'] + 
                    [ 'tipo' => [
                        'R' => '../fonts/indivisaFont/ttf/IndivisaDisplaySans-Thin.ttf',
                    ]] +
                    [ 'texto-a' => [
                        'R' => '../fonts/indivisaFont/ttf/IndivisaTextSans-Light.ttf',
                    ]] +
                    ['indivisa-text' => [
                        'R' => '../fonts/indivisaFont/ttf/IndivisaTextSans-Regular.ttf',
                        'B' => '../fonts/indivisaFont/ttf/IndivisaTextSans-Bold.ttf',
                        'BI' => '../fonts/indivisaFont/ttf/IndivisaTextSans-BoldItalic.ttf',
                    ]];    

                /********* CONFIGURACIÓN INICIAL **********/
                $config = [
                    'mode'=>'utf-8', 'format'=>'Letter',
                    'margin_header'=> 21, 'margin_top'=>52, 'margin_left'=> 35, 'margin_right'=> 30, 'margin_footer'=>10,
                    'fontDir' => array_merge($fontDirs, [__DIR__]), 'fontdata' => $fontData, 'default_font' => 'indivisa-text'                    
                ];

                $mpdf = new Mpdf\Mpdf($config);
                $mpdf->WriteHTML('<h1>Hello world!</h1>');
                $mpdf->Output('../prueba.pdf', 'F');
                $return["exito"]="Se logro!";                
            }
            catch(Exception $E){
                $return["error"] = $E;
            }
            break;
    }
    $return['json'] = json_encode($return);
    echo json_encode($return);
?>