Browse Source

Merge pull request 'Correcoes grupos de captura e monitor de ramais' (#346) from matheorb/developer:dev-1.9 into 1.9

Reviewed-on: SimplesIP/pabx-app#346
1.9
Matheo Bonucia 2 months ago
parent
commit
79fe42b9ae
  1. 33
      admin/CadGruposAtendimento.php
  2. 48
      admin/GruposAtendimento.php
  3. 4
      admin/monitorRamal.php

33
admin/CadGruposAtendimento.php

@ -90,9 +90,9 @@
<?php <?php
$acao = $_GET["acao"]; $acao = $_GET["acao"];
$acao2 = $_GET["acao2"]; $acao2 = $_GET["acao2"];
$org_id = GetOrganizacao(); $org_id = $_SESSION['SSEmpresaPadrao'];
/* /*
* Parametros necessarios para manter a pagina<EFBFBD><EFBFBD>o. * Parametros necessarios para manter a paginacao.
*/ */
$param = sprintf('&numRamal=%s&pgn=%s&bloco=%s&pg=%s', $_REQUEST['numRamal'], $_REQUEST['pgn'], $_REQUEST['bloco'], $_REQUEST['pg']); $param = sprintf('&numRamal=%s&pgn=%s&bloco=%s&pg=%s', $_REQUEST['numRamal'], $_REQUEST['pgn'], $_REQUEST['bloco'], $_REQUEST['pg']);
@ -101,9 +101,9 @@
$nome = RemoveAcentos($_POST["nome"], true); $nome = RemoveAcentos($_POST["nome"], true);
$numero = 0; $numero = 0;
if ($acao == "edita") { if ($acao == "edita") {
$query = "select nome from pbx_grupos_atendimento where nome='$nome' and id <> $id"; $query = "select nome from pbx_grupos_atendimento where nome='$nome' and id <> $id and org_id = $org_id";
} else { } else {
$query = "select nome from pbx_grupos_atendimento where nome='$nome'"; $query = "select nome from pbx_grupos_atendimento where nome='$nome' and org_id = $org_id";
$numero = GetIdGrupoAtendimento($dbcon); $numero = GetIdGrupoAtendimento($dbcon);
} }
$msg = ''; $msg = '';
@ -112,10 +112,10 @@
$existe = trim($dados['nome']); $existe = trim($dados['nome']);
if ($existe != '') { if ($existe != '') {
$msg = "JA EXISTE UM GRUPO COM O NOME $existe"; $msg = "JÁ EXISTE UM GRUPO COM O NOME $existe";
} }
if ($numero > 63) { if ($numero > 63) {
$msg = "<EFBFBD> PERMITIDO CADASTRAR APENAS 63 GRUPOS"; $msg = "É PERMITIDO CADASTRAR APENAS 63 GRUPOS";
} }
if (!empty($msg)) { if (!empty($msg)) {
@ -137,9 +137,7 @@
while ($row = pg_fetch_row($result)) while ($row = pg_fetch_row($result))
$ramaisExistentes[] = $row[0]; $ramaisExistentes[] = $row[0];
$query = "UPDATE pbx_grupos_atendimento $query = "UPDATE pbx_grupos_atendimento SET nome='$nome' WHERE id=$id AND org_id = $org_id";
SET nome='$nome'
WHERE id=$id";
pg_query($dbcon, $query); pg_query($dbcon, $query);
$query = "delete from pbx_grupos_atendimento_ramais where id_grupo=$id and org_id=$org_id"; $query = "delete from pbx_grupos_atendimento_ramais where id_grupo=$id and org_id=$org_id";
@ -149,11 +147,9 @@
for ($i = 0; $i < count($ramais); $i++) { for ($i = 0; $i < count($ramais); $i++) {
if ($acao == "edita") { if ($acao == "edita") {
$ramal_grupo = $org_id . $ramais[$i]; $query = "insert into pbx_grupos_atendimento_ramais (id_grupo,ramal,org_id) values ($id,'$ramais[$i]', $org_id)";
$query = "insert into pbx_grupos_atendimento_ramais (id_grupo,ramal,org_id) values ($id,'$ramal_grupo', $org_id)";
} else { } else {
$ramal_grupo = $org_id . $ramais[$i]; $query = "insert into pbx_grupos_atendimento_ramais (id_grupo,ramal,org_id) values ($id_ult,'$ramais[$i]', $org_id)";
$query = "insert into pbx_grupos_atendimento_ramais (id_grupo,ramal,org_id) values ($id_ult,'$ramal_grupo', $org_id)";
} }
pg_query($dbcon, $query); pg_query($dbcon, $query);
} }
@ -174,12 +170,12 @@
} }
if ($acao == "edita") { if ($acao == "edita") {
$id = $_GET["id"] ?? "0"; $id = $_GET["id"] ?? 0;
$query = "SELECT * FROM pbx_grupos_atendimento where id=$id"; $query = "SELECT * FROM pbx_grupos_atendimento where id=$id AND org_id = $org_id";
$result = pg_query($dbcon, $query); $result = pg_query($dbcon, $query);
} else { } else {
$id = 0; $id = 0;
$query = "SELECT * FROM pbx_grupos_atendimento where id is null"; $query = "SELECT * FROM pbx_grupos_atendimento where id is null and org_id = $org_id";
} }
$result = pg_query($dbcon, $query); $result = pg_query($dbcon, $query);
@ -214,10 +210,11 @@
{ {
LimpaGruposCapturaRamais($dbcon); LimpaGruposCapturaRamais($dbcon);
$org_id = GetOrganizacao(); $org_id = $_SESSION['SSEmpresaPadrao'];
$query = "SELECT a.ramal $query = "SELECT a.ramal
FROM pbx_grupos_atendimento_ramais a, pbx_ramais b FROM pbx_grupos_atendimento_ramais a, pbx_ramais b
WHERE b.nome = a.ramal WHERE b.nome = a.ramal
AND a.org_id = b.org_id
AND a.org_id = {$org_id} AND a.org_id = {$org_id}
ORDER BY a.ramal, a.id_grupo"; ORDER BY a.ramal, a.id_grupo";
$result = pg_query($dbcon, $query); $result = pg_query($dbcon, $query);
@ -230,6 +227,8 @@
$query = "SELECT a.id_grupo, a.ramal, b.tipo_ramal as dispositivo $query = "SELECT a.id_grupo, a.ramal, b.tipo_ramal as dispositivo
FROM pbx_grupos_atendimento_ramais a, pbx_ramais b FROM pbx_grupos_atendimento_ramais a, pbx_ramais b
WHERE b.nome = a.ramal WHERE b.nome = a.ramal
AND a.org_id = b.org_id
AND a.org_id = {$org_id}
AND a.ramal = '$ramalGrupo' AND a.ramal = '$ramalGrupo'
ORDER BY a.ramal, a.id_grupo"; ORDER BY a.ramal, a.id_grupo";
$result = pg_query($dbcon, $query); $result = pg_query($dbcon, $query);

48
admin/GruposAtendimento.php

@ -1,13 +1,13 @@
<?php <?php
$acao = isset($_GET['acao']) ? trim($_GET['acao']) : 'select'; $acao = isset($_GET['acao']) ? trim($_GET['acao']) : 'select';
$id = isset($_GET['id']) ? trim($_GET['id']) : 0; $id = isset($_GET['id']) ? trim($_GET['id']) : 0;
$org_id = GetOrganizacao(); $org_id = $_SESSION['SSEmpresaPadrao'];
$filtro = isset($_GET["numRamal"]) ? trim($_GET["numRamal"]) : ''; $filtro = isset($_GET["numRamal"]) ? trim($_GET["numRamal"]) : '';
$filtroNovo = !isset($_GET["pgn"]) ? '' : sprintf("&numRamal%s&pgn=%s&bloco=%s&pg=%s", $_GET["numRamal"], $_GET["pgn"], $_GET["bloco"], $_GET["pg"]); $filtroNovo = !isset($_GET["pgn"]) ? '' : sprintf("&numRamal%s&pgn=%s&bloco=%s&pg=%s", $_GET["numRamal"], $_GET["pgn"], $_GET["bloco"], $_GET["pg"]);
$recontaPag = ($acao == 'inseri') || ($acao == "deleta") || isset($_GET['pesquisa']); $recontaPag = ($acao == 'inseri') || ($acao == "deleta") || isset($_GET['pesquisa']);
if ($acao == "deleta") { if ($acao == "deleta") {
LimpaGruposCapturaRamais($dbcon); LimpaGruposCapturaRamais($dbcon, $org_id);
$query = "delete from pbx_grupos_atendimento where id='$id' and org_id=$org_id"; $query = "delete from pbx_grupos_atendimento where id='$id' and org_id=$org_id";
pg_query($dbcon, $query); pg_query($dbcon, $query);
@ -15,7 +15,7 @@ if ($acao == "deleta") {
$query = "delete from pbx_grupos_atendimento_ramais where id_grupo='$id' and org_id=$org_id"; $query = "delete from pbx_grupos_atendimento_ramais where id_grupo='$id' and org_id=$org_id";
pg_query($dbcon, $query); pg_query($dbcon, $query);
AtualizaRamaisCaptura($dbcon); AtualizaRamaisCaptura($dbcon, $org_id);
//gera arquivos e executa o reload dos dados no asterisk //gera arquivos e executa o reload dos dados no asterisk
gera_arquivos($dbcon, 'SIP_RAMAIS'); //gera arquivos e executa o reload dos dados no asterisk gera_arquivos($dbcon, 'SIP_RAMAIS'); //gera arquivos e executa o reload dos dados no asterisk
@ -25,10 +25,12 @@ if ($acao == "deleta") {
} }
function AtualizaRamaisCaptura($dbcon) { function AtualizaRamaisCaptura($dbcon, $org_id) {
$query = "select a.ramal $query = "select a.ramal
from pbx_grupos_atendimento_ramais a, pbx_ramais b from pbx_grupos_atendimento_ramais a, pbx_ramais b
where b.nome = a.ramal where b.nome = a.ramal
and a.org_id = b.org_id
and a.org_id = $org_id
order by a.ramal, a.id_grupo"; // order by a.ramal, a.id_grupo"; //
$result = pg_query($dbcon, $query); $result = pg_query($dbcon, $query);
$ramais = array(); $ramais = array();
@ -41,6 +43,8 @@ function AtualizaRamaisCaptura($dbcon) {
from pbx_grupos_atendimento_ramais a, pbx_ramais b from pbx_grupos_atendimento_ramais a, pbx_ramais b
where b.nome = a.ramal where b.nome = a.ramal
and a.ramal = '$ramalGrupo' and a.ramal = '$ramalGrupo'
and a.org_id = b.org_id
and a.org_id = $org_id
order by a.ramal, a.id_grupo"; order by a.ramal, a.id_grupo";
$result = pg_query($dbcon, $query); $result = pg_query($dbcon, $query);
@ -58,7 +62,7 @@ function AtualizaRamaisCaptura($dbcon) {
$tipo = strtoupper($dados['dispositivo']); $tipo = strtoupper($dados['dispositivo']);
} }
$query = GetTableRamal($tipo); $query = GetTableRamal($tipo, $org_id);
$query = sprintf($query, $pick, $callgrupRamal, $ramalGrupo); $query = sprintf($query, $pick, $callgrupRamal, $ramalGrupo);
pg_query($dbcon, $query); pg_query($dbcon, $query);
@ -85,40 +89,40 @@ function GetRamaisExcluidos($ramaisExistentes, $ramais) {
return $ramaisExcl; return $ramaisExcl;
} }
function GetTableRamal($tipo) { function GetTableRamal($tipo, $org_id) {
if ((strpos($tipo, 'SIP') !== false) || (strpos($tipo, 'DAHDI') !== false)) { if ((strpos($tipo, 'SIP') !== false) || (strpos($tipo, 'DAHDI') !== false)) {
return "update pbx_sip_ramais set pickupgroup = '%s', callgroup = '%s' where nome = '%s'"; return "update pbx_sip_ramais set pickupgroup = '%s', callgroup = '%s' where nome = '%s' and org_id = $org_id";
} }
if (strpos($tipo, 'IAX') !== false) { if (strpos($tipo, 'IAX') !== false) {
return "update pbx_iax_pbx set pickupgroup = '%s', callgroup = '%s' where nome = '%s'"; return "update pbx_iax_pbx set pickupgroup = '%s', callgroup = '%s' where nome = '%s' and org_id = $org_id";
} }
if (strpos($tipo, 'DGV') !== false) { if (strpos($tipo, 'DGV') !== false) {
return "update pbx_dgv set capturar = '%s', grupo = '%s' where numero = '%s'"; return "update pbx_dgv set capturar = '%s', grupo = '%s' where numero = '%s' and org_id = $org_id";
} }
if (strpos($tipo, 'DAHDI') !== false) { if (strpos($tipo, 'DAHDI') !== false) {
return "update pbx_dahdi set capturar = '%s', grupo = '%s' where numero = '%s'"; return "update pbx_dahdi set capturar = '%s', grupo = '%s' where numero = '%s' and org_id = $org_id";
} }
if (strpos($tipo, 'KHOMP') !== false) { if (strpos($tipo, 'KHOMP') !== false) {
return "update pbx_khomp set capturar = '%s', grupo = '%s' where numero = '%s'"; return "update pbx_khomp set capturar = '%s', grupo = '%s' where numero = '%s' and org_id = $org_id";
} }
return false; return false;
} }
function LimpaGruposCapturaRamais($db) { function LimpaGruposCapturaRamais($db, $org_id) {
$query = "update pbx_sip_ramais set pickupgroup = '', callgroup = '' where 1=1"; $query = "update pbx_sip_ramais set pickupgroup = '', callgroup = '' where 1=1 and org_id = $org_id";
pg_query($db, $query); pg_query($db, $query);
$query = "update pbx_iax_pbx set pickupgroup = '', callgroup = '' where 1=1"; $query = "update pbx_iax_pbx set pickupgroup = '', callgroup = '' where 1=1 and org_id = $org_id";
pg_query($db, $query); pg_query($db, $query);
$query = "update pbx_dgv set capturar = '', grupo = '' where 1=1"; $query = "update pbx_dgv set capturar = '', grupo = '' where 1=1 and org_id = $org_id";
pg_query($db, $query); pg_query($db, $query);
$query = "update pbx_dahdi set capturar = '', grupo = '' where 1=1"; $query = "update pbx_dahdi set capturar = '', grupo = '' where 1=1 and org_id = $org_id";
pg_query($db, $query); pg_query($db, $query);
$query = "update pbx_khomp set capturar = '', grupo = '' where 1=1"; $query = "update pbx_khomp set capturar = '', grupo = '' where 1=1 and org_id = $org_id";
pg_query($db, $query); pg_query($db, $query);
} }
?> ?>
<script> <!-- <script>
// Executar este script após a execução da ação de deletar // Executar este script após a execução da ação de deletar
// Obtém a URL atual // Obtém a URL atual
@ -137,7 +141,7 @@ if (updatedUrl === currentUrl) {
// Atualiza a URL na barra de endereço sem recarregar a página // Atualiza a URL na barra de endereço sem recarregar a página
window.history.replaceState(null, null, updatedUrl); window.history.replaceState(null, null, updatedUrl);
</script> </script> -->
<table width="99%" align="center" border="0" cellpadding="2" cellspacing="0" class="filtro"> <table width="99%" align="center" border="0" cellpadding="2" cellspacing="0" class="filtro">
@ -159,7 +163,7 @@ window.history.replaceState(null, null, updatedUrl);
<tr> <tr>
<th align="center">Id</th> <th align="center">Id</th>
<th> Nome </th> <th> Nome </th>
<th align="center">A<EFBFBD><EFBFBD>es</th> <th align="center">Ações</th>
</tr> </tr>
<?php <?php
$janW = '500'; $janW = '500';
@ -170,7 +174,7 @@ window.history.replaceState(null, null, updatedUrl);
$compl = PreparaLike($filtro, true); $compl = PreparaLike($filtro, true);
$compl = sprintf("and (a.nome ilike %s)", $compl); $compl = sprintf("and (a.nome ilike %s)", $compl);
} }
$query = "SELECT id, nome FROM pbx_grupos_atendimento a where 1=1 $compl order by id asc"; $query = "SELECT id, nome FROM pbx_grupos_atendimento a where 1=1 $compl AND org_id = $org_id order by id asc";
$params = "&pbxRequest=1&numRamal=$filtro"; $params = "&pbxRequest=1&numRamal=$filtro";
$links = PaginaDados($idProg, $query, $params, $regPagina, $offSet, $pagMostra, true); $links = PaginaDados($idProg, $query, $params, $regPagina, $offSet, $pagMostra, true);
@ -197,7 +201,7 @@ window.history.replaceState(null, null, updatedUrl);
} if ($z == 0) { } if ($z == 0) {
?> ?>
<tr align="center" valign="middle" bordercolor="#999999" class="labels"> <tr align="center" valign="middle" bordercolor="#999999" class="labels">
<td colspan="8"><div align="center" class="info"><img src="images/shutdown.gif" width="24" height="24" border="0" align="absmiddle" /> N<EFBFBD>o foram encontrados registros </div></td> <td colspan="8"><div align="center" class="info"><img src="images/shutdown.gif" width="24" height="24" border="0" align="absmiddle" /> Não foram encontrados registros </div></td>
</tr> </tr>
<?php <?php
} }

4
admin/monitorRamal.php

@ -135,7 +135,7 @@ function GetConnection($conStr)
{ {
$ret = pg_connect($conStr, PGSQL_CONNECT_FORCE_NEW); $ret = pg_connect($conStr, PGSQL_CONNECT_FORCE_NEW);
if (!$ret) { if (!$ret) {
logTrb('GetConnection', "Conexao com banco de dados", "Erro ao executar conexao no banco", 'ERRO', $conStr); logTrf('GetConnection', "Conexao com banco de dados", "Erro ao executar conexao no banco", 'ERRO', $conStr);
} }
return $ret; return $ret;
} }
@ -156,7 +156,7 @@ function GetRamaisNome($tipoDispositivo)
if ($query) { if ($query) {
$query .= "union all\n"; $query .= "union all\n";
} }
$query .= "SELECT 'T' as tipo,nome, callerid, tipo as protocol, nome_asterisk FROM pbx_troncos WHERE tipo in('SIP', 'IAX2') AND org_id = $org_id \n"; $query .= "SELECT 'T' as tipo,nome, callerid, tipo as protocol, nome_asterisk as registro FROM pbx_troncos WHERE tipo in('SIP', 'IAX2') AND org_id = $org_id \n";
} }
$result = pg_query($db, $query); $result = pg_query($db, $query);
if (pg_num_rows($result)) { if (pg_num_rows($result)) {

Loading…
Cancel
Save