PABX da Simples IP
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.
 
 
 
 
 
 

241 lines
12 KiB

<?php
$acao = isset($_GET['acao']) ? trim($_GET['acao']) : 'select';
$id = isset($_GET['id']) ? trim($_GET['id']) : 0;
$org_id = $_SESSION['SSEmpresaPadrao'];
$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"]);
$recontaPag = ($acao == 'inseri') || ($acao == "deleta") || isset($_GET['pesquisa']);
if ($acao == "deleta") {
$query = "DELETE FROM pbx_grupos_atendimento WHERE id = '$id' AND org_id = $org_id RETURNING id;";
$result = pg_query($dbcon, $query);
if ($result) {
$dados = pg_fetch_assoc($result);
$deletado = $dados['id'];
}
$query = "delete from pbx_grupos_atendimento_ramais where id_grupo= '$deletado' and org_id=$org_id";
pg_query($dbcon, $query);
AtualizaRamaisCaptura($dbcon, $org_id);
//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, 'IAX_PBX'); //gera arquivos e executa o reload dos dados no asterisk
}
function AtualizaRamaisCaptura($dbcon)
{
LimpaGruposCapturaRamais($dbcon);
$org_id = $_SESSION['SSEmpresaPadrao'];
$query = "SELECT a.ramal
FROM pbx_grupos_atendimento_ramais a, pbx_ramais b
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";
$result = pg_query($dbcon, $query);
$ramais = array();
while ($dados = pg_fetch_array($result)) {
$ramais[] = $dados['ramal'];
}
foreach ($ramais as $ramalGrupo) {
$query = "SELECT a.nome_asterisk, a.ramal, b.tipo_ramal as dispositivo
FROM pbx_grupos_atendimento_ramais a, pbx_ramais b
WHERE b.nome = a.ramal
AND a.org_id = b.org_id
AND a.org_id = {$org_id}
AND a.ramal = '$ramalGrupo'
ORDER BY a.ramal, a.id_grupo";
$result = pg_query($dbcon, $query);
$pick = '';
$callgrupRamal = '';
$tipo = '';
while ($dados = pg_fetch_array($result)) {
$callgrupRamal .= !$callgrupRamal ? $dados['nome_asterisk'] : ',' . $dados['nome_asterisk'];
$pick .= !$pick ? $dados['nome_asterisk'] : ',' . $dados['nome_asterisk'];
$tipo = strtoupper($dados['dispositivo']);
}
$query = GetTableRamal($tipo, $org_id);
$query = sprintf($query, $pick, $callgrupRamal, $ramalGrupo);
pg_query($dbcon, $query);
}
}
function GetTableRamal($tipo)
{
$org_id = GetOrganizacao();
//if((strpos($tipo, 'SIP') !== false) || (strpos($tipo, 'DAHDI') !== false)){return "update pbx_sip_ramais set pickupgroup = '%s', callgroup = '%s' where nome = '%s'";}
if (strpos($tipo, 'SIP') !== false) {
return "update pbx_sip_ramais set namedpickupgroup = '%s', namedcallgroup = '%s' where nome = '%s' and org_id = {$org_id}";
}
if (strpos($tipo, 'IAX') !== false) {
return "update pbx_iax_pbx set namedpickupgroup = '%s', namedcallgroup = '%s' where nome = '%s' and org_id = {$org_id}";
}
if (strpos($tipo, 'DGV') !== false) {
return "update pbx_dgv set capturar = '%s', grupo = '%s' where numero = '%s' and org_id = {$org_id}";
}
if (strpos($tipo, 'DAHDI') !== false) {
return "update pbx_dahdi set capturar = '%s', grupo = '%s' where numero = '%s' and org_id = {$org_id}";
}
if (strpos($tipo, 'KHOMP') !== false) {
return "update pbx_khomp set capturar = '%s', grupo = '%s' where numero = '%s' and org_id = {$org_id}";
}
return false;
}
function LimpaGruposCapturaRamais($db)
{
$org_id = GetOrganizacao();
$query = "update pbx_sip_ramais set namedpickupgroup = '', namedcallgroup = '' where org_id = {$org_id}";
pg_query($db, $query);
$query = "update pbx_iax_pbx set namedpickupgroup = '', namedcallgroup = '' where org_id = {$org_id}";
pg_query($db, $query);
$query = "update pbx_dgv set capturar = '', grupo = '' where org_id = {$org_id}";
pg_query($db, $query);
$query = "update pbx_dahdi set capturar = '', grupo = '' where org_id = {$org_id}";
pg_query($db, $query);
$query = "update pbx_khomp set capturar = '', grupo = '' where org_id = {$org_id}";
pg_query($db, $query);
}
?>
<!-- <script>
// Executar este script após a execução da ação de deletar
// Obtém a URL atual
var currentUrl = window.location.href;
// Remove o parâmetro 'acao' da URL
var updatedUrl = currentUrl.replace(/([&?]acao=)\w*/g, '');
// Se a URL já não contiver parâmetros, adiciona apenas '?acao='
if (updatedUrl === currentUrl) {
updatedUrl = updatedUrl + '?acao=';
} else {
updatedUrl = updatedUrl.replace(/[&?]$/, ''); // Remove '&' ou '?' do final, se houver
}
// Atualiza a URL na barra de endereço sem recarregar a página
window.history.replaceState(null, null, updatedUrl);
</script> -->
<table width="99%" align="center" border="0" cellpadding="2" cellspacing="0" class="filtro">
<tr>
<td colspan="2">Palavra Chave</td>
</tr>
<tr>
<td align="left" nowrap="nowrap" >
<input name="numRamal" type="text" id="numRamal" value="<?php echo $_GET["numRamal"]; ?>" onkeyup="ConsultaRamal('index.php?idProg=10030&pbxRequest=1', event);" size="20">
<input name="locaRamal" type="button" id="locaRamal" value="Localizar" onClick="ConsultaRamal('index.php?idProg=10030&pbxRequest=1&pesquisa=1', 0);">
</td>
<td align="right" nowrap="nowrap">
<a href="#" onClick="abre_janela('490', '320', 'index.php?idProg=11030&pbxRequest=1&acao=inseri<?php echo $filtroNovo;?>');"><img src="images/novo.gif" width="20" height="20" border="0" align="absmiddle" />NOVO GRUPO DE CAPTURA </a>
</td>
</tr>
<tr>
<td colspan="2">
<table width="100%" class="grid" border="0" cellspacing="0" cellpadding="2">
<tr>
<th align="center">Id</th>
<th> Nome </th>
<th align="center">A<EFBFBD><EFBFBD>es</th>
</tr>
<?php
$janW = '500';
$janH = '400';
$compl = '';
if (isset($_GET['pesquisa']) && $_GET['pesquisa']) {
$compl = PreparaLike($filtro, true);
$compl = sprintf("and (a.nome ilike %s)", $compl);
}
$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";
$links = PaginaDados($idProg, $query, $params, $regPagina, $offSet, $pagMostra, true);
$query .= " limit $regPagina offset $offSet";
$result = pg_query($dbcon, $query);
$z = 0;
;
while ($dados = pg_fetch_array($result)) {
?>
<tr>
<td width="50" align="center"><?php echo $dados['id']; ?></td>
<td><a href="#" style="color: #000;" onClick="abre_janela('490', '320', 'index.php?idProg=11030&pbxRequest=1&acao=edita&id=<?php echo $dados['id']; ?><?php echo $params; ?>');"><?php echo $dados['nome']; ?></a></td>
<td width="40">
<table width="100%" border="0" cellspacing="0" cellpadding="1">
<tr>
<td style="border:0"><div align="center"><a href="#" onClick="abre_janela('490', '320', 'index.php?idProg=11030&pbxRequest=1&acao=edita&id=<?php echo $dados['id']; ?><?php echo $params; ?>');"><img src="images/edit.gif" alt="EDITAR A EMPRESA:<?php echo $dados['descricao']; ?>" width="16" height="16" border="0"></a></div></td>
<td style="border:0"><div align="center"><a href="#" onClick="excluir('<?php echo $dados['id']; ?>', '<?php echo $dados['nome']; ?>', 'DESEJA REALMENTE EXLUIR O GRUPO:<?php echo $dados['nome']; ?>', 'index.php?idProg=10030&pbxRequest=1&acao=deleta&id=<?php echo $dados['id']; ?><?php echo $params; ?>', 'GRUPOS');"><img src="images/delete.gif" alt="APAGAR O GRUPO:<?php echo $dados['nome']; ?>" width="16" height="16" border="0" onClick="pergunta_apaga('<?php echo $dados['id']; ?>', '<?php echo $dados['nome']; ?>');"></a></div></td>
</tr>
</table>
</td>
</tr>
<?php
$z++;
} if ($z == 0) {
?>
<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>
</tr>
<?php
}
?>
<tr>
<th align="center" colspan="8"><table width="100%" class="grid" border="0" cellspacing="0" cellpadding="2"><tr><th align="center" style="width: 90%; border:0;"><?php echo $links; ?></th><th align="right" style="width: 10%; border:0;"><?php echo sprintf("%s/%s", $pagMostra, $totalReg); ?></th></tr></table></th>
</tr>
</table>
</td>
</tr>
</table>
<div id="mensagem" style="display:none;width:300;height:auto">
<table width="100%" border="0" cellpadding="0" cellspacing="0">
<tr bordercolor="#FFFFFF" style="border-color:#FFFFFF">
<td width="5%" align="center" style="border: none;font-family: Arial, Helvetica, sans-serif;font-size: 16px;color: #990000;background-color: #FFFFFF;">
</td>
<td width="95%" align="center" style="border: none;font-family: Arial, Helvetica, sans-serif;font-size: 16px;color: #990000;background-color: #FFFFFF;"><div align="center">
<input name="mens" type="button" value="mens" style="border: none;font-family: Arial, Helvetica, sans-serif;font-size: 14px;color: #990000;background-color: #FFFFFF;" id="mens">
</div></td>
</tr>
<tr bordercolor="#FFFFFF" style="border-color:#FFFFFF">
<td colspan="2" align="center" bordercolor="#FFFFFF" style="border-color:#FFFFFF"><span style="color: #FFFFFF"> _
</span></td>
</tr>
<tr bordercolor="#FFFFFF" style="border-color:#FFFFFF">
<td colspan="2" bordercolor="#FFFFFF" style="border-color:#FFFFFF">
<table width="100%" border="0" cellpadding="0" cellspacing="0" bordercolor="#FFFFFF" style="border-color:#FFFFFF">
<tr>
<td width="50%" align="center" bordercolor="#FFFFFF" style="border-color:#FFFFFF">
<div align="center">
<button id="todos" class="botoes">Sim</button>
</div>
</td>
<td width="50%" align="center" bordercolor="#FFFFFF" style="border-color:#FFFFFF">
<div align="center"> <button id="cancela" class="botoes">N&atilde;o</button>
</div>
</td>
</tr>
</table></td>
</tr>
</table></div>
</div>
</div>
</body>
</html>