<?php

/*
 * Codigo fuente
 */

/*
 * Errors GWT
 */
$STATUS_FAILURE = 3; //-1
$STATUS_LOGIN_INCORRECT = -5;
$STATUS_LOGIN_REQUIRED = -7;
$STATUS_LOGIN_SUCCESS = -8;
$STATUS_MAX_LOGIN_ATTEMPTS_EXCEEDED = -6;
$STATUS_SERVER_TIMEOUT = -100;
$STATUS_SUCCESS = 0;
$STATUS_TRANSPORT_ERROR = -90;
$STATUS_VALIDATION_ERROR = -4;


$data = array(); //array nuevo para los datos(filas) del Json
$errors = array(); //array nuevo para los errores del Json
$i = 0; //contador de filas

/*
 * Recorre el resultado del actions
 * y cada elemento lo ingresa al nuevo array
 */
foreach ($list_data as $element) {
    //recorre cada elemento o fila de la consulta
    foreach ($element as $key => $value) {
        //asigna  el valor
        //Esto es para array multidimencionales es el caso de el requerimiento servicio consulta_sigestion
        //Si necesita colocar una lista dentro de un campo del json esta es la parte a modificar
        //fecha 200204 Manuel Paredes email: mparedes@sofhouse.net
        if($key=='rp_sig_'||$key=='cdps_sig_'){
           
            $cont=0;
            foreach ($value as $v){
                foreach ($v as $k=>$vo){
                    $data[$i][$key][$cont][$k]=$vo;
                }
                $cont++;
            }
            
            
        }else{
            $data[$i][$key] = $value;
        }
            
        }
    $i++; //aumenta el contador de filas
}

//nuevo array de Jjson
$mensaje = array();


/*
 * Verifica si viene el status desde al actions
 * por defecto 0 - STATUS_SUCCESS
 */
if (!isset($status)) {
    $status = $STATUS_SUCCESS;
}


//--------------------------------------------------------------Falta corregir en GWT el manejo de errores, 
//se seguira usando por elm momento como se estaba trabajando - 20120404

/*
 * Valida si viene un mensaje de notificacion o de error
 */
if (isset($mensajeError) && !is_null($mensajeError)) {
    $data[$i]['mensaje'] = $mensajeError;
}
//------------------------------------------------------------------

//Se asingna el status al Json
$mensaje['response']['status'] = $status;

/*
 * Validar que viene el total de filas
 * para asignarlo al Json
 */
if (isset($totalRows) && !is_null($totalRows)) {

    $mensaje['response']['totalRows'] = $totalRows;
}

/*
 * Validar que viene el incio de filas
 * para asignarlo al Json
 */
if (isset($startRow) && !is_null($startRow)) {

    $mensaje['response']['startRow'] = $startRow;
}

/*
 * Validar que viene el final de filas
 * para asignarlo al Json
 */
if (isset($endRow) && !is_null($endRow)) {

    $mensaje['response']['endRow'] = $endRow;
}

/*
 * Validar que viene el total de filas
 * para asignarlo al Json
 */
$mensaje['response']['data'] = $data;


/*
 * Valida si viene un mensaje de notificacion o de error
 */
if (isset($mensajeError) && !is_null($mensajeError)) {
    $mensaje['response'] ['errors'] ['mensaje_general'] = $mensajeError;
}

/*
 * Validar que existe list_errors
 */
if (isset($list_errors)) {

    $array_errors = $list_errors; //array de errores
} else {

    $array_errors = array(); //array de errores
}

/*
 * Recorre el list_errors
 */
foreach ($array_errors as $key => $value) {
    $mensaje['response']['errors'] [$key] = $value;
}

/*
 * Codificacion del array a formato Json
 */
echo json_encode($mensaje);
?>
