$id"; } else { $query = "select nome from pbx_grupos_atendimento where nome='$nome'"; $numero = GetIdGrupoAtendimento($dbcon); } $msg = ''; $result = pg_query($dbcon, $query); $dados = pg_fetch_array($result); $existe = trim($dados['nome']); if ($existe != '') { $msg = "JA EXISTE UM GRUPO COM O NOME $existe"; } if ($numero > 63) { $msg = "� PERMITIDO CADASTRAR APENAS 63 GRUPOS"; } if (!empty($msg)) { echo ""; } else { if ($acao == "inseri") { $query = "INSERT INTO pbx_grupos_atendimento(id,nome,org_id) VALUES ('$numero','$nome', $org_id)"; pg_query($dbcon, $query); $id_ult = $numero; } if ($acao == "edita") { $ramaisExistentes = array(); $query = "select ramal from pbx_grupos_atendimento_ramais where id_grupo = $id and org_id=$org_id"; $result = pg_query($dbcon, $query); while ($row = pg_fetch_row($result)) $ramaisExistentes[] = $row[0]; $query = "UPDATE pbx_grupos_atendimento SET nome='$nome' WHERE id=$id"; pg_query($dbcon, $query); $query = "delete from pbx_grupos_atendimento_ramais where id_grupo=$id and org_id=$org_id"; pg_query($dbcon, $query); } $ramais = $_POST["ramais"]; for ($i = 0; $i < count($ramais); $i++) { if ($acao == "edita") { $ramal_grupo = $org_id . $ramais[$i]; $query = "insert into pbx_grupos_atendimento_ramais (id_grupo,ramal,org_id) values ($id,'$ramal_grupo', $org_id)"; } else { $ramal_grupo = $org_id . $ramais[$i]; $query = "insert into pbx_grupos_atendimento_ramais (id_grupo,ramal,org_id) values ($id_ult,'$ramal_grupo', $org_id)"; } pg_query($dbcon, $query); } AtualizaRamaisCaptura($dbcon); ////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 // GeraDahdi($dbcon, 1); GeraKhomp($dbcon, 1); gera_arquivos($dbcon, 'DIGIVOICE'); echo ""; } } if ($acao == "edita") { $id = $_GET["id"] ?? "0"; $query = "SELECT * FROM pbx_grupos_atendimento where id=$id"; $result = pg_query($dbcon, $query); } else { $id = 0; $query = "SELECT * FROM pbx_grupos_atendimento where id is null"; } $result = pg_query($dbcon, $query); while ($dados = pg_fetch_array($result)) { $id = $dados["id"]; $nome = $dados["nome"]; } 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 pickupgroup = '%s', callgroup = '%s' where nome = '%s' and org_id = {$org_id}"; } if (strpos($tipo, 'IAX') !== false) { return "update pbx_iax_pbx set pickupgroup = '%s', callgroup = '%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 AtualizaRamaisCaptura($dbcon) { LimpaGruposCapturaRamais($dbcon); $org_id = GetOrganizacao(); $query = "SELECT a.ramal FROM pbx_grupos_atendimento_ramais a, pbx_ramais b WHERE b.nome = a.ramal 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.id_grupo, a.ramal, b.tipo_ramal as dispositivo FROM pbx_grupos_atendimento_ramais a, pbx_ramais b WHERE b.nome = a.ramal AND a.ramal = '$ramalGrupo' ORDER BY a.ramal, a.id_grupo"; $result = pg_query($dbcon, $query); $pick = ''; $callgrupRamal = ''; $start = 0; $tipo = ''; while ($dados = pg_fetch_array($result)) { if (!$start) { $callgrupRamal = $dados['id_grupo']; $start++; } $pick .= !$pick ? $dados['id_grupo'] : ',' . $dados['id_grupo']; $tipo = strtoupper($dados['dispositivo']); } $query = GetTableRamal($tipo); $query = sprintf($query, $pick, $callgrupRamal, $ramalGrupo); pg_query($dbcon, $query); } } function GetRamaisExcluidos($ramaisExistentes, $ramais) { $ramaisExcl = array(); $exist = false; foreach ($ramaisExistentes as $ramal) { $exist = false; foreach ($ramais as $ramalAtu) { if ($ramal == $ramalAtu) { $exist = true; break; } } if (!$exist) { $ramaisExcl[] = $ramal; } } return $ramaisExcl; } function GetIdGrupoAtendimento($dbcon) { $org_id = GetOrganizacao(); $query = "SELECT id as id FROM pbx_grupos_atendimento WHERE 1=1 AND org_id = {$org_id} ORDER BY id"; $sql = pg_query($dbcon, $query); $id = 1; if (!pg_num_rows($sql)) return $id; while ($row = pg_fetch_row($sql)) { $idBanco = $row[0]; if ($idBanco != $id) return $id; $id++; } return $id; } function LimpaGruposCapturaRamais($db) { $org_id = GetOrganizacao(); $query = "update pbx_sip_ramais set pickupgroup = '', callgroup = '' where 1=1 and org_id = {$org_id}"; pg_query($db, $query); $query = "update pbx_iax_pbx set pickupgroup = '', callgroup = '' where 1=1 and org_id = {$org_id}"; pg_query($db, $query); $query = "update pbx_dgv set capturar = '', grupo = '' where 1=1 and org_id = {$org_id}"; pg_query($db, $query); $query = "update pbx_dahdi set capturar = '', grupo = '' where 1=1 and org_id = {$org_id}"; pg_query($db, $query); $query = "update pbx_khomp set capturar = '', grupo = '' where 1=1 and org_id = {$org_id}"; pg_query($db, $query); } ?>
CADASTRO DE GRUPOS DE CAPTURA
Nome:
Grupo:
Ramais Disponíveis
 
Ramais Selecionados