Пример #1
0
function error_handler($errno, $errstr, $errfile, $errline)
{
    if ($errno == '8' || $errno == '2048' || strpos($errstr, 'Query failed') > 0 || ($errno == '8' || $errno == '2048') && strpos($errstr, 'Query failed') > 0) {
        //if($errno=='8' || $errno=='2048' || strpos($errstr,'Query failed')>0){
        //RAC, JRR	 31102011
        //if(($errno=='8' || $errno=='2048' )&& strpos($errstr,'Query failed')>0){
        return;
    }
    $_SESSION["_CANTIDAD_ERRORES"]++;
    if ($_SESSION['_CANTIDAD_ERRORES'] < 4) {
        if ($_SESSION['_CANTIDAD_ERRORES'] < 3) {
            $bdlog = new MODLogError('ERROR_WEB', $errstr, $errfile . ' Linea: ' . $errline);
            $bdlog->guardarLogError();
        }
        $men = new Mensaje();
        if ($_SESSION["_ESTADO_SISTEMA"] == 'desarrollo') {
            $mensaje = $errstr;
        } else {
            $mensaje = 'Ha ocurrido un error en el servidor Web, consulte con el administrador';
        }
        $mensaje = htmlentities($mensaje);
        $men->setMensaje('ERROR', $errfile . ' Linea: ' . $errline, $mensaje, 'Codigo de error:' . $errno, 'control', '', '', 'OTRO', '');
        //rac 21092011
        $men->imprimirRespuesta($men->generarJson());
        exit;
    } else {
        header("HTTP/1.1 406 Not Acceptable");
        echo '{"ROOT":{"error":true,"detalle":{
					"mensaje":"Error en el servidor Web probable falta de conexión al Servidor de Base de Datos (Comuniquese con el Administrador)",
					"mensaje_tec":"' . $mensaje . '",
					"origen":"Errores.php",
					"capa":"control",
					"consulta":""}}}';
        exit;
    }
}
Пример #2
0
function authPxp($headersArray)
{
    $_SESSION["_SESION"] = new CTSesion();
    $_SESSION["_tipo_aute"] = 'REST';
    $mensaje = '';
    //listar usuario con Pxp-User del header
    $objParam = new CTParametro('', null, null, '../../sis_seguridad/control/Usuario/listarUsuario');
    $objParam->addParametro('usuario', $headersArray['Pxp-User']);
    include_once dirname(__FILE__) . '/../../../sis_seguridad/modelo/MODUsuario.php';
    $objFunSeguridad = new MODUsuario($objParam);
    $res = $objFunSeguridad->listarUsuarioSeguridad($objParam);
    if ($res->datos['contrasena'] == '') {
        $mensaje = "El Usuario no esta registrado en el sistema";
    }
    //obtener la contrasena del usuario en md5
    $md5Pass = $res->datos['contrasena'];
    //creamos array de request
    $reqArray = array();
    if (!extension_loaded('mcrypt')) {
        if ($mensaje == '') {
            $mensaje = 'El modulo mcrypt no esta instalado en el servidor. No es posible utilizar REST en este momento';
        }
    }
    if ($headersArray['Pxp-User'] == $headersArray['Php-Auth-User']) {
        $auxArray = explode('$$', fnDecrypt($headersArray['Php-Auth-Pw'], $md5Pass));
        $headers = false;
    } else {
        //desencriptar usuario y contrasena
        $auxArray = explode('$$', fnDecrypt($headersArray['Php-Auth-User'], $md5Pass));
        $headers = true;
    }
    if (count($auxArray) == 2 && ($auxArray[1] == $headersArray['Pxp-User'] || $auxArray[1] == $md5Pass)) {
        $reqArray['usuario'] = $headersArray['Pxp-User'];
        $reqArray['contrasena'] = $md5Pass;
        $reqArray['_tipo'] = 'restAuten';
        //autentificar usuario en sistema
        //arma $JSON
        $JSON = json_encode($reqArray);
        $objParam = new CTParametro($JSON, null, null, '../../sis_seguridad/control/Auten/verificarCredenciales');
        include_once dirname(__FILE__) . '/../../../sis_seguridad/control/ACTAuten.php';
        //Instancia la clase dinamica para ejecutar la accion requerida
        eval('$cad = new ACTAuten($objParam);');
        eval('$cad->verificarCredenciales();');
    } else {
        if ($mensaje == '') {
            $mensaje = "Contrasena invalida para el usuario : " . $headersArray['Pxp-User'];
        }
    }
    if ($mensaje != '') {
        $men = new Mensaje();
        $men->setMensaje('ERROR', 'pxp/lib/rest/index.php Linea: 131', $mensaje, 'Codigo de error: AUTEN', 'control', '', '', 'OTRO', '');
        //rac 21092011
        $men->imprimirRespuesta($men->generarJson(), '401');
        exit;
    }
}