$escreve = fwrite($fp, $msg); fclose($fp); } if ($_POST) { moip_log('Recebendo dados via POST, estes dados serão verificados pelo Moip: ' . print_r($_POST, true)); } $arrayStatus = array(1 => array('AUTORIZADO', ID_SITUACAO_PEDIDO_APROVADO_CREDITO), 2 => array('INICIADO', ID_SITUACAO_PEDIDO_ANALISE_CREDITO), 3 => array('BOLETO IMPRESSO', ID_SITUACAO_PEDIDO_ANALISE_CREDITO), 4 => array('CONCLUIDO', ID_SITUACAO_PEDIDO_APROVADO_CREDITO), 5 => array('CANCELADO', ID_SITUACAO_PEDIDO_CANCELADO), 6 => array('EM ANALISE', ID_SITUACAO_PEDIDO_ANALISE_CREDITO), 7 => array('ESTORNADO', ID_SITUACAO_PEDIDO_ESTORNADO), 9 => array('REEMBOLSADO', ID_SITUACAO_PEDIDO_REEMBOLSADO)); if (isset($_POST["status_pagamento"])) { $numeroPedido = sqlvalue($_POST["id_transacao"], true); $situacaoMoip = $_POST["status_pagamento"]; if ($arrayStatus[$situacaoMoip][1] == ID_SITUACAO_PEDIDO_APROVADO_CREDITO) { $where = "AND SPIT_ID_SITUACAO_PEDIDO_ITEM IN (" . ID_SITUACAO_PEDIDO_DIGITACAO . ", " . ID_SITUACAO_PEDIDO_TIMEOUT . ", " . ID_SITUACAO_PEDIDO_ANALISE_CREDITO . ")"; } else { $where = ""; } $queryUpdate = "UPDATE e_PEDIDO_ITEM \r\n\t\t\t\t\tSET SPIT_ID_SITUACAO_PEDIDO_ITEM = " . $arrayStatus[$situacaoMoip][1] . ", DATA_UPDATE = now(), USUARIO_UPDATE = 'RETORNO_MOIP' \r\n\t\t\t\t\tWHERE PEDI_ID_PEDIDO = (SELECT ID_PEDIDO FROM e_PEDIDO WHERE NUMERO_PEDIDO = " . $numeroPedido . ")\r\n\t\t\t\t\t" . $where . ""; $mysqli->ExecutarSQL($queryUpdate); if ($arrayStatus[$situacaoMoip][1] == ID_SITUACAO_PEDIDO_APROVADO_CREDITO) { $idPedidoPagamento = explode('-', $_POST["id_transacao"]); $idPedidoPagamento = sqlvalue($idPedidoPagamento[1], false); $queryPagamento = "UPDATE e_PEDIDO_PAGAMENTO SET DATA_AUTORIZACAO = now(), TRANSACAO_AUTORIZADA = 'S', USUARIO_AUTORIZACAO = 'MOIP'\r\n\t\t\t\t\t\t\tWHERE ID_PEDIDO_PAGAMENTO = " . $idPedidoPagamento . " AND DATA_AUTORIZACAO IS NULL AND ATIVO = 'S'"; $mysqli->ExecutarSQL($queryPagamento); } if ($arrayStatus[$situacaoMoip][1] == ID_SITUACAO_PEDIDO_CANCELADO or $arrayStatus[$situacaoMoip][1] == ID_SITUACAO_PEDIDO_APROVADO_CREDITO) { $query = "SELECT\r\n\t\t\t\t\t\tPEDI.ID_PEDIDO,\r\n\t\t\t\t\t\tPESS.NOME,\r\n\t\t\t\t\t\tPESS.EMAIL\r\n\t\t\t\t\tFROM\r\n\t\t\t\t\t\te_PEDIDO PEDI,\r\n\t\t\t\t\t\te_PESSOA PESS\r\n\t\t\t\t\tWHERE\r\n\t\t\t\t\t\tPEDI.NUMERO_PEDIDO = " . $numeroPedido . "\r\n\t\t\t\t\tAND PEDI.PESS_ID_PESSOA = PESS.ID_PESSOA"; $result = $mysqli->ConsultarSQL($query); enviaEmail('situacaoPedido', $result[0]['NOME'], $result[0]['EMAIL'], null, $result[0]['ID_PEDIDO']); } $query = "INSERT INTO e_RETORNO_PAGAMENTO_MOIP\r\n (ID_TRANSACAO\r\n ,VALOR\r\n ,SITUACAO\r\n ,STATUS_PAGAMENTO\r\n ,COD_MOIP\r\n ,FORMA_PAGAMENTO\r\n ,TIPO_PAGAMENTO\r\n ,PARCELAS\r\n ,EMAIL_CONSUMIDOR\r\n ,CLASSIFICACAO\r\n ,CARTAO_BIN\r\n ,CARTAO_FINAL\r\n ,CARTAO_BANDEIRA\r\n ,COFRE\r\n ,DATA_INSERT\r\n ,USUARIO_INSERT)\r\n VALUES\r\n (" . sqlvalue($_POST['id_transacao'], true) . ",\r\n\t\t " . sqlvalue($_POST['valor'], true) . ",\r\n\t\t " . sqlvalue($arrayStatus[$situacaoMoip][0], true) . ",\r\n\t\t " . sqlvalue($_POST['status_pagamento'], true) . ",\r\n\t\t " . sqlvalue($_POST['cod_moip'], true) . ",\r\n\t\t " . sqlvalue($_POST['forma_pagamento'], true) . ",\r\n\t\t " . sqlvalue($_POST['tipo_pagamento'], true) . ",\r\n\t\t " . sqlvalue($_POST['parcelas'], true) . ",\r\n\t\t " . sqlvalue($_POST['email_consumidor'], true) . ",\r\n\t\t " . sqlvalue($_POST['classificacao'], true) . ",\r\n\t\t " . sqlvalue($_POST['cartao_bin'], true) . ",\r\n\t\t " . sqlvalue($_POST['cartao_final'], true) . ",\r\n\t\t " . sqlvalue($_POST['cartao_bandeira'], true) . ",\r\n\t\t " . sqlvalue($_POST['cofre'], true) . ",\r\n\t\t now(),\r\n\t\t 'RETORNO_MOIP')\r\n\t"; $mysqli->ExecutarSQL($query); }
break; case 'despacharPedido': set_time_limit(60); foreach ($_POST["idPedido"] as $idPedido) { $codRastreamento = sqlvalue($_POST['codRastreamento'][$idPedido], true); $idPedido = sqlvalue($idPedido, false); $query .= "UPDATE e_PEDIDO_ITEM \r\n\t\t\t\t\t\tSET SPIT_ID_SITUACAO_PEDIDO_ITEM = " . ID_SITUACAO_PEDIDO_DESPACHADO . "\r\n\t\t\t\t\t ,COD_RASTREAMENTO = " . $codRastreamento . "\r\n\t\t\t\t\t WHERE PEDI_ID_PEDIDO = " . $idPedido . " \r\n\t\t\t\t\t AND SPIT_ID_SITUACAO_PEDIDO_ITEM = " . ID_SITUACAO_PEDIDO_ATENDIDO . ";\r\n\t\t\t\t\t "; } $resultQuery = $mysqli->ExecutarMultiSQL($query); $query = "SELECT\r\n\t\t\t\t\t\tPEDI.ID_PEDIDO,\r\n\t\t\t\t\t\tPESS.EMAIL,\r\n\t\t\t\t\t\tPESS.NOME\r\n\t\t\t\t\tFROM\r\n\t\t\t\t\t\te_PEDIDO PEDI,\r\n\t\t\t\t\t\te_PEDIDO_ITEM PEIT,\r\n\t\t\t\t\t\te_PESSOA PESS\r\n\t\t\t\t\tWHERE\r\n\t\t\t\t\t\tPEDI.ID_PEDIDO = PEIT.PEDI_ID_PEDIDO\r\n\t\t\t\t\tAND PEIT.SPIT_ID_SITUACAO_PEDIDO_ITEM = " . ID_SITUACAO_PEDIDO_DESPACHADO . "\r\n\t\t\t\t\tAND PEIT.AVISADO_DESPACHO = 'N'\r\n\t\t\t\t\tAND PEDI.PESS_ID_PESSOA = PESS.ID_PESSOA\r\n\t\t\t\t\tGROUP BY\r\n\t\t\t\t\t\tPEDI.ID_PEDIDO,\r\n\t\t\t\t\t\tPESS.EMAIL,\r\n\t\t\t\t\t\tPESS.NOME"; $result = $mysqli->ConsultarSQL($query); foreach ($result as $value) { $idPedido = $value['ID_PEDIDO']; $nomePessoa = $value['NOME']; $emailPessoa = $value['EMAIL']; $enviaEmail = enviaEmail('situacaoPedido', $nomePessoa, $emailPessoa, null, $idPedido, 'S'); if ($enviaEmail) { $query = "UPDATE e_PEDIDO_ITEM SET AVISADO_DESPACHO = 'S' \r\n\t\t\t\t\t\t WHERE PEDI_ID_PEDIDO = " . $idPedido . " \r\n\t\t\t\t\t\t AND SPIT_ID_SITUACAO_PEDIDO_ITEM = " . ID_SITUACAO_PEDIDO_DESPACHADO . ";\r\n\t\t\t\t\t\t "; $mysqli->ExecutarSQL($query); } } if ($resultQuery) { $retorno = '{ "cod": "sucesso", "mensagem": "' . EDITADO_COM_SUCESSO . '", "redirect": "pedido-despacho" }'; } else { $retorno = '{ "cod": "erro", "mensagem": "' . ERRO_AO_EDITAR . '" }'; } echo $retorno; break; case "cadastraOcorrenciaPedido": $idPedido = sqlvalue($_POST['idPedido'], false); $idPessoa = sqlvalue($_POST['idPessoa'], false);
function tratarDados($dados) { $con = mysql_connect("cloudservice.cgejdsdl842e.sa-east-1.rds.amazonaws.com", "gpstracker", "d1\$1793689"); if ($con !== false) { mysql_select_db('tracker', $con); $gpsSignalIndicator = 'F'; $latitudeDecimalDegrees = $dados[1]; $longitudeDecimalDegrees = $dados[2]; $latitudeHemisphere = $dados[3]; $longitudeHemisphere = $dados[4]; $speed = $dados[5]; $imei = $dados[6]; $satelliteFixStatus = 'A'; $phone = ''; $infotext = $dados[8]; $dataBem = null; $dataCliente = null; $ligado = count($dados) > 9 ? $dados[9] : 'N'; $ativo = count($dados) > 10 ? $dados[10] : 'N'; $realTime = count($dados) > 11 ? $dados[11] : ''; //D para diferencial $gpsSignalIndicator = $dados[0] == 'S' ? 'F' : 'L'; //Otavio Gomes - 200120152137 // Estava aqui o problema do crx1 so enviar o sinal S. if ($realTime == 'D') { $gpsSignalIndicator = 'D'; } else { $gpsSignalIndicator = 'R'; } $resBem = mysql_query("SELECT id, cliente, envia_sms, name, hodometro, alerta_hodometro, alerta_hodometro_saldo, limite_velocidade FROM bem WHERE imei = '{$imei}'", $con); //echo 'Ligado: '.$ligado; $dataBem = mysql_fetch_assoc($resBem); if ($resBem !== false) { $resCliente = mysql_query("SELECT id, celular, dt_ultm_sms, envia_sms, sms_acada, hour(TIMEDIFF(now(), dt_ultm_sms)) horas, minute(TIMEDIFF(now(), dt_ultm_sms)) minutos, nome, email FROM cliente WHERE id = " . $dataBem['cliente'], $con); if ($resCliente !== false) { $dataCliente = mysql_fetch_assoc($resCliente); $texto_sms_localiza = ""; $texto_sms_alerta_hodometro = ""; $texto_sms_alerta = ""; $result = mysql_query("SELECT * FROM preferencias", $con); if (mysql_num_rows($result) > 0) { while ($dataPref = mysql_fetch_assoc($result)) { if ($dataPref['nome'] == 'texto_sms_localiza') { $texto_sms_localiza = $dataPref['valor']; } if ($dataPref['nome'] == 'texto_sms_alerta_hodometro') { $texto_sms_alerta_hodometro = $dataPref['valor']; } if ($dataPref['nome'] == 'texto_sms_alerta') { $texto_sms_alerta = $dataPref['valor']; } } } $movimento = ''; if ($speed > 0) { $movimento = 'S'; if ($dataBem['limite_velocidade'] != "0" && $dataBem['limite_velocidade'] != null && $speed > $dataBem['limite_velocidade']) { if (!checkAlerta($imei, 'Limite Velocidade')) { mysql_query("INSERT INTO message (imei, message) VALUES ('{$imei}', 'Limite Velocidade')", $con); $msgEmail = "<p><b>Alerta de Limite de Velocidade: </b></p><br><p>O veículo " . $dataBem['name'] . " está trafegando com velocidade de " . $speed . " Km/h, ultrapassando o limite de velocidade definido (" . $dataBem['limite_velocidade'] . " Km/h) em " . date("d/m/Y") . " às " . date("H:i:s") . ".</p><br><i>Equipe InovarSat</i>"; enviaEmail($dataCliente['email'], "Alerta de Limite de Velocidade", $msgEmail); } } } else { $movimento = 'N'; } // CERCA VIRTUAL if ($imei != "") { $consulta = mysql_query("SELECT * FROM geo_fence WHERE imei = '{$imei}'", $con); while ($data = mysql_fetch_assoc($consulta)) { $idCerca = $data['id']; $imeiCerca = $data['imei']; $nomeCerca = $data['nome']; $coordenadasCerca = $data['coordenadas']; $resultCerca = $data['tipo']; $tipoEnvio = $data['tipoEnvio']; $lat_point = $latitudeDecimalDegrees; $lng_point = $longitudeDecimalDegrees; $exp = explode("|", $coordenadasCerca); if (count($exp) < 5) { $strExp = explode(",", $exp[0]); $strExp1 = explode(",", $exp[2]); } else { $int = count($exp) / 2; $strExp = explode(",", $exp[0]); $strExp1 = explode(",", $exp[$int]); } $lat_vertice_1 = $strExp[0]; $lng_vertice_1 = $strExp[1]; $lat_vertice_2 = $strExp1[0]; $lng_vertice_2 = $strExp1[1]; if ($lat_vertice_1 < $lat_point or $lat_point < $lat_vertice_2 and $lng_point < $lng_vertice_1 or $lng_vertice_2 < $lng_point) { $result = '0'; $situacao = 'fora'; } else { $result = '1'; $situacao = 'dentro'; } if ($result == 0 and $movimento == 'S') { if (!checkAlerta($imei, 'Cerca Violada')) { mysql_query("INSERT INTO message (imei, message) VALUES ('{$imei}', 'Cerca Violada')", $con); if ($tipoEnvio == 0) { # Convert the GPS coordinates to a human readable address /*$tempstr = "http://maps.google.com/maps/geo?q=$lat_point,$lng_point&oe=utf-8&sensor=true&key=ABQIAAAAFd56B-wCWVpooPPO7LR3ihTz-K-sFZ2BISbybur6B4OYOOGbdRShvXwdlYvbnwC38zgCx2up86CqEg&output=csv"; //output = csv, xml, kml, json $rev_geo_str = file_get_contents($tempstr); $rev_geo_str = preg_replace("/\"/","", $rev_geo_str); $rev_geo = explode(',', $rev_geo_str); $logradouro = $rev_geo[2] .",". $rev_geo[3] ;*/ /*$consulta1 = mysql_query("SELECT a.*, b.* FROM cliente a INNER JOIN bem b ON a.id = b.cliente WHERE b.imei = '$imei'", $con); while($data = mysql_fetch_assoc($consulta1)) { $emailDestino = $data['email']; $nameBem = $data['name']; $msgEmail = "<p><b>Alerta de Violação de Perímetro:</b></p><br><p>O veículo ". $nameBem .", está ". $situacao ." do perímetro ". $nomeCerca .", as ". date("H:i:s") ." do dia ". date("d/m/Y") . ".</p><br><i>Equipe InovarSat</i>"; enviaEmail($emailDestino, "Alerta de Violação de Perímetro", $msgEmail); }*/ $json = json_decode(file_get_contents("http://maps.googleapis.com/maps/api/geocode/json?latlng=" . $lat_point . "," . $lng_point . "&sensor=false")); if (isset($json->status) && $json->status == 'OK') { $address = $json->results[0]->formatted_address; $address = utf8_decode($address); } //else echo $json->status; $emailDestino = $dataCliente['email']; $nameBem = $dataBem['name']; $msgEmail = "<p><b>Alerta de Violação de Perímetro: </b></p><br><p>O veículo " . $nameBem . ", está " . $situacao . " do perímetro " . $nomeCerca . ", transitando na " . $address . " às " . date("H:i:s") . " do dia " . date("d/m/Y") . ".</p><br><i>Equipe InovarSat</i>"; enviaEmail($emailDestino, "Alerta de Violação de Perímetro", $msgEmail); } } } } } //FIM CERCA VIRTUAL # Write it to the database... if ($gpsSignalIndicator != 'L' && !empty($latitudeDecimalDegrees)) { $gpsLat = $latitudeDecimalDegrees; //gprsToGps($latitudeDecimalDegrees, $latitudeHemisphere) $gpsLon = $longitudeDecimalDegrees; //gprsToGps($longitudeDecimalDegrees, $longitudeHemisphere) $gpsLatAnt = 0; $gpsLatHemAnt = ''; $gpsLonAnt = 0; $gpsLonHemAnt = ''; $alertaACadaSaldo = 0; $resLocAtual = mysql_query("SELECT id, latitudeDecimalDegrees, latitudeHemisphere, longitudeDecimalDegrees, longitudeHemisphere FROM loc_atual WHERE imei = '{$imei}' LIMIT 1", $con); $numRows = mysql_num_rows($resLocAtual); if ($numRows == 0) { mysql_query("INSERT INTO loc_atual (date, imei, phone, satelliteFixStatus, latitudeDecimalDegrees, latitudeHemisphere, longitudeDecimalDegrees, longitudeHemisphere, speed, infotext, gpsSignalIndicator, converte, ligado) VALUES (now(), '{$imei}', '{$phone}', '{$satelliteFixStatus}', '{$latitudeDecimalDegrees}', '{$latitudeHemisphere}', '{$longitudeDecimalDegrees}', '{$longitudeHemisphere}', '{$speed}', '{$infotext}', '{$gpsSignalIndicator}', 0, '{$ligado}')", $con); } else { mysql_query("UPDATE loc_atual SET date = now(), phone = '{$phone}', satelliteFixStatus = '{$satelliteFixStatus}', latitudeDecimalDegrees = '{$latitudeDecimalDegrees}', latitudeHemisphere = '{$latitudeHemisphere}', longitudeDecimalDegrees = '{$longitudeDecimalDegrees}', longitudeHemisphere = '{$longitudeHemisphere}', speed = '{$speed}', infotext = '{$infotext}', gpsSignalIndicator = '{$gpsSignalIndicator}', converte = 0, ligado = '{$ligado}' WHERE imei = '{$imei}'", $con); } $distance = 0; try { $bemId = $dataBem['id']; $countGeoDistance = mysql_query("SELECT bem FROM geo_distance WHERE bem = {$bemId}", $con); if ($countGeoDistance === false || mysql_num_rows($countGeoDistance) == 0) { mysql_query("INSERT INTO geo_distance (bem, tipo) VALUES({$bemId}, 'I')", $con); mysql_query("INSERT INTO geo_distance (bem, tipo) VALUES({$bemId}, 'F')", $con); } /*envio de sms*/ if ($dataCliente['envia_sms'] == 'S' && $dataBem['envia_sms'] == 'S' && !empty($dataCliente['celular']) && !empty($dataCliente['sms_acada'])) { if (empty($dataCliente['dt_ultm_sms'])) { mysql_query("UPDATE cliente SET dt_ultm_sms = convert_tz(now(), 'GMT', 'Brazil/East') WHERE id = " . $dataCliente['id'], $con); } else { $horas = $dataCliente['horas']; $minutos = $dataCliente['minutos']; if (!empty($horas)) { $horas = $horas * 60; } $tempoTotal = $horas + $minutos; if ($tempoTotal > $dataCliente['sms_acada']) { $json = json_decode(file_get_contents("http://maps.google.com/maps/api/geocode/json?sensor=false&latlng={$gpsLat},{$gpsLon}&language=es-ES")); if (isset($json->status) && $json->status == 'OK' && isset($json->results[0]->formatted_address)) { $address = $json->results[0]->formatted_address; $address = utf8_decode($address); $aDataCliente = split(' ', $dataCliente['nome']); $msg = $texto_sms_localiza; $msg = str_replace("#CLIENTE", $aDataCliente[0], $msg); $msg = str_replace("#VEICULO", $dataBem['name'], $msg); $msg = str_replace("#LOCALIZACAO", $address, $msg); $msg = str_replace(' ', '+', $msg); sendSMS($dataCliente['celular'], $msg, ''); if ($retorno < 0) { mysql_query("INSERT INTO controle(texto) VALUES('envio de sms retorno: {$retorno}')", $con); } else { mysql_query("UPDATE cliente SET dt_ultm_sms = convert_tz(now(), 'GMT', 'Brazil/East') WHERE id = " . $dataCliente['id'], $con); } } } } } if ($movimento == 'S') { $resGeoDistance = mysql_query("SELECT parou FROM geo_distance WHERE bem = {$bemId} AND tipo = 'I'", $con); if ($resGeoDistance !== false) { $dataGeoDistance = mysql_fetch_assoc($resGeoDistance); if ($dataGeoDistance['parou'] == 'S' || empty($dataGeoDistance['parou'])) { mysql_query("UPDATE geo_distance SET latitudeDecimalDegrees = '{$latitudeDecimalDegrees}', latitudeHemisphere = '{$latitudeHemisphere}', longitudeDecimalDegrees = '{$longitudeDecimalDegrees}', longitudeHemisphere = '{$longitudeHemisphere}', parou = 'N' WHERE bem = {$bemId} AND tipo = 'I'", $con); } } } else { $resGeoDistance = mysql_query("SELECT latitudeDecimalDegrees, latitudeHemisphere, longitudeDecimalDegrees, longitudeHemisphere FROM geo_distance WHERE bem = {$bemId} AND tipo = 'I'", $con); if (mysql_num_rows($resGeoDistance) > 0) { $update = mysql_query("UPDATE geo_distance SET latitudeDecimalDegrees = '{$latitudeDecimalDegrees}', latitudeHemisphere = '{$latitudeHemisphere}', longitudeDecimalDegrees = '{$longitudeDecimalDegrees}', longitudeHemisphere = '{$longitudeHemisphere}', parou = 'S' WHERE bem = {$bemId} AND tipo = 'I'", $con); $dataGeoDistance = mysql_fetch_assoc($resGeoDistance); $gpsLatAnt = !strstr($dataGeoDistance['latitudeDecimalDegrees'], "-") ? gprsToGps($dataGeoDistance['latitudeDecimalDegrees'], $dataGeoDistance['latitudeHemisphere']) : $dataGeoDistance['latitudeDecimalDegrees']; $gpsLonAnt = !strstr($dataGeoDistance['longitudeDecimalDegrees'], "-") ? gprsToGps($dataGeoDistance['longitudeDecimalDegrees'], $dataGeoDistance['longitudeHemisphere']) : $dataGeoDistance['longitudeDecimalDegrees']; // $gpsLatAnt = gprsToGps($dataGeoDistance['latitudeDecimalDegrees'], $dataGeoDistance['latitudeHemisphere']); //$dataGeoDistance['latitudeDecimalDegrees']; // $gpsLonAnt = gprsToGps($dataGeoDistance['longitudeDecimalDegrees'], $dataGeoDistance['longitudeHemisphere']); //$dataGeoDistance['longitudeDecimalDegrees']; if ($gpsLatAnt != $gpsLat) { if ($gpsLatAnt != 0 && $gpsLonAnt != 0) { $geoDistance = distance($gpsLatAnt, $gpsLonAnt, $gpsLat, $gpsLon); //$strDistance = $json->rows[0]->elements[0]->distance->value; $distance = (int) $geoDistance; //(int)($geoDistance*1000) //echo "******************************IMEI: ". $imei ." | Lat/Long Antiga: ". $gpsLatAnt . ", ". $gpsLonAnt ." | Lat/Long Atual: ". $gpsLat .", ". $gpsLon ." | Geodistance : ". $geoDistance ." | Inteiro: ". $distance ."<br>"; $alertaACada = $dataBem['alerta_hodometro']; $alertaACadaSaldo = $dataBem['alerta_hodometro_saldo']; $alertaACadaSaldo = $alertaACadaSaldo - $distance; if ($alertaACadaSaldo <= 0 && $alertaACada > 0) { $msg = $texto_sms_alerta_hodometro; $msg = str_replace("#CLIENTE", $dataCliente['nome'], $msg); $msg = str_replace("#VEICULO", $dataBem['name'], $msg); $msg = str_replace("#HODOMETRO", $alertaACada, $msg); $msg = str_replace(' ', '+', $msg); //sendSMS($dataCliente['celular'], $msg, ''); $msgEmail = "<p><b>Quilometragem atingida: </b></p><br><p>O veículo " . $dataBem['name'] . " atingiu a quilometragem de " . $dataBem['hodometro'] . "Km rodados às " . date("H:i:s") . " do dia " . date("d/m/Y") . ".</p><br><i>Equipe InovarSat</i>"; //echo $msgEmail; // enviaEmail($dataCliente['email'], 'Hodômetro - Quilometragem Atingida', $msgEmail); $alertaACadaSaldo = $alertaACada; } // $alertaACadaSaldo = (int)$alertaACadaSaldo;//(int)$alertaACadaSaldo/1000 } } } } } catch (Exception $e) { mysql_query("INSERT INTO controle (texto) VALUES ({$e->getMessage}())", $con); } if (!empty($latitudeDecimalDegrees)) { mysql_query("INSERT INTO gprmc (date, imei, phone, satelliteFixStatus, latitudeDecimalDegrees, latitudeHemisphere, longitudeDecimalDegrees, longitudeHemisphere, speed, infotext, gpsSignalIndicator, km_rodado, converte, ligado) VALUES (now(), '{$imei}', '{$phone}', '{$satelliteFixStatus}', '{$latitudeDecimalDegrees}', '{$latitudeHemisphere}', '{$longitudeDecimalDegrees}', '{$longitudeHemisphere}', '{$speed}', '{$infotext}', '{$gpsSignalIndicator}', {$distance}, 0, '{$ligado}')", $con); } if ($alertaACadaSaldo == 0) { mysql_query("UPDATE bem set date = now(), status_sinal = 'R', movimento = '{$movimento}', hodometro = hodometro+{$distance} WHERE imei = '{$imei}'", $con); } else { mysql_query("UPDATE bem set date = now(), status_sinal = 'R', movimento = '{$movimento}', hodometro = hodometro+{$distance}, alerta_hodometro_saldo = {$alertaACadaSaldo} WHERE imei = '{$imei}'", $con); } /* if($numRows == 0){ mysql_query("INSERT INTO loc_atual (date, imei, phone, satelliteFixStatus, latitudeDecimalDegrees, latitudeHemisphere, longitudeDecimalDegrees, longitudeHemisphere, speed, infotext, gpsSignalIndicator) VALUES (now(), '$imei', '$phone', '$satelliteFixStatus', '$latitudeDecimalDegrees', '$latitudeHemisphere', '$longitudeDecimalDegrees', '$longitudeHemisphere', '$speed', '$infotext', '$gpsSignalIndicator')", $cnx); } else { mysql_query("UPDATE loc_atual set date = now(), phone = '$phone', satelliteFixStatus = '$satelliteFixStatus', latitudeDecimalDegrees = '$latitudeDecimalDegrees', latitudeHemisphere = '$latitudeHemisphere', longitudeDecimalDegrees = '$longitudeDecimalDegrees', longitudeHemisphere = '$longitudeHemisphere', speed = '$speed', infotext = '$infotext', gpsSignalIndicator = '$gpsSignalIndicator' where imei = '$imei'", $cnx); } */ } else { $resLocAtual = mysql_query("SELECT id, latitudeDecimalDegrees, latitudeHemisphere, longitudeDecimalDegrees, longitudeHemisphere FROM loc_atual WHERE imei = '{$imei}' LIMIT 1", $con); $numRows = mysql_num_rows($resLocAtual); if ($numRows == 0) { mysql_query("INSERT INTO loc_atual (date, imei, phone, satelliteFixStatus, latitudeDecimalDegrees, latitudeHemisphere, longitudeDecimalDegrees, longitudeHemisphere, speed, infotext, gpsSignalIndicator, converte, ligado) VALUES (now(), '{$imei}', '{$phone}', '{$satelliteFixStatus}', '{$latitudeDecimalDegrees}', '{$latitudeHemisphere}', '{$longitudeDecimalDegrees}', '{$longitudeHemisphere}', '{$speed}', '{$infotext}', '{$gpsSignalIndicator}', 0, '{$ligado}')", $con); } else { mysql_query("UPDATE loc_atual SET date = now(), phone = '{$phone}', satelliteFixStatus = '{$satelliteFixStatus}', latitudeDecimalDegrees = '{$latitudeDecimalDegrees}', latitudeHemisphere = '{$latitudeHemisphere}', longitudeDecimalDegrees = '{$longitudeDecimalDegrees}', longitudeHemisphere = '{$longitudeHemisphere}', speed = '{$speed}', infotext = '{$infotext}', gpsSignalIndicator = '{$gpsSignalIndicator}', converte = 0, ligado = '{$ligado}' WHERE imei = '{$imei}'", $con); } if (!empty($latitudeDecimalDegrees)) { mysql_query("INSERT INTO gprmc (date, imei, phone, satelliteFixStatus, latitudeDecimalDegrees, latitudeHemisphere, longitudeDecimalDegrees, longitudeHemisphere, speed, infotext, gpsSignalIndicator, km_rodado, converte, ligado) VALUES (now(), '{$imei}', '{$phone}', '{$satelliteFixStatus}', '{$latitudeDecimalDegrees}', '{$latitudeHemisphere}', '{$longitudeDecimalDegrees}', '{$longitudeHemisphere}', '{$speed}', '{$infotext}', '{$gpsSignalIndicator}', 0, 0, '{$ligado}')", $con); } mysql_query("UPDATE bem set date = now(), status_sinal = 'S' WHERE imei = '{$imei}'", $con); } if (!empty($ligado)) { mysql_query("UPDATE bem SET ligado = '{$ligado}' where imei = '{$imei}'", $con); } # Now check to see if we need to send any alerts. if ($infotext != "tracker") { $msg = $texto_sms_alerta; $msg = str_replace("#CLIENTE", $dataCliente['nome'], $msg); $msg = str_replace("#VEICULO", $dataBem['name'], $msg); $res = mysql_query("SELECT responsible FROM bem WHERE imei='{$imei}'", $con); while ($data = mysql_fetch_assoc($res)) { switch ($infotext) { case "dt": if (!checkAlerta($imei, 'Rastreador Desat.')) { $body = "Disable Track OK"; $msg = str_replace("#TIPOALERTA", "Rastreador Desabilitado", $msg); mysql_query("INSERT INTO message (imei, message) VALUES ('{$imei}', 'Rastreador Desat.')", $con); } break; case "et": if (!checkAlerta($imei, 'Alarme Parado')) { $body = "Stop Alarm OK"; $msg = str_replace("#TIPOALERTA", "Alarme parado", $msg); mysql_query("INSERT INTO message (imei, message) VALUES ('{$imei}', 'Alarme Parado')", $con); } break; case "gt": if (!checkAlerta($imei, 'Alarme Movimento')) { $body = "Move Alarm set OK"; $msg = str_replace("#TIPOALERTA", "Alarme de Movimento ativado", $msg); mysql_query("INSERT INTO message (imei, message) VALUES ('{$imei}', 'Alarme Movimento')", $con); } break; case "help me": if (!checkAlerta($imei, 'SOS!')) { $body = "Help!"; mysql_query("INSERT INTO message (imei, message) VALUES ('{$imei}', 'SOS!')", $con); $msg = str_replace("#TIPOALERTA", "SOS", $msg); } //Envia comando de resposta: alerta recebido //$send_cmd = "**,imei:". $conn_imei .",E"; //socket_send($socket, $send_cmd, strlen($send_cmd), 0); //printLog($fh, "Comando de resposta (help me): " . $send_cmd . " imei: " . $conn_imei); break; case "ht": if (!checkAlerta($imei, 'Alarme Velocidade')) { $body = "Speed alarm set OK"; $msg = str_replace("#TIPOALERTA", "Alarme de velocidade ativado", $msg); mysql_query("INSERT INTO message (imei, message) VALUES ('{$imei}', 'Alarme Velocidade')", $con); } break; case "it": $body = "Timezone set OK"; break; case "low battery": if (!checkAlerta($imei, 'Bateria Fraca')) { $body = "Low battery!\nYou have about 2 minutes..."; $msg = str_replace("#TIPOALERTA", "Bateria fraca, voce tem 2 minutos", $msg); mysql_query("INSERT INTO message (imei, message) VALUES ('{$imei}', 'Bateria Fraca')", $con); } //Envia comando de resposta: alerta recebido $send_cmd = "**,imei:" . $conn_imei . ",E"; socket_send($socket, $send_cmd, strlen($send_cmd), 0); //printLog($fh, "Comando de resposta (low battery): " . $send_cmd . " imei: " . $conn_imei); break; case "move": if (!checkAlerta($imei, 'Movimento')) { $body = "Move Alarm!"; $msg = str_replace("#TIPOALERTA", "Seu veiculo esta em movimento", $msg); mysql_query("INSERT INTO message (imei, message) VALUES ('{$imei}', 'Movimento')", $con); } //Envia comando de resposta: alerta recebido $send_cmd = "**,imei:" . $conn_imei . ",E"; socket_send($socket, $send_cmd, strlen($send_cmd), 0); //printLog($fh, "Comando de resposta (move): " . $send_cmd . " imei: " . $conn_imei); break; case "nt": $body = "Returned to SMS mode OK"; break; case "speed": if (!checkAlerta($imei, 'Velocidade')) { $body = "Speed alarm!"; $msg = str_replace("#TIPOALERTA", "Seu veiculo ultrapassou o limite de velocidade", $msg); mysql_query("INSERT INTO message (imei, message) VALUES ('{$imei}', 'Velocidade')", $con); } //Envia comando de resposta: alerta recebido $send_cmd = "**,imei:" . $conn_imei . ",E"; socket_send($socket, $send_cmd, strlen($send_cmd), 0); //printLog($fh, "Comando de resposta (speed): " . $send_cmd . " imei: " . $conn_imei); break; case "stockade": if (!checkAlerta($imei, 'Cerca')) { $body = "Geofence Violation!"; $msg = str_replace("#TIPOALERTA", "Seu veiculo saiu da cerca virtual", $msg); mysql_query("INSERT INTO message (imei, message) VALUES ('{$imei}', 'Cerca')", $con); } //Envia comando de resposta: alerta recebido $send_cmd = "**,imei:" . $conn_imei . ",E"; socket_send($socket, $send_cmd, strlen($send_cmd), 0); //printLog($fh, "Comando de resposta (stockade): " . $send_cmd . " imei: " . $conn_imei); break; case "door alarm": if (!checkAlerta($imei, 'Porta')) { $body = "Open door!"; mysql_query("INSERT INTO message (imei, message) VALUES ('{$imei}', 'Porta')", $con); } //Envia comando de resposta: alerta recebido $send_cmd = "**,imei:" . $conn_imei . ",E"; socket_send($socket, $send_cmd, strlen($send_cmd), 0); //printLog($fh, "Comando de resposta (door alarm): " . $send_cmd . " imei: " . $conn_imei); break; case "acc alarm": if (!checkAlerta($imei, 'Alarme Disparado')) { $body = "ACC alarm!"; $msg = str_replace("#TIPOALERTA", "Alarme disparado", $msg); mysql_query("INSERT INTO message (imei, message) VALUES ('{$imei}', 'Alarme Disparado')", $con); } //Envia comando de resposta: alerta recebido $send_cmd = "**,imei:" . $conn_imei . ",E"; socket_send($socket, $send_cmd, strlen($send_cmd), 0); //printLog($fh, "Comando de resposta (acc alarm): " . $send_cmd . " imei: " . $conn_imei); break; case "acc off": $body = "Ignicao Desligada!"; $msg = str_replace("#TIPOALERTA", "Seu veiculo esta com a chave desligada", $msg); //mysql_query("INSERT INTO message (imei, message) VALUES ('$imei', 'Ignição')", $cnx); mysql_query("UPDATE bem SET ligado = 'N' where imei = '{$imei}'", $con); //Envia comando de resposta: alerta recebido $send_cmd = "**,imei:" . $conn_imei . ",E"; socket_send($socket, $send_cmd, strlen($send_cmd), 0); //printLog($fh, "Comando de resposta (acc alarm): " . $send_cmd . " imei: " . $conn_imei); break; case "acc on": $body = "Ignicao Ligada!"; $msg = str_replace("#TIPOALERTA", "Seu veiculo esta com a chave ligada", $msg); //mysql_query("INSERT INTO message (imei, message) VALUES ('$imei', 'Ignição')", $cnx); mysql_query("UPDATE bem SET ligado = 'S' where imei = '{$imei}'", $cnx); //Envia comando de resposta: alerta recebido $send_cmd = "**,imei:" . $conn_imei . ",E"; socket_send($socket, $send_cmd, strlen($send_cmd), 0); //printLog($fh, "Comando de resposta (acc alarm): " . $send_cmd . " imei: " . $conn_imei); break; } //switch $msg = str_replace(' ', '+', $msg); //if($dataCliente['envia_sms'] == 'S' && $dataBem['envia_sms'] == 'S' && $infotext != 'acc on'&& $infotext != 'acc off' && $infotext != 'et') // sendSMS($dataCliente['celular'], $msg, ''); //Enviando e-mail de alerta /*$headers = "From: $email_from" . "\r\n" . "Reply-To: $email_from" . "\r\n"; $responsible = $data['responsible']; $rv = mail($responsible, "Tracker - $imei", $body, $headers);*/ if (isset($body)) { enviaEmail($dataCliente['email'], "Rastreador - {$imei}", $body); } } //while } } else { echo 'Cliente não encontrado. Erro: ' . mysql_error($con); } } else { echo 'Veículo não encontrado. Erro: ' . mysql_error($con); } mysql_close($con); } else { echo 'Não foi possivel conectar ao banco. Erro: ' . mysql_error(); } }
$titulo = 'Atenção'; $valida = 'false'; $msg = 'Caro usuário, o FormEntry foi descontinuado. Envie sua vistoria pelo SIGA!'; // $msg = 'Login inválido!'; break; case 1: $to = $consulta_login['email']; if ($_POST['app_version'] != $app_version) { $message = "Olá " . $consulta_login['nome'] . "<br><br>"; $message .= "Favor instalar a nova versão do formulário de vistoria por meio do link abaixo: <br>"; $message .= "<ul><li><a href=\"http://www.skyengenhariadecampo.com.br/files/Vistoria.form\">http://www.skyengenhariadecampo.com.br/files/Vistoria.form</a></li></ul><br>"; $message .= "SKY Engenharia de Campo"; $message .= "<hr>Este email foi enviado automaticamente pelo SIGA via FormEntry"; $subject = 'FORMULARIO DE VISTORIA - NOVA VERSAO'; $email_cc = ''; enviaEmail($to, $subject, $message, $email_from, $email_cc); $titulo = 'Atenção'; $valida = 'false'; $msg = 'Vistoria não enviada! Favor atualizar a versão do forlulário de vistoria pelo link enviado ao seu email.'; retornaMensagem($valida, 'true', $titulo, $msg, 'OK'); exit; } //Busca moderaçao (0: 5dd, 1: 5dd, 2: 15dd, 3: 1000dd) $dias[0] = 15; $dias[1] = 15; $dias[2] = 15; $dias[3] = 1000; $moderacao = buscaCampo("moderacao", "SELECT", "vistoria", "moderacao", "os = " . $_POST['os']); //Verifica data da vistoria // $dias_max_vistoria = ($consulta_login['nivel_acesso'] == 3 ? 5 : (buscaCampo("moderacao", "SELECT", "vistoria", "moderacao", "os = " . $_POST['os']) == 2 ? 15 : 5)); $dias_max_vistoria = $dias[$moderacao];
<?php if (isset($_POST['submit'])) { $dados = filtraDados($_POST); $mensagem = verificaErrosContato($dados['nome'], $dados['email'], $dados['mensagem']); if (empty($mensagem)) { enviaEmail($dados['email'], $dados['nome'], $dados['pesquisa'], $dados['mensagem']); $mensagem = "Mensagem enviada com sucesso!"; unset($_POST); } } ?> <div id="content"> <div id="outer1"> <h1 class="tituloGrande">Entre em Contato com o DJ</h1> <div id="innerContato"> <h2> Preencha o formulário abaixo, envie sua mensagem e aguarde o retorno<br> Observação:<span class="asterisco">*</span>Campo de Preenchimento Obrigatório </h2> <form action="<?php echo HOME . '?p=contato'; ?> " method="post" enctype="multipart/form-data"> <p class="separaCampo"> <label for="nome"><span class="rotuloForm">Nome Completo <span class="asterisco">*</span></label> <input type="text" name="nome" maxlength="30" value="<?php echo @strip_tags($_POST['nome']); ?> ">
/*RETORNO PAGAMENTO MOIP*/ $query = "SELECT\r\n\t\t\t\tMAX(COD_MOIP) COD_MOIP,\r\n\t\t\t\tCASE IFNULL(SITUACAO, 'N') WHEN 'N' THEN DESCRICAO_PEDIDO_ITEM_SITUACAO ELSE SITUACAO END SITUACAO,\r\n\t\t\t\tID_PEDIDO_ITEM_SITUACAO\r\n\t\t\tFROM\r\n\t\t\t\te_PEDIDO LEFT JOIN e_RETORNO_PAGAMENTO_MOIP\r\n\t\t\t\t\t\t\t\tON NUMERO_PEDIDO = ID_TRANSACAO,\r\n\t\t\t\te_PEDIDO_ITEM_SITUACAO \r\n\t\t\tWHERE\r\n\t\t\t\tNUMERO_PEDIDO = '" . $numeroPedido . "'\r\n\t\t\tAND fn_situacao_pedido(ID_PEDIDO) = ID_PEDIDO_ITEM_SITUACAO\r\n\t\t\tGROUP BY\r\n\t\t\t\tSITUACAO,\r\n\t\t\t\tDESCRICAO_PEDIDO_ITEM_SITUACAO,\r\n\t\t\t\tID_PEDIDO_ITEM_SITUACAO\r\n\t\t\t\tLIMIT 1"; $listaRetornoPagamentoMoip = $mysqli->ConsultarSQL($query); $Status = $_SESSION['sessionStatusMoIP']; if (!$Status) { $Status = $listaRetornoPagamentoMoip[0]['SITUACAO']; } $smarty->assign('situacaoMoip', $Status); $CodigoMoIP = $_SESSION['sessionCodigoMoIP']; if (!$CodigoMoIP) { $CodigoMoIP = $listaRetornoPagamentoMoip[0]['COD_MOIP']; } $codMoip = mask($CodigoMoIP, '####.####.####'); $smarty->assign('codMoip', $codMoip); if ($listaRetornoPagamentoMoip[0]['ID_PEDIDO_ITEM_SITUACAO'] == ID_SITUACAO_PEDIDO_ANALISE_CREDITO) { enviaEmail('situacaoPedido', $_SESSION['sessionNome'], $_SESSION['login'], null, $idPedido); } /**/ /*CONVERSAO FACEBOOK*/ //$arrayConversaoFacebook = array('6010232729684','6010236300884','6010236570684','6010236710284'); //$smarty->assign('arrayConversaoFacebook', $arrayConversaoFacebook); /**/ /*BTG*/ $smarty->assign('valor_total', $totalPedidoFinal); $smarty->assign('frete', $valorFretePedido); $smarty->assign('dt_prevista_para_entrega', $prazoEntregaPedido); $smarty->assign('metodo_de_pagamento', $listaPedidoPagamento[0]['DESCRICAO']); $smarty->assign('banco1', $listaPedidoPagamento[0]['DESCRICAO_FORMA_PAGAMENTO']); $smarty->assign('cod_compra', $numeroPedido); $smarty->assign('nm_etapa', $sessao); $countProdutoCarrinho = count($listaPedido);
} echo $retorno; break; case "enviaNovaSenha": $idPessoa = $_POST["idPessoa"]; $novaSenha1 = RandomString(8); $novaSenha = md5($novaSenha1); $senhaPessoa = sqlvalue($novaSenha, true); $query = "SELECT EMAIL, NOME FROM e_PESSOA WHERE ID_PESSOA = " . $idPessoa . ""; $result = $mysqli->ConsultarSQL($query); $emailPessoa = $result[0]['EMAIL']; $nomePessoa = $result[0]['NOME']; $query = "UPDATE e_PESSOA SET SENHA = " . $senhaPessoa . " WHERE ID_PESSOA = " . $idPessoa . ""; $resultQuery = $mysqli->ExecutarSQL($query); if ($resultQuery) { $enviaEmail = enviaEmail('novaSenha', $nomePessoa, $emailPessoa, $novaSenha1); $retorno = '{ "cod": "sucesso", "mensagem": "' . SENHA_ENVIADA_SUCESSO . '" }'; } else { $retorno = '{ "cod": "erro", "mensagem": "' . ERRO_ENVIAR_SENHA . '" }'; } echo $retorno; break; case "editaTabelasPessoa": $id = $_POST["id"]; $descricao = sqlvalue($_POST["descricao"], true); $tabela = str_replace("descricao", "", $_POST["tabela"]); if ($tabela == "PessoaConceito") { $query = "UPDATE e_PESSOA_CONCEITO SET DESCRICAO = " . $descricao . ", DATA_UPDATE = now(), USUARIO_UPDATE = '" . USUARIO_LOGADO . "' WHERE ID_PESSOA_CONCEITO = " . $id . ""; } elseif ($tabela == "PessoaSituacao") { $query = "UPDATE e_PESSOA_SITUACAO SET DESCRICAO_SITUACAO = " . $descricao . ", DATA_UPDATE = now(), USUARIO_UPDATE = '" . USUARIO_LOGADO . "' WHERE ID_PESSOA_SITUACAO = " . $id . ""; } elseif ($tabela == "PessoaCategoria") {
return isset($_POST[$valor]) ? $_POST[$valor] : ''; } function validaEmail($email) { return filter_var($email, FILTER_VALIDATE_EMAIL); } function enviaEmail($de, $assunto, $mensagem, $para, $email_servidor) { $headers = "From: {$email_servidor}\r\n" . "Reply-To: {$de}\r\n" . "Return-Path: {$de}\r\n" . "X-Mailer: PHP/" . phpversion() . "\r\n"; $headers .= "MIME-Version: 1.0\r\n"; $headers .= "Content-Type: text/html; charset=ISO-8859-1\r\n"; mail($para, '[CONTATO SITE] ' . (empty($assunto) ? 'Assunto não informado' : $assunto), nl2br($mensagem), $headers); } $email_servidor = "Contato Grama Forte <*****@*****.**>"; $para = "*****@*****.**"; $de = pegaValor("email"); $assunto = pegaValor("assunto"); $nome = pegaValor("nome"); $mensagem = "<html><body>"; $mensagem .= "Nova mensagem vinda do site!<br><br>"; $mensagem .= "<b>Nome:</b> " . pegaValor("nome") . "<br><br>"; $mensagem .= "<b>Email:</b> " . $de . "<br><br>"; $mensagem .= "<b>Telefone:</b> " . pegaValor("telefone") . "<br><br>"; $mensagem .= "<b>Mensagem:</b> " . pegaValor("mensagem"); $mensagem .= "</body></html>"; if ($nome && validaEmail($de) && $mensagem) { enviaEmail($de, $assunto, $mensagem, $para, $email_servidor); echo '{"enviouEmail": true}'; } else { echo '{"enviouEmail": false}'; }
function emailReenviaVistoria($nome, $to, $os, $email_cc) { $message = "Olá " . $nome . ", <br><br>"; $message .= "Conforme informado pelo consultor, favor reenviar a vistoria de <b>OS " . $os . "</b> que apresentou inconsistência nos dados.<br><br>Att,<br><br>"; $message .= "SKY Engenharia de Campo"; $message .= "<hr>Este email foi enviado automaticamente pelo Sistema Engenharia de Campo<br>"; $subject = "REENVIO DE VISTORIA - OS " . $os; $email_from = $GLOBALS['email_from']; // $email_cc = ; return enviaEmail($to, $subject, $message, $email_from, $email_cc); }
function interact($socket) { global $fh; global $command_path; global $firstInteraction; global $remip; global $remport; $loopcount = 0; $conn_imei = ""; /* TALK TO YOUR CLIENT */ $rec = ""; // Variavel que indica se comando est� em banco ou arquivo. $tipoComando = "arquivo"; //"arquivo"; //Checando o protocolo $isGIMEI = false; $isGPRMC = false; $send_cmd = ""; # Read the socket but don't wait for data.. while (@socket_recv($socket, $rec, 2048, 0x40) !== 0) { # If we know the imei of the phone and there is a pending command send it. if ($conn_imei != "") { if ($tipoComando == "arquivo" and file_exists("{$command_path}/{$conn_imei}")) { $send_cmd = file_get_contents("{$command_path}/{$conn_imei}"); socket_send($socket, $send_cmd, strlen($send_cmd), 0); unlink("{$command_path}/{$conn_imei}"); printLog($fh, "Arquivo de comandos apagado: " . $send_cmd . " imei: " . $conn_imei); } else { if ($tipoComando == "banco" and file_exists("{$command_path}/{$conn_imei}")) { //Conecta e pega o comando pendente $cnx = mysql_connect("cloudservice.cgejdsdl842e.sa-east-1.rds.amazonaws.com", "gpstracker", "d1\$1793689") or die("Could not connect: " . mysql_error()); mysql_select_db('tracker', $cnx); $res = mysql_query("SELECT c.command FROM command c WHERE c.imei = '{$conn_imei}' ORDER BY date DESC LIMIT 1", $cnx); while ($data = mysql_fetch_assoc($res)) { $send_cmd = $data['command']; echo 'acessou o comando'; } // Deletando comando //mysql_query("DELETE FROM command WHERE imei = $conn_imei"); mysql_close($cnx); socket_send($socket, $send_cmd, strlen($send_cmd), 0); unlink("{$command_path}/{$conn_imei}"); printLog($fh, "Comandos do arquivo apagado: " . $send_cmd . " imei: " . $conn_imei); } else { //Se nao tiver comando na fila e for a primeira iteracao, obtem o ultimo comando v�lido enviado if ($firstInteraction == true) { sleep(1); $send_cmd = "**,imei:" . $conn_imei . ",C,02m"; //Obtendo o ultimo comando $cnx = mysql_connect("cloudservice.cgejdsdl842e.sa-east-1.rds.amazonaws.com", "gpstracker", "d1\$1793689") or die("Could not connect: " . mysql_error()); mysql_select_db('tracker', $cnx); $res = mysql_query("SELECT c.command FROM command c WHERE c.command like '**,imei:" . $conn_imei . ",C,%' and c.imei = {$conn_imei} ORDER BY date DESC LIMIT 1", $cnx); while ($data = mysql_fetch_assoc($res)) { $send_cmd = $data['command']; } mysql_close($cnx); socket_send($socket, $send_cmd, strlen($send_cmd), 0); printLog($fh, "Comando de start: " . $send_cmd . " imei: " . $conn_imei); $firstInteraction = false; } } } // Comando enviado printLog($fh, date("d-m-y h:i:sa") . " Sent: {$send_cmd}"); } # Some pacing to ensure we don't split any incoming data. sleep(1); # Timeout the socket if it's not talking... # Prevents duplicate connections, confusing the send commands $loopcount++; if ($loopcount > 120) { return; } #remove any whitespace from ends of string. $cnx = mysql_connect("cloudservice.cgejdsdl842e.sa-east-1.rds.amazonaws.com", "gpstracker", "d1\$1793689"); mysql_select_db('tracker', $cnx); if ($rec != "") { $rec = trim($rec); if (strpos($rec, "GPRMC") === false) { /* M�DULO IMEI GEN�RICO */ $isGIMEI = true; $loopcount = 0; if ($fh != null) { printLog($fh, date("d-m-y h:i:sa") . " Got : {$rec}"); } $parts = explode(',', $rec); if (strpos($parts[0], "#") === FALSE) { /* Andrew's tracker is different.... Array ( [0] => imei:354779030525274 [1] => tracker [2] => 0909221022 [3] => +61417801658 [4] => F [5] => 022234.000 [6] => A [7] => 3506.5232 [8] => S [9] => 13829.5988 [10] => E [11] => 0.00 [12] => ) */ # $imei = substr($parts[0],0, -1); # Only worry about the rest if there is data to get if (count($parts) > 1) { $imei = substr($parts[0], 5); $infotext = mysql_real_escape_string($parts[1]); $trackerdate = mysql_real_escape_string($parts[2]); $gpsSignalIndicator = mysql_real_escape_string($parts[4]); $speed = 0; //Se gpsSignalIndicator <> L, pega o outros dados if ($gpsSignalIndicator != 'L') { $phone = mysql_real_escape_string($parts[3]); $satelliteFixStatus = mysql_real_escape_string($parts[6]); $latitudeDecimalDegrees = mysql_real_escape_string($parts[7]); $latitudeHemisphere = mysql_real_escape_string($parts[8]); $longitudeDecimalDegrees = mysql_real_escape_string($parts[9]); $longitudeHemisphere = mysql_real_escape_string($parts[10]); $speed = mysql_real_escape_string($parts[11]); } //inicio verifica geofence mysql_select_db('tracker', $cnx); $texto_sms_localiza = ""; $texto_sms_alerta_hodometro = ""; $texto_sms_alerta = ""; $result = mysql_query("select * from preferencias", $cnx); while ($dataPref = mysql_fetch_assoc($result)) { if ($dataPref['nome'] == 'texto_sms_localiza') { $texto_sms_localiza = $dataPref['valor']; } if ($dataPref['nome'] == 'texto_sms_alerta_hodometro') { $texto_sms_alerta_hodometro = $dataPref['valor']; } if ($dataPref['nome'] == 'texto_sms_alerta') { $texto_sms_alerta = $dataPref['valor']; } } if ($imei != "") { $consulta = mysql_query("SELECT * FROM geo_fence WHERE imei = '{$imei}'", $cnx); while ($data = mysql_fetch_assoc($consulta)) { $idCerca = $data['id']; $imeiCerca = $data['imei']; $nomeCerca = $data['nome']; $coordenadasCerca = $data['coordenadas']; $resultCerca = $data['tipo']; $tipoEnvio = $data['tipoEnvio']; strlen($latitudeDecimalDegrees) == 9 && ($latitudeDecimalDegrees = '0' . $latitudeDecimalDegrees); $g = substr($latitudeDecimalDegrees, 0, 3); $d = substr($latitudeDecimalDegrees, 3); $strLatitudeDecimalDegrees = $g + $d / 60; $latitudeHemisphere == "S" && ($strLatitudeDecimalDegrees = $strLatitudeDecimalDegrees * -1); strlen($longitudeDecimalDegrees) == 9 && ($longitudeDecimalDegrees = '0' . $longitudeDecimalDegrees); $g = substr($longitudeDecimalDegrees, 0, 3); $d = substr($longitudeDecimalDegrees, 3); $strLongitudeDecimalDegrees = $g + $d / 60; $longitudeHemisphere == "S" && ($strLongitudeDecimalDegrees = $strLongitudeDecimalDegrees * -1); $strLongitudeDecimalDegrees = $strLongitudeDecimalDegrees * -1; $lat_point = $strLatitudeDecimalDegrees; $lng_point = $strLongitudeDecimalDegrees; $exp = explode("|", $coordenadasCerca); if (count($exp) < 5) { $strExp = explode(",", $exp[0]); $strExp1 = explode(",", $exp[2]); } else { $int = count($exp) / 2; $strExp = explode(",", $exp[0]); $strExp1 = explode(",", $exp[$int]); } $lat_vertice_1 = $strExp[0]; $lng_vertice_1 = $strExp[1]; $lat_vertice_2 = $strExp1[0]; $lng_vertice_2 = $strExp1[1]; if ($lat_vertice_1 < $lat_point or $lat_point < $lat_vertice_2 and $lng_point < $lng_vertice_1 or $lng_vertice_2 < $lng_point) { $result = '0'; $situacao = 'fora'; } else { $result = '1'; $situacao = 'dentro'; } if ($result != $resultCerca and round($speed * 1.852, 0) > 0) { mysql_query("INSERT INTO message (imei, message) VALUES ('{$imei}', 'Cerca " . $nomeCerca . " Violada!')", $cnx); if ($tipoEnvio == 0) { echo $url = 'http://maps.googleapis.com/maps/api/geocode/json?latlng=40.714224,-73.961452&sensor=falsei'; $data = @file_get_contents($url); $jsondata = json_decode($data, true); echo $jsondata['Status'][0]; // if we get a placemark array and the status was good, get the addres if (is_array($jsondata) && $jsondata['status'] == 'ok') { $addr = $jsondata['Placemark'][0]['address']; echo $addr; } # Convert the GPS coordinates to a human readable address https: //maps.googleapis.com/maps/api/js?v=3.exp&signed_in=true $tempstr = "http://maps.google.com/maps/geo?q={$lat_point},{$lng_point}&oe=utf-8&sensor=false&key=AIzaSyAHtRwtz8ReaYTsyPOD83ojXSgcGw-koe0"; //output = csv, xml, kml, json $rev_geo_str = file_get_contents($tempstr); $rev_geo_str = preg_replace("/\"/", "", $rev_geo_str); $rev_geo = explode(',', $rev_geo_str); $logradouro = $rev_geo[2] . "," . $rev_geo[3]; require "lib/class.phpmailer.php"; include "/var/www/config.php"; $consulta1 = mysql_query("SELECT a.*, b.* FROM cliente a INNER JOIN bem b ON (a.id = b.cliente) WHERE b.imei = '{$imei}'", $cnx); while ($data = mysql_fetch_assoc($consulta1)) { $emailDestino = $data['email']; $nameBem = $data['name']; $mensagem = "O veiculo " . $nameBem . ", esta " . $situacao . " do perimetro " . $nomeCerca . ", as " . date("H:i:s") . " do dia " . date("d/m/Y") . ", no local " . $logradouro . " e trafegando a " . round($speed * 1.852, 0) . " km/h."; $msg = "<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.0 Transitional//EN\">"; $msg .= "<html>"; $msg .= "<head></head>"; $msg .= "<body style=\"background-color:#fff;\" >"; $msg .= "<p><strong>Alerta de Violacao de Perimetro:</strong><br /><br />"; $msg .= $mensagem . "<br /><br />"; $msg .= "Equipe Telocalizei<br />"; $msg .= "(31)3044-9029<br />"; $msg .= "(31)3081-1662<br />"; $msg .= "(31)8500-0207<br />"; $msg .= "<a href=\"http://www.telocalizei.com.br\">www.telocalizei.com.br</a></p>"; $msg .= "</body>"; $msg .= "</html>"; $mail = new PHPMailer(); $mail->Mailer = "smtp"; $mail->IsHTML(true); $mail->CharSet = "utf-8"; $mail->SMTPSecure = "ssl"; $mail->Host = HOST_SMTP; $mail->Port = "465"; $mail->SMTPAuth = AUTENT_SMTP; $mail->Username = USER_SMTP; $mail->Password = SENHA_SMTP; $mail->From = "*****@*****.**"; $mail->FromName = "TELOCALIZEI - RASTREAMENTO ONLINE"; $mail->AddAddress($emailDestino); $mail->AddReplyTo($mail->From, $mail->FromName); $mail->Subject = "TELOCALIZEI - Alerta de Violacao de Perimetro"; $mail->Body = $msg; if (!$mail->Send()) { echo "Erro de envio: " . $mail->ErrorInfo; } else { echo "Mensagem enviada com sucesso!"; } } } } } } // if imei //final verifica geofence $dataBem = null; $dataCliente = null; $resBem = mysql_query("select id, cliente, envia_sms, name, alerta_hodometro, alerta_hodometro_saldo from bem where imei = '{$imei}'", $cnx); $dataBem = mysql_fetch_assoc($resBem); $resCliente = mysql_query("select id, celular, dt_ultm_sms, envia_sms, sms_acada, hour(timediff(now(), dt_ultm_sms)) horas, minute(timediff(now(), dt_ultm_sms)) minutos, nome from cliente where id = {$dataBem['cliente']}", $cnx); $dataCliente = mysql_fetch_assoc($resCliente); # Write it to the database... if ($gpsSignalIndicator != 'L') { $movimento = ''; if ($speed > 0) { $movimento = 'S'; } else { $movimento = 'N'; } $gpsLat = gprsToGps($latitudeDecimalDegrees, $latitudeHemisphere); $gpsLon = gprsToGps($longitudeDecimalDegrees, $longitudeHemisphere); $gpsLatAnt = 0; $gpsLatHemAnt = ''; $gpsLonAnt = 0; $gpsLonHemAnt = ''; $alertaACadaSaldo = 0; $resLocAtual = mysql_query("select id, latitudeDecimalDegrees, latitudeHemisphere, longitudeDecimalDegrees, longitudeHemisphere from loc_atual where imei = '{$imei}' limit 1", $cnx); $numRows = mysql_num_rows($resLocAtual); if ($numRows == 0) { //mysql_query("insert into logs evento values ('ok') "); mysql_query("INSERT INTO loc_atual (date, imei, phone, satelliteFixStatus, latitudeDecimalDegrees, latitudeHemisphere, longitudeDecimalDegrees, longitudeHemisphere, speed, infotext, gpsSignalIndicator, converte) VALUES (now(), '{$imei}', '{$phone}', '{$satelliteFixStatus}', '{$latitudeDecimalDegrees}', '{$latitudeHemisphere}', '{$longitudeDecimalDegrees}', '{$longitudeHemisphere}', '{$speed}', '{$infotext}', '{$gpsSignalIndicator}', 1)", $cnx); } else { mysql_query("UPDATE loc_atual set date = now(), phone = '{$phone}', satelliteFixStatus = '{$satelliteFixStatus}', latitudeDecimalDegrees = '{$latitudeDecimalDegrees}', latitudeHemisphere = '{$latitudeHemisphere}', longitudeDecimalDegrees = '{$longitudeDecimalDegrees}', longitudeHemisphere = '{$longitudeHemisphere}', speed = '{$speed}', infotext = '{$infotext}', gpsSignalIndicator = '{$gpsSignalIndicator}' where imei = '{$imei}'", $cnx); } $distance = 0; try { $bemId = $dataBem[id]; $countGeoDistance = mysql_query("select bem from geo_distance where bem = {$bemId}", $cnx); if ($countGeoDistance === false || mysql_num_rows($countGeoDistance) == 0) { mysql_query("insert into geo_distance (bem, tipo) values({$bemId}, 'I')", $cnx); mysql_query("insert into geo_distance (bem, tipo) values({$bemId}, 'F')", $cnx); } /*envio de sms*/ if ($dataCliente['envia_sms'] == 'S' && $dataBem['envia_sms'] == 'S' && !empty($dataCliente['celular']) && !empty($dataCliente['sms_acada'])) { if (empty($dataCliente['dt_ultm_sms'])) { mysql_query("update cliente set dt_ultm_sms = convert_tz(now(), 'GMT', 'Brazil/East') where id = {$dataCliente['id']}", $cnx); } else { $horas = $dataCliente['horas']; $minutos = $dataCliente['minutos']; if (!empty($horas)) { $horas = $horas * 60; } $tempoTotal = $horas + $minutos; if ($tempoTotal > $dataCliente['sms_acada']) { $json = json_decode(file_get_contents("http://maps.google.com/maps/api/geocode/json?sensor=false&latlng={$gpsLat},{$gpsLon}&language=es-ES")); if (isset($json->status) && $json->status == 'OK' && isset($json->results[0]->formatted_address)) { $address = $json->results[0]->formatted_address; $address = utf8_decode($address); $aDataCliente = split(' ', $dataCliente['nome']); $msg = $texto_sms_localiza; $msg = str_replace("#CLIENTE", $aDataCliente[0], $msg); $msg = str_replace("#VEICULO", $dataBem['name'], $msg); $msg = str_replace("#LOCALIZACAO", $address, $msg); $msg = str_replace(' ', '+', $msg); sendSMS($dataCliente['celular'], $msg, ''); if ($retorno < 0) { mysql_query("insert into controle(texto) values('envio de sms retorno: {$retorno}')", $cnx); } else { mysql_query("update cliente set dt_ultm_sms = convert_tz(now(), 'GMT', 'Brazil/East') where id = {$dataCliente['id']}", $cnx); } } } } } if ($movimento == 'S') { $resGeoDistance = mysql_query("select parou from geo_distance where bem = {$bemId} and tipo = 'I'", $cnx); $dataGeoDistance = mysql_fetch_assoc($resGeoDistance); if ($dataGeoDistance[parou] == 'S' || empty($dataGeoDistance[parou])) { mysql_query("update geo_distance set latitudeDecimalDegrees = '{$latitudeDecimalDegrees}', latitudeHemisphere = '{$latitudeHemisphere}', longitudeDecimalDegrees = '{$longitudeDecimalDegrees}', longitudeHemisphere = '{$longitudeHemisphere}', parou = 'N' where bem = {$bemId} and tipo = 'I'", $cnx); } } else { $resGeoDistance = mysql_query("select latitudeDecimalDegrees, latitudeHemisphere, longitudeDecimalDegrees, longitudeHemisphere from geo_distance where bem = {$bemId} and tipo = 'I'", $cnx); if (mysql_num_rows($resGeoDistance) > 0) { $update = mysql_query("update geo_distance set latitudeDecimalDegrees = '{$latitudeDecimalDegrees}', latitudeHemisphere = '{$latitudeHemisphere}', longitudeDecimalDegrees = '{$longitudeDecimalDegrees}', longitudeHemisphere = '{$longitudeHemisphere}', parou = 'S' where bem = {$bemId} and tipo = 'I'", $cnx); $dataGeoDistance = mysql_fetch_assoc($resGeoDistance); $gpsLatAnt = gprsToGps($dataGeoDistance["latitudeDecimalDegrees"], $dataGeoDistance[latitudeHemisphere]); $gpsLonAnt = gprsToGps($dataGeoDistance["longitudeDecimalDegrees"], $dataGeoDistance[longitudeHemisphere]); if ($gpsLatAnt != $gpsLat) { if ($gpsLatAnt != 0 && $gpsLonAnt != 0) { /* if(isset($json->rows[0]->elements[0]->distance)){ $strDistance = $json->rows[0]->elements[0]->distance->value; $distance = $strDistance+0; $alertaACada = $dataBem['alerta_hodometro']; $alertaACadaSaldo = $dataBem['alerta_hodometro_saldo']; $alertaACadaSaldo = ($alertaACadaSaldo*1000) - $distance; if($alertaACadaSaldo <= 0 && $alertaACada > 0){ $msg = $texto_sms_alerta_hodometro; $msg = str_replace("#CLIENTE", $aDataCliente[0], $msg); $msg = str_replace("#VEICULO", $dataBem['name'], $msg); $msg = str_replace("#HODOMETRO", $alertaACada, $msg); $msg = str_replace(' ', '+', $msg); sendSMS($dataCliente['celular'], $msg, ''); $alertaACadaSaldo = $alertaACada; } $alertaACadaSaldo = (int)$alertaACadaSaldo/1000; } */ $geoDistance = distance($gpsLatAnt, $gpsLonAnt, $gpsLat, $gpsLon); //$strDistance = $json->rows[0]->elements[0]->distance->value; //$distance = (int)($geoDistance*1000); $distance = (double) $geoDistance; $alertaACada = $dataBem['alerta_hodometro']; $alertaACadaSaldo = $dataBem['alerta_hodometro_saldo']; $alertaACadaSaldo = $alertaACadaSaldo * 1000 - $distance; if ($alertaACadaSaldo <= 0 && $alertaACada > 0) { $msg = $texto_sms_alerta_hodometro; $msg = str_replace("#CLIENTE", $aDataCliente[0], $msg); $msg = str_replace("#VEICULO", $dataBem['name'], $msg); $msg = str_replace("#HODOMETRO", $alertaACada, $msg); $msg = str_replace(' ', '+', $msg); //sendSMS($dataCliente['celular'], $msg, ''); $alertaACadaSaldo = $alertaACada; } $alertaACadaSaldo = (int) $alertaACadaSaldo / 1000; } } } } } catch (Exception $e) { mysql_query("INSERT INTO controle (texto) VALUES ({$e->getMessage}())", $cnx); } mysql_query("INSERT INTO gprmc (date, imei, phone, satelliteFixStatus, latitudeDecimalDegrees, latitudeHemisphere, longitudeDecimalDegrees, longitudeHemisphere, speed, infotext, gpsSignalIndicator, km_rodado, address, converte) VALUES (now(), '{$imei}', '{$phone}', '{$satelliteFixStatus}', '{$latitudeDecimalDegrees}', '{$latitudeHemisphere}', '{$longitudeDecimalDegrees}', '{$longitudeHemisphere}', '{$speed}', '{$infotext}', '{$gpsSignalIndicator}', {$distance}, '{$address}', 1)", $cnx); // Otavio Gomes - 15012015 1427 - So atualizar o hodometro se a distancia for maior que 10m if ($alertaACadaSaldo == 0) { mysql_query("UPDATE bem set date = now(), status_sinal = 'R', movimento = '{$movimento}', hodometro = hodometro+{$distance} WHERE imei = '{$imei}'", $cnx); } else { mysql_query("UPDATE bem set date = now(), status_sinal = 'R', movimento = '{$movimento}', hodometro = hodometro+{$distance}, alerta_hodometro_saldo = {$alertaACadaSaldo} WHERE imei = '{$imei}'", $cnx); } /* if($numRows == 0){ mysql_query("INSERT INTO loc_atual (date, imei, phone, satelliteFixStatus, latitudeDecimalDegrees, latitudeHemisphere, longitudeDecimalDegrees, longitudeHemisphere, speed, infotext, gpsSignalIndicator) VALUES (now(), '$imei', '$phone', '$satelliteFixStatus', '$latitudeDecimalDegrees', '$latitudeHemisphere', '$longitudeDecimalDegrees', '$longitudeHemisphere', '$speed', '$infotext', '$gpsSignalIndicator')", $cnx); } else { mysql_query("UPDATE loc_atual set date = now(), phone = '$phone', satelliteFixStatus = '$satelliteFixStatus', latitudeDecimalDegrees = '$latitudeDecimalDegrees', latitudeHemisphere = '$latitudeHemisphere', longitudeDecimalDegrees = '$longitudeDecimalDegrees', longitudeHemisphere = '$longitudeHemisphere', speed = '$speed', infotext = '$infotext', gpsSignalIndicator = '$gpsSignalIndicator' where imei = '$imei'", $cnx); } */ } else { mysql_query("UPDATE bem set date = now(), status_sinal = 'S' WHERE imei = '{$imei}'", $cnx); } # Now check to see if we need to send any alerts. if ($infotext != "tracker") { $msg = $texto_sms_alerta; $msg = str_replace("#CLIENTE", $aDataCliente[0], $msg); $msg = str_replace("#VEICULO", $dataBem['name'], $msg); $res = mysql_query("SELECT responsible FROM bem WHERE imei='{$imei}'", $cnx); while ($data = mysql_fetch_assoc($res)) { switch ($infotext) { case "dt": $body = "Disable Track OK"; $msg = str_replace("#TIPOALERTA", "Rastreador Desabilitado", $msg); break; case "et": $body = "Stop Alarm OK"; $msg = str_replace("#TIPOALERTA", "Alarme parado", $msg); break; case "gt": $body = "Move Alarm set OK"; $msg = str_replace("#TIPOALERTA", "Alarme de Movimento ativado", $msg); break; case "help me": $body = "Help!"; mysql_query("INSERT INTO message (imei, message) VALUES ('\${$conn_imei}', 'SOS!')", $cnx); $msg = str_replace("#TIPOALERTA", "SOS", $msg); //Envia comando de resposta: alerta recebido $send_cmd = "**,imei:" . $conn_imei . ",E"; socket_send($socket, $send_cmd, strlen($send_cmd), 0); //printLog($fh, "Comando de resposta (help me): " . $send_cmd . " imei: " . $conn_imei); break; case "ht": $body = "Speed alarm set OK"; $msg = str_replace("#TIPOALERTA", "Alarme de velocidade ativado", $msg); break; case "it": $body = "Timezone set OK"; break; case "low battery": $body = "Low battery!\nYou have about 2 minutes..."; $msg = str_replace("#TIPOALERTA", "Bateria fraca, voce tem 2 minutos", $msg); mysql_query("INSERT INTO message (imei, message) VALUES ('{$imei}', 'Bat. Fraca')", $cnx); //Envia comando de resposta: alerta recebido $send_cmd = "**,imei:" . $conn_imei . ",E"; socket_send($socket, $send_cmd, strlen($send_cmd), 0); //printLog($fh, "Comando de resposta (low battery): " . $send_cmd . " imei: " . $conn_imei); break; case "move": $body = "Move Alarm!"; $msg = str_replace("#TIPOALERTA", "Seu veiculo esta em movimento", $msg); mysql_query("INSERT INTO message (imei, message) VALUES ('{$imei}', 'Movimento')", $cnx); //Envia comando de resposta: alerta recebido $send_cmd = "**,imei:" . $conn_imei . ",E"; socket_send($socket, $send_cmd, strlen($send_cmd), 0); //printLog($fh, "Comando de resposta (move): " . $send_cmd . " imei: " . $conn_imei); break; case "nt": $body = "Returned to SMS mode OK"; break; case "speed": $body = "Speed alarm!"; $msg = str_replace("#TIPOALERTA", "Seu veiculo ultrapassou o limite de velocidade", $msg); mysql_query("INSERT INTO message (imei, message) VALUES ('{$imei}', 'Velocidade')", $cnx); //Envia comando de resposta: alerta recebido $send_cmd = "**,imei:" . $conn_imei . ",E"; socket_send($socket, $send_cmd, strlen($send_cmd), 0); //printLog($fh, "Comando de resposta (speed): " . $send_cmd . " imei: " . $conn_imei); break; case "stockade": $body = "Geofence Violation!"; $msg = str_replace("#TIPOALERTA", "Seu veiculo saiu da cerca virtual", $msg); mysql_query("INSERT INTO message (imei, message) VALUES ('{$imei}', 'Cerca')", $cnx); //Envia comando de resposta: alerta recebido $send_cmd = "**,imei:" . $conn_imei . ",E"; socket_send($socket, $send_cmd, strlen($send_cmd), 0); //printLog($fh, "Comando de resposta (stockade): " . $send_cmd . " imei: " . $conn_imei); break; case "door alarm": $body = "Open door!"; mysql_query("INSERT INTO message (imei, message) VALUES ('{$imei}', 'Porta')", $cnx); //Envia comando de resposta: alerta recebido $send_cmd = "**,imei:" . $conn_imei . ",E"; socket_send($socket, $send_cmd, strlen($send_cmd), 0); //printLog($fh, "Comando de resposta (door alarm): " . $send_cmd . " imei: " . $conn_imei); break; case "acc alarm": $body = "ACC alarm!"; $msg = str_replace("#TIPOALERTA", "Seu veiculo esta com a chave ligada", $msg); mysql_query("INSERT INTO message (imei, message) VALUES ('{$imei}', 'Ignição')", $cnx); //Envia comando de resposta: alerta recebido $send_cmd = "**,imei:" . $conn_imei . ",E"; socket_send($socket, $send_cmd, strlen($send_cmd), 0); //printLog($fh, "Comando de resposta (acc alarm): " . $send_cmd . " imei: " . $conn_imei); break; case "acc off": $body = "Ignicao Desligada!"; $msg = str_replace("#TIPOALERTA", "Seu veiculo esta com a chave desligada", $msg); //mysql_query("INSERT INTO message (imei, message) VALUES ('$imei', 'Ignição')", $cnx); mysql_query("UPDATE bem SET ligado = 'N' where imei = '{$imei}'", $cnx); //Envia comando de resposta: alerta recebido $send_cmd = "**,imei:" . $conn_imei . ",E"; socket_send($socket, $send_cmd, strlen($send_cmd), 0); //printLog($fh, "Comando de resposta (acc alarm): " . $send_cmd . " imei: " . $conn_imei); break; case "acc on": $body = "Ignicao Ligada!"; $msg = str_replace("#TIPOALERTA", "Seu veiculo esta com a chave ligada", $msg); //mysql_query("INSERT INTO message (imei, message) VALUES ('$imei', 'Ignição')", $cnx); mysql_query("UPDATE bem SET ligado = 'S' where imei = '{$imei}'", $cnx); //Envia comando de resposta: alerta recebido $send_cmd = "**,imei:" . $conn_imei . ",E"; socket_send($socket, $send_cmd, strlen($send_cmd), 0); //printLog($fh, "Comando de resposta (acc alarm): " . $send_cmd . " imei: " . $conn_imei); break; } //switch $msg = str_replace(' ', '+', $msg); //if($dataCliente['envia_sms'] == 'S' && $dataBem['envia_sms'] == 'S' && $infotext != 'acc on'&& $infotext != 'acc off' && $infotext != 'et') // sendSMS($dataCliente['celular'], $msg, ''); //Enviando e-mail de alerta $headers = "From: {$email_from}" . "\r\n" . "Reply-To: {$email_from}" . "\r\n"; $resBem = mysql_query("\r\n\t\t\t\t\t\t\t\t\t\tSELECT id, cliente, envia_sms, name, hodometro, alerta_hodometro, alerta_hodometro_saldo,\r\n\t\t\t\t\t\t\t\t\t\t\t limite_velocidade\r\n\t\t\t\t\t\t\t\t\t FROM bem\r\n\t\t\t\t\t\t\t\t\t\t WHERE imei = '{$imei}'", $cnx); printLog($fh, $resBem); $dataBem = mysql_fetch_assoc($resBem); if ($resBem !== false) { $resCliente = mysql_query("SELECT id, celular, dt_ultm_sms, envia_sms, sms_acada, hour(TIMEDIFF(now(), dt_ultm_sms)) horas, minute(TIMEDIFF(now(), dt_ultm_sms)) minutos, nome, email FROM cliente WHERE id = " . $dataBem['cliente'], $cnx); if ($resCliente !== false) { $dataCliente = mysql_fetch_assoc($resCliente); } } $emailDestino = $dataCliente['email']; enviaEmail($emailDestino, "[Te Localizei] Alerta", $body); } //while } mysql_close($cnx); } else { /* If we got here, we got an imei ONLY - not even 'imei:' first This seems to be some sort of 'keepalive' packet The TK-201 is not stateless like the TK-102, it needs to retain a session. Basically, we just reply with 'ON' anything else seems to cause the device to reset the connection. */ @socket_send($socket, "ON", 2, 0); printLog($fh, date("d-m-y h:i:sa") . " Sent: ON"); } } else { /*Here is where we land on the first iteration of the loop on a new connection. We get from the gps: ##,imei:<IMEI>,A; It seems the correct reply is 'LOAD' so that's what we send. */ $init = $parts[0]; $conn_imei = substr($parts[1], 5); $cmd = $parts[2]; if ($cmd = "A") { @socket_send($socket, "LOAD", 4, 0); // Abrindo arquivo de log do imei abrirArquivoLog($conn_imei); printLog($fh, date("d-m-y h:i:sa") . " Connection from {$remip}:{$remport}"); printLog($fh, date("d-m-y h:i:sa") . " Got : {$rec}"); printLog($fh, date("d-m-y h:i:sa") . " Sent: LOAD"); } } } else { /* M�DULO GPRMC */ if (strpos($rec, "GPRMC") > -1) { $isGPRMC = true; } $loopcount = 0; //printLog($fh, date("d-m-y h:i:sa") . " Got : $rec"); $parts = explode(',', $rec); $cnx = mysql_connect("cloudservice.cgejdsdl842e.sa-east-1.rds.amazonaws.com", "gpstracker", "d1\$1793689"); /* Array ( [0] => 0908242216 [1] => 0033663282263 [2] => GPRMC [3] => 212442.000 [4] => A [5] => 4849.0475 [6] => N [7] => 00219.4763 [8] => E [9] => 2.29 [10] => [11] => 220809 [12] => [13] => [14] => A*70 [15] => L [16] => imei:359587017313647 [17] => 101Q [18] => ) */ if (count($parts) > 1) { $trackerdate = mysql_real_escape_string($parts[0]); $phone = mysql_real_escape_string($parts[1]); $gprmc = mysql_real_escape_string($parts[2]); $satelliteDerivedTime = mysql_real_escape_string($parts[3]); $satelliteFixStatus = mysql_real_escape_string($parts[4]); $latitudeDecimalDegrees = mysql_real_escape_string($parts[5]); $latitudeHemisphere = mysql_real_escape_string($parts[6]); $longitudeDecimalDegrees = mysql_real_escape_string($parts[7]); $longitudeHemisphere = mysql_real_escape_string($parts[8]); $speed = mysql_real_escape_string($parts[9]); $bearing = mysql_real_escape_string($parts[10]); $utcDate = mysql_real_escape_string($parts[11]); // = $parts[12]; // = $parts[13]; $checksum = mysql_real_escape_string($parts[14]); $gpsSignalIndicator = mysql_real_escape_string($parts[15]); if (preg_match("/imei/", $parts[16])) { $infotext = "gprmc"; //Nenhum comando enviado pelo gps $imei = mysql_real_escape_string($parts[16]); $other = mysql_real_escape_string($parts[17]); } else { $infotext = mysql_real_escape_string($parts[16]); $imei = mysql_real_escape_string($parts[17]); $other = mysql_real_escape_string($parts[18] . ' ' . $parts[19]); } if ($infotext == "") { $infotext = "gprmc"; } if (preg_match("/:/", substr($imei, 5))) { $imei = substr($imei, 6); } else { $imei = substr($imei, 5); } /* $imei = split(':', trim($imei)); if(count($imei) > 1){ $imei = $imei[1]; } */ $conn_imei = $imei; abrirArquivoLog($conn_imei); printLog($fh, date("d-m-y h:i:sa") . " Connection from {$remip}:{$remport}"); printLog($fh, date("d-m-y h:i:sa") . " Got : {$rec}"); //inicio verifica geofence mysql_select_db('tracker', $cnx); if ($imei != "") { $consulta = mysql_query("SELECT * FROM geo_fence WHERE imei = '{$imei}'", $cnx); while ($data = mysql_fetch_assoc($consulta)) { $idCerca = $data['id']; $imeiCerca = $data['imei']; $nomeCerca = $data['nome']; $coordenadasCerca = $data['coordenadas']; $resultCerca = $data['tipo']; $tipoEnvio = $data['tipoEnvio']; strlen($latitudeDecimalDegrees) == 9 && ($latitudeDecimalDegrees = '0' . $latitudeDecimalDegrees); $g = substr($latitudeDecimalDegrees, 0, 3); $d = substr($latitudeDecimalDegrees, 3); $strLatitudeDecimalDegrees = $g + $d / 60; $latitudeHemisphere == "S" && ($strLatitudeDecimalDegrees = $strLatitudeDecimalDegrees * -1); strlen($longitudeDecimalDegrees) == 9 && ($longitudeDecimalDegrees = '0' . $longitudeDecimalDegrees); $g = substr($longitudeDecimalDegrees, 0, 3); $d = substr($longitudeDecimalDegrees, 3); $strLongitudeDecimalDegrees = $g + $d / 60; $longitudeHemisphere == "S" && ($strLongitudeDecimalDegrees = $strLongitudeDecimalDegrees * -1); $strLongitudeDecimalDegrees = $strLongitudeDecimalDegrees * -1; $lat_point = $strLatitudeDecimalDegrees; $lng_point = $strLongitudeDecimalDegrees; $exp = explode("|", $coordenadasCerca); if (count($exp) < 5) { $strExp = explode(",", $exp[0]); $strExp1 = explode(",", $exp[2]); } else { $int = count($exp) / 2; $strExp = explode(",", $exp[0]); $strExp1 = explode(",", $exp[$int]); } $lat_vertice_1 = $strExp[0]; $lng_vertice_1 = $strExp[1]; $lat_vertice_2 = $strExp1[0]; $lng_vertice_2 = $strExp1[1]; if ($lat_vertice_1 < $lat_point or $lat_point < $lat_vertice_2 and $lng_point < $lng_vertice_1 or $lng_vertice_2 < $lng_point) { $result = '0'; $situacao = 'fora'; } else { $result = '1'; $situacao = 'dentro'; } if ($result != $resultCerca and round($speed * 1.852, 0) > 0) { mysql_query("INSERT INTO message (imei, message) VALUES ('{$imeiCerca}', 'Cerca " . $nomeCerca . " Violada!')", $cnx); if ($tipoEnvio == 0) { # Convert the GPS coordinates to a human readable address $tempstr = "http://maps.google.com/maps/geo?q={$lat_point},{$lng_point}&oe=utf-8&sensor=false&key=AIzaSyAHtRwtz8ReaYTsyPOD83ojXSgcGw-koe0"; //output = csv, xml, kml, json $rev_geo_str = file_get_contents($tempstr); $rev_geo_str = preg_replace("/\"/", "", $rev_geo_str); $rev_geo = explode(',', $rev_geo_str); $logradouro = $rev_geo[2] . "," . $rev_geo[3]; require "lib/class.phpmailer.php"; include "/var/www/config.php"; $consulta1 = mysql_query("SELECT a.*, b.* FROM cliente a INNER JOIN bem b ON (a.id = b.cliente) WHERE b.imei = '{$imeiCerca}'", $cnx); while ($data = mysql_fetch_assoc($consulta1)) { $emailDestino = $data['email']; $nameBem = $data['name']; $mensagem = "O veiculo " . $nameBem . ", esta " . $situacao . " do perimetro " . $nomeCerca . ", as " . date("H:i:s") . " do dia " . date("d/m/Y") . ", no local " . $logradouro . " e trafegando a " . round($speed * 1.852, 0) . " km/h."; $msg = "<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.0 Transitional//EN\">"; $msg .= "<html>"; $msg .= "<head></head>"; $msg .= "<body style=\"background-color:#fff;\" >"; $msg .= "<p><strong>Alerta de Violacao de Perimetro:</strong><br /><br />"; $msg .= $mensagem . "<br /><br />"; $msg .= "Equipe BarukSat<br />"; $msg .= "(85)88462069<br />"; $msg .= "<a href=\"http://www.systemtracker.com.br\">www.systemtracker.com.br</a></p>"; $msg .= "</body>"; $msg .= "</html>"; $mail = new PHPMailer(); $mail->Mailer = "smtp"; $mail->IsHTML(true); $mail->CharSet = "utf-8"; $mail->SMTPSecure = "ssl"; $mail->Host = HOST_SMTP; $mail->Port = "465"; $mail->SMTPAuth = AUTENT_SMTP; $mail->Username = USER_SMTP; $mail->Password = SENHA_SMTP; $mail->From = "*****@*****.**"; $mail->FromName = "TELOCALIZEI - RASTREAMENTO ONLINE"; $mail->AddAddress($emailDestino); $mail->AddReplyTo($mail->From, $mail->FromName); $mail->Subject = "TELOCALIZEI - Alerta de Violacao de Perimetro"; $mail->Body = $msg; if (!$mail->Send()) { echo "Erro de envio: " . $mail->ErrorInfo; } else { echo "Mensagem enviada com sucesso!"; } } } } } } // if imei //final verifica geofence if ($gpsSignalIndicator != 'L') { $movimento = ''; if ($speed > 0) { $movimento = 'S'; } else { $movimento = 'N'; } $gpsLat = gprsToGps($latitudeDecimalDegrees, $latitudeHemisphere); $gpsLon = gprsToGps($longitudeDecimalDegrees, $longitudeHemisphere); $gpsLatAnt = 0; $gpsLatHemAnt = ''; $gpsLonAnt = 0; $gpsLonHemAnt = ''; $resLocAtual = mysql_query("select id from loc_atual where imei = '{$imei}' limit 1", $cnx); $numRows = mysql_num_rows($resLocAtual); if ($numRows == 0) { mysql_query("INSERT INTO loc_atual (date, imei, phone, satelliteFixStatus, latitudeDecimalDegrees, latitudeHemisphere, longitudeDecimalDegrees, longitudeHemisphere, speed, infotext, gpsSignalIndicator, converte) VALUES (now(), '{$imei}', '{$phone}', '{$satelliteFixStatus}', '{$latitudeDecimalDegrees}', '{$latitudeHemisphere}', '{$longitudeDecimalDegrees}', '{$longitudeHemisphere}', '{$speed}', '{$infotext}', '{$gpsSignalIndicator}', 1)", $cnx); } else { $dataLocAtual = mysql_fetch_assoc($resLocAtual); $gpsLatAnt = $dataLocAtual[latitudeDecimalDegrees]; $gpsLatHemAnt = $dataLocAtual[latitudeHemisphere]; $gpsLonAnt = $dataLocAtual[longitudeDecimalDegrees]; $gpsLonHemAnt = $dataLocAtual[longitudeHemisphere]; mysql_query("UPDATE loc_atual set date = now(), phone = '{$phone}', satelliteFixStatus = '{$satelliteFixStatus}', latitudeDecimalDegrees = '{$latitudeDecimalDegrees}', latitudeHemisphere = '{$latitudeHemisphere}', longitudeDecimalDegrees = '{$longitudeDecimalDegrees}', longitudeHemisphere = '{$longitudeHemisphere}', speed = '{$speed}', infotext = '{$infotext}', gpsSignalIndicator = '{$gpsSignalIndicator}' where imei = '{$imei}'", $cnx); } $distance = 0; try { $bemId = $dataBem[id]; $countGeoDistance = mysql_query("select bem from geo_distance where bem = {$bemId}", $cnx); if ($countGeoDistance === false || mysql_num_rows($countGeoDistance) == 0) { mysql_query("insert into geo_distance (bem, tipo) values({$bemId}, 'I')", $cnx); mysql_query("insert into geo_distance (bem, tipo) values({$bemId}, 'F')", $cnx); } /*envio de sms*/ if ($dataCliente['envia_sms'] == 'S' && $dataBem['envia_sms'] == 'S' && !empty($dataCliente['celular']) && !empty($dataCliente['sms_acada'])) { if (empty($dataCliente['dt_ultm_sms'])) { mysql_query("update cliente set dt_ultm_sms = convert_tz(now(), 'GMT', 'Brazil/East') where id = {$dataCliente['id']}", $cnx); } else { $horas = $dataCliente['horas']; $minutos = $dataCliente['minutos']; if (!empty($horas)) { $horas = $horas * 60; } $tempoTotal = $horas + $minutos; if ($tempoTotal > $dataCliente['sms_acada']) { $json = json_decode(file_get_contents("http://maps.google.com/maps/api/geocode/json?sensor=false&latlng={$gpsLat},{$gpsLon}&language=es-ES")); if (isset($json->status) && $json->status == 'OK' && isset($json->results[0]->formatted_address)) { $address = $json->results[0]->formatted_address; $address = utf8_decode($address); $aDataCliente = split(' ', $dataCliente['nome']); $msg = $texto_sms_localiza; $msg = str_replace("#CLIENTE", $aDataCliente[0], $msg); $msg = str_replace("#VEICULO", $dataBem['name'], $msg); $msg = str_replace("#LOCALIZACAO", $address, $msg); $msg = str_replace(' ', '+', $msg); sendSMS($dataCliente['celular'], $msg, ''); if ($retorno < 0) { mysql_query("insert into controle(texto) values('envio de sms retorno: {$retorno}')", $cnx); } else { mysql_query("update cliente set dt_ultm_sms = convert_tz(now(), 'GMT', 'Brazil/East') where id = {$dataCliente['id']}", $cnx); } } } } } if ($movimento == 'S') { $resGeoDistance = mysql_query("select parou from geo_distance where bem = {$bemId} and tipo = 'I'", $cnx); $dataGeoDistance = mysql_fetch_assoc($resGeoDistance); if ($dataGeoDistance[parou] == 'S' || empty($dataGeoDistance[parou])) { mysql_query("update geo_distance set latitudeDecimalDegrees = '{$latitudeDecimalDegrees}', latitudeHemisphere = '{$latitudeHemisphere}', longitudeDecimalDegrees = '{$longitudeDecimalDegrees}', longitudeHemisphere = '{$longitudeHemisphere}', parou = 'N' where bem = {$bemId} and tipo = 'I'", $cnx); } } else { $resGeoDistance = mysql_query("select latitudeDecimalDegrees, latitudeHemisphere, longitudeDecimalDegrees, longitudeHemisphere from geo_distance where bem = {$bemId} and tipo = 'I'", $cnx); if (mysql_num_rows($resGeoDistance) > 0) { $update = mysql_query("update geo_distance set latitudeDecimalDegrees = '{$latitudeDecimalDegrees}', latitudeHemisphere = '{$latitudeHemisphere}', longitudeDecimalDegrees = '{$longitudeDecimalDegrees}', longitudeHemisphere = '{$longitudeHemisphere}', parou = 'S' where bem = {$bemId} and tipo = 'I'", $cnx); $dataGeoDistance = mysql_fetch_assoc($resGeoDistance); $gpsLatAnt = gprsToGps($dataGeoDistance[latitudeDecimalDegrees], $dataGeoDistance[latitudeHemisphere]); $gpsLonAnt = gprsToGps($dataGeoDistance[longitudeDecimalDegrees], $dataGeoDistance[longitudeHemisphere]); if ($gpsLatAnt != $gpsLat) { if ($gpsLatAnt != 0 && $gpsLonAnt != 0) { /* $json = json_decode(file_get_contents('http://dev.virtualearth.net/REST/V1/Routes/Driving?o=xml&wp.0=$gpsLatAnt,$gpsLonAnt&wp.1=$gpsLat,$gpsLon&avoid=minimizeTolls&key=AqMJv19uaRKDbu-wSgUt3paCfXETZjBafVBMDXX9Rc4XyqmM6l4R_A8TgEXuWT6G')); if(isset($json->rows[0]->elements[0]->distance)){ } */ /* $json = json_decode(file_get_contents("http://maps.googleapis.com/maps/api/distancematrix/json?sensor=false&origins=$gpsLatAnt,$gpsLonAnt&destinations=$gpsLat,$gpsLon")); if(isset($json->rows[0]->elements[0]->distance)){ $strDistance = $json->rows[0]->elements[0]->distance->value; $distance = $strDistance+0; $alertaACada = $dataBem['alerta_hodometro']; $alertaACadaSaldo = $dataBem['alerta_hodometro_saldo']; $alertaACadaSaldo = ($alertaACadaSaldo*1000) - $distance; if($alertaACadaSaldo <= 0 && $alertaACada > 0){ $msg = $texto_sms_alerta_hodometro; $msg = str_replace("#CLIENTE", $aDataCliente[0], $msg); $msg = str_replace("#VEICULO", $dataBem['name'], $msg); $msg = str_replace("#HODOMETRO", $alertaACada, $msg); $msg = str_replace(' ', '+', $msg); sendSMS($dataCliente['celular'], $msg, ''); $alertaACadaSaldo = $alertaACada; } $alertaACadaSaldo = (int)$alertaACadaSaldo/1000; } */ $geoDistance = distance($gpsLatAnt, $gpsLonAnt, $gpsLat, $gpsLon, 'K'); //$strDistance = $json->rows[0]->elements[0]->distance->value; $distance = (int) ($geoDistance * 1000); $alertaACada = $dataBem['alerta_hodometro']; $alertaACadaSaldo = $dataBem['alerta_hodometro_saldo']; $alertaACadaSaldo = $alertaACadaSaldo * 1000 - $distance; if ($alertaACadaSaldo <= 0 && $alertaACada > 0) { $msg = $texto_sms_alerta_hodometro; $msg = str_replace("#CLIENTE", $aDataCliente[0], $msg); $msg = str_replace("#VEICULO", $dataBem['name'], $msg); $msg = str_replace("#HODOMETRO", $alertaACada, $msg); $msg = str_replace(' ', '+', $msg); //sendSMS($dataCliente['celular'], $msg, ''); $alertaACadaSaldo = $alertaACada; } $alertaACadaSaldo = (int) $alertaACadaSaldo / 1000; } } } } } catch (Exception $e) { mysql_query("INSERT INTO controle (texto) VALUES ({$e->getMessage}())", $cnx); } mysql_query("UPDATE bem set date = date, status_sinal = 'R', movimento = '{$movimento}', hodometro=hodometro+{$distance} WHERE imei = '{$imei}'", $cnx); mysql_query("INSERT INTO gprmc (date, imei, phone, satelliteFixStatus, latitudeDecimalDegrees, latitudeHemisphere, longitudeDecimalDegrees, longitudeHemisphere, speed, infotext, gpsSignalIndicator, km_rodado, converte) VALUES (now(), '{$imei}', '{$phone}', '{$satelliteFixStatus}', '{$latitudeDecimalDegrees}', '{$latitudeHemisphere}', '{$longitudeDecimalDegrees}', '{$longitudeHemisphere}', '{$speed}', '{$infotext}', '{$gpsSignalIndicator}', {$distance}, 1)", $cnx); } else { mysql_query("UPDATE bem set date = date, status_sinal = 'S' WHERE imei = '{$imei}'", $cnx); } # Now check to see if we need to send any alerts. if (trim($infotext) != "gprmc") { $res = mysql_query("SELECT responsible FROM bem WHERE imei='{$imei}'", $cnx); while ($data = mysql_fetch_assoc($res)) { switch ($infotext) { case "dt": $body = "Alerta de rastreador desligado."; break; case "et": $body = "Alerta de parada."; break; case "gt": $body = "Alerta de movimento."; break; case "help me": $body = "SOS!"; mysql_query("INSERT INTO message (imei, message) VALUES ('{$imei}', 'SOS!')", $cnx); break; case "ht": $body = "Alerta de velocidade"; break; case "it": $body = "Timezone configurado"; break; case "low battery": $body = "Bateria baixa\nResta cerca de 2 minutos..."; mysql_query("INSERT INTO message (imei, message) VALUES ('{$imei}', 'Bat. Fraca')", $cnx); break; case " bat:": $body = "Bateria baixa\nResta cerca de 2 minutos..."; mysql_query("INSERT INTO message (imei, message) VALUES ('{$imei}', 'Bat. Fraca')", $cnx); break; case "Low batt": $body = "Bateria baixa\nResta cerca de 2 minutos..."; mysql_query("INSERT INTO message (imei, message) VALUES ('{$imei}', 'Bat. Fraca')", $cnx); break; case "move": $body = "Alerta de movimento!"; mysql_query("INSERT INTO message (imei, message) VALUES ('{$imei}', 'Movimento')", $cnx); break; case "nt": $body = "Voltou ao modo SMS"; break; case "speed": $body = "Alarme de velocidade"; mysql_query("INSERT INTO message (imei, message) VALUES ('{$imei}', 'Velocidade')", $cnx); break; case "stockade": $body = "Alerta de cerca violada"; mysql_query("INSERT INTO message (imei, message) VALUES ('{$imei}', 'Cerca')", $cnx); break; } //switch //Enviando e-mail de alerta $headers = "From: {$email_from}" . "\r\n" . "Reply-To: {$email_from}" . "\r\n"; $resBem = mysql_query("SELECT id, cliente, envia_sms, name, hodometro, alerta_hodometro, alerta_hodometro_saldo, limite_velocidade FROM bem WHERE imei = '{$imei}'", $con); $dataBem = mysql_fetch_assoc($resBem); if ($resBem !== false) { $resCliente = mysql_query("SELECT id, celular, dt_ultm_sms, envia_sms, sms_acada, hour(TIMEDIFF(now(), dt_ultm_sms)) horas, minute(TIMEDIFF(now(), dt_ultm_sms)) minutos, nome, email FROM cliente WHERE id = " . $dataBem['cliente'], $con); if ($resCliente !== false) { $dataCliente = mysql_fetch_assoc($resCliente); } } $msg = $body; $emailDestino = $dataCliente['email']; enviaEmail($emailDestino, "[Te Localizei] Alerta", $body); } //while } } else { //GRPMC nao precisa reter a sessao } //No protocolo GPRMC cada nova conex�o � um IP. Enviando comando no fim da conexao, ap�s obter os dados. if (file_exists("{$command_path}/{$conn_imei}")) { $send_cmd = file_get_contents("{$command_path}/{$conn_imei}"); socket_send($socket, $send_cmd, strlen($send_cmd), 0); mysql_query("DELETE FROM command WHERE imei = {$conn_imei}"); unlink("{$command_path}/{$conn_imei}"); printLog($fh, "Comandos do Banco e Arquivo apagados: " . $send_cmd . " imei: " . $conn_imei); } mysql_close($cnx); break; } } //Checando se utilizou os dois protocolos para uma escuta if ($isGIMEI == true and $isGPRMC == true) { //printLog($fh, "ATENCAO: falha na obtencao do protocolo. Kill pid."); } $rec = ""; } //while }
function emailSenha($nome, $email, $senha) { $message = "<div style=\"" . $GLOBALS['style'] . "\">Olá " . $nome . ", <br><br>"; $message .= "Sua senha de acesso ao SIGA é: <b> " . $senha . "</b>.<br><br>"; $message .= "<b>" . $GLOBALS['nome_from'] . "</b>" . $GLOBALS['nome_signature']; $message .= "</div>"; $subject = "SIGA - REENVIO DE SENHA"; $email_from = ''; return enviaEmail($email, $subject, $message, $email_from, '', ''); }
$wpdb->delete('sp_emails_informativo', array('id' => $idEmailInformativo)); } // Registro o email para o qual deve ser encaminhado o informativo $wpdb->insert('sp_emails_informativo', array('nome' => $nome, 'email' => $email, 'ip' => retornaIpCliente())); //Se a inclusão foi com sucesso, associamos os projetos selecionados if (isset($wpdb->insert_id)) { $idEmailInformativo = $wpdb->insert_id; $erro = false; //Para cada projeto selecionado faço a associação com o email foreach ($aryProjetos as $idProjeto) { $wpdb->insert('sp_projetos_emails_informativo', array('idProjeto' => $idProjeto, 'idEmailInformativo' => $idEmailInformativo)); if (!$wpdb->insert_id) { $erro = true; break; } } if (!$erro) { $retorno = array('success' => true, 'mensagem' => utf8_encode('E-mail cadastrado com sucesso')); $destino = '*****@*****.**'; $assunto = 'Teste e-mail wordpress'; $mensagem = '<strong>Testando o envio de emails pelo wordpress</strong>'; /* necessário para utilizar emails com cópia */ $multiplos_destinos = array('*****@*****.**', '*****@*****.**'); $arr = enviaEmail($multiplos_destinos, $assunto, $mensagem); //$arr = enviaEmail($destino, $assunto, $mensagem); } else { $retorno = array('success' => false, 'mensagem' => utf8_encode('Erro ao efetuar o cadastrado do e-mail')); } echo json_encode($retorno); } }
$queryListaCasamentoEndereco .= "UPDATE e_LISTA_CASAMENTO_ENDERECO\r\n\t\t\t\t\t\t\t\t\t\t\t SET \r\n\t\t\t\t\t\t\t\t\t\t\t NOME_CONTATO = " . sqlvalue($value['nome'], true) . "\r\n\t\t\t\t\t\t\t\t\t\t\t ,DATA_EVENTO = " . sqlvalue($value['data'], true) . "\r\n\t\t\t\t\t\t\t\t\t\t\t ,HORA_EVENTO = " . sqlvalue($value['hora'], true) . "\r\n\t\t\t\t\t\t\t\t\t\t\t ,LOCAL_EVENTO = " . sqlvalue($value['local'], true) . "\r\n\t\t\t\t\t\t\t\t\t\t\t ,ENDERECO = " . sqlvalue($value['rua'], true) . "\r\n\t\t\t\t\t\t\t\t\t\t\t ,NUMERO = " . sqlvalue($value['numero'], true) . "\r\n\t\t\t\t\t\t\t\t\t\t\t ,COMPLEMENTO = " . sqlvalue($value['complemento'], true) . "\r\n\t\t\t\t\t\t\t\t\t\t\t ,BAIRRO = " . sqlvalue($value['bairro'], true) . "\r\n\t\t\t\t\t\t\t\t\t\t\t ,MUNICIPIO = " . sqlvalue($value['cidade'], true) . "\r\n\t\t\t\t\t\t\t\t\t\t\t ,CEP_ID_CEP = " . sqlvalue($value['cep'], true) . "\r\n\t\t\t\t\t\t\t\t\t\t\t ,ESTADO = " . sqlvalue($value['estado'], true) . "\r\n\t\t\t\t\t\t\t\t\t\t\t ,REFERENCIA = " . sqlvalue($value['referencia'], true) . "\r\n\t\t\t\t\t\t\t\t\t\t\t ,TELEFONE_PRINCIPAL = " . sqlvalue($value['foneDados1'], true) . "\r\n\t\t\t\t\t\t\t\t\t\t\t ,CELULAR = " . sqlvalue($value['foneDados3'], true) . "\r\n\t\t\t\t\t\t\t\t\t\t\t ,DATA_UPDATE = now()\r\n\t\t\t\t\t\t\t\t\t\t\t ,USUARIO_UPDATE = 'actions/lista-casamento.php'\r\n\t\t\t\t\t\t\t\t\t\t\t WHERE TIPO_ENDERECO = " . sqlvalue($key, true) . "\r\n\t\t\t\t\t\t\t\t\t\t\t AND LICA_ID_LISTA_CASAMENTO = " . $idListaCasamento . ";\r\n\t\t\t\t\t\t\t\t\t\t\t "; } $queryListaCasamentoEndereco .= "SELECT @@ROWCOUNT NRO_LINHAS"; $result = $mysqli->ConsultarSQL($queryListaCasamentoEndereco); $nroLinhas = $result[0]['NRO_LINHAS']; if ($nroLinhas > 0) { $retorno = '{"retorno": "sucesso", "atualiza": "S"}'; } else { $retorno = '{"retorno": "erro"}'; } echo $retorno; break; case 'enviarEmailListaCasamento': $idListaCasamento = $_POST['idListaCasamento']; $emails = $_POST['emails']; $enviaEmail = enviaEmail('divulgaListaCasamento', $idListaCasamento, $emails); if ($enviaEmail) { $retorno = '{"retorno": "sucesso"}'; } else { $retorno = '{"retorno": "erro"}'; } echo $retorno; break; case 'adicionaProduto': $idPessoa = sqlvalue($_POST['idPessoa'], false); $idProduto = sqlvalue($_POST['idProduto'], false); $queryIdListaCasamento = "SELECT TOP 1 ID_LISTA_CASAMENTO FROM e_LISTA_CASAMENTO WHERE PESS_ID_PESSOA = " . $idPessoa . " AND ATIVO = 'S'"; $resultIdListaCasamento = $mysqli->ConsultarSQL($queryIdListaCasamento); $idListaCasamento = sqlvalue($resultIdListaCasamento[0]['ID_LISTA_CASAMENTO'], false); if ($idListaCasamento) { $queryAdicionaProduto = "IF NOT EXISTS (SELECT 1 FROM e_LISTA_CASAMENTO_PRODUTO WHERE PCAV_ID_PRODUTO_COMBINACAO_ATRIBUTO_VALOR = " . $idProduto . " AND LICA_ID_LISTA_CASAMENTO = " . $idListaCasamento . ")\r\n\t\t\t\t\t\t\t\t\t\tBEGIN\r\n\t\t\t\t\t\t\t\t\t\tINSERT INTO e_LISTA_CASAMENTO_PRODUTO\r\n\t\t\t\t\t\t\t\t\t (LICA_ID_LISTA_CASAMENTO\r\n\t\t\t\t\t\t\t\t\t ,PCAV_ID_PRODUTO_COMBINACAO_ATRIBUTO_VALOR\r\n\t\t\t\t\t\t\t\t\t ,QTD_SOLICITADA\r\n\t\t\t\t\t\t\t\t\t ,USUARIO_INSERT)\r\n\t\t\t\t\t\t\t\t\t VALUES\r\n\t\t\t\t\t\t\t\t\t (" . $idListaCasamento . "\r\n\t\t\t\t\t\t\t\t\t ," . $idProduto . "\r\n\t\t\t\t\t\t\t\t\t ,1\r\n\t\t\t\t\t\t\t\t\t ,'actions/lista-casamento.php');\r\n\t\t\t\t\t\t\t\t\t\tSELECT @@ROWCOUNT NRO_LINHAS\r\n\t\t\t\t\t\t\t\t\t\tEND\r\n\t\t\t\t\t\t\t\t\t\tELSE\r\n\t\t\t\t\t\t\t\t\t\tBEGIN\r\n\t\t\t\t\t\t\t\t\t\tSELECT 'S' EXISTE\r\n\t\t\t\t\t\t\t\t\t\tEND\r\n\t\t\t\t\t\t\t\t\t";