Esempio n. 1
0
 function testServer($record_p)
 {
     require_once "registraevento.php";
     $fp = fopen('/tmp/ma.log', 'a');
     fwrite($fp, print_r($record_p, TRUE));
     fclose($fp);
     $idmodulo = isset($record_p['idmodulo']) ? $record_p['idmodulo'] : NULL;
     $ts = isset($record_p['ts']) ? $record_p['ts'] : NULL;
     $record = $record_p;
     if ($ts != NULL) {
         $record['fechahora'] = strftime('%Y-%m-%d %H:%M:%S', $ts);
     }
     $dummy = getRegistroByModulo($idmodulo);
     if ($dummy == NULL) {
         $description = "TEST SERVER MODULO ERROR";
         $response = "KO.IDMODULO";
     } else {
         $idcliente = $dummy['idcliente'];
         if ($idcliente == NULL) {
             $description = "TEST SERVER MODULO NULL ERROR";
             $response = "KO.IDMODULO.NULL";
         } else {
             $record['tablename'] = $idcliente . '_db.stk_registroeventos';
             $record['tablename_estadomodulo'] = $idcliente . '_db.stk_estadomodulo';
             $retcode = registraAcceso($record);
             if (!($retcode == 0 || $retcode == 1)) {
                 $description = "TEST SERVER [" . $idcliente . "] ERROR";
                 $response = "KO";
             } else {
                 $description = "TEST SERVER [" . $idcliente . "] OK";
                 $response = "OK";
             }
         }
     }
     $xml = '<?xml version="1.0"?>';
     $xml .= '<result>';
     $xml .= '<response>' . $response . '</response>';
     $xml .= '<description>' . $description . '</description>';
     $xml .= '</result>';
     return $xml;
 }
