forked from SimplesIP/pabx-app
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.
863 lines
47 KiB
863 lines
47 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 |
|
$acao2 = $_GET["acao2"]; |
|
/* |
|
* Parametros necessarios para manter a paginação. |
|
*/ |
|
$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��es |
|
* armazenadas para o contexto corrente. Os dados |
|
* s�o utilizados para auxiliar o usuario na composi��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á Cadastrado!"; |
|
} else { |
|
$query = "insert into pbx_contextos_modelos_tmp(modelo, id_contexto, recorte, acrescenta, portabilidade) |
|
values('$modeloPost', 0, '$recorte', '$acrescenta', '$portabilidade')"; |
|
$result = pg_query($dbcon, $query); |
|
$recorte = ""; |
|
$acrescenta = ""; |
|
} |
|
} else { |
|
$mensagems[] = "Digite um modelo para realizar esta operaçã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�rio selecionar um \"Modelo\"!"; |
|
} else if (empty($troncoDisponivel)) { |
|
$mensagems[] = "Selecione um \"Tronco\" para realizar esta operaçã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) |
|
values('0', '$troncoDisponivel',coalesce((select id from pbx_contextos_modelos_tmp where modelo = '$modeloPost'),0))"; |
|
|
|
$result = pg_query($dbcon, $query); |
|
|
|
$opcao = ""; |
|
$acao_opcao = ""; |
|
} |
|
} else if ($acaoAux == REMOVE_CANAL) { |
|
if (empty($modeloPost)) { |
|
$mensagems[] = "Para \"Remover\" um tronco � necess�rio selecionar um \"Modelo\"!"; |
|
} else if (empty($troncoSelecionado)) { |
|
$mensagems[] = "Selecione um \"Tronco\" para realizar esta operaçã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ção � necess�rio selecionar um \"Modelo\"!"; |
|
} else if (empty($opcao)) { |
|
$mensagems[] = "Selecione uma \"opção\" para realizar esta operaçã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ão foi possí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ão foi possível deletar a \"Ação\" existente!"); |
|
|
|
|
|
//insere opcoes |
|
$query = "insert into pbx_contextos_opcoes_tmp |
|
(id_contexto, opcao, acao, id_modelo) |
|
values('0', '$opcao', '$acao_opcao' ,coalesce((select id from pbx_contextos_modelos_tmp where modelo = '$modeloPost'),0))"; |
|
|
|
$result = pg_query($dbcon, $query); |
|
if (!$result) |
|
throw new Exception("Não foi possível inserir uma nova \"opçã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ção\" � necess�rio selecionar um \"Modelo\"!"; |
|
} else if (empty($opcaoSelecionada)) { |
|
$mensagems[] = "Selecione uma \"opção\" para realizar esta operaçã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) |
|
VALUES ('$nome','$recorte','$acrescenta','$opcao','$acao_opcao','$inclui_padrao', '$direcao_chamada')"; |
|
|
|
$result = @pg_query($dbcon, $query); |
|
if (!$result) |
|
throw new Exception("(1)Não foi possível realizar a operação!"); |
|
|
|
$query = "select max(id) as id from pbx_contextos"; |
|
$result = pg_query($dbcon, $query); |
|
if (!$result) |
|
throw new Exception("(2)Não foi possível realizar a operaçã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ão foi possível realizar a operação!"); |
|
|
|
/* |
|
* Grava informacoes sobre modelos, canais e opcoes |
|
* selecionadas pelo usuario durante a operaçã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(); |
|
} |
|
}//fim gravar |
|
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ão foi possí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"]; |
|
//$recorte = $row["recorte"]; |
|
//$acrescenta = $row["acrescenta"]; |
|
$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); |
|
|
|
/* |
|
* Fun��es auxiliares |
|
*/ |
|
|
|
function FormataModeloDisp($modelo) { |
|
if (strtoupper(trim($modelo)) == 'S') |
|
$modelo = 's'; |
|
else |
|
$modelo = strtoupper($modelo); |
|
|
|
return $modelo; |
|
} |
|
|
|
function __GetModelosSelecionados($dbcon, $acao, $modelo) { |
|
$modelosSel = ""; |
|
$nome = ""; |
|
$query = "select id, modelo, recorte, acrescenta, portabilidade from pbx_contextos_modelos_tmp"; |
|
|
|
$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 = ""; |
|
$query = "select id, nome, tipo from pbx_troncos where 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'"; |
|
$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]; |
|
|
|
//seleciona o primeiro modelo da lista |
|
$modelo = GetModeloInicio($dbcon); |
|
} |
|
|
|
if (($acaoAux == REMOVE_MODELO) && (!$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) |
|
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) |
|
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) |
|
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ão foi possível realizar a operação!"); |
|
|
|
$query = "delete from pbx_contextos_modelos where id_contexto = '$idContexto'"; |
|
$result = @pg_query($dbcon, $query); |
|
if (!$result) |
|
throw new Exception("(4)Não foi possível realizar a operação!"); |
|
|
|
$query = "delete from pbx_contextos_canais where id_contexto = '$idContexto'"; |
|
$result = @pg_query($dbcon, $query); |
|
if (!$result) |
|
throw new Exception("(5)Não foi possível realizar a operação!"); |
|
|
|
$query = "delete from pbx_contextos_opcoes where id_contexto = '$idContexto'"; |
|
$result = @pg_query($dbcon, $query); |
|
if (!$result) |
|
throw new Exception("(6)Não foi possível realizar a operaçã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ão foi possível realizar a operaçã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ão foi possível realizar a operação!"); |
|
|
|
// Ultimo modelo inserido |
|
$query = "select max(id) from pbx_contextos_modelos"; |
|
$resultTmp = @pg_query($dbcon, $query); |
|
if (!$resultTmp) |
|
throw new Exception("(9)Não foi possível realizar a operaçã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ão foi possível realizar a operação!"); |
|
//insere opcoes |
|
|
|
$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ão foi possível realizar a operaçã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ção as "Ações Selecionadas" serã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ção o "Tronco Selecionado" serã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ção"!'); |
|
return false; |
|
} else if (document.getElementById("ramais").length > 0) |
|
{ |
|
return confirm('Se prosseguir com a operação os "Troncos Selecionados" serã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"> |
|
<style type="text/css"> |
|
<!-- |
|
body {background-color: #EAEAEA;} |
|
--> |
|
</style> |
|
</head> |
|
<body> |
|
|
|
<form name="form1" method="post" onsubmit="return Verify();" action="index.php?idProg=11027&pbxRequest=1&acao=<?php echo $acao; ?>&acao2=salva<? echo $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="<?php echo $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="<?php echo $nome; ?>" size="30" maxlength="50" <?php |
|
if ($acao == 'edita') { |
|
echo "readonly"; |
|
} |
|
?> onchange="RemoveSpace(this.name)"/> |
|
<input name="acao" type="hidden" id="acao" value="<?php echo $acao; ?>"></fieldset> |
|
</td> |
|
<td> |
|
<fieldset> |
|
<legend class="labels">Inclui Padrão :</legend> |
|
Sim <input name="inclui_padrao" type="radio" value="S" <?php |
|
if ($inclui_padrao == 'S') { |
|
echo "checked"; |
|
} |
|
?>/> |
|
Não <input name="inclui_padrao" type="radio" value="N" <?php |
|
if (!$inclui_padrao || ($inclui_padrao == 'N')) { |
|
echo "checked"; |
|
} |
|
?>/> |
|
</fieldset> |
|
</td> |
|
<td> |
|
<fieldset> |
|
<legend class="labels">Tipo Chamada:</legend> |
|
Entrada <input name="direcao_chamada" type="radio" value="E" <?php |
|
if ((!$direcao_chamada) || ($direcao_chamada == 'E')) { |
|
echo "checked"; |
|
} |
|
?>/> |
|
Saída <input name="direcao_chamada" type="radio" value="S" <?php |
|
if ($direcao_chamada == 'S') { |
|
echo "checked"; |
|
} |
|
?>/> |
|
</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="<?php echo $recorte; ?>" size="6" maxlength="10" /></td> |
|
<td><input name="acrescenta" type="text" class="validate[optional,custom[onlyNumber]] caixas" id="acrescenta" value="<?php echo $acrescenta; ?>" size="6" maxlength="10" /></td> |
|
<td nowrap="nowrap">Sim |
|
<input name="portabilidade" type="radio" id="portabilidade" value="1" /> |
|
Não |
|
<input name="portabilidade" type="radio" id="portabilidade" value="0" checked="checked" /> |
|
</td> |
|
</tr> |
|
<tr> |
|
<td colspan="3" align="center">Modelos Disponíveis</td> |
|
</tr> |
|
<tr> |
|
<td colspan="3"> |
|
<select name="modelo_disp" class="caixas" id="select" onchange="Copia(this.value)" style="width:250px" > |
|
<?php echo 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=">"/> |
|
<input name="btRemoveModelo" type="submit" class="caixas" id="btRemoveModelo" onclick="SetAcao('NONE');" value="<"/> |
|
</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="<?php echo $recorte2; ?>" size="6" maxlength="10" disabled="disabled" /></td> |
|
<td><input name="acrescenta2" type="text" class="validate[optional,custom[onlyNumber]] caixas" id="acrescenta2" value="<?php echo $acrescenta2; ?>" size="6" maxlength="10" disabled="disabled" /></td> |
|
<td nowrap="nowrap">Sim |
|
<input name="portabilidade2" type="radio" id="portabilidade2" value="1" <?php |
|
if ($portabilidade2) { |
|
echo "checked"; |
|
} |
|
?> disabled="disabled"/> |
|
Não |
|
<input name="portabilidade2" type="radio" id="portabilidade2" value="0" <?php |
|
if (!$portabilidade2) { |
|
echo "checked"; |
|
} |
|
?> disabled="disabled"/> |
|
</td> |
|
</tr> |
|
<tr> |
|
<td colspan="3" align="center">Modelos Disponíveis</td> |
|
</tr> |
|
<tr> |
|
<td colspan="3" align="center"><select name="relacao" size="5" class="caixas" id="relacao" onchange="submit();"> |
|
<?php |
|
echo $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ÍDA: </div></td> |
|
</tr> |
|
<tr> |
|
<td width="45%"><div align="center">Troncos Disponíveis</div></td> |
|
<td width="10%"> </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"> |
|
<?php |
|
echo $troncosDisponiveis; |
|
?> |
|
</select> |
|
</div></td> |
|
<td width="10%"><div align="center"> <br /> |
|
<input name="btInsereCanais" type="submit" class="caixas" id="btInsereCanais" value=">" onclick="SetAcao('INSERE_CANAL');"/> |
|
<br /> |
|
<input name="btRemoveCanais" type="submit" class="caixas" id="btRemoveCanais" value="<" 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"> |
|
<?php |
|
echo $troncosSelecionados; |
|
?> |
|
</select> |
|
</div></td> |
|
</tr> |
|
</table></td> |
|
</tr> |
|
</table></td> |
|
</tr> |
|
<tr bordercolor="#EAEAEA" bgcolor="#EAEAEA"> |
|
<td class="labels"> </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ÇÕES: </div></td> |
|
</tr> |
|
<tr> |
|
<td width="45%"><div align="center">Ações Disponíveis</div></td> |
|
<td width="10%"> </td> |
|
<td width="47%"><div align="center">Aç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=<?php echo $acao_opcao; ?>', 'acao_opcao', 'opcao', '<?php echo $acao_opcao; ?>');"> |
|
|
|
<?php |
|
include_once("admin/opcoes.php"); |
|
echo _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=">" onclick="SetAcao('INSERE_OPCAO');" /> |
|
<br /> |
|
<input name="btRemoveOpcao" type="submit" class="caixas" id="btRemoveOpcao" value="<" 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="<?php echo $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="<?php echo $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=<?php echo $acao_opcao; ?>', 'acao_opcao', 'opcao', '<?php echo $acao_opcao; ?>'); |
|
</script> |
|
|
|
<?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>
|
|
|