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.
 
 
 
 
 
 

1171 lines
78 KiB

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<link rel="stylesheet" href="admin/css/validationEngine.jquery.css" type="text/css" media="screen" title="no title" charset="ISO-8859-1" />
<script type="text/javascript" src="admin/js/jquery-1.4.js"></script>
<script type="text/javascript" src="admin/js/jquery.blockUI.js?v2.29"></script>
<script src="admin/js/jquery.min.js" type="text/javascript"></script>
<script src="admin/js/jquery.validationEngine.js" type="text/javascript"></script>
<script src="admin/js/jquery.validationEngine-en.js" type="text/javascript"></script>
<script src="admin/js/pbxAjax.js" type="text/javascript"></script>
<script type="text/javascript">
$(document).ready(function() {
$("#form1").validationEngine({
sucess: function() {
document.form1.submit();
},
failure: function() {}
});
});
function selecionados() {
//var j = form1.disponiveis.length;
var objDisp = document.getElementById("disponiveis")
var j = objDisp.length;
var idxPrio = document.getElementById("prioridadeRamal").selectedIndex;
var prio = document.getElementById('prioridadeRamal').options[idxPrio].value;
for (var i = 0; i < j; i++) {
//if (form1.disponiveis.options[i].selected)
if (objDisp.options[i].selected) {
var x = document.getElementById("ramais"); //retorna o objeto select
var options = x.getElementsByTagName("option"); //pega a lista de options do select
var y = document.createElement('option'); //cria um novo elemento option
y.text = objDisp.options[i].text + ':' + prio;
y.value = objDisp.options[i].value + ':' + prio;
try {
x.add(y, null); // adiciona um novo option no fim da lista para navegadores complacentes
} catch (ex) {
x.add(y); // adiciona um novo option no fim da lista para o IE
}
}
}
j = form1.ramais.length;
for (var n = 0; n < j; n++) {
var sel = "";
var pos = -1;
for (var i = 0; i < form1.disponiveis.length; i++) {
sel = form1.ramais.options[n].text;
pos = sel.indexOf(':');
sel = sel.substr(0, pos);
if (objDisp.options[i].text == sel) {
objDisp.options[i] = null;
}
}
}
}
function _remove() {
var objRamais = document.getElementById("ramais");
for (var i = 0; i < objRamais.length; i++) {
if (objRamais.options[i].selected) {
var x = document.getElementById("disponiveis"); //retorna o objeto select
var options = x.getElementsByTagName("option"); //pega a lista de options do select
var y = document.createElement('option'); //cria um novo elemento option
var sel = objRamais.options[i].text;
var pos = sel.indexOf(':');
var sel = sel.substr(0, pos);
y.text = sel;
var sel = objRamais.options[i].value;
var pos = sel.indexOf(':');
var sel = sel.substr(0, pos);
y.value = sel
try {
x.add(y, null); // adiciona um novo option no fim da lista para navegadores complacentes
} catch (ex) {
x.add(y); // adiciona um novo option no fim da lista para o IE
}
}
}
var objDisp = document.getElementById("disponiveis");
j = objDisp.length;
for (var n = 0; n < j; n++) {
for (var i = 0; i < objRamais.length; i++) {
var sel = objRamais.options[i].text;
var pos = sel.indexOf(':');
var sel = sel.substr(0, pos);
if (sel == objDisp.options[n].text) {
objRamais.options[i] = null;
}
}
}
}
function marca_todos() {
var objRamais = document.getElementById("ramais");
for (var i = 0; i < objRamais.length; i++) {
objRamais.options[i].selected = true;
}
}
</script>
<script type="text/javascript">
function Get(id) {
return document.getElementById(id);
}
function HablitaMusica() {
var habilita = Get('m_espera').checked;
Get('musicclass').disabled = !habilita;
}
function Verify() {
if (Get('m_espera').checked && (!Get('musicclass').value)) {
alert('Selecione uma m<EFBFBD>sica!');
return false;
}
if ((Get("opcao").selectedIndex > 0) && (Get('timeout22').value == '')) {
alert('Selecione um valor para o Timeout!');
return false;
}
if ((Get("opcao").selectedIndex <= 0) && (Get('timeout22').value != '')) {
alert('Selecione uma op<EFBFBD><EFBFBD>o de Timeout!');
return false;
}
}
</script>
<link href="admin/css/forms.css" rel="stylesheet" type="text/css">
<style type="text/css">
body {
background-color: #EAEAEA;
}
</style>
</head>
<body>
<?php
$acao = $_GET["acao"];
$acao2 = isset($_GET["acao2"]) ? $_GET["acao2"] : null;
$dataClass = '';
$dateClass = '';
$org_id = GetOrganizacao();
/*
* Parametros necessarios para manter a pagina<EFBFBD><EFBFBD>o.
*/
$param = sprintf('&numRamal=%s&pgn=%s&bloco=%s&pg=%s&status=%s', $_REQUEST['numRamal'], $_REQUEST['pgn'], isset($_REQUEST['bloco']) ? $_REQUEST['bloco'] : '', isset($_REQUEST['pg']) ? $_REQUEST['pg'] : '', isset($_REQUEST["status"]) ? $_REQUEST["status"] : '');
if ($acao2 == "salva") {
$id = trim($_POST["id"]);
$modoAtendimento = $_POST["modo_atendimento"];
$pesquisaLiberacao = $_POST["pesquisa_liberacao"];
$ativaFila = isset($_POST['ativaFila']) ? 'A' : 'I';
$disponivelfila = $_POST['disponivelfila'];
$nome = GravaNomeOrganizacao(LimpaString($_POST["nome"], true));
$musicclass = trim($_POST["musicclass"]);
$strategy = trim($_POST["strategy"]);
$servicelevel = empty($_POST["servicelevel"]) || !is_numeric(trim($_POST["servicelevel"])) ? '0' : trim($_POST["servicelevel"]);
$timeout = 0; //trim($_POST["timeout"]);
$retry = '1'; //trim($_POST["retry"]);
$maxlen = trim($_POST["maxlen"]);
$joinempty = trim($_POST["joinempty"]);
$eventwhencalled = 'no'; //trim($_POST["eventwhencalled"]);
$eventmemberstatus = 'no'; //trim($_POST["eventmemberstatus"]);
$ringinuse = 'no'; // trim($_POST["ringinuse"]);
$periodic_announce_frequency = trim($_POST["periodic_announce_frequency"]);
$wrapuptime = trim($_POST["wrapuptime"]);
$autofill = 'yes'; //trim($_POST["autofill"]);
$autopause = 'no'; //trim($_POST["autopause"]);
$announce_frequency = trim($_POST["announce_frequency"]);
$announce_holdtime = trim($_POST["announce_holdtime"]);
$announce_round_seconds = '10'; //trim($_POST["announce_round_seconds"]);
$monitor_format = trim($_POST["monitor_format"]);
$monitor_type = 'mixmonitor'; //trim($_POST["monitor_type"]);
$context = trim($_POST["context"]);
$reportholdtime = trim($_POST["reportholdtime"]);
$timeoutrestart = 'no'; // trim($_POST["timeoutrestart"]);
$setinterfacevar = 'yes'; //trim($_POST["setinterfacevar"]);
$numero = trim($_POST["numero"]);
$timeout2 = trim($_POST["timeout2"]);
$m_espera = trim($_POST["m_espera"]);
$som_ura = !$_POST["som_ura"] ? '' : 'customizados/' . trim($_POST["som_ura"]);
$opcao = trim($_POST["opcao"]);
$acao_opcao = isset($_POST["acao_"]) ? trim($_POST["acao_"]) : '';
$filaExiste = 0;
$idTransbordo = $_POST["dac_transbordo"];
$max_agente_pausa = $_POST["max_agente_pausa"];
$msgValida = '';
$closeWin = 0;
$tempoRing = $_POST["tempoRing"];
$exige_classificacao = $_POST["exige_classificacao"];
$justificativa_pausa = $_POST["justificativa_pausa"];
$retornar_abandonadas = isset($_POST["retornar_abandonadas"]) ? $_POST["retornar_abandonadas"] : 0;
if ($acao == "inseri") {
if (strtoupper($nome) != 'TODOS') { // VERIFICA NOME DA FILA <> 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<EFBFBD> existe!" : 'N<EFBFBD>mero j<EFBFBD> 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<EFBFBD>mero j<EFBFBD> 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<EFBFBD> est<EFBFBD>o sendo utilizados por um agente logado!" : "O ramal \"$log\" j<EFBFBD> est<EFBFBD> sendo utilizado por um agente logado!";
}
//gera arquivos e executa o reload dos dados no asterisk
gera_arquivos($dbcon, 'QUEUES_GRUPOS');
?>
<?php
if ($filaExiste) {
echo "<script>alert('$msgValida');</script>";
if ($closeWin) {
echo "<script type=\"text/javascript\">
fecha_popup(0,'index.php?idProg=10002&pbxRequest=1$param&acao=$acao');
</script>";
}
} else {
echo "<script type=\"text/javascript\">
fecha_popup(0,'index.php?idProg=10002&pbxRequest=1$param&acao=$acao');
</script>";
}
?>
<?php
}
$acaoInseri = 0;
if ($acao == "inseri")
$acaoInseri = 1;
if ($acao == "edita") {
$id = !$_GET["id"] ? 0 : $_GET["id"];
$query = "SELECT * FROM pbx_queues_grupos where id=$id";
$result = pg_query($dbcon, $query);
} else {
$query = "SELECT * FROM pbx_queues_grupos where id is null";
$ativaFila = 'A';
$disponivelfila = GetDisponivelFila();
$retornar_abandonadas = 0;
}
$result = pg_query($dbcon, $query);
if ($dados = pg_fetch_array($result)) {
$id = trim($dados['id']);
$modoAtendimento = $dados["modo_atendimento"];
$pesquisaLiberacao = $dados["id_pesquisa_liberacao"];
$ativaFila = $dados['status'];
$disponivelfila = $dados['disponivelfila'];
$nome = trim($dados['nome']);
$musicclass = trim($dados['musicclass']);
$strategy = trim($dados['strategy']);
$servicelevel = trim($dados['servicelevel']);
$timeout = trim($dados['timeout']);
$retry = trim($dados['retry']);
$maxlen = trim($dados['maxlen']);
$joinempty = trim($dados['joinempty']);
$eventwhencalled = 'no'; //trim($dados['eventwhencalled']);
$eventmemberstatus = 'no'; //trim($dados['eventmemberstatus']);
$ringinuse = trim($dados['ringinuse']);
$periodic_announce_frequency = trim($dados['periodic_announce_frequency']);
$wrapuptime = trim($dados['wrapuptime']);
$autofill = trim($dados['autofill']);
$autopause = trim($dados['autopause']);
$announce_frequency = trim($dados['announce-frequency']);
$announce_holdtime = trim($dados['announce-holdtime']);
$announce_round_seconds = trim($dados['announce-round-seconds']);
$monitor_format = trim($dados['monitor-format']);
$context = trim($dados['context']);
$reportholdtime = trim($dados['reportholdtime']);
$numero = trim($dados['numero']);
$timeout2 = trim($dados['timeout2']);
$timeout = trim($dados['timeout2']);
$m_espera = trim($dados['m_espera']);
$opcao = trim($dados['opcao']);
$acao_ = trim($dados['acao']);
$setinterfacevar = trim($dados['setinterfacevar']);
$timeoutrestart = trim($dados['timeoutrestart']);
$som_ura = trim($dados['anuncio']);
$som = explode('/', $som_ura);
$idTransbordo = $dados["id_transbordo"];
$max_agente_pausa = $acaoInseri ? GetMaxAgentePausa() : $dados["max_agente_pausa"];
$tempoRing = $dados["tempo_ring"];
$justificativa_pausa = $dados["justificativa_pausa"];
$exige_classificacao = $dados["exige_classificacao"];
$retornar_abandonadas = $dados["retornar_abandonadas"];
}
if (!isset($monitor_format)) {
$monitor_format = "wav49";
}
?>
<form action="index.php?idProg=11002&pbxRequest=1&acao=<?= $acao; ?>&acao2=salva<?= $param ?>" onsubmit="return Verify();" method="post" name="form1" target="_self" id="form1">
<table width="750" height="335" border="1" align="center" cellpadding="0" cellspacing="0" class="tabela" style="min-width: 760px; width: 860px;">
<tr bordercolor="#EAEAEA" class="cabecalho" background="img/button03.gif">
<td height="18" colspan="4" class="cabecalho">
<div align="center">CADASTRO DE FILAS
<input name="id" type="hidden" id="id2" value="<?= ($acao == 'edita') ? $id : null; ?>" />
</div>
</td>
</tr>
<tr bordercolor="#EAEAEA" bgcolor="#EAEAEA">
<td height="21" colspan="4" class="labels">
<table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td>
<fieldset>
<legend class="labels">Nome:</legend>
<input name="nome" type="text" class="validate[required,length[0,100]] caixas" id="nome2" value="<?= ($acao == 'edita') ? GravaNomeOrganizacao($nome) . '"' . 'disabled="disabled' : null; ?>" />
</fieldset>
</td>
<td>
<fieldset>
<legend class="labels">N&uacute;mero:</legend>
<input name="numero" type="text" class="validate[required,custom[onlyNumber],length[0,100]] caixas" id="numero6" value="<?= ($acao == 'edita') ? $numero : null; ?>" />
</fieldset>
</td>
<td>
<fieldset>
<legend class="labels">M&uacute;sica de Espera:</legend>
<input name="m_espera" id="m_espera" onclick="HablitaMusica();" type="radio" value="V" <?= ($acao == 'edita') && ($m_espera == 'V') ? "checked" : null; ?> />
Sim
<input name="m_espera" type="radio" value="N" onclick="HablitaMusica();" <?php
if ($acao == 'edita') {
if ($m_espera == 'N') {
echo "checked";
}
} else {
echo "checked";
}
?> />
N&atilde;o
</fieldset>
</td>
<td>
<fieldset>
<legend class="labels">Classe de M&uacute;sica:</legend>
<select name="musicclass" id="musicclass" class="caixas">
<option value="" selected>------------</option>
<?php
$query2 = "SELECT * FROM pbx_musichold_grupos where org_id = {$org_id} AND nome not ilike 'agentes' order by nome asc";
$result2 = pg_query($dbcon, $query2);
while ($dados2 = pg_fetch_array($result2)) {
?>
<?php echo $dados2['nome'] . "-" . $musicclass . "<br>"; ?>
<option value="<?php echo $dados2['nome']; ?>" <?php
if ($acao == 'edita') {
if (trim($musicclass) == trim($dados2['nome'])) {
echo "selected";
}
}
?>><?php echo $dados2['nome']; ?></option>
<?php } ?>
</select>
</fieldset>
</td>
</tr>
</table>
</td>
</tr>
<tr bordercolor="#EAEAEA" bgcolor="#EAEAEA">
<td height="21" colspan="4" class="labels">
<div align="right"></div>
<div align="right">
<table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td>
<fieldset>
<legend class="labels">Estrat&eacute;gia:</legend>
<div align="left">
<select name="strategy" class="validate[optional] caixas" id="strategy">
<option value="ringall" <?= ($acao == 'edita') && ($strategy == "ringall") ? "selected" : null; ?>> Simultaneo - Chama todos os agentes dispon<EFBFBD>veis</option>
<option value="leastrecent" <?= ($acao == 'edita') && ($strategy == "leastrecent") ? "selected" : null; ?>>Tempo Livre - Chama o agente que est<EFBFBD> a mais tempo sem receber liga<EFBFBD><EFBFBD>es</option>
<option value="fewestcalls" <?= ($acao == 'edita') && ($strategy == "fewestcalls") ? "selected" : null; ?>> Numero de Liga<EFBFBD><EFBFBD>es - Chama o agente com o menor numero de liga<EFBFBD><EFBFBD>es atendidas</option>
<option value="random" <?= ($acao == 'edita') && ($strategy == "random") ? "selected" : null; ?>>Randomico - Chama os agentes de forma aleatoria</option>
<option value="rrordered" <?= ($acao == 'edita') && ($strategy == "rrordered") ? "selected" : null; ?>>Sequencial - Chama o agente respeitando a ordem cadastrada (Membros Est<EFBFBD>ticos)</option>
</select>
</div>
</fieldset>
</td>
<td width="25%">
<fieldset>
<legend class="labels">Modo Atendimento</legend>
<select name="modo_atendimento" class="caixas">
<?php if ($acao == 'inseri') { ?>
<option value="default">DEFAULT</option>
<option value="automatico">AUTOMATICO</option>
<option value="manual">MANUAL</option>
<?php
} else if ($acao == 'edita') {
echo GetOptModoAtendimento($modoAtendimento);
}
?>
</select>
</fieldset>
</td>
<td width="25%">
<fieldset>
<legend class="labels">Pesquisa Satisfa<EFBFBD><EFBFBD>o</legend>
<select name="pesquisa_liberacao" class="caixas">
<?php
if ($acao == 'inseri') {
echo GetOptPesquisaSatisfacao($dbcon, $id);
} else if ($acao == 'edita') {
echo GetOptPesquisaSatisfacao($dbcon, $id, $pesquisaLiberacao);
}
?>
</select>
</fieldset>
</td>
</tr>
</table>
</div>
</td>
</tr>
<tr bordercolor="#EAEAEA" bgcolor="#EAEAEA">
<td height="16" colspan="4" bordercolor="#EAEAEA" bgcolor="#EAEAEA" class="labels">
<table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td width="25%">
<fieldset>
<legend class="labels">Liga<EFBFBD><EFBFBD>es sem Agentes?:</legend>
<input name="joinempty" type="radio" value="yes" <?php
if ($acao == 'edita') {
if ($joinempty == 'yes') {
echo "checked";
}
} else {
echo "checked";
}
?> />
Sim
<input name="joinempty" type="radio" value="no" <?php
if ($acao == 'edita') {
if ($joinempty == 'no') {
echo "checked";
}
}
?> />
N&atilde;o
</fieldset>
</td>
<td width="25%">
<fieldset>
<legend class="labels">Aguardar Pr&oacute;xima Chamada:</legend>
<input name="wrapuptime" type="text" class="validate[optional,custom[onlyNumber]] caixas" id="wrapuptime2" value="<?php
if ($acao == 'edita') {
echo $wrapuptime;
} else {
echo "0";
}
?>" size="10" />
</fieldset>
</td>
<td width="25%">
<fieldset>
<legend class="labels">Frequ&ecirc;ncia do An&uacute;ncio:</legend>
<input name="periodic_announce_frequency" type="text" class="validate[optional,custom[onlyNumber]] caixas" id="periodic_announce_frequency2" value="<?php
if ($acao == 'edita') {
echo $periodic_announce_frequency;
} else {
echo "120";
}
?>" size="20" />
</fieldset>
</td>
<td width="15%">
<fieldset>
<legend class="labels">N&iacute;vel de Servi&ccedil;o:</legend>
<input name="servicelevel" type="text" class="validate[required, custom[onlyNumber]] caixas" id="servicelevel2" value="<?php
if ($acao == 'edita') {
echo $servicelevel;
} else {
echo "60";
}
?>" size="10" />
</fieldset>
</td>
<td width="10%">
<fieldset>
<legend class="labels">Ring use:</legend>
<input name="ringinuse" type="checkbox" id="ringinuse" value="yes" <?php
if ($ringinuse == "yes") {
echo "checked=\"checked\"";
}
?> />
</fieldset>
</td>
</tr>
</table>
</td>
</tr>
<tr bordercolor="#EAEAEA" bgcolor="#EAEAEA">
<td height="19" colspan="4" class="labels">
<table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td width="25%"></td>
<td width="25%"></td>
<td width="25%"></td>
<td width="25%"></td>
</tr>
</table>
</td>
</tr>
<tr bordercolor="#EAEAEA" bgcolor="#EAEAEA">
<td height="19" colspan="4" class="labels">
<div align="right">
<table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td width="22%">
<div align="left">
<fieldset>
<legend class="labels">Chamadas em Fila:</legend>
<input name="maxlen" type="text" class="validate[optional,custom[onlyNumber]] caixas" id="maxlen2" value="<?php
if ($acao == 'edita') {
echo $maxlen;
} else {
echo "0";
}
?>" size="20" />
</fieldset>
</div>
</td>
<td width="23%">
<div align="left">
<fieldset>
<legend class="labels">Formato das Grava<EFBFBD><EFBFBD>es:</legend>
<select name="monitor_format" class="caixas" id="monitor_format">
<option value="">---------</option>
<option value="gsm" <?php
if ($monitor_format == "gsm") {
echo "selected";
}
?>>GSM</option>
<option value="wav" <?php
if ($monitor_format == "wav") {
echo "selected";
}
?>>WAV</option>
<option value="wav49" <?php
if ($monitor_format == "wav49") {
echo "selected";
}
?>>WAV 49</option>
</select>
</fieldset>
</div>
</td>
<td width="25%">
<div align="left">
<fieldset>
<legend class="labels"><span class="style5">Contexto:</span></legend>
<select name="context" class="caixas">
<option value="" <?php if (!$context) echo 'selected="selected"'; ?>>--------------</option>
<option value="padrao" <?php if ($context == 'padrao') echo 'selected="selected"'; ?>>padrao</option>
<?php
$query2 = "SELECT * FROM pbx_contextos where org_id = {$org_id} order by id asc";
$result2 = pg_query($dbcon, $query2);
while ($dados2 = pg_fetch_array($result2)) {
?>
<option value="<?php echo $dados2['nome']; ?>" <?php
if ($acao == 'edita') {
if ($context == $dados2['nome']) {
echo "selected";
}
}
?>><?php echo $dados2['nome']; ?></option>
<?php } ?>
</select>
</fieldset>
</div>
</td>
<td width="30%">
<div align="left">
<fieldset>
<legend class="labels">Informar Tempo de Espera ao Agente:</legend>
<input name="reportholdtime" type="radio" value="yes" <?php
if ($acao == 'edita') {
if ($reportholdtime == 'yes') {
echo "checked";
}
}
?> />
Sim
<input name="reportholdtime" type="radio" value="no" <?php
if ($acao == 'edita') {
if ($reportholdtime == 'no') {
echo "checked";
}
} else {
echo "checked";
}
?> />
N&atilde;o
</fieldset>
</div>
</td>
</tr>
</table>
</div>
</td>
</tr>
<tr bordercolor="#EAEAEA" bgcolor="#EAEAEA">
<td height="19" colspan="4" class="labels">
<table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td width="200">
<div align="left">
<fieldset>
<legend class="labels">An&uacute;ncio do Tempo de Espera:</legend>
<input name="announce_holdtime" type="radio" value="yes" <?php
if ($acao == 'edita') {
if ($announce_holdtime == 'yes') {
echo "checked";
}
}
?> />
Sim
<input name="announce_holdtime" type="radio" value="no" <?php
if ($acao == 'edita') {
if ($announce_holdtime == 'no') {
echo "checked";
}
} else {
echo "checked";
}
?> />
N&atilde;o
</fieldset>
</div>
</td>
<td width="230">
<fieldset>
<legend class="labels">Anunciar Agentes:</legend>
<?php if (file_exists($path_som)) { ?>
<div align="left">
<select name="som_ura" class="caixas" id="som_ura" style="width:200px;">
<option value="<?php echo isset($file) ? $file : ''; ?>">-----SEM SOM ------</option>
<?php
// DIRET<EFBFBD>RIO PADR<EFBFBD>O PARA OS ARQUIVOS DE <EFBFBD>UDIO DO SISTEMA
$dir = $path_som;
$files = array(); // Array para armazenar os nomes dos arquivos
foreach (new DirectoryIterator($dir) as $file) {
//verifica se <EFBFBD> um arquivo mp3 v<EFBFBD>lido
if ($file->isFile() && (substr($file->getFilename(), 0, 1) != '.') && !stripos($file->getFilename(), ".old") && (stripos($file->getFilename(), "arquivos_mp3") === false)) {
$files[] = $file->getFilename(); // Adiciona o nome do arquivo ao array
}
}
sort($files); // Classifica o array em ordem alfab<EFBFBD>tica
foreach ($files as $file) {
?>
<option value="<?php echo $file; ?>" <?php
if ($acao == 'edita' && trim($som[1]) == trim($file)) {
echo "selected";
}
?>><?php echo pathinfo($file, PATHINFO_FILENAME); ?></option>
<?php
}
?>
</select>
</div>
<?php } ?>
</fieldset>
</td>
<td width="170">
<div align="left">
<fieldset>
<legend class="labels">Info. Posi<EFBFBD><EFBFBD>o da Fila:</legend>
<input name="announce_frequency" type="text" class="validate[optional,custom[onlyNumber]] caixas" id="announce_frequency2" value="<?php
if ($acao == 'edita') {
echo $announce_frequency;
} else {
echo "90";
}
?>" />
</fieldset>
</div>
</td>
<td>
<fieldset>
<legend class="labels">Max Agente/Pausa(%):</legend>
<input name="max_agente_pausa" type="text" class="validate[required, custom[onlyNumber]] caixas" id="max_agente_pausa" value="<?php
if ($acao == 'edita') {
echo $max_agente_pausa;
} else {
echo "60";
}
?>" size="15" />
</fieldset>
</td>
</tr>
</table>
</td>
</tr>
<tr bordercolor="#EAEAEA" bgcolor="#EAEAEA">
<td height="19" colspan="4" class="labels">
<div align="right"></div>
<div align="right">
<table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td width="200">
<div align="left">
<fieldset>
<legend class="labels">Timeout da Fila:</legend>
<input name="timeout2" type="text" class="validate[optional,custom[onlyNumber],length[0,10]] caixas" id="timeout22" value="<?= ($acao == 'edita') ? $timeout2 : ""; ?>" size="20" />
</fieldset>
</div>
</td>
<td width="230">
<div align="left">
<fieldset>
<legend class="labels">A&ccedil;&atilde;o de Timeout :</legend>
<select name="opcao" class="validate[optional] caixas" id="opcao" onChange="ajaxComboBox('admin/popula.php?id=<?= $acao_; ?>&id_ura=<?= $id; ?>', 'acao_', 'opcao', '<?= $acao_; ?>');" style="width:90px">
<?php
include_once("admin/opcoes.php");
echo _GetOpcoes($dbcon, $opcao);
?>
</select>
<select name="acao_" class="caixas" id="acao_" style="width:105px">
</select>
</fieldset>
</div>
</td>
<td width="170">
<fieldset>
<legend class="labels">Transbordo Assistido:</legend>
<div align="left">
<select name="dac_transbordo" class="caixas" id="dac_transbordo" style="width:130px;">
<option value="0" <?php echo !$idTransbordo ? "selected" : ""; ?>>-----------------------</option>
<?php
$idFila = !$id ? 0 : $id;
$query = "select id, nome, numero, status from pbx_queues_grupos where org_id = {$org_id} and status = 'A' and id <> '$idFila' order by nome";
$result = pg_query($dbcon, $query);
while ($row = pg_fetch_array($result)) {
$idDac = $row["id"];
$nomeDac = $row["nome"];
if ($acao == 'edita') {
if ($idTransbordo == $idDac) {
$sel = "selected";
} else {
$sel = "";
}
}
echo "<option value=\"$idDac\" $sel>$nomeDac</option>";
}
?>
</select>
</div>
</fieldset>
</td>
<td>
<fieldset>
<legend class="labels">Tempo Ring:</legend>
<input name="tempoRing" type="text" class="validate[optional,custom[onlyNumber]] caixas" id="tempoRing" value="<?php
if ($acao == 'edita') {
echo $tempoRing;
} else {
echo "45";
}
?>" size="15" maxlength="3" />
</fieldset>
</td>
</tr>
</table>
</div>
</td>
</tr>
<tr bordercolor="#EAEAEA" bgcolor="#EAEAEA">
<td height="19" colspan="4" class="labels">
<div align="right"></div>
<div align="right">
<table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td width="200">
<div align="left">
<fieldset>
<legend class="labels">Exigir Classifica&ccedil;&atilde;o:</legend>
<input name="exige_classificacao" type="radio" id="exige_classificacao" value="1" <?php
if ($acao == 'edita') {
if ($exige_classificacao) {
echo "checked";
}
} else {
if (GetExigeClas())
echo "checked";
}
?> />
Sim
<input name="exige_classificacao" type="radio" id="exige_classificacao" value="0" <?php
if ($acao == 'edita') {
if (!$exige_classificacao) {
echo "checked";
}
} else {
if (!GetExigeClas())
echo "checked";
}
?> />
N&atilde;o
</fieldset>
</div>
</td>
<td width="230">
<div align="left">
<fieldset>
<legend class="labels">Justificativa na Pausa Produtiva:</legend>
<input name="justificativa_pausa" type="radio" id="justificativa_pausa" value="1" <?php
if ($acao == 'edita') {
if ($justificativa_pausa) {
echo "checked";
}
} else {
if (GetObsProdAgente())
echo "checked";
}
?> />
Sim
<input name="justificativa_pausa" type="radio" id="justificativa_pausa" value="0" <?php
if ($acao == 'edita') {
if (!$justificativa_pausa) {
echo "checked";
}
} else {
if (!GetObsProdAgente())
echo "checked";
}
?> />
N&atilde;o
</fieldset>
</div>
</td>
<td width="170">
<div align="left">
<fieldset>
<legend class="labels">Retornar Abandonadas:</legend>
<input name="retornar_abandonadas" type="radio" id="retornar_abandonadas1" value="1" <?= ($retornar_abandonadas ? "checked=\"checked\"" : '') ?> /> Sim
<input name="retornar_abandonadas" type="radio" id="retornar_abandonadas0" value="0" <?= (!$retornar_abandonadas ? "checked=\"checked\"" : '') ?> /> N&atilde;o
</fieldset>
</div>
</td>
<td width="15%">
<fieldset>
<legend class="labels">Dispon<EFBFBD>vel Fila</legend>
<input name="disponivelfila" type="radio" value="1" <?= ($disponivelfila == "1" ? "checked=\"checked\"" : '') ?> /> Sim
<input name="disponivelfila" type="radio" value="0" <?= ($disponivelfila == "0" ? "checked=\"checked\"" : '') ?> /> N<EFBFBD>o
</fieldset>
</td>
<td width="15%">
<fieldset>
<legend class="labels">Status Fila</legend>
<input name="ativaFila" type="checkbox" value="A" <?= ($ativaFila == "A") ? "checked=\"checked\"" : ""; ?> /> Ativar
</fieldset>
</td>
</tr>
</table>
</div>
</td>
</tr>
<tr bordercolor="#EAEAEA" bgcolor="#EAEAEA">
<td height="118" colspan="4" class="labels">
<table width="93%" border="0" align="center" cellpadding="0" cellspacing="0" class="tabela">
<tr>
<td colspan="3">
<div align="center">MEMBROS EST&Aacute;TICOS</div>
</td>
</tr>
<tr>
<td width="45%">
<div align="center">Dispositivos Dispon&iacute;veis</div>
</td>
<td width="10%" align="center">Prioridade</td>
<td width="47%">
<div align="center">Dispositivos Selecionados</div>
</td>
</tr>
<tr>
<td width="45%" valign="top">
<div align="center">
<select name="disponiveis[]" size="7" multiple="multiple" class="caixas" id="disponiveis">
<?php
if ($acao == 'edita') {
$query2 = "
SELECT ramais.* from
(select id,nome,dispositivo from pbx_ramais where org_id = {$org_id}) ramais
where dispositivo not in (select dispositivo from pbx_queues_membros where id_fila=$id)
and not exists(select * from pbx_supervisor_agentes where ramal = ramais.nome )
order by nome asc";
} else {
$query2 = "select id,nome,dispositivo from pbx_ramais a where not exists(select * from pbx_supervisor_agentes where ramal = a.nome ) and org_id = {$org_id} order by nome asc";
}
$result2 = pg_query($dbcon, $query2);
while ($dados2 = pg_fetch_array($result2)) {
?>
<option value="<?php echo $dados2['dispositivo'] ?>"><?php echo $dados2['nome']; ?></option>
<?php } ?>
</select>
</div>
</td>
<td width="10%" valign="top">
<table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td align="center">
<select name="prioridadeRamal" id="prioridadeRamal" class="caixas" style="width:50px">
<option value="0">0</option>
<option value="1">1</option>
<option value="2">2</option>
<option value="3">3</option>
<option value="4">4</option>
<option value="5">5</option>
<option value="6">6</option>
<option value="7">7</option>
<option value="8">8</option>
<option value="9">9</option>
</select>
</td>
</tr>
<tr>
<td>
<div align="center"> <br />
<input name="marca1" type="button" class="labels" value="&gt;" onclick="selecionados(); marca_todos();" />
<br />
<input name="marca2" type="button" class="labels" value="&lt;" onclick="_remove();" />
<br />
<br />
</div>
</td>
</tr>
</table>
</td>
<td width="47%" valign="top">
<div align="center">
<select name="ramais[]" size="7" multiple="multiple" class="validate[optional] caixas" id="ramais">
<?php
if ($acao == 'edita') {
$query3 = "SELECT a.*,ramais.nome from pbx_queues_membros a,
(select id,nome,dispositivo from pbx_ramais) ramais
where a.dispositivo = ramais.dispositivo
and a.id_fila = $id and org_id = {$org_id}";
} else {
$query3 = "SELECT * from pbx_iax_pbx where id = null";
}
$result3 = pg_query($dbcon, $query3);
while ($dados3 = pg_fetch_array($result3)) {
$disp = sprintf("%s:%s", $dados3['dispositivo'], $dados3['prioridade']);
$nome = sprintf("%s:%s", $dados3['nome'], $dados3['prioridade']);
?>
<option value="<?php echo $disp; ?>"><?php echo $nome; ?></option>
<?php } ?>
</select>
</div>
</td>
</tr>
</table>
</td>
</tr>
<tr bordercolor="#EAEAEA" bgcolor="#EAEAEA">
<td height="22" colspan="4">
<div align="center">
<span class="style1"></span>
<span class="style1"></span>
<span class="style1"></span>
<span class="style1">
<input name="Submit2" type="button" class="labels" onclick="fecha_popup();" value="Fechar" />
<input name="Submit" type="submit" class="labels" value="Salvar" onclick="marca_todos();" />
</span>
</div>
</td>
</tr>
</table>
</form>
<?php if ($acao == 'edita') { ?>
<script>
ajaxComboBox('admin/popula.php?id=<?php echo $acao_; ?>', 'acao_', 'opcao', '<?php echo $acao_; ?>');
</script>
<?php } ?>
<script type="text/javascript">
$(document).ready(function() {
window.resizeTo($('#form1').width() + 100, $('#form1').height());
$('#btfechar').click(function() {
var $ = window.parent.$;
var jQuery = window.parent.jQuery;
$.unblockUI({
fadeOut: 200
});
});
});
HablitaMusica();
</script>
</body>
</html>
<?php
function GetDataClassifica($classifica, $mod = null)
{
global $dataClass, $dateClass;
if ($mod) {
if ($classifica == 1) {
$dataClass = sprintf(", data_reg_classificacao = %s", QuotedStr(date('Y-m-d')));
} else {
$dataClass = sprintf(", data_reg_classificacao = null");
}
return null;
}
if ($classifica == 1) {
$dataClass = ",data_reg_classificacao";
$dateClass = ",'" . date('Y-m-d') . "'";
} else {
$dataClass = ",data_reg_classificacao";
$dateClass = ",null";
}
}
function GetOptModoAtendimento($modo)
{
$opt = null;
$opt .= $modo == 'default' ? "<option value='default' selected>DEFAULT</option>" : "<option value='default'>DEFAULT</option>";
$opt .= $modo == 'automatico' ? "<option value='automatico' selected>AUTOMATICO</option>" : "<option value='automatico'>AUTOMATICO</option>";
$opt .= $modo == 'manual' ? "<option value='manual' selected>MANUAL</option>" : "<option value='manual'>MANUAL</option>";
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 = "<option value='null' $selected>--------------</option>";
if ($resp) {
foreach ($resp as $psq) {
$selected = "";
if ($psq['pl_id'] == $idPl) {
$selected = "selected";
}
$opt .= sprintf("<option value='%s' $selected>%s</option>", $psq['pl_id'], $psq['pl_descricao']);
}
}
return $opt;
}
?>