function registraEventoMarca(&$record_p)
{
    $retval = 0;
    $record_p['ticket'] = 'NO TICKET DISPONIBLE';
    $idacceso = NULL;
    $xmldata = $record_p['xmldata'];
    $xml = simplexml_load_string($xmldata);
    $fo = fopen("/tmp/registramarca.log", "a+");
    fputs($fo, "==================================================================\n");
    foreach ($xml as $key => $valor) {
        $data = "KEY {$key} VALOR {$valor}\n";
        fputs($fo, $data);
        $record[$key] = $valor;
    }
    fclose($fo);
    if (!isset($record['idevento'])) {
        return -2;
    }
    switch ($record['idevento']) {
        case 'A':
            $record['idevento'] = 'REPORT.ACCESO';
            $record['idestado'] = $record['idio'] == 'E' ? 'ENTRADA' : 'SALIDA';
            break;
        case 'I':
            $record['idevento'] = 'INICIO.VIAJE';
            break;
        case 'T':
            $record['idevento'] = 'TERMINO.VIAJE';
            break;
        case 'S':
            $record['idevento'] = 'REPORT.ESTADO';
            break;
        case 'P':
            $record['idevento'] = 'REPORT.POSICION';
            break;
        default:
            break;
    }
    $idacceso = isset($record['idacceso']) ? $record['idacceso'] : NULL;
    $record['idmodulo'] = isset($record['idmodulo']) ? $record['idmodulo'] : $idacceso;
    $record['idmovil'] = isset($record['idmovil']) ? $record['idmovil'] : $idacceso;
    $record['app_tipo'] = isset($record_p['app_tipo']) ? $record_p['app_tipo'] : NULL;
    $record['app_version'] = isset($record_p['app_version']) ? $record_p['app_version'] : NULL;
    //~ $fo = fopen("/tmp/registramarca.log","a+");
    //~ $data = "IDACCESO $idacceso\n";
    //~ fputs($fo,$data);
    //~ fclose($fo);
    if ($idacceso == NULL) {
        return 1;
    }
    if ($record['app_tipo'] == 'mamovil') {
        $dummy = getRegistroOrganizacion($record['idempresa']);
        if ($dummy == NULL) {
            return 6;
        }
    } else {
        $dummy = getRegistroByModulo($idacceso);
        if ($dummy == NULL) {
            return 2;
        }
    }
    $idcliente = $dummy['idcliente'];
    if ($idcliente == NULL) {
        return 3;
    }
    $record['tablename'] = $idcliente . '_db.stk_registroeventos';
    $retcode = registraAcceso($record);
    if (!($retcode == 0 || $retcode == 1)) {
        return 4;
    }
    #  $data = "SQL: $sqlString\n";
    #  fputs($fo,$data);
    #KEY idusuario  VALOR 109774022
    #KEY fechahora  VALOR 2015-06-30 17:21:23
    #KEY idfinger  VALOR -1
    #KEY idgroup  VALOR 0
    #KEY idevento  VALOR A
    #KEY idusuariosesion  VALOR NA
    #KEY idacceso  VALOR 00D069495C8E
    #KEY idio  VALOR S
    #KEY idtipoevento  VALOR RUT.MANUAL
    #KEY idresultado  VALOR OK
    #KEY score  VALOR 0
    #KEY fix  VALOR 65538
    #KEY tsgps  VALOR 0.000000
    #KEY latitud  VALOR -33.028978
    #KEY longitud  VALOR -71.580785
    #KEY altura  VALOR 100.000000
    #KEY rumbo  VALOR 0.000000
    #KEY velocidad  VALOR 0.000000
    #KEY flagenviado  VALOR 0
    //~ $record_p ['ticket'] = 'NO TICKET DISPONIBLE';
    $rutusuario = isset($record['idusuario']) ? trim($record['idusuario']) : NULL;
    $password = isset($record['password']) ? trim($record['password']) : NULL;
    $usuario_r = getRegistroUsuarioByRut($idcliente, $rutusuario);
    $empresa_r = getRegistroOrganizacion($usuario_r['idorganizacion']);
    if ($password != NULL) {
        $password_r = getRegistroUsuarioByPassword($idcliente, $usuario_r['idusuario']);
        if ($password_r['apassword'] !== $password) {
            $record_p['ticket'] = "Contraseña incorrecta ({$idcliente},{$rutusuario}) ";
            return 5;
        }
    }
    global $tzoffset_g;
    if ($tzoffset_g == NULL) {
        $tzoffset_g = -3;
    }
    $nombre = $usuario_r['nombres'] . ' ' . $usuario_r['apellidos'];
    $email = $usuario_r['email'];
    $fechahora = strftime('%d-%m-%Y %H:%M:%S', strtotime($record['fechahora']) + $tzoffset_g * 3600);
    $fechahoragps = strftime('%d-%m-%Y %H:%M:%S', strtotime($record['fechahoragps']) + $tzoffset_g * 3600);
    $record_p['ticket'] = '---------- CONTROL ASISTENCIA ----------|';
    $record_p['ticket'] .= '*** TRABAJADOR ***|';
    $record_p['ticket'] .= $nombre . '|';
    $record_p['ticket'] .= 'RUT: ' . $usuario_r['rut'] . '|';
    $record_p['ticket'] .= 'EMail: ' . $email . '|';
    $record_p['ticket'] .= 'Hora: ' . $fechahoragps . '|';
    $record_p['ticket'] .= 'Hora Telefono: ' . $fechahora . '|';
    $record_p['ticket'] .= '*** EMPLEADOR ***|';
    $record_p['ticket'] .= $empresa_r['razonsocial'] . '|';
    $record_p['ticket'] .= 'RUT: ' . $empresa_r['rut'] . '|';
    $record_p['ticket'] .= 'DIRECCION: ' . $empresa_r['direccion'] . '|';
    $record_p['ticket'] .= '*** DATOS ADICIONALES ***|';
    $record_p['ticket'] .= 'TRANSACCION: ' . $record['idtransaccion'] . '|';
    $record_p['ticket'] .= 'EVENTO: ' . $record['idtipoevento'] . '|';
    $record_p['ticket'] .= 'MODULO: ' . $record['idmodulo'] . '|';
    $record_p['ticket'] .= 'POSICION: (' . $record['latitud'] . ',' . $record['longitud'] . ')';
    $usuarios_r[] = array("idusuario" => $usuario_r['rut'], "to" => "to", "name" => $nombre, "email" => $email);
    $subject = "[MIASISTENCIA] Marca asistencia {$fechahora}";
    $mailBody = str_replace('|', '<br />', $record_p['ticket']);
    enviaMail($usuarios_r, $subject, $mailBody);
    return $retval;
}