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('%s', $img, $alt); } ?>