Nenhum registro selecionado! | ";
$linhasAtuCli .= " Nenhum registro selecionado! |
";
$janW = 500;
$janH = 220;
$acaoUser = isset($_REQUEST['acaoUser']) ? $_REQUEST['acaoUser'] : FORM_UNDEF;
$filtro = isset($_POST['filtro']) ? $_POST['filtro'] : 1;
try {
/*
* Conexã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ções do servidor de portabilidade!");
}
if (!pg_num_rows($result)) {
$erro++;
throw new Exception("O servidor de portabilidade não está configurado!");
}
$row = pg_fetch_row($result);
$idServer = $row[0];
$_SESSION["SSidServerPortabilidade"] = $idServer;
/*
* Conexã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 últimas atualizaçõ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çõ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 .= "
$idArquivo |
$nomeArquivo |
$data |
$totalRegistro |
$msgAtu |
$erroPorta |
";
}
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ão foi possí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ão foi possível realizar a operaçã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ção realizada com sucesso com sucesso!";
} else {
$msgDelete = "Não foi possível reiniciar o cliente!";
}
$jsStartup[] = "alert('$msgDelete');";
}
/*
* Mostra as atualizaçõ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ções dos clientes!");
}
$linhasAtuCli = '';
$imgNovo = "";
$imgNovo = "$imgNovo";
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 = "";
$imgEdit = " $imgEdit";
$imgDelete = "";
$imgDelete = "" . $imgDelete . "";
$alt = $clieStatus == 9 ? "Desbloqueia o cliente: " : "Bloqueia o cliente: ";
$imgBloq = $clieStatus == 9 ? "lock_close_16.png" : "lock_open_16.png";
$imgBloq = "";
$imgBloq = "" . $imgBloq . "";
$imgReset = "";
$imgReset = "" . $imgReset . "";
$alerta = ($ultatu != $atualizacao) || ($clieStatus == 2) ? ' style="color:' . ($clieStatus == 2 ? '#0F0;' : '#F00;' ) . ' font-weight:bold";" ' : "";
$linhasAtuCli .= "
$idCliente |
$idExterno |
$cliDescricao |
$data |
$clieStatusDisp |
$atualizacao |
$imgNovo |
$imgEdit |
$imgDelete |
$imgBloq |
$imgReset |
";
}
} catch (Exception $ex) {
$msg = $ex->getMessage();
}
$disp = "Nenhum registro encontrado!";
if (empty($linhasAtuCli))
$linhasAtuCli = " $disp | $imgNovo | ";
$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ção";
} else if (($clieStatus == 1) && ($atualizacao == $ultatu)) {
$img = "button_ok16.png";
$alt = "Instalado";
} else if (($clieStatus == 1) && ($atualizacao != $ultatu)) {
$img = "parcial16.gif";
$alt = "Atualizações Pendentes";
} else if ($clieStatus == 9) {
$img = "cadeado.gif";
$alt = "Bloqueado";
}
return sprintf('', $img, $alt);
}
?>