TODOS $query = "SELECT (select count(*) FROM pbx_queues_grupos WHERE nome = '$nome') as fila_exist, (select count(*) FROM pbx_queues_grupos WHERE numero = '$numero' and status = 'A') + (select count(*) FROM pbx_ramais WHERE nome = '$numero') as numero_exist"; $result = pg_query($dbcon, $query); $row = pg_fetch_row($result); GetDataClassifica($exige_classificacao); if (!$row[0] && !$row[1]) { $query = "INSERT INTO pbx_queues_grupos(nome, musicclass, strategy, servicelevel, timeout, retry, maxlen, joinempty, eventwhencalled, eventmemberstatus, ringinuse, periodic_announce_frequency,wrapuptime,autofill,autopause,\"announce-frequency\",\"announce-holdtime\",\"announce-round-seconds\",\"monitor-format\",\"monitor-type\",reportholdtime,timeoutrestart ,numero,timeout2,m_espera,opcao,acao,setinterfacevar,anuncio, id_transbordo, max_agente_pausa, tempo_ring, exige_classificacao, justificativa_pausa, context, retornar_abandonadas,status $dataClass,modo_atendimento,id_pesquisa_liberacao, disponivelfila, org_id) VALUES ('$nome', '$musicclass', '$strategy', $servicelevel, $timeout, $retry, $maxlen, '$joinempty', '$eventwhencalled', '$eventmemberstatus', '$ringinuse', $periodic_announce_frequency, '$wrapuptime','$autofill','$autopause','$announce_frequency','$announce_holdtime','$announce_round_seconds','$monitor_format', '$monitor_type','$reportholdtime','$timeoutrestart','$numero','$timeout2','$m_espera','$opcao','$acao_opcao','$setinterfacevar', '$som_ura', $idTransbordo, $max_agente_pausa, $tempoRing, $exige_classificacao, $justificativa_pausa, '$context', $retornar_abandonadas,'$ativaFila' $dateClass,'$modoAtendimento',$pesquisaLiberacao, '$disponivelfila', $org_id)"; pg_query($dbcon, $query); $query2 = "SELECT id FROM pbx_queues_grupos WHERE org_id = {$org_id} ORDER BY id DESC LIMIT 1"; $result2 = pg_query($dbcon, $query2); while ($dados2 = pg_fetch_array($result2)) { $id_ult = $dados2['id']; } $idGrupoUser = GetIdGrupoUser($dbcon, GetIdUser()); if ($id_ult && $idGrupoUser) { $query = " INSERT INTO pbx_fila_grupos(gp_id, id, org_id)values('$idGrupoUser', '$id_ult', $org_id)"; pg_query($dbcon, $query); } } else { $filaExiste = 1; $msgValida = $row[0] ? "Fila ou Campanha já existe!" : 'Número já cadastrado para outra Fila ou Ramal!'; } } else { $filaExiste = 1; $msgValida = "Favor selecionar outro nome para a Fila!"; } } if ($acao == "edita") { $query = "SELECT (select count(*) from pbx_queues_grupos where numero = '$numero' and status = 'A' and id <> $id) + (select count(*) from pbx_ramais where nome = '$numero') as numero_exist"; $result = pg_query($dbcon, $query); $row = pg_fetch_row($result); if (!$row[0]) { GetDataClassifica($exige_classificacao, 1); $query = "UPDATE pbx_queues_grupos SET musicclass='$musicclass', strategy='$strategy', servicelevel='$servicelevel', timeout='$timeout', retry='$retry', maxlen='$maxlen', joinempty='$joinempty', eventwhencalled='$eventwhencalled', eventmemberstatus='$eventmemberstatus', ringinuse='$ringinuse', periodic_announce_frequency='$periodic_announce_frequency',wrapuptime='$wrapuptime',autofill='$autofill',autopause='$autopause',\"announce-frequency\"='$announce_frequency',\"announce-holdtime\"='$announce_holdtime',\"announce-round-seconds\"='$announce_round_seconds',\"monitor-format\"='$monitor_format', \"monitor-type\" ='$monitor_type',reportholdtime='$reportholdtime',timeoutrestart='$timeoutrestart',numero='$numero',timeout2='$timeout2',m_espera='$m_espera',opcao='$opcao',acao='$acao_opcao',setinterfacevar='$setinterfacevar', anuncio='$som_ura', id_transbordo = '$idTransbordo', max_agente_pausa = '$max_agente_pausa', tempo_ring = '$tempoRing', exige_classificacao = '$exige_classificacao', justificativa_pausa = '$justificativa_pausa', context = '$context', retornar_abandonadas = '$retornar_abandonadas', modo_atendimento = '$modoAtendimento',id_pesquisa_liberacao = $pesquisaLiberacao,disponivelfila = '$disponivelfila',status = '$ativaFila' $dataClass WHERE id=$id"; pg_query($dbcon, $query); $query = "DELETE FROM pbx_queues_membros WHERE id_fila=$id"; pg_query($dbcon, $query); } else { $filaExiste = 1; $closeWin = 1; $msgValida = 'Número já cadastrado para outra Fila ou Ramal!'; } } $ramais = $_POST["ramais"] ?? []; $prio = 0; //prioridade do ramal $ramalSel = ''; for ($i = 0; $i < count($ramais); $i++) { $valueSel = explode(':', $ramais[$i]); $ramalSel = trim($valueSel[0]); $prio = trim($valueSel[1]); $paramRamal = explode('/', $ramalSel); $num = ($paramRamal[0] == "KHOMP") ? $paramRamal[2] : $paramRamal[1]; $a = 0; $sql = "SELECT count(*) FROM pbx_supervisor_agentes WHERE ramal = '$num'"; $result = pg_query($dbcon, $sql); $qtde = pg_fetch_row($result); if ($qtde[0] >= 1) { $log .= $log ? ", $num" : "$num"; $a++; } else { if ($acao == "edita") { $query = "INSERT INTO pbx_queues_membros (id_fila,dispositivo, prioridade, org_id) VALUES ($id,'$ramalSel', '$prio', $org_id)"; } else { $query = "INSERT INTO pbx_queues_membros (id_fila,dispositivo, prioridade, org_id) VALUES ($id_ult,'$ramalSel', '$prio', $org_id)"; } pg_query($dbcon, $query); } } if ($log) { $filaExiste = 1; $closeWin = 1; $msgValida = ($a > 1) ? "Os ramais \"$log\" já estão sendo utilizados por um agente logado!" : "O ramal \"$log\" já está sendo utilizado por um agente logado!"; } //gera arquivos e executa o reload dos dados no asterisk gera_arquivos($dbcon, 'QUEUES_GRUPOS'); ?> alert('$msgValida');"; if ($closeWin) { echo ""; } } else { echo ""; } ?>

