session_start(); ?>
$acao = $_GET["acao"]; $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']); if ($acao2 == "salva") { $rotas = $_POST['tipoRota']; $id = $_POST["id"]; $numero = trim($_POST["numero"]); $senha = trim($_POST["senha"]); $dispositivo = stripos("DAHDI/", $_POST["dispositivo"]) === false ? "DAHDI/" . trim($_POST["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']; $immediate = $_POST['immediate']; $gera_voice = $_POST['gera_voice']; $ramalSecretaria = $_POST['ramalSecretaria']; $habilita_prepago = !HabilitaPrepago() ? '0' : $_POST['habilita_prepago']; $ringTime = trim($_POST["ring_time"]); //VALIDA O NUMERO DA CAIXA POSTAL CASO A MESMA N�O SEJA INFORMADA if ($v_numero <> '') { $mailbox = $v_numero; } else { $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") { $qtde = $_POST["qtde"]; //LOOP DE INSERT $disp = $_POST['dispositivo']; for ($i = 1; $i <= $qtde; $i++) { $nomeRamal = $_POST['numero']; $qtd = strlen($nomeRamal); $qtd2 = strlen(ltrim($nomeRamal, "0")); $total = ($qtd - $qtd2); $nome2 = $_POST["numero"] + ($i - 1); if ($total >= 1) $nome2 = str_pad($nome2, $qtd, "0", STR_PAD_LEFT); $query2 = "select 1 from pbx_ramais where nome='$nome2' "; if ($qtde > 1) { //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 = "DAHDI/" . ($disp); $disp++; } if ((($_POST["gera_voice"] != '')or ( ($v_nome <> '')or ( $v_email <> ''))) and ( $qtde > 1)) { $mailbox = $nome2; } if ($qtde == 1) { $nome2 = $_POST['numero']; } if (pg_num_rows(pg_query($dbcon, $query2)) >= 1) { $z++; $msg .= 'RAMAL ' . $nome2 . ' JA CADASTRADO' . '\n'; } else { $immediateDef = $immediate == 'F' ? 'no' : 'yes'; $query = "INSERT INTO pbx_dahdi( 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, 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','$immediateDef','$accountcode', '$identificador2', '$timeout', '$ramalSecretaria', '$habilita_prepago', '$ringTime' )"; InsereRotasRamais($dbcon, $rotas, $numero); InsereRamaisChf($dbcon, $nome2); pg_query($dbcon, $query); if (($_POST["gera_voice"] != '')or ( ($v_nome <> '')or ( $v_email <> ''))) { if ($v_numero <> '') { if ($i == 1) { $query = "INSERT INTO pbx_voicemail_usuarios (caixa_postal,senha,email,nome,attach,delete,saycid,envelope) values ('$v_numero','$v_senha','$v_email','$v_nome','$attach','$delete','$saycid','$envelope' ) "; CommandAsterisk2($dbcon, 'VOICE2', $nome2, $v_numero); } } else { $query = "INSERT INTO pbx_voicemail_usuarios ( caixa_postal,senha,email,nome,attach,delete,saycid,envelope ) values ('$nome2','$nome2','$v_email','$v_nome','$attach','$delete','$saycid','$envelope') "; //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, $dispositivo); 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 ($z >= 1) { $msg = RemoveAcentos($msg); echo ""; } } if ($passa && ($acao == "edita")) { $numeroOld = $_POST['numero_old']; //ApagaUrl($dbcon, $numeroOld); $immediateDef = $immediate == 'F' ? 'no' : 'yes'; $query = "UPDATE pbx_dahdi 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', dispositivo='$dispositivo', 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='$immediateDef',accountcode='$accountcode', identificador2='$identificador2', timeout='$timeout', ramalSecretaria = '$ramalSecretaria', habilita_prepago='$habilita_prepago', ring_time='$ringTime' WHERE id=$id"; pg_query($dbcon, $query); InsereRotasRamais($dbcon, $rotas, $numero); InsereRamaisChf($dbcon, $nome2); if ($inseri_voice == 0) { if (($v_nome <> '')or ( $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 caixa_postal = '$v_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 caixa_postal = '$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) values('$v_numero','$v_senha','$v_email','$v_nome','$attach','$delete','$saycid','$envelope') "; CommandAsterisk2($dbcon, 'VOICE2', $numero, $v_numero); } else { $query = "INSERT INTO pbx_voicemail_usuarios (caixa_postal,senha,email,nome,attach,delete,saycid,envelope) values ('$nome2','$v_senha','$v_email','$v_nome','$attach','$delete','$saycid','$envelope') "; 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, $dispositivo); 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) { GeraDahdi($dbcon, 1); GeraVoicemail($dbcon, 1); gera_arquivos($dbcon, 'QUEUES_GRUPOS'); //fecha a janela presa no meio do sistema echo ""; } } if ($acao == "edita") { $id = $_GET["id"]; $query = "SELECT * FROM pbx_dahdi where id=$id"; $result = pg_query($dbcon, $query); } else { $query = "SELECT * FROM pbx_dahdi where id is null"; } $result = pg_query($dbcon, $query); if ($dados = pg_fetch_array($result)) { $id = $dados["id"]; $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_voice = $dados["senha_voice"]; $senha_facilidade = $dados["senha_facilidade"]; $dispositivo = str_replace("DAHDI/", '', $dados["dispositivo"]); $mailbox = $dados["voicemail"]; $identificador = $dados["identificador"]; $identificador2 = $dados["identificador2"]; $gravacao_saida = $dados["gravacao_saida"]; $timeout = $dados["timeout"]; $accountcode = $dados['accountcode']; $immediate = $dados['immediate'] == "yes" ? "V" : "F"; $ramalSecretaria = $dados['ramalsecretaria']; $saldo_prepago = FormataValor($dados["saldo_prepago"]); $habilita_prepago = !HabilitaPrepago() ? '0' : $dados["habilita_prepago"]; $ringTime = $dados["ring_time"]; } //Gravação como default sim. if (!isset($gravacao_chamada)) { $gravacao_chamada = 'V'; } if (!isset($gravacao_saida)) { $gravacao_saida = 'V'; } ?>