<?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;

class QuiebraController extends Controller {
    public static function index(){
        $log_errores_cant = '0';
        $errores = '"S/D"';
        $procesadas = '"S/D"';
        $cantidad = [];
        $cantidad = SQLConnection::concursos_quiebras_temp('cantidad','');
        $tab_errores = SQLConnection::concursos_quiebras_temp('errores','');
        if ($cantidad != []){
            $log_errores_cant = $cantidad[0]->id;
        }
        if ($errores != []){
            $errores = json_encode($tab_errores);
        }
        // echo(var_dump($cantidad));
        return view('/quiebras/quiebras', compact('log_errores_cant', 'errores','procesadas'));
    }

    public static function proceso(){
        if( $_POST["tipo_archivo"] != null){
            if ( self::validar_archivo($_FILES["archivo"]["name"]) ){
                $ruta = $_FILES["archivo"]["tmp_name"];
                $destino = "/var/www/html/quiebras/";                
                $flag = $_POST['tipo_archivo'];
                $indicador = 0;
                if ($flag == 'conYQuie'){
                    $archivo = $_FILES['archivo']['name'];
                    $destino = $destino.'Concursos_Quiebras/';
                    $checkexiste = is_file($destino.$archivo);
                    $cantidad_files = count(scandir($destino));
                    if($cantidad_files != [] && $checkexiste != true){
                        $num = $cantidad_files+1;
                        $archivo = $_FILES['archivo']['name'];
                    }
                    move_uploaded_file($ruta,$destino.$archivo);
                    $indicador = 1;
                    
                    return view("quiebras/notificacion",compact("indicador"));
                }
                elseif ($flag == 'juicios'){
                    $archivo = $_FILES['archivo']['name'];
                    $destino = $destino.'Juicios/';
                    $checkexiste = is_dir($destino.$archivo);
                    $cantidad_files = count(scandir($destino));
                    if($cantidad_files != [] && $checkexiste != true){
                        $num = $cantidad_files+1;
                        $archivo = $_FILES['archivo']['name'];
                    }
                    move_uploaded_file($ruta,$destino.$archivo);
                    $indicador = 1;
                    
                    return view("quiebras/notificacion",compact("indicador"));
                }
                else {
                    $indicador = 2;
                    $seccion = "QuiebraController";
                    $nombre_de_funcion = "proceso";
                    $mensaje = "No se pudo mover el archivo. Es un archivo inválido o ya existe";
                    SQLConnection::control_erores($seccion,$nombre_de_funcion,$mensaje);
                    return view("concursos-y-quiebras/notificacion",compact("indicador"));
                }
            }
        }
        else{
            $servidor = $_SERVER['REMOTE_ADDR'];
            $seccion = "QuiebraController";
            $nombre_de_funcion = "proceso";
            $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");
        }
    }
    public static function updateForm(){
        $edictosVal = $_POST['edit'];
        $updateEdicto = SQLConnection::concursos_quiebras_temp('editEntrada', $edictosVal);
        return $edictosVal;
    }

    public static function borrarLog(){
        $idEntrada = $_POST['_idBorrar'];
        $borrarEntradaLog = SQLConnection::concursos_quiebras_temp('borrarLog', $idEntrada);
    }

    public static function consultaSelected(){
        $procesadas = '"S/D"';
        if(isset($_POST['_desde'])){
            $desde = $_POST['_desde'];
            $hasta = $_POST['_hasta'];
            $aux = [$desde, $hasta];
            
            $consultaJyQ = SQLConnection::concursos_quiebras_temp('consulta_procesadas', $aux);
            if($consultaJyQ != []){            
                $procesadas = json_encode($consultaJyQ);
            }
        }
        return $procesadas;
    }

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