CADASTRO DE FILAS

Nome

Número

Estratégia

Exigir Classificação

Justificativa na pausa produtiva

Retornar Abandonadas

Disponível Fila

Status Fila

Música de espera

Modo de atendimento

Pesquisa de satisfação

Ligações sem o agente

Aguardar a próxima chamada

" size="10" />

Frequência do anúncio

" size="20" />

Nível de serviço

" size="10" />

Ring Use

Chamadas em fila

" size="20" />

Formato das Gravações

Contexto

Informar tempo de espera ao Agente

Anúncio Tempo de Espera

Anunciar Agentes

Info. posição da fila

" />

Max agente/pausa(%)

" size="15" />

Timeout da fila

" size="20" />

Ação de Timeout

Transbordo Assistido

Tempo Ring

" size="15" maxlength="3" />
Dispositivos Disponíveis
Prioridade

>

<

Dispositivos Selecionados
DEFAULT" : ""; $opt .= $modo == 'automatico' ? "" : ""; $opt .= $modo == 'manual' ? "" : ""; return $opt; } function GetOptPesquisaSatisfacao($dbcon, $dac, $idPl = null) { if (!$dac) { $dac = 0; } $org_id = GetOrganizacao(); $query = "SELECT a.pl_id,a.pl_descricao,c.id_pesquisa_liberacao FROM pbx_pesquisa_liberacao a INNER JOIN pbx_pesquisa_liberacao_dacs b ON a.pl_id = b.pl_id INNER JOIN pbx_queues_grupos c ON c.id = b.id_dac WHERE a.pl_ativa = 1 AND c.id = '$dac' AND a.org_id = $org_id ORDER BY 2"; $result = pg_query($dbcon, $query); $resp = pg_fetch_all($result); $selected = $idPl ? '' : 'selected'; $opt = ""; if ($resp) { foreach ($resp as $psq) { $selected = ""; if ($psq['pl_id'] == $idPl) { $selected = "selected"; } $opt .= sprintf("", $psq['pl_id'], $psq['pl_descricao']); } } return $opt; } ?>