|
|
|
|
#!/usr/bin/php -q
|
|
|
|
|
<?php
|
|
|
|
|
/**
|
|
|
|
|
* Autor: Jose Henrique Joanoni
|
|
|
|
|
*
|
|
|
|
|
* Este Script executa duas procedures no banco de dados de clientes que utilizam
|
|
|
|
|
* ERP da CNT Sistemas.
|
|
|
|
|
* A execu<EFBFBD><EFBFBD>o desta rotina acontece todos os dias <EFBFBD>s 6:00 da manh<EFBFBD>, para verifica<EFBFBD><EFBFBD>o
|
|
|
|
|
* das permiss<EFBFBD>es do usu<EFBFBD>rio Simples IP.
|
|
|
|
|
*
|
|
|
|
|
* Dezembro/2017
|
|
|
|
|
*
|
|
|
|
|
*/
|
|
|
|
|
require ("phpmailer/class.phpmailer.php");
|
|
|
|
|
|
|
|
|
|
$fileLog = '/var/log/asterisk/log_permissoes_cnt.log';
|
|
|
|
|
$data = date('d/m/Y H:i:s');
|
|
|
|
|
|
|
|
|
|
/*
|
|
|
|
|
* CLIENTES QUE UTILIZAM CNT E TEM INTEGRACAO
|
|
|
|
|
*/
|
|
|
|
|
$hosts["NetHome"] = array("ip"=> "168.227.52.8", "usuario" => "simplesip","senha" => "s1mpl3s1p","cliente" => "NetHome","base" => "conadmin","porta" => "3306");
|
|
|
|
|
$hosts["GlobalProvider"] = array("ip"=> "192.141.102.238", "usuario" => "simplesip","senha" => "s1mpl3s1p","cliente" => "GlobalProvider","base" => "conadmin","porta" => "3306");
|
|
|
|
|
|
|
|
|
|
try {
|
|
|
|
|
$connPG = ConnectPG();
|
|
|
|
|
/*
|
|
|
|
|
* Se conecta ao banco do cliente e testa as permiss<EFBFBD>es uma por vez.
|
|
|
|
|
*/
|
|
|
|
|
foreach ($hosts as $key => $host) {
|
|
|
|
|
$nomeCliente = $host['cliente'];
|
|
|
|
|
$conn = mysqli_connect($host['ip'], $host['usuario'], $host['senha'], $host['base'], $host['porta']);
|
|
|
|
|
mysqli_select_db($conn, 'conadmin');
|
|
|
|
|
if (mysqli_errno() || !$conn) {
|
|
|
|
|
file_put_contents($fileLog, $data . printf("Falha: %s - ", mysqli_connect_error($conn)) . "\r\n", FILE_APPEND);
|
|
|
|
|
|
|
|
|
|
$data = date('d/m/Y H:i:s');
|
|
|
|
|
$ip_cliente = $host['ip'];
|
|
|
|
|
$cliente = $nomeCliente;
|
|
|
|
|
$status = 'Erro!';
|
|
|
|
|
$mensagem = mysqli_connect_error($conn);
|
|
|
|
|
$mensagem = addslashes($mensagem);
|
|
|
|
|
|
|
|
|
|
$query = "INSERT INTO pbx_teste_permissao(ip_cliente, data_teste, status, mensagem, nome_cliente)"
|
|
|
|
|
. "values('{$ip_cliente}','now()','{$status}','{$mensagem}','{$cliente}')";
|
|
|
|
|
pg_query($query);
|
|
|
|
|
|
|
|
|
|
$mail = new PHPMailer(true); // Passing `true` enables exceptions
|
|
|
|
|
try {
|
|
|
|
|
//Configura<EFBFBD><EFBFBD>es do Servidor
|
|
|
|
|
$mail->SMTPDebug = 2; // Enable verbose debug output
|
|
|
|
|
$mail->isSMTP(); // Set mailer to use SMTP
|
|
|
|
|
$mail->Host = 'mail.simplesip.com.br'; // Specify main and backup SMTP servers
|
|
|
|
|
$mail->SMTPAuth = true; // Enable SMTP authentication
|
|
|
|
|
$mail->Username = 'workflow@simplesip.com.br'; // SMTP username
|
|
|
|
|
$mail->Password = '#w0rkFl0w@'; // SMTP password
|
|
|
|
|
//$mail->SMTPSecure = 'tls'; // Enable TLS encryption, `ssl` also accepted
|
|
|
|
|
$mail->Port = 587; // TCP port to connect to
|
|
|
|
|
//Remetente
|
|
|
|
|
$mail->setFrom('desenvolvimento01@simplesip.com.br', 'Desenvolvimento01');
|
|
|
|
|
//Recebedores
|
|
|
|
|
$mail->addAddress('hugo@cntsistemas.com.br', 'Hugo CNT');
|
|
|
|
|
$mail->addCC('suporte@simplesip.com.br', 'Suporte T<EFBFBD>cnico Simples IP');
|
|
|
|
|
$mail->AddBCC('desenvolvimento01@simplesip.com.br', 'Desenvolvimento Simples IP');
|
|
|
|
|
|
|
|
|
|
//Anexos
|
|
|
|
|
$mail->addAttachment($fileLog); // Add attachments
|
|
|
|
|
$mail->addAttachment("/var/lib/asterisk/scripts/workflow/logoPrincipal.jpg"); // Optional name
|
|
|
|
|
//Conteudo
|
|
|
|
|
$mail->isHTML(true); // Set email format to HTML
|
|
|
|
|
$mail->Subject = 'Acesso ao Banco de dados CNT';
|
|
|
|
|
$mail->Body = "Prezados! <br /> Foi Constatado que o usu<EFBFBD>rio simplesip no banco do cliente: <b>" . $cliente . "</b> N<EFBFBD>o est<EFBFBD> conseguindo conex<EFBFBD>o. <br />"
|
|
|
|
|
. "O erro apresentado <EFBFBD>: " . $mensagem
|
|
|
|
|
. "<hr><b>Jos<EFBFBD> Henrique Joanoni - Desenvolvimento. <br /> "
|
|
|
|
|
. "Enviado em: " . date('d/m/Y H:i:s');
|
|
|
|
|
|
|
|
|
|
$mail->send();
|
|
|
|
|
file_put_contents($fileLog, $data . " - Email enviado para o Suporte!\r\n - $mensagem \r\n", FILE_APPEND);
|
|
|
|
|
} catch (Exception $e) {
|
|
|
|
|
file_put_contents($fileLog, $data . " - Erro no envio: [$mail->ErrorInfo]\r\n", FILE_APPEND);
|
|
|
|
|
}
|
|
|
|
|
} elseif (!testaPermissao($conn)) {
|
|
|
|
|
$data = date('d/m/Y H:i:s');
|
|
|
|
|
$ip_cliente = $host['ip'];
|
|
|
|
|
$cliente = $nomeCliente;
|
|
|
|
|
$status = 'Erro!';
|
|
|
|
|
$mensagem = mysqli_error($conn);
|
|
|
|
|
$mensagem = addslashes($mensagem);
|
|
|
|
|
|
|
|
|
|
$query = "INSERT INTO pbx_teste_permissao(ip_cliente, data_teste, status, mensagem, nome_cliente)"
|
|
|
|
|
. "values('{$ip_cliente}','now()','{$status}','{$mensagem}','{$cliente}')";
|
|
|
|
|
pg_query($query);
|
|
|
|
|
|
|
|
|
|
$mail = new PHPMailer(true); // Passing `true` enables exceptions
|
|
|
|
|
try {
|
|
|
|
|
//Configura<EFBFBD><EFBFBD>es do Servidor
|
|
|
|
|
$mail->SMTPDebug = 2; // Enable verbose debug output
|
|
|
|
|
$mail->isSMTP(); // Set mailer to use SMTP
|
|
|
|
|
$mail->Host = 'mail.simplesip.com.br'; // Specify main and backup SMTP servers
|
|
|
|
|
$mail->SMTPAuth = true; // Enable SMTP authentication
|
|
|
|
|
$mail->Username = 'workflow@simplesip.com.br'; // SMTP username
|
|
|
|
|
$mail->Password = '#w0rkFl0w@'; // SMTP password
|
|
|
|
|
//$mail->SMTPSecure = 'tls'; // Enable TLS encryption, `ssl` also accepted
|
|
|
|
|
$mail->Port = 587; // TCP port to connect to
|
|
|
|
|
//Remetente
|
|
|
|
|
$mail->setFrom('desenvolvimento01@simplesip.com.br', 'Desenvolvimento01');
|
|
|
|
|
//Recebedores
|
|
|
|
|
$mail->addAddress('hugo@cntsistemas.com.br', 'Hugo CNT');
|
|
|
|
|
$mail->addCC('suporte@simplesip.com.br', 'Suporte T<EFBFBD>cnico Simples IP');
|
|
|
|
|
$mail->AddBCC('desenvolvimento01@simplesip.com.br', 'Desenvolvimento Simples IP');
|
|
|
|
|
|
|
|
|
|
//Anexos
|
|
|
|
|
$mail->addAttachment($fileLog); // Add attachments
|
|
|
|
|
$mail->addAttachment("/var/lib/asterisk/scripts/workflow/logoPrincipal.jpg"); // Optional name
|
|
|
|
|
//Conteudo
|
|
|
|
|
$mail->isHTML(true); // Set email format to HTML
|
|
|
|
|
$mail->Subject = 'Permiss<EFBFBD>o CNT';
|
|
|
|
|
$mail->Body = "Prezados! <br /> Foi Constatado que as permiss<EFBFBD>es do usu<EFBFBD>rio simplesip no banco do cliente: <b>" . $cliente . "</b> Foram perdidas. <br />"
|
|
|
|
|
. "<EFBFBD> necess<EFBFBD>rio que esta permiss<EFBFBD>o esteja concedida para o correto funcionamento da integra<EFBFBD><EFBFBD>o ativa,"
|
|
|
|
|
. "Pe<EFBFBD>o que entrem em contato com a CNT para resolverem o problema. <br /> Att."
|
|
|
|
|
. "<hr><b>Jos<EFBFBD> Henrique Joanoni - Desenvolvimento. <br /> "
|
|
|
|
|
. "Enviado em: " . date('d/m/Y H:i:s');
|
|
|
|
|
|
|
|
|
|
$mail->send();
|
|
|
|
|
file_put_contents($fileLog, $data . " - Email enviado para o Suporte!\r\n - $mensagem \r\n", FILE_APPEND);
|
|
|
|
|
} catch (Exception $e) {
|
|
|
|
|
file_put_contents($fileLog, $data . " - Erro no envio: [$mail->ErrorInfo]\r\n", FILE_APPEND);
|
|
|
|
|
}
|
|
|
|
|
} else {
|
|
|
|
|
$data = date('d/m/Y H:i:s');
|
|
|
|
|
$ip_cliente = $host['ip'];
|
|
|
|
|
$cliente = $nomeCliente;
|
|
|
|
|
$status = 'Sucesso!';
|
|
|
|
|
$mensagem = 'Teste Executado com sucesso!';
|
|
|
|
|
|
|
|
|
|
$query = "INSERT INTO pbx_teste_permissao(ip_cliente, data_teste, status, mensagem, nome_cliente)"
|
|
|
|
|
. "values('{$ip_cliente}','now()','{$status}','{$mensagem}','{$cliente}')";
|
|
|
|
|
pg_query($query);
|
|
|
|
|
|
|
|
|
|
file_put_contents($fileLog, $data . ": Teste executado com Sucesso! [$query]\r\n", FILE_APPEND);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
mysqli_close($conn);
|
|
|
|
|
} catch (Exception $e) {
|
|
|
|
|
/**
|
|
|
|
|
* ARMAZENA AS MENSAGENS DE ERRO EM UM ARQUIVO.
|
|
|
|
|
*/
|
|
|
|
|
$reg_msg = $e->getMessage();
|
|
|
|
|
file_put_contents($fileLog, "Erro: $reg_msg \r\n", FILE_APPEND);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
*
|
|
|
|
|
* @param type $acao
|
|
|
|
|
* @return string
|
|
|
|
|
*
|
|
|
|
|
* Fun<EFBFBD><EFBFBD>o que executa as procedures no banco dos clientes.
|
|
|
|
|
*/
|
|
|
|
|
function testaPermissao($acao) {
|
|
|
|
|
$sql = mysqli_query($acao, 'CALL setLogin(\'ura\');')
|
|
|
|
|
. mysqli_query($acao, 'CALL InformaPagamento(@IdLoja, @IdContaReceber,\'\');');
|
|
|
|
|
|
|
|
|
|
return $sql;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
*
|
|
|
|
|
* @return type
|
|
|
|
|
*
|
|
|
|
|
* Fun<EFBFBD><EFBFBD>o de conex<EFBFBD>o ao banco de dados.
|
|
|
|
|
*/
|
|
|
|
|
function ConnectPG() {
|
|
|
|
|
$dbPort = "5432";
|
|
|
|
|
$dbHost = "127.0.0.1";
|
|
|
|
|
$dbName = "pbx";
|
|
|
|
|
$dbUser = "contacte";
|
|
|
|
|
$dbPassword = "ctepgSQL";
|
|
|
|
|
$str = "host='$dbHost' port='$dbPort' dbname='$dbName' user='$dbUser' password='$dbPassword'";
|
|
|
|
|
return pg_connect($str);
|
|
|
|
|
}
|
|
|
|
|
?>
|