session_start(); ?>
$acao = $_GET["acao"]; $acao2 = $_GET["acao2"]; $msg = ''; $erro = 0; /* * 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']); if ($acao2 == "salva") { $rotas = $_POST['tipoRota']; $id = $_POST["id"]; $numero = trim($_POST["numero"]); $senha = trim($_POST["senha"]); $dispositivo = trim($_POST["dispositivo"]); $voicemail = trim($_POST["voicemail"]); $usuario_v = trim($_POST["usuario_v"]); $senha_v = trim($_POST["senha_v"]); $grupo = trim($_POST["grupo"]); $contexto = trim($_POST["contexto"]); $capturar = $_POST["capturar"]; $espera = $_POST["espera"]; $sigame_interno = $_POST["sigame_interno"]; $sigame_externo = $_POST["sigame_externo"]; $sigame_nao_atende = $_POST["sigame_nao_atende"]; $sigame_ocupado = $_POST["sigame_ocupado"]; $gravacao = $_POST["gravacao"]; $musica_espera = $_POST["musica_espera"]; $pertube = $_POST["pertube"]; $cadeado = $_POST["cadeado"]; $v_nome = $_POST["v_nome"]; $v_email = $_POST["v_email"]; $v_senha = $_POST["v_senha"]; $attach = trim($_POST["attach"]); $delete = trim($_POST["delete"]); $saycid = trim($_POST["saycid"]); $envelope = trim($_POST["envelope"]); $gravacao_saida = trim($_POST["gravacao_saida"]); $timeout = trim($_POST["timeout"]); $v_numero = trim($_POST["v_numero"]); $gravacao_saida = trim($_POST["gravacao_saida"]); $inseri_voice = $_POST['inseri_voice']; $identificador = $_POST['identificador']; $identificador2 = soNumero($_POST['identificador2']); $senha_facilidade = $_POST['senha_facilidade']; $accountcode = $_POST['accountcode']; $imediate = $_POST['imediate']; $gera_voice = trim($_POST['gera_voice']); $ramalSecretaria = $_POST['ramalSecretaria']; $habilita_prepago = !HabilitaPrepago() ? '0' : $_POST['habilita_prepago']; $volume_input = trim($_POST["volume_input"]); $volume_output = trim($_POST["volume_output"]); $dispKhomp = " Khomp/r" . $numero; $ringTime = trim($_POST["ring_time"]); //VALIDA O NUMERO DA CAIXA POSTAL CASO A MESMA N�O SEJA INFORMADA $mailbox = $v_numero; $passa = true; $sigameAtivo = $sigame_interno || $sigame_externo || $sigame_nao_atende || $sigame_ocupado; if ($passa && ($acao == 'edita') && $sigameAtivo && VerificaRamalConectado($nome)) { $passa = false; $mes = "Não é permitido configurar sigame para ramal conectado a uma fila"; echo ''; echo ""; } if ($acao == "inseri") { $numerosSerie = __GetQtde($dbcon, $_POST["qtde"]); if ($numerosSerie == -1) { $msg = "Número de série já inserido!"; $numerosSerie = array(); } $qtde = 24; $numero_khomp = __GetNumKomp($dbcon); foreach ($numerosSerie as $numSerie) { $numero_serie = $numSerie; for ($i = 0; $i < $qtde;) { /* * Verifica a sequencia de ramais */ $nome2 = __GetSeqkhomp($dbcon, $numero, $i); $numero_khomp++; $dispKhomp = " Khomp/r" . $nome2; //VALIDA OS CAMPOS COM UM PADR�O CASO A inserção FOR MAIOR QUE 1 REGISTRO $senha_facilidade = $nome2; $callerid = $nome2; $secret = $nome2; $identificador = $nome2; $dispositivo = $numero_khomp; /* * Cria voice mail generico */ $geraVoiceMail = trim($_POST["gera_voice"]); $geraVoiceMail = $geraVoiceMail || $v_nome || $v_email; if ($geraVoiceMail) { $mailbox = $nome2; } $imediateDef = $imediate; $query = "INSERT INTO pbx_khomp ( numero,voicemail,usuario_v,senha_v,grupo,contexto,capturar, espera,sigame_interno,sigame_externo, sigame_naoatende,sigame_ocupado,gravacao_chamada,musica_espera,nao_pertube,cadeado,dispositivo, gravacao_saida,senha_facilidade,identificador,imediate,accountcode, identificador2, timeout, ramalSecretaria, habilita_prepago, numero_khomp, numero_serie, volume_input, volume_output, ring_time ) VALUES ( '$nome2','$mailbox','$usuario_v','$senha_v','$grupo','$contexto','$capturar','$espera','$sigame_interno','$sigame_externo', '$sigame_nao_atende','$sigame_ocupado','$gravacao','$musica_espera','$pertube','$cadeado','$dispositivo', '$gravacao_saida','$senha_facilidade','$identificador','$imediateDef','$accountcode', '$identificador2', '$timeout', '$ramalSecretaria', '$habilita_prepago', '$numero_khomp', '$numero_serie', '$volume_input', '$volume_output', '$ringTime' )"; //echo $query; pg_query($dbcon, $query); InsereRotasRamais($dbcon, $rotas, $nome); InsereRamaisChf($dbcon, $nome2); if ($geraVoiceMail) { $query = "INSERT INTO pbx_voicemail_usuarios ( caixa_postal,senha,email,nome,attach,delete,saycid,envelope, 'numero_ramal' ) values ('$nome2','$nome2','$v_email','$v_nome','$attach','$delete','$saycid','$envelope', '$nome2') "; //executa inserção na base interna do asterisk CommandAsterisk2($dbcon, 'VOICE2', $nome2, $nome2); pg_query($dbcon, $query); } if ($sigame_interno == '') { $sigame_interno2 = 'F'; } else { $sigame_interno2 = $sigame_interno; } if ($sigame_externo == '') { $sigame_externo2 = 'F'; } else { $sigame_externo2 = $sigame_externo; } if ($sigame_nao_atende == '') { $sigame_nao_atende2 = 'F'; } else { $sigame_nao_atende2 = $sigame_nao_atende; } if ($sigame_ocupado == '') { $sigame_ocupado2 = 'F'; } else { $sigame_ocupado2 = $sigame_ocupado; } if ($musica_espera == '') { $musica_espera2 = 'default'; } else { $musica_espera2 = $musica_espera; }//executa inserção na base interna do asterisk CommandAsterisk2($dbcon, 'ESPERA', $nome2, $espera); //executa inserção na base interna do asterisk CommandAsterisk2($dbcon, 'SIGAME-INTERNO', $nome2, $sigame_interno2); //executa inserção na base interna do asterisk CommandAsterisk2($dbcon, 'SIGAME-EXTERNO', $nome2, $sigame_externo2); //executa inserção na base interna do asterisk CommandAsterisk2($dbcon, 'SIGAME-OCUPADO', $nome2, $sigame_ocupado2); //executa inserção na base interna do asterisk CommandAsterisk2($dbcon, 'SIGAME-NAOATENDE', $nome2, $sigame_nao_atende2); //executa inserção na base interna do asterisk CommandAsterisk2($dbcon, 'GRAVACAO', $nome2, $gravacao); //executa inserção na base interna do asterisk CommandAsterisk2($dbcon, 'GRAVACAO-OUT', $nome2, $gravacao_saida); //executa inserção na base interna do asterisk CommandAsterisk2($dbcon, 'MUSICA', $nome2, $musica_espera2); //executa inserção na base interna do asterisk CommandAsterisk2($dbcon, 'CADEADO', $nome2, $cadeado); //executa inserção na base interna do asterisk CommandAsterisk2($dbcon, 'NAOPERTUBE', $nome2, $pertube); //executa inserção na base interna do asterisk CommandAsterisk2($dbcon, 'SENHA', $nome2, $senha_facilidade); //executa inserção na base interna do asterisk CommandAsterisk2($dbcon, 'DISPOSITIVO', $nome2, $dispKhomp); CommandAsterisk2($dbcon, 'BINA-NOME', $nome2, $identificador); CommandAsterisk2($dbcon, 'BINA-EXTERNO', $nome2, $identificador2); CommandAsterisk2($dbcon, 'TIMEOUT-RAMAL', $nome2, $timeout); CommandAsterisk2($dbcon, 'TEMPO-RING-RAMAL', $nome2, $ringTime); } } if ($msg) { $erro = 1; $msg = RemoveAcentos($msg); echo ""; } } if ($passa && ($acao == "edita")) { $numeroOld = $_POST['numero_old']; if ($numeroOld != $numero) { ApagaUrl($dbcon, $numeroOld); __AlteraRamalKhomp($dbcon, $numero); } $imediateDef = $imediate; $query = "UPDATE pbx_khomp SET numero='$numero',voicemail='$v_numero',usuario_v='$usuario_v',senha_v='$senha_v',contexto='$contexto', espera='$espera', sigame_interno='$sigame_interno', sigame_externo='$sigame_externo', sigame_naoatende='$sigame_nao_atende', sigame_ocupado='$sigame_ocupado', gravacao_chamada='$gravacao', musica_espera='$musica_espera', nao_pertube='$pertube', cadeado='$cadeado' ,gravacao_saida='$gravacao_saida',senha_facilidade='$senha_facilidade', identificador='$identificador',imediate='$imediateDef',accountcode='$accountcode', identificador2='$identificador2', timeout='$timeout', ramalSecretaria = '$ramalSecretaria', habilita_prepago='$habilita_prepago', volume_input = '$volume_input', volume_output = '$volume_output', ring_time='$ringTime' WHERE id=$id"; pg_query($dbcon, $query); InsereRotasRamais($dbcon, $rotas, $nome); InsereRamaisChf($dbcon, $nome2); if ($inseri_voice == 0) { if (($v_nome <> '') || ($v_email <> '')) { if ($v_numero <> '') { $query = "update pbx_voicemail_usuarios set caixa_postal='$v_numero',senha='$v_senha',email='$v_email',nome='$v_nome',attach='$attach',delete='$delete',saycid='$saycid',envelope='$envelope' where numero_ramal = '$numero'"; CommandAsterisk2($dbcon, 'VOICE2', $numero, $v_numero); } else { $query = "update pbx_voicemail_usuarios set caixa_postal='$numero',senha='$v_senha',email='$v_email',nome='$v_nome',attach='$attach',delete='$delete',saycid='$saycid',envelope='$envelope' where numero_ramal = '$numero'"; CommandAsterisk2($dbcon, 'VOICE2', $numero, $v_numero); } pg_query($dbcon, $query); } } else { if (true) { if ($v_numero <> '') { $query = "INSERT INTO pbx_voicemail_usuarios (caixa_postal,senha,email,nome,attach,delete,saycid,envelope, numero_ramal) values('$v_numero','$v_senha','$v_email','$v_nome','$attach','$delete','$saycid','$envelope', '$numero') "; CommandAsterisk2($dbcon, 'VOICE2', $numero, $v_numero); } else { $query = "INSERT INTO pbx_voicemail_usuarios (caixa_postal,senha,email,nome,attach,delete,saycid,envelope, numero_ramal) values ('$nome2','$v_senha','$v_email','$v_nome','$attach','$delete','$saycid','$envelope', '$numero') "; CommandAsterisk2($dbcon, 'VOICE2', $numero, $v_numero); } pg_query($dbcon, $query); } } if ($sigame_interno == '') { $sigame_interno = 'F'; } if ($sigame_externo == '') { $sigame_externo = 'F'; } if ($sigame_nao_atende == '') { $sigame_nao_atende = 'F'; } if ($sigame_ocupado == '') { $sigame_ocupado = 'F'; } if ($musica_espera == '') { $musica_espera2 = 'default'; } else { $musica_espera2 = $musica_espera; }//executa inserção na base interna do asterisk CommandAsterisk2($dbcon, 'ESPERA', $numero, $espera); //executa inserção na base interna do asterisk CommandAsterisk2($dbcon, 'SIGAME-INTERNO', $numero, $sigame_interno); //executa inserção na base interna do asterisk CommandAsterisk2($dbcon, 'SIGAME-EXTERNO', $numero, $sigame_externo); //executa inserção na base interna do asterisk CommandAsterisk2($dbcon, 'SIGAME-OCUPADO', $numero, $sigame_ocupado); //executa inserção na base interna do asterisk CommandAsterisk2($dbcon, 'SIGAME-NAOATENDE', $numero, $sigame_nao_atende); //executa inserção na base interna do asterisk CommandAsterisk2($dbcon, 'GRAVACAO', $numero, $gravacao); //executa inserção na base interna do asterisk CommandAsterisk2($dbcon, 'GRAVACAO-OUT', $numero, $gravacao_saida); //executa inserção na base interna do asterisk CommandAsterisk2($dbcon, 'MUSICA', $numero, $musica_espera2); //executa inserção na base interna do asterisk CommandAsterisk2($dbcon, 'CADEADO', $numero, $cadeado); //executa inserção na base interna do asterisk CommandAsterisk2($dbcon, 'NAOPERTUBE', $numero, $pertube); //executa inserção na base interna do asterisk CommandAsterisk2($dbcon, 'SENHA', $numero, $senha_facilidade); //executa inserção na base interna do asterisk CommandAsterisk2($dbcon, 'DISPOSITIVO', $numero, $dispKhomp); CommandAsterisk2($dbcon, 'BINA-NOME', $numero, $identificador); CommandAsterisk2($dbcon, 'BINA-EXTERNO', $numero, $identificador2); CommandAsterisk2($dbcon, 'TIMEOUT-RAMAL', $numero, $timeout); CommandAsterisk2($dbcon, 'TEMPO-RING-RAMAL', $numero, $ringTime); }//gera arquivos e executa o reload dos dados no asterisk if ($passa) { GeraKhomp($dbcon, 1); GeraVoicemail($dbcon, 1); gera_arquivos($dbcon, 'QUEUES_GRUPOS'); } // gera_arquivos($dbcon,'KHOMP', 0);//gera arquivos e executa o reload dos dados no asterisk //gera_arquivos($dbcon,'DIGIVOICE', 0);//gera arquivos e executa o reload dos dados no asterisk //gera_arquivos($dbcon,'VOICEMAIL'); //fecha a janela presa no meio do sistema if (!$erro && $passa) echo ""; } if ($erro) { foreach ($_POST as $key => $value) $dados[$key] = $value; } else if ($acao == "edita") { $id = $_GET["id"]; $query = "SELECT * FROM pbx_khomp where id=$id"; $result = pg_query($dbcon, $query); $dados = pg_fetch_array($result); $_SESSION["numero_khomp"] = trim($dados["numero"]); } else { $query = "SELECT * FROM pbx_khomp where 1 = 2"; $result = pg_query($dbcon, $query); $dados = pg_fetch_array($result); $query = "select coalesce(max(numero_khomp::int), 0) + 1 as max_ramal from pbx_khomp"; $dados["dispositivo"] = RegistroInc($dbcon, $query); } if (count($dados)) { $id = $dados["id"]; $numero_serie = trim($dados["numero_serie"]); $numero = trim($dados["numero"]); $senha = trim($dados["senha"]); $voicemail = trim($dados["voicemail"]); $usuario_v = trim($dados["usuario_v"]); $senha_v = trim($dados["senha_v"]); $grupo = trim($dados["grupo"]); $contexto = trim($dados["contexto"]); $capturar = $dados["capturar"]; $espera = $dados["espera"]; $sigame_interno = $dados["sigame_interno"]; $sigame_externo = $dados["sigame_externo"]; $sigame_naoatende = $dados["sigame_naoatende"]; $sigame_ocupado = $dados["sigame_ocupado"]; $gravacao_chamada = $dados["gravacao_chamada"]; $musica_espera = $dados["musica_espera"]; $nao_pertube = $dados["nao_pertube"]; $cadeado = $dados["cadeado"]; $senha_facilidade = $dados["senha_facilidade"]; $dispositivo = $dados["dispositivo"]; $mailbox = $dados["voicemail"]; $identificador = $dados["identificador"]; $identificador2 = $dados["identificador2"]; $gravacao_saida = $dados["gravacao_saida"]; $timeout = $dados["timeout"]; $accountcode = $dados['accountcode']; $imediate = $dados['imediate']; $ramalSecretaria = $dados['ramalsecretaria']; $saldo_prepago = FormataValor($dados["saldo_prepago"]); $habilita_prepago = !HabilitaPrepago() ? '0' : $dados["habilita_prepago"]; $volume_input = $dados['volume_input']; $volume_output = $dados['volume_output']; $ringTime = $dados["ring_time"]; } //Gravação como default sim. if (!isset($gravacao_chamada)) { $gravacao_chamada = 'V'; } if (!isset($gravacao_saida)) { $gravacao_saida = 'V'; } ?>