<?php namespace App\Http\Controllers;

use App\Custom\SQLConnection;
use App\Custom\Misc;

use Illuminate\Support\Facades\Response;
use Illuminate\Support\Facades\Session;
use Illuminate\Support\Facades\Request;

use DateTime;

class ProcesosApocrifasController extends Controller{
    // FUNCION QUE DEVUELVE LA VISTA DE DEUDAS APOCRIFAS
    public static function index()
    {
        return view("deudas_apocrifas/cargar_archivo");
    }

    // FUNCION QUE RECIBE EL GET Y DEVUELVE LA VISTA DEL FORMULARIO
    public static function cargar_formulario()
    {
        if ($_GET["selector"] == "deudas"){
            return view("deudas_apocrifas/formulario_archivo");
        }
    }

    // FUNCION QUE RECIBE EL FORMULARIO CON EL ARCHIVO CARGADA EN FORMATO PDF
    public static function recibir_archivo()
    {
        if ( self::validar_archivo($_FILES["archivo"]["name"]) ){
            $ruta = $_FILES["archivo"]["tmp_name"];
            $destino = "/var/www/html/compartido/Apocrifa/Para_Procesar/";
            $archivo = "apocrifa.txt";
            $indicador = 0;
            if (move_uploaded_file($ruta,$destino.$archivo)){
                $indicador = 1;
                return view("deudas_apocrifas/notificacion_de_carga",compact("indicador"));
            }
            else {
                $indicador = 2;
                $seccion = "ProcesosApocrifasController";
                $nombre_de_funcion = "recibir_archivo";
                $mensaje = "No se pudo mover el archivo o el archivo subido es inválido";
                SQLConnection::control_erores($seccion,$nombre_de_funcion,$mensaje);
                return view("deudas_apocrifas/notificacion_de_carga",compact("indicador"));
            }
        }
        else{
            $servidor = $_SERVER['REMOTE_ADDR'];
            $seccion = "ProcesosApocrifasController";
            $nombre_de_funcion = "recibir_archivo";
            $mensaje = "Alguien infiltró el javascript y esta es su ip: ".$servidor;
            SQLConnection::control_erores($seccion,$nombre_de_funcion,$mensaje);
            return view("/errors/vista_con_error");
        }
    }

    // FUNCION QUE DECIDE SI EL ARCHIVO ES VALIDO O NO
    private static function validar_archivo($p){
        $expReg = "/^.+\.txt$/";
        return (preg_match($expReg,$p) == 1);
    }
}