header('Content-type: text/html; charset=ISO-8859-1'); // Allow access from anywhere. Can be domains or * (any) header('Access-Control-Allow-Origin: *'); // Allow these methods of data retrieval header('Access-Control-Allow-Methods: POST, GET, OPTIONS'); // Allow these header types header('Access-Control-Allow-Headers: Origin, X-Requested-With, Content-Type, Accept'); include "fhost.php"; $id = $_GET["id"]; if (!is_null($id)) { $queryPrimeiroAcesso = registraPrimeiroAcesso($id); $queryUltimoAcesso = registraUltimoAcesso($id); $queryQtdAcesso = registraQtdAcesso($id); debugl("Primeiro Primeiro Acesso? {$queryPrimeiroAcesso}"); debugl("Atribuiu Ultimo Acesso? {$queryUltimoAcesso}"); debugl("Atribuiu QtdAcesso? {$queryQtdAcesso}"); } function registraPrimeiroAcesso($id) { $query = "UPDATE historico \n\t\t\t\tSET data_primeiro_acesso = CURRENT_TIMESTAMP\n\t\t\t\twhere id = {$id} \n\t\t\t\tand data_primeiro_acesso is null\n\t\t\t\tand (data_envio is not null and data_revisao is not null)"; return Update($query); } function registraQtdAcesso($id) { $query = "UPDATE historico \n\t\t\t\tSET qtd_acesso = qtd_acesso + 1\t\t\t\t\n\t\t\t\twhere id = {$id} \n\t\t\t\tand (data_envio is not null and data_revisao is not null) "; return Update($query); } function registraUltimoAcesso($id) { $query = "UPDATE historico \n\t\t\t\tSET data_ultimo_acesso = CURRENT_TIMESTAMP\n\t\t\t\twhere id = {$id} \n\t\t\t\tand (data_envio is not null and data_revisao is not null) "; return Update($query);
$base64string = $Obj64["phpbase64"]; $mailid = $Obj64["id"]; debugl("Mailid : {$mailid}"); debugl("base64string : {$base64string}"); $host = unserialize(base64_decode($base64string)); if (is_null($host->emailResponsavel)) { echo "<h1>Não encontramos o registro do e-mail do responsável! mailid={$mailid} :("; exit; } else { $mail->Subject = "Subject Empresa({$host->nomeEmpresa}) host({$host->nome}) mail({$mailid})"; $mail->AddAddress($host->emailResponsavel); $ArrayCopiasControladas = $host->CopiasControladas; if (!is_null($ArrayCopiasControladas)) { foreach ($ArrayCopiasControladas as $Copia) { $mail->AddCC($Copia["email"], $Copia["nome"]); debugl("Cc nome:" . $Copia["nome"] . " e-mail:" . $Copia["email"]); } } $mail->Body = processaRelatorioHost($mailid, $host); if (!$mail->Send()) { echo "Message was not sent"; echo "Mailer error: " . $mail->ErrorInfo; } else { echo "Message has been sent (mailid={$mailid})<br>"; if (setDataEnvio($mailid)) { echo "Marcado como enviado(mailid={$mailid})<br>"; } else { echo "Não Marcado como enviado(mailid={$mailid}) #erro"; } } }
<?php header('Content-type: text/html; charset=ISO-8859-1'); // Allow access from anywhere. Can be domains or * (any) header('Access-Control-Allow-Origin: *'); // Allow these methods of data retrieval header('Access-Control-Allow-Methods: POST, GET, OPTIONS'); // Allow these header types header('Access-Control-Allow-Headers: Origin, X-Requested-With, Content-Type, Accept'); include "fhost.php"; $codhost = $_GET["codhost"]; $tracking = $_GET["tracking"]; $preview = $_GET["preview"]; if (is_null($codhost)) { debugl("<h1>Informe um codigo de hostname</h1>"); exit; } else { /** * Cria o objeto de host com todos os valores possiveis. **/ $identificador = generateID(); $host = createHost($codhost); debugl("Grafico ID -> {$identificador}"); debugl("Inseridos -> " . registraGeracaoHTML($identificador, $host)); if (strcmp($preview, "true") == 0) { echo processaRelatorioHost($identificador, $host); } echo "<h2>Id Gerado: {$identificador}<h2>"; }
/** * buscaPossiveisInstancias * * Busca todas as chaves que tenham percentual (%) e busca na base do Zabbix um padrao de nomes para instancias/subcategorias. * * @param (type) (categoria_id) filtro para buscar apenas chaves da categoria. * @return (type) (rows) array com nomes de possiveis instancias. */ function buscaPossiveisInstancias($codhost, $categoria_id, $mesesAnalisados) { /** * Verifica quais chaves possuem dois espacos em branco ou o caracter de percentual (%), * Caso retorne alguma chave o objeto pode ter uma subcagegoria/instancia. */ $query_otimizadora = "select distinct valor \n from view_grafico_host\n where host_id = {$codhost}\n and categoria_id = {$categoria_id}\n and (valor like '%\\%%' or valor like '% % %')"; $string_auxiliar = montaQueryAuxiliar(Select($query_otimizadora)); if (is_null($string_auxiliar)) { return null; } $query_possiveis_instancias = "SELECT DISTINCT\n SUBSTRING(key_,\n LOCATE(' ', key_),\n LOCATE(' ', key_, (LOCATE(' ', key_) + 1)) - LOCATE(' ', key_)) AS subcategoria\n FROM\n (SELECT \n b.key_\n FROM\n zabbix.trends a, zabbix.items b, zabbix.hosts c\n WHERE\n a.itemid = b.itemid\n AND b.hostid = c.hostid\n and b.key_ like '% % %'\n and b.hostid = {$codhost} " . $string_auxiliar . " AND clock >= UNIX_TIMESTAMP(DATE_FORMAT(DATE_ADD(DATE_ADD(CURRENT_DATE, INTERVAL - DAY(CURRENT_DATE) + 1 DAY), INTERVAL - {$mesesAnalisados} MONTH), '%Y%m%d%H%i%s'))\n AND clock <= UNIX_TIMESTAMP(DATE_FORMAT(DATE_ADD(DATE_ADD(CURRENT_DATE, INTERVAL - DAY(CURRENT_DATE) + 1 DAY), INTERVAL - 1 SECOND), '%Y%m%d%H%i%s')) UNION SELECT \n b.key_\n FROM\n zabbix.trends_uint a, zabbix.items b, zabbix.hosts c\n WHERE\n a.itemid = b.itemid\n AND b.hostid = c.hostid\n and b.key_ like '% % %'\n and b.hostid = {$codhost}" . $string_auxiliar . " AND clock >= UNIX_TIMESTAMP(DATE_FORMAT(DATE_ADD(DATE_ADD(CURRENT_DATE, INTERVAL - DAY(CURRENT_DATE) + 1 DAY), INTERVAL - {$mesesAnalisados} MONTH), '%Y%m%d%H%i%s'))\n AND clock <= UNIX_TIMESTAMP(DATE_FORMAT(DATE_ADD(DATE_ADD(CURRENT_DATE, INTERVAL - DAY(CURRENT_DATE) + 1 DAY), INTERVAL - 1 SECOND), '%Y%m%d%H%i%s'))) x \n where length(SUBSTRING(key_,\n LOCATE(' ', key_),\n LOCATE(' ', key_, (LOCATE(' ', key_) + 1)) - LOCATE(' ', key_)))>1 \n order by subcategoria"; debugl("\$query_possiveis_instancias: {$query_possiveis_instancias}"); $rows = Select($query_possiveis_instancias); //gambiarra para atender nova solicitacao do gomes if (count($rows) < 1) { return null; } return $rows; }