<?php

    ob_start(); // Limpia el buffer por errores de salida
    // Permite un mayor tiempo de respuesta del socket
    ini_set('memory_limit', '-1');

    $strModulo = $_POST['idModulo'];
    if(empty($strModulo)){
        $strModulo = 'ERR';
    }

    // Variables de respuesta
    $estatus = 'EXITO';
    $errorDescripcion = '';
    $datosRecibidos = array();

    if($_SERVER["REQUEST_METHOD"] == "POST") {
        // Variables Recibidas
        $accion = $_POST['accion'];
        // Acciones Válidas
        $arrAccionesValidas = array('buscarDatos');

        if(in_array($accion, $arrAccionesValidas)){
            switch ($accion){
                case 'buscarDatos':
                    $arrDatos = array();
                    $dato = $_POST['dato1'];

                    if($dato == 'prueba'){
                        for($i = 0; $i < 5; $i++){
                            $arrDatos[$i]['numLinea'] = $i + 1;
                            $arrDatos[$i]['codigo'] = 'dato: '. ($i + 1);
                        }

                        // Para utilizarlos en javascript
                        $arrDatosJs = array();
                        foreach ($arrDatos as $Campos) {
                            $arrDatosJs[] = $Campos;
                        }
                        unset($Campos);
                        $strDatosJs = json_encode($arrDatosJs);
                        unset($arrDatosJs);
                        $datosRecibidos = $strDatosJs;

                    }else{
                        $estatus = 'ERROR';
                        $errorDescripcion = 'SPS003 (' . $strModulo . ') - El argumento <b>'. $dato.'</b> no es válido';
                        goto fin;
                    }
                    break;
            }
        }else{
            $estatus = 'ERROR';
            $errorDescripcion = 'SPS003 (' . $strModulo . ') - La acción solicitada no es válida.';
            goto fin;
        }
    }else{
        $estatus = 'ERROR';
        $errorDescripcion = 'SPS003 (' . $strModulo . ') - Ocurrió un error al procesar la petición.';
        goto fin;
    }

    fin :
    $jsonResponse = array(
        'estatus' => $estatus,
        'errorDescripcion' => $errorDescripcion,
        'datosRecibidos' => $datosRecibidos
    );
    echo json_encode($jsonResponse);
