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.

211 lines
9.0 KiB

<?php
$nomeTpl = "cadastros/portabilidade/monitorPortabilidade.htm";
$msg = 'Consulta realizada com sucesso!';
$erro = 0;
$linhasAtu .= " <tr><td align=\"right\">Nenhum registro selecionado!</td></tr>";
$linhasAtuCli .= " <tr><td align=\"right\">Nenhum registro selecionado!</td></tr>";
$janW = 500;
$janH = 220;
$acaoUser = isset($_REQUEST['acaoUser']) ? $_REQUEST['acaoUser'] : FORM_UNDEF;
$filtro = isset($_POST['filtro']) ? $_POST['filtro'] : 1;
try {
/*
* Conex<EFBFBD>o para o banco de portabilidade.
*/
$query = "select id from pbx_sites where lower(descricao) = 'portabilidade'";
$result = pg_query($dbcon, $query);
if (!$result) {
$erro++;
throw new Exception("Erro ao consultar as configura<EFBFBD><EFBFBD>es do servidor de portabilidade!");
}
if (!pg_num_rows($result)) {
$erro++;
throw new Exception("O servidor de portabilidade n<EFBFBD>o est<EFBFBD> configurado!");
}
$row = pg_fetch_row($result);
$idServer = $row[0];
$_SESSION["SSidServerPortabilidade"] = $idServer;
/*
* Conex<EFBFBD>o para o servidor de portabilidade.
*/
$dbPorta = GetDbFromHost($idServer);
if (!$dbPorta) {
$erro++;
throw new Exception("Erro ao acessar o servidor de portabilidade!");
}
/*
* Lista as cinco <EFBFBD>ltimas atualiza<EFBFBD><EFBFBD>es da base de portabildade.
*/
$query = "select idarquivo, nomearquivo, data, totalregistros, msg, erro from atualizacoes order by 1 desc limit 5";
$result = pg_query($dbPorta, $query);
if (!$result) {
$erro++;
throw new Exception("Erro ao consultar as lista de atualiza<EFBFBD><EFBFBD>es!");
}
$linhasAtu = '';
while ($dadosAtu = pg_fetch_array($result)) {
$idArquivo = $dadosAtu["idarquivo"];
$nomeArquivo = $dadosAtu["nomearquivo"];
$data = FormataDBDataHora($dadosAtu["data"]);
$totalRegistro = $dadosAtu["totalregistros"];
$msgAtu = substr($dadosAtu["msg"], 0, 128);
$erroPorta = $dadosAtu["erro"];
$linhasAtu .= " <tr >
<td align=\"right\">$idArquivo</td>
<td align=\"left\" nowrap=\"nowrap\">$nomeArquivo</td>
<td align=\"center\">$data</td>
<td align=\"right\">$totalRegistro</td>
<td align=\"center\">$msgAtu</td>
<td align=\"center\">$erroPorta</td>
</tr>";
}
if ($acaoUser == FORM_DELETE) {
$cliId = $_REQUEST['cli_id'];
$query = "update clientes set clie_status = '-1' where cli_id = $cliId;";
$result = pg_query($dbPorta, $query);
if ($result)
$msgDelete = "cliente excluido com sucesso!";
else
$msgDelete = "N<EFBFBD>o foi poss<EFBFBD>vel excluir o cliente selecionado!";
$jsStartup[] = "alert('$msgDelete');";
}
if ($acaoUser == 9) {
$cliId = $_REQUEST['cli_id'];
$clistatus = $_REQUEST['cli_status'];
$status = $clistatus == 9 ? 1 : 9;
$query = "update clientes set clie_status = '$status' where cli_id = $cliId;";
$result = pg_query($dbPorta, $query);
if ($result) {
$msgDelete = $status == 9 ? "cliente bloqueado com sucesso!" : "cliente desbloqueado com sucesso!";
} else {
$msgDelete = "N<EFBFBD>o foi poss<EFBFBD>vel realizar a opera<EFBFBD><EFBFBD>o!";
}
$jsStartup[] = "alert('$msgDelete');";
}
if ($acaoUser === 'RESET_CLIENTE') {
$cliId = $_REQUEST['cli_id'];
$result = pg_query($dbPorta, 'begin');
$query = "delete from clientes_atualizacoes where cli_id = '$cliId'";
if ($result)
$result = pg_query($dbPorta, $query);
$query = "update clientes set clie_status = '2' where cli_id = $cliId;";
if ($result)
$result = pg_query($dbPorta, $query);
if ($result)
$result = pg_query($dbPorta, 'commit');
if ($result) {
$msgDelete = "opera<EFBFBD><EFBFBD>o realizada com sucesso com sucesso!";
} else {
$msgDelete = "N<EFBFBD>o foi poss<EFBFBD>vel reiniciar o cliente!";
}
$jsStartup[] = "alert('$msgDelete');";
}
/*
* Mostra as atualiza<EFBFBD><EFBFBD>es por cliente.
*/
$query = "select b.cli_id,b.cli_idexterno, b.cli_descricao, clie_status, coalesce(max(a.hora_reg), now()) as data, coalesce(max(a.idarquivo), 0) as atualizacao,
coalesce((select max(idarquivo) from atualizacoes), 0) as ult_atu
from clientes b
left outer join clientes_atualizacoes a on b.cli_id = a.cli_id";
if ($filtro == 1)
$query .= " where b.clie_status <> -1";
if ($filtro == 2)
$query .= " where b.clie_status = -1";
$query .= " group by 1,2,3,4 order by 2;";
$result = pg_query($dbPorta, $query);
if (!$result) {
$erro++;
throw new Exception("Erro ao consultar atualiza<EFBFBD><EFBFBD>es dos clientes!");
}
$linhasAtuCli = '';
$imgNovo = "<img src=\"imgSite/novoUser.png\" width=\"16\" height=\"16\" border=\"0\" title=\"Inclui novo usu<EFBFBD>rio\">";
$imgNovo = "<a href=\"javaScript:NovaJanela('index.php?idProg=218&acaoUser=3&cli_id=0', 'cliPortaCad', '$janW', '$janH', 'resizable=NO,scrollbars=NO');\">$imgNovo</a>";
while ($dadosAtu = pg_fetch_array($result)) {
$ultatu = $dadosAtu["ult_atu"];
$idCliente = $dadosAtu["cli_id"];
$idExterno = $dadosAtu["cli_idexterno"];
$cliDescricao = $dadosAtu["cli_descricao"];
$clieStatus = $dadosAtu["clie_status"];
$data = FormataDBDataHora($dadosAtu["data"]);
$atualizacao = $dadosAtu["atualizacao"];
$clieStatusDisp = GetCliStatus($clieStatus, $atualizacao, $ultatu);
$imgEdit = "<img src=\"imgSite/editaUser.png\" width=\"16\" height=\"16\" border=\"0\" title=\"Edita o cliente: $cliDescricao\">";
$imgEdit = "<a href=\"javaScript:NovaJanela('index.php?idProg=218&acaoUser=4&cli_id=$idCliente', 'cliPortaCad', '$janW', '$janH', 'resizable=NO,scrollbars=NO');\"> $imgEdit</a>";
$imgDelete = "<img src=\"imgSite/deletaUser.png\" width=\"16\" height=\"16\" border=\"0\" title=\"Apaga o usu<EFBFBD>rio: $cliDescricao\">";
$imgDelete = "<a href=\"javaScript:DeletaCliPortabilidade('$idCliente', '$cliDescricao');\">" . $imgDelete . "</a>";
$alt = $clieStatus == 9 ? "Desbloqueia o cliente: " : "Bloqueia o cliente: ";
$imgBloq = $clieStatus == 9 ? "lock_close_16.png" : "lock_open_16.png";
$imgBloq = "<img src=\"imgSite/$imgBloq\" width=\"16\" height=\"16\" border=\"0\" title=\"$alt $cliDescricao\">";
$imgBloq = "<a href=\"javaScript:BloqCliPortabilidade('$idCliente', '$cliDescricao', '$clieStatus');\">" . $imgBloq . "</a>";
$imgReset = "<img src=\"imgSite/evento.png\" width=\"12\" height=\"16\" border=\"0\" title=\"Renova os dados do cliente: $cliDescricao\">";
$imgReset = "<a href=\"javaScript:ResetCliPortabilidade('$idCliente', '$cliDescricao');\">" . $imgReset . "</a>";
$alerta = ($ultatu != $atualizacao) || ($clieStatus == 2) ? ' style="color:' . ($clieStatus == 2 ? '#0F0;' : '#F00;' ) . ' font-weight:bold";" ' : "";
$linhasAtuCli .= " <tr$alerta>
<td align=\"right\">$idCliente</td>
<td align=\"left\">$idExterno</td>
<td align=\"left\">$cliDescricao</td>
<td align=\"center\">$data</td>
<td align=\"center\">$clieStatusDisp</td>
<td align=\"right\">$atualizacao</td>
<td align=\"center\">$imgNovo</td>
<td align=\"center\">$imgEdit</td>
<td align=\"center\">$imgDelete</td>
<td align=\"center\">$imgBloq</td>
<td align=\"center\">$imgReset</td>
</tr>";
}
} catch (Exception $ex) {
$msg = $ex->getMessage();
}
$disp = "Nenhum registro encontrado!";
if (empty($linhasAtuCli))
$linhasAtuCli = " <tr><td colspan=\"10\" align=\"center\">$disp</td><td align=\"center\">$imgNovo</td>";
$smarty->assign('linhasAtu', $linhasAtu);
$smarty->assign('linhasAtuCli', $linhasAtuCli);
$smarty->assign('filtro', $filtro);
$smarty->assign('msg', $msg);
$smarty->assign('erro', $erro);
GetTemplate($smarty, $nomeTpl);
$GLOBALS["jsStartup"][] = "window.setInterval(\"ResetForm()\", 60000);";
function GetCliStatus($clieStatus, $atualizacao, $ultatu) {
if ($clieStatus == 2) {
$img = "ampulheta.png";
$alt = "Aguardando Instala&ccedil;&atilde;o";
} else if (($clieStatus == 1) && ($atualizacao == $ultatu)) {
$img = "button_ok16.png";
$alt = "Instalado";
} else if (($clieStatus == 1) && ($atualizacao != $ultatu)) {
$img = "parcial16.gif";
$alt = "Atualiza&ccedil;&otilde;es Pendentes";
} else if ($clieStatus == 9) {
$img = "cadeado.gif";
$alt = "Bloqueado";
}
return sprintf('<img src="imgSite/%s" alt="%s" width="16" height="16" align="absmiddle"/>', $img, $alt);
}
?>