forked from SimplesIP/pabx-app
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
181 lines
8.8 KiB
181 lines
8.8 KiB
#!/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ção desta rotina acontece todos os dias às 6:00 da manhã, para verificação |
|
* das permissões do usuá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õ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çõ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é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ário simplesip no banco do cliente: <b>" . $cliente . "</b> Não está conseguindo conexão. <br />" |
|
. "O erro apresentado é: " . $mensagem |
|
. "<hr><b>José 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çõ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é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ão CNT'; |
|
$mail->Body = "Prezados! <br /> Foi Constatado que as permissões do usuário simplesip no banco do cliente: <b>" . $cliente . "</b> Foram perdidas. <br />" |
|
. "É necessário que esta permissão esteja concedida para o correto funcionamento da integração ativa," |
|
. "Peço que entrem em contato com a CNT para resolverem o problema. <br /> Att." |
|
. "<hr><b>José 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çã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ção de conexã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); |
|
} |
|
?>
|