function registraUsuario($record_p) { require_once "registraevento.php"; $fp = fopen('/tmp/matest.log', 'a'); fwrite($fp, "BEGIN ==> registrando Usuario\n"); fwrite($fp, print_r($record_p, TRUE)); fwrite($fp, "END ==> registrando Usuario\n"); fclose($fp); $rutusuario = isset($record_p['rutusuario']) ? trim($record_p['rutusuario']) : NULL; $rutempresa = isset($record_p['rutempresa']) ? trim($record_p['rutempresa']) : NULL; $email = isset($record_p['email']) ? trim($record_p['email']) : NULL; $password = isset($record_p['password']) ? trim($record_p['password']) : NULL; $idmodulo = isset($record_p['idmodulo']) ? trim($record_p['idmodulo']) : NULL; $idmovil = isset($record_p['imei']) ? trim($record_p['imei']) : NULL; $rutusuario = str_replace('.', '', $rutusuario); $rutusuario = str_replace('-', '', $rutusuario); $rutempresa = str_replace('.', '', $rutempresa); $rutempresa = str_replace('-', '', $rutempresa); $rutusuario = strtoupper($rutusuario); $rutempresa = strtoupper($rutempresa); $ultimoregistro_r = getUltimoRegistroByModulo($idmodulo); $tsUltimoRegistro = strtotime($ultimoregistro_r['fechahora']); $TMAX_REGISTRO = 0; if ($idmodulo == NULL) { $response = "KO.IDMODULO"; $description = 'Modulo No Valido'; } else { if ($idmovil == NULL) { $response = "KO.IDMOVIL"; $description = 'IMEI No Valido'; } else { if (validaRut($rutusuario) == NULL) { $response = "KO.RUTUSUARIO"; $description = 'Rut Usuario no valido'; } else { if (validaRut($rutempresa) == NULL) { $response = "KO.RUTEMPRESA"; $description = 'Rut Empresa no valido'; } else { if (validaMail($email) == false) { $response = "KO.EMAIL"; $description = 'Correo Electrónico incorrecto'; } else { if (($organizacion_r = getRegistroOrganizacion($rutempresa)) == NULL) { $response = "KO.EMPNOTFOUND"; $description = 'Empresa no encontrada'; } else { if (($usuario_r = getRegistroUsuarioByRut($organizacion_r['idcliente'], $rutusuario)) == NULL) { $response = "KO.USRNOTFOUND "; $description = 'Usuario [' . $rutusuario . '] no encontrado en cliente ' . $organizacion_r['idcliente']; } else { if ($usuario_r['idorganizacion'] != $organizacion_r['rut']) { $response = "KO.USRNOTEMPRESA"; $description = 'Usuario [' . $usuario_r['rut'] . '] de [' . $usuario_r['idorganizacion'] . '] no encontrado en empresa [' . $organizacion_r['rut'] . ']'; } else { if (!($usuario_r['email'] == $email || $usuario_r['email2'] == $email)) { $response = "KO.EMAILNOREGISTRADO"; $description = 'Email No Registrado'; } else { if (($password_r = getRegistroUsuarioByPassword($organizacion_r['idcliente'], $usuario_r['idusuario'])) == NULL) { $response = "KO.PWDNOTFOUND"; $description = 'Usuario o contraseña no registrada'; } else { if ($password_r['apassword'] !== $password) { $response = "KO.PWDWRONG"; $description = 'Contraseña Incorrecta'; } else { if (time() - $tsUltimoRegistro < $TMAX_REGISTRO * 60) { $deltaT = (time() - $tsUltimoRegistro) / 60; $deltaT = round($deltaT, 0); $response = "KO.USRALRREGISTERED"; $description = 'Usuario ya registrado hace menos de ' . $TMAX_REGISTRO . ' minutos|'; $description .= "para dispositivo [{$idmodulo}]|"; $description .= 'Espere ' . ($TMAX_REGISTRO - $deltaT) . ' minutos'; } else { $response = "OK"; $description = 'Usuario Registrado|'; $description .= 'Nombre: ' . $usuario_r['apellidos'] . ',' . $usuario_r['nombres'] . '|'; $description .= 'Rut Empresa Usuario: ' . $usuario_r['idorganizacion'] . '|'; $description .= '================== EMPRESA ==================|'; $description .= 'Rut Empresa: ' . $organizacion_r['rut'] . "|"; $description .= 'Razon Social: ' . $organizacion_r['razonsocial'] . "|"; $description .= 'Nombre Fantasia: ' . $organizacion_r['nombrefantasia'] . "|"; $description .= 'Dirección: ' . $organizacion_r['direccion'] . "|"; $description .= 'Telefono: ' . $organizacion_r['telefono'] . "|"; $description .= 'Email Empresa: ' . $organizacion_r['email']; $myparam['idmodulo'] = $idmodulo; $myparam['idcliente'] = $organizacion_r['idcliente']; $myparam['fechahora'] = strftime('%Y-%m-%d %H:%M:%S', time()); $myparam['rutusuario'] = $usuario_r['rut']; $myparam['rutorganizacion'] = $organizacion_r['rut']; $myparam['email'] = $usuario_r['email']; if (actualizaModulo($myparam) != 0) { $response = "KO.ACTMODULO"; $description = $myparam['msg']; } } } } } } } } } } } } } //~ $description = 'En desarrollo ('.strftime('%Y-%m-%d %H:%M:%S',time()).')' ; $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; }