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.
 
 
 
 
 
 

884 lines
45 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>
<?php
include_once("admin/opcoes.php");
$org_id = GetOrganizacao();
$acao2 = $_GET["acao2"];
$param = sprintf('&numRamal=%s&pgn=%s&bloco=%s&pg=%s', $_REQUEST['numRamal'], $_REQUEST['pgn'], $_REQUEST['bloco'], $_REQUEST['pg']);
define("INSERT", "inseri");
define("EDITAR", "edita");
define("INSERE_MODELO", "insereModelo");
define("REMOVE_MODELO", "removeModelo");
define("INSERE_CANAL", "insereCanal");
define("REMOVE_CANAL", "removeCanal");
define("INSERE_OPCAO", "insereOpcao");
define("REMOVE_OPCAO", "RemoveOpcao");
$acao = isset($_GET["acao"]) ? $_GET["acao"] : $_POST["acao"];
$gravar = isset($_POST["bt_salvar"]) ? 1 : 0;
$isPostBack = isset($_POST["acao"]);
$acaoAux = "";
$mensagems = array();
$acoesCliente[] = array();
if (isset($_POST["btInsereModelo"]) || (isset($_POST["modelo_disp"]) && !empty($_POST["modelo_disp"]) && !$gravar)) {
$acaoAux = INSERE_MODELO;
} else if (isset($_POST["btRemoveModelo"])) {
$acaoAux = REMOVE_MODELO;
} else if (isset($_POST["btInsereCanais"])) {
$acaoAux = INSERE_CANAL;
} else if (isset($_POST["btRemoveCanais"])) {
$acaoAux = REMOVE_CANAL;
} else if (isset($_POST["btInsereOpcao"])) {
$acaoAux = INSERE_OPCAO;
} else if (isset($_POST["btRemoveOpcao"])) {
$acaoAux = REMOVE_OPCAO;
}
$idContexto = isset($_GET["id"]) ? $_GET["id"] : $_POST["id"];
$nome = RemoveEspaco(RemoveAcentos($_POST["nome"], true));
$recorte = isset($_POST["recorte"]) ? trim($_POST["recorte"]) : "";
$acrescenta = isset($_POST["acrescenta"]) ? trim($_POST["acrescenta"]) : "";
$opcao = trim($_POST["opcao"]);
$acao_opcao = trim($_POST["acao_opcao"]) == "S" ? "s" : trim($_POST["acao_opcao"]);
$inclui_padrao = trim($_POST["inclui_padrao"]);
$direcao_chamada = trim($_POST["direcao_chamada"]);
$modeloPost = !empty($_POST["numeros"]) ? trim(FormataModeloDisp($_POST["numeros"])) : trim(FormataModeloDisp($_POST["modelo_disp"]));
$modeloPost = empty($modeloPost) ? $_POST["relacao"] : $modeloPost;
$troncoDisponivel = $_POST["disponiveis"];
$troncoSelecionado = $_POST["ramais"];
$opcaoSelecionada = $_POST["opcao_modelo"];
$portabilidade = isset($_POST["portabilidade"]) ? trim($_POST["portabilidade"]) : "";
/*
* Apaga registros gravados temporariamente
* durante a opracao do usuario para escolher
* modelos, canais e opcoes
*/
if (!$isPostBack) {
DeletaRegTemporario($dbcon);
}
/*
* Alimenta as tebelas temporarias com informa<EFBFBD><EFBFBD>es
* armazenadas para o contexto corrente. Os dados
* s<EFBFBD>o utilizados para auxiliar o usuario na composi<EFBFBD><EFBFBD>o
* do contexto
*/
if ((!$isPostBack) && ($acao == EDITAR)) {
CopiaRegParaTemporario($dbcon, $idContexto);
}
if ($acaoAux == INSERE_MODELO) {
//Modelo setado na pagina
if (!empty($modeloPost)) {
if (ExisteModelo($dbcon, $modeloPost)) {
$mensagems[] = "Modelo j<EFBFBD> Cadastrado!";
} else {
$query = "INSERT INTO pbx_contextos_modelos_tmp(modelo, id_contexto, recorte, acrescenta, portabilidade, org_id)
values('$modeloPost', 0, '$recorte', '$acrescenta', '$portabilidade', $org_id)";
$result = pg_query($dbcon, $query);
$recorte = "";
$acrescenta = "";
}
} else {
$mensagems[] = "Digite um modelo para realizar esta opera<EFBFBD><EFBFBD>o!";
}
} else if ($acaoAux == REMOVE_MODELO) {
//Modelo setado na pagina
if (!empty($modeloPost)) {
DeletaRegTemporario($dbcon, $modeloPost);
}
} else if ($acaoAux == INSERE_CANAL) {
if (empty($modeloPost)) {
$mensagems[] = "Para \"Inserir\" um novo tronco e necess<EFBFBD>rio selecionar um \"Modelo\"!";
} else if (empty($troncoDisponivel)) {
$mensagems[] = "Selecione um \"Tronco\" para realizar esta opera<EFBFBD><EFBFBD>o!";
} else {
$query = "DELETE FROM pbx_contextos_opcoes_tmp WHERE id_modelo = coalesce((select id from pbx_contextos_modelos_tmp WHERE modelo = '$modeloPost'), 0)";
$result = pg_query($dbcon, $query);
//insere canais
$query = "INSERT INTO pbx_contextos_canais_tmp (id_contexto, canal, id_modelo, org_id)
values('0', '$troncoDisponivel',coalesce((select id from pbx_contextos_modelos_tmp WHERE modelo = '$modeloPost'),0), $org_id)";
$result = pg_query($dbcon, $query);
$opcao = "";
$acao_opcao = "";
}
} else if ($acaoAux == REMOVE_CANAL) {
if (empty($modeloPost)) {
$mensagems[] = "Para \"Remover\" um tronco <EFBFBD> necess<EFBFBD>rio selecionar um \"Modelo\"!";
} else if (empty($troncoSelecionado)) {
$mensagems[] = "Selecione um \"Tronco\" para realizar esta opera<EFBFBD><EFBFBD>o!";
} else {
$query = "DELETE FROM pbx_contextos_canais_tmp WHERE id = '$troncoSelecionado' and id_modelo = coalesce((select id from pbx_contextos_modelos_tmp WHERE modelo = '$modeloPost'), 0)";
$result = pg_query($dbcon, $query);
}
} else if ($acaoAux == INSERE_OPCAO) {
if (empty($modeloPost)) {
$mensagems[] = "Para \"Inserir\" uma op<EFBFBD><EFBFBD>o <EFBFBD> necess<EFBFBD>io selecionar um \"Modelo\"!";
} else if (empty($opcao)) {
$mensagems[] = "Selecione uma \"op<EFBFBD><EFBFBD>o\" para realizar esta opera<EFBFBD><EFBFBD>o!";
} else {
$result = pg_query($dbcon, "begin");
try {
$query = "DELETE FROM pbx_contextos_canais_tmp WHERE id_modelo = coalesce((select id from pbx_contextos_modelos_tmp WHERE modelo = '$modeloPost'), 0)";
$result = pg_query($dbcon, $query);
if (!$result) {
throw new Exception("N<EFBFBD>o foi poss<EFBFBD>vel deletar os \"Troncos\" existentes!");
}
$query = "DELETE FROM pbx_contextos_opcoes_tmp WHERE id_modelo = coalesce((select id from pbx_contextos_modelos_tmp WHERE modelo = '$modeloPost'), 0)";
$result = pg_query($dbcon, $query);
if (!$result) {
throw new Exception("N<EFBFBD>o foi poss<EFBFBD>vel deletar a \"A<EFBFBD><EFBFBD>o\" existente!");
}
//insere opcoes
$query = "INSERT INTO pbx_contextos_opcoes_tmp (id_contexto, opcao, acao, id_modelo, org_id)
VALUES('0', '$opcao', '$acao_opcao' ,coalesce((SELECT id FROM pbx_contextos_modelos_tmp WHERE modelo = '$modeloPost'),0), $org_id)";
$result = pg_query($dbcon, $query);
if (!$result) {
throw new Exception("N<EFBFBD>o foi poss<EFBFBD>vel inserir uma nova \"op<EFBFBD><EFBFBD>o\"!");
}
pg_query($dbcon, "commit");
$opcao = '';
$acao_opcao = '';
} catch (Exception $e) {
$result = pg_query($dbcon, "rollback");
$mensagems[] = $e->getMessage();
}
}
} else if ($acaoAux == REMOVE_OPCAO) {
if (empty($modeloPost)) {
$mensagems[] = "Para \"Remover\" uma \"op<EFBFBD><EFBFBD>o\" <EFBFBD> necess<EFBFBD>rio selecionar um \"Modelo\"!";
} else if (empty($opcaoSelecionada)) {
$mensagems[] = "Selecione uma \"op<EFBFBD><EFBFBD>o\" para realizar esta opera<EFBFBD><EFBFBD>o!";
} else {
$query = "DELETE FROM pbx_contextos_opcoes_tmp WHERE id_modelo = coalesce((select id from pbx_contextos_modelos_tmp WHERE modelo = '$modeloPost'), 0)";
$result = pg_query($dbcon, $query);
}
} else if ($acao == INSERT) {
if ($gravar) {
pg_query($dbcon, "begin");
try {
if (empty($nome)) {
throw new Exception("Informe um nome para o contexto!");
}
if (!ExisteTroncoAcao($dbcon)) {
throw new Exception("Informe pelo menos um \"Modelo\"/\"Tronco\" ou \"Acao\"!");
}
$query = "INSERT INTO pbx_contextos (nome,recorte,acrescenta,opcao,acao,inclui_padrao, direcao_chamada, org_id)
VALUES ('$nome','$recorte','$acrescenta','$opcao','$acao_opcao','$inclui_padrao', '$direcao_chamada', $org_id)";
$result = pg_query($dbcon, $query);
if (!$result) {
throw new Exception("(1)N<EFBFBD>o foi poss<EFBFBD>vel realizar a opera<EFBFBD><EFBFBD>o!");
}
$query = "select max(id) as id from pbx_contextos WHERE org_id = {$org_id};";
$result = pg_query($dbcon, $query);
if (!$result) {
throw new Exception("(2)N<EFBFBD>o foi poss<EFBFBD>vel realizar a opera<EFBFBD><EFBFBD>o!");
}
$dados = @pg_fetch_array($result);
$idContexto = $dados['id'];
GravaComplemento($dbcon, $idContexto);
pg_query($dbcon, "commit");
$mensagems[] = "Registro inserido com sucesso!";
$acoesCliente[] = "fecha_popup(0,'index.php?idProg=10027&pbxRequest=1$param&acao=$acao');";
gera_arquivos($dbcon, "CONTEXTOS");
} catch (Exception $e) {
pg_query($dbcon, "rollback");
$mensagems[] = $e->getMessage();
}
}
} else if ($acao == EDITAR) {
if ($gravar) {
pg_query($dbcon, "begin");
try {
$query = "UPDATE pbx_contextos
SET nome = '$nome',
recorte = '$recorte',
acrescenta = '$acrescenta',
opcao = '$opcao',
acao = '$acao_opcao',
inclui_padrao = '$inclui_padrao',
direcao_chamada = '$direcao_chamada'
WHERE id = $idContexto ";
if (!ExisteTroncoAcao($dbcon)) {
throw new Exception("Informe pelo menos um \"Tronco\" ou \"Acao\" para cada modelo!");
}
$result = pg_query($dbcon, $query);
if (!$result) {
throw new Exception("(1)N<EFBFBD>o foi poss<EFBFBD>vel realizar a opera<EFBFBD><EFBFBD>o!");
}
/*
* Grava informacoes sobre modelos, canais e opcoes
* selecionadas pelo usuario durante a opera<EFBFBD><EFBFBD>o.
*/
GravaComplemento($dbcon, $idContexto);
pg_query($dbcon, "commit");
gera_arquivos($dbcon, "CONTEXTOS");
$mensagems[] = "Registro alterado com sucesso!";
$acoesCliente[] = "fecha_popup(0,'index.php?idProg=10027&pbxRequest=1$param&acao=$acao');";
} catch (Exception $e) {
pg_query($dbcon, "rollback");
$mensagems[] = $e->getMessage();
}
} else if (!$isPostBack) {
$query = "SELECT id, nome, recorte, acrescenta, inclui_padrao, direcao_chamada FROM pbx_contextos WHERE id = '$idContexto' ";
$result = pg_query($dbcon, $query);
if (!$result || !@pg_num_rows($result)) {
$mensagems[] = "N<EFBFBD>o foi poss<EFBFBD>vel selecionar o \"Contexto\"!";
$acoesCliente[] = "fecha_popup(0,'index.php?idProg=10027&pbxRequest=1$param&acao=$acao');";
}
$row = @pg_fetch_array($result);
$idContexto = $row["id"];
$nome = $row["nome"];
$inclui_padrao = ($row["inclui_padrao"] == 'S') ? 'S' : 'N';
$direcao_chamada = trim($row["direcao_chamada"]);
$modeloPost = GetModeloInicio($dbcon);
}
}
$recorte2 = "";
$acrescenta2 = "";
$modelosSelecionados = __GetModelosSelecionados($dbcon, $acao, $modeloPost);
$troncosDisponiveis = __GetTroncosDisponiveis($dbcon, $modeloPost);
$troncosSelecionados = __GetTroncosSelecionados($dbcon, $modeloPost);
GetOpcao($dbcon, $modeloPost, $opcao_modelo, $acao_modelo);
function FormataModeloDisp($modelo)
{
if (strtoupper(trim($modelo)) == 'S') {
$modelo = 's';
} else {
$modelo = strtoupper($modelo);
}
return $modelo;
}
function __GetModelosSelecionados($dbcon, $modelo)
{
$modelosSel = "";
$nome = "";
$org_id = GetOrganizacao();
$query = "SELECT id, modelo, recorte, acrescenta, portabilidade FROM pbx_contextos_modelos_tmp WHERE org_id = {$org_id}";
$result = pg_query($dbcon, $query);
while ($dados = pg_fetch_array($result)) {
$nome = $dados['modelo'];
if (strtoupper($nome) == strtoupper($modelo)) {
$sel = "selected";
} else {
$sel = "";
}
$modelosSel .= "<option value=\"$nome\" $sel>$nome</option>\n";
}
return $modelosSel;
}
function __GetTroncosDisponiveis($dbcon, $modelo)
{
$troncos = "";
$nome = "";
$org_id = GetOrganizacao();
$query = "SELECT id, nome, tipo FROM pbx_troncos
WHERE org_id = {$org_id}
AND nome NOT IN(SELECT canal FROM pbx_contextos_canais_tmp WHERE id_modelo = (SELECT id FROM pbx_contextos_modelos_tmp WHERE modelo = '$modelo'))";
$result = pg_query($dbcon, $query);
while ($dados = pg_fetch_array($result)) {
$nome = $dados['nome'];
$troncos .= "<option value=\"$nome\">$nome</option>\n";
}
$query = "SELECT id, modelo, recorte, acrescenta, portabilidade FROM pbx_contextos_modelos_tmp WHERE modelo = '$modelo' AND org_id = {$org_id}";
$result = pg_query($dbcon, $query);
$dados = pg_fetch_array($result);
$GLOBALS['recorte2'] = $dados['recorte'];
$GLOBALS['acrescenta2'] = $dados['acrescenta'];
$GLOBALS['portabilidade2'] = $dados['portabilidade'];
return $troncos;
}
function __GetTroncosSelecionados($dbcon, $modelo)
{
$troncos = "";
$nome = "";
$id = "0";
$query = "SELECT id, canal FROM pbx_contextos_canais_tmp WHERE id_modelo = (SELECT id FROM pbx_contextos_modelos_tmp WHERE modelo = '$modelo')";
$result = pg_query($dbcon, $query);
while ($dados = pg_fetch_array($result)) {
$nome = $dados['canal'];
$id = $dados['id'];
$troncos .= "<option value=\"$id\" >$nome</option>\n";
}
return $troncos;
}
function GetOpcao($dbcon, $modelo, &$opcao, &$acao)
{
$query = "SELECT opcao, acao FROM pbx_contextos_opcoes_tmp WHERE id_modelo = (SELECT id FROM pbx_contextos_modelos_tmp WHERE modelo = '$modelo')";
$result = pg_query($dbcon, $query);
while ($dados = pg_fetch_array($result)) {
$opcao = $dados['opcao'];
$acao = $dados['acao'];
}
}
function DeletaRegTemporario($dbcon, &$modelo = "")
{
$idDel = 0;
if (!empty($modelo)) {
$query = "SELECT id FROM pbx_contextos_modelos_tmp WHERE modelo = '$modelo'";
$result = pg_query($dbcon, $query);
$row = pg_fetch_row($result);
$idDel = $row[0];
$modelo = GetModeloInicio($dbcon);
}
if (!$idDel) {
return;
}
$query = "DELETE FROM pbx_contextos_opcoes_tmp " . ($idDel ? " WHERE id_modelo = $idDel " : "");
pg_query($dbcon, $query);
$query = "DELETE FROM pbx_contextos_canais_tmp " . ($idDel ? " WHERE id_modelo = $idDel " : "");
pg_query($dbcon, $query);
$query = "DELETE FROM pbx_contextos_modelos_tmp " . ($idDel ? " WHERE id = $idDel " : "");
pg_query($dbcon, $query);
}
function CopiaRegParaTemporario($dbcon, $idTmp)
{
$query = "INSERT INTO pbx_contextos_modelos_tmp(id, id_contexto, modelo, recorte, acrescenta, portabilidade, org_id)
SELECT id, id_contexto, modelo, recorte, acrescenta, portabilidade FROM pbx_contextos_modelos WHERE id_contexto = '$idTmp'";
pg_query($dbcon, $query);
$query = "INSERT INTO pbx_contextos_canais_tmp(id, id_contexto, canal, id_modelo, org_id)
SELECT id, id_contexto, canal, id_modelo FROM pbx_contextos_canais WHERE id_contexto = '$idTmp'";
pg_query($dbcon, $query);
$query = "INSERT INTO pbx_contextos_opcoes_tmp(id, id_contexto, opcao, acao, id_modelo, org_id)
SELECT id, id_contexto, opcao, acao, id_modelo FROM pbx_contextos_opcoes WHERE id_contexto = '$idTmp'";
pg_query($dbcon, $query);
}
function ExisteModelo($dbcon, $modelo)
{
$query = "SELECT count(*) FROM pbx_contextos_modelos_tmp WHERE modelo = '$modelo'";
$result = pg_query($dbcon, $query);
$row = pg_fetch_row($result);
return $row[0] > 0;
}
function GetModeloInicio($dbcon)
{
//seleciona o primeiro modelo da lista
$query = "SELECT modelo FROM pbx_contextos_modelos_tmp ORDER BY id LIMIT 1";
$result = pg_query($dbcon, $query);
$row = pg_fetch_row($result);
return $row[0];
}
function ExisteTroncoAcao($dbcon)
{
$query = "SELECT id FROM pbx_contextos_modelos_tmp";
$result = pg_query($dbcon, $query);
if (!$result) {
return false;
}
if (pg_num_rows($result) == 0) {
return false;
}
while ($row = pg_fetch_row($result)) {
$idModelo = $row[0];
$query = "SELECT count(*) FROM pbx_contextos_canais_tmp WHERE id_modelo = '$idModelo'";
$result1 = pg_query($dbcon, $query);
$rowCont = @pg_fetch_row($result1);
$query = "SELECT count(*) FROM pbx_contextos_opcoes_tmp WHERE id_modelo = '$idModelo'";
$result1 = pg_query($dbcon, $query);
$rowCont1 = @pg_fetch_row($result1);
if (!$rowCont[0] && !$rowCont1[0]) {
return false;
}
}
return true;
}
function GravaComplemento($dbcon, $idContexto)
{
$query = "DELETE FROM pbx_contextos_canais WHERE id_contexto = '$idContexto'";
$result = pg_query($dbcon, $query);
if (!$result) {
throw new Exception("(3)N<EFBFBD>o foi poss<EFBFBD>vel realizar a opera<EFBFBD><EFBFBD>o!");
}
$query = "DELETE FROM pbx_contextos_modelos WHERE id_contexto = '$idContexto'";
$result = pg_query($dbcon, $query);
if (!$result) {
throw new Exception("(4)N<EFBFBD>o foi poss<EFBFBD>vel realizar a opera<EFBFBD><EFBFBD>o!");
}
$query = "DELETE FROM pbx_contextos_canais WHERE id_contexto = '$idContexto'";
$result = pg_query($dbcon, $query);
if (!$result)
throw new Exception("(5)N<EFBFBD>o foi poss<EFBFBD>vel realizar a opera<EFBFBD><EFBFBD>o!");
$query = "DELETE FROM pbx_contextos_opcoes WHERE id_contexto = '$idContexto'";
$result = pg_query($dbcon, $query);
if (!$result) {
throw new Exception("(6)N<EFBFBD>o foi poss<EFBFBD>vel realizar a opera<EFBFBD><EFBFBD>o!");
}
$query = "SELECT id, modelo, recorte, acrescenta, portabilidade FROM pbx_contextos_modelos_tmp";
$result = pg_query($dbcon, $query);
if (!$result) {
throw new Exception("(7)N<EFBFBD>o foi poss<EFBFBD>vel realizar a opera<EFBFBD><EFBFBD>o!");
}
while ($row = @pg_fetch_array($result)) {
$modelo = $row["modelo"];
$idModeloTmp = $row["id"];
$rec = $row["recorte"];
$acresc = $row["acrescenta"];
$porta = $row["portabilidade"];
$query = "INSERT INTO pbx_contextos_modelos(id_contexto, modelo, recorte, acrescenta, portabilidade)
VALUES('$idContexto', '$modelo', '$rec', '$acresc', '$porta')";
$resultTmp = pg_query($dbcon, $query);
if (!$resultTmp) {
throw new Exception("(8)N<EFBFBD>o foi poss<EFBFBD>vel realizar a opera<EFBFBD><EFBFBD>o!");
}
// Ultimo modelo inserido
$query = "SELECT max(id) FROM pbx_contextos_modelos";
$resultTmp = pg_query($dbcon, $query);
if (!$resultTmp) {
throw new Exception("(9)N<EFBFBD>o foi poss<EFBFBD>vel realizar a opera<EFBFBD><EFBFBD>o!");
}
$row = @pg_fetch_row($resultTmp);
$idModeloAtual = $row[0];
//insere canais
$query = "INSERT INTO pbx_contextos_canais (id_contexto, canal, id_modelo)
SELECT '$idContexto', canal, '$idModeloAtual'
FROM pbx_contextos_canais_tmp
WHERE id_modelo = '$idModeloTmp'";
$resultTmp = pg_query($dbcon, $query);
if (!$resultTmp) {
throw new Exception("(10)N<EFBFBD>o foi poss<EFBFBD>vel realizar a opera<EFBFBD><EFBFBD>o!");
}
$query = "INSERT INTO pbx_contextos_opcoes (id_contexto, opcao, acao, id_modelo)
SELECT '$idContexto', opcao, acao, '$idModeloAtual'
FROM pbx_contextos_opcoes_tmp
WHERE id_modelo = '$idModeloTmp'";
$resultTmp = pg_query($dbcon, $query);
if (!$resultTmp) {
throw new Exception("(11)N<EFBFBD>o foi poss<EFBFBD>vel realizar a opera<EFBFBD><EFBFBD>o!");
}
}
}
?>
<script>
var verificaForm = false;
var mensagemInsere;
var acao = "";
function SetAcao(acaoExe) {
acao = acaoExe;
}
function Verify() {
if (this.acao == 'INSERE_CANAL') {
if (document.getElementById("relacao").selectedIndex < 0) {
alert('Selecione um "Modelo"!');
return false;
} else if (document.getElementById("disponiveis").selectedIndex < 0) {
alert('Selecione um "Tronco"!');
return false;
} else if (document.getElementById("opcao_modelo").value) {
return confirm('Se prosseguir com a opera<EFBFBD><EFBFBD>o as "A<EFBFBD><EFBFBD>es Selecionadas" ser<EFBFBD>o apagadas! Deseja continuar?');
}
} else if (this.acao == 'REMOVE_CANAL') {
if (document.getElementById("ramais").selectedIndex < 0) {
alert('Selecione um "Tronco"!');
return false;
}
return confirm('Se prosseguir com a opera<EFBFBD><EFBFBD>o o "Tronco Selecionado" ser<EFBFBD>o apagados! Deseja continuar?');
} else if (this.acao == 'INSERE_OPCAO') {
if (document.getElementById("relacao").selectedIndex < 0) {
alert('Selecione um "Modelo"!');
return false;
} else if (!document.getElementById("opcao").value || !document.getElementById("acao_opcao").value) {
alert('Selecione uma "op<EFBFBD><EFBFBD>o"!');
return false;
} else if (document.getElementById("ramais").length > 0) {
return confirm('Se prosseguir com a opera<EFBFBD><EFBFBD>o os "Troncos Selecionados" ser<EFBFBD>o apagados! Deseja continuar?');
}
} else if (this.acao == 'REMOVE_OPCAO') {
if (!document.getElementById("opcao_modelo").value) {
return false;
}
} else if (this.acao == 'GRAVAR') {
if (!document.getElementById("nome").value) {
alert("Inorfome o \"Nome\" do \"Contexto\"!");
return false;
}
}
return true;
}
function Copia(value) {
document.getElementById("numeros").value = value; //document.getElementById("modelo_disp").value;
}
</script>
<link href="admin/css/forms.css" rel="stylesheet" type="text/css">
</head>
<body>
<form name="form1" method="post" onsubmit="return Verify();" action="index.php?idProg=11027&pbxRequest=1&acao=<?= $acao; ?>&acao2=salva<?= $param; ?>" id="form1">
<table border="0" align="center" cellpadding="3" cellspacing="0" class="tabela">
<tr bordercolor="#EAEAEA" bgcolor="#EAEAEA" class="labels" background="img/button03.gif">
<td class="cabecalho">
<div align="center">CADASTRO DE CONTEXTOS
<input name="id" type="hidden" id="id2" value="<?= $idContexto; ?>" />
</div>
</td>
</tr>
<tr bordercolor="#EAEAEA" bgcolor="#EAEAEA">
<td bgcolor="#EAEAEA" class="labels">
<table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td>
<table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td width="50%">
<fieldset>
<legend class="labels">Nome:</legend>
<input name="nome" type="text" class="caixas" id="nome" value="<?= $nome; ?>" size="30" maxlength="50" <?= ($acao == 'edita') ? "readonly" : null; ?> onchange="RemoveSpace(this.name)" />
<input name="acao" type="hidden" id="acao" value="<?= $acao; ?>">
</fieldset>
</td>
<td>
<fieldset>
<legend class="labels">Inclui Padr&atilde;o :</legend>
Sim <input name="inclui_padrao" type="radio" value="S" <?= ($inclui_padrao == 'S') ? "checked" : null; ?> />
N&atilde;o <input name="inclui_padrao" type="radio" value="N" <?= (!$inclui_padrao || ($inclui_padrao == 'N')) ? "checked" : null; ?> />
</fieldset>
</td>
<td>
<fieldset>
<legend class="labels">Tipo Chamada:</legend>
Entrada <input name="direcao_chamada" type="radio" value="E" <?= ((!$direcao_chamada) || ($direcao_chamada == 'E')) ? "checked" : null; ?> />
Sa<EFBFBD>da <input name="direcao_chamada" type="radio" value="S" <?= ($direcao_chamada == 'S') ? "checked" : null; ?> />
</fieldset>
</td>
</tr>
</table>
</td>
</tr>
</table>
</td>
</tr>
<tr bordercolor="#EAEAEA" bgcolor="#EAEAEA">
<td valign="top" class="labels">
<table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td>
<table width="100%" border="0" align="center" cellpadding="0" cellspacing="0" class="tabela">
<tr>
<td colspan="3">
<div align="center">MODELOS DE DISCAGEM: </div>
</td>
</tr>
<tr>
<td width="45%" valign="top">
<table width="100%" border="0" cellspacing="0" cellpadding="2">
<tr>
<td width="30%" align="left">
<legend class="labels">Recorte:</legend>
</td>
<td width="30%" align="left">
<legend class="labels">Acrescenta:</legend>
</td>
<td align="left">Portabilidade</td>
</tr>
<tr>
<td>
<input name="recorte" type="text" class="validate[optional,custom[onlyNumber]] caixas" id="recorte_prefixo" value="<?= $recorte; ?>" size="6" maxlength="10" />
</td>
<td>
<input name="acrescenta" type="text" class="validate[optional,custom[onlyNumber]] caixas" id="acrescenta" value="<?= $acrescenta; ?>" size="6" maxlength="10" />
</td>
<td nowrap="nowrap">Sim
<input name="portabilidade" type="radio" id="portabilidade" value="1" />
N&atilde;o
<input name="portabilidade" type="radio" id="portabilidade" value="0" checked="checked" />
</td>
</tr>
<tr>
<td colspan="3" align="center">
Modelos Dispon&iacute;veis
</td>
</tr>
<tr>
<td colspan="3">
<select name="modelo_disp" class="caixas" id="select" onchange="Copia(this.value)" style="width:250px">
<?= GetMascara(); ?>
</select>
</td>
</tr>
<tr>
<td colspan="3" align="left"><input name="numeros" type="text" class="caixas" id="numeros" /></td>
</tr>
</table>
</td>
<td width="10%">
<div align="center">
<input name="btInsereModelo" type="submit" class="caixas" id="btInsereModelo" onclick="SetAcao('NONE');" value="&gt;" />
<input name="btRemoveModelo" type="submit" class="caixas" id="btRemoveModelo" onclick="SetAcao('NONE');" value="&lt;" />
</div>
</td>
<td width="47%">
<div align="center">
<table width="100%" border="0" cellspacing="0" cellpadding="2">
<tr>
<td width="30%" align="left">
<legend class="labels">Recorte:</legend>
</td>
<td width="30%" align="left">
<legend class="labels">Acrescenta:</legend>
</td>
<td align="left">Portabilidade: </td>
</tr>
<tr>
<td>
<input name="recorte2" type="text" class="validate[optional,custom[onlyNumber]] caixas" id="recorte" value="<?= $recorte2; ?>" size="6" maxlength="10" disabled="disabled" />
</td>
<td>
<input name="acrescenta2" type="text" class="validate[optional,custom[onlyNumber]] caixas" id="acrescenta2" value="<?= $acrescenta2; ?>" size="6" maxlength="10" disabled="disabled" />
</td>
<td nowrap="nowrap">Sim
<input name="portabilidade2" type="radio" id="portabilidade2" value="1" <?= ($portabilidade2) ? "checked" : null; ?> disabled="disabled" />
N&atilde;o
<input name="portabilidade2" type="radio" id="portabilidade2" value="0" <?= (!$portabilidade2) ? "checked" : null; ?> disabled="disabled" />
</td>
</tr>
<tr>
<td colspan="3" align="center">Modelos Dispon&iacute;veis</td>
</tr>
<tr>
<td colspan="3" align="center">
<select name="relacao" size="5" class="caixas" id="relacao">
<?= $modelosSelecionados; ?>
</select>
</td>
</tr>
</table>
</div>
</td>
</tr>
</table>
</td>
</tr>
<tr>
<td>
<table width="100%" border="0" align="center" cellpadding="2" cellspacing="0" class="tabela">
<tr>
<td colspan="3">
<div align="center">CANAIS DE SA&Iacute;DA: </div>
</td>
</tr>
<tr>
<td width="45%">
<div align="center">Troncos Dispon&iacute;veis</div>
</td>
<td width="10%">&nbsp;</td>
<td width="47%">
<div align="center">Troncos Selecionados</div>
</td>
</tr>
<tr>
<td width="45%">
<div align="center">
<select name="disponiveis" size="5" class="caixas" id="disponiveis">
<?= $troncosDisponiveis; ?>
</select>
</div>
</td>
<td width="10%">
<div align="center">
<br />
<input name="btInsereCanais" type="submit" class="caixas" id="btInsereCanais" value="&gt;" onclick="SetAcao('INSERE_CANAL');" />
<br />
<input name="btRemoveCanais" type="submit" class="caixas" id="btRemoveCanais" value="&lt;" onclick="SetAcao('REMOVE_CANAL');" />
<br />
<br />
</div>
</td>
<td width="47%">
<div align="center">
<select name="ramais" size="5" class="validate[optional] caixas" id="ramais">
<?= $troncosSelecionados; ?>
</select>
</div>
</td>
</tr>
</table>
</td>
</tr>
</table>
</td>
</tr>
<tr bordercolor="#EAEAEA" bgcolor="#EAEAEA">
<td class="labels">&nbsp;</td>
</tr>
<tr>
<td class="labels">
<table width="100%" border="0" align="center" cellpadding="2" cellspacing="0" class="tabela">
<tr>
<td colspan="3">
<div align="center">A&Ccedil;&Otilde;ES: </div>
</td>
</tr>
<tr>
<td width="45%">
<div align="center">A&ccedil;&otilde;es Dispon&iacute;veis</div>
</td>
<td width="10%">&nbsp;</td>
<td width="47%">
<div align="center">A&ccedil;oes Selecionados</div>
</td>
</tr>
<tr>
<td width="45%">
<div align="center">
<table width="100%" border="0" cellspacing="0" cellpadding="3">
<tr>
<td>
<select name="opcao" class="validate[optional] caixas" id="opcao" onChange="ajaxComboBox('admin/popula.php?id=<?= $acao_opcao; ?>', 'acao_opcao', 'opcao', '<?= $acao_opcao; ?>');">
<?= _GetOpcoes($dbcon, $opcao); ?>
</select>
</td>
</tr>
<tr>
<td>
<select name="acao_opcao" class="validate[optional] caixas" id="acao_opcao"></select>
</td>
</tr>
</table>
</div>
</td>
<td width="10%">
<div align="center">
<br />
<input name="btInsereOpcao" type="submit" class="caixas" id="btInsereOpcao" value="&gt;" onclick="SetAcao('INSERE_OPCAO');" />
<br />
<input name="btRemoveOpcao" type="submit" class="caixas" id="btRemoveOpcao" value="&lt;" onclick="SetAcao('REMOVE_OPCAO');" />
<br />
<br />
</div>
</td>
<td width="47%">
<div align="center">
<table width="100%" border="0" cellspacing="0" cellpadding="3">
<tr>
<td>
<input name="opcao_modelo" type="text" id="opcao_modelo" value="<?= $opcao_modelo; ?>" readonly="readonly" />
<input name="opcValue" type="hidden" id="opcValue" />
<input name="opcaoText" type="hidden" id="opcaoText" />
</td>
</tr>
<tr>
<td>
<input name="acao_modelo" type="text" id="acao_modelo" value="<?= $acao_modelo; ?>" readonly="readonly">
<input name="acaoValue" type="hidden" id="acaoValue" />
<input name="acaoText" type="hidden" id="acaoText" />
</td>
</tr>
</table>
</div>
</td>
</tr>
</table>
</td>
</tr>
<tr bordercolor="#EAEAEA" bgcolor="#EAEAEA">
<td>
<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" value="Fechar" id="Submit2" onClick="fecha_popup();" />
<input name="bt_salvar" type="submit" class="labels" id="bt_salvar" onclick="SetAcao('GRAVA');" value="Salvar" />
</span>
</div>
</td>
</tr>
</table>
</form>
<?php if ($acao == 'edita' || $acao == 'inseri') { ?>
<script type="text/javascript">
ajaxComboBox('admin/popula.php?id=<?= $acao_opcao; ?>', 'acao_opcao', 'opcao', '<?= $acao_opcao; ?>');
</script>
<?php } ?>
<?php
if (count($mensagems)) {
foreach ($mensagems as $msg) {
$disp .= $msg;
}
echo "<script type=\"text/javascript\">\n";
echo "alert('$disp');\n";
foreach ($acoesCliente as $acaoExe) {
echo $acaoExe . "\n";
}
echo "</script>\n";
}
?>
</body>
</html>