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";
         }
     }
 }
Example #3
0
<?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>";
}
Example #4
0
/**
 * 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;
}