$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) VALUES ('$numero','$nome')"; pg_query($dbcon, $query); //$query2 = "select max(id) as id from pbx_grupos_atendimento"; //$result2 = pg_query($dbcon, $query2); //$dados2 = pg_fetch_array($result2); //$id_ult = $dados2['id']; $id_ult = $numero; } if ($acao == "edita") { /* * Pega os ramais existentes */ $ramaisExistentes = array(); $query = "select ramal from pbx_grupos_atendimento_ramais where id_grupo = $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"; pg_query($dbcon, $query); } $ramais = $_POST["ramais"]; for ($i = 0; $i < count($ramais); $i++) { //echo $ramais[$i]; if ($acao == "edita") { $query = "insert into pbx_grupos_atendimento_ramais (id_grupo,ramal) values ($id,'$ramais[$i]')"; } else { $query = "insert into pbx_grupos_atendimento_ramais (id_grupo,ramal) values ($id_ult,'$ramais[$i]')"; } pg_query($dbcon, $query); } AtualizaRamaisCaptura($dbcon); /* $ramais = GetRamaisExcluidos($ramaisExistentes, $ramais); foreach ($ramais as $ramalGrupo) { AtualizaRamaisCaptura($dbcon, $ramalGrupo); } */ ////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"]; $query = "SELECT * FROM pbx_grupos_atendimento where id=$id"; $result = pg_query($dbcon, $query); } else { $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) { //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'"; } if (strpos($tipo, 'IAX') !== false) { return "update pbx_iax_pbx set pickupgroup = '%s', callgroup = '%s' where nome = '%s'"; } if (strpos($tipo, 'DGV') !== false) { return "update pbx_dgv set capturar = '%s', grupo = '%s' where numero = '%s'"; } if (strpos($tipo, 'DAHDI') !== false) { return "update pbx_dahdi set capturar = '%s', grupo = '%s' where numero = '%s'"; } if (strpos($tipo, 'KHOMP') !== false) { return "update pbx_khomp set capturar = '%s', grupo = '%s' where numero = '%s'"; } return false; } function AtualizaRamaisCaptura($dbcon) { LimpaGruposCapturaRamais($dbcon); $query = "select a.ramal from pbx_grupos_atendimento_ramais a, pbx_ramais b where b.nome = a.ramal 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) { $query = "SELECT id as id FROM pbx_grupos_atendimento 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) { $query = "update pbx_sip_ramais set pickupgroup = '', callgroup = '' where 1=1"; pg_query($db, $query); $query = "update pbx_iax_pbx set pickupgroup = '', callgroup = '' where 1=1"; pg_query($db, $query); $query = "update pbx_dgv set capturar = '', grupo = '' where 1=1"; pg_query($db, $query); $query = "update pbx_dahdi set capturar = '', grupo = '' where 1=1"; pg_query($db, $query); $query = "update pbx_khomp set capturar = '', grupo = '' where 1=1"; pg_query($db, $query); } ?>
CADASTRO DE GRUPOS DE CAPTURA
Nome:
Grupo:
Ramais Disponíveis
 
Ramais Selecionados